diff --git a/src/editor/propEditors/BayEditor.vue b/src/editor/propEditors/BayEditor.vue new file mode 100644 index 0000000..f326cf0 --- /dev/null +++ b/src/editor/propEditors/BayEditor.vue @@ -0,0 +1,302 @@ + + + + + Basic + + + + + + + + + + + + + + + + + + + + Apply Basic Settings + + + Advanced + + + + + + + + + + + + + {{ `Bay ${idx + 1}` }} + + + + + + + + + + + + + + + Level Heights + + + + + + + + + + + + diff --git a/src/editor/widgets/property/PropertyPanel.vue b/src/editor/widgets/property/PropertyPanel.vue index 5102397..1cf6e7b 100644 --- a/src/editor/widgets/property/PropertyPanel.vue +++ b/src/editor/widgets/property/PropertyPanel.vue @@ -77,9 +77,9 @@ function onDataChange(newData: any) { if (!viewport) return viewport.stateManager.update(({ getEntity, putEntity }) => { const data = getEntity(props.data.id) - lodash.merge(data, newData) + lodash.assign(data, newData) + // console.log('onDataChange@1', JSON.stringify(data.dt)) putEntity(data) - console.log('onDataChange@1', JSON.stringify(data.tf)) }) } diff --git a/src/editor/widgets/property/PropertyPanelConstant.ts b/src/editor/widgets/property/PropertyPanelConstant.ts index 9197a78..ea6c113 100644 --- a/src/editor/widgets/property/PropertyPanelConstant.ts +++ b/src/editor/widgets/property/PropertyPanelConstant.ts @@ -4,6 +4,7 @@ import type { PropertyFieldSetter } from "@/core/base/PropertyTypes.ts"; import { dataFormInputComponents } from "@/components/data-form/DataFormConstant.ts"; import TransformEditor from "@/editor/propEditors/TransformEditor.vue"; import InOutCenterEditor from "@/editor/propEditors/InOutCenterEditor.vue"; +import BayEditor from "@/editor/propEditors/BayEditor.vue"; const defDataFormProps: DataFormProps = { columnCount: 1, @@ -14,6 +15,7 @@ const defDataFormProps: DataFormProps = { dataFormInputComponents.TransformEditor = markRaw(TransformEditor); dataFormInputComponents.InOutCenterEditor = markRaw(InOutCenterEditor); +dataFormInputComponents.BayEditor = markRaw(BayEditor); const basicFieldsSetter: Array = [ { diff --git a/src/modules/rack/RackPropertySetter.ts b/src/modules/rack/RackPropertySetter.ts index 97cdae9..9e80d21 100644 --- a/src/modules/rack/RackPropertySetter.ts +++ b/src/modules/rack/RackPropertySetter.ts @@ -29,11 +29,11 @@ const propertySetter: PropertySetter = { dataPath: 'dt.columnSpacing', label: '支脚跨越', input: 'InputNumber', inputProps: {}, }, - // { - // dataPath: 'dt.bays', input: 'BayEditor', - // inputProps: { - // }, - // }, + { + dataPath: 'dt.bays', input: 'BayEditor', + inputProps: { + }, + }, /** * dt.bays 5列3层货架示例 * { @@ -47,6 +47,7 @@ const propertySetter: PropertySetter = { * bays: [ // 每列的配置 * { * bayWidth: 1.6, // 列的宽度 + * offset: // 列偏移 * levelHeight: [ 1.4, 1.4, 1.4 ] // 每层的高度 * }, * {bayWidth: 1.6, levelHeight: [ 1.4, 1.4, 1.4 ]},