From 731a89241b2064ca1a03e612c524d4e108bf6541 Mon Sep 17 00:00:00 2001 From: aalizzwell Date: Mon, 25 Aug 2025 14:22:16 +0800 Subject: [PATCH 1/5] =?UTF-8?q?chore:=20=E8=A1=A8=E6=A0=BC=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=E6=94=AF=E6=8C=81=E6=B8=85=E7=A9=BA=E3=80=81=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=8A=A0=E8=BD=BD=E5=89=8D=E3=80=81=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=89=8D=E3=80=81=E5=B8=AE=E5=8A=A9=E5=90=8E?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-grid-component-config-resolver.ts | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/renderer/src/component-config-resolver/data-grid-component-config-resolver.ts b/packages/renderer/src/component-config-resolver/data-grid-component-config-resolver.ts index 284a6ecf18a..e083175e987 100644 --- a/packages/renderer/src/component-config-resolver/data-grid-component-config-resolver.ts +++ b/packages/renderer/src/component-config-resolver/data-grid-component-config-resolver.ts @@ -80,16 +80,28 @@ export class DataGridComponentConfigResolver extends ComponentConfigResolver { } } private resolveLoolupColumn(viewSchema: Record, column: Record) { - const { editor, dictPicking } = column; + const { editor, dictPicking, clear, beforeLoadData, beforeSelectData, dictPicked } = column; if (!editor || editor.type !== 'lookup') { return; } + const { id } = viewSchema; + const relatedComponent = this.formMetadataService.getRelatedComponent(id); + const viewModel = this.viewModel.getModule().getViewModel(relatedComponent.id); if (dictPicking) { - const { id } = viewSchema; - const relatedComponent = this.formMetadataService.getRelatedComponent(id); - const viewModel = this.viewModel.getModule().getViewModel(relatedComponent.id); editor.dictPicking = (payload: any) => (viewModel as any)[dictPicking]({ payload, schema: viewSchema }); } + if (clear) { + editor.clear = (payload: any) => (viewModel as any)[clear]({ payload, schema: viewSchema }); + } + if (beforeLoadData) { + editor.beforeLoadData = (payload: any) => (viewModel as any)[beforeLoadData]({ payload, schema: viewSchema }); + } + if (beforeSelectData) { + editor.beforeSelectData = (payload: any) => (viewModel as any)[beforeSelectData]({ payload, schema: viewSchema }); + } + if (dictPicked) { + editor.dictPicked = (payload: any) => (viewModel as any)[dictPicked]({ payload, schema: viewSchema }); + } } /** -- Gitee From 926ca9bba1909bf10155368bcf1dc0785cc99ca3 Mon Sep 17 00:00:00 2001 From: aalizzwell Date: Mon, 25 Aug 2025 16:24:03 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feature:=20=E6=94=AF=E6=8C=81=E9=A1=B5?= =?UTF-8?q?=E5=A4=B4=E6=A8=A1=E6=9D=BF=E3=80=81=E6=94=AF=E6=8C=81tabs?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E3=80=81=E6=94=AF=E6=8C=81tab-page=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../page-header-component-config-resolver.ts | 2 +- .../src/template-transformer/index.ts | 3 ++ .../page-header-template-transformer.ts | 36 +++++++++++++++++ .../src/template-transformer/providers.ts | 6 +++ .../section-template-transformer.ts | 39 +++++++++++++++++++ .../tab-page-template-transformer.ts | 25 ++++++++++++ .../template-transformer.ts | 11 ++++++ 7 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 packages/renderer/src/template-transformer/page-header-template-transformer.ts create mode 100644 packages/renderer/src/template-transformer/section-template-transformer.ts create mode 100644 packages/renderer/src/template-transformer/tab-page-template-transformer.ts diff --git a/packages/renderer/src/component-config-resolver/page-header-component-config-resolver.ts b/packages/renderer/src/component-config-resolver/page-header-component-config-resolver.ts index 358153cb2fc..1aa39e81c21 100644 --- a/packages/renderer/src/component-config-resolver/page-header-component-config-resolver.ts +++ b/packages/renderer/src/component-config-resolver/page-header-component-config-resolver.ts @@ -36,7 +36,7 @@ export class PageHeaderComponentConfigResolver extends ComponentConfigResolver { return; } children.forEach((item: Record) => { - const { disabled, visible} = item; + const { disabled, visible } = item; item.disabled = this.configResolver.resolve(disabled, id); if (!isNil(visible)) { item.visible = this.configResolver.resolve(visible, id); diff --git a/packages/renderer/src/template-transformer/index.ts b/packages/renderer/src/template-transformer/index.ts index 15350151bdc..30131293f36 100644 --- a/packages/renderer/src/template-transformer/index.ts +++ b/packages/renderer/src/template-transformer/index.ts @@ -3,4 +3,7 @@ export * from './template-transformer'; export * from './data-grid-column-template-transformer'; export * from './template-transformer-registry'; export * from './template-transform-service'; +export * from './page-header-template-transformer'; +export * from './section-template-transformer'; +export * from './tab-page-template-transformer'; export * from './providers'; diff --git a/packages/renderer/src/template-transformer/page-header-template-transformer.ts b/packages/renderer/src/template-transformer/page-header-template-transformer.ts new file mode 100644 index 00000000000..e5bbc8c219e --- /dev/null +++ b/packages/renderer/src/template-transformer/page-header-template-transformer.ts @@ -0,0 +1,36 @@ + +import { TemplateTransformer } from "./template-transformer"; +import { FormMetadataService } from "../service"; +import { Injector, ViewModel, ViewModelState } from "@farris/devkit-vue"; + +export class PageHeaderTemplateTransformer extends TemplateTransformer { + constructor(protected formMetadataService: FormMetadataService, protected viewModel: ViewModel, private injector: Injector) { + super(formMetadataService, viewModel); + } + public transform(schema: Record): void { + const { id, type, titleContentHtml, contentHtml, downContentHtml } = schema; + if (type !== 'page-header') { + return; + } + const viewModel = this.getRelatedViewModel(id); + if (!viewModel) { + return; + } + // 标题模板 + if (titleContentHtml) { + const render = this.buildTemplateRender(titleContentHtml, viewModel); + schema.titleContentRenderFunction = render; + } + // 内容模板 + if (contentHtml) { + const render = this.buildTemplateRender(contentHtml, viewModel); + schema.contentRenderFunction = render; + } + // 扩展模板 + if (downContentHtml) { + const render = this.buildTemplateRender(downContentHtml, viewModel); + schema.downContentRenderFunction = render; + } + } + +} diff --git a/packages/renderer/src/template-transformer/providers.ts b/packages/renderer/src/template-transformer/providers.ts index 989c0bc1dbc..2aa9bc13492 100644 --- a/packages/renderer/src/template-transformer/providers.ts +++ b/packages/renderer/src/template-transformer/providers.ts @@ -5,10 +5,16 @@ import { HtmlTemplateComponentTemplateTransformer } from "./html-template-compon import { FormMetadataService } from "../service"; import { TemplateTransformerRegistry } from "./template-transformer-registry"; import { TemplateTransformService } from "./template-transform-service"; +import { PageHeaderTemplateTransformer } from "./page-header-template-transformer"; +import { SectionTemplateTransformer } from './section-template-transformer'; +import { TabPageTemplateTransformer } from "./tab-page-template-transformer"; export const htmlTemplateTransformers: StaticProvider[] = [ { provide: TEMPLATE_TRANSFORMERS_TOKEN, useClass: DataGridColumnTemplateTransformer, deps: [FormMetadataService, ViewModel, Injector], multi: true }, { provide: TEMPLATE_TRANSFORMERS_TOKEN, useClass: HtmlTemplateComponentTemplateTransformer, deps: [FormMetadataService, ViewModel], multi: true }, + { provide: TEMPLATE_TRANSFORMERS_TOKEN, useClass: PageHeaderTemplateTransformer, deps: [FormMetadataService, ViewModel, Injector], multi: true }, + { provide: TEMPLATE_TRANSFORMERS_TOKEN, useClass: SectionTemplateTransformer, deps: [FormMetadataService, ViewModel, Injector], multi: true }, + { provide: TEMPLATE_TRANSFORMERS_TOKEN, useClass: TabPageTemplateTransformer, deps: [FormMetadataService, ViewModel, Injector], multi: true }, { provide: TemplateTransformerRegistry, useClass: TemplateTransformerRegistry, deps: [TEMPLATE_TRANSFORMERS_TOKEN] }, { provide: TemplateTransformService, useClass: TemplateTransformService, deps: [TemplateTransformerRegistry] }, ]; diff --git a/packages/renderer/src/template-transformer/section-template-transformer.ts b/packages/renderer/src/template-transformer/section-template-transformer.ts new file mode 100644 index 00000000000..cedbfa9af54 --- /dev/null +++ b/packages/renderer/src/template-transformer/section-template-transformer.ts @@ -0,0 +1,39 @@ +import { TemplateTransformer } from "./template-transformer"; +import { FormMetadataService } from "../service"; +import { Injector, ViewModel, ViewModelState } from "@farris/devkit-vue"; + +export class SectionTemplateTransformer extends TemplateTransformer { + constructor(protected formMetadataService: FormMetadataService, protected viewModel: ViewModel, private injector: Injector) { + super(formMetadataService, viewModel); + } + public transform(schema: Record): void { + const { id, type, headerTitleHtml, headerHtml, headerContentHtml, toolbarHtml } = schema; + if (type !== 'section') { + return; + } + const viewModel = this.getRelatedViewModel(id); + if (!viewModel) { + return; + } + // 标题模板 + if (headerTitleHtml) { + const render = this.buildTemplateRender(headerTitleHtml, viewModel); + schema.headerTitleRenderFunction = render; + } + // 头部模板 + if (headerHtml) { + const render = this.buildTemplateRender(headerHtml, viewModel); + schema.headerRenderFunction = render; + } + // 扩展模板 + if (headerContentHtml) { + const render = this.buildTemplateRender(headerContentHtml, viewModel); + schema.headerContentRenderFunction = render; + } + // 扩展模板 + if (toolbarHtml) { + const render = this.buildTemplateRender(toolbarHtml, viewModel); + schema.toolbarRenderFunction = render; + } + } +} diff --git a/packages/renderer/src/template-transformer/tab-page-template-transformer.ts b/packages/renderer/src/template-transformer/tab-page-template-transformer.ts new file mode 100644 index 00000000000..2160e30fa9f --- /dev/null +++ b/packages/renderer/src/template-transformer/tab-page-template-transformer.ts @@ -0,0 +1,25 @@ +import { TemplateTransformer } from "./template-transformer"; +import { FormMetadataService } from "../service"; +import { Injector, ViewModel, ViewModelState } from "@farris/devkit-vue"; + +export class TabPageTemplateTransformer extends TemplateTransformer { + constructor(protected formMetadataService: FormMetadataService, protected viewModel: ViewModel, private injector: Injector) { + super(formMetadataService, viewModel); + } + public transform(schema: Record): void { + const { id, type, titleHtml } = schema; + if (type !== 'tab-page') { + return; + } + const viewModel = this.getRelatedViewModel(id); + if (!viewModel) { + return; + } + // 标题模板 + if (titleHtml) { + const render = this.buildTemplateRender(titleHtml, viewModel); + schema.titleRenderFunction = render; + } + } + +} diff --git a/packages/renderer/src/template-transformer/template-transformer.ts b/packages/renderer/src/template-transformer/template-transformer.ts index e83e115f5b6..e34d5e9595f 100644 --- a/packages/renderer/src/template-transformer/template-transformer.ts +++ b/packages/renderer/src/template-transformer/template-transformer.ts @@ -1,5 +1,7 @@ import { ViewModel, ViewModelState } from "@farris/devkit-vue"; import { FormMetadataService } from "../service"; +import { compile, createVNode } from "vue"; +import { TranslateService } from "@farris/command-services-vue"; export abstract class TemplateTransformer { @@ -38,4 +40,13 @@ export abstract class TemplateTransformer { current: viewModel }; } + protected buildTemplateRender(template: string, viewModel: ViewModel) { + const compiledTemplate = compile(template); + const templateContext = this.buildTempalteContext(viewModel); + const translateService = this.viewModel.getInjector().get(TranslateService); + const render = () => { + return createVNode({ render: compiledTemplate, props: ['viewModel', 't'] }, { viewModel: templateContext, t: translateService.transform.bind(translateService) }); + }; + return render; + } } -- Gitee From 39f1379a1394e48dfb4ca6a55df545f761b66808 Mon Sep 17 00:00:00 2001 From: aalizzwell Date: Mon, 25 Aug 2025 18:50:39 +0800 Subject: [PATCH 3/5] =?UTF-8?q?chore:=20=E5=8D=A1=E7=89=87=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=E6=94=AF=E6=8C=81=E4=BB=BB=E6=84=8F=E8=BE=93=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-grid-component-config-resolver.ts | 6 ++--- .../lookup-data-mapping-event-handler.ts | 26 +++++++++++++++++-- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/packages/renderer/src/component-config-resolver/data-grid-component-config-resolver.ts b/packages/renderer/src/component-config-resolver/data-grid-component-config-resolver.ts index e083175e987..3028b04179e 100644 --- a/packages/renderer/src/component-config-resolver/data-grid-component-config-resolver.ts +++ b/packages/renderer/src/component-config-resolver/data-grid-component-config-resolver.ts @@ -47,7 +47,7 @@ export class DataGridComponentConfigResolver extends ComponentConfigResolver { if (!isNil(visible)) { column.visible = this.configResolver.resolve(visible, id); } - this.resolveLoolupColumn(metadata, column); + this.resolveLookupColumn(metadata, column); if (!editor) { return; } @@ -79,7 +79,7 @@ export class DataGridComponentConfigResolver extends ComponentConfigResolver { editor.languages = languageList; } } - private resolveLoolupColumn(viewSchema: Record, column: Record) { + private resolveLookupColumn(viewSchema: Record, column: Record) { const { editor, dictPicking, clear, beforeLoadData, beforeSelectData, dictPicked } = column; if (!editor || editor.type !== 'lookup') { return; @@ -91,7 +91,7 @@ export class DataGridComponentConfigResolver extends ComponentConfigResolver { editor.dictPicking = (payload: any) => (viewModel as any)[dictPicking]({ payload, schema: viewSchema }); } if (clear) { - editor.clear = (payload: any) => (viewModel as any)[clear]({ payload, schema: viewSchema }); + editor.onClear = (payload: any) => (viewModel as any)[clear]({ payload, schema: viewSchema }); } if (beforeLoadData) { editor.beforeLoadData = (payload: any) => (viewModel as any)[beforeLoadData]({ payload, schema: viewSchema }); diff --git a/packages/renderer/src/event-handler/lookup-data-mapping-event-handler.ts b/packages/renderer/src/event-handler/lookup-data-mapping-event-handler.ts index 9c878bd854a..6cf9b302082 100644 --- a/packages/renderer/src/event-handler/lookup-data-mapping-event-handler.ts +++ b/packages/renderer/src/event-handler/lookup-data-mapping-event-handler.ts @@ -6,6 +6,7 @@ import { FormMetadataService } from "../service"; import { ENTITY_STORE_SUFFIX, ViewEvent } from "../types"; import { EventEmitter } from "../common"; import { get } from "lodash-es"; +import { FieldResolver } from "../resolvers"; export class LookupDataMappingEventHandler implements EventHandler { @@ -26,7 +27,7 @@ export class LookupDataMappingEventHandler implements EventHandler { } const mapFields = JSON.parse(component.editor?.mappingFields || component.editor?.mapFields || '{}'); const { separator = ',' } = component.editor || {}; - const { id } = component; + const { id, binding } = component; const relatedComponent = this.formMetadataService.getRelatedComponent(id); if (!relatedComponent) { return; @@ -43,6 +44,25 @@ export class LookupDataMappingEventHandler implements EventHandler { const bindingPaths = bindingPath.split('/').filter((path: string) => path); const entityStoreId = this.formMetadataService.getModuleCode() + ENTITY_STORE_SUFFIX; const entityStore = this.module.getEntityStore(entityStoreId); + // 是否任意输入 + const { textField, allowFreeInput } = component.editor; + if (allowFreeInput && binding) { + const textFieldMapping = mapFields[textField]; + if (textFieldMapping) { + const fieldId = binding.field; + const field = FieldResolver.resolve(this.entitySchema, fieldId); + if (!field) { + return; + } + const { bindingPath } = field; + const targetField = textFieldMapping.split(',').filter((item: any) => item !== bindingPath).join(','); + if (targetField) { + mapFields[textField] = targetField; + } else { + delete mapFields[textField]; + } + } + } Object.keys(mapFields).forEach((lookupField: string) => { const fieldPath: string = mapFields[lookupField]; const targetFields = fieldPath.split(',').filter((p) => p); @@ -64,7 +84,9 @@ export class LookupDataMappingEventHandler implements EventHandler { }).join(separator); } } - + private get entitySchema() { + return this.formMetadataService.getEntity(); + } public bind() { this.emitter.on('update:dataMapping', (payload: ViewEvent) => this.onMappingData(payload)); } -- Gitee From 252119e255de705ae0931cf63c153393820e7716 Mon Sep 17 00:00:00 2001 From: aalizzwell Date: Mon, 25 Aug 2025 19:36:05 +0800 Subject: [PATCH 4/5] =?UTF-8?q?chore:=20=E8=A1=A8=E6=A0=BC=E5=86=85?= =?UTF-8?q?=E5=B8=AE=E5=8A=A9=E6=94=AF=E6=8C=81=E4=BB=BB=E6=84=8F=E8=BE=93?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../end-edit-cell-event-handler.ts | 65 +++++++++++++------ .../lookup-data-mapping-event-handler.ts | 25 +------ 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/packages/renderer/src/event-handler/end-edit-cell-event-handler.ts b/packages/renderer/src/event-handler/end-edit-cell-event-handler.ts index df243becb97..898118447f0 100644 --- a/packages/renderer/src/event-handler/end-edit-cell-event-handler.ts +++ b/packages/renderer/src/event-handler/end-edit-cell-event-handler.ts @@ -1,4 +1,4 @@ -import { EntityPathBuilder, EntityPathNode, EntityPathNodeType, Injector, Module } from "@farris/devkit-vue"; +import { EntityPathBuilder, EntityPathNode, EntityPathNodeType, EntityStore, Injector, Module } from "@farris/devkit-vue"; import { EventEmitter } from "../common"; import { ComponentService, FormMetadataService } from "../service"; import { EventHandler } from "./types"; @@ -62,35 +62,60 @@ export class EndEditCellEventHandler implements EventHandler { if (!column || !column.editor) { return; } - const { type: editorType, separator = ',' } = column.editor; + const { type: editorType, separator = ',', textField } = column.editor; if (editorType === 'lookup' && editor && Object.prototype.hasOwnProperty.call(editor, 'items')) { - const { mappingFields, items } = editor; + const { mappingFields, items, isFreeInput } = editor; if (!mappingFields || Object.keys(mappingFields).length < 1) { return; } - Object.keys(mappingFields).forEach((lookupField: string) => { - const targetField = mappingFields[lookupField]; - const value = this.getValue(items, lookupField, separator); - const targetFields = targetField.split(',').filter((p: any) => p); - targetFields.forEach((field: string) => { - const fieldPaths = field.split('.'); - const paths = bindingPaths.concat(fieldPaths); - const path = '/' + paths.join('/'); - entityStore?.setValueByPath(path, value); - // update row data - const columnField = fieldPaths.join('.'); - if (row.data[columnField]) { - row.data[columnField].data = value; - } - }); - }); + if (isFreeInput) { + if (bindingPath) { + this.clearValue(entityStore, mappingFields, textField, bindingPaths, bindingPath, row); + } + } else { + this.mapping(entityStore, mappingFields, bindingPaths, row, items, separator); + } + const datagrid = this.componentService.getComponentById(token); if (datagrid) { datagrid.acceptDataItem(row); } } } - private getValue(items: any[], field: string, separator: string) { + private clearValue(entityStore: EntityStore, mappingFields: Record, textField: string, bindingPaths: string[], bindingPath: string, row: any) { + const textFieldMapping = mappingFields[textField]; + if (textFieldMapping) { + const targetField = textFieldMapping.split(',').filter((item: any) => item !== bindingPath).join(','); + if (targetField) { + mappingFields[textField] = targetField; + } else { + delete mappingFields[textField]; + } + this.clearMappingValue(entityStore, mappingFields, bindingPaths, row); + } + } + private clearMappingValue(entityStore: EntityStore, mappingFields: Record, bindingPaths: string[], row: any) { + this.mapping(entityStore, mappingFields, bindingPaths, row, null, undefined); + } + private mapping(entityStore: EntityStore, mappingFields: Record, bindingPaths: string[], row: any, items: any, separator: string | undefined) { + Object.keys(mappingFields).forEach((lookupField: string) => { + const targetField = mappingFields[lookupField]; + const value = this.getValue(items, lookupField, separator); + const targetFields = targetField.split(',').filter((p: any) => p); + targetFields.forEach((field: string) => { + const fieldPaths = field.split('.'); + const paths = bindingPaths.concat(fieldPaths); + const path = '/' + paths.join('/'); + entityStore?.setValueByPath(path, value); + // update row data + const columnField = fieldPaths.join('.'); + if (row.data[columnField]) { + row.data[columnField].data = value; + } + }); + }); + } + private getValue(items: any[], field: string, separator: string | undefined) { if (!items || items.length === 0) { return null; } diff --git a/packages/renderer/src/event-handler/lookup-data-mapping-event-handler.ts b/packages/renderer/src/event-handler/lookup-data-mapping-event-handler.ts index 6cf9b302082..429fda5d4a0 100644 --- a/packages/renderer/src/event-handler/lookup-data-mapping-event-handler.ts +++ b/packages/renderer/src/event-handler/lookup-data-mapping-event-handler.ts @@ -6,7 +6,6 @@ import { FormMetadataService } from "../service"; import { ENTITY_STORE_SUFFIX, ViewEvent } from "../types"; import { EventEmitter } from "../common"; import { get } from "lodash-es"; -import { FieldResolver } from "../resolvers"; export class LookupDataMappingEventHandler implements EventHandler { @@ -27,7 +26,7 @@ export class LookupDataMappingEventHandler implements EventHandler { } const mapFields = JSON.parse(component.editor?.mappingFields || component.editor?.mapFields || '{}'); const { separator = ',' } = component.editor || {}; - const { id, binding } = component; + const { id } = component; const relatedComponent = this.formMetadataService.getRelatedComponent(id); if (!relatedComponent) { return; @@ -44,25 +43,6 @@ export class LookupDataMappingEventHandler implements EventHandler { const bindingPaths = bindingPath.split('/').filter((path: string) => path); const entityStoreId = this.formMetadataService.getModuleCode() + ENTITY_STORE_SUFFIX; const entityStore = this.module.getEntityStore(entityStoreId); - // 是否任意输入 - const { textField, allowFreeInput } = component.editor; - if (allowFreeInput && binding) { - const textFieldMapping = mapFields[textField]; - if (textFieldMapping) { - const fieldId = binding.field; - const field = FieldResolver.resolve(this.entitySchema, fieldId); - if (!field) { - return; - } - const { bindingPath } = field; - const targetField = textFieldMapping.split(',').filter((item: any) => item !== bindingPath).join(','); - if (targetField) { - mapFields[textField] = targetField; - } else { - delete mapFields[textField]; - } - } - } Object.keys(mapFields).forEach((lookupField: string) => { const fieldPath: string = mapFields[lookupField]; const targetFields = fieldPath.split(',').filter((p) => p); @@ -84,9 +64,6 @@ export class LookupDataMappingEventHandler implements EventHandler { }).join(separator); } } - private get entitySchema() { - return this.formMetadataService.getEntity(); - } public bind() { this.emitter.on('update:dataMapping', (payload: ViewEvent) => this.onMappingData(payload)); } -- Gitee From 51f247475439593579c983813e30f49e76671e7d Mon Sep 17 00:00:00 2001 From: aalizzwell Date: Tue, 26 Aug 2025 11:04:58 +0800 Subject: [PATCH 5/5] =?UTF-8?q?chore:=20=E4=BF=AE=E6=94=B9=E9=A1=B5?= =?UTF-8?q?=E5=A4=B4=E6=A0=87=E9=A2=98=E6=A8=A1=E6=9D=BF=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template-transformer/page-header-template-transformer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/renderer/src/template-transformer/page-header-template-transformer.ts b/packages/renderer/src/template-transformer/page-header-template-transformer.ts index e5bbc8c219e..8632ac3bd8b 100644 --- a/packages/renderer/src/template-transformer/page-header-template-transformer.ts +++ b/packages/renderer/src/template-transformer/page-header-template-transformer.ts @@ -19,7 +19,7 @@ export class PageHeaderTemplateTransformer extends TemplateTransformer { // 标题模板 if (titleContentHtml) { const render = this.buildTemplateRender(titleContentHtml, viewModel); - schema.titleContentRenderFunction = render; + schema.titleRenderFunction = render; } // 内容模板 if (contentHtml) { -- Gitee