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

---
 src/pages/page-web/projects/task.vue |   85 ++++++++++++++++++++++++++++++++----------
 1 files changed, 65 insertions(+), 20 deletions(-)

diff --git a/src/pages/page-web/projects/task.vue b/src/pages/page-web/projects/task.vue
index 5843017..69c2ad4 100644
--- a/src/pages/page-web/projects/task.vue
+++ b/src/pages/page-web/projects/task.vue
@@ -51,9 +51,20 @@
             </div>
             <div v-else class="fz12" style="color: white;">
               <div @click="selectOnlineDock(dock)" v-for="dock in onlineDocks.data" :key="dock.sn"
-                   :style="{cursor:'pointer', background: '#3c3c3c', height: '90px', 'margin-bottom': '10px',border:dock.selected?'2px solid #2b85e4':''}">
-                <div style="border-radius: 2px; height: 100%; width: 100%;"
-                     class="flex-row flex-justify-between flex-align-center">
+                   :style="{cursor:'pointer', background: '#3c3c3c', 'margin-bottom': '10px',border:dock.selected?'2px solid #2b85e4':''}">
+<!--                   :style="{cursor:'pointer', background: '#3c3c3c', height: '130px', 'margin-bottom': '10px',border:dock.selected?'2px solid #2b85e4':''}">-->
+  <!--
+                <div class="job-info">
+                  <div class="job-status">
+                    <FileTextOutlined /> 执行失败
+                  </div>
+                  <div class="job-name">
+                    任务标题
+                  </div>
+                </div>
+                -->
+
+                <div style="border-radius: 2px; height: 60%; width: 100%;" class="flex-row flex-justify-between flex-align-center">
                   <div style="float: left; padding: 0px 5px 8px 8px; width: 88%">
                     <!-- // 机场设备标题 -->
                     <div style="width: 80%; height: 30px; line-height: 30px; font-size: 16px;">
@@ -79,7 +90,7 @@
                           }}
                         </div>
                       </div>
-                      <div class="mr5 flex-align-center flex-row" style="width: 85px; margin-right: 0; height: 18px;">
+                      <div class="mr5 flex-align-center flex-row" style="width: 125px; margin-right: 0; height: 18px;">
                         <div v-if="hmsInfo[dock.gateway.sn]" class="flex-align-center flex-row">
                           <div :class="hmsInfo[dock.gateway.sn][0].level === EHmsLevel.CAUTION ? 'caution-blink' :
                           hmsInfo[dock.gateway.sn][0].level === EHmsLevel.WARN ? 'warn-blink' : 'notice-blink'"
@@ -95,7 +106,7 @@
                                      :overlayStyle="{ width: '200px', height: '300px' }">
                             <div :class="hmsInfo[dock.gateway.sn][0].level === EHmsLevel.CAUTION ? 'caution' :
                             hmsInfo[dock.gateway.sn][0].level === EHmsLevel.WARN ? 'warn' : 'notice'"
-                                 style="margin-left: 3px; width: 62px; height: 16px;">
+                                 style="margin-left: 3px; width:107px; height: 16px;">
                               <span class="word-loop">{{ hmsInfo[dock.gateway.sn][0].message_zh }}</span>
                             </div>
                             <template #content>
@@ -126,7 +137,7 @@
                             </template>
                           </a-popover>
                         </div>
-                        <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)"></div>
+                        <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)">N/A</div>
                       </div>
                     </div>
                     <!-- // 机场是否启动 -->
@@ -136,14 +147,14 @@
                         <RocketOutlined/>
                       </span>
                         <div class="font-bold text-hidden" style="max-width: 80px"
-                             :style="deviceInfo[dock.sn] && deviceInfo[dock.sn].mode_code !== EModeCode.Disconnected ? 'color: #00ee8b' : 'color: red;'">
+                        :style="deviceInfo[dock.sn] && deviceInfo[dock.sn].mode_code !== EModeCode.Disconnected || dockInfo[dock.gateway.sn].basic_osd?.drone_in_dock === 1 ? 'color: #00ee8b' : 'color: red;'">
                           {{
                             deviceInfo[dock.sn] ? EModeText[deviceInfo[dock.sn].mode_code] :
-                                EModeText[EModeCode.Disconnected]
+                          dockInfo[dock.gateway.sn].basic_osd?.drone_in_dock === 1 ? '舱内关机' : EModeText[EModeCode.Disconnected]
                           }}
                         </div>
                       </div>
-                      <div class="mr5 flex-align-center flex-row" style="width: 85px; margin-right: 0; height: 18px;">
+                      <div class="mr5 flex-align-center flex-row" style="width: 125px; margin-right: 0; height: 18px;">
                         <div v-if="hmsInfo[dock.sn]" class="flex-align-center flex-row">
                           <div :class="hmsInfo[dock.sn][0].level === EHmsLevel.CAUTION ? 'caution-blink' :
                           hmsInfo[dock.sn][0].level === EHmsLevel.WARN ? 'warn-blink' : 'notice-blink'"
@@ -159,8 +170,8 @@
                                      :overlayStyle="{ width: '200px', height: '300px' }">
                             <div :class="hmsInfo[dock.sn][0].level === EHmsLevel.CAUTION ? 'caution' :
                             hmsInfo[dock.sn][0].level === EHmsLevel.WARN ? 'warn' : 'notice'"
-                                 style="margin-left: 3px; width: 62px; height: 16px;">
-                              <span class="word-loop">{{ hmsInfo[dock.sn][0].message_en }}</span>
+                                 style="margin-left: 3px; width:107px; height: 16px;">
+                              <span class="word-loop">{{ hmsInfo[dock.sn][0].message_zh }}</span>
                             </div>
                             <template #content>
                               <a-collapse style="background: black; height: 300px; overflow-y: auto;" :bordered="false"
@@ -171,7 +182,7 @@
                                   <template #header="{ isActive }">
                                     <div class="flex-row flex-align-center" style="width: 130px;">
                                       <div style="width: 110px;">
-                                        <span class="word-loop">{{ hms.message_en }}</span>
+                                        <span class="word-loop">{{ hms.message_zh }}</span>
                                       </div>
                                       <div style="width: 20px; height: 15px; font-size: 10px; z-index: 2 "
                                            class="flex-row flex-align-center flex-justify-center"
@@ -189,7 +200,7 @@
                             </template>
                           </a-popover>
                         </div>
-                        <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)"></div>
+                        <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)">N/A</div>
                       </div>
                     </div>
                   </div>
@@ -252,7 +263,7 @@
                           }}
                         </div>
                       </div>
-                      <div class="mr5 flex-align-center flex-row" style="width: 85px; margin-right: 0; height: 18px;">
+                      <div class="mr5 flex-align-center flex-row" style="width: 125px; margin-right: 0; height: 18px;">
                         <div v-if="hmsInfo[dock.gateway.sn]" class="flex-align-center flex-row">
                           <div :class="hmsInfo[dock.gateway.sn][0].level === EHmsLevel.CAUTION ? 'caution-blink' :
                           hmsInfo[dock.gateway.sn][0].level === EHmsLevel.WARN ? 'warn-blink' : 'notice-blink'"
@@ -268,7 +279,7 @@
                                      :overlayStyle="{ width: '200px', height: '300px' }">
                             <div :class="hmsInfo[dock.gateway.sn][0].level === EHmsLevel.CAUTION ? 'caution' :
                             hmsInfo[dock.gateway.sn][0].level === EHmsLevel.WARN ? 'warn' : 'notice'"
-                                 style="margin-left: 3px; width: 62px; height: 16px;">
+                                 style="margin-left: 3px; width:107px; height: 16px;">
                               <span class="word-loop">{{ hmsInfo[dock.gateway.sn][0].message_zh }}</span>
                             </div>
                             <template #content>
@@ -299,7 +310,7 @@
                             </template>
                           </a-popover>
                         </div>
-                        <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)"></div>
+                        <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)">N/A</div>
                       </div>
                     </div>
                     <!-- // 机场是否启动 -->
@@ -316,7 +327,7 @@
                           }}
                         </div>
                       </div>
-                      <div class="mr5 flex-align-center flex-row" style="width: 85px; margin-right: 0; height: 18px;">
+                      <div class="mr5 flex-align-center flex-row" style="width: 125px; margin-right: 0; height: 18px;">
                         <div v-if="hmsInfo[dock.sn]" class="flex-align-center flex-row">
                           <div :class="hmsInfo[dock.sn][0].level === EHmsLevel.CAUTION ? 'caution-blink' :
                           hmsInfo[dock.sn][0].level === EHmsLevel.WARN ? 'warn-blink' : 'notice-blink'"
@@ -332,7 +343,7 @@
                                      :overlayStyle="{ width: '200px', height: '300px' }">
                             <div :class="hmsInfo[dock.sn][0].level === EHmsLevel.CAUTION ? 'caution' :
                             hmsInfo[dock.sn][0].level === EHmsLevel.WARN ? 'warn' : 'notice'"
-                                 style="margin-left: 3px; width: 62px; height: 16px;">
+                                 style="margin-left: 3px; width:107px; height: 16px;">
                               <span class="word-loop">{{ hmsInfo[dock.sn][0].message_en }}</span>
                             </div>
                             <template #content>
@@ -362,7 +373,7 @@
                             </template>
                           </a-popover>
                         </div>
-                        <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)"></div>
+                        <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)">N/A</div>
                       </div>
                     </div>
                   </div>
@@ -387,7 +398,8 @@
   EyeInvisibleOutlined,
   EyeOutlined,
   RobotOutlined,
-  DoubleRightOutlined
+  DoubleRightOutlined,
+  FileTextOutlined,
 } from '@ant-design/icons-vue'
 import { useRoute } from 'vue-router'
 import { ERouterName, EHmsLevel } from '/@/types/enums'
@@ -440,6 +452,17 @@
 const osdVisible = ref({} as OSDVisible)
 const onlineCheck = ref(false)
 const historyCheck = ref(false)
+
+watch(
+  () => onlineCheckArr.data,
+  (newVal) => {
+    const dockSns = newVal.map(item => item.gateway.sn).join(',')
+    // 把机场编号存入store
+    store.commit('SET_DOCK_SN', dockSns)
+  },
+  { deep: true }
+)
+
 onMounted(() => {
   getOnlineTopo()
   setTimeout(() => {
@@ -617,4 +640,26 @@
   color: #fff;
   font-size: 16px;
 }
+
+.job-info{
+  height: 30%;
+  display: flex;
+  align-items: center;
+  border-bottom: 1px solid #c1c1c1;
+  margin-bottom: 6px;
+
+  .job-status{
+    height: 100%;
+    display: flex;
+    align-items: center;
+    background: red;
+  }
+
+  .job-name{
+    height: 100%;
+    display: flex;
+    align-items: center;
+    padding-left: 5px;
+  }
+}
 </style>

--
Gitblit v1.9.3