From c8357b81bff1f3c4c28f8506320ff35603d3cf73 Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Mon, 31 Mar 2025 10:43:17 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../testQuestionsStore/questionDetails.vue | 90 +++++---- src/views/pro/admissionRequest/index.vue | 72 ++++--- src/views/pro/apply/consEnterApply.vue | 68 ++++--- src/views/pro/apply/supervisorEnterApply.vue | 189 +++++++++--------- 4 files changed, 223 insertions(+), 196 deletions(-) diff --git a/src/views/educationalTraining/resourceAdministration/testQuestionsStore/questionDetails.vue b/src/views/educationalTraining/resourceAdministration/testQuestionsStore/questionDetails.vue index 39f80b6..6159d2c 100644 --- a/src/views/educationalTraining/resourceAdministration/testQuestionsStore/questionDetails.vue +++ b/src/views/educationalTraining/resourceAdministration/testQuestionsStore/questionDetails.vue @@ -576,56 +576,62 @@ export default { this.uploadData = [] for (let i = 0; i < jsonData.length; i++) { if ( - StrUtil.isBlank(jsonData[i][1]) || - StrUtil.isBlank(jsonData[i][2]) || - StrUtil.isBlank(jsonData[i][3]) || - StrUtil.isBlank(jsonData[i][4]) || - StrUtil.isBlank(jsonData[i][5]) + jsonData[i].length > 0 && + (StrUtil.isBlank(jsonData[i][1]) || + StrUtil.isBlank(jsonData[i][2]) || + StrUtil.isBlank(jsonData[i][3]) || + StrUtil.isBlank(jsonData[i][4]) || + StrUtil.isBlank(jsonData[i][5])) ) { this.errorLine.push(jsonData[i][0]) } else { - const answers = jsonData[i][3].split('|@|') - const questionOptionArr = jsonData[i][2].split('|@|') - mappedAnswers = answers.map(answer => { - return answer - .split('.') - .map(letter => letter.charCodeAt(0) - 65) - .join('.') - }) - for (let j = 0; j < mappedAnswers.length; j++) { - if (mappedAnswers[j] >= questionOptionArr.length) { - if (i !== 0) { - this.errorCorrectAnswers.push(jsonData[i][0]) + if (jsonData[i].length > 0) { + const answers = jsonData[i][3].split('|@|') + const questionOptionArr = jsonData[i][2].split('|@|') + mappedAnswers = answers.map(answer => { + return answer + .split('.') + .map(letter => letter.charCodeAt(0) - 65) + .join('.') + }) + for (let j = 0; j < mappedAnswers.length; j++) { + if (mappedAnswers[j] >= questionOptionArr.length) { + if (i !== 0) { + this.errorCorrectAnswers.push(jsonData[i][0]) + } } } } } - const rowData = { - questionId: jsonData[i][0], - content: jsonData[i][1], - questionAnswerVoList: jsonData[i][2], - correctAnswer: jsonData[i][3], - analysis: jsonData[i][4], - questionType: jsonData[i][5], + + if (jsonData[i].length > 0) { + const rowData = { + questionId: jsonData[i][0], + content: jsonData[i][1], + questionAnswerVoList: jsonData[i][2], + correctAnswer: jsonData[i][3], + analysis: jsonData[i][4], + questionType: jsonData[i][5], + } + this.excelData.push(rowData) + const rowDatas = { + questionId: jsonData[i][0], + content: jsonData[i][1], + questionAnswerVoList: [], + correctAnswer: mappedAnswers.join(','), + analysis: jsonData[i][4], + questionType: this.questionType[jsonData[i][5]], + } + let arr = jsonData[i][2].split('|@|') + console.log('arr', arr) + for (let j = 0; j < arr.length; j++) { + rowDatas.questionAnswerVoList.push({ + options: arr[j], + sort: j, + }) + } + this.uploadData.push(rowDatas) } - this.excelData.push(rowData) - const rowDatas = { - questionId: jsonData[i][0], - content: jsonData[i][1], - questionAnswerVoList: [], - correctAnswer: mappedAnswers.join(','), - analysis: jsonData[i][4], - questionType: this.questionType[jsonData[i][5]], - } - let arr = jsonData[i][2].split('|@|') - console.log('arr', arr) - for (let j = 0; j < arr.length; j++) { - rowDatas.questionAnswerVoList.push({ - options: arr[j], - sort: j, - }) - } - this.uploadData.push(rowDatas) } console.log('excelData:', this.excelData) if (this.excelData.length > 999) { diff --git a/src/views/pro/admissionRequest/index.vue b/src/views/pro/admissionRequest/index.vue index acbc7a8..0b548e5 100644 --- a/src/views/pro/admissionRequest/index.vue +++ b/src/views/pro/admissionRequest/index.vue @@ -892,46 +892,54 @@ export default { this.errorLine = [] let uuid = StrUtil.generateSimpleUUID() for (let i = 0; i < jsonData.length; i++) { + console.log('jsonData', jsonData) if ( - StrUtil.isBlank(jsonData[i][1]) || - StrUtil.isBlank(jsonData[i][2]) || - StrUtil.isBlank(jsonData[i][3]) || - StrUtil.isBlank(jsonData[i][4]) || - StrUtil.isBlank(jsonData[i][5]) || - StrUtil.isBlank(jsonData[i][6]) || - StrUtil.isBlank(jsonData[i][7]) || - StrUtil.isBlank(jsonData[i][8]) || - StrUtil.isBlank(jsonData[i][9]) || - StrUtil.isBlank(jsonData[i][10]) + jsonData[i].length > 0 && + (StrUtil.isBlank(jsonData[i][1]) || + StrUtil.isBlank(jsonData[i][2]) || + StrUtil.isBlank(jsonData[i][3]) || + StrUtil.isBlank(jsonData[i][4]) || + StrUtil.isBlank(jsonData[i][5]) || + StrUtil.isBlank(jsonData[i][6]) || + StrUtil.isBlank(jsonData[i][7]) || + StrUtil.isBlank(jsonData[i][8]) || + StrUtil.isBlank(jsonData[i][9]) || + StrUtil.isBlank(jsonData[i][10])) ) { this.errorLine.push(jsonData[i][0]) + + console.log('this.errorLine', this.errorLine) } else { - if (jsonData[i][10] === '特殊工种' && StrUtil.isBlank(jsonData[i][11])) { + if (jsonData[i].length > 0 && jsonData[i][10] === '特殊工种' && StrUtil.isBlank(jsonData[i][11])) { this.errorLine.push(jsonData[i][0]) + console.log('this.errorLine', this.errorLine) } } - const rowData = { - arg0: jsonData[i][0], - arg1: jsonData[i][1], - arg2: jsonData[i][2], - arg3: jsonData[i][3], - arg4: jsonData[i][4], - arg5: jsonData[i][5], - arg6: jsonData[i][6], - arg7: jsonData[i][7], - arg8: jsonData[i][8], - arg9: jsonData[i][9], - arg10: jsonData[i][10], - arg11: jsonData[i][11], - uuid: uuid, - personType: jsonData[i][10] === '特殊工种' ? '1' : jsonData[i][10] === '普通职工' ? '2' : '0', - sex: jsonData[i][2] === '男' ? '0' : '1', + + if (jsonData[i].length > 0) { + const rowData = { + arg0: jsonData[i][0], + arg1: jsonData[i][1], + arg2: jsonData[i][2], + arg3: jsonData[i][3], + arg4: jsonData[i][4], + arg5: jsonData[i][5], + arg6: jsonData[i][6], + arg7: jsonData[i][7], + arg8: jsonData[i][8], + arg9: jsonData[i][9], + arg10: jsonData[i][10], + arg11: jsonData[i][11], + uuid: uuid, + personType: jsonData[i][10] === '特殊工种' ? '1' : jsonData[i][10] === '普通职工' ? '2' : '0', + sex: jsonData[i][2] === '男' ? '0' : '1', + } + const isDuplicate = this.excelData.some(item => item.arg4 === rowData.arg4) + if (isDuplicate) { + this.errorPhone.push(rowData.arg4) + } + this.excelData.push(rowData) } - const isDuplicate = this.excelData.some(item => item.arg4 === rowData.arg4) - if (isDuplicate) { - this.errorPhone.push(rowData.arg4) - } - this.excelData.push(rowData) } if (this.excelData.length > 999) { this.$message.warning('数据量大于1000行') diff --git a/src/views/pro/apply/consEnterApply.vue b/src/views/pro/apply/consEnterApply.vue index 9a88d02..ef87220 100644 --- a/src/views/pro/apply/consEnterApply.vue +++ b/src/views/pro/apply/consEnterApply.vue @@ -2143,45 +2143,49 @@ export default { let uuid = StrUtil.generateSimpleUUID() for (let i = 0; i < jsonData.length; i++) { if ( - StrUtil.isBlank(jsonData[i][1]) || - StrUtil.isBlank(jsonData[i][2]) || - StrUtil.isBlank(jsonData[i][3]) || - StrUtil.isBlank(jsonData[i][4]) || - StrUtil.isBlank(jsonData[i][5]) || - StrUtil.isBlank(jsonData[i][6]) || - StrUtil.isBlank(jsonData[i][7]) || - StrUtil.isBlank(jsonData[i][8]) || - StrUtil.isBlank(jsonData[i][9]) || - StrUtil.isBlank(jsonData[i][10]) + jsonData[i].length > 0 && + (StrUtil.isBlank(jsonData[i][1]) || + StrUtil.isBlank(jsonData[i][2]) || + StrUtil.isBlank(jsonData[i][3]) || + StrUtil.isBlank(jsonData[i][4]) || + StrUtil.isBlank(jsonData[i][5]) || + StrUtil.isBlank(jsonData[i][6]) || + StrUtil.isBlank(jsonData[i][7]) || + StrUtil.isBlank(jsonData[i][8]) || + StrUtil.isBlank(jsonData[i][9]) || + StrUtil.isBlank(jsonData[i][10])) ) { this.errorLine.push(jsonData[i][0]) } else { - if (jsonData[i][10] === '特殊工种' && StrUtil.isBlank(jsonData[i][11])) { + if (jsonData[i][10] === '特殊工种' && StrUtil.isBlank(jsonData[i][11]) && jsonData[i].length > 0) { this.errorLine.push(jsonData[i][0]) } } - const rowData = { - arg0: jsonData[i][0], - arg1: jsonData[i][1], - arg2: jsonData[i][2], - arg3: jsonData[i][3], - arg4: jsonData[i][4], - arg5: jsonData[i][5], - arg6: jsonData[i][6], - arg7: jsonData[i][7], - arg8: jsonData[i][8], - arg9: jsonData[i][9], - arg10: jsonData[i][10], - arg11: jsonData[i][11], - uuid: uuid, - personType: jsonData[i][10] === '特殊工种' ? '1' : jsonData[i][10] === '普通职工' ? '2' : '0', - sex: jsonData[i][2] === '男' ? '0' : '1', + + if (jsonData[i].length > 0) { + const rowData = { + arg0: jsonData[i][0], + arg1: jsonData[i][1], + arg2: jsonData[i][2], + arg3: jsonData[i][3], + arg4: jsonData[i][4], + arg5: jsonData[i][5], + arg6: jsonData[i][6], + arg7: jsonData[i][7], + arg8: jsonData[i][8], + arg9: jsonData[i][9], + arg10: jsonData[i][10], + arg11: jsonData[i][11], + uuid: uuid, + personType: jsonData[i][10] === '特殊工种' ? '1' : jsonData[i][10] === '普通职工' ? '2' : '0', + sex: jsonData[i][2] === '男' ? '0' : '1', + } + const isDuplicate = this.excelData.some(item => item.arg4 === rowData.arg4) + if (isDuplicate) { + this.errorPhone.push(rowData.arg4) + } + this.excelData.push(rowData) } - const isDuplicate = this.excelData.some(item => item.arg4 === rowData.arg4) - if (isDuplicate) { - this.errorPhone.push(rowData.arg4) - } - this.excelData.push(rowData) } if (this.excelData.length > 999) { this.$message.warning('数据量大于1000行') diff --git a/src/views/pro/apply/supervisorEnterApply.vue b/src/views/pro/apply/supervisorEnterApply.vue index 029afb9..64dfebc 100644 --- a/src/views/pro/apply/supervisorEnterApply.vue +++ b/src/views/pro/apply/supervisorEnterApply.vue @@ -981,8 +981,12 @@ export default { uuid: this.$store.state.user.thisIds.uuid, parentUuid: this.$store.state.user.thisIds.parentUuid, } - if (this.formData.enterpriseQualificationFiles.length === 0 || this.formData.securityAgreementFiles.length === 0 || - this.formData.supervisionPlanningFiles.length === 0 || this.formData.implementationRulesFiles.length === 0) { + if ( + this.formData.enterpriseQualificationFiles.length === 0 || + this.formData.securityAgreementFiles.length === 0 || + this.formData.supervisionPlanningFiles.length === 0 || + this.formData.implementationRulesFiles.length === 0 + ) { this.$message({ message: '请先上传企业资质、安全协议书、监理规划、实施细则文件!', type: 'error', @@ -997,7 +1001,7 @@ export default { if (response.msg === '部分人员文件不存在,请先仔细核对,上传相关文件!') { this.$message({ message: '部分人员文件不存在,请先仔细核对,上传相关文件!', - type: 'error' + type: 'error', }) // return false isReturn = true @@ -1005,77 +1009,78 @@ export default { } catch (error) { this.$message({ message: '文件检查失败,请稍后重试!', - type: 'error' + type: 'error', }) // return false } } - if(isReturn) return - this.$refs[formName].validate(valid => { - if (submitType === '提交' && !valid) { - return this.$modal.msgError('请完善全部上传信息') - } - console.log(this.formData) - const reqData = new FormData() - this.formData.proId = this.$store.state.user.thisIds.proId - this.formData.supId = this.$store.state.user.thisIds.supId - this.formData.supUuid = this.$store.state.user.thisIds.supUuid - this.formData.uuid = this.$store.state.user.thisIds.uuid - this.formData.delFileIds = this.delFileIds.join(',') - this.formData.submitType = submitType - reqData.append('params', JSON.stringify(this.formData)) + if (isReturn) return + this.$refs[formName].validate(valid => { + if (submitType === '提交' && !valid) { + return this.$modal.msgError('请完善全部上传信息') + } + console.log(this.formData) + const reqData = new FormData() + this.formData.proId = this.$store.state.user.thisIds.proId + this.formData.supId = this.$store.state.user.thisIds.supId + this.formData.supUuid = this.$store.state.user.thisIds.supUuid + this.formData.uuid = this.$store.state.user.thisIds.uuid + this.formData.delFileIds = this.delFileIds.join(',') + this.formData.submitType = submitType + reqData.append('params', JSON.stringify(this.formData)) - // 使用 Promise.all 并行处理文件数据获取,提高效率 - Promise.all([ - this.getFileData(this.formData.enterpriseQualificationFiles), - this.getFileData(this.formData.securityAgreementFiles), - this.getFileData(this.formData.supervisionPlanningFiles), - this.getFileData(this.formData.implementationRulesFiles), - ]).then( - ([ - enterpriseQualificationFiles, - securityAgreementFiles, - supervisionPlanningFiles, - implementationRulesFiles, - ]) => { - if (!enterpriseQualificationFiles || enterpriseQualificationFiles.length === 0) { - reqData.append('enterpriseQualificationFiles', new Blob()) - } else { - enterpriseQualificationFiles.forEach(item => reqData.append('enterpriseQualificationFiles', item)) - } - if (!securityAgreementFiles || securityAgreementFiles.length === 0) { - reqData.append('securityAgreementFiles', new Blob()) - } else { - securityAgreementFiles.forEach(item => reqData.append('securityAgreementFiles', item)) - } - if (!supervisionPlanningFiles || supervisionPlanningFiles.length === 0) { - reqData.append('supervisionPlanningFiles', new Blob()) - } else { - supervisionPlanningFiles.forEach(item => reqData.append('supervisionPlanningFiles', item)) - } - if (!implementationRulesFiles || implementationRulesFiles.length === 0) { - reqData.append('implementationRulesFiles', new Blob()) - } else { - implementationRulesFiles.forEach(item => reqData.append('implementationRulesFiles', item)) - } - addSupervisoryApply(reqData) - .then(response => { - if (submitType === '提交') { - this.submitApply() - } else { - this.loading = false - this.$modal.msgSuccess('保存成功') - this.$tab.closePage() - } - }) - .catch(error => { - // 增加错误处理 - this.loading = false - this.$modal.msgError('提交失败') - }) - }) - }) + // 使用 Promise.all 并行处理文件数据获取,提高效率 + Promise.all([ + this.getFileData(this.formData.enterpriseQualificationFiles), + this.getFileData(this.formData.securityAgreementFiles), + this.getFileData(this.formData.supervisionPlanningFiles), + this.getFileData(this.formData.implementationRulesFiles), + ]).then( + ([ + enterpriseQualificationFiles, + securityAgreementFiles, + supervisionPlanningFiles, + implementationRulesFiles, + ]) => { + if (!enterpriseQualificationFiles || enterpriseQualificationFiles.length === 0) { + reqData.append('enterpriseQualificationFiles', new Blob()) + } else { + enterpriseQualificationFiles.forEach(item => reqData.append('enterpriseQualificationFiles', item)) + } + if (!securityAgreementFiles || securityAgreementFiles.length === 0) { + reqData.append('securityAgreementFiles', new Blob()) + } else { + securityAgreementFiles.forEach(item => reqData.append('securityAgreementFiles', item)) + } + if (!supervisionPlanningFiles || supervisionPlanningFiles.length === 0) { + reqData.append('supervisionPlanningFiles', new Blob()) + } else { + supervisionPlanningFiles.forEach(item => reqData.append('supervisionPlanningFiles', item)) + } + if (!implementationRulesFiles || implementationRulesFiles.length === 0) { + reqData.append('implementationRulesFiles', new Blob()) + } else { + implementationRulesFiles.forEach(item => reqData.append('implementationRulesFiles', item)) + } + addSupervisoryApply(reqData) + .then(response => { + if (submitType === '提交') { + this.submitApply() + } else { + this.loading = false + this.$modal.msgSuccess('保存成功') + this.$tab.closePage() + } + }) + .catch(error => { + // 增加错误处理 + this.loading = false + this.$modal.msgError('提交失败') + }) + } + ) + }) }, /** * 提交审批 @@ -1383,32 +1388,36 @@ export default { let uuid = StrUtil.generateSimpleUUID() for (let i = 0; i < jsonData.length; i++) { if ( - StrUtil.isBlank(jsonData[i][1]) || - StrUtil.isBlank(jsonData[i][2]) || - StrUtil.isBlank(jsonData[i][3]) || - StrUtil.isBlank(jsonData[i][4]) || - StrUtil.isBlank(jsonData[i][5]) || - StrUtil.isBlank(jsonData[i][6]) + jsonData[i].length > 0 && + (StrUtil.isBlank(jsonData[i][1]) || + StrUtil.isBlank(jsonData[i][2]) || + StrUtil.isBlank(jsonData[i][3]) || + StrUtil.isBlank(jsonData[i][4]) || + StrUtil.isBlank(jsonData[i][5]) || + StrUtil.isBlank(jsonData[i][6])) ) { this.errorLine.push(jsonData[i][0]) } - const rowData = { - arg0: jsonData[i][0], - arg1: jsonData[i][1], - arg2: jsonData[i][2], - arg3: jsonData[i][3], - arg4: jsonData[i][4], - arg5: jsonData[i][5], - arg6: jsonData[i][6], - uuid: uuid, - personType: jsonData[i][6] === '监理负责人' ? '1' : '2', - sex: jsonData[i][2] === '男' ? '0' : '1', + + if (jsonData[i].length > 0) { + const rowData = { + arg0: jsonData[i][0], + arg1: jsonData[i][1], + arg2: jsonData[i][2], + arg3: jsonData[i][3], + arg4: jsonData[i][4], + arg5: jsonData[i][5], + arg6: jsonData[i][6], + uuid: uuid, + personType: jsonData[i][6] === '监理负责人' ? '1' : '2', + sex: jsonData[i][2] === '男' ? '0' : '1', + } + const isDuplicate = this.excelData.some(item => item.arg5 === rowData.arg5) + if (isDuplicate) { + this.errorPhone.push(rowData.arg5) + } + this.excelData.push(rowData) } - const isDuplicate = this.excelData.some(item => item.arg5 === rowData.arg5) - if (isDuplicate) { - this.errorPhone.push(rowData.arg5) - } - this.excelData.push(rowData) } if (this.excelData.length > 999) { this.$message.warning('数据量大于1000行')