From 15f938d1756a9da8bd1323edda92bd0f52537bb4 Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期四, 02 十一月 2023 16:55:47 +0800 Subject: [PATCH] feat: 调整设备信息取值 --- src/views/dashboard/index.vue | 76 ++++++++++++++++++++++++++++++++----- 1 files changed, 65 insertions(+), 11 deletions(-) diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 9036baa..c733a51 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -6,42 +6,61 @@ <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="鍔犲伐淇℃伅"> <ProcessingInfo style="margin-top: 6px" :task="activeTask"></ProcessingInfo> </el-tab-pane> - <el-tab-pane label="宸ヨ壓淇℃伅" name="宸ヨ壓淇℃伅">Config</el-tab-pane> + <el-tab-pane label="宸ヨ壓淇℃伅" name="宸ヨ壓淇℃伅"> + <ProcessInfo :process="process"></ProcessInfo> + </el-tab-pane> <el-tab-pane label="鐗╂枡娓呭崟" name="鐗╂枡娓呭崟">Role</el-tab-pane> </el-tabs> </template> <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"> <CurrentDateTime></CurrentDateTime> </div> </template> - <template #rightBlock2>鐘舵�侀潰鏉�</template> + <template #rightBlock2> + <DeviceStatusInfo :plc="plcStore.plcInfo" :type="1"></DeviceStatusInfo> + <DeviceStatusInfo :device="deviceStore.deviceInfo" :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 { computed, ref, watch, onUnmounted } from 'vue' import ChannelCollapse from '@/views/dashboard/components/ChannelCollapse.vue' -import type { Worker } 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' @@ -50,16 +69,36 @@ 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' +import { usePLCStore } from '@/stores/plc' +import { useDevicesStore } from '@/stores/devices' defineOptions({ name: 'DashboardView' }) -const person = computed(() => { +// 鑾峰彇褰撳墠楂樹寒浠诲姟鐨勫�肩彮浜轰俊鎭� +const taskStore = useTasksStore() +const workers = computed(() => { + return taskStore.activeTask?.Procedure?.procedure?.workers ?? [] +}) + +const process = computed(() => { + return { product: '浜у搧鍚嶇О', number: '111', procedure: '宸ヨ壓鍚嶇О', isUpdate: true } as any +}) + +const order = computed(() => { return { - workerName: '濮撳悕', - phone: '111' - } as unknown as Worker + finishNumber: 0, + unit: '涓�', + amount: '10' + } as unknown as Order +}) +const device = computed(() => { + return { + plcStatus: 1, + plcNotConnected: false + } as unknown as PLCResponse }) const taskTabsList = [ { @@ -85,6 +124,17 @@ function changeTab(tab: LabelValue) { tasksStore.getChannels(tab.value) } + +function reloadAllData(task: Task) { + tasksStore.reload(task.Channel) +} + +const plcStore = usePLCStore() +// 鍚姩plc 杞 +plcStore.startPollingPLC() + +const deviceStore = useDevicesStore() +deviceStore.startPollingDevice() </script> <style scoped lang="scss"> @@ -122,4 +172,8 @@ :deep(.el-tabs__nav-wrap::after) { height: 1px; } +.btn { + width: 100%; + font-size: 20px; +} </style> -- Gitblit v1.8.0