From 985befd1aacce206d49925399aba85a51c50ea6e Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期二, 28 十一月 2023 17:20:03 +0800 Subject: [PATCH] feat: 下发后重连plc --- src/stores/tasks.ts | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/stores/tasks.ts b/src/stores/tasks.ts index 6ebd205..33df9a7 100644 --- a/src/stores/tasks.ts +++ b/src/stores/tasks.ts @@ -3,6 +3,7 @@ import type { Task, TasksGroupByChannel, TasksResponse } from '@/api/task' import type { TaskListParams } from '@/api' import { getTaskList } from '@/api' +import { isNumber } from 'lodash-es' export interface ChannelMoreBtnStatus { /** true 浠诲姟鏈姞杞藉畬 false 鎵�鏈変换鍔″凡缁忓姞杞藉畬鎴�*/ @@ -17,8 +18,9 @@ /** * 鑾峰彇浠诲姟鏁版嵁 * @param type 1鏈畬鎴�2浠婂ぉ鏈畬鎴�3宸插畬鎴� + * @param init 鏄惁鏄娆¤幏鍙�,棣栨闇�瑕侀�変腑绗竴椤逛换鍔� */ - function getChannels(type: 1 | 2 | 3) { + function getChannels(type: 1 | 2 | 3, init = false) { currentType.value = type const params: TaskListParams = { type, @@ -34,8 +36,10 @@ channels.value = [] }) .finally(() => { - // 棣栨鑾峰彇閫氶亾鏁版嵁鏃惰嚜鍔ㄩ�変腑绗竴涓换鍔� - selectFirstTask(channels.value) + if (init) { + // 棣栨鑾峰彇閫氶亾鏁版嵁鏃惰嚜鍔ㄩ�変腑绗竴涓换鍔� + selectFirstTask(channels.value) + } }) } @@ -66,6 +70,7 @@ const currentChannelTaskList = channels.value[channel].Tasks if (currentChannelTaskList?.length) { activeTask.value = currentChannelTaskList[0] + setActiveChannel(channel) } else { const firstNotEmptyChannel = Object.entries(channels.value).find((ele) => { const taskList = (ele[1] as TasksResponse)?.Tasks @@ -76,6 +81,7 @@ if (firstNotEmptyChannel) { const channelNumber = +firstNotEmptyChannel[0] activeTask.value = channels.value[channelNumber].Tasks[0] + setActiveChannel(channel) } } } @@ -84,7 +90,7 @@ * 鍒锋柊鎵�鏈夋暟鎹� */ function reloadChannel(channel: number) { - getChannels(currentType.value).then(() => { + return getChannels(currentType.value).then(() => { autoSelectTask(channel) }) } @@ -131,6 +137,9 @@ const activeTask = ref<Task>() function setActiveTask(task: Task | undefined) { activeTask.value = task + if (isNumber(task?.Channel)) { + setActiveChannel(task?.Channel as number) + } } const activeChannel = ref<number>(0) -- Gitblit v1.8.0