From f2ce587e752798a2a454e0f029069b4e82a41bc8 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 27 六月 2025 17:36:52 +0800 Subject: [PATCH] 增加提交样式,新增批量处理dnc审签 --- src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue | 132 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 104 insertions(+), 28 deletions(-) diff --git a/src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue b/src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue index 6fbbb4f..7ecc9d4 100644 --- a/src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue +++ b/src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue @@ -13,7 +13,7 @@ > <a-card :bordered="false"> <div> - <b>{{ selectShenpiData.title }}</b> + <b>{{ selectShenpiData.description }}</b> <br> <br> <a-tag color="blue"> @@ -76,12 +76,12 @@ </a-row> <a-row> <a-col :span='span'> - <a-form-model-item label='璁惧绫诲悕绉�' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementCode'> + <a-form-model-item label='鏁版帶绯荤粺绫诲埆' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementCode'> <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceManagementCode'></a-input> </a-form-model-item> </a-col> <a-col :span='span'> - <a-form-model-item label='璁惧绫诲悕绉�' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementName'> + <a-form-model-item label='鏁版帶绯荤粺绫诲埆' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementName'> <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceManagementName'></a-input> </a-form-model-item> </a-col> @@ -105,13 +105,11 @@ <a-timeline style="padding:0 1% 0 12%" > <a-timeline-item color='white' v-for="(item,index1) in hitaskDataSource" :key="index1"> <div class="bottom"> - <p>寮�濮嬫椂闂达細{{item.startTime}}</p> - <p>缁撴潫鏃堕棿锛歿{item.endTime}}</p> - <p>澶勭悊浜猴細{{item.assignee}}</p> - <p>鍔炵悊绫诲瀷锛歿{item.bllx_dictText}}</p> - <p v-if="item.name == '鎻愪氦鐢宠'">鎸囨淳鍘熷洜锛歿{item.cause}}</p> - <p v-else >澶勭悊鎰忚锛歿{item.cause}}</p> - <div class="left_qiu"><span>{{item.name}}</span></div> + <p>澶勭悊浜猴細{{item.assignee_dictText}}</p> + <p v-if="index1 !==0">澶勭悊鏃堕暱锛歿{item.duration}}</p> + <p v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</p> + <p v-if="item.description != null">澶勭悊鎰忚锛歿{item.description}}</p> + <div class="left_qiu"><span>{{item.taskName}}</span></div> </div> </a-timeline-item> </a-timeline> @@ -143,11 +141,11 @@ <a-input :disabled='coldisabled' v-model='tableRowRecord.applyTime'></a-input> </a-form-model-item > </a-col> - <a-col :span="24"> - <a-form-item label="瀵嗙骇涓�" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <j-dict-select-tag type='list' v-model='assignFileStream.secretLevel' dictCode='dnc_secret_level' placeholder="璇烽�夋嫨瀵嗙骇" /> - </a-form-item> - </a-col> +<!-- <a-col :span="24">--> +<!-- <a-form-item label="瀵嗙骇涓�" :labelCol="labelCol" :wrapperCol="wrapperCol">--> +<!-- <j-dict-select-tag type='list' v-model='assignFileStream.secretLevel' dictCode='dnc_secret_level' placeholder="璇烽�夋嫨瀵嗙骇" />--> +<!-- </a-form-item>--> +<!-- </a-col>--> <a-col :span="24" class="btxx"> <a-form-item label="瀹℃壒鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol"> <j-dict-select-tag type='list' v-model='assignFileStream.status' dictCode='dnc_assign_stream_status' placeholder="璇烽�夋嫨瀹℃壒鐘舵��" /> @@ -160,8 +158,20 @@ </a-col> </a-row> <div class="table-operator" style="text-align: right;"> - <a-button @click="handleQueXiaoTask" type="primary" icon="close">鍙栨秷</a-button> - <a-button @click="submitForm">鎻� 浜�</a-button> + <a-button + @click="handleQueXiaoTask" + icon="close" + :disabled="isSubmitting" + :class="{'disabled-btn': isSubmitting}" + >鍙栨秷</a-button> + <a-button + @click="submitForm" + type="primary" + :disabled="isSubmitting" + :loading="isSubmitting" + > + 鎻� 浜� + </a-button> </div> </a-form-model> </div> @@ -246,12 +256,13 @@ url: { queryBomDataById: '/nc/activit/selectVoById', diagramView: '/assign/flow/diagramView', - queryHisTaskList:'/assign/flow/queryHisTaskList', - approve:"/activit/assign/file/approve", + queryHisTaskList:'/dncFlow/dispatchFile/queryHisTaskList', + approve:"/nc/activit/assign/file/approve", }, dictOptions: {}, superFieldList: [], - workflowSource: [] + workflowSource: [], + isSubmitting: false, } }, created() { @@ -285,12 +296,28 @@ alert('鏃犳硶鍔犺浇鍥剧墖锛岃绋嶅悗鍐嶈瘯銆�') } }, - handleQueXiaoTask(){ - this.visible = false - this.routeReload() + handleQueXiaoTask() { + // 濡傛灉姝e湪鎻愪氦锛岄樆姝㈠彇娑堟搷浣� + if (this.isSubmitting) return; + this.visible = false; + this.routeReload(); }, submitForm () { + // 濡傛灉姝e湪鎻愪氦锛岄樆姝㈤噸澶嶇偣鍑� + if (this.isSubmitting) return; + + // 寮�鍚叏灞�绂侀�� + this.isSubmitting = true; + document.body.classList.add('submitting'); + const that = this; + + // 瀹氫箟涓�涓仮澶嶇姸鎬佺殑鍑芥暟 + const resetState = () => { + that.isSubmitting = false; + document.body.classList.remove('submitting'); + }; + if (!that.assignFileStream.status==null || that.assignFileStream.status===undefined){ this.$message.warning('璇烽�夋嫨瀹℃壒鐘舵�侊紒') return false; @@ -301,6 +328,10 @@ } // 瑙﹀彂琛ㄥ崟楠岃瘉 this.form.validateFields((err, values) => { + if (err) { + resetState(); // 楠岃瘉澶辫触锛屾仮澶嶇姸鎬� + return; + } if (!err) { that.confirmLoading = true; let url=this.url.approve @@ -322,15 +353,21 @@ httpAction(url,flowTaskVo,method).then((res)=>{ if(res.success){ that.$message.success(res.message); - that.$emit('ok'); + that.visible = false + //鍒锋柊琛ㄦ牸 + that.$emit('searchReset') }else{ that.$message.warning(res.message); } - }).finally(() => { - that.confirmLoading = false; + }).catch((error) => { + console.error(error); + that.$message.error('鎻愪氦澶辫触'); }) + .finally(() => { + that.confirmLoading = false; + resetState(); // 璇锋眰缁撴潫锛屾仮澶嶇姸鎬� + }); } - }) }, getAllApproveData(item) { @@ -340,7 +377,7 @@ 'id': item.dataId } let parmhis={ - 'procInstId': item.dataId + 'procInstId': item.procInstId } getAction(this.url.queryHisTaskList,parmhis).then(res=>{ this.hitaskDataSource=res.result @@ -359,6 +396,45 @@ } </script> <style scoped> +/* 鍏ㄥ眬绂侀�夋牱寮� - 浣滅敤浜庢暣涓〉闈� */ +html.submitting, +html.submitting body { + pointer-events: none !important; + cursor: wait !important; +} + +/* 钂欏眰鏁堟灉澧炲己 */ +html.submitting::before { + content: ''; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.5); + z-index: 9998; +} + +/* 鍔犺浇鎸囩ず鍣� - 鏇存槑鏄剧殑瑙嗚鍙嶉 */ +html.submitting::after { + content: '鎻愪氦涓�...'; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: #1890ff; + color: white; + padding: 10px 20px; + border-radius: 4px; + z-index: 9999; +} + +/* 绂佺敤鐘舵�佹寜閽牱寮� */ +.disabled-btn { + opacity: 0.6; + cursor: not-allowed !important; +} + .shallow-hr { border: 0; height: 1px; /* 鍒嗙晫绾跨殑楂樺害 */ -- Gitblit v1.9.3