From 456d6ed3fb5412575cb7541d3a0a601466d97038 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期一, 13 十一月 2023 16:56:11 +0800
Subject: [PATCH] feat: step组件适配工序过多情况;修复任务少于3条时展示收起按钮的问题
---
src/stores/tasks.ts | 50 ++++++++++++++++++++++++++++----------------------
1 files changed, 28 insertions(+), 22 deletions(-)
diff --git a/src/stores/tasks.ts b/src/stores/tasks.ts
index 02f2694..971a627 100644
--- a/src/stores/tasks.ts
+++ b/src/stores/tasks.ts
@@ -33,6 +33,26 @@
console.error(err)
channels.value = []
})
+ .finally(() => {
+ // 棣栨鑾峰彇閫氶亾鏁版嵁鏃惰嚜鍔ㄩ�変腑绗竴涓换鍔�
+ selectFirstTask(channels.value)
+ })
+ }
+
+ function selectFirstTask(channels: TasksGroupByChannel) {
+ const firstNotEmptyChannel = Object.entries(channels).find((ele) => {
+ const taskList = (ele[1] as TasksResponse)?.Tasks
+
+ return !!taskList?.length
+ })
+
+ if (firstNotEmptyChannel) {
+ const channelNumber = +firstNotEmptyChannel[0]
+ activeTask.value = channels[channelNumber].Tasks[0]
+ } else {
+ // 濡傛灉娌℃湁浠诲姟灏辨竻绌哄綋鍓嶉�変腑鐨勪换鍔�
+ activeTask.value = undefined
+ }
}
/**
@@ -59,10 +79,14 @@
/**
* 鍒锋柊鎵�鏈夋暟鎹�
*/
- function reload(channel: number) {
+ function reloadChannel(channel: number) {
getChannels(currentType.value).then(() => {
autoSelectTask(channel)
})
+ }
+
+ function reloadAllData() {
+ getChannels(currentType.value)
}
function moreChannelTasksBtn(channelNumber: number) {
@@ -105,33 +129,15 @@
activeTask.value = task
}
- const requestParamsMap = ref<{
- [channel: number]: TaskListParams
- }>({})
- function getParamsByChannel(channel: number) {
- return (
- requestParamsMap.value[channel] ?? {
- type: 1,
- offset: 0,
- limit: 3
- }
- )
- }
-
- function setParamsByChannel(channel: number, params: TaskListParams) {
- requestParamsMap.value[channel] = params
- }
return {
channels,
getChannels,
moreBtnStatus,
activeTask,
- reload,
+ reloadChannel,
setActiveTask,
- requestParamsMap,
- getParamsByChannel,
- setParamsByChannel,
moreChannelTasksBtn,
- foldChannelTasksBtn
+ foldChannelTasksBtn,
+ reloadAllData
}
})
--
Gitblit v1.8.0