首页「更多」入口改为常驻:点击跳转工作流管理页,不再依赖工作流数量超出 9 个
- InputBar 快捷胶囊区、MainContent 占位卡片区:去掉「超过 9 个才显示」条件,「更多」常驻在列表末尾 - 清理 MainContent 不再使用的 hasMorePlaceWorkflows 状态 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -66,9 +66,8 @@
|
|||||||
{{ wf.name }}
|
{{ wf.name }}
|
||||||
<span v-if="wf.isTemplate" class="pill-tag">模板</span>
|
<span v-if="wf.isTemplate" class="pill-tag">模板</span>
|
||||||
</button>
|
</button>
|
||||||
<!-- 工作流数量超出展示上限时提供「更多」入口:跳转工作流管理页查看/选择全部 -->
|
<!-- 「更多」常驻入口:点击跳转工作流管理页查看/选择全部,不依赖工作流数量超出上限 -->
|
||||||
<button
|
<button
|
||||||
v-if="commonWorkflows.length > MAX_WORKFLOWS"
|
|
||||||
class="shortcut-pill shortcut-more"
|
class="shortcut-pill shortcut-more"
|
||||||
title="查看全部工作流"
|
title="查看全部工作流"
|
||||||
@click="handleOpenWorkflowManage"
|
@click="handleOpenWorkflowManage"
|
||||||
|
|||||||
@@ -37,9 +37,8 @@
|
|||||||
<span class="wf-card-name">{{ wf.name }}</span>
|
<span class="wf-card-name">{{ wf.name }}</span>
|
||||||
<span v-if="wf.isTemplate" class="wf-card-tag">模板</span>
|
<span v-if="wf.isTemplate" class="wf-card-tag">模板</span>
|
||||||
</button>
|
</button>
|
||||||
<!-- 工作流数量超出展示上限时提供「更多」入口:跳转工作流管理页 -->
|
<!-- 「更多」常驻入口:点击跳转工作流管理页查看/选择全部,不依赖工作流数量超出上限 -->
|
||||||
<button
|
<button
|
||||||
v-if="hasMorePlaceWorkflows"
|
|
||||||
type="button"
|
type="button"
|
||||||
class="workflow-card wf-card-more"
|
class="workflow-card wf-card-more"
|
||||||
title="查看全部工作流"
|
title="查看全部工作流"
|
||||||
@@ -103,22 +102,18 @@ const hasResults = computed(() => Array.isArray(props.results) && props.results.
|
|||||||
// 占位页工作流卡片(DeepSeek 式引导:居中标题 + 工作流卡片)
|
// 占位页工作流卡片(DeepSeek 式引导:居中标题 + 工作流卡片)
|
||||||
// 展示上限与 InputBar 胶囊保持一致:用户工作流优先,不足用模板补足,最多 9 个
|
// 展示上限与 InputBar 胶囊保持一致:用户工作流优先,不足用模板补足,最多 9 个
|
||||||
const MAX_PLACE_WORKFLOWS = 9;
|
const MAX_PLACE_WORKFLOWS = 9;
|
||||||
// 工作流总数超过展示上限时显示「更多」入口(跳转工作流管理页)
|
|
||||||
const hasMorePlaceWorkflows = ref(false);
|
|
||||||
const placeWorkflows = ref<any[]>([]);
|
const placeWorkflows = ref<any[]>([]);
|
||||||
const loadPlaceWorkflows = async () => {
|
const loadPlaceWorkflows = async () => {
|
||||||
try {
|
try {
|
||||||
const res: any = await getWorkflowList();
|
const res: any = await getWorkflowList();
|
||||||
const userList = res.data?.listFlowUserRes?.list || [];
|
const userList = res.data?.listFlowUserRes?.list || [];
|
||||||
const tplList = res.data?.listFlowTemplateRes?.list || [];
|
const tplList = res.data?.listFlowTemplateRes?.list || [];
|
||||||
hasMorePlaceWorkflows.value = userList.length + tplList.length > MAX_PLACE_WORKFLOWS;
|
|
||||||
placeWorkflows.value = [
|
placeWorkflows.value = [
|
||||||
...userList.map((w: any) => ({ id: String(w.id), name: w.flowName || '未命名', isTemplate: false })),
|
...userList.map((w: any) => ({ id: String(w.id), name: w.flowName || '未命名', isTemplate: false })),
|
||||||
...tplList.map((w: any) => ({ id: String(w.id), name: w.flowTemplateName || '未命名', isTemplate: true })),
|
...tplList.map((w: any) => ({ id: String(w.id), name: w.flowTemplateName || '未命名', isTemplate: true })),
|
||||||
].slice(0, MAX_PLACE_WORKFLOWS);
|
].slice(0, MAX_PLACE_WORKFLOWS);
|
||||||
} catch {
|
} catch {
|
||||||
placeWorkflows.value = [];
|
placeWorkflows.value = [];
|
||||||
hasMorePlaceWorkflows.value = false;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const handlePlaceSelect = (wf: any) => {
|
const handlePlaceSelect = (wf: any) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user