From efe125921e37d031d6ff31018c1d4e4e133c60d5 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 21 四月 2026 13:25:35 +0800
Subject: [PATCH] 添加产品宽高搜索功能,优化销售台账数据处理逻辑,新增面积和数量列

---
 src/views/equipmentManagement/ledger/Form.vue |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 52 insertions(+), 1 deletions(-)

diff --git a/src/views/equipmentManagement/ledger/Form.vue b/src/views/equipmentManagement/ledger/Form.vue
index 72d594e..dd008fd 100644
--- a/src/views/equipmentManagement/ledger/Form.vue
+++ b/src/views/equipmentManagement/ledger/Form.vue
@@ -38,6 +38,24 @@
         </el-form-item>
       </el-col>
       <el-col :span="12">
+        <el-form-item label="宸ュ簭" prop="processName">
+          <el-select
+            v-model="form.processName"
+            placeholder="璇烽�夋嫨宸ュ簭"
+            clearable
+            filterable
+            style="width: 100%"
+          >
+            <el-option
+              v-for="item in processOptions"
+              :key="item"
+              :label="item"
+              :value="item"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
         <el-form-item label="渚涘簲鍟�" prop="supplierName">
           <el-input v-model="form.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢" />
         </el-form-item>
@@ -114,7 +132,9 @@
             @change="mathNum"
           >
             <el-option label="1" :value="1" />
+            <el-option label="3" :value="3" />
             <el-option label="6" :value="6" />
+            <el-option label="9" :value="9" />
             <el-option label="13" :value="13" />
           </el-select>
         </el-form-item>
@@ -168,13 +188,14 @@
 import useFormData from "@/hooks/useFormData";
 // import useUserStore from "@/store/modules/user";
 import { getLedgerById } from "@/api/equipmentManagement/ledger";
+import { processList } from "@/api/productionManagement/productionProcess";
 import dayjs from "dayjs";
 import {
   calculateTaxIncludeTotalPrice,
   calculateTaxExclusiveTotalPrice,
 } from "@/utils/summarizeTable";
 import { ElMessage } from "element-plus";
-import {ref} from "vue";
+import { ref, onMounted } from "vue";
 
 defineOptions({
   name: "璁惧鍙拌处琛ㄥ崟",
@@ -189,10 +210,12 @@
   '杩愯緭璁惧',
   '鍏朵粬璁惧'
 ]);
+const processOptions = ref([]);
 const formRules = {
 	deviceName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
 	deviceModel: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
 	type: [{ required: true, trigger: "change", message: "璇烽�夋嫨鎴栬緭鍏ヨ澶囩被鍨�" }],
+	processName: [{ required: true, trigger: "change", message: "璇烽�夋嫨宸ュ簭" }],
 	supplierName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
 	unit: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
 	number: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
@@ -218,6 +241,7 @@
   deviceModel: undefined, // 瑙勬牸鍨嬪彿
   deviceBrand: undefined, // 璁惧鍝佺墝
   type: undefined, // 璁惧绫诲瀷
+  processName: undefined, // 宸ュ簭
   supplierName: undefined, // 渚涘簲鍟�
   storageLocation: undefined, // 瀛樻斁浣嶇疆
   isDepr: 2, // 鏄惁鍚敤鎶樻棫 1-鏄� 2-鍚�
@@ -243,6 +267,8 @@
     form.deviceModel = data.deviceModel;
     form.deviceBrand = data.deviceBrand;
     form.type = data.type;
+    form.processName = data.processName || data.process;
+    ensureProcessOptionExists(form.processName);
     form.supplierName = data.supplierName;
     form.storageLocation = data.storageLocation;
     form.isDepr = data.isDepr;
@@ -260,6 +286,27 @@
     } else {
       form.planRuntimeTime = undefined;
     }
+  }
+};
+
+const ensureProcessOptionExists = (value) => {
+  if (!value) return;
+  if (!processOptions.value.includes(value)) {
+    processOptions.value.push(value);
+  }
+};
+
+const getProcessOptions = async () => {
+  try {
+    const { code, data } = await processList({});
+    if (code === 200 && Array.isArray(data)) {
+      processOptions.value = data
+        .map(item => item?.name)
+        .filter(Boolean);
+      ensureProcessOptionExists(form.processName);
+    }
+  } catch (error) {
+    processOptions.value = [];
   }
 };
 
@@ -298,6 +345,10 @@
   clearValidate();
 };
 
+onMounted(() => {
+  getProcessOptions();
+});
+
 defineExpose({
   form,
   loadForm,

--
Gitblit v1.9.3