11
86134
2023-11-17 ecc438e1df596db8dfe720f00cc5877475fb3b90
src/views/basic/location/location-form.vue
@@ -135,11 +135,10 @@
      <el-row>
        <el-col :span="12">
          <el-form-item
            v-if="permissions.basic_has_ifs"
            label="IFS库位"
            prop="ifsLocationDesc"
          >
            <!--<el-select
            <!-- <el-select
              v-model="dataForm.ifsLocation"
              filterable
              placeholder="请选择IFS库位"
@@ -152,11 +151,11 @@
                :key="index"
              >
              </el-option>
            </el-select>-->
            </el-select> -->
            <el-cascader
              v-model="dataForm.ifsLocationDesc"
              :props="locationProps"
              style="width:100%"
              style="width:100%" filterable
            ></el-cascader>
          </el-form-item>
        </el-col>
@@ -219,6 +218,7 @@
      warehouseOptions: [],
      factoryOptions: [],
      ifsLocationOptions: [],
         locationTree: [],
      visible: false,
      dataForm: {
        id: 0,
@@ -262,34 +262,39 @@
      locationProps: {
        lazy: true,
        lazyLoad(node, resolve) {
          console.log('node', node)
          const { level } = node
          if (level === 0) {
            getIfsLocationGroup().then((response) => {
              if (response.data.code === 0) {
                const _data = response.data.data
                const nodes = _data.map((item) => {
                const nodes = JSON.parse(_data)["LIST_INFO"].map((item) => {
                  return {
                    value: item.LOCATION_GROUP,
                    label: item.LOCATION_GROUP,
                    value: item.LOCATION_GROUP_DESC +'-'+ item.LOCATION_GROUP,
                    label: item.LOCATION_GROUP_DESC +'-'+ item.LOCATION_GROUP,
                    leaf: false
                  }
                })
                        var set = new Set()
                        nodes.forEach(a=>{
                           set.add(JSON.stringify(a))
                        })
                        var list = []
                        set.forEach(a=>{
                           list.push(JSON.parse(a))
                        })
                // 通过调用resolve将子节点数据返回,通知组件数据加载完成
                resolve(nodes)
                resolve(list)
              }
            })
          } else {
            getIfsLocationByGroup({ locationGroup: node.value }).then(
            getIfsLocationByGroup({ locationNo: node.value.split('-')[1] }).then(
              (response) => {
                if (response.data.code === 0) {
                  const _data = response.data.data
                  const nodes = _data.map((item) => {
                  const nodes = JSON.parse(_data)["LIST_INFO"].map((item) => {
                    return {
                      value: item.LOCATION_NO,
                      label: item.LOCATION_NO,
                      label: item.LOCATION_DESC +' | '+ item.LOCATION_NO,
                      leaf: true
                    }
                  })
@@ -404,7 +409,32 @@
          this.isSubmit = false
        }
      })
    }
    },
      getLocationTree(){
         getIfsLocationGroup().then((res) => {
           if (res.data.code === 0) {
               var strs = JSON.parse(res.data.data)['LIST_INFO']
               var set3 = new Set()
               var set2 = new Set()
               var set = []
               strs.forEach(a=>{
                  set2.add(a['LOCATION_GROUP_DESC'] + '-' + a['LOCATION_GROUP'])
               })
               strs.forEach(a=>{
                  set2.forEach(b=>{
                     if((a['LOCATION_GROUP_DESC'] + '-' + a['LOCATION_GROUP'])==b){
                        set3.add(a['LOCATION_DESC'] + '-' + a['LOCATION_NO'])
                     }
                     set.push({
                        value: b,
                        label: b,
                        children: []
                     })
                  })
               })
           }
         })
      }
  }
}
</script>