From b050b427e4174ef6888cde3cb13d05bf10e710a8 Mon Sep 17 00:00:00 2001 From: Cano1997 <1978141412@qq.com> Date: Thu, 24 Jul 2025 20:16:52 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20drbar=E3=80=81drtab=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E5=8F=82=E6=95=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ src/control/drbar/drbar.tsx | 19 ++++++++++--------- src/control/drtab/drtab.tsx | 13 +++++++------ 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a977e597c..702bc1e40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ ## [Unreleased] +### Added + +- drbar、drtab事件参数调整 + ## [0.7.41-alpha.14] - 2025-07-23 ### Added diff --git a/src/control/drbar/drbar.tsx b/src/control/drbar/drbar.tsx index 4e57ba425..4a987dc64 100644 --- a/src/control/drbar/drbar.tsx +++ b/src/control/drbar/drbar.tsx @@ -12,7 +12,7 @@ import { VNode, watch, } from 'vue'; -import { IDEDRBar, IDEDRCtrlItem } from '@ibiz/model-core'; +import { IDEDRBar } from '@ibiz/model-core'; import { useRoute, useRouter } from 'vue-router'; import { IControlProvider, IDRBarItemsState } from '@ibiz-template/runtime'; import { DRBarController } from './drbar.controller'; @@ -53,7 +53,9 @@ export const DRBarControl = defineComponent({ hideEditItem: { type: Boolean, default: undefined }, }, setup(props) { - const c = useControlController((...args) => new DRBarController(...args)); + const c: DRBarController = useControlController( + (...args) => new DRBarController(...args), + ); const ns = useNamespace(`control-${c.model.controlType!.toLowerCase()}`); const router = useRouter(); @@ -75,13 +77,12 @@ export const DRBarControl = defineComponent({ const handleSelect = (key: string): void => { c.handleSelectChange(key); - const drBarItem = c.model.dedrctrlItems?.find( - (item: IDEDRCtrlItem) => item.id === key, - ); - c.evt.emit('onTabChange', { - name: key, - item: drBarItem || c.state.drBarItems[0], - }); + const drBarItem = c.state.drBarItems.find(item => item.tag === key); + if (drBarItem) { + c.evt.emit('onTabChange', { + data: drBarItem, + }); + } }; const route = useRoute(); diff --git a/src/control/drtab/drtab.tsx b/src/control/drtab/drtab.tsx index ba231b474..67cd241f6 100644 --- a/src/control/drtab/drtab.tsx +++ b/src/control/drtab/drtab.tsx @@ -90,13 +90,14 @@ export const DRTabControl = defineComponent({ const emitChange = () => { const { activeName } = c.state; - const drBarItem = c.model.dedrtabPages?.find( - item => item.id === activeName, + const drTabItem = c.state.drTabPages.find( + item => item.tag === activeName, ); - c.evt.emit('onTabChange', { - name: activeName, - item: drBarItem || c.state.drTabPages[0], - }); + if (drTabItem) { + c.evt.emit('onTabChange', { + data: drTabItem, + }); + } }; const handleTabChange = (): void => { -- Gitee From 932c3e9bc2c97d0d581355583a40689dad09480f Mon Sep 17 00:00:00 2001 From: Cano1997 <1978141412@qq.com> Date: Thu, 24 Jul 2025 20:18:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=A0=B7=E5=BC=8F=E5=88=9D=E6=AC=A1?= =?UTF-8?q?=E7=BB=98=E5=88=B6=E6=95=B0=E6=8D=AE=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ src/common/map-chart-user/map-chart-user.tsx | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 702bc1e40..cc753d070 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ - drbar、drtab事件参数调整 +### Fixed + +- 修复地图自定义样式初次绘制数据异常 + ## [0.7.41-alpha.14] - 2025-07-23 ### Added diff --git a/src/common/map-chart-user/map-chart-user.tsx b/src/common/map-chart-user/map-chart-user.tsx index 4145a5751..5609eb974 100644 --- a/src/common/map-chart-user/map-chart-user.tsx +++ b/src/common/map-chart-user/map-chart-user.tsx @@ -1,5 +1,12 @@ /* eslint-disable eqeqeq */ -import { defineComponent, onMounted, PropType, computed } from 'vue'; +import { + defineComponent, + onMounted, + PropType, + computed, + toRefs, + watch, +} from 'vue'; import { isNil, mergeDeepLeft, mergeDeepWithKey } from 'ramda'; import { useNamespace } from '@ibiz-template/vue3-util'; import { IMapData, MapController } from '@ibiz-template/runtime'; @@ -53,7 +60,7 @@ export const IBizMapChartUser = defineComponent({ ); }); - const { chartRef, historyNames, changeMap, getCityInfo, goBack } = + const { chartRef, historyNames, changeMap, getCityInfo, goBack, refresh } = useMapManager(props.controller, options, mapName => { const areaData = props.areaData || []; const pointData = props.pointData || []; @@ -93,6 +100,11 @@ export const IBizMapChartUser = defineComponent({ changeMap(name, areaCode, true); }); + const { areaData, pointData } = toRefs(props); + watch([areaData, pointData], () => { + refresh(); + }); + return { ns, chartRef, historyNames, goBack }; }, render() { -- Gitee