Răsfoiți Sursa

Merge branch 'dev_ml' of http://121.40.253.172:3000/pengyue/jsh_erp

廖泽勇 17 ore în urmă
părinte
comite
b8a17a39a7
1 a modificat fișierele cu 22 adăugiri și 14 ștergeri
  1. 22 14
      jshERP-web/src/views/system/modules/RolePushBtnModal.vue

+ 22 - 14
jshERP-web/src/views/system/modules/RolePushBtnModal.vue

@@ -55,54 +55,54 @@
             :dataSource="dataSource"
             :loading="loading"
           >
-            <span slot="action" slot-scope="text, record">
+            <span slot="action" slot-scope="text, record, index">
               <a-checkbox
                 v-if="record.pushBtn.indexOf(1) > -1"
                 value="1"
                 :checked="record.btnStr ? record.btnStr.indexOf(1) > -1 : false"
-                @change="onChange(record, '1')"
+                @change="onChange(record, '1', index)"
                 >编辑</a-checkbox
               >
               <a-checkbox
                 v-if="record.pushBtn.indexOf(2) > -1"
                 value="2"
                 :checked="record.btnStr ? record.btnStr.indexOf(2) > -1 : false"
-                @change="onChange(record, '2')"
+                @change="onChange(record, '2', index)"
                 >审核</a-checkbox
               >
               <a-checkbox
                 v-if="record.pushBtn.indexOf(7) > -1"
                 value="7"
                 :checked="record.btnStr ? record.btnStr.indexOf(7) > -1 : false"
-                @change="onChange(record, '7')"
+                @change="onChange(record, '7', index)"
                 >反审核</a-checkbox
               >
               <a-checkbox
                 v-if="record.pushBtn.indexOf(3) > -1"
                 value="3"
                 :checked="record.btnStr ? record.btnStr.indexOf(3) > -1 : false"
-                @change="onChange(record, '3')"
+                @change="onChange(record, '3', index)"
                 >导出</a-checkbox
               >
               <a-checkbox
                 v-if="record.pushBtn.indexOf(4) > -1"
                 value="4"
                 :checked="record.btnStr ? record.btnStr.indexOf(4) > -1 : false"
-                @change="onChange(record, '4')"
+                @change="onChange(record, '4', index)"
                 >启用禁用</a-checkbox
               >
               <a-checkbox
                 v-if="record.pushBtn.indexOf(5) > -1"
                 value="5"
                 :checked="record.btnStr ? record.btnStr.indexOf(5) > -1 : false"
-                @change="onChange(record, '5')"
+                @change="onChange(record, '5', index)"
                 >打印</a-checkbox
               >
               <a-checkbox
                 v-if="record.pushBtn.indexOf(6) > -1"
                 value="6"
                 :checked="record.btnStr ? record.btnStr.indexOf(6) > -1 : false"
-                @change="onChange(record, '6')"
+                @change="onChange(record, '6', index)"
                 >作废</a-checkbox
               >
             </span>
@@ -233,7 +233,7 @@ export default {
     },
     toggleChecked() {
       this.checked = !this.checked
-      let funArray = this.dataSource
+      let funArray = this.dataSource.slice()
       if (this.checked) {
         for (let item of funArray) {
           item.btnStr = item.pushBtn
@@ -243,10 +243,11 @@ export default {
           item.btnStr = ''
         }
       }
+      this.dataSource = funArray
     },
     editToggleChecked() {
       this.editChecked = !this.editChecked
-      let funArray = this.dataSource
+      let funArray = this.dataSource.slice()
       if (this.editChecked) {
         for (let item of funArray) {
           item.btnStr = this.parseArrByParam(1, item.btnStr, 1)
@@ -256,10 +257,11 @@ export default {
           item.btnStr = this.parseArrByParam(1, item.btnStr, 0)
         }
       }
+      this.dataSource = funArray
     },
     auditToggleChecked() {
       this.auditChecked = !this.auditChecked
-      let funArray = this.dataSource
+      let funArray = this.dataSource.slice()
       if (this.auditChecked) {
         for (let item of funArray) {
           item.btnStr = this.parseArrByParam(2, item.btnStr, 1)
@@ -269,10 +271,11 @@ export default {
           item.btnStr = this.parseArrByParam(2, item.btnStr, 0)
         }
       }
+      this.dataSource = funArray
     },
     unAuditToggleChecked() {
       this.unAuditChecked = !this.unAuditChecked
-      let funArray = this.dataSource
+      let funArray = this.dataSource.slice()
       if (this.unAuditChecked) {
         for (let item of funArray) {
           item.btnStr = this.parseArrByParam(7, item.btnStr, 1)
@@ -282,10 +285,11 @@ export default {
           item.btnStr = this.parseArrByParam(7, item.btnStr, 0)
         }
       }
+      this.dataSource = funArray
     },
     exportToggleChecked() {
       this.exportChecked = !this.exportChecked
-      let funArray = this.dataSource
+      let funArray = this.dataSource.slice()
       if (this.exportChecked) {
         for (let item of funArray) {
           item.btnStr = this.parseArrByParam(3, item.btnStr, 1)
@@ -295,6 +299,7 @@ export default {
           item.btnStr = this.parseArrByParam(3, item.btnStr, 0)
         }
       }
+      this.dataSource = funArray
     },
     /**
      * 格式转换,控制按钮的显示或隐藏
@@ -324,7 +329,7 @@ export default {
       }
       return btnStr
     },
-    onChange(record, value) {
+    onChange(record, value, index) {
       let funArray = this.dataSource
       for (let item of funArray) {
         if (item.id === record.id) {
@@ -335,16 +340,19 @@ export default {
               //去掉勾选
               removeByVal(btnArr, value)
               item.btnStr = btnArr.join()
+              this.$set(this.dataSource, index, item)
             } else {
               //勾选
               btnArr.push(value)
               item.btnStr = btnArr.join()
+              this.$set(this.dataSource, index, item)
             }
           } else {
             let btnArr = []
             //勾选
             btnArr.push(value)
             item.btnStr = btnArr.join()
+            this.$set(this.dataSource, index, item)
           }
         }
       }