From 4e920b761cb2b21eca614ed4c437e30f92655ebd Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 21 四月 2026 15:19:34 +0800
Subject: [PATCH] Merge branch 'dev_河南_鹤壁天沐玻璃厂' of http://114.132.189.42:9002/r/product-inventory-management into dev_河南_鹤壁天沐玻璃厂
---
src/views/equipmentManagement/ledger/Form.vue | 62 ++++++++++++++++++++++++++++++
1 files changed, 61 insertions(+), 1 deletions(-)
diff --git a/src/views/equipmentManagement/ledger/Form.vue b/src/views/equipmentManagement/ledger/Form.vue
index 4b11d59..a2911f2 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="productProcessId">
+ <el-select
+ v-model="form.productProcessId"
+ placeholder="璇烽�夋嫨宸ュ簭"
+ clearable
+ filterable
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in processOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </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>
@@ -170,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: "璁惧鍙拌处琛ㄥ崟",
@@ -191,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: "璇烽�夋嫨鎴栬緭鍏ヨ澶囩被鍨�" }],
+ productProcessId: [{ required: true, trigger: "change", message: "璇烽�夋嫨宸ュ簭" }],
supplierName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
unit: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
number: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
@@ -220,6 +241,7 @@
deviceModel: undefined, // 瑙勬牸鍨嬪彿
deviceBrand: undefined, // 璁惧鍝佺墝
type: undefined, // 璁惧绫诲瀷
+ productProcessId: undefined, // 宸ュ簭ID
supplierName: undefined, // 渚涘簲鍟�
storageLocation: undefined, // 瀛樻斁浣嶇疆
isDepr: 2, // 鏄惁鍚敤鎶樻棫 1-鏄� 2-鍚�
@@ -245,6 +267,13 @@
form.deviceModel = data.deviceModel;
form.deviceBrand = data.deviceBrand;
form.type = data.type;
+ const processName = data.productProcessName || data.processName || data.process;
+ form.productProcessId = data.productProcessId;
+ if (!form.productProcessId && processName) {
+ const matched = processOptions.value.find(item => item.label === processName);
+ form.productProcessId = matched?.value;
+ }
+ ensureProcessOptionExists(form.productProcessId, processName);
form.supplierName = data.supplierName;
form.storageLocation = data.storageLocation;
form.isDepr = data.isDepr;
@@ -262,6 +291,33 @@
} else {
form.planRuntimeTime = undefined;
}
+ }
+};
+
+const ensureProcessOptionExists = (id, name) => {
+ if (!id) return;
+ if (!processOptions.value.some(item => item.value === id)) {
+ processOptions.value.push({
+ value: id,
+ label: name || `${id}`,
+ });
+ }
+};
+
+const getProcessOptions = async () => {
+ try {
+ const { code, data } = await processList({});
+ if (code === 200 && Array.isArray(data)) {
+ processOptions.value = data
+ .filter(item => item?.id !== undefined && item?.id !== null)
+ .map(item => ({
+ value: item.id,
+ label: item?.name || `${item.id}`,
+ }));
+ ensureProcessOptionExists(form.productProcessId);
+ }
+ } catch (error) {
+ processOptions.value = [];
}
};
@@ -300,6 +356,10 @@
clearValidate();
};
+onMounted(() => {
+ getProcessOptions();
+});
+
defineExpose({
form,
loadForm,
--
Gitblit v1.9.3