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