From 1b1953b435e3187243102c794d29b56acb0dba5a Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期五, 03 十一月 2023 16:44:22 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.5.5:10010/r/web/bulletin-board-style1 into wn

---
 src/views/dashboard/index.vue |   83 +++++++++++++++++++++++++++++++----------
 1 files changed, 63 insertions(+), 20 deletions(-)

diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 09b7532..d006860 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -15,11 +15,24 @@
           <ProcessingInfo style="margin-top: 6px" :task="activeTask"></ProcessingInfo>
         </el-tab-pane>
         <el-tab-pane label="宸ヨ壓淇℃伅" name="宸ヨ壓淇℃伅">
-          <ProcessInfo :process="process"></ProcessInfo>
+          <el-scrollbar always>
+            <ProcessInfo
+              v-for="item in craftModelStore.craftModelList"
+              :key="item.ID"
+              :craft-model="item"
+              @detail="openCraftModelDetailModal"
+            ></ProcessInfo>
+          </el-scrollbar>
         </el-tab-pane>
         <el-tab-pane label="鐗╂枡娓呭崟" name="鐗╂枡娓呭崟">
-          <InputMaterialsList></InputMaterialsList>
-          <OutputMaterialsList></OutputMaterialsList>
+          <InputMaterialsList
+            :material-list="activeTask?.Procedure.procedure.inputMaterials"
+            @detail-click="showMaterialDetailModal"
+          ></InputMaterialsList>
+          <OutputMaterialsList
+            :material-list="activeTask?.Procedure.procedure.outputMaterials"
+            @detail-click="showMaterialDetailModal"
+          ></OutputMaterialsList>
         </el-tab-pane>
       </el-tabs>
     </template>
@@ -28,8 +41,8 @@
       <div class="task-detail">
         <TaskControl :task="activeTask" @should-reload="reloadAllData"></TaskControl>
       </div>
-      <ColorInfo :order="order" :type="1"></ColorInfo>
-      <ColorInfo :order="order" :type="2"></ColorInfo>
+      <ColorInfo :type="1"></ColorInfo>
+      <ColorInfo :type="2"></ColorInfo>
     </template>
     <template #middleBlock4>
       <SubTitle>浜哄憳淇℃伅</SubTitle>
@@ -41,8 +54,8 @@
       </div>
     </template>
     <template #rightBlock2>
-      <DeviceStatusInfo :device="device" :type="1"></DeviceStatusInfo>
-      <DeviceStatusInfo :device="device" :type="2"></DeviceStatusInfo>
+      <DeviceStatusInfo :plc="plcStore.plcInfo" :type="1"></DeviceStatusInfo>
+      <DeviceStatusInfo :device="deviceStore.deviceInfo" :type="2"></DeviceStatusInfo>
       <DeviceNumberInfo></DeviceNumberInfo>
     </template>
     <template #rightBlock3>
@@ -51,12 +64,13 @@
       <BigButton class="btn" bg-color="red">绾㈢伅鍛煎彨</BigButton>
     </template>
   </DashboardLayout>
+  <CraftDetailModal v-model="showCraftModelDetail" @close="showCraftModelDetail = false"></CraftDetailModal>
+  <MaterialDetails v-model="showMaterialDetail" :material="currentMaterialInfo"></MaterialDetails>
 </template>
 <script setup lang="ts">
-import { computed, ref } from 'vue'
+import { computed, ref, watch } from 'vue'
 import ChannelCollapse from '@/views/dashboard/components/ChannelCollapse.vue'
-import type { Worker, Order, Task } from '@/api/task'
-import type { PLCResponse } from '@/api/plc'
+import type { Worker, Order, Task, Material } from '@/api/task'
 import PersonInfo from '@/views/dashboard/components/PersonInfo.vue'
 import ProcessInfo from '@/views/dashboard/components/ProcessInfo.vue'
 import ColorInfo from '@/views/dashboard/components/ColorInfo.vue'
@@ -75,6 +89,11 @@
 import TaskControl from '@/views/dashboard/components/TaskControl.vue'
 import SubTitle from '@/views/dashboard/components/SubTitle.vue'
 import DashboardTitle from '@/views/dashboard/components/DashboardTitle.vue'
+import { usePLCStore } from '@/stores/plc'
+import { useDevicesStore } from '@/stores/devices'
+import { useCraftModelStore } from '@/stores/craftModel'
+import CraftDetailModal from '@/views/dashboard/components/CraftDetailModal.vue'
+import MaterialDetails from '@/views/dashboard/components/MaterialDetails.vue'
 
 defineOptions({
   name: 'DashboardView'
@@ -86,10 +105,6 @@
   return taskStore.activeTask?.Procedure?.procedure?.workers ?? []
 })
 
-const process = computed(() => {
-  return { product: '浜у搧鍚嶇О', number: '111', procedure: '宸ヨ壓鍚嶇О', isUpdate: true } as any
-})
-
 const order = computed(() => {
   return {
     finishNumber: 0,
@@ -97,12 +112,7 @@
     amount: '10'
   } as unknown as Order
 })
-const device = computed(() => {
-  return {
-    plcStatus: 1,
-    plcNotConnected: false
-  } as unknown as PLCResponse
-})
+
 const taskTabsList = [
   {
     label: '鏈畬鎴�',
@@ -128,9 +138,42 @@
   tasksStore.getChannels(tab.value)
 }
 
+/**
+ * 瀹屾垚浠诲姟鎴栬�呬笅鍙戝弬鏁版垚鍔熷悗瑕佸埛鏂伴�氶亾鏁版嵁
+ * @param task
+ */
 function reloadAllData(task: Task) {
   tasksStore.reload(task.Channel)
 }
+// 鍚姩plc 杞
+const plcStore = usePLCStore()
+plcStore.startPollingPLC()
+// 鍚姩 璁惧 杞
+const deviceStore = useDevicesStore()
+deviceStore.startPollingDevice()
+
+// 鍒囨崲浠诲姟鏃惰幏鍙栧搴斾换鍔$殑宸ヨ壓妯″瀷淇℃伅
+const craftModelStore = useCraftModelStore()
+craftModelStore.getCraftModelList()
+
+const showCraftModelDetail = ref(false)
+function openCraftModelDetailModal() {
+  showCraftModelDetail.value = true
+}
+
+// 鏄惁灞曠ず鐗╂枡璇︽儏寮圭獥
+const showMaterialDetail = ref(false)
+// 褰撳墠瑕佸睍绀虹殑鐗╂枡璇︽儏
+const currentMaterialInfo = ref<Material>()
+
+/**
+ * 鏄剧ず鐗╂枡璇︽儏寮圭獥
+ * @param material
+ */
+function showMaterialDetailModal(material: Material) {
+  currentMaterialInfo.value = material
+  showMaterialDetail.value = true
+}
 </script>
 
 <style scoped lang="scss">

--
Gitblit v1.8.0