|
@@ -5,64 +5,71 @@
|
|
|
<el-form ref="taskFormRef" :model="newTask" :rules="rules">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="任务描述:" label-width="90px" >
|
|
|
+ <el-form-item label="任务描述:" label-width="90px">
|
|
|
<div class="display-field">{{ newTask.task_description }}</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="任务类型:" label-width="90px" >
|
|
|
+ <el-form-item label="任务类型:" label-width="90px">
|
|
|
<div class="display-field">{{ get_task_type_text(newTask.task_type) }}</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="登记人:" label-width="90px" >
|
|
|
+ <el-form-item label="登记人:" label-width="90px">
|
|
|
<div class="display-field">{{ newTask.registrar }}</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="执行人:" label-width="90px" >
|
|
|
+ <el-form-item label="执行人:" label-width="90px">
|
|
|
<div class="display-field">{{ newTask.executor }}</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="执行单位:" label-width="90px" >
|
|
|
+ <el-form-item label="执行单位:" label-width="90px">
|
|
|
<div class="display-field">{{ newTask.unit_name }}</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="联系电话:" label-width="90px" >
|
|
|
+ <el-form-item label="联系电话:" label-width="90px">
|
|
|
<div class="display-field">{{ newTask.contact_phone }}</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="完成时限:" label-width="90px" >
|
|
|
+ <el-form-item label="完成时限:" label-width="90px">
|
|
|
<div class="display-field">{{ newTask.expire_time }}</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <!--
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="图片:">
|
|
|
- <div class="display-field">{{ newTask.complete_time }}</div>
|
|
|
+ <el-form-item label="图片:" label-width="90px">
|
|
|
+ <el-image
|
|
|
+ v-for="(item, index) in newTask.imgList"
|
|
|
+ :key="index"
|
|
|
+ class="custom-image"
|
|
|
+ :src="baseUrl + downLoadApi + item.url"
|
|
|
+ :preview-teleported="true"
|
|
|
+ fit="cover"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="文件:">
|
|
|
- <div class="display-field">{{ newTask.complete_time }}</div>
|
|
|
+ <el-form-item label="文件:" label-width="90px">
|
|
|
+ <a v-for="(item, index) in newTask.fileList" :key="index" :href="baseUrl + downLoadApi + item.url" target="_blank">
|
|
|
+ <el-text type="primary">{{ item.name }}</el-text>
|
|
|
+ </a>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- -->
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="反馈人:" label-width="90px" >
|
|
|
+ <el-form-item label="反馈人:" label-width="90px">
|
|
|
<div class="display-field">{{ newTask.registrar }}</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="反馈内容:" label-width="90px" prop="feedback_content">
|
|
|
+ <el-form-item label="反馈内容:" label-width="90px" prop="feedback_content">
|
|
|
<el-input v-model="newTask.feedback_content" class="custom-input2" clearable placeholder="请输入反馈内容"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="完成进度:" label-width="90px" prop="processing_status">
|
|
|
+ <el-form-item label="完成进度:" label-width="90px" prop="processing_status">
|
|
|
<el-select
|
|
|
v-model="newTask.processing_status"
|
|
|
class="custom-select"
|
|
@@ -86,7 +93,6 @@
|
|
|
<div class="flex">
|
|
|
<div class="common-btn" @click="closeDialog">取消</div>
|
|
|
<div class="common-btn-primary" :disabled="!isFormValid" @click="confirmRegister">确定</div>
|
|
|
-
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -100,23 +106,26 @@ const proxy = getCurrentInstance()?.proxy;
|
|
|
|
|
|
const props = defineProps({
|
|
|
modelValue: { type: Boolean, required: true },
|
|
|
- task: { type: Object, default: () => (
|
|
|
- { task_id: '', task_description: '', unit_name: '', registrar: '', processing_status: '', feedback_content: '', attachList: [] })
|
|
|
+ task: {
|
|
|
+ type: Object,
|
|
|
+ default: () => ({ task_id: '', task_description: '', unit_name: '', registrar: '', processing_status: '', feedback_content: '', attachList: [] })
|
|
|
},
|
|
|
eventId: { type: String, required: true }
|
|
|
});
|
|
|
|
|
|
const taskFormRef = ref();
|
|
|
+const baseUrl = import.meta.env.VITE_APP_BASE_API;
|
|
|
+const downLoadApi = import.meta.env.VITE_APP_BASE_DOWNLOAD_API;
|
|
|
const emit = defineEmits(['update:modelValue', 'update-success']);
|
|
|
const newTask = reactive({ ...props.task });
|
|
|
const units = ref(['待处理', '已完成']);
|
|
|
|
|
|
const opt_task_type = [
|
|
|
- { text: "全部", value: "" },
|
|
|
- { text: "事件处置", value: "0" },
|
|
|
- { text: "防范措施", value: "1" },
|
|
|
- { text: "险情处理", value: "2" },
|
|
|
- { text: "督办任务", value: "3" }
|
|
|
+ { text: '全部', value: '' },
|
|
|
+ { text: '事件处置', value: '0' },
|
|
|
+ { text: '防范措施', value: '1' },
|
|
|
+ { text: '险情处理', value: '2' },
|
|
|
+ { text: '督办任务', value: '3' }
|
|
|
];
|
|
|
|
|
|
const rules = ref({
|
|
@@ -125,8 +134,8 @@ const rules = ref({
|
|
|
});
|
|
|
|
|
|
const get_task_type_text = (val) => {
|
|
|
- return opt_task_type.find(item => item.value == val).text
|
|
|
-}
|
|
|
+ return opt_task_type.find((item) => item.value == val).text;
|
|
|
+};
|
|
|
|
|
|
const visible = computed({
|
|
|
get: () => props.modelValue,
|
|
@@ -156,7 +165,7 @@ const confirmRegister = () => {
|
|
|
feedback_content: newTask.feedback_content,
|
|
|
attachList: newTask.attachList,
|
|
|
event_code: props.eventId
|
|
|
- }).then((response)=>{
|
|
|
+ }).then((response) => {
|
|
|
if (response.code === 200) {
|
|
|
proxy?.$modal.msgSuccess('任务进度更新成功');
|
|
|
emit('update-success', newTask);
|
|
@@ -164,7 +173,7 @@ const confirmRegister = () => {
|
|
|
} else {
|
|
|
console.error('任务进度更新失败:', response.msg);
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
};
|
|
@@ -186,7 +195,14 @@ watch(
|
|
|
.custom-select {
|
|
|
//width: 500px !important; // 使用 !important 强制覆盖默认样式
|
|
|
}
|
|
|
-
|
|
|
+.custom-image {
|
|
|
+ width: 100px;
|
|
|
+ height: 100px;
|
|
|
+ margin-left: 10px;
|
|
|
+ &:first-child {
|
|
|
+ margin-left: 0;
|
|
|
+ }
|
|
|
+}
|
|
|
.dialog-body {
|
|
|
padding: 20px;
|
|
|
:deep(.el-form-item__label) {
|
|
@@ -225,4 +241,9 @@ watch(
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+.upload-box {
|
|
|
+ :deep(.el-upload__tip) {
|
|
|
+ color: #ffffff !important;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|