From c70ab8c119fde7aa6f315923165ff5cf6aea2019 Mon Sep 17 00:00:00 2001 From: ShineKOT <1917095344@qq.com> Date: Thu, 3 Jul 2025 19:53:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=A1=E7=89=87=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=BF=AB=E9=80=9F=E5=B7=A5=E5=85=B7=E6=A0=8F=E5=92=8C=E6=89=B9?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E5=B7=A5=E5=85=B7=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/control/data-view/data-view.scss | 5 ++++ src/control/data-view/data-view.tsx | 39 +++++++++++++++++++++++++--- src/control/list/list.scss | 4 +-- src/control/list/list.tsx | 2 +- 5 files changed, 44 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9de9387..769f2e97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - 看板新增识别泳道相关功能 - 应用级功能工具类新增路由是否初始化构建完成钩子(onRouteIsReady) - 新增识别应用启动视图、应用欢迎视图 +- 卡片新增快速工具栏和批操作工具栏 ### Changed diff --git a/src/control/data-view/data-view.scss b/src/control/data-view/data-view.scss index b00c4138..cea61c41 100644 --- a/src/control/data-view/data-view.scss +++ b/src/control/data-view/data-view.scss @@ -100,6 +100,11 @@ $control-dataview-group-item-content: ( align-content: flex-start; overflow: auto; } + + @include e(batchtoolbar) { + padding: 0 getCssVar(spacing, base); + margin: getCssVar(spacing, tight) getCssVar(spacing, super, tight); + } } @include b(control-dataview-item) { diff --git a/src/control/data-view/data-view.tsx b/src/control/data-view/data-view.tsx index b5627e58..1ee12d6a 100644 --- a/src/control/data-view/data-view.tsx +++ b/src/control/data-view/data-view.tsx @@ -494,13 +494,43 @@ export const DataViewControl = defineComponent({ ); }; + // 绘制快速工具栏 + const renderQuickToolBar = (): VNode | undefined => { + const ctrlModel = c.model.controls?.find(item => { + return item.name === `${c.model.name!}_quicktoolbar`; + }); + if (!ctrlModel) return; + return ( + + ); + }; + + // 绘制批操作工具栏 + const renderBatchToolBar = (): VNode | undefined => { + const ctrlModel = c.model.controls?.find(item => { + return item.name === `${c.model.name!}_batchtoolbar`; + }); + if (!ctrlModel) return; + return ( +
+ +
+ ); + }; + const renderNoData = (): VNode | undefined => { // 未加载不显示无数据 const { isLoaded } = c.state; - if (!isLoaded) { - return; - } - const noDataSlots: IParams = {}; + if (!isLoaded) return; + const noDataSlots: IParams = { default: () => renderQuickToolBar() }; if (hasEmptyPanelRenderer(c)) { Object.assign(noDataSlots, { customRender: () => ( @@ -603,6 +633,7 @@ export const DataViewControl = defineComponent({ const renderContent = () => { return [ c.state.items.length > 0 ? renderHasData() : renderNoData(), + renderBatchToolBar(), renderNavIcon(), renderCollapseExpandIcon(), ]; diff --git a/src/control/list/list.scss b/src/control/list/list.scss index 90f77d2b..2ad55b57 100644 --- a/src/control/list/list.scss +++ b/src/control/list/list.scss @@ -68,8 +68,8 @@ $control-list: ( text-align: center; } - @include b(control-list-content) { - flex-grow: 1; + @include e(batchtoolbar) { + margin: getCssVar(spacing, tight) 0; } } diff --git a/src/control/list/list.tsx b/src/control/list/list.tsx index 15833915..9920f2f0 100644 --- a/src/control/list/list.tsx +++ b/src/control/list/list.tsx @@ -473,7 +473,7 @@ export const ListControl = defineComponent({ }); if (!ctrlModel) return; return ( -
+