From e82ff7dd9514dc551e9ae6ea697b4f57aa1fe581 Mon Sep 17 00:00:00 2001 From: zhangpingchuan <228939628@qq.com> Date: Fri, 15 Dec 2023 18:54:52 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20kanban=E9=83=A8=E4=BB=B6=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E5=8F=98=E9=87=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/control/kanban/kanban.scss | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/control/kanban/kanban.scss b/src/control/kanban/kanban.scss index f267fc5bd..df7d85c62 100644 --- a/src/control/kanban/kanban.scss +++ b/src/control/kanban/kanban.scss @@ -1,5 +1,7 @@ $control-kanban: ( text-color: getCssVar(color, text, 0), + font-size: getCssVar('font-size', 'regular'), + font-weight: getCssVar('font-weight', 'bold'), hover-bg-color: getCssVar(color, fill, 0), selected-bg-color: getCssVar(color, fill, 0), ); @@ -12,9 +14,9 @@ $control-kanban: ( @include m(row) { @include flex(row); - gap: 16px; + gap: getCssVar(spacing, base); overflow: auto; - padding: 0 8px 8px; + padding: 0 getCssVar(spacing, tight) getCssVar(spacing, tight); @include b(control-kanban-group) { @include when(collapse) { width: 32px; @@ -42,7 +44,7 @@ $control-kanban: ( @include m(column) { @include flex(row); flex-direction: column; - gap: 16px; + gap: getCssVar(spacing, base); @include b(control-kanban-group) { @include when(collapse) { @@ -68,21 +70,21 @@ $control-kanban: ( } @include e(header) { height: 48px; - font-size: 14px; - font-weight: bold; - padding: 0 16px; + font-size: getCssVar(control-kanban, font-size); + font-weight: getCssVar(control-kanban, font-weight); + padding: 0 getCssVar(spacing, base); border-bottom: 1px solid getCssVar(color, border); @include flex(row, space-between, center); } @include e(header-left) { @include flex(row, center, center); ion-icon { - margin-right: 8px; + margin-right: getCssVar(spacing, tight); transition: transform 0.3s; } } @include e(header-caption) { - padding: 0 8px; + padding: 0 getCssVar(spacing, tight); border-radius: 100px; white-space: nowrap; @include when(badge) { @@ -90,7 +92,7 @@ $control-kanban: ( } } @include e(list) { - padding: 0 8px; + padding: 0 getCssVar(spacing, tight); height: calc(100% - 48px); overflow: auto; } @@ -99,8 +101,8 @@ $control-kanban: ( height: 32px; width: 32px; border-radius: 50%; - padding: 8px; - font-size: 14px; + padding: getCssVar(spacing, tight); + font-size: getCssVar(control-kanban, font-size); color: getCssVar(color, primary); &:hover { background-color: getCssVar(color, fill, 0); @@ -109,7 +111,7 @@ $control-kanban: ( } @include b(control-kanban-item) { - margin: 16px 0; + margin: getCssVar(spacing, base) 0; cursor: pointer; &:hover { -- Gitee From 50c0b5484084d9a7a8db3966becb10671ff7f31b Mon Sep 17 00:00:00 2001 From: zhangpingchuan <228939628@qq.com> Date: Fri, 15 Dec 2023 18:55:44 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=20=E8=B0=83=E6=95=B4gantt=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=BC=95=E7=94=A8=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/control/gantt/gantt.tsx | 39 +++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/control/gantt/gantt.tsx b/src/control/gantt/gantt.tsx index 62c3caae1..fe04d4c13 100644 --- a/src/control/gantt/gantt.tsx +++ b/src/control/gantt/gantt.tsx @@ -9,6 +9,10 @@ import { resolveComponent, VNode, h, + onMounted, + getCurrentInstance, + ref, + Ref, } from 'vue'; import { IDEGantt, @@ -27,12 +31,6 @@ import { IButtonContainerState, } from '@ibiz-template/runtime'; import { MenuItem } from '@imengyu/vue3-context-menu'; -import { - XGanttColumn, - XGantt, - XGanttSlider, -} from '@ibiz-template-plugin/gantt'; -import '@ibiz-template-plugin/gantt/dist/style.css'; export const GanttControl = defineComponent({ name: 'IBizGanttControl', @@ -49,6 +47,8 @@ export const GanttControl = defineComponent({ const c: GanttController = useControlController( (...args) => new GanttController(...args), ); + // 是否初始化 + const isInited: Ref = ref(false); const ns = useNamespace(`control-${c.model.controlType!.toLowerCase()}`); const iBizRawItem = resolveComponent('IBizRawItem'); @@ -58,6 +58,17 @@ export const GanttControl = defineComponent({ const selection: IData[] = []; + // 动态加载gantt组件 + const app = getCurrentInstance()?.appContext.app; + onMounted(() => { + const importGantt = () => import('@ibiz-template-plugin/gantt'); + importGantt().then(value => { + const defaltModule = value.default; + app?.use(defaltModule); + isInited.value = true; + }); + }); + /** * 实际呈现的数据 */ @@ -329,7 +340,7 @@ export const GanttControl = defineComponent({ const { caption, codeName, width, headerSysCss, align } = model; const columnC = c.columns[codeName!]; return ( - 30 ? width : 30} @@ -357,7 +368,7 @@ export const GanttControl = defineComponent({ return null; }, }} - + ); }; @@ -386,7 +397,7 @@ export const GanttControl = defineComponent({ */ const renderSlider = () => { return ( - + {{ default: ({ row }: IData): VNode => { const panel = findNodeLayoutPanel(row.nodeId); @@ -400,7 +411,7 @@ export const GanttControl = defineComponent({ ); }, }} - + ); }; @@ -419,6 +430,7 @@ export const GanttControl = defineComponent({ return { c, ns, + isInited, data, locale, columns, @@ -430,9 +442,12 @@ export const GanttControl = defineComponent({ }; }, render() { + if (!this.isInited) { + return null; + } return ( - + ); }, -- Gitee