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/upkeep/index.vue | 4 ++
src/views/equipmentManagement/upkeep/Form/formDia.vue | 33 ++++++++++++++++
src/views/equipmentManagement/ledger/index.vue | 7 +++
src/views/equipmentManagement/ledger/Form.vue | 43 +++++++++++++--------
4 files changed, 70 insertions(+), 17 deletions(-)
diff --git a/src/views/equipmentManagement/ledger/Form.vue b/src/views/equipmentManagement/ledger/Form.vue
index dd008fd..a2911f2 100644
--- a/src/views/equipmentManagement/ledger/Form.vue
+++ b/src/views/equipmentManagement/ledger/Form.vue
@@ -38,9 +38,9 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="宸ュ簭" prop="processName">
+ <el-form-item label="宸ュ簭" prop="productProcessId">
<el-select
- v-model="form.processName"
+ v-model="form.productProcessId"
placeholder="璇烽�夋嫨宸ュ簭"
clearable
filterable
@@ -48,9 +48,9 @@
>
<el-option
v-for="item in processOptions"
- :key="item"
- :label="item"
- :value="item"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
/>
</el-select>
</el-form-item>
@@ -215,7 +215,7 @@
deviceName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
deviceModel: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
type: [{ required: true, trigger: "change", message: "璇烽�夋嫨鎴栬緭鍏ヨ澶囩被鍨�" }],
- processName: [{ 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: "璇疯緭鍏�" }],
@@ -241,7 +241,7 @@
deviceModel: undefined, // 瑙勬牸鍨嬪彿
deviceBrand: undefined, // 璁惧鍝佺墝
type: undefined, // 璁惧绫诲瀷
- processName: undefined, // 宸ュ簭
+ productProcessId: undefined, // 宸ュ簭ID
supplierName: undefined, // 渚涘簲鍟�
storageLocation: undefined, // 瀛樻斁浣嶇疆
isDepr: 2, // 鏄惁鍚敤鎶樻棫 1-鏄� 2-鍚�
@@ -267,8 +267,13 @@
form.deviceModel = data.deviceModel;
form.deviceBrand = data.deviceBrand;
form.type = data.type;
- form.processName = data.processName || data.process;
- ensureProcessOptionExists(form.processName);
+ 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;
@@ -289,10 +294,13 @@
}
};
-const ensureProcessOptionExists = (value) => {
- if (!value) return;
- if (!processOptions.value.includes(value)) {
- processOptions.value.push(value);
+const ensureProcessOptionExists = (id, name) => {
+ if (!id) return;
+ if (!processOptions.value.some(item => item.value === id)) {
+ processOptions.value.push({
+ value: id,
+ label: name || `${id}`,
+ });
}
};
@@ -301,9 +309,12 @@
const { code, data } = await processList({});
if (code === 200 && Array.isArray(data)) {
processOptions.value = data
- .map(item => item?.name)
- .filter(Boolean);
- ensureProcessOptionExists(form.processName);
+ .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 = [];
diff --git a/src/views/equipmentManagement/ledger/index.vue b/src/views/equipmentManagement/ledger/index.vue
index 62f0c6a..f142b68 100644
--- a/src/views/equipmentManagement/ledger/index.vue
+++ b/src/views/equipmentManagement/ledger/index.vue
@@ -138,6 +138,13 @@
prop: "type",
},
{
+ label: "宸ュ簭",
+ prop: "productProcessName",
+ formatData: (v) => {
+ return v || "";
+ },
+ },
+ {
label: "渚涘簲鍟�",
prop: "supplierName",
},
diff --git a/src/views/equipmentManagement/upkeep/Form/formDia.vue b/src/views/equipmentManagement/upkeep/Form/formDia.vue
index 66bf067..e4c6110 100644
--- a/src/views/equipmentManagement/upkeep/Form/formDia.vue
+++ b/src/views/equipmentManagement/upkeep/Form/formDia.vue
@@ -124,6 +124,13 @@
</el-row>
<el-row>
<el-col :span="12">
+ <el-form-item label="淇濆吇椤圭洰" prop="maintenanceLocation">
+ <el-input v-model="form.maintenanceLocation" placeholder="璇疯緭鍏ヤ繚鍏婚」鐩�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
<el-form-item label="澶囨敞" prop="remarks">
<el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
</el-form-item>
@@ -154,6 +161,7 @@
taskName: undefined,
// 褰曞叆浜猴細鍗曢�変竴涓敤鎴� id
inspector: undefined,
+ maintenanceLocation: '',
remarks: '',
frequencyType: '',
frequencyDetail: '',
@@ -165,7 +173,29 @@
rules: {
taskId: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
inspector: [{ required: true, message: "璇烽�夋嫨褰曞叆浜�", trigger: "blur" },],
- registrationDate: [{ required: true, message: "璇烽�夋嫨鐧昏鏃堕棿", trigger: "change" }]
+ registrationDate: [{ required: true, message: "璇烽�夋嫨鐧昏鏃堕棿", trigger: "change" }],
+ frequencyDetail: [{
+ validator: (rule, value, callback) => {
+ if (!form.value.frequencyType) {
+ callback();
+ return;
+ }
+ if (form.value.frequencyType === 'WEEKLY') {
+ if (!form.value.week || !form.value.time) {
+ callback(new Error("璇烽�夋嫨鏃ユ湡"));
+ return;
+ }
+ callback();
+ return;
+ }
+ if (!value) {
+ callback(new Error("璇烽�夋嫨鏃ユ湡"));
+ return;
+ }
+ callback();
+ },
+ trigger: "change"
+ }]
}
})
const { form, rules } = toRefs(data)
@@ -239,6 +269,7 @@
taskName: undefined,
inspector: undefined,
inspector: undefined,
+ maintenanceLocation: '',
remarks: '',
frequencyType: '',
frequencyDetail: '',
diff --git a/src/views/equipmentManagement/upkeep/index.vue b/src/views/equipmentManagement/upkeep/index.vue
index 543e37b..96a9395 100644
--- a/src/views/equipmentManagement/upkeep/index.vue
+++ b/src/views/equipmentManagement/upkeep/index.vue
@@ -305,6 +305,10 @@
prop: "deviceModel",
},
{
+ label: "淇濆吇椤圭洰",
+ prop: "maintenanceLocation",
+ },
+ {
prop: "frequencyType",
label: "棰戞",
minWidth: 150,
--
Gitblit v1.9.3