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/Form/formDia.vue | 116 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 86 insertions(+), 30 deletions(-)
diff --git a/src/views/equipmentManagement/upkeep/Form/formDia.vue b/src/views/equipmentManagement/upkeep/Form/formDia.vue
index e6b7909..2eda377 100644
--- a/src/views/equipmentManagement/upkeep/Form/formDia.vue
+++ b/src/views/equipmentManagement/upkeep/Form/formDia.vue
@@ -35,8 +35,17 @@
<el-row>
<el-col :span="12">
<el-form-item label="褰曞叆浜�" prop="inspector">
+ <el-input
+ :model-value="registrantDisplayName"
+ disabled
+ placeholder="褰撳墠鐧诲綍鐢ㄦ埛"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="淇濆吇浜�" prop="maintenancePerson">
<el-select
- v-model="form.inspector"
+ v-model="form.maintenancePerson"
filterable
default-first-option
:reserve-keyword="false"
@@ -47,11 +56,13 @@
v-for="item in userList"
:label="item.nickName"
:value="item.userId"
- :key="item.userId"
+ :key="'mp-' + item.userId"
/>
</el-select>
</el-form-item>
</el-col>
+ </el-row>
+ <el-row>
<el-col :span="12">
<el-form-item label="鐧昏鏃堕棿" prop="registrationDate">
<el-date-picker
@@ -61,6 +72,17 @@
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浠诲姟鐘舵��">
+ <el-switch
+ v-model="form.isActive"
+ :active-value="1"
+ :inactive-value="0"
+ active-text="鍚敤"
+ inactive-text="鍋滅敤"
/>
</el-form-item>
</el-col>
@@ -121,14 +143,33 @@
/>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="淇濆吇椤圭洰" prop="maintenanceLocation">
- <el-input v-model="form.maintenanceLocation" placeholder="璇疯緭鍏ヤ繚鍏婚」鐩�" />
+ </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="12">
+ <el-col :span="24">
+ <el-form-item label="淇濆吇椤圭洰" prop="maintenanceItems">
+ <el-input
+ v-model="form.maintenanceItems"
+ type="textarea"
+ :rows="3"
+ placeholder="璇疯緭鍏ヤ繚鍏婚」鐩�"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
<el-form-item label="澶囨敞" prop="remarks">
<el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
</el-form-item>
@@ -140,7 +181,7 @@
<script setup>
import FormDialog from "@/components/Dialog/FormDialog.vue";
-import { reactive, ref, getCurrentInstance, toRefs } from "vue";
+import { reactive, ref, computed, getCurrentInstance, toRefs } from "vue";
import {userListNoPageByTenantId} from "@/api/system/user.js";
import { getDeviceLedger } from "@/api/equipmentManagement/ledger";
import { deviceMaintenanceTaskAdd, deviceMaintenanceTaskEdit } from "@/api/equipmentManagement/upkeep";
@@ -157,20 +198,26 @@
form: {
taskId: undefined,
taskName: undefined,
- // 褰曞叆浜猴細鍗曢�変竴涓敤鎴� id
+ // 褰曞叆浜恒�佷繚鍏讳汉锛氱敤鎴� id
inspector: undefined,
+ maintenancePerson: undefined,
maintenanceLocation: '',
+ maintenanceItems: '',
remarks: '',
frequencyType: '',
frequencyDetail: '',
week: '',
time: '',
deviceModel: undefined, // 瑙勬牸鍨嬪彿
- registrationDate: ''
+ registrationDate: '',
+ isActive: 0, // 浠诲姟鐘舵�侊細0-鍋滅敤锛�1-鍚敤
},
rules: {
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: [{
validator: (rule, value, callback) => {
@@ -198,6 +245,16 @@
})
const { form, rules } = toRefs(data)
const userList = ref([])
+
+const registrantDisplayName = computed(
+ () => userStore.nickName || userStore.name || "褰撳墠鐧诲綍鐢ㄦ埛"
+)
+
+const syncRegistrantFromLogin = () => {
+ if (userStore.id != null && userStore.id !== "") {
+ form.value.inspector = userStore.id
+ }
+}
const loadDeviceName = async () => {
const { data } = await getDeviceLedger();
@@ -232,21 +289,17 @@
if (type === 'edit' && row) {
form.value = { ...row }
- // 缂栬緫鏃剁敤鎺ュ彛杩斿洖鐨� registrantId 鍥炴樉褰曞叆浜�
- if (row.registrantId) {
- form.value.inspector = row.registrantId
+ if (row.maintenancePersonId) {
+ form.value.maintenancePerson = row.maintenancePersonId
}
-
- // 濡傛灉鏈夎澶嘔D锛岃嚜鍔ㄨ缃澶囦俊鎭�
if (form.value.taskId) {
setDeviceModel(form.value.taskId);
}
} else if (type === 'add') {
- // 鏂板鏃惰缃櫥璁版棩鏈熶负褰撳ぉ
form.value.registrationDate = getCurrentDate();
- // 鏂板鏃惰缃綍鍏ヤ汉涓哄綋鍓嶇櫥褰曡处鎴�
- form.value.inspector = userStore.id;
+ form.value.maintenancePerson = userStore.id;
}
+ syncRegistrantFromLogin()
}
// 鍏抽棴瀵硅瘽妗�
@@ -266,33 +319,37 @@
taskId: undefined,
taskName: undefined,
inspector: undefined,
- inspector: undefined,
+ maintenancePerson: undefined,
maintenanceLocation: '',
+ maintenanceItems: '',
remarks: '',
frequencyType: '',
frequencyDetail: '',
week: '',
time: '',
deviceModel: undefined,
- registrationDate: ''
+ registrationDate: '',
+ isActive: 0,
}
}
// 鎻愪氦琛ㄥ崟
const submitForm = () => {
+ syncRegistrantFromLogin()
proxy.$refs["formRef"].validate(async valid => {
if (valid) {
try {
const payload = { ...form.value }
- // 涓嶅啀鍚戝悗绔紶淇濆吇浜哄瓧娈碉紝浠呬娇鐢ㄦ帴鍙h姹傜殑 registrant / registrantId
- // 鏍规嵁閫夋嫨鐨�"褰曞叆浜�"璁剧疆 registrant / registrantId
- if (payload.inspector) {
- const selectedUser = userList.value.find(
- (u) => String(u.userId) === String(payload.inspector)
+ payload.registrantId = userStore.id
+ payload.registrant = userStore.nickName || userStore.name
+ const maintenancePersonUserId = form.value.maintenancePerson
+ if (maintenancePersonUserId) {
+ const maintainer = userList.value.find(
+ (u) => String(u.userId) === String(maintenancePersonUserId)
)
- if (selectedUser) {
- payload.registrantId = selectedUser.userId
- payload.registrant = selectedUser.nickName
+ if (maintainer) {
+ payload.maintenancePersonId = maintainer.userId
+ payload.maintenancePerson = maintainer.nickName
}
}
delete payload.inspector
@@ -306,10 +363,9 @@
// 褰曞叆鏃ユ湡锛氱洿鎺ヤ娇鐢ㄨ〃鍗曢噷鐨� registrationDate 瀛楁
// 涓�浜涢粯璁ょ姸鎬佸瓧娈�
- if (payload.status === undefined || payload.status === null || payload.status === '') {
- payload.status = '0' // 榛樿鐘舵�侊紝鍙寜瀹為檯鏋氫妇璋冩暣
+ if (payload.isActive === undefined || payload.isActive === null) {
+ payload.isActive = 0 // 榛樿鍋滅敤
}
- payload.active = true
payload.deleted = 0
if (operationType.value === 'edit') {
--
Gitblit v1.9.3