Browse Source

修改

master
wang 2 months ago
parent
commit
00834a6d25
  1. BIN
      dist.zip
  2. 61
      src/views/business/erp/service/service-applications-form.vue
  3. 15
      src/views/business/erp/service/service-applications-list.vue
  4. 3
      src/views/mobile/service/create.vue
  5. 27
      src/views/mobile/service/detail.vue
  6. 4
      src/views/system/department/components/department-form-modal.vue
  7. 32
      src/views/system/employee/components/employee-form-modal/index.vue

BIN
dist.zip

Binary file not shown.

61
src/views/business/erp/service/service-applications-form.vue

@ -43,7 +43,7 @@
</a-row>
<a-row :gutter="24">
<a-col :span="8">
<a-form-item label="职务" name="positionId">
<a-form-item label="职务" name="positionId" required>
<PositionSelect v-model:value="form.positionId" placeholder="请选择职务" width="100%" :disabled="readonlyMode" />
</a-form-item>
</a-col>
@ -118,7 +118,7 @@
<!-- time类型显示案件编号和服务时长在一行 -->
<a-row :gutter="16">
<a-col :span="8">
<a-form-item label="案件编号" name="recordNo">
<a-form-item label="案件编号" name="recordNo" required>
<a-input style="width: 100%" v-model:value="form.recordNo" placeholder="请输入案件编号" :disabled="readonlyMode" />
</a-form-item>
</a-col>
@ -237,7 +237,6 @@
<a-space>
<a-button @click="onClose">取消</a-button>
<a-button v-if="!readonlyMode" type="primary" @click="onSave">保存</a-button>
<a-button v-if="!readonlyMode" type="primary" @click="onSubmit">提交</a-button>
</a-space>
</template>
</a-modal>
@ -300,10 +299,25 @@
//
async function onActivityCategoryChange(categoryId) {
//
//if (!readonlyMode.value) {
//form.activityNameId = undefined;
//}
//
if (!readonlyMode.value) {
form.activityNameId = undefined;
form.serviceStart = undefined;
form.serviceEnd = undefined;
form.serviceDuration = undefined;
form.recordNo = undefined;
form.workloadScore = undefined;
form.beneficiaryCount = undefined;
form.organizerName = undefined;
form.organizerContact = undefined;
form.organizerPhone = undefined;
form.serviceContent = undefined;
form.proofMaterials = undefined;
form.attachmentIds = undefined;
defaultFileList.value = [];
currentActivity.value = {};
currentActivityType.value = '';
}
if (!categoryId) {
activityList.value = [];
@ -571,7 +585,24 @@
//
watch(
() => form.activityNameId,
(activityNameId) => {
(activityNameId, oldActivityNameId) => {
//
if (!readonlyMode.value && activityNameId !== oldActivityNameId) {
form.serviceStart = undefined;
form.serviceEnd = undefined;
form.serviceDuration = undefined;
form.recordNo = undefined;
form.workloadScore = undefined;
form.beneficiaryCount = undefined;
form.organizerName = undefined;
form.organizerContact = undefined;
form.organizerPhone = undefined;
form.serviceContent = undefined;
form.proofMaterials = undefined;
form.attachmentIds = undefined;
defaultFileList.value = [];
}
if (activityNameId) {
const selectedActivity = activityList.value.find(activity => activity.goodsId === activityNameId);
if (selectedActivity) {
@ -622,9 +653,9 @@
{
validator: async (rule, value) => {
// dict
if (currentActivityType.value === 'DICT' && !value) {
return Promise.reject('服务开始时间 必填');
}
//if (currentActivityType.value === 'DICT' && !value) {
// return Promise.reject(' ');
//}
return Promise.resolve();
}
}
@ -633,9 +664,9 @@
{
validator: async (rule, value) => {
// dict
if (currentActivityType.value === 'DICT' && !value) {
return Promise.reject('服务结束时间 必填');
}
//if (currentActivityType.value === 'DICT' && !value) {
//return Promise.reject(' ');
//}
return Promise.resolve();
}
}
@ -735,7 +766,7 @@
await formRef.value.validateFields();
save();
} catch (err) {
message.error('参数验证错误,请仔细填写表单数据!');
message.error('数据错误,请仔细填写表单数据!');
}
}

15
src/views/business/erp/service/service-applications-list.vue

@ -11,10 +11,10 @@
<!---------- 查询表单form begin ----------->
<a-form class="smart-query-form">
<a-row class="smart-query-form-row">
<a-form-item label="执业机构" v-if="isAssociationRole" class="smart-query-form-item">
<a-form-item label="执业机构" v-if="isAssociationRole || isCeo" class="smart-query-form-item">
<DepartmentTreeSelect style="width: 250px" v-model:value="queryForm.firmId" placeholder="请选择执业机构" />
</a-form-item>
<a-form-item label="律师名称" v-if="isAssociationRole || isFirmRole" class="smart-query-form-item">
<a-form-item label="律师名称" v-if="isAssociationRole || isFirmRole || isCeo" class="smart-query-form-item">
<a-select
v-model:value="queryForm.userId"
style="width: 150px"
@ -350,16 +350,7 @@ import AgreementModal from '/@/views/system/home/components/agreement-modal.vue'
dataIndex: 'serviceDuration',
ellipsis: true,
},
{
title: '金额',
dataIndex: 'workloadScore',
ellipsis: true,
},
{
title: '案号',
dataIndex: 'recordNo',
ellipsis: true,
},
{
title: '参加人数(受益人数)',
dataIndex: 'beneficiaryCount',

3
src/views/mobile/service/create.vue

@ -812,7 +812,6 @@ async function handleSave() {
}
} catch (error) {
console.error('保存草稿失败:', error)
message.error('网络错误,请稍后重试')
} finally {
loading.value = false
}
@ -942,7 +941,6 @@ async function handleSubmit() {
}
} catch (error) {
console.error('提交失败:', error)
message.error('网络错误,请稍后重试')
} finally {
loading.value = false
}
@ -1046,7 +1044,6 @@ async function loadDraftData(applicationId) {
}
} catch (error) {
console.error('加载草稿数据失败:', error)
message.error('网络错误,请稍后重试')
} finally {
loading.value = false
}

27
src/views/mobile/service/detail.vue

@ -628,11 +628,13 @@ async function getDetail() {
Object.assign(form, res.data)
console.log('赋值后表单数据:', form)
console.log('赋值后的活动名称ID:', form.activityNameId)
console.log('赋值后的活动名称:', form.activityName)
console.log('赋值后的活动类型ID:', form.activityCategoryId)
console.log('赋值后的活动类型:', form.activityCategory)
//
if (res.data.userName && !form.actualName) {
form.actualName = res.data.userName
}
if (res.data.departmentName && !form.firmName) {
form.firmName = res.data.departmentName
}
//
// status=0稿
@ -712,7 +714,6 @@ async function getDetail() {
}
} catch (error) {
console.error('获取详情失败:', error)
message.error('网络错误,请稍后重试')
} finally {
loading.value = false
}
@ -1096,8 +1097,18 @@ function getActivityCategoryName() {
// HTML
function stripHtmlTags(html) {
if (!html) return ''
// HTML
return html.replace(/<[^>]*>/g, '').trim()
// DOMHTML
const tempDiv = document.createElement('div')
tempDiv.innerHTML = html
//
let text = tempDiv.textContent || tempDiv.innerText || ''
//
text = text.replace(/\s+/g, ' ').trim()
return text
}
//

4
src/views/system/department/components/department-form-modal.vue

@ -24,6 +24,9 @@
<a-form-item label="部门排序 (值越大越靠前!)" name="sort">
<a-input-number style="width: 100%" v-model:value="formState.sort" :min="0" placeholder="请输入部门排序" />
</a-form-item>
<a-form-item label="成本查看权限" name="costVisibleFlag">
<a-switch v-model:checked="formState.costVisibleFlag" checked-children="" un-checked-children="" />
</a-form-item>
</a-form>
</a-modal>
</template>
@ -79,6 +82,7 @@ const emits = defineEmits(['refresh']);
departmentName: undefined,
parentId: undefined,
sort: 0,
costVisibleFlag: false, //
};
const employeeSelect = ref();

32
src/views/system/employee/components/employee-form-modal/index.vue

@ -49,10 +49,13 @@
</a-form-item>
<a-form-item label="角色" name="roleIdList">
<a-select v-model:value="form.roleIdList" optionFilterProp="title" placeholder="请选择角色">
<a-select-option v-for="item in roleList" :key="item.roleId" :title="item.roleName">{{ item.roleName }}</a-select-option>
<a-select v-model:value="form.roleIdList" optionFilterProp="title" placeholder="请选择角色" :mode="null">
<a-select-option v-for="item in roleList" :key="item.roleId" :value="item.roleId" :title="item.roleName">{{ item.roleName }}</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="成本查看权限" name="costVisibleFlag">
<a-switch v-model:checked="form.costVisibleFlag" checked-children="" un-checked-children="" />
</a-form-item>
</a-form>
<div class="footer">
<a-button style="margin-right: 8px" @click="onClose">取消</a-button>
@ -92,6 +95,10 @@
Object.assign(form, formDefault);
if (rowData && !_.isEmpty(rowData)) {
Object.assign(form, rowData);
// IDLong
if (rowData.roleIdList && Array.isArray(rowData.roleIdList) && rowData.roleIdList.length > 0) {
form.roleIdList = rowData.roleIdList[0];
}
}
visible.value = true;
nextTick(() => {
@ -118,9 +125,10 @@
gender: GENDER_ENUM.MAN.value,
loginName: undefined,
phone: undefined,
roleIdList: undefined,
roleIdList: undefined, // Long
positionId: undefined,
email: undefined,
costVisibleFlag: false, //
};
let form = reactive(_.cloneDeep(formDefault));
@ -176,19 +184,23 @@
message.error('参数验证错误,请仔细填写表单数据!');
return;
}
// roleIdListLong
const submitData = { ...form };
SmartLoading.show();
if (form.employeeId) {
await updateEmployee(keepAdding);
await updateEmployee(submitData, keepAdding);
} else {
await addEmployee(keepAdding);
await addEmployee(submitData, keepAdding);
}
}
async function addEmployee(keepAdding) {
async function addEmployee(submitData, keepAdding) {
try {
let { data } = await employeeApi.addEmployee(form);
let { data } = await employeeApi.addEmployee(submitData);
message.success('添加成功');
emit('show-account', form.loginName, data);
emit('show-account', submitData.loginName, data);
if (keepAdding) {
reset();
} else {
@ -201,9 +213,9 @@
SmartLoading.hide();
}
}
async function updateEmployee(keepAdding) {
async function updateEmployee(submitData, keepAdding) {
try {
let result = await employeeApi.updateEmployee(form);
let result = await employeeApi.updateEmployee(submitData);
message.success('更新成功');
if (keepAdding) {
reset();

Loading…
Cancel
Save