From b12c9e77a6b6a7b410ac421c5a3d68da88823460 Mon Sep 17 00:00:00 2001
From: zhuguifei <312353457@qq.com>
Date: 星期五, 06 三月 2026 15:20:51 +0800
Subject: [PATCH] feat: 烟丝单柜产耗统计

---
 ruoyi-plus-soybean/src/views/qm/batch/modules/batch-operate-drawer.vue |  258 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 199 insertions(+), 59 deletions(-)

diff --git a/ruoyi-plus-soybean/src/views/qm/batch/modules/batch-operate-drawer.vue b/ruoyi-plus-soybean/src/views/qm/batch/modules/batch-operate-drawer.vue
index 501cb94..bccc726 100644
--- a/ruoyi-plus-soybean/src/views/qm/batch/modules/batch-operate-drawer.vue
+++ b/ruoyi-plus-soybean/src/views/qm/batch/modules/batch-operate-drawer.vue
@@ -67,63 +67,60 @@
 
 function createDefaultModel(): Model {
   return {
-      id: '',
-      batchCode: '',
-      batchName: '',
-      typ: '',
-      eqpCode: '',
-      matCode: '',
-      judgeCode: '',
-      batchDate: null,
-      isflag: '',
-      enabled: '',
-      totalNum: null,
-      results: '',
-      approver: '',
-      auditor: '',
-      creater: '',
-      tabDate: null,
-      verName: '',
-      verCode: '',
-      archDate: '',
-      flag: '',
-      toMesDate: null,
-      fromMesDate: null,
-      deleted: null,
-      batchDes: '',
-      category: '',
-      makeno: '',
-      shifteqpno: '',
-      boxno: '',
-      pid: '',
-      reviewer: '',
-      rvcount: null,
-      state: '',
-      reviewTime: null,
-      auditTime: null,
-      spec: '',
-      approveTime: null,
-      unit: '',
-      arrivalTime: null,
-      storagePlace: '',
-      checker: '',
-      receiveTime: null,
-      inspTime: null,
-      storer: '',
-      isverify: '',
-      ischk: '',
-      bak1: '',
-      bak2: ''
+    id: '',
+    batchCode: '',
+    batchName: '',
+    typ: '',
+    eqpCode: '',
+    matCode: '',
+    judgeCode: '',
+    batchDate: null,
+    isflag: '',
+    enabled: '',
+    totalNum: null,
+    results: '',
+    approver: '',
+    auditor: '',
+    creater: '',
+    tabDate: null,
+    verName: '',
+    verCode: '',
+    archDate: '',
+    flag: '',
+    toMesDate: null,
+    fromMesDate: null,
+    deleted: null,
+    batchDes: '',
+    category: '',
+    makeno: '',
+    shifteqpno: '',
+    boxno: '',
+    pid: '',
+    reviewer: '',
+    rvcount: null,
+    state: '',
+    reviewTime: null,
+    auditTime: null,
+    spec: '',
+    approveTime: null,
+    unit: '',
+    arrivalTime: null,
+    storagePlace: '',
+    checker: '',
+    receiveTime: null,
+    inspTime: null,
+    storer: '',
+    isverify: '',
+    ischk: '',
+    bak1: '',
+    bak2: ''
   };
 }
 
-type RuleKey = Extract<
-  keyof Model,
-  | 'id'
->;
+type RuleKey = Extract<keyof Model, 'id'>;
 
 const rules: Record<RuleKey, App.Global.FormRule> = {
-  id: createRequiredRule('缂栫爜涓嶈兘涓虹┖'),
+  id: createRequiredRule('缂栫爜涓嶈兘涓虹┖')
 };
 
 function handleUpdateModelWhenEdit() {
@@ -141,16 +138,159 @@
 async function handleSubmit() {
   await validate();
 
-  const { id, batchCode, batchName, typ, eqpCode, matCode, judgeCode, batchDate, isflag, enabled, totalNum, results, approver, auditor, creater, tabDate, verName, verCode, archDate, flag, toMesDate, fromMesDate, deleted, batchDes, category, makeno, shifteqpno, boxno, pid, reviewer, rvcount, state, reviewTime, auditTime, spec, approveTime, unit, arrivalTime, storagePlace, checker, receiveTime, inspTime, storer, isverify, ischk, bak1, bak2 } = model.value;
+  const {
+    id,
+    batchCode,
+    batchName,
+    typ,
+    eqpCode,
+    matCode,
+    judgeCode,
+    batchDate,
+    isflag,
+    enabled,
+    totalNum,
+    results,
+    approver,
+    auditor,
+    creater,
+    tabDate,
+    verName,
+    verCode,
+    archDate,
+    flag,
+    toMesDate,
+    fromMesDate,
+    deleted,
+    batchDes,
+    category,
+    makeno,
+    shifteqpno,
+    boxno,
+    pid,
+    reviewer,
+    rvcount,
+    state,
+    reviewTime,
+    auditTime,
+    spec,
+    approveTime,
+    unit,
+    arrivalTime,
+    storagePlace,
+    checker,
+    receiveTime,
+    inspTime,
+    storer,
+    isverify,
+    ischk,
+    bak1,
+    bak2
+  } = model.value;
 
   // request
   if (props.operateType === 'add') {
-    const { error } = await fetchCreateBatch({ batchCode, batchName, typ, eqpCode, matCode, judgeCode, batchDate, isflag, enabled, totalNum, results, approver, auditor, creater, tabDate, verName, verCode, archDate, flag, toMesDate, fromMesDate, deleted, batchDes, category, makeno, shifteqpno, boxno, pid, reviewer, rvcount, state, reviewTime, auditTime, spec, approveTime, unit, arrivalTime, storagePlace, checker, receiveTime, inspTime, storer, isverify, ischk, bak1, bak2 });
+    const { error } = await fetchCreateBatch({
+      batchCode,
+      batchName,
+      typ,
+      eqpCode,
+      matCode,
+      judgeCode,
+      batchDate,
+      isflag,
+      enabled,
+      totalNum,
+      results,
+      approver,
+      auditor,
+      creater,
+      tabDate,
+      verName,
+      verCode,
+      archDate,
+      flag,
+      toMesDate,
+      fromMesDate,
+      deleted,
+      batchDes,
+      category,
+      makeno,
+      shifteqpno,
+      boxno,
+      pid,
+      reviewer,
+      rvcount,
+      state,
+      reviewTime,
+      auditTime,
+      spec,
+      approveTime,
+      unit,
+      arrivalTime,
+      storagePlace,
+      checker,
+      receiveTime,
+      inspTime,
+      storer,
+      isverify,
+      ischk,
+      bak1,
+      bak2
+    });
     if (error) return;
   }
 
   if (props.operateType === 'edit') {
-    const { error } = await fetchUpdateBatch({ id, batchCode, batchName, typ, eqpCode, matCode, judgeCode, batchDate, isflag, enabled, totalNum, results, approver, auditor, creater, tabDate, verName, verCode, archDate, flag, toMesDate, fromMesDate, deleted, batchDes, category, makeno, shifteqpno, boxno, pid, reviewer, rvcount, state, reviewTime, auditTime, spec, approveTime, unit, arrivalTime, storagePlace, checker, receiveTime, inspTime, storer, isverify, ischk, bak1, bak2 });
+    const { error } = await fetchUpdateBatch({
+      id,
+      batchCode,
+      batchName,
+      typ,
+      eqpCode,
+      matCode,
+      judgeCode,
+      batchDate,
+      isflag,
+      enabled,
+      totalNum,
+      results,
+      approver,
+      auditor,
+      creater,
+      tabDate,
+      verName,
+      verCode,
+      archDate,
+      flag,
+      toMesDate,
+      fromMesDate,
+      deleted,
+      batchDes,
+      category,
+      makeno,
+      shifteqpno,
+      boxno,
+      pid,
+      reviewer,
+      rvcount,
+      state,
+      reviewTime,
+      auditTime,
+      spec,
+      approveTime,
+      unit,
+      arrivalTime,
+      storagePlace,
+      checker,
+      receiveTime,
+      inspTime,
+      storer,
+      isverify,
+      ischk,
+      bak1,
+      bak2
+    });
     if (error) return;
   }
 
@@ -204,7 +344,7 @@
           <NInput v-model:value="model.enabled" placeholder="璇疯緭鍏ュ惎鐢ㄦ爣蹇�" />
         </NFormItem>
         <NFormItem label="鍒拌揣鎬婚噺" path="totalNum">
-          <NInput v-model:value="model.totalNum" placeholder="璇疯緭鍏ュ埌璐ф�婚噺" />
+          <NInputNumber v-model:value="model.totalNum" placeholder="璇疯緭鍏ュ埌璐ф�婚噺" class="w-full" />
         </NFormItem>
         <NFormItem label="缁煎悎鍒ゅ畾" path="results">
           <NInput v-model:value="model.results" placeholder="璇疯緭鍏ョ患鍚堝垽瀹�" />
@@ -255,7 +395,7 @@
           />
         </NFormItem>
         <NFormItem label="鍒犻櫎鏍囧織" path="deleted">
-          <NInput v-model:value="model.deleted" placeholder="璇疯緭鍏ュ垹闄ゆ爣蹇�" />
+          <NInputNumber v-model:value="model.deleted" placeholder="璇疯緭鍏ュ垹闄ゆ爣蹇�" class="w-full" />
         </NFormItem>
         <NFormItem label="鎵规鎻忚堪" path="batchDes">
           <NInput v-model:value="model.batchDes" placeholder="璇疯緭鍏ユ壒娆℃弿杩�" />
@@ -273,13 +413,13 @@
           <NInput v-model:value="model.boxno" placeholder="璇疯緭鍏ヨ绠卞彿" />
         </NFormItem>
         <NFormItem label="鐖舵壒娆″彿" path="pid">
-          <NInput v-model:value="model.pid" placeholder="璇疯緭鍏ョ埗鎵规鍙�" />
+          <NInput v-model:value="model.pid as any" placeholder="璇疯緭鍏ョ埗鎵规鍙�" />
         </NFormItem>
         <NFormItem label="澶嶆牳浜�" path="reviewer">
           <NInput v-model:value="model.reviewer" placeholder="璇疯緭鍏ュ鏍镐汉" />
         </NFormItem>
         <NFormItem label="澶嶆娆℃暟" path="rvcount">
-          <NInput v-model:value="model.rvcount" placeholder="璇疯緭鍏ュ妫�娆℃暟" />
+          <NInputNumber v-model:value="model.rvcount" placeholder="璇疯緭鍏ュ妫�娆℃暟" class="w-full" />
         </NFormItem>
         <NFormItem label="鎵规鐘舵��" path="state">
           <NInput v-model:value="model.state" placeholder="璇疯緭鍏ユ壒娆$姸鎬�" />

--
Gitblit v1.9.3