From 482efd9ee971fe7d799a015dc288340c85b8805c Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 29 九月 2022 11:24:17 +0800
Subject: [PATCH] 1.新增  提交类按钮只能提交一次的控制2.关联类的按钮  接口返回成功后显示对话框

---
 src/views/sbgl/bybz.vue |  117 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 77 insertions(+), 40 deletions(-)

diff --git a/src/views/sbgl/bybz.vue b/src/views/sbgl/bybz.vue
index e4efde1..fe0ea0e 100644
--- a/src/views/sbgl/bybz.vue
+++ b/src/views/sbgl/bybz.vue
@@ -304,7 +304,12 @@
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="dialogVisibleConfirm"
+          >纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -373,7 +378,12 @@
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button @click="eqpDialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button type="primary" @click="eqpDialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="eqpDialogVisibleConfirm"
+          >纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -575,7 +585,7 @@
     },
     // 淇敼鍓嶈姹傛帴鍙�
     async getViewDeviceRepairStanedSearch(repairstand_code) {
-      const { data: res } = await ViewDeviceRepairStanedSearch({ repairstand_code	 })
+      const { data: res } = await ViewDeviceRepairStanedSearch({ repairstand_code })
       this.tableDataDialog = res.Data
 
       this.dialogForm.code = res.code
@@ -631,6 +641,7 @@
     dialogVisibleConfirm() {
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
+          this.$store.state.app.buttonIsDisabled = true
           this.tableDataDialog.filter(item => item.repairitem_code !== '')
 
           let Data = []
@@ -652,9 +663,10 @@
 
           AddUpdateDeviceRepairStandArd(data, this.operation === 'add' ? 'Add' : 'Update').then(res => {
             if (res.code === '200') {
-              this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.dialogVisible = false
+              this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.getDeviceRepairStandArdSearch()
+              this.$store.state.app.buttonIsDisabled = false
             } else {
               this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
             }
@@ -775,43 +787,59 @@
       return 'custom-row'
     },
     // 鍏宠仈璁惧
-    async checkeqpClick(row) {
+    checkeqpClick(row) {
+      const loading = this.$loading({
+        lock: true,
+        text: '姝e湪鍔犺浇鏁版嵁锛岃绋嶇瓑...',
+        spinner: 'el-icon-loading',
+        customClass: 'osloading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+
       this.dialogFormEqp.name = row.name
       this.dialogFormEqp.code = row.code
 
-      const { data: res } = await DeviceRepairStanedAssociationEqp({ repairstand_code: row.code })
-      this.dialogFormEqp.eqpAll = res.filter(item => item.children.length > 0)
+      DeviceRepairStanedAssociationEqp({ repairstand_code: row.code }).then(res => {
+        if (res.code === '200') {
+          setTimeout(() => {
+            loading.close()
+            this.dialogFormEqp.eqpAll = res.data.filter(item => item.children.length > 0)
 
-      if (this.dialogFormEqp.eqpAll.length > 0) {
-        this.dialogFormEqp.eqpAll.forEach((item, index) => {
-          this.dialogFormEqp.eqpArr.push({
-            code: item.code,
-            name: item.name,
-            type: item.type,
-            isSelected1: index === 0,
-            isSelected2: item.flag === 'Y'
-          })
-          if (item.flag === 'Y') {
-            this.$nextTick(() => {
-              $('input:checkbox').eq(index).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+            if (this.dialogFormEqp.eqpAll.length > 0) {
+              this.dialogFormEqp.eqpAll.forEach((item, index) => {
+                this.dialogFormEqp.eqpArr.push({
+                  code: item.code,
+                  name: item.name,
+                  type: item.type,
+                  isSelected1: index === 0,
+                  isSelected2: item.flag === 'Y'
+                })
+                if (item.flag === 'Y') {
+                  this.$nextTick(() => {
+                    $('input:checkbox').eq(index).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+                  })
+                }
+                if (item.children && item.children.length > 0) {
+                  item.children.forEach(it => {
+                    if (it.flag === 'Y') {
+                      this.dialogFormEqp.eqpCodeSelectedArr.push(it.code)
+                    }
+                  })
+                }
+              })
+              this.dialogFormEqp.eqpAll[0].name = '鍏ㄩ儴'
+              this.dialogFormEqp.eqpTree = [this.dialogFormEqp.eqpAll[0]]
+            }
+
+            this.dialogVisibleEqp = true
+
+            this.$nextTick(() => { // 鏍戝舰鍥炴樉
+              this.$refs.epqTree.setCheckedKeys(this.dialogFormEqp.eqpCodeSelectedArr)
             })
-          }
-          if (item.children && item.children.length > 0) {
-            item.children.forEach(it => {
-              if (it.flag === 'Y') {
-                this.dialogFormEqp.eqpCodeSelectedArr.push(it.code)
-              }
-            })
-          }
-        })
-        this.dialogFormEqp.eqpAll[0].name = '鍏ㄩ儴'
-        this.dialogFormEqp.eqpTree = [this.dialogFormEqp.eqpAll[0]]
-      }
-
-      this.dialogVisibleEqp = true
-
-      this.$nextTick(() => { // 鏍戝舰鍥炴樉
-        this.$refs.epqTree.setCheckedKeys(this.dialogFormEqp.eqpCodeSelectedArr)
+          }, 1000)
+        } else {
+          loading.close()
+        }
       })
     },
     // 鍏宠仈璁惧瀵硅瘽妗嗗叧闂�
@@ -971,6 +999,7 @@
     eqpDialogVisibleConfirm() {
       // console.log(this.dialogFormEqp.eqpCodeSelectedArr, 888)
       // this.dialogVisibleEqp = false
+      this.$store.state.app.buttonIsDisabled = true
       const data = []
       this.dialogFormEqp.eqpAll.forEach((item, index) => {
         if (item.children && item.children.length > 0) {
@@ -987,9 +1016,10 @@
 
       SaveDeviceRepairStanedAssociationEqp(data, this.dialogFormEqp.code).then(res => {
         if (res.code === '200') {
+          this.dialogVisibleEqp = false
           this.$message.success('鍏宠仈鎴愬姛锛�')
           this.getDeviceRepairStandArdSearch()
-          this.dialogVisibleEqp = false
+          this.$store.state.app.buttonIsDisabled = false
         }
       })
     }
@@ -1163,18 +1193,25 @@
   justify-content: center;
 }
 
-.tableFixed{
-  ::v-deep .el-table__fixed-right{
+.tableFixed {
+  ::v-deep .el-table__fixed-right {
     height: 100% !important;
   }
-  ::v-deep .el-table__fixed{
+
+  ::v-deep .el-table__fixed {
     height: 100% !important;
   }
 }
 
 </style>
 <style>
+.osloading{
+  font-size: 26px !important;
+}
 
+.el-loading-text{
+  font-size: 26px !important;
+}
 .el-table .custom-row {
   background: #f8f8fa;
 }

--
Gitblit v1.9.3