修改禅道bug

This commit is contained in:
ljx
2025-09-02 19:00:50 +08:00
parent 8a3f338e27
commit 2ba08c79ed
17 changed files with 259 additions and 164 deletions

View File

@ -234,17 +234,17 @@
<!-- 第十一行注册人员数量仅劳务类型显示 -->
<el-row :gutter="20" class="mb-4" v-if="form.supplierType === '劳务'">
<el-col :span="12">
<el-form-item label="一建建造师" prop="build1">
<el-input v-model="form.build1" placeholder="请输入一建建造师数量" clearable />
<el-form-item label="一建建造师" prop="firstBuildingNumber">
<el-input v-model="form.firstBuildingNumber" placeholder="请输入一建建造师数量" clearable />
</el-form-item>
<el-form-item label="二建建造师" prop="build2">
<el-input v-model="form.build2" placeholder="请输入二建建造师数量" clearable />
<el-form-item label="二建建造师" prop="secondBuildingNumber">
<el-input v-model="form.secondBuildingNumber" placeholder="请输入二建建造师数量" clearable />
</el-form-item>
<el-form-item label="注册造价工程师" prop="build3">
<el-input v-model="form.build3" placeholder="请输入注册造价工程师数量" clearable />
<el-form-item label="注册造价工程师" prop="registeredEngineerNumber">
<el-input v-model="form.registeredEngineerNumber" placeholder="请输入注册造价工程师数量" clearable />
</el-form-item>
<el-form-item label="其他(分别写)" prop="build4">
<el-input v-model="form.build4" placeholder="请输入其他人员数量" clearable />
<el-form-item label="其他(分别写)" prop="otherBuildingNumber">
<el-input v-model="form.otherBuildingNumber" placeholder="请输入其他人员数量" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
@ -254,17 +254,17 @@
<!-- 第十二行职称人员数量仅劳务类型显示 -->
<el-row :gutter="20" class="mb-4" v-if="form.supplierType === '劳务'">
<el-col :span="12">
<el-form-item label="高级工程师人数" prop="personnelNumber1">
<el-input v-model="form.personnelNumber1" placeholder="请输高级工程师数量" clearable />
<el-form-item label="高级工程师人数" prop="seniorEngineerNumber">
<el-input v-model="form.seniorEngineerNumber" placeholder="请输高级工程师数量" clearable />
</el-form-item>
<el-form-item label="工程师数量" prop="personnelNumber2">
<el-input v-model="form.personnelNumber2" placeholder="请输入工程师数量" clearable />
<el-form-item label="工程师数量" prop="engineerNumber">
<el-input v-model="form.engineerNumber" placeholder="请输入工程师数量" clearable />
</el-form-item>
<el-form-item label="助理工程师数量" prop="personnelNumber3">
<el-input v-model="form.personnelNumber3" placeholder="请输入助理工程师数量" clearable />
<el-form-item label="助理工程师数量" prop="assistantEngineerNumber">
<el-input v-model="form.assistantEngineerNumber" placeholder="请输入助理工程师数量" clearable />
</el-form-item>
<el-form-item label="其他人员数量" prop="personnelNumber4">
<el-input v-model="form.personnelNumber4" placeholder="请输入其他人员数量" clearable />
<el-form-item label="其他人员数量" prop="otherPersonnelNumber">
<el-input v-model="form.otherPersonnelNumber" placeholder="请输入其他人员数量" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
@ -369,14 +369,14 @@ const initFormData: any = {
inputFile: undefined,
// state: '0', // 新增默认待审核
// 新增:用于表单输入的单独字段
build1: undefined, // 一建建造师
build2: undefined, // 二建建造师
build3: undefined, // 注册造价工程师
build4: undefined, // 其他注册人员
personnelNumber1: undefined, // 高级工程师
personnelNumber2: undefined, // 工程师
personnelNumber3: undefined, // 助理工程师
personnelNumber4: undefined // 其他职称人员
firstBuildingNumber: undefined, // 一建建造师
secondBuildingNumber: undefined, // 二建建造师
registeredEngineerNumber: undefined, // 注册造价工程师
otherBuildingNumber: undefined, // 其他注册人员
seniorEngineerNumber: undefined, // 高级工程师
engineerNumber: undefined, // 工程师
assistantEngineerNumber: undefined, // 助理工程师
otherPersonnelNumber: undefined // 其他职称人员
};
// 核心数据(表单+查询参数)
const data = reactive<PageData<SupplierInputForm, SupplierInputQuery>>({
@ -411,14 +411,14 @@ const rules = computed(() => {
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号格式', trigger: 'blur' }
],
id: [{ required: true, message: 'ID不能为空', trigger: 'blur' }],
build1: [{ required: true, message: '请输入一建建造师数量', trigger: 'change' }],
build2: [{ required: true, message: '请输入二建建造师数量', trigger: 'change' }],
build3: [{ required: true, message: '请输入注册造价工程师数量', trigger: 'change' }],
build4: [{ required: true, message: '请输入其他数量', trigger: 'change' }],
personnelNumber1: [{ required: true, message: '请输入高级工程师数量', trigger: 'change' }],
personnelNumber2: [{ required: true, message: '请输入工程师数量', trigger: 'change' }],
personnelNumber3: [{ required: true, message: '请输入助理工程师数量', trigger: 'change' }],
personnelNumber4: [{ required: true, message: '请输入其他数量', trigger: 'change' }]
firstBuildingNumber: [{ required: true, message: '请输入一建建造师数量', trigger: 'change' }],
secondBuildingNumber: [{ required: true, message: '请输入二建建造师数量', trigger: 'change' }],
registeredEngineerNumber: [{ required: true, message: '请输入注册造价工程师数量', trigger: 'change' }],
otherBuildingNumber: [{ required: true, message: '请输入其他数量', trigger: 'change' }],
seniorEngineerNumber: [{ required: true, message: '请输入高级工程师数量', trigger: 'change' }],
engineerNumber: [{ required: true, message: '请输入工程师数量', trigger: 'change' }],
assistantEngineerNumber: [{ required: true, message: '请输入助理工程师数量', trigger: 'change' }],
otherPersonnelNumber: [{ required: true, message: '请输入其他数量', trigger: 'change' }]
};
// 仅当类型为"劳务"时,添加安全生产许可证+人员数量校验
@ -430,15 +430,15 @@ const rules = computed(() => {
safeCodeData: [{ required: true, message: '请选择安全生产许可证发证日期', trigger: 'change' }],
safeCertificateValidity: [{ required: true, message: '请选择安全生产许可证有效期', trigger: 'change' }],
// 注册人员数量校验
build1: [{ required: true, message: '请输入一建建造师数量', trigger: 'blur' }],
build2: [{ required: true, message: '请输入二建建造师数量', trigger: 'blur' }],
build3: [{ required: true, message: '请输入注册造价工程师数量', trigger: 'blur' }],
build4: [{ required: true, message: '请输入其他注册人员数量', trigger: 'blur' }],
firstBuildingNumber: [{ required: true, message: '请输入一建建造师数量', trigger: 'blur' }],
secondBuildingNumber: [{ required: true, message: '请输入二建建造师数量', trigger: 'blur' }],
registeredEngineerNumber: [{ required: true, message: '请输入注册造价工程师数量', trigger: 'blur' }],
otherBuildingNumber: [{ required: true, message: '请输入其他注册人员数量', trigger: 'blur' }],
// 职称人员数量校验
personnelNumber1: [{ required: true, message: '请输入高级工程师数量', trigger: 'blur' }],
personnelNumber2: [{ required: true, message: '请输入工程师数量', trigger: 'blur' }],
personnelNumber3: [{ required: true, message: '请输入助理工程师数量', trigger: 'blur' }],
personnelNumber4: [{ required: true, message: '请输入其他职称人员数量', trigger: 'blur' }]
seniorEngineerNumber: [{ required: true, message: '请输入高级工程师数量', trigger: 'blur' }],
engineerNumber: [{ required: true, message: '请输入工程师数量', trigger: 'blur' }],
assistantEngineerNumber: [{ required: true, message: '请输入助理工程师数量', trigger: 'blur' }],
otherPersonnelNumber: [{ required: true, message: '请输入其他职称人员数量', trigger: 'blur' }]
};
}
@ -455,22 +455,26 @@ const handleTypeChange = () => {
form.value.registeredNumber = undefined;
form.value.personnelNumber = undefined;
// 清空表单单独字段
form.value.build1 = form.value.build2 = form.value.build3 = form.value.build4 = undefined;
form.value.personnelNumber1 = form.value.personnelNumber2 = form.value.personnelNumber3 = form.value.personnelNumber4 = undefined;
form.value.firstBuildingNumber =
form.value.secondBuildingNumber =
form.value.registeredEngineerNumber =
form.value.otherBuildingNumber =
undefined;
form.value.seniorEngineerNumber = form.value.engineerNumber = form.value.assistantEngineerNumber = form.value.otherPersonnelNumber = undefined;
}
// 重置隐藏字段的校验状态,避免错误提示残留
supplierInputFormRef.value?.clearValidate([
'safeCode',
'safeCodeData',
'safeCertificateValidity',
'build1',
'build2',
'build3',
'build4',
'personnelNumber1',
'personnelNumber2',
'personnelNumber3',
'personnelNumber4'
'firstBuildingNumber',
'secondBuildingNumber',
'registeredEngineerNumber',
'otherBuildingNumber',
'seniorEngineerNumber',
'engineerNumber',
'assistantEngineerNumber',
'otherPersonnelNumber'
]);
};
@ -517,18 +521,18 @@ const resetQuery = () => {
const splitBackEndStrToForm = (resData: any) => {
if (resData.registeredNumber) {
const registeredArr = resData.registeredNumber.split(',');
form.value.build1 = registeredArr[0] || undefined; // 一建建造师
form.value.build2 = registeredArr[1] || undefined; // 二建建造师
form.value.build3 = registeredArr[2] || undefined; // 注册造价工程师
form.value.build4 = registeredArr[3] || undefined; // 其他注册人员
form.value.firstBuildingNumber = registeredArr[0] || undefined; // 一建建造师
form.value.secondBuildingNumber = registeredArr[1] || undefined; // 二建建造师
form.value.registeredEngineerNumber = registeredArr[2] || undefined; // 注册造价工程师
form.value.otherBuildingNumber = registeredArr[3] || undefined; // 其他注册人员
}
if (resData.personnelNumber) {
const personnelArr = resData.personnelNumber.split(',');
form.value.personnelNumber1 = personnelArr[0] || undefined; // 高级工程师
form.value.personnelNumber2 = personnelArr[1] || undefined; // 工程师
form.value.personnelNumber3 = personnelArr[2] || undefined; // 助理工程师
form.value.personnelNumber4 = personnelArr[3] || undefined; // 其他职称人员
form.value.seniorEngineerNumber = personnelArr[0] || undefined; // 高级工程师
form.value.engineerNumber = personnelArr[1] || undefined; // 工程师
form.value.assistantEngineerNumber = personnelArr[2] || undefined; // 助理工程师
form.value.otherPersonnelNumber = personnelArr[3] || undefined; // 其他职称人员
}
};
/** 审核过程按钮操作 */
@ -599,19 +603,23 @@ const submitForm = () => {
supplierInputFormRef.value?.validate(async (valid: boolean) => {
if (!valid) return;
if (form.value.supplierType === '劳务') {
form.value.registeredNumber = [form.value.build1, form.value.build2, form.value.build3, form.value.build4].join(',');
form.value.registeredNumber = [
form.value.firstBuildingNumber,
form.value.secondBuildingNumber,
form.value.registeredEngineerNumber,
form.value.otherBuildingNumber
].join(',');
form.value.personnelNumber = [
form.value.personnelNumber1,
form.value.personnelNumber2,
form.value.personnelNumber3,
form.value.personnelNumber4
form.value.seniorEngineerNumber,
form.value.engineerNumber,
form.value.assistantEngineerNumber,
form.value.otherPersonnelNumber
].join(',');
}
buttonLoading.value = true;
try {
if (fileUploadRef.value) {
await fileUploadRef.value.submitUpload().then((res) => {
console.log(res);
if (res == 'noFile') {
proxy?.$modal.msgError('请上传文件');
return;