From 1c09a6cf5a3a25710c13ba2095a59759efee920c Mon Sep 17 00:00:00 2001 From: lwd <466279616@qq.com> Date: Mon, 5 Jan 2026 21:11:03 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=88=97=E5=85=A5=E7=BB=8F?= =?UTF-8?q?=E8=90=A5=E5=BC=82=E5=B8=B8=E6=97=A0=E6=B3=95=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../abnormal/company/inclusion/Accept.vue | 240 ++++++++++-------- 1 file changed, 128 insertions(+), 112 deletions(-) diff --git a/src/views/abnormal/company/inclusion/Accept.vue b/src/views/abnormal/company/inclusion/Accept.vue index 8f1eee1..a25ab56 100644 --- a/src/views/abnormal/company/inclusion/Accept.vue +++ b/src/views/abnormal/company/inclusion/Accept.vue @@ -939,126 +939,142 @@ export default { if (this.$util.isEmpty(this.form.caseSource)) { return this.$message.warning('请选择案件来源') } - console.log(this.form.specause) + + // ===== 仅新增:结束流程单独校验 ===== + if (this.form.endApply === '5') { // 结束流程 + // 只校验结束原因,跳过全量表单校验 + if (this.$util.isEmpty(this.form.endReason)) { + return this.$message.warning('请输入结束原因') + } + // 直接执行提交逻辑 + this.executeSubmitLogic() + return // 终止后续代码,避免走全量校验 + } + + // 其他操作(提交/回退/作废)保持原有全量校验逻辑 this.$refs.form.validate(valid => { if (!valid) return - if (this.showRadio) { // 线索列异要再校验一次作提示 - validateBiz({ ids: this.bizList[0].toIncludeId, validType: 'CLUE', entertype: this.bizType, checkInBiz: 'false' }).then(res => { - if (res.code === 0) { - let str = '' - let type = 'info' - if (res.data.length > 0) { - for (const item of res.data) { - str += item.entname + item.reason + ';' - } - if (this.form.endApply === '5') { - str += '是否结束流程?' - }else{ - str += '是否继续提交?' - } - type = 'warning' + this.executeSubmitLogic() + }) + }, + // ===== 抽离的公共提交逻辑(完全复制你原有代码,无任何修改)===== + executeSubmitLogic() { + if (this.showRadio) { // 线索列异要再校验一次作提示 + validateBiz({ ids: this.bizList[0].toIncludeId, validType: 'CLUE', entertype: this.bizType, checkInBiz: 'false' }).then(res => { + if (res.code === 0) { + let str = '' + let type = 'info' + if (res.data.length > 0) { + for (const item of res.data) { + str += item.entname + item.reason + ';' + } + if (this.form.endApply === '5') { + str += '是否结束流程?' } else { - if (this.form.endApply === '5') { - str = '是否结束流程?' - }else{ - str = '是否继续提交?' + str += '是否继续提交?' + } + type = 'warning' + } else { + if (this.form.endApply === '5') { + str = '是否结束流程?' + } else { + str = '是否继续提交?' + } + } + this.$confirm(str, '提示', { type: type }).then(() => { + this.submitLoading = true + this.form.bizseq = this.bizseq + this.form.workflowid = this.workflowId + this.form.opiniontype = this.bizType === 'company' ? '1' : '0' + this.form.handler = this.user.username + this.form.handlerid = this.user.primaryKey + this.form.opinioncontent = this.form.opinion + this.form.spereasons = this.spereasons + this.form.remark = this.remark + this.form.decisionContent = this.decisionContent + this.form.nextPerformerids = this.form.reviewerId + this.form.caseSource = this.caseSource // 关键:绑定选中值到表单 + for (const i in this.reviewer) { + if (this.reviewer[i].primaryKey === this.form.reviewerId) { + this.form.nextPerformerNames = this.reviewer[i].name } } - this.$confirm(str, '提示', { type: type }).then(() => { - this.submitLoading = true - this.form.bizseq = this.bizseq - this.form.workflowid = this.workflowId - this.form.opiniontype = this.bizType === 'company' ? '1' : '0' - this.form.handler = this.user.username - this.form.handlerid = this.user.primaryKey - this.form.opinioncontent = this.form.opinion - this.form.spereasons = this.spereasons - this.form.remark = this.remark - this.form.decisionContent = this.decisionContent - this.form.nextPerformerids = this.form.reviewerId - this.form.caseSource = this.caseSource // 关键:绑定选中值到表单 - for (const i in this.reviewer) { - if (this.reviewer[i].primaryKey === this.form.reviewerId) { - this.form.nextPerformerNames = this.reviewer[i].name - } + this.form.nextNodeID = 'handleExptlist' + if (this.form.endApply === '5') { + this.form.nextNodeID = 'overFinish' + this.form.opinioncontent = this.form.endReason + } + nextAbnormaInclusionProcess({ + tasklistid: this.tasklistid, + bizseq: this.bizseq, + nextNodeID: this.form.nextNodeID, + opinion: { + opiniontype: this.form.opiniontype, + handler: this.user.username, + handlerid: this.user.primaryKey, + handledate: this.form.handledate, + opinioncontent: this.form.opinioncontent + }, + nextPerformerIds: [this.form.nextPerformerids], + nextPerformerNames: [this.form.nextPerformerNames], + tsBizSpeListModel: this.form + }).then(res => { + this.submitLoading = false + if (res.code === 0) { + this.$message.success('提交成功') + this.$router.back() } - this.form.nextNodeID = 'handleExptlist' - if (this.form.endApply === '5') { - this.form.nextNodeID = 'overFinish' - this.form.opinioncontent = this.form.endReason - } - nextAbnormaInclusionProcess({ - tasklistid: this.tasklistid, - bizseq: this.bizseq, - nextNodeID: this.form.nextNodeID, - opinion: { - opiniontype: this.form.opiniontype, - handler: this.user.username, - handlerid: this.user.primaryKey, - handledate: this.form.handledate, - opinioncontent: this.form.opinioncontent - }, - nextPerformerIds: [this.form.nextPerformerids], - nextPerformerNames: [this.form.nextPerformerNames], - tsBizSpeListModel: this.form - }).then(res => { - this.submitLoading = false - if (res.code === 0) { - this.$message.success('提交成功') - this.$router.back() - } - }) - }).catch(() => {}) + }) + }).catch(() => {}) + } + }) + } else { + this.$confirm('是否确认提交', '提示').then(() => { + this.submitLoading = true + this.form.bizseq = this.bizseq + this.form.workflowid = this.workflowId + this.form.opiniontype = this.bizType === 'company' ? '1' : '0' + this.form.handler = this.user.username + this.form.handlerid = this.user.primaryKey + this.form.opinioncontent = this.form.opinion + this.form.spereasons = this.spereasons + this.form.remark = this.remark + this.form.decisionContent = this.decisionContent + this.form.nextPerformerids = this.form.reviewerId + for (const i in this.reviewer) { + if (this.reviewer[i].primaryKey === this.form.reviewerId) { + this.form.nextPerformerNames = this.reviewer[i].name + } + } + this.form.nextNodeID = 'handleExptlist' + if (this.form.endApply === '5') { + this.form.nextNodeID = 'overExptlist' + this.form.opinioncontent = this.form.endReason + } + nextAbnormaInclusionProcess({ + tasklistid: this.tasklistid, + bizseq: this.bizseq, + nextNodeID: this.form.nextNodeID, + opinion: { + opiniontype: this.form.opiniontype, + handler: this.user.username, + handlerid: this.user.primaryKey, + handledate: this.form.handledate, + opinioncontent: this.form.opinioncontent + }, + nextPerformerIds: [this.form.nextPerformerids], + nextPerformerNames: [this.form.nextPerformerNames], + tsBizSpeListModel: this.form + }).then(res => { + this.submitLoading = false + if (res.code === 0) { + this.$message.success('提交成功') + // this.$router.back() + this.$router.push('/todo/list') } }) - } else { - this.$confirm('是否确认提交', '提示').then(() => { - this.submitLoading = true - this.form.bizseq = this.bizseq - this.form.workflowid = this.workflowId - this.form.opiniontype = this.bizType === 'company' ? '1' : '0' - this.form.handler = this.user.username - this.form.handlerid = this.user.primaryKey - this.form.opinioncontent = this.form.opinion - this.form.spereasons = this.spereasons - this.form.remark = this.remark - this.form.decisionContent = this.decisionContent - this.form.nextPerformerids = this.form.reviewerId - for (const i in this.reviewer) { - if (this.reviewer[i].primaryKey === this.form.reviewerId) { - this.form.nextPerformerNames = this.reviewer[i].name - } - } - this.form.nextNodeID = 'handleExptlist' - if (this.form.endApply === '5') { - this.form.nextNodeID = 'overExptlist' - this.form.opinioncontent = this.form.endReason - } - nextAbnormaInclusionProcess({ - tasklistid: this.tasklistid, - bizseq: this.bizseq, - nextNodeID: this.form.nextNodeID, - opinion: { - opiniontype: this.form.opiniontype, - handler: this.user.username, - handlerid: this.user.primaryKey, - handledate: this.form.handledate, - opinioncontent: this.form.opinioncontent - }, - nextPerformerIds: [this.form.nextPerformerids], - nextPerformerNames: [this.form.nextPerformerNames], - tsBizSpeListModel: this.form - }).then(res => { - this.submitLoading = false - if (res.code === 0) { - this.$message.success('提交成功') - // this.$router.back() - this.$router.push('/todo/list') - } - }) - }).catch(() => {}) - } - }) + }).catch(() => {}) + } }, uploadCallback(res, file) { if (res.code === 0) {