From 54849757852f6ab40eb17afbd03d1d839b60a38d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 13 Nov 2023 17:09:15 +0800
Subject: [PATCH] 重复定时和连续执行

---
 src/components/task/TaskPanel.vue |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 52 insertions(+), 3 deletions(-)

diff --git a/src/components/task/TaskPanel.vue b/src/components/task/TaskPanel.vue
index d3e4bc6..2309581 100644
--- a/src/components/task/TaskPanel.vue
+++ b/src/components/task/TaskPanel.vue
@@ -33,7 +33,7 @@
 
     <!--表格-->
     <div class="plan-panel-wrapper">
-      <a-table :loading="tableLoading" class="plan-table" :columns="columns" :data-source="plansData.data"
+      <a-table :loading="tableLoading" class="plan-table" :columns="columns" :data-source="plansData.data" @expand="expand" :indentSize="200"
                row-key="job_id"
                :pagination="paginationProp" :scroll="{ x: '100%', y: 600 }" @change="refreshData">
         <!-- 执行时间 -->
@@ -146,7 +146,7 @@
   getWaylineJobs,
   Task,
   uploadMediaFileNow,
-  TaskQueryParam
+  TaskQueryParam, getWaylineChildrenJobs
 } from '/@/api/wayline'
 import { useMyStore } from '/@/store'
 import { ELocalStorageKey } from '/@/types/enums'
@@ -225,7 +225,7 @@
   {
     title: '计划|实际时间',
     dataIndex: 'duration',
-    width: 200,
+    width: 240,
     slots: { customRender: 'duration' },
   },
   {
@@ -333,6 +333,27 @@
   getPlans()
 })
 
+function expand (expand:any, record:any) {
+  if (!expand) {
+    return
+  }
+  tableLoading.value = true
+  const params = {
+    parentId: record.job_id
+  }
+
+  getWaylineChildrenJobs(workspaceId, params).then(res => {
+    const data = res.data
+    plansData.data.forEach(item => {
+      if (item.job_id === record.job_id) {
+        item.children = data
+      }
+    })
+
+    tableLoading.value = false
+  })
+}
+
 function dateChange (value: any) {
   searchQuery.startTime = value[0]
   searchQuery.endTime = value[1]
@@ -362,6 +383,13 @@
     if (res.code !== 0) {
       return
     }
+
+    res.data.list.forEach(e => {
+      if (e.has_children === '1') {
+        e.children = []
+      }
+    })
+
     plansData.data = res.data.list
     paginationProp.total = res.data.pagination.total
     paginationProp.current = res.data.pagination.page
@@ -432,6 +460,24 @@
   .plan-table {
     background: #fff;
     margin-top: 10px;
+
+    :deep(.ant-table-tbody) {
+
+      tr.ant-table-row-level-0 {
+        td:first-child {
+          display: flex;
+          align-items: center;
+        }
+      }
+
+      tr.ant-table-row-level-1 {
+        td:first-child {
+          padding-left: 60px;
+        }
+      }
+
+
+    }
   }
 
   .action-area {
@@ -478,4 +524,7 @@
   }
 
 }
+
+
+
 </style>

--
Gitblit v1.9.3