From e65eba077662e270ba462304b15507d00ec2875a Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 19 三月 2026 09:52:05 +0800
Subject: [PATCH] fix: 库存bug修改
---
src/pages/inventoryManagement/stockManagement/add.vue | 67 +++++++++++++++------
src/pages/qualityManagement/nonconformingManagement/index.vue | 27 +++++----
src/pages/consumablesLogistics/stockManagement/subtract.vue | 18 +-----
src/pages/inventoryManagement/stockManagement/subtract.vue | 17 +----
4 files changed, 68 insertions(+), 61 deletions(-)
diff --git a/src/pages/consumablesLogistics/stockManagement/subtract.vue b/src/pages/consumablesLogistics/stockManagement/subtract.vue
index f8bd2f3..bc649a7 100644
--- a/src/pages/consumablesLogistics/stockManagement/subtract.vue
+++ b/src/pages/consumablesLogistics/stockManagement/subtract.vue
@@ -31,15 +31,15 @@
</view>
<view class="form-row">
<text class="form-label">姣涢噸(鍚�)</text>
- <up-input v-model="form.grossWeight" type="number" placeholder="璇疯緭鍏ユ瘺閲�" />
+ <up-input v-model="form.grossWeight" type="digit" placeholder="璇疯緭鍏ユ瘺閲�" />
</view>
<view class="form-row">
<text class="form-label">鐨噸(鍚�)</text>
- <up-input v-model="form.tareWeight" type="number" placeholder="璇疯緭鍏ョ毊閲�" />
+ <up-input v-model="form.tareWeight" type="digit" placeholder="璇疯緭鍏ョ毊閲�" />
</view>
<view class="form-row">
<text class="form-label">鍑�閲�(鍚�)</text>
- <up-input v-model="form.netWeight" type="number" disabled placeholder="鑷姩璁$畻" />
+ <up-input v-model="form.netWeight" type="digit" disabled placeholder="鑷姩璁$畻" />
</view>
<view class="form-row">
<text class="form-label">杩囩鏃ユ湡</text>
@@ -160,18 +160,6 @@
if (!outNum || outNum <= 0 || outNum > Number(stockRecord.unLockedQuantity)) {
uni.showToast({ title: `璇疯緭鍏� 1~${stockRecord.unLockedQuantity} 涔嬮棿鐨勬暟閲廯, icon: "none" });
return;
- }
- const net = Number(form.netWeight);
- if (!isNaN(net) && net > 0) {
- const max = Number(stockRecord.unLockedQuantity) || 0;
- if (max > 0 && net > max) {
- uni.showToast({ title: `鍑�閲嶄笉鑳藉ぇ浜庡彲鐢ㄥ簱瀛� ${max}`, icon: "none" });
- return;
- }
- if (net > outNum) {
- uni.showToast({ title: `鍑�閲嶄笉鑳藉ぇ浜庡嚭搴撴暟閲� ${outNum}`, icon: "none" });
- return;
- }
}
subtractConsumablesIn({
id: stockRecord.id,
diff --git a/src/pages/inventoryManagement/stockManagement/add.vue b/src/pages/inventoryManagement/stockManagement/add.vue
index c27d958..ba8618e 100644
--- a/src/pages/inventoryManagement/stockManagement/add.vue
+++ b/src/pages/inventoryManagement/stockManagement/add.vue
@@ -23,8 +23,16 @@
</view>
</view>
- <!-- 杩囩鐩稿叧瀛楁 -->
- <view class="form-section">
+ <!-- 鎴愬搧锛氬彧闇�瑕佹暟閲� -->
+ <view v-if="isFinishedProduct" class="form-section">
+ <view class="form-row">
+ <text class="form-label required">鏁伴噺</text>
+ <up-input v-model="form.qualitity" type="number" placeholder="璇疯緭鍏ユ暟閲�" />
+ </view>
+ </view>
+
+ <!-- 鍘熸潗鏂欙細杩囩鐩稿叧瀛楁 -->
+ <view v-else class="form-section">
<view class="section-title">杩囩淇℃伅</view>
<view class="form-row">
<text class="form-label">杞︾墝鍙�</text>
@@ -34,7 +42,7 @@
<text class="form-label">姣涢噸(鍚�)</text>
<up-input
v-model="form.grossWeight"
- type="number"
+ type="digit"
placeholder="璇疯緭鍏ユ瘺閲�"
/>
</view>
@@ -42,7 +50,7 @@
<text class="form-label">鐨噸(鍚�)</text>
<up-input
v-model="form.tareWeight"
- type="number"
+ type="digit"
placeholder="璇疯緭鍏ョ毊閲�"
/>
</view>
@@ -50,7 +58,7 @@
<text class="form-label">鍑�閲�(鍚�)</text>
<up-input
v-model="form.netWeight"
- type="number"
+ type="digit"
disabled
placeholder="鑷姩璁$畻"
/>
@@ -71,10 +79,6 @@
</view>
<view class="form-section">
- <!-- <view class="form-row">
- <text class="form-label required">鏁伴噺</text>
- <up-input v-model="form.qualitity" type="number" placeholder="璇疯緭鍏ユ暟閲�" />
- </view> -->
<view class="form-row">
<text class="form-label">澶囨敞</text>
<up-input v-model="form.remark" type="textarea" placeholder="閫夊~" />
@@ -154,6 +158,7 @@
productModelName: '',
unit: '',
productType: undefined,
+ parentName: '',
licensePlateNo: '',
grossWeight: '',
tareWeight: '',
@@ -166,6 +171,7 @@
const type = ref('0') // 鍥哄畾鍚堟牸搴撳瓨
const isQualified = computed(() => true)
+const isFinishedProduct = computed(() => form.parentName === '鎴愬搧')
const showProductPopup = ref(false)
const productQuery = reactive({
@@ -223,6 +229,19 @@
form.productModelName = item.model
form.unit = item.unit
form.productType = item.productType
+ form.parentName = parentName
+
+ // 鍒囨崲浜у搧鍚庯紝鎸夌被鍨嬫竻鐞嗘棤鍏冲瓧娈�
+ if (parentName === '鎴愬搧') {
+ form.licensePlateNo = ''
+ form.grossWeight = ''
+ form.tareWeight = ''
+ form.netWeight = ''
+ form.weighingDate = ''
+ form.weighingOperator = ''
+ } else {
+ form.qualitity = ''
+ }
showProductPopup.value = false
}
@@ -264,25 +283,33 @@
uni.showToast({ title: '璇烽�夋嫨浜у搧', icon: 'none' })
return
}
- // if (!form.qualitity || Number(form.qualitity) <= 0) {
- // uni.showToast({ title: '璇疯緭鍏ユ暟閲�', icon: 'none' })
- // return
- // }
- const payload = {
+ if (isFinishedProduct.value) {
+ if (!form.qualitity || Number(form.qualitity) <= 0) {
+ uni.showToast({ title: '璇疯緭鍏ユ暟閲�', icon: 'none' })
+ return
+ }
+ }
+
+ const base = {
productId: form.productId,
productModelId: form.productModelId,
productName: form.productName,
productModelName: form.productModelName,
unit: form.unit,
productType: form.productType,
- licensePlateNo: form.licensePlateNo,
- grossWeight: form.grossWeight,
- tareWeight: form.tareWeight,
- netWeight: form.netWeight,
- weighingDate: form.weighingDate,
- weighingOperator: form.weighingOperator,
remark: form.remark
}
+ const payload = isFinishedProduct.value
+ ? { ...base, qualitity: Number(form.qualitity) }
+ : {
+ ...base,
+ licensePlateNo: form.licensePlateNo,
+ grossWeight: form.grossWeight,
+ tareWeight: form.tareWeight,
+ netWeight: form.netWeight,
+ weighingDate: form.weighingDate,
+ weighingOperator: form.weighingOperator
+ }
createStockInventory(payload)
.then(() => {
uni.showToast({ title: '鏂板鎴愬姛', icon: 'success' })
diff --git a/src/pages/inventoryManagement/stockManagement/subtract.vue b/src/pages/inventoryManagement/stockManagement/subtract.vue
index 2452e04..d052011 100644
--- a/src/pages/inventoryManagement/stockManagement/subtract.vue
+++ b/src/pages/inventoryManagement/stockManagement/subtract.vue
@@ -28,7 +28,7 @@
<text class="form-label">姣涢噸(鍚�)</text>
<up-input
v-model="form.grossWeight"
- type="number"
+ type="digit"
placeholder="璇疯緭鍏ユ瘺閲�"
/>
</view>
@@ -36,7 +36,7 @@
<text class="form-label">鐨噸(鍚�)</text>
<up-input
v-model="form.tareWeight"
- type="number"
+ type="digit"
placeholder="璇疯緭鍏ョ毊閲�"
/>
</view>
@@ -44,7 +44,7 @@
<text class="form-label">鍑�閲�(鍚�)</text>
<up-input
v-model="form.netWeight"
- type="number"
+ type="digit"
disabled
placeholder="鑷姩璁$畻"
/>
@@ -127,12 +127,6 @@
const showWeighingDatePicker = ref(false)
const weighingDateValue = ref(Date.now())
-const maxAllowedNetWeight = computed(() => {
- const v = form.unLockedQuantity ?? form.qualitity
- const n = Number(v)
- return !isNaN(n) ? n : 0
-})
-
onLoad((options) => {
type.value = '0'
const cached = uni.getStorageSync('stockSubtractRecord')
@@ -184,11 +178,6 @@
const handleSubmit = () => {
if (!form.id) {
uni.showToast({ title: '璁板綍淇℃伅缂哄け锛屾棤娉曞嚭搴�', icon: 'none' })
- return
- }
- const net = Number(form.netWeight)
- if (!isNaN(net) && net > 0 && maxAllowedNetWeight.value > 0 && net > maxAllowedNetWeight.value) {
- uni.showToast({ title: `鍑�閲嶄笉鑳藉ぇ浜庡彲鐢ㄥ簱瀛� ${maxAllowedNetWeight.value}`, icon: 'none' })
return
}
const payload = { ...form }
diff --git a/src/pages/qualityManagement/nonconformingManagement/index.vue b/src/pages/qualityManagement/nonconformingManagement/index.vue
index f3cc42e..a7e49be 100644
--- a/src/pages/qualityManagement/nonconformingManagement/index.vue
+++ b/src/pages/qualityManagement/nonconformingManagement/index.vue
@@ -55,7 +55,7 @@
<view class="card-actions">
<view class="btn-link btn-link-primary" v-if="item.inspectState == 0" @click.stop="openDealDialog(item)">澶勭悊</view>
<view class="btn-link btn-link-plain" v-if="item.inspectState == 0" @click.stop="openForm('edit', item)">缂栬緫</view>
- <view class="btn-link btn-link-warn" @click.stop="handleDelete(item)">鍒犻櫎</view>
+ <view class="btn-link btn-link-warn" v-if="item.inspectState == 0" @click.stop="handleDelete(item)">鍒犻櫎</view>
</view>
</view>
<view class="load-more-wrap">
@@ -243,9 +243,14 @@
return types[String(type ?? '')] || '-';
};
-const getList = () => {
+const getList = (force = false) => {
const isFirstPage = page.current === 1
- if (loadStatus.value === 'loading' || (!isFirstPage && page.total > 0 && tableData.value.length >= page.total)) return
+ if (
+ !force &&
+ (loadStatus.value === 'loading' ||
+ (!isFirstPage && page.total > 0 && tableData.value.length >= page.total))
+ )
+ return
loadStatus.value = 'loading'
const params = {
@@ -288,7 +293,7 @@
page.total = 0;
tableData.value = [];
loadStatus.value = 'loadmore';
- getList();
+ getList(true);
};
const selectType = (e) => {
@@ -353,14 +358,12 @@
};
const handleDelete = (row) => {
- showConfirm('纭鍒犻櫎璇ヤ笉鍚堟牸璁板綍鍚楋紵').then(res => {
- if (res.confirm) {
- qualityUnqualifiedDel([row.id]).then(() => {
- toast('鍒犻櫎鎴愬姛');
- handleQuery();
- });
- }
- });
+ showConfirm('纭鍒犻櫎璇ヤ笉鍚堟牸璁板綍鍚楋紵').then(async res => {
+ if (!res.confirm) return
+ await qualityUnqualifiedDel([row.id])
+ toast('鍒犻櫎鎴愬姛')
+ handleQuery()
+ })
};
const confirmDate = (e) => {
--
Gitblit v1.9.3