zhangdan 4 лет назад
Родитель
Сommit
005d0c119e
1 измененных файлов с 91 добавлено и 3 удалено
  1. 91 3
      src/views/equipmentManage/network/editModal.vue

+ 91 - 3
src/views/equipmentManage/network/editModal.vue

@@ -144,8 +144,10 @@
           :showSearch="true"
           option-filter-prop="children"
           :filter-option="filterOption"
+          @select="select"
+          @deselect="deselect"
         >
-          <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo">{{ item.labelName }}</a-select-option>
+          <a-select-option v-for="item in lableData" :key="item.labelNo" :value="item.labelNo" :disabled="item.disabled">{{ item.labelName }}</a-select-option>
         </a-select>
       </a-form-item>
       <a-form-item :wrapper-col="{ span: 12, offset: 6 }" style="text-align: center;">
@@ -201,7 +203,8 @@ export default {
       addrProvinceList: [], //  省下拉
       addrCityList: [], //  市下拉
       addrDistrictList: [], //  区下拉
-      lableData: [] // 标签数据
+      lableData: [], // 标签数据
+      newArr: [] // 机构标签数据
     }
   },
   computed: {
@@ -227,6 +230,58 @@ export default {
           this.form.setFieldsValue({ 'formData.goldExRuleNo': res.data.goldExRuleNo })
           this.form.setFieldsValue({ 'formData.deliveryTimeRuleNo': res.data.deliveryTimeRuleNo })
           this.form.setFieldsValue({ 'formData.labelNoList': res.data.labelNoList })
+          let b = {}
+          setTimeout(() => {
+            const selectedLable = res.data.labelNoList
+            console.log(selectedLable, '-选中数据】')
+            for (var i = 0; i < selectedLable.length; i++) {
+              console.log(selectedLable.length, this.newArr, 'selectedLable.length')
+              b = this.newArr.find(k => k.labelNo == selectedLable[i])
+              console.log(selectedLable[i], 'i', b, '-xiangqngshuju')
+              if (b) {
+                this.lableData.forEach(item => {
+                  console.log(item, '----------item------------')
+                  if (item.labelType == 'org' && item.labelNo != b.labelNo) {
+                    item.disabled = true
+                  } else {
+                    item.disabled = false
+                  }
+                })
+                return
+              }
+            }
+            // for (var item of selectedLable) {
+            //   const itemLabel = item
+            //   console.log(item, '-----------------------')
+            //   b = this.newArr.find(k => k.labelNo == itemLabel)
+            //   console.log(item, 'item', b, '-xiangqngshuju')
+            //   if (b) {
+            //     this.lableData.forEach(item => {
+            //       if (item.labelType == 'org' && item.labelNo != b.labelNo) {
+            //         item.disabled = true
+            //       } else {
+            //         item.disabled = false
+            //       }
+            //     })
+            //   }
+            //   break
+            // }
+
+            // selectedLable.map(item => {
+            //   b = this.newArr.find(k => k.labelNo == item)
+            //   if (b) {
+            //     this.lableData.forEach(item => {
+            //       if (item.labelType == 'org' && item.labelNo != b.labelNo) {
+            //         item.disabled = true
+            //       } else {
+            //         item.disabled = false
+            //       }
+            //     })
+            //   }
+            // })
+            console.log(b, '-xiangqngshuju ')
+            console.log(selectedLable, '-选中数据】')
+          }, 1000)
         }
       })
     },
@@ -285,9 +340,40 @@ export default {
       lableSeleteList().then(res => {
         if (res.status == 200) {
           this.lableData = res.data || []
+          this.lableData.map(item => {
+            if (item.labelType == 'org') {
+              this.newArr.push(item)
+              console.log(this.newArr, '--------机构类型')
+            }
+          })
         }
       })
     },
+    // 选中标签
+    select (value, option) {
+      console.log(value, option, 'hfhhhhhhh')
+      const a = this.newArr.find(item => item.labelNo == value)
+      if (a) {
+        this.lableData.forEach(item => {
+          if (item.labelType == 'org' && item.labelNo != value) {
+            item.disabled = true
+          } else {
+            item.disabled = false
+          }
+        })
+      }
+    },
+    // 取消选中标签
+    deselect (value, option) {
+      const a = this.newArr.find(item => item.labelNo == value)
+      if (a) {
+        this.lableData.forEach(item => {
+          if (item.labelType == 'org') {
+            item.disabled = false
+          }
+        })
+      }
+    },
     // 获取省列表
     getProvinceList () {
       getProvince().then(res => {
@@ -341,6 +427,9 @@ export default {
       this.form.setFieldsValue({ 'formData.address': '' })
     }
   },
+  mounted () {
+    this.getlableSeleteList() // 网点标签
+  },
   watch: {
     //  父页面传过来的弹框状态
     openModal (newValue, oldValue) {
@@ -354,7 +443,6 @@ export default {
         this.getProvinceList()
         this.getdeliveryTimeRule() //  投递时间段
         this.getgoldExRule() //  兑换规则
-        this.getlableSeleteList() // 网点标签
         this.form.resetFields()
       }
     },