spring
7 天以前 c4b9151c96c1275ada3c5f05814a82cd99a1356e
src/components/view/b1-sample.vue
@@ -178,7 +178,7 @@
          <div class="search_label">仓库名称:</div>
          <div class="search_input">
            <el-select v-model="entity.warehouseId" placeholder="选择仓库" size="small" @change="warehouseChange">
              <el-option v-for="item in warehouse" :key="item.id" :label="item.name" :value="item.id">
              <el-option v-for="item in warehouseAll" :key="item.id" :label="item.name" :value="item.id">
              </el-option>
            </el-select>
          </div>
@@ -323,7 +323,7 @@
      </span>
    </el-dialog>
    <el-dialog title="库位维护" :visible.sync="keepVisible" width="350px" :append-to-body="true">
      <el-tree :data="warehouse" ref="tree" :props="{ children: 'warehouseShelfList', label: 'name' }" node-key="id"
      <el-tree :data="warehouseAll" ref="tree" :props="{ children: 'warehouseShelfList', label: 'name' }" node-key="id"
        :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
        @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="keepVisible"
        empty-text="暂无数据">
@@ -410,6 +410,7 @@
        },
        sampleCodeBtnDisabled:true,
        warehouse: [],
        warehouseAll: [],
        startTime: null,
        shelf: [],
        storageList:[],
@@ -443,6 +444,7 @@
    watch:{
      storageVisible(newVal){
        if(newVal){
            this.selectList()
            this.sampleCode = null
            this.entrustCode = null
            // this.$message.success('扫码:打开')
@@ -521,43 +523,67 @@
          this.storageList = this.HaveJson(res.data).map(item=>{
            item.warehouseShelfList&&item.warehouseShelfList.length>0&&item.warehouseShelfList.map(m=>{
              let warehouseShelfList = [];
              for (let i=1;i<m.row+1;i++){
                let warehouseShelfList0 = []
                for (let j=1;j<m.col+1;j++){
              let warehouseShelfList0 = []
              let warehouseCellList = m.warehouseCellList?m.warehouseCellList:[]
              warehouseCellList.forEach(a=>{
                if(warehouseShelfList.find(n=>n.id==a.row)){
                  warehouseShelfList0.push({
                    name:j+' 列',
                    id:j,
                    name:a.col+'列',
                    id:a.col
                  })
                }else if(warehouseShelfList.length==0){
                  warehouseShelfList.push({
                    name:a.row+'层',
                    id:a.row
                  })
                  warehouseShelfList0.push({
                    name:a.col+'列',
                    id:a.col
                  })
                }else if(!warehouseShelfList.find(n=>n.id==a.row)){
                  warehouseShelfList[warehouseShelfList.length-1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0))
                  warehouseShelfList0 = []
                  warehouseShelfList.push({
                    name:a.row+'层',
                    id:a.row
                  })
                  warehouseShelfList0.push({
                    name:a.col+'列',
                    id:a.col
                  })
                }
                warehouseShelfList.push({
                  name:i+' 层',
                  id:i,
                  warehouseShelfList:warehouseShelfList0
                })
              }
              })
              warehouseShelfList[warehouseShelfList.length-1].warehouseShelfList = JSON.parse(JSON.stringify(warehouseShelfList0))
              m.warehouseShelfList = warehouseShelfList;
              return m;
            })
            return item;
          })
          if(!this.entity.warehouseId&&this.warehouse.length>0){
            this.entity.warehouseId = this.warehouse[0].id
            this.warehouseChange(this.entity.warehouseId)
            if(this.shelf.length>0){
              this.entity.shelfId = this.shelf[0].id
              this.handleShelf(this.entity.shelfId)
            }else{
              this.tableList = []
          this.selectWarehouseAllList().then(() => {
            if(!this.entity.warehouseId&&this.warehouseAll.length>0){
              this.entity.warehouseId = this.warehouseAll[0].id
              this.warehouseChange(this.entity.warehouseId)
              if(this.shelf.length>0){
                this.entity.shelfId = this.shelf[0].id
                this.handleShelf(this.entity.shelfId)
              }else{
                this.tableList = []
              }
            }else if(this.warehouseAll.length>0){
              this.warehouseChange(this.entity.warehouseId)
              if(this.shelf.length>0){
                this.entity.shelfId = this.shelf[0].id
                this.handleShelf(this.entity.shelfId)
              }else{
                this.tableList = []
              }
            }
          }else if(this.warehouse.length>0){
            this.warehouseChange(this.entity.warehouseId)
            if(this.shelf.length>0){
              this.entity.shelfId = this.shelf[0].id
              this.handleShelf(this.entity.shelfId)
            }else{
              this.tableList = []
            }
          }
          })
        })
      },
      selectWarehouseAllList() {
        return this.$axios.get('/warehouse/selectWarehouseAll').then(res => {
          this.warehouseAll = res.data || []
        })
      },
      selectStandardTreeList() {
@@ -810,16 +836,16 @@
      },
      warehouseChange(val) {
        this.tableList = []
        let map = this.warehouse.find(a => {
        let map = this.warehouseAll.find(a => {
          return a.id === val ? a : null
        })
        this.shelf = map.warehouseShelfList;
        this.shelf = map && map.warehouseShelfList ? map.warehouseShelfList : [];
        this.entity.shelfId = '';
      },
      handleShelf(e,sampleCode=''){
        if(e){
          this.tableLoading = true;
          this.$axios.get(this.$api.warehouse.getWarehouse+'?shelfId='+e+'&sampleCode='+sampleCode).then(res => {
          this.$axios.get(this.$api.warehouse.getWarehouse+'?shelfId='+e+'&sampleCode='+(sampleCode?sampleCode:'')).then(res => {
            this.tableLoading = false;
            let data = res.data;
            let set =new Set()