From 9cbf54543334ff0166656a971899c45807c08275 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 01 七月 2025 14:05:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
src/views/inspectionManagement/components/formDia.vue | 121 ++++++++++++++++++++++++++++++++++------
1 files changed, 102 insertions(+), 19 deletions(-)
diff --git a/src/views/inspectionManagement/components/formDia.vue b/src/views/inspectionManagement/components/formDia.vue
index 8da91ef..91e9c5c 100644
--- a/src/views/inspectionManagement/components/formDia.vue
+++ b/src/views/inspectionManagement/components/formDia.vue
@@ -10,20 +10,79 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鍦扮偣" prop="port">
- <el-input v-model="form.port" placeholder="璇疯緭鍏ュ湴鐐�" maxlength="30" />
+ <el-form-item label="鍦扮偣" prop="inspectionLocation">
+ <el-input v-model="form.inspectionLocation" placeholder="璇疯緭鍏ュ湴鐐�" maxlength="30" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="宸℃浜�" prop="inspector">
- <el-input v-model="form.inspector" placeholder="宸℃浜�" maxlength="30" />
+ <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>
</el-col>
<el-col :span="12">
<el-form-item label="澶囨敞" prop="remarks">
<el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="浠诲姟棰戠巼" prop="frequencyType">
+ <el-select v-model="form.frequencyType" placeholder="璇烽�夋嫨" clearable>
+ <el-option label="姣忔棩" value="DAILY"/>
+ <el-option label="姣忓懆" value="WEEKLY"/>
+ <el-option label="姣忔湀" value="MONTHLY"/>
+ <el-option label="瀛e害" value="QUARTERLY"/>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="form.frequencyType === 'DAILY' && form.frequencyType">
+ <el-form-item label="鏃ユ湡" prop="frequencyDetail">
+ <el-time-picker v-model="form.frequencyDetail" placeholder="閫夋嫨鏃堕棿" format="HH:mm"
+ value-format="HH:mm" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="form.frequencyType === 'WEEKLY' && form.frequencyType">
+ <el-form-item label="鏃ユ湡" prop="frequencyDetail">
+ <el-select v-model="form.week" placeholder="璇烽�夋嫨" clearable style="width: 50%">
+ <el-option label="鍛ㄤ竴" value="MON"/>
+ <el-option label="鍛ㄤ簩" value="TUE"/>
+ <el-option label="鍛ㄤ笁" value="WED"/>
+ <el-option label="鍛ㄥ洓" value="THU"/>
+ <el-option label="鍛ㄤ簲" value="FRI"/>
+ <el-option label="鍛ㄥ叚" value="SAT"/>
+ <el-option label="鍛ㄦ棩" value="SUN"/>
+ </el-select>
+ <el-time-picker v-model="form.frequencyDetail" placeholder="閫夋嫨鏃堕棿" format="HH:mm"
+ value-format="HH:mm" style="width: 50%"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="form.frequencyType === 'MONTHLY' && form.frequencyType">
+ <el-form-item label="鏃ユ湡" prop="frequencyDetail">
+ <el-date-picker
+ v-model="form.frequencyDetail"
+ type="datetime"
+ clearable
+ placeholder="閫夋嫨寮�濮嬫棩鏈�"
+ format="DD,HH:mm"
+ value-format="DD,HH:mm"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="form.frequencyType === 'QUARTERLY' && form.frequencyType">
+ <el-form-item label="鏃ユ湡" prop="frequencyDetail">
+ <el-date-picker
+ v-model="form.frequencyDetail"
+ type="datetime"
+ clearable
+ placeholder="閫夋嫨寮�濮嬫棩鏈�"
+ format="MM,DD,HH:mm"
+ value-format="MM,DD,HH:mm"
+ />
</el-form-item>
</el-col>
</el-row>
@@ -39,9 +98,10 @@
</template>
<script setup>
-import {reactive, ref} from "vue";
+import {reactive, ref, computed} from "vue";
import useUserStore from '@/store/modules/user'
-import {addOrEditInspectionTask} from "@/api/inspectionManagement/index.js";
+import {addOrEditTimingTask} from "@/api/inspectionManagement/index.js";
+import {userListAll} from "@/api/publicApi/index.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits()
@@ -51,43 +111,66 @@
const data = reactive({
form: {
taskName: '',
- port: '',
+ inspectionLocation: '',
inspector: '',
+ inspectorIds: '',
remarks: '',
+ frequencyType: '',
+ frequencyDetail: '',
},
rules: {
taskName: [{ required: true, message: "璇疯緭鍏ヤ换鍔″悕绉�", trigger: "blur" },],
- port: [{ required: true, message: "璇疯緭鍏ュ湴鐐�", trigger: "blur" },],
+ inspectionLocation: [{ required: true, message: "璇疯緭鍏ュ湴鐐�", trigger: "blur" },],
inspector: [{ required: true, message: "璇疯緭鍏ュ贰妫�浜�", trigger: "blur" },],
}
})
-
const { form, rules } = toRefs(data)
+const userList = ref([])
// 鎵撳紑寮规
const openDialog = async (type, row) => {
dialogVisitable.value = true
+ userListAll().then(res => {
+ userList.value = res.data
+ })
if (type === 'edit') {
form.value = {...row}
}
}
-// 鎻愪氦鍚堝苟琛ㄥ崟
-const submitForm = () => {
- proxy.$refs["formRef"].validate(valid => {
- if (valid) {
- addOrEditInspectionTask(form.value).then(() => {
- cancel()
- proxy.$modal.msgSuccess('鎻愪氦鎴愬姛')
- })
- }
- })
-}
+
// 鍏抽棴鍚堝苟琛ㄥ崟
const cancel = () => {
proxy.resetForm("formRef")
dialogVisitable.value = false
emit('closeDia')
}
+const selectedDateTime = ref(null)
+
+// 璁$畻鏄熸湡鍑�
+const dayOfWeek = computed(() => {
+ if (!selectedDateTime.value) return ''
+
+ const date = new Date(selectedDateTime.value)
+ const dayIndex = date.getDay()
+
+ const weekDays = ['鏄熸湡鏃�', '鏄熸湡涓�', '鏄熸湡浜�', '鏄熸湡涓�', '鏄熸湡鍥�', '鏄熸湡浜�', '鏄熸湡鍏�']
+ return weekDays[dayIndex]
+})
+// 鎻愪氦鍚堝苟琛ㄥ崟
+const submitForm = () => {
+ proxy.$refs["formRef"].validate(valid => {
+ if (valid) {
+ form.value.inspectorIds = form.value.inspector.join(',')
+ if (form.value.frequencyType === 'WEEKLY') {
+ form.value.frequencyDetail = form.value.week + ',' + form.value.frequencyDetail
+ }
+ addOrEditTimingTask(form.value).then(() => {
+ cancel()
+ proxy.$modal.msgSuccess('鎻愪氦鎴愬姛')
+ })
+ }
+ })
+}
defineExpose({ openDialog })
</script>
--
Gitblit v1.9.3