From 642a267ccbb0cba9c2567e004ca04fd88a834bad Mon Sep 17 00:00:00 2001 From: wang-xh Date: Sat, 19 Jul 2025 10:14:47 +0800 Subject: [PATCH 1/7] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../composition/use-form-validation.ts | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/designer/src/components/composition/use-form-validation.ts b/packages/designer/src/components/composition/use-form-validation.ts index 469513ac2fa..cb1f12cad5d 100644 --- a/packages/designer/src/components/composition/use-form-validation.ts +++ b/packages/designer/src/components/composition/use-form-validation.ts @@ -20,8 +20,8 @@ export function useFormValidation(useFormSchema: UseFormSchema, formCommandServi if (!vmCommand) { const controlInfo = useFormSchema.getControlBasicInfoMap().get(boundEvent.id); const controlName = (controlInfo && controlInfo.parentPathName) || boundEvent.id; - let msg = `控件【CCC】的【XXX】配置的命令已被移除,请重新选择。`; - msg = msg.replace('CCC', controlName).replace('XXX', boundEvent.eventName); + let msg = `【ControlName】的【EventName】绑定的命令已被移除,请重新选择。`; + msg = msg.replace('ControlName', controlName).replace('EventName', boundEvent.eventName); FMessageBoxService.warning(msg, ''); return false; } @@ -134,8 +134,8 @@ export function useFormValidation(useFormSchema: UseFormSchema, formCommandServi for (const communicationId of communicationIds) { const communication = communications.find(item => item.id === communicationId); if (!communication) { - let msg = `控件【CCC】配置的【XXX】已被移除,请重新选择。`; - msg = msg.replace('CCC', controlName).replace('XXX', boundEvent.eventName); + let msg = `【ControlName】的【EventName】绑定的通讯已被移除,请重新选择。`; + msg = msg.replace('ControlName', controlName).replace('EventName', boundEvent.eventName); FMessageBoxService.warning(msg, ''); return false; } @@ -144,15 +144,15 @@ export function useFormValidation(useFormSchema: UseFormSchema, formCommandServi const isSourceComplete = source && source.formId && source.componentId && source.event; const isTargetComplete = target && target.formId && target.commandCode; if (!isSourceComplete || !isTargetComplete) { - let msg = `控件【CCC】配置的组件通讯事件不完整,请检查。`; - msg = msg.replace('CCC', controlName); + let msg = `【ControlName】配置的组件通讯事件不完整,请检查。`; + msg = msg.replace('ControlName', controlName); FMessageBoxService.warning(msg, ''); return false; } // 检查通讯内的事件、名称等是否有效 if (!checkCommunicationSource(source) || !checkCommunicationTarget(target)) { - let msg = `控件【CCC】配置的组件通讯事件已失效,请检查。`; - msg = msg.replace('CCC', controlName); + let msg = `【ControlName】配置的组件通讯事件已失效,请检查。`; + msg = msg.replace('ControlName', controlName); FMessageBoxService.warning(msg, ''); return false; } @@ -162,15 +162,15 @@ export function useFormValidation(useFormSchema: UseFormSchema, formCommandServi for (const paramMapping of paramMappings) { const isParamValid = paramMapping.sourceValue && paramMapping.targetVariable; if (!isParamValid) { - let msg = `控件【CCC】配置的组件通讯事件参数不完整,请检查。`; - msg = msg.replace('CCC', controlName); + let msg = `【ControlName】配置的组件通讯事件参数不完整,请检查。`; + msg = msg.replace('ControlName', controlName); FMessageBoxService.warning(msg, ''); return false; } // 检查参是否数失效 if (!checkCommunicationTargetState(target, paramMapping)) { - let msg = `控件【CCC】配置的组件通讯事件参数已失效,请检查。`; - msg = msg.replace('CCC', controlName); + let msg = `【ControlName】配置的组件通讯事件参数已失效,请检查。`; + msg = msg.replace('ControlName', controlName); FMessageBoxService.warning(msg, ''); return false; } -- Gitee From 760f22118598eaa3ad7c0683ca40d7a65e0221b6 Mon Sep 17 00:00:00 2001 From: wang-xh Date: Sat, 19 Jul 2025 11:08:56 +0800 Subject: [PATCH 2/7] =?UTF-8?q?fix:=20=E5=B1=8F=E8=94=BD=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=97=B6=E5=AE=9A=E5=88=B6=E5=B7=A5=E5=85=B7=E7=AE=B1=E7=9A=84?= =?UTF-8?q?=E5=A4=96=E9=83=A8=E5=AE=B9=E5=99=A8=EF=BC=9B=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=85=83=E6=95=B0=E6=8D=AE=E7=9A=84=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E4=B8=8D=E6=94=AF=E6=8C=81=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/types/toolbox/pc-rtc-toolbox.json | 6 ------ .../schema-selector/src/components/card-view.component.tsx | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/designer/src/components/types/toolbox/pc-rtc-toolbox.json b/packages/designer/src/components/types/toolbox/pc-rtc-toolbox.json index 1a4128db789..2a5084fb695 100644 --- a/packages/designer/src/components/types/toolbox/pc-rtc-toolbox.json +++ b/packages/designer/src/components/types/toolbox/pc-rtc-toolbox.json @@ -122,12 +122,6 @@ "type": "content-container", "name": "容器", "category": "container" - }, - { - "id": "ExternalContainer", - "type": "external-container", - "name": "外部容器", - "category": "container" } ] }, diff --git a/packages/ui-vue/components/schema-selector/src/components/card-view.component.tsx b/packages/ui-vue/components/schema-selector/src/components/card-view.component.tsx index 070e165d858..506799e0bf2 100644 --- a/packages/ui-vue/components/schema-selector/src/components/card-view.component.tsx +++ b/packages/ui-vue/components/schema-selector/src/components/card-view.component.tsx @@ -37,7 +37,7 @@ export default defineComponent({ searchResult.value = resultItems; updateListViewDataScource(searchResult.value); - showPagination.value = !newValue; + // showPagination.value = !newValue; }); function renderListViewContent({ item, index, selectedItem }) { return ( -- Gitee From d2779517126b0d5e5c4420838bee7dcc898b275a Mon Sep 17 00:00:00 2001 From: wang-xh Date: Tue, 29 Jul 2025 16:43:25 +0800 Subject: [PATCH 3/7] =?UTF-8?q?fix:=20=E8=AE=BE=E8=AE=A1=E5=99=A8=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=AE=9E=E4=BD=93=E6=97=B6=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=A4=9A=E8=AF=AD=E8=A8=80=E6=8E=A7=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/composition/form-metadata-converter.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/designer/src/components/composition/form-metadata-converter.ts b/packages/designer/src/components/composition/form-metadata-converter.ts index 88aa146c702..3e6c74381df 100644 --- a/packages/designer/src/components/composition/form-metadata-converter.ts +++ b/packages/designer/src/components/composition/form-metadata-converter.ts @@ -17,7 +17,8 @@ export class FormMetadataConverter { MultiTextBox: 'textarea', RichTextBox: 'textarea', OrganizationSelector: 'input-group', - PersonnelSelector: 'input-group' + PersonnelSelector: 'input-group', + LanguageTextBox: 'language-textbox' }; /** 将表单schema字段中的editor类型转为vue控件类型 */ public getRealEditorType(type: string) { -- Gitee From 9cf4691f3f559795f1f18d0bf4335a93916c590b Mon Sep 17 00:00:00 2001 From: wang-xh Date: Tue, 29 Jul 2025 16:56:39 +0800 Subject: [PATCH 4/7] =?UTF-8?q?fix:=20=E8=A1=A8=E6=A0=BC=E4=B8=AD=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E7=B1=BB=E5=9E=8B=E7=9A=84=E5=88=97=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=BA=E5=8F=B3=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../control-creator/use-pc-control-creator.service.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts b/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts index 9d49be2ea16..9cc296f8f50 100644 --- a/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts +++ b/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts @@ -65,7 +65,7 @@ export function usePCControlCreator(schemaService: UseSchemaService): UseControl // 数字、字符串、备注 :设置最大长度 if (['NumericType', 'StringType', 'TextType'].includes(fieldTypeInSchema)) { formEditor.maxLength = field.type.length; - if (fieldTypeInSchema === 'StringType' && (formEditor.type ==='check-box' || formEditor.type === 'switch')) { + if (fieldTypeInSchema === 'StringType' && (formEditor.type === 'check-box' || formEditor.type === 'switch')) { formEditor.trueValue = 'true'; formEditor.falseValue = 'false'; } @@ -211,6 +211,10 @@ export function usePCControlCreator(schemaService: UseSchemaService): UseControl // 设置列类型. 若是枚举类型再设置enumData;若是日期类型,设置默认格式;数字类型设置格式、精度 metadata.dataType = mapControlType2GridFieldType(field); + if (metadata.dataType === 'number') { + metadata.halign = 'right'; + metadata.align = 'right'; + } // 枚举类型 设置enumData // if (metadata.dataType === 'enum' && field.type) { // metadata.enumData = field.type.enumValues; -- Gitee From 893818fcfe4caac1aa07f1747c6cc3baced0d18d Mon Sep 17 00:00:00 2001 From: wang-xh Date: Fri, 1 Aug 2025 18:18:51 +0800 Subject: [PATCH 5/7] =?UTF-8?q?feature:=20=E6=9B=B4=E6=96=B0=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E6=95=B0=E6=8D=AE=E6=97=B6=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=A4=9A=E8=AF=AD=E6=8E=A7=E4=BB=B6=EF=BC=9B?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=88=97=E8=A1=A8=E5=A4=9A=E8=AF=AD=E5=88=97?= =?UTF-8?q?=E7=9A=84=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../composition/use-update-controls.ts | 2 +- .../use-pc-control-creator.service.ts | 7 +++++ .../data-grid-column.property-config.ts | 10 +++---- .../src/composition/dg-control.ts | 2 +- .../composition/entity/input-base-property.ts | 28 +++++++------------ .../composition/entity/schema-dom-mapping.ts | 8 ++++-- 6 files changed, 29 insertions(+), 28 deletions(-) diff --git a/packages/designer/src/components/components/change-set/composition/use-update-controls.ts b/packages/designer/src/components/components/change-set/composition/use-update-controls.ts index cd5b36390a7..72178877a6b 100644 --- a/packages/designer/src/components/components/change-set/composition/use-update-controls.ts +++ b/packages/designer/src/components/components/change-set/composition/use-update-controls.ts @@ -424,7 +424,7 @@ export function useUpdateControls( // udt和关联字段,不要同步,需要手动删除。 const typeChange = fieldChanges.find(c => c.propPath === 'type.$type'); const editorChange = fieldChanges.find(c => c.propPath === 'editor' || c.propPath === 'editor.$type'); - const multiLanguageChange = fieldChanges.find(c => c.propPath === 'multiLanguage' && c.newValue === true); + const multiLanguageChange = fieldChanges.find(c => c.propPath === 'multiLanguage'); // ① 替换控件 if (typeChange && editorChange) { diff --git a/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts b/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts index 9cc296f8f50..612c51e8acd 100644 --- a/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts +++ b/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts @@ -138,6 +138,12 @@ export function usePCControlCreator(schemaService: UseSchemaService): UseControl * @param schemaField schemaField */ function setGridFieldFormatter(gridFieldType: string, metadata: any, schemaField: any) { + if (schemaField.multiLanguage) { + metadata.formatter = { + type: 'multilingual' + }; + return; + } switch (gridFieldType) { case 'number': { metadata.formatter = { @@ -178,6 +184,7 @@ export function usePCControlCreator(schemaService: UseSchemaService): UseControl break; } } + } /** * 配置列属性 diff --git a/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts b/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts index d9cf17c8e6e..839de59999f 100644 --- a/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts +++ b/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts @@ -41,7 +41,7 @@ export class DataGriColumnProperty extends BaseControlProperty { title: "数据", type: "array", visible: !!isVisibleEnum, - $converter:'/converter/change-formatter-enum.converter', + $converter: '/converter/change-formatter-enum.converter', ...this.getItemCollectionEditor(propertyData, 'value', 'name'), // 这个属性,标记当属性变更得时候触发重新更新属性 refreshPanelAfterChanged: true @@ -165,8 +165,8 @@ export class DataGriColumnProperty extends BaseControlProperty { onClick={(ctx)=>this.viewModel.${propertyData.onClickLinkCommand}(ctx)}> {{rowData.${propertyData.field}}} `; - // 刷新属性面板 - self.getFormDesignerInstance()?.reloadPropertyPanel(); + // 刷新属性面板 + self.getFormDesignerInstance()?.reloadPropertyPanel(); } }; } @@ -345,7 +345,7 @@ export class DataGriColumnProperty extends BaseControlProperty { } private setFormatterEnumData(propertyData: any) { - if(propertyData.formatter?.data && !propertyData.formatterEnumData) { + if (propertyData.formatter?.data && !propertyData.formatterEnumData) { propertyData.formatterEnumData = propertyData.formatter?.data; } } @@ -750,7 +750,7 @@ export class DataGriColumnProperty extends BaseControlProperty { let editorTypeList: any = []; if (this.designViewModelField && this.designViewModelField.$type === FormSchemaEntityField$Type.SimpleField) { - editorTypeList = SchemaDOMMapping.getEditorTypesByMDataType(this.designViewModelField.type.name, propertyData.type); + editorTypeList = SchemaDOMMapping.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage, propertyData.type); } if (!propertyData.multiLanguage) { // 不启用多语,不提供多语文本编辑器的选项 diff --git a/packages/ui-vue/components/designer-canvas/src/composition/dg-control.ts b/packages/ui-vue/components/designer-canvas/src/composition/dg-control.ts index 3c927c54647..8cabedec699 100644 --- a/packages/ui-vue/components/designer-canvas/src/composition/dg-control.ts +++ b/packages/ui-vue/components/designer-canvas/src/composition/dg-control.ts @@ -87,5 +87,5 @@ export const DgControl = { 'filter-bar': { type: 'filter-bar', name: '筛选条' }, - 'language-textbox': { type: 'language-textbox', name: '多语文本框' }, + 'language-textbox': { type: 'language-textbox', name: '多语输入框' }, }; diff --git a/packages/ui-vue/components/property-panel/src/composition/entity/input-base-property.ts b/packages/ui-vue/components/property-panel/src/composition/entity/input-base-property.ts index 6200e0e3ee7..15d34717d17 100644 --- a/packages/ui-vue/components/property-panel/src/composition/entity/input-base-property.ts +++ b/packages/ui-vue/components/property-panel/src/composition/entity/input-base-property.ts @@ -186,20 +186,12 @@ export class InputBaseProperty extends BaseControlProperty { let editorTypeList: any = []; if (this.designViewModelField && this.designViewModelField.$type === FormSchemaEntityField$Type.SimpleField) { - if (this.designViewModelField.multiLanguage) { - editorTypeList = [ - { - key: DgControl['language-textbox'].type, - value: DgControl['language-textbox'].name - } - ]; - } else { - // 绑定字段 - editorTypeList = SchemaDOMMapping.getEditorTypesByMDataType(this.designViewModelField.type.name); - } + // 绑定字段 + editorTypeList = SchemaDOMMapping.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage); + } else if (this.bindingVarible) { // 绑定变量 - editorTypeList = SchemaDOMMapping.getEditorTypesByMDataType(this.bindingVarible.type); + editorTypeList = SchemaDOMMapping.getEditorTypesByMDataType(this.bindingVarible.type, this.designViewModelField.multiLanguage); } return { canChangeControlType, editorTypeList }; } @@ -651,7 +643,7 @@ export class InputBaseProperty extends BaseControlProperty { if (!this.designViewModelField) { return 'boolean'; } - return this.designViewModelField.type.name === 'Number'? 'number': this.designViewModelField.type.name === 'String'? 'string': 'boolean'; + return this.designViewModelField.type.name === 'Number' ? 'number' : this.designViewModelField.type.name === 'String' ? 'string' : 'boolean'; } private numberEditorOptions = { @@ -664,9 +656,9 @@ export class InputBaseProperty extends BaseControlProperty { protected getEditor() { return this.getBindingDataType() === 'number' ? this.numberEditorOptions : {}; } - - updatePropertyValue(schema: Record, propertyKey: string, propertyValue: any) { - if(schema.editor[propertyKey] !== propertyValue) { + + updatePropertyValue(schema: Record, propertyKey: string, propertyValue: any) { + if (schema.editor[propertyKey] !== propertyValue) { schema.editor[propertyKey] = propertyValue; } else { this.getFormDesignerInstance()?.reloadPropertyPanel(); @@ -677,9 +669,9 @@ export class InputBaseProperty extends BaseControlProperty { let newValue = propertyValue; const dataType = this.getBindingDataType(); if (dataType === 'string') { - newValue = (newValue || '').trim() || (propertyKey === 'trueValue'?'true': 'false'); + newValue = (newValue || '').trim() || (propertyKey === 'trueValue' ? 'true' : 'false'); } - const targetKey = propertyKey === 'trueValue'? 'falseValue': 'trueValue'; + const targetKey = propertyKey === 'trueValue' ? 'falseValue' : 'trueValue'; if (schema.editor[targetKey] === newValue) { newValue = newValue + 1; } diff --git a/packages/ui-vue/components/property-panel/src/composition/entity/schema-dom-mapping.ts b/packages/ui-vue/components/property-panel/src/composition/entity/schema-dom-mapping.ts index fe50f9f0734..67edb274022 100644 --- a/packages/ui-vue/components/property-panel/src/composition/entity/schema-dom-mapping.ts +++ b/packages/ui-vue/components/property-panel/src/composition/entity/schema-dom-mapping.ts @@ -18,8 +18,7 @@ export class SchemaDOMMapping { { key: DgControl['radio-group'].type, value: DgControl['radio-group'].name }, { key: DgControl['combo-list'].type, value: DgControl['combo-list'].name }, { key: DgControl['textarea'].type, value: DgControl['textarea'].name }, - { key: DgControl['time-picker'].type, value: DgControl['time-picker'].name }, - { key: DgControl['language-textbox'].type, value: DgControl['language-textbox'].name }, + { key: DgControl['time-picker'].type, value: DgControl['time-picker'].name } ], Text: [ { key: DgControl['textarea'].type, value: DgControl['textarea'].name }, @@ -62,7 +61,10 @@ export class SchemaDOMMapping { /** * 根据绑定字段类型获取可用的输入类控件 */ - static getEditorTypesByMDataType(fieldType: string, controlType = '') { + static getEditorTypesByMDataType(fieldType: string, multiLanguage = false, controlType = '') { + if (multiLanguage) { + return [{ key: DgControl['language-textbox'].type, value: DgControl['language-textbox'].name }]; + } let editorTypes = SchemaDOMMapping.fieldControlTypeMapping[fieldType]; // 列表列编辑器支持的控件类型有限 -- Gitee From 38759eb16b0b6df8b37e9bc96193879433d24f41 Mon Sep 17 00:00:00 2001 From: wang-xh Date: Sat, 2 Aug 2025 12:07:55 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fix:=20=E4=BB=8E=E5=B7=A5=E5=85=B7=E7=AE=B1?= =?UTF-8?q?=E4=B8=AD=E6=8B=96=E6=8B=BD=E5=A4=9A=E8=AF=AD=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E9=99=90=E5=88=B6=E5=8F=AF=E9=80=89=E7=9A=84?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../use-pc-control-creator.service.ts | 16 +--------------- .../composition/design-viewmodel.service.ts | 6 ++++-- .../binding-selector-container.component.tsx | 8 +++++++- .../src/composition/use-field-selection.ts | 2 +- .../data-grid-column.property-config.ts | 4 ---- 5 files changed, 13 insertions(+), 23 deletions(-) diff --git a/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts b/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts index 612c51e8acd..8f35ff30474 100644 --- a/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts +++ b/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts @@ -218,25 +218,11 @@ export function usePCControlCreator(schemaService: UseSchemaService): UseControl // 设置列类型. 若是枚举类型再设置enumData;若是日期类型,设置默认格式;数字类型设置格式、精度 metadata.dataType = mapControlType2GridFieldType(field); + // 数字类列配置为右对齐 if (metadata.dataType === 'number') { metadata.halign = 'right'; metadata.align = 'right'; } - // 枚举类型 设置enumData - // if (metadata.dataType === 'enum' && field.type) { - // metadata.enumData = field.type.enumValues; - // metadata.idField = 'value'; - // metadata.valueField = 'value'; - // metadata.textField = 'name'; - // } - metadata.multiLanguage = field.multiLanguage; - - // 日期类型字段:增加数据国际化配置 - if (field.type.name === FormSchemaEntityFieldTypeName.Date || - field.type.name === FormSchemaEntityFieldTypeName.DateTime) { - metadata.localization = false; - metadata.localizationType = field.type.name; - } // 列格式 setGridFieldFormatter(metadata.dataType, metadata, field); diff --git a/packages/designer/src/components/composition/design-viewmodel.service.ts b/packages/designer/src/components/composition/design-viewmodel.service.ts index f6a3ce968a2..4b2b585c3a3 100644 --- a/packages/designer/src/components/composition/design-viewmodel.service.ts +++ b/packages/designer/src/components/composition/design-viewmodel.service.ts @@ -1,6 +1,6 @@ /* eslint-disable no-use-before-define */ import { merge } from "lodash-es"; -import { FormBindingType, FormSchemaEntityField, UseDesignViewModel, UseFormSchema, UseSchemaService } from "../types"; +import { EntityFieldTypeDisplayNamei18n, FormBindingType, FormSchemaEntityField, UseDesignViewModel, UseFormSchema, UseSchemaService } from "../types"; import { DesignViewModel, DesignViewModelField } from "../types/design-viewmodel"; import { cloneDeep } from 'lodash-es'; @@ -134,8 +134,10 @@ export function useDesignViewModel(useFormSchema: UseFormSchema, schemaService: const dgField = dgVMFields.find(d => d.id === element.id); const clonedField = dgField ? cloneDeep(dgField) : cloneDeep(element); + const displayTypeNamei18n = (element.multiLanguage ? EntityFieldTypeDisplayNamei18n.MultiLanguage : EntityFieldTypeDisplayNamei18n[element.type.name]) || element.type.displayName; + treeData.push({ - data: Object.assign({ rawData: clonedField, fieldType: clonedField.type.displayName }, clonedField), + data: Object.assign({ rawData: clonedField, fieldType: displayTypeNamei18n }, clonedField), children }); }); diff --git a/packages/ui-vue/components/binding-selector/src/components/binding-selector-container.component.tsx b/packages/ui-vue/components/binding-selector/src/components/binding-selector-container.component.tsx index 2708cbcde8b..01a6629f40e 100644 --- a/packages/ui-vue/components/binding-selector/src/components/binding-selector-container.component.tsx +++ b/packages/ui-vue/components/binding-selector/src/components/binding-selector-container.component.tsx @@ -78,6 +78,12 @@ export default defineComponent({ ; } + function getRealFieldType(visualData: any) { + if (visualData.raw.multiLanguage) { + return 'multiLanguage'; + } + return bindingType.value === 'Form' ? visualData.raw.type?.name : visualData.raw.type; + } // 配置行禁用 const rowOption: Partial = { customRowStatus: (visualData: VisualData) => { @@ -91,7 +97,7 @@ export default defineComponent({ visualData.disabled = true; return visualData; } - const fieldTypeNode = bindingType.value === 'Form' ? visualData.raw.type?.name : visualData.raw.type; + const fieldTypeNode = getRealFieldType(visualData); // 1、由复杂类型字段切换成其他字段类型:新字段适配控件类型即可 // 2、原字段被删除或原本没有绑定信息:新字段适配控件类型即可 diff --git a/packages/ui-vue/components/binding-selector/src/composition/use-field-selection.ts b/packages/ui-vue/components/binding-selector/src/composition/use-field-selection.ts index 1542f7627a3..52e6ff7651f 100644 --- a/packages/ui-vue/components/binding-selector/src/composition/use-field-selection.ts +++ b/packages/ui-vue/components/binding-selector/src/composition/use-field-selection.ts @@ -273,7 +273,7 @@ export function useFieldSelection(props: BindingSelectorProps) { } // 追加多语控件 - // controlFieldMapping.LanguageTextBox = ['multiLanguage']; + controlFieldMapping['language-textbox'] = ['multiLanguage']; return controlFieldMapping[editorType]; } diff --git a/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts b/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts index 839de59999f..3e94e6aba8c 100644 --- a/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts +++ b/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts @@ -752,10 +752,6 @@ export class DataGriColumnProperty extends BaseControlProperty { if (this.designViewModelField && this.designViewModelField.$type === FormSchemaEntityField$Type.SimpleField) { editorTypeList = SchemaDOMMapping.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage, propertyData.type); } - if (!propertyData.multiLanguage) { - // 不启用多语,不提供多语文本编辑器的选项 - editorTypeList = editorTypeList.filter((editorType: { key: string, value: string }) => editorType.key !== 'language-textbox'); - } return { canChangeControlType, editorTypeList }; } /** -- Gitee From c831864b5c41effd72fe8188d71cd40d1bb1a360 Mon Sep 17 00:00:00 2001 From: wang-xh Date: Fri, 8 Aug 2025 09:06:43 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fix:=20=E6=95=B0=E5=AD=97=E7=B1=BB=E6=8E=A7?= =?UTF-8?q?=E4=BB=B6=E5=9C=A8=E8=A1=A8=E6=A0=BC=E7=BC=96=E8=BE=91=E6=80=81?= =?UTF-8?q?=E4=B8=8B=E4=BD=BF=E7=94=A8=E5=8F=B3=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../control-creator/use-pc-control-creator.service.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts b/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts index 8f35ff30474..8954685de0c 100644 --- a/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts +++ b/packages/designer/src/components/composition/control-creator/use-pc-control-creator.service.ts @@ -60,6 +60,9 @@ export function usePCControlCreator(schemaService: UseSchemaService): UseControl } else { formEditor.precision = field.type.precision; formEditor.nullable = true; + if (position === 'Grid') { + formEditor.textAlign = 'right'; + } } } // 数字、字符串、备注 :设置最大长度 -- Gitee