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