From 731d07b73a4d311b62d72fe1b8b9d0c4acc2b25c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 05 十二月 2025 16:42:11 +0800
Subject: [PATCH] 1.海川开心-附件模块无法删除,增加删除选项,附件存在突然多出文件的bug
---
src/views/equipmentManagement/inspectionManagement/components/formDia.vue | 139 ++++++++++++++++++++++++++++++++++-----------
1 files changed, 104 insertions(+), 35 deletions(-)
diff --git a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
index 9d9a9fd..bf6c0c2 100644
--- a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
+++ b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
@@ -2,30 +2,39 @@
<div>
<el-dialog :title="operationType === 'add' ? '鏂板宸℃浠诲姟' : '缂栬緫宸℃浠诲姟'"
v-model="dialogVisitable" width="800px" @close="cancel">
- <el-form :model="form" :rules="rules" ref="formRef" label-width="120px">
+ <el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
- <el-form-item label="浠诲姟鍚嶇О" prop="taskName">
- <el-input v-model="form.taskName" placeholder="璇疯緭鍏ヤ换鍔″悕绉�" maxlength="30" />
+ <el-form-item label="宸℃浠诲姟" prop="taskName">
+ <el-input v-model="form.taskName" placeholder="璇疯緭鍏ュ贰妫�浠诲姟" />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍦扮偣" prop="inspectionLocation">
- <el-input v-model="form.inspectionLocation" placeholder="璇疯緭鍏ュ湴鐐�" maxlength="30" />
+ <el-form-item label="宸℃浜�" prop="inspector">
+ <el-select v-model="form.inspector" filterable
+ default-first-option
+ :reserve-keyword="false" placeholder="璇烽�夋嫨" multiple clearable>
+ <el-option v-for="item in userList" :label="item.nickName" :value="item.userId" :key="item.userId"/>
+ </el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="宸℃浜�" prop="inspector">
- <el-select v-model="form.inspector" placeholder="璇烽�夋嫨" multiple clearable>
- <el-option v-for="item in userList" :label="item.nickName" :value="item.userId" :key="item.userId"/>
- </el-select>
+ <el-form-item label="澶囨敞" prop="remarks">
+ <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="澶囨敞" prop="remarks">
- <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
+ <el-form-item label="鐧昏鏃堕棿" prop="dateStr">
+ <el-date-picker
+ v-model="form.dateStr"
+ type="date"
+ placeholder="閫夋嫨鐧昏鏃ユ湡"
+ format="YYYY-MM-DD"
+ value-format="YYYY-MM-DD"
+ style="width: 100%"
+ />
</el-form-item>
</el-col>
</el-row>
@@ -36,7 +45,7 @@
<el-option label="姣忔棩" value="DAILY"/>
<el-option label="姣忓懆" value="WEEKLY"/>
<el-option label="姣忔湀" value="MONTHLY"/>
- <el-option label="瀛e害" value="QUARTERLY"/>
+ <!-- <el-option label="瀛e害" value="QUARTERLY"/> -->
</el-select>
</el-form-item>
</el-col>
@@ -101,68 +110,128 @@
import {reactive, ref} from "vue";
import useUserStore from '@/store/modules/user'
import {addOrEditTimingTask} from "@/api/inspectionManagement/index.js";
-import {userListAll} from "@/api/publicApi/index.js";
+import {userListNoPageByTenantId} from "@/api/system/user.js";
+import { getDeviceLedger } from "@/api/equipmentManagement/ledger";
const { proxy } = getCurrentInstance()
const emit = defineEmits()
const userStore = useUserStore()
const dialogVisitable = ref(false);
const operationType = ref('add');
+const deviceOptions = ref([]);
const data = reactive({
form: {
- taskName: '',
- inspectionLocation: '',
+ taskName: undefined,
+ taskName: undefined,
inspector: '',
inspectorIds: '',
remarks: '',
frequencyType: '',
frequencyDetail: '',
+ week: '',
+ time: '',
+ dateStr: ''
},
rules: {
- taskName: [{ required: true, message: "璇疯緭鍏ヤ换鍔″悕绉�", trigger: "blur" },],
- inspectionLocation: [{ required: true, message: "璇疯緭鍏ュ湴鐐�", trigger: "blur" },],
+ taskName: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "blur" },],
inspector: [{ required: true, message: "璇疯緭鍏ュ贰妫�浜�", trigger: "blur" },],
+ dateStr: [{ required: true, message: "璇烽�夋嫨鐧昏鏃堕棿", trigger: "change" }]
}
})
const { form, rules } = toRefs(data)
const userList = ref([])
+const loadDeviceName = async () => {
+ const { data } = await getDeviceLedger();
+ deviceOptions.value = data;
+};
+
+const setDeviceModel = (id) => {
+ const option = deviceOptions.value.find((item) => item.id === id);
+ if (option) {
+ form.value.taskName = option.deviceName;
+ }
+}
+
// 鎵撳紑寮规
const openDialog = async (type, row) => {
dialogVisitable.value = true
- userListAll().then(res => {
- userList.value = res.data
- })
- if (type === 'edit') {
+ operationType.value = type
+
+ // 閲嶇疆琛ㄥ崟
+ resetForm();
+
+ // 鍔犺浇鐢ㄦ埛鍒楄〃
+ userListNoPageByTenantId().then((res) => {
+ userList.value = res.data;
+ });
+
+ // 鍔犺浇璁惧鍒楄〃
+ await loadDeviceName();
+
+ if (type === 'edit' && row) {
form.value = {...row}
form.value.inspector = form.value.inspectorIds.split(',').map(Number)
}
}
-// 鍏抽棴鍚堝苟琛ㄥ崟
+// 鍏抽棴瀵硅瘽妗�
const cancel = () => {
- proxy.resetForm("formRef")
+ resetForm()
dialogVisitable.value = false
emit('closeDia')
}
-// 鎻愪氦鍚堝苟琛ㄥ崟
+// 閲嶇疆琛ㄥ崟鍑芥暟
+const resetForm = () => {
+ if (proxy.$refs.formRef) {
+ proxy.$refs.formRef.resetFields()
+ }
+ // 閲嶇疆琛ㄥ崟鏁版嵁纭繚璁惧淇℃伅姝g‘閲嶇疆
+ form.value = {
+ taskName: '',
+ inspector: '',
+ inspectorIds: '',
+ remarks: '',
+ frequencyType: '',
+ frequencyDetail: '',
+ week: '',
+ time: '',
+ dateStr: ''
+ }
+}
+
+// 鎻愪氦琛ㄥ崟
const submitForm = () => {
proxy.$refs["formRef"].validate(async valid => {
if (valid) {
- form.value.inspectorIds = form.value.inspector.join(',')
- delete form.value.inspector
- if (form.value.frequencyType === 'WEEKLY') {
- let frequencyDetail = ''
- frequencyDetail = form.value.week + ',' + form.value.time
- form.value.frequencyDetail = frequencyDetail
- }
- let res = await userStore.getInfo()
- form.value.registrantId = res.user.userId
- addOrEditTimingTask(form.value).then(() => {
+ try {
+ // 鍒涘缓鎻愪氦鏁版嵁鐨勫壇鏈�
+ const submitData = {...form.value}
+
+ submitData.inspectorIds = submitData.inspector.join(',')
+ delete submitData.inspector
+
+ // 缂栬緫妯″紡涓嬩笉浼犻�掔櫥璁版椂闂�
+ if (operationType.value === 'edit') {
+ delete submitData.createTime
+ }
+
+ if (submitData.frequencyType === 'WEEKLY') {
+ let frequencyDetail = ''
+ frequencyDetail = submitData.week + ',' + submitData.time
+ submitData.frequencyDetail = frequencyDetail
+ }
+
+ let res = await userStore.getInfo()
+ submitData.registrantId = res.user.userId
+
+ await addOrEditTimingTask(submitData)
cancel()
proxy.$modal.msgSuccess('鎻愪氦鎴愬姛')
- })
+ } catch (error) {
+ proxy.$modal.msgError('鎻愪氦澶辫触锛岃閲嶈瘯')
+ }
}
})
}
--
Gitblit v1.9.3