| | |
| | | <div class="search_thing"> |
| | | <div class="search_label">样品编号:</div> |
| | | <div class="search_input"> |
| | | <el-input placeholder="请输入样品编号" v-model="searchSampleCode" size="small"> |
| | | <el-button slot="append" icon="el-icon-search" @click="handleSearch"></el-button> |
| | | <el-input placeholder="请输入样品编号" v-model="searchSampleCode" size="small" autocomplete="off" ref="organization" readonly="readonly" @focus="remove('organization')" @blur="setType('organization')"> |
| | | <!-- <el-button slot="append" icon="el-icon-search" @click="handleSearch"></el-button> --> |
| | | </el-input> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <el-button size="small" @click="handleShelf(entity.shelfId,''),searchSampleCode=''">重置</el-button> |
| | | <el-button size="small" type="primary" @click="handleShelf(entity.shelfId,searchSampleCode)">查询</el-button> |
| | | </div> |
| | | <!-- <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refresh()">重 置</el-button> |
| | |
| | | <el-col class="search_thing" :span="24"> |
| | | <div class="search_label"><span class="required-span">* </span>样品编号:</div> |
| | | <div class="search_input"> |
| | | <el-input v-model="sampleCode" size="small"></el-input> |
| | | <el-input v-model="sampleCode" size="small" @change="sampleCodeChange" :disabled="sampleCodeBtnDisabled"> |
| | | <el-tooltip :content="sampleCodeBtnDisabled?'手动输入':'扫码枪输入'" placement="top" slot="append"> |
| | | <el-button type="primary" icon="el-icon-edit" @click="sampleCodeBtnDisabled=!sampleCodeBtnDisabled"></el-button> |
| | | </el-tooltip> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="24"> |
| | | <div class="search_label" style="width: 90px"><span class="required-span">* </span>订单编号:</div> |
| | | <div class="search_input"> |
| | | <el-input v-model="entrustCode" size="small" clearable :disabled="sampleCodeBtnDisabled"> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-col class="search_thing" :span="24"> |
| | | <div class="search_label"><span class="required-span">* </span>样品编号:</div> |
| | | <div class="search_input"> |
| | | <el-input v-model="sampleCode" size="small"></el-input> |
| | | <el-input v-model="sampleCode" size="small" @change="sampleCodeChange" clearable :disabled="sampleCodeBtnDisabled"> |
| | | <el-tooltip :content="sampleCodeBtnDisabled?'手动输入':'扫码枪输入'" placement="top" slot="append"> |
| | | <el-button type="primary" icon="el-icon-edit" @click="sampleCodeBtnDisabled=!sampleCodeBtnDisabled"></el-button> |
| | | </el-tooltip> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="24"> |
| | | <div class="search_label" style="width: 90px"><span class="required-span">* </span>委托编号:</div> |
| | | <div class="search_input"> |
| | | <el-input v-model="entrustCode" size="small" clearable :disabled="sampleCodeBtnDisabled"> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-button type="primary" @click="confirmShelves" :loading="upLoadShelves">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <input type="password" id="ScanCodeInfo" v-model="codeInfo" @keyup.enter="keyup" style="opacity: 0;height: 0px;margin: 0px;padding: 0px;position: absolute;top: 0;"></input> |
| | | <input id="ScanCodeInfo0" v-model="codeInfo" @keyup.enter="keyup" style="opacity: 0;height: 0px;margin: 0px;padding: 0px;position: absolute;top: 0;"></input> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | warehouseId: null, |
| | | shelfId: null |
| | | }, |
| | | sampleCodeBtnDisabled:true, |
| | | warehouse: [], |
| | | startTime: null, |
| | | shelf: [], |
| | |
| | | currentEdit:null,//当前要维护的信息 |
| | | tableLoading:false, |
| | | sampleCode:'', |
| | | entrustCode:'', |
| | | currentId:null, |
| | | searchSampleCode:'', |
| | | searchSampleCode:null, |
| | | codeInfo:null, |
| | | } |
| | | }, |
| | | watch:{ |
| | | storageVisible(newVal){ |
| | | if(newVal){ |
| | | this.selectList() |
| | | this.sampleCode = null |
| | | this.entrustCode = null |
| | | // this.$message.success('扫码:打开') |
| | | let input = document.getElementById('ScanCodeInfo'); |
| | | let input = document.getElementById('ScanCodeInfo0'); |
| | | input.focus(); |
| | | this.startTime = setInterval(()=>{ |
| | | input.focus() |
| | |
| | | }else{ |
| | | // this.$message.warning('扫码:关闭') |
| | | clearInterval(this.startTime) |
| | | this.sampleCodeBtnDisabled=true |
| | | } |
| | | }, |
| | | exportVisible(newVal){ |
| | | if(newVal){ |
| | | // this.$message.success('扫码:打开') |
| | | let input = document.getElementById('ScanCodeInfo'); |
| | | this.sampleCode = null |
| | | this.entrustCode = null |
| | | let input = document.getElementById('ScanCodeInfo0'); |
| | | input.focus(); |
| | | this.startTime = setInterval(()=>{ |
| | | input.focus() |
| | |
| | | }else{ |
| | | // this.$message.warning('扫码:关闭') |
| | | clearInterval(this.startTime) |
| | | this.sampleCodeBtnDisabled=true |
| | | } |
| | | }, |
| | | sampleCodeBtnDisabled(val){ |
| | | if(!val){ |
| | | this.startTime&&clearInterval(this.startTime) |
| | | }else if(this.exportVisible||this.storageVisible){ |
| | | let input = document.getElementById('ScanCodeInfo'); |
| | | input.focus(); |
| | | this.startTime = setInterval(()=>{ |
| | | input.focus() |
| | | },1000) |
| | | } |
| | | }, |
| | | isEdit(newVal){ |
| | | if(!newVal){ |
| | | this.shelves = {} |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.selectList() |
| | | }, |
| | | methods: { |
| | | keyup(e){ |
| | | var code = '' |
| | | var str = {} |
| | | var that = this; |
| | | console.log(3333,this.codeInfo) |
| | | var codeInfo = null |
| | | try{ |
| | | code = JSON.parse(this.codeInfo) |
| | | if(code.moNo2==null||code.moNo2==undefined||code.moNo2==''){ |
| | | console.log(2222,this.codeInfo) |
| | | codeInfo = JSON.parse(this.codeInfo) |
| | | if(!codeInfo||codeInfo.sampleCode==undefined||codeInfo.entrustCode==undefined){ |
| | | this.$message.error('该二维码有误') |
| | | }else{ |
| | | str = { |
| | | moNo2: code.moNo2, |
| | | } |
| | | // if(this.storageVisible){ |
| | | // }else if(this.exportVisible){} |
| | | this.sampleCode = code.moNo2 |
| | | this.sampleCode = codeInfo.sampleCode |
| | | this.entrustCode = codeInfo.entrustCode |
| | | } |
| | | }catch(e){ |
| | | this.$message.error('该二维码有误') |
| | | this.$message.error('请调至英文键盘') |
| | | } |
| | | this.codeInfo = null |
| | | }, |
| | |
| | | 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; |
| | | }) |
| | |
| | | this.$message.error('请填写样品编号') |
| | | return |
| | | } |
| | | if (!this.entrustCode) { |
| | | this.$message.error('请填写订单编号') |
| | | return |
| | | } |
| | | if (this.selectTree.length < 4) { |
| | | this.$message.error('请选择样品入库位置') |
| | | return |
| | |
| | | this.upLoadStorage = true; |
| | | this.$axios.post(this.$api.warehouse.inWarehouse, { |
| | | trees: this.selectTree.join('-'), |
| | | sampleCode:this.sampleCode |
| | | sampleCode:this.sampleCode, |
| | | entrustCode:this.entrustCode |
| | | }).then(res => { |
| | | this.upLoadStorage = false; |
| | | this.storageVisible = false |
| | | this.sampleCode = ''; |
| | | this.entrustCode = ''; |
| | | this.selectTree = [] |
| | | if (res.code == 201) { |
| | | this.$message.error('入库失败') |
| | |
| | | this.$message.error('请填写样品编号') |
| | | return |
| | | } |
| | | if (!this.entrustCode) { |
| | | this.$message.error('请填写订单编号') |
| | | return |
| | | } |
| | | this.upLoadExport = true; |
| | | this.$axios.post(this.$api.warehouse.outWarehouse, { |
| | | sampleCode:this.sampleCode |
| | | sampleCode:this.sampleCode, |
| | | entrustCode:this.entrustCode, |
| | | }).then(res => { |
| | | this.upLoadExport = false; |
| | | this.exportVisible = false |
| | | this.sampleCode = ''; |
| | | this.entrustCode = ''; |
| | | if (res.code == 201) { |
| | | this.$message.error('出库失败') |
| | | return |
| | |
| | | this.shelf = map.warehouseShelfList; |
| | | this.entity.shelfId = ''; |
| | | }, |
| | | handleShelf(e){ |
| | | handleShelf(e,sampleCode=''){ |
| | | if(e){ |
| | | this.tableLoading = true; |
| | | this.$axios.get(this.$api.warehouse.getWarehouse+'?shelfId='+e).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() |
| | |
| | | this.isDetail = true; |
| | | } |
| | | }) |
| | | }, |
| | | sampleCodeChange(e){ |
| | | if(e){ |
| | | this.sampleCode = e.replaceAll('"','') |
| | | } |
| | | }, |
| | | remove(type){ |
| | | this.$refs[type].$el.querySelector('input').removeAttribute('readonly') |
| | | }, |
| | | setType(type){ |
| | | this.$refs[type].$el.querySelector('input').setAttribute('readonly', 'true') |
| | | } |
| | | } |
| | | } |