载具管理

This commit is contained in:
2026-01-09 16:56:56 +08:00
parent ba0bc562af
commit 71910b0894
5 changed files with 149 additions and 29 deletions

View File

@@ -69,13 +69,13 @@
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i">
<tr v-for="(e, i) in dataList" :key="i" :class="{'checked': e.bag_code === pkId}" @tap="toCheck(e)">
<td>{{i+1}}</td>
<td>{{e.bag_code}}</td>
<td>{{e.material_code}}</td>
<td>{{e.material_name}}</td>
<td>{{e.pcsn}}</td>
<td>{{e.canuse_qty}}</td>
<td><input type="number" class="sin_input" v-model="e.canuse_qty" @blur="handleBlur(e)"></td>
<td>{{e.qty_unit_name}}</td>
<td>{{e.supp_name}}</td>
<td>{{e.class_name}}</td>
@@ -111,6 +111,8 @@
val1: '',
val2: '',
bagCode: '',
pkId: '',
pkObj: {},
dataList: [],
// dataList: [{material_code: 'm001', qty: 100, checked: false, initialQty: 100}, {material_code: 'm002', qty: 200, checked: false, initialQty: 200}],
disabled: false
@@ -120,16 +122,39 @@
this.title = options.title
},
methods: {
handleBlur (e) {
if (e.canuse_qty) {
if (e.canuse_qty < 0) {
e.canuse_qty = 0
} else {
e.canuse_qty = e.canuse_qty.replace(/[^0-9]/g, '')
e.canuse_qty = e.canuse_qty.replace(/^0+/, '') || '0'
if (e.canuse_qty > e.initialQty) {
e.canuse_qty = e.initialQty
}
this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0)
}
} else {
// uni.showToast({
// title: '数量必填',
// icon: 'none'
// })
}
},
toScanAdd () {
if (this.bagCode) {
this._insideCodeInsert(this.bagCode)
this._insideCodeInsert2(this.bagCode)
}
},
toDel () {
if (!this.pkId) {
return
}
this.dataList = this.dataList.filter(item => item.mid !== this.pkObj.mid)
this.dataList = this.dataList.filter(item => item.bag_code !== this.pkObj.bag_code)
},
toCheck (e) {
this.pkId = this.pkId === e.bag_code ? '' : e.bag_code
this.pkObj = this.pkId === e.bag_code ? e : {}
},
toEmpty () {
this.val1 = ''
@@ -142,7 +167,39 @@
try {
let res = await insideCodeInsert(e)
if (res) {
this.dataList = [...this.dataList, ...res.data]
this.dataList.push(res.data)
this.dataList.forEach(e => {
e.initialQty = e.canuse_qty
})
this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0)
} else {
this.dataList = []
}
} catch (e) {
this.dataList = []
}
},
async _insideCodeInsert2 (e) {
try {
let res = await insideCodeInsert(e)
if (res) {
if (this.dataList.length === 0) {
this.dataList.push(res.data)
} else {
const existingItem = this.dataList.find(item => item.bag_code === res.data.bag_code)
if (!existingItem) {
this.dataList.push(res.data)
} else {
uni.showToast({
title: '袋码已存在,不能重复插入',
icon: 'none'
})
}
}
this.dataList.forEach(e => {
e.initialQty = e.canuse_qty
})
this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0)
} else {
this.dataList = []
}