| | |
| | | .custom-tree-node:hover .el-button { |
| | | opacity: 1; |
| | | } |
| | | >>>.el-loading-mask { |
| | | z-index: 10; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="table" v-loading="tableLoading"> |
| | | <table border="1" class="tables" cellpadding="10" style="table-layout:fixed;"> |
| | | <table border="1" class="tables" cellpadding="10" style="table-layout:fixed;" v-if="tableList.length>0"> |
| | | <tbody> |
| | | <tr v-for="(item,index) in tableList" :key="index"> |
| | | <td v-for="(m,i) in item" :key="i" class="content"> |
| | |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | <span v-else style="color: rgb(144, 147, 153);display: inline-block;position: absolute;top: 60%;left: 50%;transform: translate(-50%,-50%);">暂无数据</span> |
| | | </div> |
| | | </div> |
| | | <Detail v-else @hanldeBack="isDetail=false" :id="currentId" /> |
| | | <el-dialog title="样品入库" :visible.sync="storageVisible" width="350px"> |
| | | <div class="shaoma"> |
| | | <!-- <div class="shaoma"> |
| | | <img src="../../../static/img/扫码.svg" alt="" style="margin-right: 5px;"> |
| | | <span>扫码入库</span> |
| | | </div> |
| | | </div> --> |
| | | <el-row> |
| | | <el-col class="search_thing" :span="24"> |
| | | <div class="search_label"><span class="required-span">* </span>样品编号:</div> |
| | |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="样品出库" :visible.sync="exportVisible" width="350px"> |
| | | <div class="shaoma"> |
| | | <!-- <div class="shaoma"> |
| | | <img src="../../../static/img/扫码.svg" alt="" style="margin-right: 5px;"> |
| | | <span>扫码出库</span> |
| | | </div> |
| | | </div> --> |
| | | <el-row> |
| | | <el-col class="search_thing" :span="24"> |
| | | <div class="search_label"><span class="required-span">* </span>样品编号:</div> |
| | |
| | | <el-button type="primary" @click="confirmExport" :loading="upLoadExport">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="库位维护" :visible.sync="keepVisible" width="350px"> |
| | | <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" |
| | | :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="keepVisible" |
| | |
| | | <el-col :span="20"> |
| | | <span><i |
| | | :class="`node_i ${node.level<2 ? 'el-icon-folder-opened': 'el-icon-tickets'}`"></i> |
| | | {{ data.name }}{{ node.level }}</span> |
| | | {{ data.name }}</span> |
| | | </el-col> |
| | | <el-col :span="4" v-if="node.level<3"> |
| | | <el-button type="text" size="mini" icon="el-icon-edit" @click.stop="handleEdit(data,node.level)"> |
| | |
| | | </el-tree> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="keepVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="confirmKeep" :loading="upLoadKeep">确 定</el-button> |
| | | <el-button type="primary" @click="keepVisible = false" >确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :title="isEdit?'仓库修改':'仓库新增'" :visible.sync="warehouseVisible" width="350px"> |
| | |
| | | shelvesVisible: false, |
| | | upLoadStorage: false, |
| | | upLoadExport: false, |
| | | upLoadKeep: false, |
| | | upLoadWarehouse: false, |
| | | upLoadShelves: false, |
| | | tableList: [ |
| | | [{ |
| | | title: '1-1-4', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-2-4', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-3-4', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-4-4', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-5-4', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-6-4', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-7-4', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | ], |
| | | [{ |
| | | title: '1-1-3', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-2-3', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-3-3', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-4-3', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-5-3', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-6-3', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-7-3', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | ], |
| | | [{ |
| | | title: '1-1-2', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-2-2', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-3-2', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-4-2', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-5-2', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-6-2', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-7-2', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | ], |
| | | [{ |
| | | title: '1-1-1', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-2-1', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-3-1', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-4-1', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-5-1', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-6-1', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '1-7-1', |
| | | list: [{ |
| | | name: '原材料', |
| | | specs: '规格1', |
| | | num: 20, |
| | | type: 0, |
| | | }, |
| | | { |
| | | name: '原材料', |
| | | specs: '规格2', |
| | | num: 20, |
| | | type: 1, |
| | | }, |
| | | ] |
| | | }, |
| | | ] |
| | | ], |
| | | tableList: [], |
| | | rowList: [], |
| | | value: '', |
| | | name:'', |
| | |
| | | isEdit: false, //弹框--是否是修改,默认为false |
| | | isDetail: false, //详情--是否展示为详情页面,默认为false |
| | | currentEdit:null,//当前要维护的信息 |
| | | tableLoading:true, |
| | | tableLoading:false, |
| | | sampleCode:'', |
| | | currentId:null, |
| | | searchSampleCode:'' |
| | |
| | | selectList() { |
| | | this.$axios.get(this.$api.warehouse.selectWarehouse).then(res => { |
| | | this.warehouse = res.data |
| | | if(res.data.length==0){ |
| | | this.entity.warehouseId = ''; |
| | | this.entity.shelfId = ''; |
| | | this.tableList = [] |
| | | } |
| | | this.storageList = this.HaveJson(res.data).map(item=>{ |
| | | item.warehouseShelfList&&item.warehouseShelfList.length>0&&item.warehouseShelfList.map(m=>{ |
| | | let warehouseShelfList = []; |
| | |
| | | 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 = [] |
| | | } |
| | | } |
| | | }) |
| | |
| | | this.handleShelf(this.entity.shelfId) |
| | | }) |
| | | }, |
| | | // 维护 |
| | | confirmKeep() { |
| | | this.upLoadKeep = true; |
| | | }, |
| | | // 添加/修改仓库 |
| | | confirmWarehouse() { |
| | | if (!this.name) { |
| | |
| | | }).then(res => { |
| | | this.upLoadWarehouse = false; |
| | | this.warehouseVisible = false |
| | | // this.keepVisible = false |
| | | this.currentEdit = null; |
| | | if (res.code == 201) { |
| | | this.$message.error('修改失败') |
| | |
| | | } |
| | | this.$message.success('修改成功') |
| | | this.selectList() |
| | | this.name = '' |
| | | this.warehouseChange(this.entity.warehouseId) |
| | | }) |
| | | }else{ |
| | | // 新增仓库 |
| | |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.selectList() |
| | | this.name = '' |
| | | this.warehouseChange(this.entity.warehouseId) |
| | | }) |
| | | } |
| | | this.name = '' |
| | | this.warehouseChange(this.entity.warehouseId) |
| | | }, |
| | | // 添加/修改货架 |
| | | confirmShelves() { |
| | |
| | | }).then(res => { |
| | | this.upLoadShelves = false; |
| | | this.shelvesVisible = false |
| | | // this.keepVisible = false |
| | | if (res.code == 201) { |
| | | this.$message.error('添加失败') |
| | | this.$message.error('修改失败') |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.$message.success('修改成功') |
| | | this.selectList() |
| | | this.currentEdit ={}; |
| | | }) |
| | |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | this.selectTree[node.level-1] = data.id; |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | |
| | | this.isDetail = true; |
| | | }, |
| | | warehouseChange(val) { |
| | | this.tableList = [] |
| | | let map = this.warehouse.find(a => { |
| | | return a.id === val ? a : null |
| | | }) |
| | |
| | | this.entity.shelfId = ''; |
| | | }, |
| | | handleShelf(e){ |
| | | this.tableLoading = true; |
| | | this.$axios.get(this.$api.warehouse.getWarehouse+'?shelfId='+e).then(res => { |
| | | let data = res.data; |
| | | let set =new Set() |
| | | this.tableList = []; |
| | | let arr = [] |
| | | data.forEach(m=>{ |
| | | set.add(m.col) |
| | | if(arr.length>0){ |
| | | if(arr.find(n=>n.row==m.row)){ |
| | | arr.push(m) |
| | | if(e){ |
| | | this.tableLoading = true; |
| | | this.$axios.get(this.$api.warehouse.getWarehouse+'?shelfId='+e).then(res => { |
| | | this.tableLoading = false; |
| | | let data = res.data; |
| | | let set =new Set() |
| | | this.tableList = []; |
| | | let arr = [] |
| | | data.forEach(m=>{ |
| | | set.add(m.col) |
| | | if(arr.length>0){ |
| | | if(arr.find(n=>n.row==m.row)){ |
| | | arr.push(m) |
| | | }else{ |
| | | this.tableList.push(arr) |
| | | arr = [] |
| | | arr.push(m) |
| | | } |
| | | }else{ |
| | | this.tableList.push(arr) |
| | | arr = [] |
| | | arr.push(m) |
| | | } |
| | | }else{ |
| | | arr.push(m) |
| | | }) |
| | | this.tableList.push(arr) |
| | | this.rowList = []; |
| | | for(let i=0;i<set.size;i++){ |
| | | this.rowList.push(`${i+1} 列`) |
| | | } |
| | | }).catch(e=>{ |
| | | this.tableLoading = false; |
| | | }) |
| | | this.tableList.push(arr) |
| | | this.rowList = []; |
| | | for(let i=0;i<set.size;i++){ |
| | | this.rowList.push(`${i+1} 列`) |
| | | } |
| | | this.tableLoading = false; |
| | | }) |
| | | } |
| | | }, |
| | | handleSearch(){ |
| | | if(!this.searchSampleCode){ |