From c06965849f7f85fac75746845004647b629c47fb Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期一, 27 十一月 2023 14:42:55 +0800
Subject: [PATCH] feat: 报工列表弹窗/对接上报接口/报工弹窗回显

---
 src/views/dashboard/components/DashboardTitle.vue |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/src/views/dashboard/components/DashboardTitle.vue b/src/views/dashboard/components/DashboardTitle.vue
index 446f322..cde7f28 100644
--- a/src/views/dashboard/components/DashboardTitle.vue
+++ b/src/views/dashboard/components/DashboardTitle.vue
@@ -7,7 +7,7 @@
           <el-text truncated class="device-name">{{ currentDeviceName }}</el-text>
         </template>
       </el-popover>
-      <el-icon size="32" color="#0db7f5" style="margin-left: 20px; cursor: pointer" @click="openDevicesModal">
+      <el-icon size="32" color="#0db7f5" style="margin-left: 4px; cursor: pointer" @click="openDevicesModal">
         <IconSlider></IconSlider>
       </el-icon>
     </div>
@@ -27,6 +27,17 @@
         </el-icon>
       </div>
 
+      <div class="reporting-record">
+        <el-icon
+          size="26"
+          :color="taskStore.activeTask ? '#0db7f5' : '#c0c0c0'"
+          :style="{ 'margin-right': '10px', cursor: taskStore.activeTask ? 'pointer' : 'not-allowed' }"
+          @click="openReportingRecord"
+        >
+          <IconRecords></IconRecords>
+        </el-icon>
+      </div>
+
       <div class="params-config" @click="openConfigModal">
         <el-icon size="28"><Setting /></el-icon>
       </div>
@@ -35,9 +46,11 @@
   <DeviceCheckList v-model="showDevicesModal" @should-reload="emits('shouldReload')"></DeviceCheckList>
   <TroubleTrackerModal v-model="showProblemsModal" :problems="problemList"></TroubleTrackerModal>
   <DeliverParamsConfigModal v-model="showConfigModal"></DeliverParamsConfigModal>
+  <ReportingRecordModal v-model="showReportingRecordModal"></ReportingRecordModal>
 </template>
 <script setup lang="ts">
 import AlertLightIcon from '@/components/icons/AlertLightIcon.vue'
+import IconRecords from '~icons/vaadin/records'
 import { computed, onUnmounted, ref } from 'vue'
 import { useDevicesStore } from '@/stores/devices'
 import TroubleTrackerModal from '@/views/dashboard/components/TroubleTrackerModal.vue'
@@ -50,6 +63,8 @@
 import { PROBLEMS_POLLING_DURATION } from '@/common/constants'
 import { Setting } from '@element-plus/icons-vue'
 import DeliverParamsConfigModal from '@/views/dashboard/components/DeliverParamsConfigModal.vue'
+import ReportingRecordModal from '@/views/dashboard/components/ReportingRecordModal.vue'
+import { useTasksStore } from '@/stores/tasks'
 
 const emits = defineEmits<{
   shouldReload: []
@@ -129,6 +144,18 @@
 onUnmounted(() => {
   cancelProblemsPolling()
 })
+
+const taskStore = useTasksStore()
+
+// 鏄惁鏄剧ず鎶ュ伐璁板綍
+const showReportingRecordModal = ref(false)
+function openReportingRecord() {
+  if (!taskStore.activeTask) {
+    ElMessage.error('璇峰厛閫夋嫨浠诲姟')
+    return
+  }
+  showReportingRecordModal.value = true
+}
 </script>
 
 <style scoped lang="scss">
@@ -154,7 +181,7 @@
   cursor: pointer;
 }
 .device-name {
-  max-width: 340px;
+  max-width: 220px;
   font-size: 40px;
   color: #fff;
 }

--
Gitblit v1.8.0