From 6db4d38b9761b07a49cb22a0a41cfcdc7bc6dbab Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 19 五月 2026 20:14:14 +0800
Subject: [PATCH] feat: 回退

---
 src/views/equipmentManagement/inspectionManagement/components/formDia.vue |  122 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 110 insertions(+), 12 deletions(-)

diff --git a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
index 79ff5b0..264584f 100644
--- a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
+++ b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
@@ -30,6 +30,17 @@
               <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="浠诲姟鐘舵��" prop="isActive">
+              <el-switch
+                v-model="form.isActive"
+                :active-value="1"
+                :inactive-value="0"
+                active-text="鍚敤"
+                inactive-text="鍋滅敤"
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
@@ -100,7 +111,7 @@
 </template>
 
 <script setup>
-import {reactive, ref} from "vue";
+import {reactive, ref, getCurrentInstance, toRefs} from "vue";
 import useUserStore from '@/store/modules/user'
 import {addOrEditTimingTask} from "@/api/inspectionManagement/index.js";
 import {userListNoPageByTenantId} from "@/api/system/user.js";
@@ -122,12 +133,69 @@
     frequencyType: '',
     frequencyDetail: '',
     week: '',
-    time: ''
+    time: '',
+    isActive: 1  // 榛樿鍚敤
   },
-  rules: {
-    taskId: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
-    inspector: [{ required: true, message: "璇疯緭鍏ュ贰妫�浜�", trigger: "blur" },],
-  }
+	rules: {
+		taskId: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
+		inspector: [{ required: true, message: "璇疯緭鍏ュ贰妫�浜�", trigger: "blur" },],
+		dateStr: [{ required: true, message: "璇烽�夋嫨鐧昏鏃堕棿", trigger: "change" }],
+		frequencyType: [{ required: true, message: "璇烽�夋嫨浠诲姟棰戠巼", trigger: "change" }],
+		frequencyDetail: [
+			{
+				required: true,
+				message: "璇烽�夋嫨鏃ユ湡",
+				trigger: "change",
+				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("璇烽�夋嫨鏃ユ湡鍜屾椂闂�"))
+						} else {
+							callback()
+						}
+					} else {
+						if (!value) {
+							callback(new Error("璇烽�夋嫨鏃ユ湡"))
+						} else {
+							callback()
+						}
+					}
+				}
+			}
+		],
+		week: [
+			{
+				required: true,
+				message: "璇烽�夋嫨鏄熸湡",
+				trigger: "change",
+				validator: (rule, value, callback) => {
+					if (form.value.frequencyType === 'WEEKLY' && !value) {
+						callback(new Error("璇烽�夋嫨鏄熸湡"))
+					} else {
+						callback()
+					}
+				}
+			}
+		],
+		time: [
+			{
+				required: true,
+				message: "璇烽�夋嫨鏃堕棿",
+				trigger: "change",
+				validator: (rule, value, callback) => {
+					if (form.value.frequencyType === 'WEEKLY' && !value) {
+						callback(new Error("璇烽�夋嫨鏃堕棿"))
+					} else {
+						callback()
+					}
+				}
+			}
+		]
+	}
 })
 const { form, rules } = toRefs(data)
 const userList = ref([])
@@ -161,9 +229,35 @@
   await loadDeviceName();
   
   if (type === 'edit' && row) {
-    form.value = {...row}
-    form.value.inspector = form.value.inspectorIds.split(',').map(Number)
-    
+    form.value = {
+      ...data.form,  // 鍏堝鍒堕粯璁よ〃鍗�
+      ...row,        // 鍐嶈鐩� row 涓殑鍊�
+    }
+    // 纭繚 inspectorIds 瀛樺湪鎵嶈繘琛� split
+    if (form.value.inspectorIds) {
+      form.value.inspector = form.value.inspectorIds.split(',').map(Number)
+    } else {
+      form.value.inspector = []
+    }
+    // 纭繚 isActive 鏈夊�硷紝榛樿鍚敤
+    if (form.value.isActive === undefined || form.value.isActive === null) {
+      form.value.isActive = 1
+    }
+
+    if (row.frequencyDetail) {
+      if (row.frequencyType === 'WEEKLY') {
+        const parts = row.frequencyDetail.split(',')
+        if (parts.length === 2) {
+          form.value.week = parts[0]
+          form.value.time = parts[1]
+        }
+      } else if (row.frequencyType === 'DAILY') {
+        form.value.frequencyDetail = row.frequencyDetail
+      } else {
+        form.value.frequencyDetail = row.frequencyDetail
+      }
+    }
+
     // 濡傛灉鏈夎澶嘔D锛岃嚜鍔ㄨ缃澶囦俊鎭�
     if (form.value.taskId) {
       setDeviceModel(form.value.taskId);
@@ -193,7 +287,8 @@
     frequencyType: '',
     frequencyDetail: '',
     week: '',
-    time: ''
+    time: '',
+    isActive: 1  // 榛樿鍚敤
   }
 }
 
@@ -202,8 +297,11 @@
   proxy.$refs["formRef"].validate(async valid => {
     if (valid) {
       try {
-        form.value.inspectorIds = form.value.inspector.join(',')
-        delete form.value.inspector
+        // 纭繚 inspector 鏄暟缁勬墠杩涜 join
+        if (form.value.inspector && Array.isArray(form.value.inspector)) {
+          form.value.inspectorIds = form.value.inspector.join(',')
+          delete form.value.inspector
+        }
         
         if (form.value.frequencyType === 'WEEKLY') {
           let frequencyDetail = ''

--
Gitblit v1.9.3