From a30370cd7080d432462ab5aa5986ac10dadf852f Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 18 五月 2026 16:29:36 +0800
Subject: [PATCH] 增加项目部件
---
src/views/equipmentManagement/upkeep/index.vue | 16 +++++++++++++++-
src/views/equipmentManagement/upkeep/Form/UpkeepDetailModal.vue | 7 +++++--
src/views/equipmentManagement/upkeep/Form/PlanModal.vue | 22 +++++++++++++++++++---
src/views/equipmentManagement/upkeep/Form/formDia.vue | 15 +++++++++++++++
4 files changed, 54 insertions(+), 6 deletions(-)
diff --git a/src/views/equipmentManagement/upkeep/Form/PlanModal.vue b/src/views/equipmentManagement/upkeep/Form/PlanModal.vue
index 0ba259d..5f3b50c 100644
--- a/src/views/equipmentManagement/upkeep/Form/PlanModal.vue
+++ b/src/views/equipmentManagement/upkeep/Form/PlanModal.vue
@@ -2,12 +2,12 @@
<FormDialog
v-model="visible"
:title="id ? '缂栬緫璁惧淇濆吇璁″垝' : '鏂板璁惧淇濆吇璁″垝'"
- width="640px"
+ width="680px"
@confirm="sendForm"
@cancel="handleCancel"
@close="handleClose"
>
- <el-form :model="form" :rules="rules" label-width="100px">
+ <el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-form-item label="璁惧鍚嶇О">
<el-select
v-model="form.deviceLedgerId"
@@ -56,9 +56,17 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="淇濆吇椤圭洰">
+ <el-form-item label="淇濆吇閮ㄤ綅" prop="maintenanceLocation">
<el-input
v-model="form.maintenanceLocation"
+ type="textarea"
+ :rows="3"
+ placeholder="璇疯緭鍏ヤ繚鍏婚儴浣�"
+ />
+ </el-form-item>
+ <el-form-item label="淇濆吇椤圭洰" prop="maintenanceItems">
+ <el-input
+ v-model="form.maintenanceItems"
type="textarea"
:rows="3"
placeholder="璇疯緭鍏ヤ繚鍏婚」鐩�"
@@ -137,8 +145,12 @@
() => userStore.nickName || userStore.name || "褰撳墠鐧诲綍鐢ㄦ埛"
);
+const formRef = ref();
+
const rules = {
maintenancePerson: [{ required: true, message: "璇烽�夋嫨淇濆吇浜�", trigger: "change" }],
+ maintenanceLocation: [{ required: true, message: "璇疯緭鍏ヤ繚鍏婚儴浣�", trigger: "blur" }],
+ maintenanceItems: [{ required: true, message: "璇疯緭鍏ヤ繚鍏婚」鐩�", trigger: "blur" }],
};
const syncCreateUserFromLogin = () => {
@@ -169,6 +181,7 @@
deviceName: undefined,
deviceModel: undefined,
maintenanceLocation: undefined,
+ maintenanceItems: undefined,
maintenancePlanTime: undefined,
maintenancePerson: undefined,
createUser: undefined,
@@ -295,6 +308,7 @@
form.deviceName = data.deviceName;
form.deviceModel = data.deviceModel;
form.maintenanceLocation = data.maintenanceLocation;
+ form.maintenanceItems = data.maintenanceItems;
form.status = data.status;
syncCreateUserFromLogin();
if (data.maintenancePersonId) {
@@ -347,6 +361,8 @@
const sendForm = async () => {
syncCreateUserFromLogin();
+ const valid = await formRef.value?.validate().catch(() => false);
+ if (!valid) return;
loading.value = true;
try {
const payload = buildSubmitPayload();
diff --git a/src/views/equipmentManagement/upkeep/Form/UpkeepDetailModal.vue b/src/views/equipmentManagement/upkeep/Form/UpkeepDetailModal.vue
index 972cb34..73a6659 100644
--- a/src/views/equipmentManagement/upkeep/Form/UpkeepDetailModal.vue
+++ b/src/views/equipmentManagement/upkeep/Form/UpkeepDetailModal.vue
@@ -2,7 +2,7 @@
<el-dialog
v-model="visible"
title="淇濆吇璁″垝璇︽儏"
- width="820px"
+ width="960px"
destroy-on-close
@closed="onClosed"
>
@@ -11,9 +11,12 @@
<el-descriptions :column="2" border size="small">
<el-descriptions-item label="璁惧鍚嶇О">{{ detail.deviceName || "鈥�" }}</el-descriptions-item>
<el-descriptions-item label="瑙勬牸鍨嬪彿">{{ detail.deviceModel || "鈥�" }}</el-descriptions-item>
- <el-descriptions-item label="淇濆吇椤圭洰" :span="2">
+ <el-descriptions-item label="淇濆吇閮ㄤ綅" :span="2">
<div class="multiline">{{ detail.maintenanceLocation || "鈥�" }}</div>
</el-descriptions-item>
+ <el-descriptions-item label="淇濆吇椤圭洰" :span="2">
+ <div class="multiline">{{ detail.maintenanceItems || "鈥�" }}</div>
+ </el-descriptions-item>
<el-descriptions-item label="淇濆吇浜�">{{ detail.maintenancePerson || "鈥�" }}</el-descriptions-item>
<el-descriptions-item label="璁″垝淇濆吇鏃ユ湡">{{ fmtDate(detail.maintenancePlanTime) }}</el-descriptions-item>
<el-descriptions-item label="褰曞叆浜�">{{ detail.createUserName || "鈥�" }}</el-descriptions-item>
diff --git a/src/views/equipmentManagement/upkeep/Form/formDia.vue b/src/views/equipmentManagement/upkeep/Form/formDia.vue
index a33a695..2eda377 100644
--- a/src/views/equipmentManagement/upkeep/Form/formDia.vue
+++ b/src/views/equipmentManagement/upkeep/Form/formDia.vue
@@ -146,6 +146,18 @@
</el-row>
<el-row>
<el-col :span="24">
+ <el-form-item label="淇濆吇閮ㄤ綅" prop="maintenanceLocation">
+ <el-input
+ v-model="form.maintenanceLocation"
+ type="textarea"
+ :rows="3"
+ placeholder="璇疯緭鍏ヤ繚鍏婚儴浣�"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
<el-form-item label="淇濆吇椤圭洰" prop="maintenanceItems">
<el-input
v-model="form.maintenanceItems"
@@ -189,6 +201,7 @@
// 褰曞叆浜恒�佷繚鍏讳汉锛氱敤鎴� id
inspector: undefined,
maintenancePerson: undefined,
+ maintenanceLocation: '',
maintenanceItems: '',
remarks: '',
frequencyType: '',
@@ -203,6 +216,7 @@
taskId: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
inspector: [{ required: true, message: "璇烽�夋嫨褰曞叆浜�", trigger: "blur" },],
maintenancePerson: [{ required: true, message: "璇烽�夋嫨淇濆吇浜�", trigger: "change" }],
+ maintenanceLocation: [{ required: true, message: "璇疯緭鍏ヤ繚鍏婚儴浣�", trigger: "blur" }],
maintenanceItems: [{ required: true, message: "璇疯緭鍏ヤ繚鍏婚」鐩�", trigger: "blur" }],
registrationDate: [{ required: true, message: "璇烽�夋嫨鐧昏鏃堕棿", trigger: "change" }],
frequencyDetail: [{
@@ -306,6 +320,7 @@
taskName: undefined,
inspector: undefined,
maintenancePerson: undefined,
+ maintenanceLocation: '',
maintenanceItems: '',
remarks: '',
frequencyType: '',
diff --git a/src/views/equipmentManagement/upkeep/index.vue b/src/views/equipmentManagement/upkeep/index.vue
index c8364de..2990d26 100644
--- a/src/views/equipmentManagement/upkeep/index.vue
+++ b/src/views/equipmentManagement/upkeep/index.vue
@@ -369,6 +369,12 @@
{ prop: "registrant", label: "鐧昏浜�", minWidth: 100 },
{ prop: "maintenancePerson", label: "淇濆吇浜�", minWidth: 100 },
{
+ prop: "maintenanceLocation",
+ label: "淇濆吇閮ㄤ綅",
+ minWidth: 150,
+ showOverflowTooltip: true,
+ },
+ {
prop: "maintenanceItems",
label: "淇濆吇椤圭洰",
minWidth: 180,
@@ -406,9 +412,17 @@
prop: "deviceModel",
},
{
- label: "淇濆吇椤圭洰",
+ label: "淇濆吇閮ㄤ綅",
align: "center",
prop: "maintenanceLocation",
+ minWidth: 150,
+ showOverflowTooltip: true,
+ },
+ {
+ label: "淇濆吇椤圭洰",
+ align: "center",
+ prop: "maintenanceItems",
+ minWidth: 150,
showOverflowTooltip: true,
},
{
--
Gitblit v1.9.3