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/TaskManage.vue | 143 +++++++++++++++++++++++++++++++++--------------
1 files changed, 101 insertions(+), 42 deletions(-)
diff --git a/src/views/fysp/task/TaskManage.vue b/src/views/fysp/task/TaskManage.vue
index 24129b6..3274b74 100644
--- a/src/views/fysp/task/TaskManage.vue
+++ b/src/views/fysp/task/TaskManage.vue
@@ -31,39 +31,52 @@
class="el-scrollbar"
v-loading="mainLoading"
>
- <el-row justify="space-between">
- <!-- <div><el-text>鐩戠璁″垝</el-text></div>
+ <!-- <div><el-text>鐩戠璁″垝</el-text></div>
<el-button type="warning" size="small" @click="editPlan"
>璁″垝璋冩暣</el-button
> -->
- <el-tabs model-value="first">
- <el-tab-pane label="鐩戠璁″垝" name="first">
- <el-row>
- <el-col :span="curSubTaskList ? 16 : 24">
- <CompMonitorPlan
- ref="planRef"
- :task="curTask.data"
- @date-change="onDateChange"
- ></CompMonitorPlan>
- </el-col>
- <el-col v-if="curSubTaskList" :span="8">
- <CompSubTaskList
- create
- v-model="curSubTaskList"
- :loading="subTaskLoading"
- :create-loading="daytaskLoading"
- height="56vh"
- @add="handleAddSubtask"
- @submit="handleSubtaskSubmit"
- ></CompSubTaskList>
- </el-col>
- </el-row>
- </el-tab-pane>
- <!-- <el-tab-pane label="鐩戠鍦板浘" name="second">
- <CompTaskMap></CompTaskMap>
- </el-tab-pane> -->
- </el-tabs>
+ <!-- <el-tabs model-value="first">
+ <el-tab-pane label="宸℃煡璁″垝" name="first"> -->
+ <el-row justify="space-between" style="padding: 16px 0px 16px 16px">
+ <el-text size="large">宸℃煡璁″垝</el-text>
+ <!-- <el-button type="primary" size="small" @click="sceneMapDialog = true">
+ 杩涘叆鍦烘櫙鍦板浘<el-icon class="el-icon--right"><Right /></el-icon>
+ </el-button> -->
</el-row>
+ <div class="plan-container">
+ <el-row>
+ <el-col :span="curSubTaskList ? 16 : 24">
+ <CompMonitorPlan
+ :loading="daytaskLoading"
+ ref="planRef"
+ :task="curTask.data"
+ :day-task-list="curDayTaskList"
+ @date-change="onDateChange"
+ ></CompMonitorPlan>
+ </el-col>
+ <el-col v-if="curSubTaskList" :span="8">
+ <!-- <el-affix target=".plan-container" :offset="140"> -->
+ <CompSubTaskList
+ create
+ v-model="curSubTaskList"
+ :date="curDay"
+ :loading="subTaskLoading"
+ :create-loading="daytaskCreateLoading"
+ height="66vh"
+ @openMap="sceneMapDialog = true"
+ @add="handleAddSubtask"
+ @submit="onSubtaskUpdate"
+ @remove="onSubtaskUpdate"
+ ></CompSubTaskList>
+ <!-- </el-affix> -->
+ </el-col>
+ </el-row>
+ </div>
+ <!-- </el-tab-pane>
+ <el-tab-pane label="鍦烘櫙鍦板浘" name="second"> -->
+ <!-- <CompTaskMap :plans="curMonitorObjList"></CompTaskMap> -->
+ <!-- </el-tab-pane>
+ </el-tabs> -->
<el-divider></el-divider>
<el-row justify="space-between">
<div><el-text>鐩戠鍦烘櫙</el-text></div>
@@ -91,12 +104,11 @@
title="鏃ヨ鍒掔鐞�"
direction="btt"
size="96%"
- destroy-on-close
>
<CompDayTask
:day-task="curDayTask"
:mObjList="curMonitorObjList"
- @submit="handleSubtaskSubmit"
+ @submit="onSubtaskUpdate"
></CompDayTask>
</el-drawer>
<el-dialog
@@ -113,6 +125,19 @@
@cancel="topTaskAddVisible = false"
></CompTaskEdit>
</el-dialog>
+ <el-drawer
+ v-model="sceneMapDialog"
+ title="鍦烘櫙鍦板浘"
+ direction="btt"
+ size="100%"
+ body-class="el-drawer__custom"
+ >
+ <CompTaskMap
+ :plans="curMonitorObjList"
+ :day-task="curDayTask"
+ @submit="onSubtaskUpdate"
+ ></CompTaskMap>
+ </el-drawer>
</template>
<script>
@@ -167,6 +192,9 @@
showMonitorObjList: [],
//褰撳墠閫変腑鐨勪换鍔�
curTask: {},
+ //褰撳墠閫変腑鐨勬棩浠诲姟
+ curDayTaskList: [],
+ daytaskLoading: false,
//鎿嶄綔鎸夐挳
buttons: [
{
@@ -186,12 +214,14 @@
// 褰撳墠閫夋嫨鐨勬棩浠诲姟
curDayTask: {},
curDay: undefined,
- daytaskLoading: false,
+ daytaskCreateLoading: false,
// 褰撳墠閫夋嫨鐨勬棩浠诲姟涓嬬殑瀛愪换鍔�
curSubTaskList: undefined,
subTaskLoading: false,
// 鎬讳换鍔℃柊澧炲脊鍑烘
- topTaskAddVisible: false
+ topTaskAddVisible: false,
+ // 鍦烘櫙鍦板浘寮瑰嚭妗�
+ sceneMapDialog: false
};
},
provide() {
@@ -210,7 +240,10 @@
});
return [
{ name: '鍦烘櫙鏁�', value: total },
- { name: '鏈贰鏌�', value: total - inspected },
+ {
+ name: '鏈贰鏌�',
+ value: total - inspected > 0 ? total - inspected : 0
+ },
{ name: '宸插贰鏌�', value: inspected }
];
}
@@ -270,6 +303,21 @@
})
.finally(() => {
this.mainLoading = false;
+ this.fetchDayTasks();
+ });
+ },
+ fetchDayTasks() {
+ // 鑾峰彇鏃ヤ换鍔$粺璁′俊鎭�
+ this.dayTaskLoading = true;
+ this.mainLoading = true;
+ return taskApi
+ .fetchDayTasks(this.curTask.data.tguid)
+ .then((res) => {
+ this.curDayTaskList = res;
+ })
+ .finally(() => {
+ this.dayTaskLoading = false;
+ this.mainLoading = false;
});
},
editTask() {
@@ -316,11 +364,12 @@
}
});
},
- handleSubtaskSubmit() {
- this.subTaskLoading = true;
- this.$refs.planRef
- .fetchDayTasks()
- .finally(() => (this.subTaskLoading = false));
+ onSubtaskUpdate() {
+ // this.subTaskLoading = true;
+ // this.$refs.planRef
+ // .fetchDayTasks()
+ // .finally(() => (this.subTaskLoading = false));
+ this.fetchDayTasks();
},
handleAddSubtask() {
// 鍒ゆ柇褰撴棩鏄惁鏈夋棩浠诲姟锛岃嫢娌℃湁锛屽厛鍒涘缓鍦ㄨ烦杞瓙浠诲姟鍒涘缓鐣岄潰
@@ -340,7 +389,7 @@
_dayTask.settime = dayjs().toDate();
_dayTask.t1stverifytime = dayjs().toDate();
_dayTask.runingstatus = '鏈墽琛�';
- this.daytaskLoading = true;
+ this.daytaskCreateLoading = true;
taskApi
.putTask(_dayTask)
.then((res) => {
@@ -354,9 +403,9 @@
totalTaskNum: 0
};
this.subTaskDrawer = true;
- this.handleSubtaskSubmit();
+ this.onSubtaskUpdate();
})
- .finally(() => (this.daytaskLoading = false));
+ .finally(() => (this.daytaskCreateLoading = false));
}
}
},
@@ -375,5 +424,15 @@
.el-scrollbar {
height: calc((100vh - 60px - 20px * 2 - var(--height-toolbar)));
+ padding-right: 8px;
+}
+
+.plan-container {
+ /* background-color: aliceblue; */
+}
+</style>
+<style>
+.el-drawer__custom {
+ padding: 0px !important;
}
</style>
--
Gitblit v1.9.3