chenrui 2 lat temu
rodzic
commit
0815b6931a

+ 29 - 0
src/views/dealerManagement/businessOwnerSettings/chooseAreaModal.vue

@@ -9,6 +9,9 @@
     @close="visible = false">
     <div class="areaSetModal">
       <div :style="{ height: tableHeight+84.5+'px' }">
+        <div>
+          <a-checkbox :checked="checkAll" @change="onCheckAllChange">全选</a-checkbox>
+        </div>
         <div :style="{ height: tableHeight+30+'px' }" style="overflow-y:scroll;">
           <a-tree
             v-model="checkedKeys"
@@ -53,6 +56,7 @@ export default {
     visible (newValue, oldValue) {
       if (!newValue) {
         this.checkedKeys = { checked: [], halfChecked: [] }
+        this.checkAll = false
         this.$emit('close')
       }
     }
@@ -60,6 +64,7 @@ export default {
   data () {
     return {
       autoExpandParent: false,
+      checkAll: false, //  全选
       checkedKeys: {
         checked: [], halfChecked: []
       },
@@ -122,6 +127,30 @@ export default {
     save () {
       this.$emit('ok', this.checkedKeys)
     },
+    // 全选
+    onCheckAllChange (e) {
+      this.checkAll = e.target.checked
+      if (e.target.checked) {
+        this.checkedKeys.checked = []
+        this.checkedKeys.halfChecked = []
+        this.getAllFun(this.subregionData)
+      } else {
+        this.checkedKeys.checked = []
+        this.checkedKeys.halfChecked = []
+      }
+    },
+    getAllFun (data) {
+      if (data) {
+        data.map((item, index) => {
+          if (!item.disabled || !item.disableCheckbox) {
+            this.checkedKeys.checked.push(item.areaSn)
+          }
+          if (item.subareaAreaList && item.subareaAreaList.length > 0) {
+            this.getAllFun(item.subareaAreaList)
+          }
+        })
+      }
+    },
     onCheck (checkedKeys) {
       this.checkedKeys = checkedKeys
     },