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