From 9e2801168d0caf2691b1189697d76dce86d78ebf Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 18 五月 2026 17:16:38 +0800
Subject: [PATCH] 保养项目改成保养内容

---
 src/views/equipmentManagement/upkeep/Form/formDia.vue |  117 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 90 insertions(+), 27 deletions(-)

diff --git a/src/views/equipmentManagement/upkeep/Form/formDia.vue b/src/views/equipmentManagement/upkeep/Form/formDia.vue
index 3ce522b..519b2b1 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>
@@ -123,7 +145,31 @@
 				</el-col>
 			</el-row>
 			<el-row>
-				<el-col :span="12">
+				<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"
+							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>
@@ -135,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";
@@ -152,19 +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) => {
@@ -192,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();
@@ -226,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()
 }
 
 // 鍏抽棴瀵硅瘽妗�
@@ -260,32 +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
@@ -299,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