From 056ea576d820729878ffd62cd54cd7598e72d07e Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 29 七月 2025 16:07:31 +0800
Subject: [PATCH] 新增图片超出限制,无法选中功能
---
src/views/overlay-clue/task/ClueTaskEdit.vue | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 292 insertions(+), 2 deletions(-)
diff --git a/src/views/overlay-clue/task/ClueTaskEdit.vue b/src/views/overlay-clue/task/ClueTaskEdit.vue
index 61c7765..ee4a4dc 100644
--- a/src/views/overlay-clue/task/ClueTaskEdit.vue
+++ b/src/views/overlay-clue/task/ClueTaskEdit.vue
@@ -1,3 +1,293 @@
<template>
-
-</template>
\ No newline at end of file
+ <el-dialog
+ style="pointer-events: auto"
+ :model-value="modelValue"
+ @update:modelValue="handleDialogChange"
+ width="50%"
+ :close-on-click-modal="false"
+ :close-on-press-escape="false"
+ destroy-on-close
+ >
+ <template #header>
+ <span> {{ create ? '鍙戝竷绾跨储浠诲姟' : '鏇存柊绾跨储浠诲姟' }}</span>
+ </template>
+ <el-form
+ label-width="120px"
+ label-position="right"
+ :rules="rules"
+ :model="formObj"
+ ref="formRef"
+ >
+ <el-form-item label="绾跨储缂栧彿" prop="clueId">
+ <el-input
+ v-model="formObj.clueId"
+ placeholder="璇疯緭鍏ョ嚎绱㈢紪鍙�"
+ class="w-200"
+ :disabled="true"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="浠诲姟鏃堕棿" prop="taskTime">
+ <el-date-picker
+ v-model="formObj.taskTime"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ />
+ </el-form-item>
+ <el-form-item label="鍖哄幙" prop="_location">
+ <OptionLocation
+ :level="3"
+ :initValue="false"
+ :checkStrictly="false"
+ :allOption="false"
+ v-model="formObj._location"
+ ></OptionLocation>
+ </el-form-item>
+ <el-form-item label="鍝嶅簲绾у埆" prop="responseLevel">
+ <OptionResponseLevel
+ v-model="formObj.responseLevel"
+ ></OptionResponseLevel>
+ </el-form-item>
+ <el-form-item label="鍑鸿鏂瑰紡" prop="travelMode">
+ <OptionTravelMode
+ v-model="formObj.travelMode"
+ ></OptionTravelMode>
+ </el-form-item>
+ <el-form-item label="鏃犱汉鏈�" prop="hasUav">
+ <el-switch
+ v-model="formObj.hasUav"
+ inline-prompt
+ active-text="鏈�"
+ inactive-text="鏃�"
+ />
+ </el-form-item>
+ <el-form-item label="鎵ц浜�" prop="executorIds">
+ <OptionExecutors
+ v-model="formObj.executorIds"
+ ></OptionExecutors>
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <el-button @click="onCancel">鍙栨秷</el-button>
+ <el-button
+ :disabled="!edit"
+ type="primary"
+ :loading="loading"
+ @click="onSubmit"
+ >纭畾</el-button
+ >
+ </template>
+ </el-dialog>
+</template>
+<script setup>
+import { ref, reactive, watch, onMounted } from 'vue';
+import { useFormConfirm } from '@/composables/formConfirm';
+import clueTaskApi from '@/api/clue/clueTaskApi';
+
+const props = defineProps({
+ modelValue: Boolean,
+ clueData: Object,
+ clueTask: Object,
+ create: {
+ type: Boolean,
+ default: true
+ },
+ // 鑷畾涔夊垱寤烘柟娉�
+ onCreate: Function,
+ // 鑷畾涔夋洿鏂版柟娉�
+ onUpdate: Function
+});
+
+const emits = defineEmits(['update:modelValue', 'onSubmit']);
+
+function handleDialogChange(value) {
+ emits('update:modelValue', value);
+}
+
+const { formObj, formRef, edit, onSubmit, onCancel, clear } =
+ useFormConfirm({
+ submit: {
+ do: submit
+ },
+ cancel: {
+ do: cancel
+ }
+ });
+const loading = ref(false);
+// 琛ㄥ崟妫�鏌ヨ鍒�
+const rules = reactive({
+ // clueId: [
+ // {
+ // required: true,
+ // message: '绾跨储缂栧彿涓嶈兘涓虹┖',
+ // trigger: 'blur'
+ // }
+ // ],
+ taskTime: [
+ {
+ required: true,
+ message: '绾跨储鏃堕棿涓嶈兘涓虹┖',
+ trigger: 'change'
+ }
+ ],
+ _location: [
+ {
+ required: true,
+ message: '鍖哄幙涓嶈兘涓虹┖',
+ trigger: 'change'
+ }
+ ],
+ responseLevel: [
+ {
+ required: true,
+ message: '鍝嶅簲绾у埆涓嶈兘涓虹┖',
+ trigger: 'change'
+ }
+ ],
+ executorIds: [
+ {
+ required: true,
+ message: '鎵ц浜轰笉鑳戒负绌�',
+ trigger: 'change'
+ }
+ ]
+});
+
+function submit() {
+ const param = getParams();
+ return props.create
+ ? props.onCreate
+ ? props.onCreate(param)
+ : createClueTask(param)
+ : props.onUpdate
+ ? props.onUpdate(param)
+ : updateClueTask(param);
+}
+
+function cancel() {
+ emits('update:modelValue', false);
+}
+
+function createClueTask(param) {
+ return clueTaskApi
+ .createClueTask(param)
+ .then(() => {
+ emits('update:modelValue', false);
+ emits('onSubmit');
+ // clear();
+ })
+ .finally(() => {
+ loading.value = false;
+ });
+}
+
+function updateClueTask(param) {
+ return clueTaskApi
+ .updateClueTask(param)
+ .then(() => {
+ emits('update:modelValue', false);
+ emits('onSubmit');
+ // clear();
+ })
+ .finally(() => {
+ loading.value = false;
+ });
+}
+
+function getParams() {
+ return {
+ guid: formObj.value.guid,
+ clueId: formObj.value.clueId,
+ taskTime: formObj.value.taskTime,
+ provinceCode: formObj.value._location.pCode,
+ provinceName: formObj.value._location.pName,
+ cityCode: formObj.value._location.cCode,
+ cityName: formObj.value._location.cName,
+ districtCode: formObj.value._location.dCode,
+ districtName: formObj.value._location.dName,
+ townCode: formObj.value._location.tCode,
+ townName: formObj.value._location.tName,
+ responseLevel: formObj.value.responseLevel,
+ travelMode: formObj.value.travelMode,
+ hasUav: formObj.value.hasUav,
+ executorIds: formObj.value.executorIds.join(';')
+ };
+}
+
+// watch(
+// () => props.clueData,
+// (nV, oV) => {
+// if (nV && nV != oV) {
+// formObj.value.clueId = nV.cid;
+// }
+// }
+// );
+
+// watch(
+// () => props.clueTask,
+// (nV, oV) => {
+// if (nV && nV != oV) {
+// formObj.value.guid = nV.guid;
+// formObj.value.clueId = nV.clueId;
+// formObj.value.taskTime = nV.taskTime;
+// formObj.value._location = {
+// pCode: nV.provinceCode,
+// pName: nV.provinceName,
+// cCode: nV.cityCode,
+// cName: nV.cityName,
+// dCode: nV.districtCode,
+// dName: nV.districtName,
+// tCode: nV.townCode,
+// tName: nV.townName
+// };
+// formObj.value.responseLevel = nV.responseLevel;
+// formObj.value.travelMode = nV.travelMode;
+// formObj.value.hasUav = nV.hasUav;
+// formObj.value.executorIds = nV.executorIds.split(';');
+// }
+// }
+// );
+
+watch(
+ () => [props.modelValue, props.clueData, props.clueTask],
+ (nV, oV) => {
+ const [m, d, t] = nV;
+ if (m) {
+ formObj.value = {
+ taskTime: new Date(),
+ _location: {
+ pCode: '31',
+ pName: '涓婃捣甯�',
+ cCode: '3100',
+ cName: '涓婃捣甯�',
+ dCode: '310106',
+ dName: '闈欏畨鍖�',
+ tCode: undefined,
+ tName: undefined
+ }
+ };
+ if (d) {
+ formObj.value.clueId = d.cid;
+ }
+ if (t) {
+ formObj.value.guid = t.guid;
+ formObj.value.clueId = t.clueId;
+ formObj.value.taskTime = t.taskTime;
+ formObj.value._location = {
+ pCode: t.provinceCode,
+ pName: t.provinceName,
+ cCode: t.cityCode,
+ cName: t.cityName,
+ dCode: t.districtCode,
+ dName: t.districtName,
+ tCode: t.townCode,
+ tName: t.townName
+ };
+ formObj.value.responseLevel = t.responseLevel;
+ formObj.value.travelMode = t.travelMode;
+ formObj.value.hasUav = t.hasUav;
+ formObj.value.executorIds = t.executorIds.split(';');
+ }
+ }
+ }
+);
+</script>
--
Gitblit v1.9.3