From df084ef7fc2f3b1a00790ed55616188b280f9594 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 26 三月 2026 18:06:19 +0800
Subject: [PATCH] fix:1.仓储库存单位转换记录和库存关联更新 2.原材料和非原材料的数量区分 3.入库和出库记录删除单位转换库存更新 4.过磅单单位转换更新

---
 src/views/inventoryManagement/dispatchLog/Record.vue |  298 ++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 163 insertions(+), 135 deletions(-)

diff --git a/src/views/inventoryManagement/dispatchLog/Record.vue b/src/views/inventoryManagement/dispatchLog/Record.vue
index deb89a2..be732c6 100644
--- a/src/views/inventoryManagement/dispatchLog/Record.vue
+++ b/src/views/inventoryManagement/dispatchLog/Record.vue
@@ -42,85 +42,106 @@
 				:row-key="(row) => row.id"
 				style="width: 100%"
 				height="calc(100vh - 18.5em)"
+				:fit="true"
 			>
-				<el-table-column align="center" type="selection" width="55" />
-				<el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column
-            label="鍑哄簱鎵规"
-            prop="outboundBatches"
-            min-width="100"
-            show-overflow-tooltip
-        />
+				<el-table-column align="center" type="selection" min-width="55" fixed="left" />
+				<el-table-column align="center" label="搴忓彿" type="index" min-width="60" fixed="left" />
 				<el-table-column
-					label="鍑哄簱鏃ユ湡"
-					prop="createTime"
+					label="浜у搧绫诲瀷"
+					prop="parentName"
+					min-width="100"
 					show-overflow-tooltip
 				/>
 				<el-table-column
-					label="浜у搧澶х被"
+					label="杞︾墝鍙�"
+					prop="licensePlateNo"
+					min-width="120"
+					show-overflow-tooltip
+				/>
+				<el-table-column
+					label="浜у搧鍚嶇О"
 					prop="productName"
+					min-width="120"
 					show-overflow-tooltip
 				/>
 				<el-table-column
 					label="瑙勬牸鍨嬪彿"
 					prop="model"
+					min-width="150"
 					show-overflow-tooltip
 				/>
 				<el-table-column
-					label="鍗曚綅"
-					prop="unit"
-					show-overflow-tooltip
-				/>
-				<!-- <el-table-column
 					label="鍑哄簱鏁伴噺"
 					prop="stockOutNum"
-					show-overflow-tooltip
-				/> -->
-				<el-table-column
-					label="杞︾墝鍙�"
-					prop="licensePlateNo"
+					min-width="100"
 					show-overflow-tooltip
 				/>
 				<el-table-column
 					label="姣涢噸"
 					prop="grossWeight"
+					min-width="100"
 					show-overflow-tooltip
 				/>
 				<el-table-column
 					label="鐨噸"
 					prop="tareWeight"
+					min-width="100"
 					show-overflow-tooltip
 				/>
 				<el-table-column
 					label="鍑�閲�"
 					prop="netWeight"
+					min-width="100"
 					show-overflow-tooltip
 				/>
 				<el-table-column
-					label="鍑哄簱浜�"
-					prop="createBy"
+					label="鍗曚綅"
+					prop="unit"
+					min-width="80"
 					show-overflow-tooltip
 				/>
-        <el-table-column label="鏉ユ簮"
-                         prop="recordType"
-                         show-overflow-tooltip>
-          <template #default="scope">
-            {{ getRecordType(scope.row.recordType) }}
-          </template>
-        </el-table-column>
         <el-table-column
             label="杩囩鏃ユ湡"
             prop="weighingDate"
+            min-width="120"
             show-overflow-tooltip
         />
         <el-table-column
             label="杩囩鍛�"
             prop="weighingOperator"
+            min-width="100"
             show-overflow-tooltip
         />
-		<el-table-column label="鎿嶄綔"
-                         width="260"
-                         align="center">
+				<el-table-column
+					label="鍑哄簱浜�"
+					prop="createBy"
+					min-width="100"
+					show-overflow-tooltip
+				/>
+        <el-table-column
+            label="鍑哄簱鎵规"
+            prop="outboundBatches"
+            min-width="150"
+            show-overflow-tooltip
+        />
+        <el-table-column
+            label="鍑哄簱鏃堕棿"
+            prop="createTime"
+            min-width="160"
+            show-overflow-tooltip
+        />
+        <el-table-column label="鏉ユ簮"
+                         prop="recordType"
+                         min-width="100"
+                         show-overflow-tooltip>
+          <template #default="scope">
+            {{ getRecordType(scope.row.recordType) }}
+          </template>
+        </el-table-column>
+				<el-table-column label="鎿嶄綔"
+                         min-width="200"
+                         align="center"
+                         fixed="right">
           <template #default="scope">
             <el-button
               v-if="scope.row.recordType === '0' && hasDispatchEdit"
@@ -129,13 +150,13 @@
               @click="handleEdit(scope.row)"
             >缂栬緫</el-button>
             <el-button
-              v-if="scope.row.recordType === '0'"
+              v-if="scope.row.recordType === '0' && scope.row.parentName === '鍘熸潗鏂�'"
               type="primary"
               size="mini"
               @click="handlePreview(scope.row)"
             >瀵煎嚭杩囩鍗�</el-button>
           </template>
-		</el-table-column>
+				</el-table-column>
 			</el-table>
       <el-dialog
         v-model="isShowEditModal"
@@ -144,109 +165,112 @@
         @close="closeEditModal"
       >
         <el-form label-width="140px" :model="editForm" label-position="top" ref="editFormRef">
-          <!-- <el-form-item
-            label="鍑哄簱鏁伴噺"
-            prop="stockOutNum"
-          >
-            <el-input-number
-              v-model="editForm.stockOutNum"
-              :min="0"
-              :step="1"
-              :precision="0"
-              controls-position="right"
-              style="width: 100%"
-              disabled
-            />
-          </el-form-item> -->
-
-          
-
-          <el-form-item
-            label="杞︾墝鍙�"
-            prop="licensePlateNo"
-            :rules="[{ required: true, message: '璇疯緭鍏ヨ溅鐗屽彿', trigger: ['blur','change'] }]"
-          >
-            <el-input v-model="editForm.licensePlateNo" />
-          </el-form-item>
-          <el-form-item
-            label="鍗曚綅"
-            prop="unit"
-          >
-            <el-select
-              v-model="editForm.unit"
-              placeholder="璇烽�夋嫨鍗曚綅"
-              style="width: 100%"
-              clearable
+          <!-- 闈炲師鏉愭枡鏄剧ず鍑哄簱鏁伴噺 -->
+          <template v-if="editForm.parentName !== '鍘熸潗鏂�'">
+            <el-form-item
+              label="鍑哄簱鏁伴噺"
+              prop="stockOutNum"
             >
-              <el-option label="鍚�" value="鍚�" />
-              <el-option label="鍏枻" value="鍏枻" />
-            </el-select>
-          </el-form-item>
-          <el-form-item
-            label="姣涢噸"
-            prop="grossWeight"
-            :rules="[{ required: true, message: '璇疯緭鍏ユ瘺閲�', trigger: ['blur','change'] }]"
-          >
-            <el-input-number
-              v-model="editForm.grossWeight"
-              :step="0.01"
-              :min="0"
-              style="width: 100%"
-              @change="computeNetWeightEdit"
-            />
-          </el-form-item>
+              <el-input-number
+                v-model="editForm.stockOutNum"
+                :min="0"
+                :step="1"
+                :precision="0"
+                controls-position="right"
+                style="width: 100%"
+              />
+            </el-form-item>
+          </template>
 
-          <el-form-item
-            label="鐨噸"
-            prop="tareWeight"
-            :rules="[{ required: true, message: '璇疯緭鍏ョ毊閲�', trigger: ['blur','change'] }]"
-          >
-            <el-input-number
-              v-model="editForm.tareWeight"
-              :step="0.01"
-              :min="0"
-              style="width: 100%"
-              @change="computeNetWeightEdit"
-            />
-          </el-form-item>
+          <!-- 鍘熸潗鏂欐樉绀鸿繃纾呯浉鍏冲瓧娈� -->
+          <template v-if="editForm.parentName === '鍘熸潗鏂�'">
+            <el-form-item
+              label="杞︾墝鍙�"
+              prop="licensePlateNo"
+              :rules="[{ required: true, message: '璇疯緭鍏ヨ溅鐗屽彿', trigger: ['blur','change'] }]"
+            >
+              <el-input v-model="editForm.licensePlateNo" />
+            </el-form-item>
+            <el-form-item
+              label="鍗曚綅"
+              prop="unit"
+            >
+              <el-select
+                v-model="editForm.unit"
+                placeholder="璇烽�夋嫨鍗曚綅"
+                style="width: 100%"
+                clearable
+              >
+                <el-option label="鍚�" value="鍚�" />
+                <el-option label="鍏枻" value="鍏枻" />
+              </el-select>
+            </el-form-item>
+            <el-form-item
+              label="姣涢噸"
+              prop="grossWeight"
+              :rules="[{ required: true, message: '璇疯緭鍏ユ瘺閲�', trigger: ['blur','change'] }]"
+            >
+              <el-input-number
+                v-model="editForm.grossWeight"
+                :step="0.01"
+                :min="0"
+                style="width: 100%"
+                @change="computeNetWeightEdit"
+              />
+            </el-form-item>
 
-          <el-form-item
-            label="鍑�閲�"
-            prop="netWeight"
-            :rules="[{ required: true, message: '鍑�閲嶇敱姣涢噸鍜岀毊閲嶈嚜鍔ㄨ绠�', trigger: ['blur','change'] }]"
-          >
-            <el-input-number
-              v-model="editForm.netWeight"
-              :step="0.01"
-              :min="0"
-              style="width: 100%"
-              disabled
-            />
-          </el-form-item>
+            <el-form-item
+              label="鐨噸"
+              prop="tareWeight"
+              :rules="[{ required: true, message: '璇疯緭鍏ョ毊閲�', trigger: ['blur','change'] }]"
+            >
+              <el-input-number
+                v-model="editForm.tareWeight"
+                :step="0.01"
+                :min="0"
+                style="width: 100%"
+                @change="computeNetWeightEdit"
+              />
+            </el-form-item>
 
-          <el-form-item
-            label="杩囩鏃ユ湡"
-            prop="weighingDate"
-            :rules="[{ required: true, message: '璇烽�夋嫨杩囩鏃ユ湡', trigger: 'change' }]"
-          >
-            <el-date-picker
-              style="width: 100%"
-              v-model="editForm.weighingDate"
-              value-format="YYYY-MM-DD HH:mm:ss"
-              format="YYYY-MM-DD HH:mm:ss"
-              type="datetime"
-              placeholder="璇烽�夋嫨杩囩鏃ユ湡"
-              clearable
-            />
-          </el-form-item>
+            <el-form-item
+              label="鍑�閲�"
+              prop="netWeight"
+              :rules="[{ required: true, message: '鍑�閲嶇敱姣涢噸鍜岀毊閲嶈嚜鍔ㄨ绠�', trigger: ['blur','change'] }]"
+            >
+              <el-input-number
+                v-model="editForm.netWeight"
+                :step="0.01"
+                :min="0"
+                style="width: 100%"
+                disabled
+              />
+            </el-form-item>
 
-          <el-form-item
-            label="杩囩鍛�"
-            prop="weighingOperator"
-            :rules="[{ required: true, message: '璇疯緭鍏ヨ繃纾呭憳', trigger: ['blur','change'] }]"
-          >
-            <el-input v-model="editForm.weighingOperator" />
-          </el-form-item>
+            <el-form-item
+              label="杩囩鏃ユ湡"
+              prop="weighingDate"
+              :rules="[{ required: true, message: '璇烽�夋嫨杩囩鏃ユ湡', trigger: 'change' }]"
+            >
+              <el-date-picker
+                style="width: 100%"
+                v-model="editForm.weighingDate"
+                value-format="YYYY-MM-DD HH:mm:ss"
+                format="YYYY-MM-DD HH:mm:ss"
+                type="datetime"
+                placeholder="璇烽�夋嫨杩囩鏃ユ湡"
+                clearable
+              />
+            </el-form-item>
+
+            <el-form-item
+              label="杩囩鍛�"
+              prop="weighingOperator"
+              :rules="[{ required: true, message: '璇疯緭鍏ヨ繃纾呭憳', trigger: ['blur','change'] }]"
+            >
+              <el-input v-model="editForm.weighingOperator" />
+            </el-form-item>
+          </template>
         </el-form>
 
         <template #footer>
@@ -414,8 +438,12 @@
 const handleEditSubmit = () => {
   editFormRef.value?.validate?.((valid) => {
     if (!valid) return;
-    const { stockOutNum, ...payload } = editForm.value || {};
-    editStockOut(payload).then(() => {
+    const submitData = {
+      ...editForm.value,
+      productType: editForm.value.parentName === '鍘熸潗鏂�' ? 0 : 1,
+      netWeight: editForm.value.parentName === '鍘熸潗鏂�' ? editForm.value.netWeight : editForm.value.stockOutNum
+    };
+    editStockOut(submitData).then(() => {
       closeEditModal();
       proxy.$modal.msgSuccess("缂栬緫鎴愬姛");
       getList();

--
Gitblit v1.9.3