From f19e5267cc23b1c714dc746239864f33ed715dd9 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 05 十二月 2025 17:55:02 +0800
Subject: [PATCH] 完成地图制作任务功能初版
---
src/views/fysp/task/components/CompDayTask.vue | 122 +++++++++++++++++++++++++++++++++++-----
1 files changed, 107 insertions(+), 15 deletions(-)
diff --git a/src/views/fysp/task/components/CompDayTask.vue b/src/views/fysp/task/components/CompDayTask.vue
index 9617c22..16f72ac 100644
--- a/src/views/fysp/task/components/CompDayTask.vue
+++ b/src/views/fysp/task/components/CompDayTask.vue
@@ -1,35 +1,97 @@
<template>
- <el-row justify="space-between">
- <el-text>鍗曟棩璁″垝</el-text>
- <el-button type="success" size="small" @click="editTask">鏂板</el-button>
+ <el-row gutter="20">
+ <el-col :span="16">
+ <div>
+ <el-text>鐩戠鍦烘櫙</el-text>
+ </div>
+ <el-divider />
+ <CompSubTaskSelect
+ v-model="seletedSceneList"
+ :dayTask="dayTask"
+ @submit="createSubtasks"
+ ></CompSubTaskSelect>
+ <div>
+ <!-- <el-scrollbar height="50vh"> -->
+ <CompMonitorObj :data="curMonitorObjList" height="50vh">
+ <template #default="{ item }">
+ <el-button
+ v-if="item.select"
+ size="small"
+ type="info"
+ plain
+ disabled
+ icon="select"
+ >閫夋嫨</el-button
+ >
+ <el-button
+ v-else
+ size="small"
+ type="primary"
+ plain
+ @click="selectScene(item)"
+ >閫夋嫨</el-button
+ >
+ </template>
+ </CompMonitorObj>
+ <!-- </el-scrollbar> -->
+ </div>
+ </el-col>
+ <el-col :span="8">
+ <CompSubTaskList
+ v-model="curSubTaskList"
+ :height="height"
+ :date="dayTask.date"
+ @submit="deleteSubtasks"
+ ></CompSubTaskList>
+ </el-col>
</el-row>
- <el-divider />
- <ItemSubTask v-for="stask in curSubTaskList" :key="stask.guid" :item="stask">
- <template #default="{ item }">
- <el-button type="danger" size="small" @click="editTask">绉婚櫎</el-button>
- </template>
- </ItemSubTask>
</template>
<script setup>
-import { ref, watch, onMounted } from 'vue';
+import { ref, watch, onMounted, inject } from 'vue';
+import { useCloned } from '@vueuse/core';
+import { useRoute, useRouter } from 'vue-router';
+import { ElMessage, ElNotification, ElMessageBox } from 'element-plus';
import taskApi from '@/api/fysp/taskApi';
+import subtaskApi from '@/api/fysp/subtaskApi';
+import TaskProxy from '../TaskProxy';
+
+import CompMonitorObj from './CompMonitorObj.vue';
+import CompSubTaskSelect from './CompSubTaskSelect.vue';
+import CompSubTaskList from './CompSubTaskList.vue';
+import dayjs from 'dayjs';
+
+const route = useRoute();
const props = defineProps({
// 鏃ヤ换鍔�
- dayTask: Object
+ dayTask: Object,
+ mObjList: Array
});
+const emit = defineEmits(['submit']);
+
+/*************************** 鏁版嵁鍒濆鍖� ************************************/
// 宸℃煡瀛愪换鍔¢泦鍚�
+const curMonitorObjList = ref([]);
const curSubTaskList = ref([]);
+const height = ref('70vh');
// 鐩戝惉鏃ヤ换鍔″彉鍖�
watch(
() => props.dayTask,
+ (nV) => {
+ onDayTaskChange(nV);
+ },
+ { immediate: true }
+);
+
+// 鐩戝惉鐩戠鍦烘櫙鍙樺寲
+watch(
+ () => props.mObjList,
(nV, oV) => {
- // if (nV != oV) {
- // onDayTaskChange(nV)
- // }
- onDayTaskChange(nV)
+ if (nV != oV) {
+ curMonitorObjList.value = useCloned(nV).cloned.value;
+ }
},
{ immediate: true }
);
@@ -49,5 +111,35 @@
curSubTaskList.value = res;
});
}
+
+/*************************** 娣诲姞瀛愪换鍔� ************************************/
+
+// 鎵�閫夊満鏅�
+const seletedSceneList = ref([]);
+// 閫夋嫨浠诲姟鍦烘櫙
+function selectScene(item) {
+ item.select = true;
+ seletedSceneList.value.push(item);
+}
+// 绉婚櫎浠诲姟鍦烘櫙
+// function deleteScene(item) {
+// item.select = false;
+// const index = seletedSceneList.value.indexOf(item);
+// seletedSceneList.value.splice(index, 1);
+// }
+
+function createSubtasks() {
+ seletedSceneList.value = [];
+ fetchSubTask(props.dayTask.guid);
+ ElMessage({
+ message: '宸℃煡浠诲姟娣诲姞鎴愬姛',
+ type: 'success'
+ });
+ emit('submit');
+}
+
+function deleteSubtasks() {
+ emit('submit');
+}
</script>
<style scoped></style>
--
Gitblit v1.9.3