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/analy/packer/modules/packer-data-operate-drawer.vue |  189 +++++++++++++++++++++++++++++++---------------
 1 files changed, 127 insertions(+), 62 deletions(-)

diff --git a/ruoyi-plus-soybean/src/views/analy/packer/modules/packer-data-operate-drawer.vue b/ruoyi-plus-soybean/src/views/analy/packer/modules/packer-data-operate-drawer.vue
index 3696912..c158eb8 100755
--- a/ruoyi-plus-soybean/src/views/analy/packer/modules/packer-data-operate-drawer.vue
+++ b/ruoyi-plus-soybean/src/views/analy/packer/modules/packer-data-operate-drawer.vue
@@ -1,9 +1,9 @@
 <script setup lang="ts">
 import { computed, ref, watch } from 'vue';
-import { jsonClone } from '~/packages/utils';
 import { fetchCreatePackerData, fetchUpdatePackerData } from '@/service/api/analy/packer-data';
 import { useFormRules, useNaiveForm } from '@/hooks/common/form';
 import { $t } from '@/locales';
+import { jsonClone } from '~/packages/utils';
 
 defineOptions({
   name: 'PackerDataOperateDrawer'
@@ -45,39 +45,34 @@
 
 function createDefaultModel(): Model {
   return {
-      time: null,
-      key: '',
-      online: null,
-      qty: null,
-      badQty: null,
-      xiaohemoVal: null,
-      tiaohemoVal: null,
-      xiaohezhiVal: null,
-      tiaohezhiVal: null,
-      neichenzhiVal: null,
-      runTime: null,
-      stopTime: null,
-      stopTimes: null,
-      speed: null,
-      runStatus: null,
-      tsQty: null,
-      mainQty: null,
-      mainBadQty: null,
-      tbjQty: null,
-      tbjGdQty: null,
-      tbjBadQty: null,
-      pbjQty: null,
-      shift: null,
-      equNo: null
+    time: null,
+    key: '',
+    online: null,
+    qty: null,
+    badQty: null,
+    xiaohemoVal: null,
+    tiaohemoVal: null,
+    xiaohezhiVal: null,
+    tiaohezhiVal: null,
+    neichenzhiVal: null,
+    runTime: null,
+    stopTime: null,
+    stopTimes: null,
+    speed: null,
+    runStatus: null,
+    tsQty: null,
+    mainQty: null,
+    mainBadQty: null,
+    tbjQty: null,
+    tbjGdQty: null,
+    tbjBadQty: null,
+    pbjQty: null,
+    shift: null,
+    equNo: null
   };
 }
 
-type RuleKey = Extract<
-  keyof Model,
-  | 'time'
-  | 'shift'
-  | 'equNo'
->;
+type RuleKey = Extract<keyof Model, 'time' | 'shift' | 'equNo'>;
 
 const rules: Record<RuleKey, App.Global.FormRule> = {
   time: createRequiredRule('鏃堕棿涓嶈兘涓虹┖'),
@@ -100,16 +95,91 @@
 async function handleSubmit() {
   await validate();
 
-  const { time, key, online, qty, badQty, xiaohemoVal, tiaohemoVal, xiaohezhiVal, tiaohezhiVal, neichenzhiVal, runTime, stopTime, stopTimes, speed, runStatus, tsQty, mainQty, mainBadQty, tbjQty, tbjGdQty, tbjBadQty, pbjQty, shift, equNo } = model.value;
+  const {
+    time,
+    key,
+    online,
+    qty,
+    badQty,
+    xiaohemoVal,
+    tiaohemoVal,
+    xiaohezhiVal,
+    tiaohezhiVal,
+    neichenzhiVal,
+    runTime,
+    stopTime,
+    stopTimes,
+    speed,
+    runStatus,
+    tsQty,
+    mainQty,
+    mainBadQty,
+    tbjQty,
+    tbjGdQty,
+    tbjBadQty,
+    pbjQty,
+    shift,
+    equNo
+  } = model.value;
 
   // request
   if (props.operateType === 'add') {
-    const { error } = await fetchCreatePackerData({ time, key, online, qty, badQty, xiaohemoVal, tiaohemoVal, xiaohezhiVal, tiaohezhiVal, neichenzhiVal, runTime, stopTime, stopTimes, speed, runStatus, tsQty, mainQty, mainBadQty, tbjQty, tbjGdQty, tbjBadQty, pbjQty, shift, equNo });
+    const { error } = await fetchCreatePackerData({
+      time,
+      key,
+      online,
+      qty,
+      badQty,
+      xiaohemoVal,
+      tiaohemoVal,
+      xiaohezhiVal,
+      tiaohezhiVal,
+      neichenzhiVal,
+      runTime,
+      stopTime,
+      stopTimes,
+      speed,
+      runStatus,
+      tsQty,
+      mainQty,
+      mainBadQty,
+      tbjQty,
+      tbjGdQty,
+      tbjBadQty,
+      pbjQty,
+      shift,
+      equNo
+    });
     if (error) return;
   }
 
   if (props.operateType === 'edit') {
-    const { error } = await fetchUpdatePackerData({ time, key, online, qty, badQty, xiaohemoVal, tiaohemoVal, xiaohezhiVal, tiaohezhiVal, neichenzhiVal, runTime, stopTime, stopTimes, speed, runStatus, tsQty, mainQty, mainBadQty, tbjQty, tbjGdQty, tbjBadQty, pbjQty, shift, equNo });
+    const { error } = await fetchUpdatePackerData({
+      time,
+      key,
+      online,
+      qty,
+      badQty,
+      xiaohemoVal,
+      tiaohemoVal,
+      xiaohezhiVal,
+      tiaohezhiVal,
+      neichenzhiVal,
+      runTime,
+      stopTime,
+      stopTimes,
+      speed,
+      runStatus,
+      tsQty,
+      mainQty,
+      mainBadQty,
+      tbjQty,
+      tbjGdQty,
+      tbjBadQty,
+      pbjQty,
+      shift,
+      equNo
+    });
     if (error) return;
   }
 
@@ -139,82 +209,77 @@
           />
         </NFormItem>
         <NFormItem label="key" path="key">
-          <NInput
-            v-model:value="model.key"
-            :rows="3"
-            type="textarea"
-            placeholder="璇疯緭鍏ey"
-          />
+          <NInput v-model:value="model.key" :rows="3" type="textarea" placeholder="璇疯緭鍏ey" />
         </NFormItem>
         <NFormItem label="缃戠粶鐘舵��(0寮傚父锛�1姝e父)" path="online">
-          <NInput v-model:value="model.online" placeholder="璇疯緭鍏ョ綉缁滅姸鎬�(0寮傚父锛�1姝e父)" />
+          <NInputNumber v-model:value="model.online" placeholder="璇疯緭鍏ョ綉缁滅姸鎬�(0寮傚父锛�1姝e父)" class="w-full" />
         </NFormItem>
         <NFormItem label="浜ч噺" path="qty">
-          <NInput v-model:value="model.qty" placeholder="璇疯緭鍏ヤ骇閲�" />
+          <NInputNumber v-model:value="model.qty" placeholder="璇疯緭鍏ヤ骇閲�" class="w-full" />
         </NFormItem>
         <NFormItem label="鍓旈櫎浜ч噺" path="badQty">
-          <NInput v-model:value="model.badQty" placeholder="璇疯緭鍏ュ墧闄や骇閲�" />
+          <NInputNumber v-model:value="model.badQty" placeholder="璇疯緭鍏ュ墧闄や骇閲�" class="w-full" />
         </NFormItem>
         <NFormItem label="灏忕洅鑶滄秷鑰�" path="xiaohemoVal">
-          <NInput v-model:value="model.xiaohemoVal" placeholder="璇疯緭鍏ュ皬鐩掕啘娑堣��" />
+          <NInputNumber v-model:value="model.xiaohemoVal" placeholder="璇疯緭鍏ュ皬鐩掕啘娑堣��" class="w-full" />
         </NFormItem>
         <NFormItem label="鏉$洅鑶滄秷鑰�" path="tiaohemoVal">
-          <NInput v-model:value="model.tiaohemoVal" placeholder="璇疯緭鍏ユ潯鐩掕啘娑堣��" />
+          <NInputNumber v-model:value="model.tiaohemoVal" placeholder="璇疯緭鍏ユ潯鐩掕啘娑堣��" class="w-full" />
         </NFormItem>
         <NFormItem label="灏忕洅绾告秷鑰�" path="xiaohezhiVal">
-          <NInput v-model:value="model.xiaohezhiVal" placeholder="璇疯緭鍏ュ皬鐩掔焊娑堣��" />
+          <NInputNumber v-model:value="model.xiaohezhiVal" placeholder="璇疯緭鍏ュ皬鐩掔焊娑堣��" class="w-full" />
         </NFormItem>
         <NFormItem label="鏉$洅绾告秷鑰�" path="tiaohezhiVal">
-          <NInput v-model:value="model.tiaohezhiVal" placeholder="璇疯緭鍏ユ潯鐩掔焊娑堣��" />
+          <NInputNumber v-model:value="model.tiaohezhiVal" placeholder="璇疯緭鍏ユ潯鐩掔焊娑堣��" class="w-full" />
         </NFormItem>
         <NFormItem label="鍐呰‖绾告秷鑰�" path="neichenzhiVal">
-          <NInput v-model:value="model.neichenzhiVal" placeholder="璇疯緭鍏ュ唴琛焊娑堣��" />
+          <NInputNumber v-model:value="model.neichenzhiVal" placeholder="璇疯緭鍏ュ唴琛焊娑堣��" class="w-full" />
         </NFormItem>
         <NFormItem label="杩愯鏃堕棿" path="runTime">
-          <NInput v-model:value="model.runTime" placeholder="璇疯緭鍏ヨ繍琛屾椂闂�" />
+          <NInputNumber v-model:value="model.runTime" placeholder="璇疯緭鍏ヨ繍琛屾椂闂�" class="w-full" />
         </NFormItem>
         <NFormItem label="鍋滄満鏃堕棿" path="stopTime">
-          <NInput v-model:value="model.stopTime" placeholder="璇疯緭鍏ュ仠鏈烘椂闂�" />
+          <NInputNumber v-model:value="model.stopTime" placeholder="璇疯緭鍏ュ仠鏈烘椂闂�" class="w-full" />
         </NFormItem>
         <NFormItem label="鍋滄満娆℃暟" path="stopTimes">
-          <NInput v-model:value="model.stopTimes" placeholder="璇疯緭鍏ュ仠鏈烘鏁�" />
+          <NInputNumber v-model:value="model.stopTimes" placeholder="璇疯緭鍏ュ仠鏈烘鏁�" class="w-full" />
         </NFormItem>
         <NFormItem label="杞﹂��" path="speed">
-          <NInput v-model:value="model.speed" placeholder="璇疯緭鍏ヨ溅閫�" />
+          <NInputNumber v-model:value="model.speed" placeholder="璇疯緭鍏ヨ溅閫�" class="w-full" />
         </NFormItem>
         <NFormItem label="杩愯鐘舵��(-1 鏂綉 0鍋滄 1浣庨�熻繍琛� 2姝e父杩愯)" path="runStatus">
           <NRadioGroup v-model:value="model.runStatus">
             <NSpace>
-              <NRadio value="0" label="璇烽�夋嫨瀛楀吀鐢熸垚" />
+              <NRadio :value="0" label="璇烽�夋嫨瀛楀吀鐢熸垚" />
             </NSpace>
           </NRadioGroup>
         </NFormItem>
         <NFormItem label="鎻愬崌鏈轰骇閲�" path="tsQty">
-          <NInput v-model:value="model.tsQty" placeholder="璇疯緭鍏ユ彁鍗囨満浜ч噺" />
+          <NInputNumber v-model:value="model.tsQty" placeholder="璇疯緭鍏ユ彁鍗囨満浜ч噺" class="w-full" />
         </NFormItem>
         <NFormItem label="涓绘満浜ч噺锛堝皬鍖呮満锛�" path="mainQty">
-          <NInput v-model:value="model.mainQty" placeholder="璇疯緭鍏ヤ富鏈轰骇閲忥紙灏忓寘鏈猴級" />
+          <NInputNumber v-model:value="model.mainQty" placeholder="璇疯緭鍏ヤ富鏈轰骇閲忥紙灏忓寘鏈猴級" class="w-full" />
         </NFormItem>
         <NFormItem label="涓绘満鍓旈櫎閲�" path="mainBadQty">
-          <NInput v-model:value="model.mainBadQty" placeholder="璇疯緭鍏ヤ富鏈哄墧闄ら噺" />
+          <NInputNumber v-model:value="model.mainBadQty" placeholder="璇疯緭鍏ヤ富鏈哄墧闄ら噺" class="w-full" />
         </NFormItem>
         <NFormItem label="閫忓寘鏈轰骇閲�" path="tbjQty">
-          <NInput v-model:value="model.tbjQty" placeholder="璇疯緭鍏ラ�忓寘鏈轰骇閲�" />
+          <NInputNumber v-model:value="model.tbjQty" placeholder="璇疯緭鍏ラ�忓寘鏈轰骇閲�" class="w-full" />
         </NFormItem>
         <NFormItem label="閫忓寘鏈哄墧闄ゅソ鍖�" path="tbjGdQty">
-          <NInput v-model:value="model.tbjGdQty" placeholder="璇疯緭鍏ラ�忓寘鏈哄墧闄ゅソ鍖�" />
+          <NInputNumber v-model:value="model.tbjGdQty" placeholder="璇疯緭鍏ラ�忓寘鏈哄墧闄ゅソ鍖�" class="w-full" />
         </NFormItem>
         <NFormItem label="閫忓寘鏈哄墧闄ゅ潖鍖�" path="tbjBadQty">
-          <NInput v-model:value="model.tbjBadQty" placeholder="璇疯緭鍏ラ�忓寘鏈哄墧闄ゅ潖鍖�" />
+          <NInputNumber v-model:value="model.tbjBadQty" placeholder="璇疯緭鍏ラ�忓寘鏈哄墧闄ゅ潖鍖�" class="w-full" />
         </NFormItem>
         <NFormItem label="鎺掑寘鏈轰骇閲�" path="pbjQty">
-          <NInput v-model:value="model.pbjQty" placeholder="璇疯緭鍏ユ帓鍖呮満浜ч噺" />
+          <NInputNumber v-model:value="model.pbjQty" placeholder="璇疯緭鍏ユ帓鍖呮満浜ч噺" class="w-full" />
         </NFormItem>
         <NFormItem label="鐝" path="shift">
           <NSelect
             v-model:value="model.shift"
             placeholder="璇烽�夋嫨鐝"
-            :options="[{ value: '0', label: '璇烽�夋嫨瀛楀吀鐢熸垚' }]"
+            :options="[{ value: 0, label: '璇烽�夋嫨瀛楀吀鐢熸垚' }]"
             clearable
           />
         </NFormItem>
@@ -222,7 +287,7 @@
           <NSelect
             v-model:value="model.equNo"
             placeholder="璇烽�夋嫨璁惧"
-            :options="[{ value: '0', label: '璇烽�夋嫨瀛楀吀鐢熸垚' }]"
+            :options="[{ value: 0, label: '璇烽�夋嫨瀛楀吀鐢熸垚' }]"
             clearable
           />
         </NFormItem>

--
Gitblit v1.9.3