From 4f238e1ff525b6aa1f8c9981f044d606a89734ce Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 24 十月 2024 08:27:19 +0800
Subject: [PATCH] 1. 新增完成展示下载的excel文件功能

---
 src/views/fysp/task/TaskManage.vue |  141 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 119 insertions(+), 22 deletions(-)

diff --git a/src/views/fysp/task/TaskManage.vue b/src/views/fysp/task/TaskManage.vue
index 7d1c5d4..5685aa5 100644
--- a/src/views/fysp/task/TaskManage.vue
+++ b/src/views/fysp/task/TaskManage.vue
@@ -1,7 +1,7 @@
 <template>
   <BaseContentLayout>
     <template #header>
-      <FYSearchBar @search="search">
+      <!-- <FYSearchBar @search="search">
         <template #options>
           <FYOptionLocation
             :allOption="true"
@@ -10,7 +10,7 @@
             v-model:value="formSearch.locations"
           ></FYOptionLocation>
         </template>
-      </FYSearchBar>
+      </FYSearchBar> -->
     </template>
     <template #aside>
       <SideList
@@ -32,14 +32,36 @@
         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
-          >
-          <CompMonitorPlan
-            :task="curTask.data"
-            @date-change="onDateChange"
-          ></CompMonitorPlan>
+          > -->
+          <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"
+                    height="56vh"
+                    @add="subTaskDrawer = true"
+                    @submit="handleSubtaskSubmit"
+                  ></CompSubTaskList>
+                </el-col>
+              </el-row>
+            </el-tab-pane>
+            <!-- <el-tab-pane label="鐩戠鍦板浘" name="second">
+              <CompTaskMap></CompTaskMap>
+            </el-tab-pane> -->
+          </el-tabs>
         </el-row>
         <el-divider></el-divider>
         <el-row justify="space-between">
@@ -50,18 +72,46 @@
         </el-row>
         <CompMonitorObj :data="curMonitorObjList"></CompMonitorObj>
       </el-scrollbar>
-      <el-empty v-else description="鏆傛棤璁板綍" v-loading="mainLoading" />
+      <div v-else>
+        <el-empty description="鏆傛棤璁板綍" v-loading="mainLoading" />
+        <el-row v-if="!mainLoading" justify="center">
+          <el-button
+            type="primary"
+            size="default"
+            @click="navToTaskCreate(curTask.data)"
+            >娣诲姞鐩戠鍦烘櫙</el-button
+          >
+        </el-row>
+      </div>
     </template>
   </BaseContentLayout>
   <el-drawer
     v-model="subTaskDrawer"
-    title="鍗曟棩璁″垝"
+    title="鏃ヨ鍒掔鐞�"
     direction="btt"
-    size="80%"
+    size="96%"
     destroy-on-close
   >
-    <CompDayTask :day-task="curDayTask"></CompDayTask>
+    <CompDayTask
+      :day-task="curDayTask"
+      :mObjList="curMonitorObjList"
+      @submit="handleSubtaskSubmit"
+    ></CompDayTask>
   </el-drawer>
+  <el-dialog
+    v-model="topTaskAddVisible"
+    width="600"
+    title="涓�閿垱寤烘�讳换鍔�"
+    destroy-on-close
+    :close-on-click-modal="false"
+    :close-on-press-escape="false"
+    :show-close="false"
+  >
+    <CompTaskEdit
+      @submit="navToTaskCreate"
+      @cancel="topTaskAddVisible = false"
+    ></CompTaskEdit>
+  </el-dialog>
 </template>
 
 <script>
@@ -69,6 +119,9 @@
 import CompMonitorObj from './components/CompMonitorObj.vue';
 import CompMonitorPlan from './components/CompMonitorPlan.vue';
 import CompDayTask from './components/CompDayTask.vue';
+import CompTaskMap from './components/CompTaskMap.vue';
+import CompTaskEdit from './components/CompTaskEdit.vue';
+import CompSubTaskList from './components/CompSubTaskList.vue';
 export default {
   beforeRouteEnter(to, from, next) {
     // 鍦ㄦ覆鏌撹缁勪欢鐨勫搴旇矾鐢辫楠岃瘉鍓嶈皟鐢�
@@ -77,10 +130,19 @@
     next((vm) => {
       if (from.name == 'monitorObjEdit' && vm.task) {
         vm.chooseTask(vm.task);
+      } else if (from.name == 'monitorTaskCreate') {
+        vm.search();
       }
     });
   },
-  components: { CompMonitorObj, CompMonitorPlan, CompDayTask },
+  components: {
+    CompMonitorObj,
+    CompMonitorPlan,
+    CompDayTask,
+    CompTaskMap,
+    CompTaskEdit,
+    CompSubTaskList
+  },
   data() {
     return {
       formSearch: {
@@ -103,10 +165,13 @@
       curTask: {},
       //鎿嶄綔鎸夐挳
       buttons: [
-        // {
-        //   name: '璁″垝璋冩暣',
-        //   color: 'success'
-        // },
+        {
+          name: '涓�閿垱寤烘�讳换鍔�',
+          color: 'success',
+          click: () => {
+            this.topTaskAddVisible = true;
+          }
+        }
         // {
         //   name: '鍦烘櫙璋冩暣',
         //   color: 'warning'
@@ -115,7 +180,12 @@
       // 瀛愪换鍔$紪杈戝脊鍑烘
       subTaskDrawer: false,
       // 褰撳墠閫夋嫨鐨勬棩浠诲姟
-      curDayTask: {}
+      curDayTask: {},
+      // 褰撳墠閫夋嫨鐨勬棩浠诲姟涓嬬殑瀛愪换鍔�
+      curSubTaskList: undefined,
+      subTaskLoading: false,
+      // 鎬讳换鍔℃柊澧炲脊鍑烘
+      topTaskAddVisible: false
     };
   },
   computed: {
@@ -174,11 +244,12 @@
       this.task = task;
       this.sideLoading = false;
       this.mainLoading = true;
+      this.curSubTaskList = undefined;
+      this.curTask = task;
       taskApi
         .fetchMonitorObjectVersion(task.data.tguid)
         .then((res) => {
           this.curMonitorObjList = res;
-          this.curTask = task;
         })
         .finally(() => {
           this.mainLoading = false;
@@ -203,8 +274,34 @@
       });
     },
     onDateChange(dayTask) {
-      this.subTaskDrawer = true;
-      this.curDayTask = dayTask;
+      if (dayTask) {
+        this.subTaskLoading = true;
+        // this.subTaskDrawer = true;
+        this.curDayTask = dayTask;
+        taskApi
+          .fetchSubtaskByDayTask(dayTask.guid)
+          .then((res) => {
+            this.curSubTaskList = res;
+          })
+          .finally(() => (this.subTaskLoading = false));
+      } else {
+        this.curSubTaskList = [];
+      }
+    },
+    navToTaskCreate(value) {
+      this.topTaskAddVisible = false;
+      this.$router.push({
+        name: 'monitorTaskCreate',
+        query: {
+          task: encodeURIComponent(JSON.stringify(value))
+        }
+      });
+    },
+    handleSubtaskSubmit() {
+      this.subTaskLoading = true;
+      this.$refs.planRef
+        .fetchDayTasks()
+        .finally(() => (this.subTaskLoading = false));
     }
   },
   mounted() {
@@ -221,6 +318,6 @@
 }
 
 .el-scrollbar {
-  height: calc((100vh - 60px * 2 - 20px * 2 - var(--height-toolbar)));
+  height: calc((100vh - 60px - 20px * 2 - var(--height-toolbar)));
 }
 </style>

--
Gitblit v1.9.3