From b25e11bb1e76255b4c05e10022e1ca9be5c7cc99 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 19 三月 2026 16:53:56 +0800
Subject: [PATCH] 库存报表加日期选择

---
 src/pages/inventoryManagement/stockManagement/add.vue |   91 +++++++++++++++++++++++++++++++--------------
 1 files changed, 62 insertions(+), 29 deletions(-)

diff --git a/src/pages/inventoryManagement/stockManagement/add.vue b/src/pages/inventoryManagement/stockManagement/add.vue
index 6c69d85..ba8618e 100644
--- a/src/pages/inventoryManagement/stockManagement/add.vue
+++ b/src/pages/inventoryManagement/stockManagement/add.vue
@@ -23,8 +23,16 @@
         </view>
       </view>
 
-      <!-- 鍚堟牸搴撳瓨鏃舵樉绀鸿繃纾呯浉鍏冲瓧娈� -->
-      <view v-if="isQualified" 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="閫夊~" />
@@ -145,7 +149,6 @@
 import dayjs from 'dayjs'
 import PageHeader from '@/components/PageHeader.vue'
 import { createStockInventory } from '@/api/inventoryManagement/stockInventory.js'
-import { createStockUnInventory } from '@/api/inventoryManagement/stockUninventory.js'
 import { productModelList } from '@/api/basicData/productModel.js'
 
 const form = reactive({
@@ -155,6 +158,7 @@
   productModelName: '',
   unit: '',
   productType: undefined,
+  parentName: '',
   licensePlateNo: '',
   grossWeight: '',
   tareWeight: '',
@@ -165,8 +169,9 @@
   remark: ''
 })
 
-const type = ref('0') // 0 鍚堟牸搴撳瓨锛�1 涓嶅悎鏍煎簱瀛�
-const isQualified = computed(() => type.value === '0')
+const type = ref('0') // 鍥哄畾鍚堟牸搴撳瓨
+const isQualified = computed(() => true)
+const isFinishedProduct = computed(() => form.parentName === '鎴愬搧')
 
 const showProductPopup = ref(false)
 const productQuery = reactive({
@@ -180,9 +185,7 @@
 const weighingDateValue = ref(Date.now())
 
 onLoad((options) => {
-  if (options && options.type != null) {
-    type.value = options.type
-  }
+  type.value = '0'
 })
 
 const openProductSelector = () => {
@@ -202,7 +205,12 @@
   })
     .then(res => {
       const data = res?.records || res?.data?.records || []
-      productList.value = Array.isArray(data) ? data : []
+      const list = Array.isArray(data) ? data : []
+      // 杩囨护鑰楁潗锛氳�楁潗涓嶅厑璁稿湪鈥滀骇鍝佸簱瀛樷�濆叆搴�
+      productList.value = list.filter(item => {
+        const parentName = item?.parentName || item?.parent?.name || ''
+        return parentName !== '鑰楁潗'
+      })
     })
     .finally(() => {
       productLoading.value = false
@@ -210,12 +218,30 @@
 }
 
 const selectProduct = (item) => {
+  const parentName = item?.parentName || item?.parent?.name || ''
+  if (parentName === '鑰楁潗') {
+    uni.showToast({ title: '鑰楁潗璇峰埌鑰楁潗搴撳瓨鍏ュ簱', icon: 'none' })
+    return
+  }
   form.productId = item.productId || item.id
   form.productModelId = item.id
   form.productName = item.productName
   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
 }
 
@@ -257,27 +283,34 @@
     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 api = isQualified.value ? createStockInventory : createStockUnInventory
-  api(payload)
+  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' })
       setTimeout(() => {

--
Gitblit v1.9.3