diff --git a/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue b/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue index f098eb61..b735eec0 100644 --- a/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue +++ b/src/views/workCenter/noMatchTrackingProcess/NoMatchTrackingProcess.vue @@ -351,7 +351,8 @@ export default { } ] }, - projectSelectOptions: [] // 项目下拉数据 + projectSelectOptions: [], // 项目下拉数据 + disabledBtnClick: false } }, computed: { @@ -507,6 +508,10 @@ export default { this.$refs.userSelectModal.open() }, continueTransfer (userId) { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const params = { taskId: this.$route.query.taskId, userId @@ -518,6 +523,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -541,8 +547,13 @@ export default { * 保存 */ handleSave () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const formData = this.dealSaveJsonData() if (!formData) { + this.disabledBtnClick = false return } const params = { @@ -558,6 +569,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -624,8 +636,13 @@ export default { * 提交 */ handleSubmit () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } this.loading = true @@ -646,6 +663,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -655,12 +673,17 @@ export default { * 同意 */ handleAgree () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = false if (!this.approvalInfoForm.getFieldValue('handleText')) { this.approvalInfoForm.setFieldsValue({ handleText: '同意' }) } const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } this.loading = true @@ -670,6 +693,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -679,6 +703,10 @@ export default { * 驳回 */ handleReject () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = true const formData = this.dealFormData() if (!formData) { @@ -691,6 +719,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false diff --git a/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue b/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue index 9311b39f..7cb81da4 100644 --- a/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue +++ b/src/views/workCenter/projectComplianceEvaluationProcess/ProjectComplianceEvaluationProcess.vue @@ -877,7 +877,7 @@ export default { return this.currentNode === ProjectComplianceEvaluationProcessNode.moduleOwnerModification.value ? ProjectComplianceEvaluationProcessNode.moduleOwnerApproval.value : this.currentNode }, // 是否发起节点 - isInit() { + isInit () { return this.currentNode === ProjectComplianceEvaluationProcessNode.initiate.value } }, @@ -1296,7 +1296,7 @@ export default { /** * 处理保存的Json数据部门 */ - dealSaveJsonData() { + dealSaveJsonData () { const formData = {} // 流程信息 const processInfo = Object.assign(this.processInfo, this.processInfoForm.getFieldsValue()) @@ -1340,23 +1340,29 @@ export default { * 保存 */ handleSave () { - const formData = this.dealSaveJsonData() - if (!formData) { + if (this.disabledBtnClick) { return } + this.disabledBtnClick = true + const formData = this.dealSaveJsonData() + if (!formData) { + this.disabledBtnClick = false + return + } + this.loading = true const params = { infoJsonStr: JSON.stringify(formData), basicProcessInfoDTO: formData.basicProcessInfoDTO, draftId: this.$route.query.draftId, basicTaskInfoDTO: Object.assign(formData.approvalInfo, { taskId: this.$route.query.taskId }) } - this.loading = true saveProjectComplianceEvaluation(params).then(res => { if (res.success) { this.$message.success(res.message) this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1366,10 +1372,16 @@ export default { * 提交 */ handleSubmit () { - const formData = this.dealFormData() - if (!formData) { + if (this.disabledBtnClick) { return } + this.disabledBtnClick = true + const formData = this.dealFormData() + if (!formData) { + this.disabledBtnClick = false + return + } + this.loading = true let submitFunc // 发起和提交的接口判断 if (this.currentNode === ProjectComplianceEvaluationProcessNode.initiate.value) { @@ -1382,16 +1394,13 @@ export default { } else { submitFunc = submitProjectComplianceEvaluation } - if (!submitFunc) { - return - } - this.loading = true submitFunc(formData).then(res => { if (res.success) { this.$message.success(res.message) this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1401,6 +1410,9 @@ export default { * 转办 */ handleTurnTo () { + if (this.disabledBtnClick) { + return + } this.isTransfer = true this.$refs.userSelectModal.open() }, @@ -1408,6 +1420,7 @@ export default { if (!this.isTransfer) { return } + this.disabledBtnClick = true const params = { taskId: this.$route.query.taskId, userId @@ -1419,6 +1432,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1428,12 +1442,17 @@ export default { * 同意 */ handleAgree () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = false if (!this.approvalInfoForm.getFieldValue('handleText')) { this.approvalInfoForm.setFieldsValue({ handleText: '同意' }) } const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } this.loading = true @@ -1443,6 +1462,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1452,9 +1472,14 @@ export default { * 驳回 */ handleReject () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = true const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } this.loading = true @@ -1464,6 +1489,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false diff --git a/src/views/workCenter/standardComplianceProcess/StandardComplianceProcess.vue b/src/views/workCenter/standardComplianceProcess/StandardComplianceProcess.vue index 03f929e6..4fc5c90e 100644 --- a/src/views/workCenter/standardComplianceProcess/StandardComplianceProcess.vue +++ b/src/views/workCenter/standardComplianceProcess/StandardComplianceProcess.vue @@ -247,7 +247,8 @@ export default { businessId: null, dispatchDataSource: [], // 业务分派信息的数据 currentNodePrefix: null, // 判断节点的前缀 - preNodeUser: null // 上一节点处理人 + preNodeUser: null, // 上一节点处理人 + disabledBtnClick: false } }, computed: { @@ -364,6 +365,10 @@ export default { this.$refs.userSelectModal.open() }, continueTransfer (userId) { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const params = { taskId: this.$route.query.taskId, userId @@ -375,6 +380,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -480,8 +486,13 @@ export default { * 保存 */ async handleSave () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const formData = await this.dealSaveFormData() if (!formData) { + this.disabledBtnClick = false return } formData.infoJsonStr = JSON.stringify(formData) @@ -492,6 +503,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -501,8 +513,13 @@ export default { * 提交 */ async handleSubmit () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const formData = await this.dealSubmitFormData() if (!formData) { + this.disabledBtnClick = false return } let submitFunc @@ -522,6 +539,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -532,12 +550,17 @@ export default { * @returns {Promise} */ async handleAgree () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = false if (!this.approvalInfoForm.getFieldValue('handleText')) { this.approvalInfoForm.setFieldsValue({ handleText: '同意' }) } const formData = await this.dealSubmitFormData() if (!formData) { + this.disabledBtnClick = false return } this.loading = true @@ -547,6 +570,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -557,9 +581,14 @@ export default { * @returns {Promise} */ async handleReject () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = true const formData = await this.dealSubmitFormData(false) if (!formData) { + this.disabledBtnClick = false return } this.loading = true @@ -569,6 +598,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false diff --git a/src/views/workCenter/standardConsultationProcess/StandardConsultationProcess.vue b/src/views/workCenter/standardConsultationProcess/StandardConsultationProcess.vue index 7b192cc3..4c69d2fd 100644 --- a/src/views/workCenter/standardConsultationProcess/StandardConsultationProcess.vue +++ b/src/views/workCenter/standardConsultationProcess/StandardConsultationProcess.vue @@ -743,7 +743,8 @@ export default { } ], businessId: null, - currentNodePrefix: null // 当前节点的固定前缀,用于人员信息组件处理 + currentNodePrefix: null, // 当前节点的固定前缀,用于人员信息组件处理 + disabledBtnClick: false } }, computed: { @@ -1094,9 +1095,13 @@ export default { * 转办 */ handleTurnTo () { + if (this.disabledBtnClick) { + return + } this.$refs.userSelectModal.open() }, continueTurnTo (userId) { + this.disabledBtnClick = true const params = { taskId: this.$route.query.taskId, userId, @@ -1109,6 +1114,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1118,10 +1124,16 @@ export default { * 保存 */ handleSave () { - const formData = this.dealFormData(true) - if (!formData) { + if (this.disabledBtnClick) { return } + this.disabledBtnClick = true + const formData = this.dealFormData(true) + if (!formData) { + this.disabledBtnClick = false + return + } + this.loading = true formData.infoJsonStr = JSON.stringify(formData) // saveSource:从待办进入保存--1;发起/草稿页面--2 if (this.$route.query.processInstanceId) { @@ -1129,13 +1141,13 @@ export default { } else { formData.saveSource = 2 } - this.loading = true saveConsultationProcess(formData).then(res => { if (res.success) { this.$message.success(res.message) this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1145,8 +1157,13 @@ export default { * 提交 */ handleSubmit () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } this.loading = true @@ -1166,6 +1183,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1175,22 +1193,28 @@ export default { * 同意 */ handleAgree () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = false if (!this.approvalInfoForm.getFieldValue('handleText')) { this.approvalInfoForm.setFieldsValue({ handleText: '同意' }) } const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } - formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空 this.loading = true + formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空 agreeConsultationProcess(formData).then(res => { if (res.success) { this.$message.success(res.message) this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1200,19 +1224,25 @@ export default { * 驳回 */ handleReject () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = true const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } - formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空 this.loading = true + formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空 rejectConsultationProcess(formData).then(res => { if (res.success) { this.$message.success(res.message) this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false diff --git a/src/views/workCenter/standardEntryOrChangeProcess/StandardEntryOrChangeProcess.vue b/src/views/workCenter/standardEntryOrChangeProcess/StandardEntryOrChangeProcess.vue index 9d1c79d2..e16d1bff 100644 --- a/src/views/workCenter/standardEntryOrChangeProcess/StandardEntryOrChangeProcess.vue +++ b/src/views/workCenter/standardEntryOrChangeProcess/StandardEntryOrChangeProcess.vue @@ -446,7 +446,8 @@ export default { } }, businessId: null, - standardGetState: null // 标准从接口获取到数据时候的标准状态值 + standardGetState: null, // 标准从接口获取到数据时候的标准状态值 + disabledBtnClick: false // 防连点 } }, computed: { @@ -957,10 +958,16 @@ export default { * 保存 */ handleSave () { - const saveForm = this.dealSaveJsonData() - if (!saveForm) { + if (this.disabledBtnClick) { return } + this.disabledBtnClick = true + const saveForm = this.dealSaveJsonData() + if (!saveForm) { + this.disabledBtnClick = false + return + } + this.loading = true const formData = { ...saveForm, infoJsonStr: JSON.stringify(saveForm), @@ -973,13 +980,13 @@ export default { } else { formData.saveSource = 2 } - this.loading = true saveStandardECProcess(formData).then(res => { if (res.success) { this.$message.success(res.message) this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -989,10 +996,16 @@ export default { * 提交(发起) */ handleSubmit () { - const formData = this.dealFormData() - if (!formData) { + if (this.disabledBtnClick) { return } + this.disabledBtnClick = true + const formData = this.dealFormData() + if (!formData) { + this.disabledBtnClick = false + return + } + this.loading = true let submitFunc if (this.currentNode === FGEntryChangeProcessNode.initiate.value && (!this.$route.query.processInstanceId || this.$route.query.draftId)) { submitFunc = initiateStandardECProcess @@ -1003,13 +1016,13 @@ export default { } else { submitFunc = agreeStandardECProcess } - this.loading = true submitFunc(formData).then(res => { if (res.success) { this.$message.success(res.message) this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1019,12 +1032,17 @@ export default { * 同意 */ handleAgree () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = false if (!this.approvalInfoForm.getFieldValue('handleText')) { this.approvalInfoForm.setFieldsValue({ handleText: '同意' }) } const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空 @@ -1035,6 +1053,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1044,9 +1063,14 @@ export default { * 驳回 */ handleReject () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = true const formData = this.dealFormData() - if (!formData) { + if (!formData || this.loading) { + this.disabledBtnClick = false return } formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空 @@ -1057,6 +1081,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -1066,9 +1091,13 @@ export default { * 转办 */ handleTurnTo () { + if (this.disabledBtnClick) { + return + } this.$refs.userSelectModal.open() }, continueTurnTo (userId) { + this.disabledBtnClick = true const params = { taskId: this.$route.query.taskId, userId @@ -1080,6 +1109,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false diff --git a/src/views/workCenter/standardProcurementProcess/StandardProcurementProcess.vue b/src/views/workCenter/standardProcurementProcess/StandardProcurementProcess.vue index 84d69b79..2e3e4e68 100644 --- a/src/views/workCenter/standardProcurementProcess/StandardProcurementProcess.vue +++ b/src/views/workCenter/standardProcurementProcess/StandardProcurementProcess.vue @@ -246,7 +246,8 @@ export default { currentNode: '', isTransfer: true, // 是否转办 businessId: null, - carbonCopyPersonIds: null // 抄送选择人的id + carbonCopyPersonIds: null, // 抄送选择人的id + disabledBtnClick: false } }, computed: { @@ -432,6 +433,9 @@ export default { * 转办 */ handleTurnTo () { + if (this.disabledBtnClick) { + return + } this.isTransfer = true this.$refs.userSelectModal.open() }, @@ -439,10 +443,17 @@ export default { * 抄送 */ handleCarbonCopy () { + if (this.disabledBtnClick) { + return + } this.isTransfer = false this.$refs.userSelectModal.open() }, handleSelectedUser (userId) { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const params = { taskId: this.$route.query.taskId, userId @@ -457,9 +468,12 @@ export default { this.$message.success(res.message) if (this.isTransfer) { this.goBack() + } else { + this.disabledBtnClick = false } } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -469,8 +483,13 @@ export default { * 保存 */ handleSave () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const formData = this.dealFormData(true) if (!formData) { + this.disabledBtnClick = false return } formData.infoJsonStr = JSON.stringify(formData) @@ -487,6 +506,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -496,8 +516,13 @@ export default { * 提交 */ handleSubmit () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } let submitFunc @@ -517,6 +542,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -526,12 +552,17 @@ export default { * 同意 */ handleAgree () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = false if (!this.approvalInfoForm.getFieldValue('handleText')) { this.approvalInfoForm.setFieldsValue({ handleText: '同意' }) } const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } formData.basicTaskInfoDTO.commitFlag = 1 // 同意就传1,驳回传2,其他都为空 @@ -542,6 +573,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false @@ -551,9 +583,14 @@ export default { * 驳回 */ handleReject () { + if (this.disabledBtnClick) { + return + } + this.disabledBtnClick = true this.validatorRules.handleText.rules[0].required = true const formData = this.dealFormData() if (!formData) { + this.disabledBtnClick = false return } formData.basicTaskInfoDTO.commitFlag = 2 // 同意就传1,驳回传2,其他都为空 @@ -564,6 +601,7 @@ export default { this.goBack() } else { this.$message.warning(res.message) + this.disabledBtnClick = false } }).finally(() => { this.loading = false