From c7a6d244585f605e32ae82321c919a09170a730d Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期四, 02 十一月 2023 11:04:20 +0800
Subject: [PATCH] feat: 添加高亮任务的值班人员展示

---
 src/views/dashboard/index.vue |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 7ece016..fd0f348 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -6,7 +6,9 @@
     <template #leftBlock2>
       <ChannelCollapse :channels="channels"></ChannelCollapse>
     </template>
-    <template #middleBlock1>鏍囬</template>
+    <template #middleBlock1>
+      <DashboardTitle></DashboardTitle>
+    </template>
     <template #middleBlock2>
       <el-tabs v-model="activeMainTabName" class="main-info-tabs">
         <el-tab-pane label="鍔犲伐淇℃伅" name="鍔犲伐淇℃伅">
@@ -21,14 +23,14 @@
     <template #middleBlock3>
       <SubTitle>浠诲姟璇︽儏</SubTitle>
       <div class="task-detail">
-        <TaskControl :task="activeTask"></TaskControl>
+        <TaskControl :task="activeTask" @should-reload="reloadAllData"></TaskControl>
       </div>
       <ColorInfo :order="order" :type="1"></ColorInfo>
       <ColorInfo :order="order" :type="2"></ColorInfo>
     </template>
     <template #middleBlock4>
       <SubTitle>浜哄憳淇℃伅</SubTitle>
-      <PersonInfo :person="person"></PersonInfo>
+      <PersonInfo v-for="worker in workers" :key="worker.workerId" :person="worker"></PersonInfo>
     </template>
     <template #rightBlock1>
       <div class="date-time">
@@ -38,21 +40,27 @@
     <template #rightBlock2>
       <DeviceStatusInfo :device="device" :type="1"></DeviceStatusInfo>
       <DeviceStatusInfo :device="device" :type="2"></DeviceStatusInfo>
+      <DeviceNumberInfo></DeviceNumberInfo>
     </template>
     <template #rightBlock3>
       <SubTitle>鐭ヨ瘑搴�</SubTitle>
+      <KnowledgeInfo></KnowledgeInfo>
+      <BigButton class="btn" bg-color="red">绾㈢伅鍛煎彨</BigButton>
     </template>
   </DashboardLayout>
 </template>
 <script setup lang="ts">
 import { computed, ref } from 'vue'
 import ChannelCollapse from '@/views/dashboard/components/ChannelCollapse.vue'
-import type { Worker, Order } from '@/api/task'
+import type { Worker, Order, Task } from '@/api/task'
 import type { PLCResponse } from '@/api/plc'
 import PersonInfo from '@/views/dashboard/components/PersonInfo.vue'
 import ProcessInfo from '@/views/dashboard/components/ProcessInfo.vue'
 import ColorInfo from '@/views/dashboard/components/ColorInfo.vue'
 import DeviceStatusInfo from '@/views/dashboard/components/DeviceStatusInfo.vue'
+import DeviceNumberInfo from '@/views/dashboard/components/DeviceNumberInfo.vue'
+import KnowledgeInfo from '@/views/dashboard/components/KnowledgeInfo.vue'
+import BigButton from '@/views/dashboard/components/BigButton.vue'
 import type { LabelValue } from '@/views/dashboard/components/TaskTabs.vue'
 import TaskTabs from '@/views/dashboard/components/TaskTabs.vue'
 import CurrentDateTime from '@/views/dashboard/components/CurrentDateTime.vue'
@@ -61,19 +69,20 @@
 import ProcessingInfo from '@/views/dashboard/components/ProcessingInfo.vue'
 import TaskControl from '@/views/dashboard/components/TaskControl.vue'
 import SubTitle from '@/views/dashboard/components/SubTitle.vue'
+import DashboardTitle from '@/views/dashboard/components/DashboardTitle.vue'
 
 defineOptions({
   name: 'DashboardView'
 })
 
-const person = computed(() => {
-  return {
-    workerName: '濮撳悕',
-    phone: '111'
-  } as unknown as Worker
+// 鑾峰彇褰撳墠楂樹寒浠诲姟鐨勫�肩彮浜轰俊鎭�
+const taskStore = useTasksStore()
+const workers = computed(() => {
+  return taskStore.activeTask?.Procedure?.procedure?.workers ?? []
 })
+
 const process = computed(() => {
-  return { product: '浜у搧鍚嶇О', number: '111', procedure: '宸ヨ壓鍚嶇О', isUpdate: true }
+  return { product: '浜у搧鍚嶇О', number: '111', procedure: '宸ヨ壓鍚嶇О', isUpdate: true } as any
 })
 
 const order = computed(() => {
@@ -113,6 +122,10 @@
 function changeTab(tab: LabelValue) {
   tasksStore.getChannels(tab.value)
 }
+
+function reloadAllData(task: Task) {
+  tasksStore.reload(task.Channel)
+}
 </script>
 
 <style scoped lang="scss">
@@ -150,4 +163,8 @@
 :deep(.el-tabs__nav-wrap::after) {
   height: 1px;
 }
+.btn {
+  width: 100%;
+  font-size: 20px;
+}
 </style>

--
Gitblit v1.8.0