diff --git a/packages/designer/src/components/components/entity-tree-view/components/create-new-field.component.tsx b/packages/designer/src/components/components/entity-tree-view/components/create-new-field.component.tsx
index b264bbac1dd25449e0c3228c57e06f9ed0ccecd2..48669cd7c749f8047f3545750f8e11b0aec0b9cb 100644
--- a/packages/designer/src/components/components/entity-tree-view/components/create-new-field.component.tsx
+++ b/packages/designer/src/components/components/entity-tree-view/components/create-new-field.component.tsx
@@ -2,7 +2,7 @@ import { FLoadingService, FNotifyService } from '@farris/ui-vue';
import { defineComponent, inject, ref, SetupContext, computed, onMounted } from 'vue';
import { ExtendFieldEntity, FieldTypeEnums } from '../composition/extend-field';
import { CreateNewFieldProps, createNewFieldProps } from './entity-tree-view.props';
-import { FComboList, FNumberSpinner, FSwitch, FSchemaSelectorEditor, LookupSchemaRepositoryToken, FComboTree, VisualData } from '@farris/ui-vue/components';
+import { FComboList, FNumberSpinner, FSwitch, FSchemaSelectorEditor, LookupSchemaRepositoryToken, FComboTree, VisualData, FPropertyEditor } from '@farris/ui-vue/components';
import { useNewFieldVerification } from '../composition/use-new-field-verification';
import { useNewFieldUtil } from '../composition/use-new-field-util';
@@ -26,6 +26,8 @@ export default defineComponent({
resolveFieldInfo, helpMetadataName, onSubmitHelpMetadata, onHelpMetadataSelected, helpSchemaTreeData, relatedHelpFieldIds,
onHelpRelatedFieldsChanged, relatedFieldsTreeData, helpFieldId, onHelpBindingFieldsChanged } = useNewFieldUtil(props, extendField);
+ /** 默认值组件实例 */
+ const defaultValueRef = ref();
/** 字段标签行样式 */
const fieldLabelSpanClass = computed(() => {
@@ -37,16 +39,14 @@ export default defineComponent({
};
});
- onMounted(() => {
- });
function onCancel() {
context.emit('cancel');
}
function onSubmit() {
const loadingInstance = loadingService.show();
- if (!checkFieldValidation()) {
+ if (!checkFieldValidation(helpMetadataName, relatedHelpFieldIds, helpFieldId, defaultValueRef)) {
loadingInstance.value.close();
return;
}
@@ -115,6 +115,34 @@ export default defineComponent({
onChange={onHelpBindingFieldsChanged} >;
}
+ /** 渲染默认值编辑器 */
+ function renderDefaultValueEditor() {
+ const valueTypes = ['Custom', 'Expression'];
+ const expressionConfig = {
+ dialogTitle: '默认值编辑器',
+ showMessage: false,
+ showDataPanel: false,
+ expressionInfo: {
+ expressionType: 'defaultValue',
+ targetId: extendField.value.id
+ }
+ };
+ function onDefaultValueChanged(newValue: any) {
+ if (newValue?.type === 'Expression') {
+ extendField.value.defaultValue = {
+ type: 'expression',
+ value: newValue.expressionInfo?.value
+ };
+ } else {
+ extendField.value.defaultValue = newValue;
+
+ }
+ }
+
+ return
+ ;
+ }
return () => {
return
@@ -161,6 +189,7 @@ export default defineComponent({
precision="0" max={maxPrecision.value}>
)}
+ {renderEditor('字段默认值', renderDefaultValueEditor())}
{renderEditor('是否必填',
)}
diff --git a/packages/designer/src/components/components/entity-tree-view/components/entity-tree-view.component.tsx b/packages/designer/src/components/components/entity-tree-view/components/entity-tree-view.component.tsx
index e4886785ed964848562f4d7a8e2333c809bc2260..a2d037d151bfbab845467bfbfbd5c685ff7de714 100644
--- a/packages/designer/src/components/components/entity-tree-view/components/entity-tree-view.component.tsx
+++ b/packages/designer/src/components/components/entity-tree-view/components/entity-tree-view.component.tsx
@@ -15,12 +15,11 @@
*/
import { defineComponent, inject, ref, SetupContext, watch, nextTick, onMounted, Ref } from 'vue';
import { FButton } from '@farris/ui-vue/components';
-import { FSearchBox } from "@farris/ui-vue/components";
import { FTreeView } from '@farris/ui-vue/components';
import { UseEntityTreeData } from '../composition/use-entity-tree-data';
import { entityTreeProps, EntityTreeProps } from './entity-tree-view.props';
import { useUpdateEntitySchema } from '../composition/use-update-entity-schema';
-import { UseControlCreator, UseDesignViewModel, UseFormSchema, UseSchemaService } from '../../../../components/types';
+import { UseControlCreator, UseDesignViewModel, UseSchemaService } from '../../../../components/types';
import { cloneDeep } from 'lodash-es';
import '../composition/entity-tree-view.css';
import './entity-tree-view.scss';
@@ -29,6 +28,7 @@ import { FLoadingService } from '@farris/ui-vue/components';
import { DesignerMode, UseDesignerContext } from '../../../../components/types/designer-context';
import { useOpenNewEntity } from '../composition/use-new-entity';
import { useOpenNewField } from '../composition/use-new-field-modal';
+import { useOpenModifyField } from '../composition/use-modify-field-modal';
export default defineComponent({
name: 'FEntityTreeView',
@@ -108,7 +108,8 @@ export default defineComponent({
'occupied': dataItem?.isOccupied,
'no-drag': !dataItem?.draggable,
'drag-copy': dataItem?.draggable,
- [`id=${dataItem.id}`]: true
+ [`id=${dataItem.id}`]: true,
+ 'from-outside': dataItem?.rtFieldSourceType || dataItem.rtRelateParentSchemaField
};
},
customRowStatus: (visualData: VisualData) => {
@@ -140,8 +141,10 @@ export default defineComponent({
newEntityCodeList.value = [];
});
const { openNewEntityModal } = useOpenNewEntity(useFormSchema, existedEntityCodes, refreshEntityTree, newEntityCodeList);
- const { openNewFieldModal } = useOpenNewField(useFormSchema, newEntityCodeList, refreshEntityTree, treeViewData);
+ const { openNewFieldModal } = useOpenNewField(useFormSchema, newEntityCodeList, refreshEntityTree, serializedTreeData);
+ const { openModifyFieldModal } = useOpenModifyField(useFormSchema, designViewModelUtils, refreshEntityTree, serializedTreeData, context);
+ /** 低代码:刷新实体(同步视图对象) */
function renderHeader() {
if (designerMode !== DesignerMode.PC_RTC) {
return
);
diff --git a/packages/ui-vue/components/expression-editor/src/expression-editor.props.ts b/packages/ui-vue/components/expression-editor/src/expression-editor.props.ts
index 25e6d52092eb13a19da5c79f68a476132623891c..4733dc32542fb9b1b1863fb582177d79edd86839 100644
--- a/packages/ui-vue/components/expression-editor/src/expression-editor.props.ts
+++ b/packages/ui-vue/components/expression-editor/src/expression-editor.props.ts
@@ -1,4 +1,4 @@
-
+
/**
* Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd.
*
@@ -58,7 +58,11 @@ export const expressionEditorProps = {
},
showMessageType: {
type: Boolean,
- default: false
+ default: false
+ },
+ showDataPanel: {
+ type: Boolean,
+ default: true
}
} as Record;
diff --git a/packages/ui-vue/components/expression-editor/src/expression-textbox.component.tsx b/packages/ui-vue/components/expression-editor/src/expression-textbox.component.tsx
index d28972cf0041fef94f533ef624d477d660a1b3d8..98fd2ac8ed78905773d134eb458af57942169633 100644
--- a/packages/ui-vue/components/expression-editor/src/expression-textbox.component.tsx
+++ b/packages/ui-vue/components/expression-editor/src/expression-textbox.component.tsx
@@ -1,4 +1,4 @@
-import { defineComponent, inject, ref } from "vue";
+import { defineComponent, inject, ref, watch } from "vue";
import FButtonEdit from '../../button-edit/src/button-edit.component';
import { expressionTextboxProps, ExpressionTextboxProps } from "./expression-textbox.props";
@@ -133,6 +133,10 @@ export default defineComponent({
}
}
+ watch(() => props.modelValue, (newValue) => {
+ modelValue.value = newValue;
+ });
+
return () => {
return
;
diff --git a/packages/ui-vue/components/expression-editor/src/expression-textbox.props.ts b/packages/ui-vue/components/expression-editor/src/expression-textbox.props.ts
index afde95bc56b21feb683af9053a202c7808b8a67c..557708f02362fbbfc85390d0b0a6a258fb34bbe3 100644
--- a/packages/ui-vue/components/expression-editor/src/expression-textbox.props.ts
+++ b/packages/ui-vue/components/expression-editor/src/expression-textbox.props.ts
@@ -91,8 +91,10 @@ export const expressionTextboxProps = {
type: Function as PropType<() => Promise
>,
default: null
},
-
-
+ showDataPanel: {
+ type: Boolean,
+ default: true
+ }
} as Record;
diff --git a/packages/ui-vue/components/expression-editor/src/schema/expression-editor.schema.json b/packages/ui-vue/components/expression-editor/src/schema/expression-editor.schema.json
index 963f26b1e654c62ac4f40a409294df982fb06859..1389e3887a6d0a86b05597d84d79111f08ee478a 100644
--- a/packages/ui-vue/components/expression-editor/src/schema/expression-editor.schema.json
+++ b/packages/ui-vue/components/expression-editor/src/schema/expression-editor.schema.json
@@ -95,6 +95,11 @@
"description": "The showMessageType of Expression Editor",
"type": "boolean",
"default": false
+ },
+ "showDataPanel":{
+ "description": "Show right panel",
+ "type": "boolean",
+ "default": true
}
},
"required": [
diff --git a/packages/ui-vue/components/lookup/src/property-config/lookup.property-config.ts b/packages/ui-vue/components/lookup/src/property-config/lookup.property-config.ts
index d34cad44aad9c2cdc7a01d8219963228f8e7b454..a40575a2435d9d90a79fc38dbb6209332311da9b 100644
--- a/packages/ui-vue/components/lookup/src/property-config/lookup.property-config.ts
+++ b/packages/ui-vue/components/lookup/src/property-config/lookup.property-config.ts
@@ -42,9 +42,10 @@ export class LookupPropertyConfig extends InputBaseProperty {
}
getPropertyConfig(propertyData: any, componentInstance: DesignerComponentInstance | null) {
- this.readonlyEditor = this.getPropertyEditorParams(propertyData, [], 'readonly');
- this.visibleEditor = this.getPropertyEditorParams(propertyData, [], 'visible');
- this.requiredEditor = this.getPropertyEditorParams(propertyData, ['Const', 'Variable', 'StateMachine', 'Expression'], 'required');
+ const editorTypes = propertyData.binding?.field ? [] : ['Const', 'Variable', 'StateMachine'];
+ this.readonlyEditor = this.getPropertyEditorParams(propertyData, editorTypes, 'readonly');
+ this.visibleEditor = this.getPropertyEditorParams(propertyData, editorTypes, 'visible');
+ this.requiredEditor = this.getPropertyEditorParams(propertyData, editorTypes, 'required');
this.freeInputEditor = this.getPropertyEditorParams(propertyData, ['Const', 'Variable'], 'allowFreeInput');
const basic = this.getBasicProperties(propertyData, componentInstance);
diff --git a/packages/ui-vue/components/menu-lookup/src/components/modal-container.component.tsx b/packages/ui-vue/components/menu-lookup/src/components/modal-container.component.tsx
index 5d1fef04e9fe1d5086eba7c120c641a32df21f90..12c96ba24c8098ea6b62a72cf623e6d0c83941ab 100644
--- a/packages/ui-vue/components/menu-lookup/src/components/modal-container.component.tsx
+++ b/packages/ui-vue/components/menu-lookup/src/components/modal-container.component.tsx
@@ -125,7 +125,7 @@ export default defineComponent({
return () => {
return (
-
+
{renderNavTree()}
diff --git a/packages/ui-vue/components/menu-lookup/src/composition/types.ts b/packages/ui-vue/components/menu-lookup/src/composition/types.ts
index d9648f09e93a6dc9e62c57b1544810bb3b209a32..173869eaffa6d2677ac65ccab1a32f85714b0718 100644
--- a/packages/ui-vue/components/menu-lookup/src/composition/types.ts
+++ b/packages/ui-vue/components/menu-lookup/src/composition/types.ts
@@ -1,4 +1,3 @@
-/* eslint-disable no-use-before-define */
import { Ref } from 'vue';
export type TargetType = 'menu' | 'app';
diff --git a/packages/ui-vue/components/property-editor/index.ts b/packages/ui-vue/components/property-editor/index.ts
index 4b58d5c871c264f7e92ef62b707c80efbbadc9bc..2f4d755190886dd562bd45362212554648b62d17 100644
--- a/packages/ui-vue/components/property-editor/index.ts
+++ b/packages/ui-vue/components/property-editor/index.ts
@@ -14,20 +14,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import type { App } from 'vue';
-import PropertyEditor from './src/property-editor.component';
+import FPropertyEditor from './src/property-editor.component';
import { propsResolver } from './src/property-editor.props';
+import { withInstall } from '@farris/ui-vue/components/common';
export * from './src/property-editor.props';
-export { PropertyEditor };
-export default {
- install(app: App): void {
- app.component(PropertyEditor.name as string, PropertyEditor);
- },
- register(componentMap: Record, propsResolverMap: Record, configResolverMap: Record, resolverMap: Record): void {
- componentMap['property-editor'] = PropertyEditor;
- propsResolverMap['property-editor'] = propsResolver;
- }
+FPropertyEditor.register = (componentMap: Record, propsResolverMap: Record, configResolverMap: Record, resolverMap: Record) => {
+ componentMap['property-editor'] = FPropertyEditor;
+ propsResolverMap['property-editor'] = propsResolver;
};
+export { FPropertyEditor };
+export default withInstall(FPropertyEditor);
diff --git a/packages/ui-vue/components/property-editor/src/components/expression/expression-property.component.tsx b/packages/ui-vue/components/property-editor/src/components/expression/expression-property.component.tsx
index 95b1e1939541f80a9a3767104a35df07baf9125d..c675623ad679469ecfca715a8ec77348d3ce0ab3 100644
--- a/packages/ui-vue/components/property-editor/src/components/expression/expression-property.component.tsx
+++ b/packages/ui-vue/components/property-editor/src/components/expression/expression-property.component.tsx
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import { ref, SetupContext } from 'vue';
+import { ref, SetupContext, watch } from 'vue';
import { ExpressionPropertyProps } from './expression-property.props';
import './expression-property.css';
import { UsePropertyValue } from '../../composition/types';
@@ -32,7 +32,7 @@ export default function (
/** 表达式相关方法 */
const { getExpressionValue } = useExpression(props, context, usePropertyValueComposition);
/** 表达式属性值 */
- const expressionValue = getExpressionValue();
+ let expressionValue = getExpressionValue();
const { expressionInfo } = expressionValue.value;
/** 表达式的规则值 */
const expressionRule = ref(expressionInfo.value);
@@ -41,14 +41,20 @@ export default function (
/** 表达式编辑器所需的配置 */
const expressionConfig = ref(props.expressionConfig);
+ watch(() => [props.expressionConfig], () => {
+ expressionConfig.value = props.expressionConfig;
+ expressionValue = getExpressionValue();
+ expressionRule.value = expressionValue.value.expressionInfo.value;
+ });
+
function onSubmitModal({ expression, message }) {
if (!expression) {
return;
}
expressionValue.value.expressionInfo.value = expression;
- if(message){
+ if (message) {
expressionValue.value.expressionInfo.message = message;
- }else{
+ } else {
delete expressionValue.value.expressionInfo.message;
}
triggerValueChange(expressionValue.value);
diff --git a/packages/ui-vue/components/property-editor/src/composition/use-expression.ts b/packages/ui-vue/components/property-editor/src/composition/use-expression.ts
index 106226409835669ffc79077abaeb05b4a411a68c..43707cb684c0bdba24bcc60b823e572504ae5c85 100644
--- a/packages/ui-vue/components/property-editor/src/composition/use-expression.ts
+++ b/packages/ui-vue/components/property-editor/src/composition/use-expression.ts
@@ -10,15 +10,12 @@ export function useExpression(
const { getPropertyValue } = usePropertyValueComposition;
const expressionType = props.id;
- const { expressionConfig = {} } = props;
- const { expressionInfo = { value: '', targetId: '', targetType: '', expressionType: '' } } = expressionConfig;
- const { targetId } = expressionInfo;
/**
* 生成表达式内码
* @returns
*/
- function generateExpressionId(): string {
+ function generateExpressionId(targetId: string): string {
return targetId + '_' + expressionType;
}
@@ -26,11 +23,11 @@ export function useExpression(
* 生成一个空的表达式值
* @returns
*/
- function generateExpressionValue(): ExpressionValue {
+ function generateExpressionValue(expressionInfo: any): ExpressionValue {
return {
type: 'Expression',
- expressionId: generateExpressionId(),
- expressionInfo: expressionInfo
+ expressionId: generateExpressionId(expressionInfo?.targetId || ''),
+ expressionInfo
};
}
@@ -38,15 +35,18 @@ export function useExpression(
* 获取表达式的值
*/
function getExpressionValue(): Ref {
+ const { expressionInfo = { value: '', targetId: '', targetType: '', expressionType: '' } } = props.expressionConfig;
+
const propertyValue = getPropertyValue('Expression');
// 1、表达式为空,生成一个空的表达式值
if (!propertyValue.value) {
- propertyValue.value = generateExpressionValue();
+ propertyValue.value = generateExpressionValue(expressionInfo);
return propertyValue;
}
// 2、记录expressionInfo的值
propertyValue.value.expressionInfo = expressionInfo;
+ propertyValue.value.expressionId = generateExpressionId(expressionInfo?.targetId);
return propertyValue;
}
diff --git a/packages/ui-vue/components/property-editor/src/composition/use-property-type.ts b/packages/ui-vue/components/property-editor/src/composition/use-property-type.ts
index 402132cce73290770daa6797eb8ff93794e8902b..25fbf9f4c7327ac44cc73b48996ccf16f836daf8 100644
--- a/packages/ui-vue/components/property-editor/src/composition/use-property-type.ts
+++ b/packages/ui-vue/components/property-editor/src/composition/use-property-type.ts
@@ -1,6 +1,6 @@
-import { Ref, SetupContext, ref } from "vue";
+import { Ref, SetupContext, ref, watch } from "vue";
import { PropertyEditorProps, PropertyType } from "../property-editor.props";
import { PROPERTY_TYPE_ENUMS } from "./datas";
import { ConstEnumItem, PropertyTypeItem, UsePropertyType } from "./types";
@@ -20,7 +20,6 @@ export function usePropertyType(
/** 当前选择的属性类型 */
const currentPropertyType: Ref = ref();
-
/**
* 获取允许选择的属性类型数据
*/
@@ -30,6 +29,11 @@ export function usePropertyType(
return allowedPropertyTypeItems;
}
+ watch(() => [props.propertyTypes], () => {
+ propertyTypes.value = props.propertyTypes;
+ getAllowedPropertyTypeItems();
+ });
+
/**
* 判断是否是状态机(旧的状态机格式)
* @param propertyValue
diff --git a/packages/ui-vue/components/property-editor/src/composition/use-property-value.ts b/packages/ui-vue/components/property-editor/src/composition/use-property-value.ts
index 904a95e963779dd7cc915f01209453c59d4cf806..b9af6f6d7a669dd00b94cc90d2581c2c45643bac 100644
--- a/packages/ui-vue/components/property-editor/src/composition/use-property-value.ts
+++ b/packages/ui-vue/components/property-editor/src/composition/use-property-value.ts
@@ -52,7 +52,7 @@ export function usePropertyValue(
case 'Variable':
return propertyValue && propertyValue.field;
case 'Custom':
- return propertyValue !== undefined;
+ return true;
case 'Expression':
return propertyValue && propertyValue.expressionInfo && propertyValue.expressionInfo.value;
case 'StateMachine':
diff --git a/packages/ui-vue/components/property-editor/src/property-editor.component.tsx b/packages/ui-vue/components/property-editor/src/property-editor.component.tsx
index 604a13bed8f7ee485a05e6e73ad1ac72b712e8c9..591614e7dd1c94782c2e42e84fd5eb117efbe856 100644
--- a/packages/ui-vue/components/property-editor/src/property-editor.component.tsx
+++ b/packages/ui-vue/components/property-editor/src/property-editor.component.tsx
@@ -1,4 +1,4 @@
-
+
/**
* Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd.
*
@@ -30,7 +30,7 @@ import './property-editor.css';
export default defineComponent({
name: 'FPropertyEditor',
props: propertyEditorProps,
- emits: ['valueChange','beforeOpenVariables'] as (string[] & ThisType) | undefined,
+ emits: ['valueChange', 'beforeOpenVariables'] as (string[] & ThisType) | undefined,
setup(props: PropertyEditorProps, context: SetupContext) {
const readOnly = ref(false);
@@ -55,6 +55,7 @@ export default defineComponent({
return selectedPropertyType === currentPropertyType.value;
});
+ context.expose({ currentPropertyType });
/**
* 左侧属性类型变化
*/
@@ -63,7 +64,7 @@ export default defineComponent({
const propertyValue = getPropertyValue(currentPropertyType.value);
// 2、如果属性值不为空,触发属性值变更
- if (isPropertyValueValid(currentPropertyType.value,propertyValue.value)) {
+ if (isPropertyValueValid(currentPropertyType.value, propertyValue.value)) {
triggerValueChange(propertyValue.value);
}
}
diff --git a/packages/ui-vue/components/property-editor/src/property-editor.props.ts b/packages/ui-vue/components/property-editor/src/property-editor.props.ts
index 9ba44286bef8fb49191591af4f16e49b262e704e..8655d54befc054ab6ca601c401245cbd28142fcd 100644
--- a/packages/ui-vue/components/property-editor/src/property-editor.props.ts
+++ b/packages/ui-vue/components/property-editor/src/property-editor.props.ts
@@ -40,6 +40,7 @@ export const propertyEditorProps = {
/** 属性类型列表 */
propertyTypes: { type: Array, default: [] },
+
} as Record;
export type PropertyEditorProps = ExtractPropTypes;
diff --git a/packages/ui-vue/components/property-panel/src/composition/entity/base-property.ts b/packages/ui-vue/components/property-panel/src/composition/entity/base-property.ts
index 18d39018d9b489a1f13830eccfadd18859ccc4a1..d37b0f6e2d7b8c78b67dc88bcb827c2be2e0553e 100644
--- a/packages/ui-vue/components/property-panel/src/composition/entity/base-property.ts
+++ b/packages/ui-vue/components/property-panel/src/composition/entity/base-property.ts
@@ -175,7 +175,13 @@ export class BaseControlProperty {
}
protected getVisibleProperty(propertyData, position = '') {
- const editor = this.getPropertyEditorParams(propertyData, position === 'gridFieldEditor' ? ['Const', 'Expression'] : ['Const', 'Variable', 'StateMachine', 'Expression'], 'visible');
+ let editorTypes = ['Const', 'Variable', 'StateMachine', 'Expression'];
+ if (position === 'gridFieldEditor') {
+ editorTypes = ['Const', 'Expression'];
+ } else if (position === 'form-group' && !propertyData.binding?.field) {
+ editorTypes = ['Const', 'Variable', 'StateMachine'];
+ }
+ const editor = this.getPropertyEditorParams(propertyData, editorTypes, 'visible');
return {
visible: {
title: "是否可见",
diff --git a/packages/ui-vue/components/property-panel/src/composition/entity/expression-property.ts b/packages/ui-vue/components/property-panel/src/composition/entity/expression-property.ts
index d976887149d4d74b734e1d164061c691eee538e3..c8640051d2ef7eead891e415a0f6be94a61c5690 100644
--- a/packages/ui-vue/components/property-panel/src/composition/entity/expression-property.ts
+++ b/packages/ui-vue/components/property-panel/src/composition/entity/expression-property.ts
@@ -377,6 +377,7 @@ export class ExpressionProperty {
return {
description: "表达式",
title: "表达式",
+ hide: !propertyData.binding,
properties: {
...this.getExpressionEditorOptions(propertyData, type, expressionTypes, callback)
}
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 ad4ad877bb5de19b82efce18428bd2cae6c8d5f5..b6d9671d2a485f72d2a0dcfa992640b002cd004d 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
@@ -27,7 +27,7 @@ export class InputBaseProperty extends BaseControlProperty {
this.propertyConfig.categories['basic'] = this.getBasicProperties(propertyData, componentInstance);
// 外观
this.propertyConfig.categories['appearance'] = this.getAppearanceProperties(propertyData, componentInstance);
- this.propertyConfig.categories['behavior'] = this.getBehaviorConfig(propertyData);
+ this.propertyConfig.categories['behavior'] = this.getBehaviorConfig(propertyData,'form-group');
}
public getPropertyConfig(propertyData: any, componentInstance: DesignerComponentInstance) {
this.getCommonPropertyConfig(propertyData, componentInstance);
@@ -338,9 +338,9 @@ export class InputBaseProperty extends BaseControlProperty {
$converter: "/converter/property-editor.converter",
parentPropertyID: 'editor'
}, info);
-
- const readonlyEditor = this.getPropertyEditorParams(propertyData, [], 'readonly');
- const requiredEditor = this.getPropertyEditorParams(propertyData, [], 'required');
+ const editorTypes = propertyData.binding?.field ? [] : ['Const', 'Variable', 'StateMachine'];
+ const readonlyEditor = this.getPropertyEditorParams(propertyData, editorTypes, 'readonly');
+ const requiredEditor = this.getPropertyEditorParams(propertyData, editorTypes, 'required');
const editorProperties = {
readonly: {
description: "",