From c4b9151c96c1275ada3c5f05814a82cd99a1356e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 25 三月 2026 10:37:50 +0800
Subject: [PATCH] fix: 样品管理接口调整
---
src/components/view/b1-sample.vue | 143 +++++++++++++++++++++++++++++++++--------------
1 files changed, 101 insertions(+), 42 deletions(-)
diff --git a/src/components/view/b1-sample.vue b/src/components/view/b1-sample.vue
index 0bc487e..fa7d07a 100644
--- a/src/components/view/b1-sample.vue
+++ b/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>
@@ -196,9 +196,13 @@
<div class="search_label">鏍峰搧缂栧彿锛�</div>
<div class="search_input">
<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-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>
@@ -262,6 +266,13 @@
</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-tree :data="storageList" ref="tree" :props="{ children: 'warehouseShelfList', label: 'name' }" node-key="id"
:filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
@@ -298,6 +309,13 @@
</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>
<span slot="footer" class="dialog-footer">
<el-button @click="exportVisible = false">鍙� 娑�</el-button>
@@ -305,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="鏆傛棤鏁版嵁">
@@ -392,6 +410,7 @@
},
sampleCodeBtnDisabled:true,
warehouse: [],
+ warehouseAll: [],
startTime: null,
shelf: [],
storageList:[],
@@ -416,6 +435,7 @@
currentEdit:null,//褰撳墠瑕佺淮鎶ょ殑淇℃伅
tableLoading:false,
sampleCode:'',
+ entrustCode:'',
currentId:null,
searchSampleCode:null,
codeInfo:null,
@@ -424,7 +444,9 @@
watch:{
storageVisible(newVal){
if(newVal){
+ this.selectList()
this.sampleCode = null
+ this.entrustCode = null
// this.$message.success('鎵爜锛氭墦寮�')
let input = document.getElementById('ScanCodeInfo0');
input.focus();
@@ -441,6 +463,7 @@
if(newVal){
// this.$message.success('鎵爜锛氭墦寮�')
this.sampleCode = null
+ this.entrustCode = null
let input = document.getElementById('ScanCodeInfo0');
input.focus();
this.startTime = setInterval(()=>{
@@ -456,7 +479,6 @@
if(!val){
this.startTime&&clearInterval(this.startTime)
}else if(this.exportVisible||this.storageVisible){
- this.sampleCode = null
let input = document.getElementById('ScanCodeInfo');
input.focus();
this.startTime = setInterval(()=>{
@@ -475,14 +497,15 @@
},
methods: {
keyup(e){
- var code = ''
+ var codeInfo = null
try{
console.log(2222,this.codeInfo)
- code = this.codeInfo.substring()
- if(code==null||code==undefined||code==''){
+ codeInfo = JSON.parse(this.codeInfo)
+ if(!codeInfo||codeInfo.sampleCode==undefined||codeInfo.entrustCode==undefined){
this.$message.error('璇ヤ簩缁寸爜鏈夎')
}else{
- this.sampleCode = code
+ this.sampleCode = codeInfo.sampleCode
+ this.entrustCode = codeInfo.entrustCode
}
}catch(e){
this.$message.error('璇疯皟鑷宠嫳鏂囬敭鐩�')
@@ -500,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() {
@@ -555,6 +602,10 @@
this.$message.error('璇峰~鍐欐牱鍝佺紪鍙�')
return
}
+ if (!this.entrustCode) {
+ this.$message.error('璇峰~鍐欒鍗曠紪鍙�')
+ return
+ }
if (this.selectTree.length < 4) {
this.$message.error('璇烽�夋嫨鏍峰搧鍏ュ簱浣嶇疆')
return
@@ -562,11 +613,13 @@
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('鍏ュ簱澶辫触')
@@ -582,13 +635,19 @@
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
@@ -777,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){
+ 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()
--
Gitblit v1.9.3