From ff519d5f499f037a45a7c9efc440e4848d39df24 Mon Sep 17 00:00:00 2001 From: Cano1997 <1978141412@qq.com> Date: Tue, 19 Aug 2025 10:54:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E5=9C=B0=E5=9B=BE=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=A1=8C=E6=94=BF=E7=AD=89=E7=BA=A7=E5=BA=8F=E5=8F=B7?= =?UTF-8?q?=EF=BC=88srfarealevelnum=EF=BC=89=E5=8F=82=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E7=9C=81=E7=BA=A7=E8=A1=8C=E6=94=BF=E5=AF=B9=E5=BA=94=E4=B8=BA?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/runtime/CHANGELOG.md | 4 ++ .../controller/control/map/map.controller.ts | 8 +++- packages/runtime/src/utils/index.ts | 1 + .../runtime/src/utils/map-util/map-util.ts | 41 +++++++++++++++++++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 packages/runtime/src/utils/map-util/map-util.ts diff --git a/packages/runtime/CHANGELOG.md b/packages/runtime/CHANGELOG.md index 5eae74ac6db..c21f21c3b61 100644 --- a/packages/runtime/CHANGELOG.md +++ b/packages/runtime/CHANGELOG.md @@ -7,6 +7,10 @@ ## [Unreleased] +### Added + +- 地图新增行政等级序号(srfarealevelnum)参数,省级行政对应为1 + ### Fixed - 修复树表格错误提示信息错误 diff --git a/packages/runtime/src/controller/control/map/map.controller.ts b/packages/runtime/src/controller/control/map/map.controller.ts index 9547cf63e0f..4b918bd1e09 100644 --- a/packages/runtime/src/controller/control/map/map.controller.ts +++ b/packages/runtime/src/controller/control/map/map.controller.ts @@ -9,6 +9,7 @@ import { MDCtrlLoadParams, } from '../../../interface'; import { MDControlController } from '../../common'; +import { getAreaLevelByCode, getAreaLevelNum } from '../../../utils'; export class MapController extends MDControlController @@ -64,13 +65,15 @@ export class MapController try { // *初始加载需要重置分页 const isInitialLoad = args.isInitialLoad === true; - - // *查询参数处理 const { context } = this.handlerAbilityParams(args); const params = await this.getFetchParams(args?.viewParam); // 将当前区域编码与行政等级添加到上下文中,可在地图项中配置自定义条件转换为视图参数 context.srfareacode = this.state.areaCode; context.srfarealevel = this.state.areaLevel; + // 地图为100000时无行政等级 + if (context.srfarealevel) { + context.srfarealevelnum = getAreaLevelNum(this.state.areaLevel); + } const res = await this.service.fetchAll(context, params); @@ -160,6 +163,7 @@ export class MapController : Number(this.state.defaultAreaCode); this.state.areaCode = this.state.defaultAreaCode; + this.state.areaLevel = getAreaLevelByCode(this.state.areaCode.toString()); } /** diff --git a/packages/runtime/src/utils/index.ts b/packages/runtime/src/utils/index.ts index 62d7ef9f340..1f5a22d988b 100644 --- a/packages/runtime/src/utils/index.ts +++ b/packages/runtime/src/utils/index.ts @@ -36,3 +36,4 @@ export * from './dr-ctrl-util'; export * from './date-util'; export { ChangeTracker } from './change-tracker /change-tracker'; export { ViewShellHooks } from './view-shell-hooks/view-shell-hooks'; +export * from './map-util/map-util'; diff --git a/packages/runtime/src/utils/map-util/map-util.ts b/packages/runtime/src/utils/map-util/map-util.ts new file mode 100644 index 00000000000..2bd4c5c4bca --- /dev/null +++ b/packages/runtime/src/utils/map-util/map-util.ts @@ -0,0 +1,41 @@ +/** + * @description 根据行政等级获取行政等级对应的数字,province为1 + * @export + * @param {string} areaLevel + * @returns {*} {number} + */ +export function getAreaLevelNum(areaLevel: string): number { + return ['province', 'city', 'district', 'township'].indexOf(areaLevel) + 1; +} + +/** + * @description 根据行政编码计算行政等级,仅支持6位行政编码,国家级返回空串 + * @export + * @param {string} code + * @returns {*} {number} + */ +export const getAreaLevelByCode = (code: string): string => { + // 验证输入 + if (!code || code.length !== 6) { + return ''; + } + // 提取前6位作为基础代码 + const baseCode = code.substring(0, 6); + // 国家级判断: 后5位为0 + if (baseCode.substring(1) === '00000') { + return ''; + } + // 省级判断: 后4位为0 + if (baseCode.substring(2) === '0000') { + return 'province'; + } + // 地级判断: 后2位为0 + if (baseCode.substring(4) === '00') { + return 'city'; + } + // 县级判断: 6位完整代码 + if (code.length === 6) { + return 'district'; + } + return ''; +}; -- Gitee From 1dedb6eac27a8c74277b68a9671e467027878c66 Mon Sep 17 00:00:00 2001 From: Cano1997 <1978141412@qq.com> Date: Tue, 19 Aug 2025 11:00:39 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=A9=BA=E6=A0=BC=E5=BC=82=E5=B8=B8=EF=BC=8C=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E5=88=87=E5=88=86=E6=94=AF=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{change-tracker => change-tracker}/change-history-item.ts | 0 .../utils/{change-tracker => change-tracker}/change-tracker.ts | 0 packages/runtime/src/utils/index.ts | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename packages/runtime/src/utils/{change-tracker => change-tracker}/change-history-item.ts (100%) rename packages/runtime/src/utils/{change-tracker => change-tracker}/change-tracker.ts (100%) diff --git a/packages/runtime/src/utils/change-tracker /change-history-item.ts b/packages/runtime/src/utils/change-tracker/change-history-item.ts similarity index 100% rename from packages/runtime/src/utils/change-tracker /change-history-item.ts rename to packages/runtime/src/utils/change-tracker/change-history-item.ts diff --git a/packages/runtime/src/utils/change-tracker /change-tracker.ts b/packages/runtime/src/utils/change-tracker/change-tracker.ts similarity index 100% rename from packages/runtime/src/utils/change-tracker /change-tracker.ts rename to packages/runtime/src/utils/change-tracker/change-tracker.ts diff --git a/packages/runtime/src/utils/index.ts b/packages/runtime/src/utils/index.ts index 1f5a22d988b..b2cb335eaef 100644 --- a/packages/runtime/src/utils/index.ts +++ b/packages/runtime/src/utils/index.ts @@ -34,6 +34,6 @@ export { VoiceUtil } from './voice-util/voice-util'; export { EncyptionUtil } from './encryption-uitl/encryption-uitl'; export * from './dr-ctrl-util'; export * from './date-util'; -export { ChangeTracker } from './change-tracker /change-tracker'; +export { ChangeTracker } from './change-tracker/change-tracker'; export { ViewShellHooks } from './view-shell-hooks/view-shell-hooks'; export * from './map-util/map-util'; -- Gitee