diff --git a/packages/plugins/@hera/plugin-rental/src/client/index.tsx b/packages/plugins/@hera/plugin-rental/src/client/index.tsx index 8e666761e..8069cf2c5 100644 --- a/packages/plugins/@hera/plugin-rental/src/client/index.tsx +++ b/packages/plugins/@hera/plugin-rental/src/client/index.tsx @@ -26,7 +26,10 @@ import { useWaybillPdfPath, WaybillsProvider, } from './hooks/usePdfPath'; -import { ColumnSwitchAction, ColumnSwitchActionInitializer } from './schema-initializer/actions/ColumnSwitchActionInitializer'; +import { + ColumnSwitchAction, + ColumnSwitchActionInitializer, +} from './schema-initializer/actions/ColumnSwitchActionInitializer'; import { SettlementExcelExportActionInitializer, useSettlementExcelExportActionProps, @@ -37,12 +40,16 @@ import { SettlementStyleSwitchActionInitializer, useSettlementStyleSwitchActionProps, } from './schema-initializer/actions/SettlementStyleSwitchActionInitializer'; -import { RecordPrintSetupActionInitializer, PrintSetup } from './schema-initializer/actions/RecordPrintSetupActionInitializer'; +import { + RecordPrintSetupActionInitializer, + PrintSetup, +} from './schema-initializer/actions/RecordPrintSetupActionInitializer'; import { RecordPrintSetupMargingTopInitializer, PrintSetupMargingTop, } from './schema-initializer/actions/RecordPrintSetupMargingTopInitializer'; import { UnusedRecordsBlockHelper } from './schema-initializer/blocks/UnusedRecordsBlockInitializer'; +import { MovementFieldInterface } from './interfaces/movement'; export class PluginRentalClient extends Plugin { locale: Locale; async afterAdd() {} @@ -151,6 +158,12 @@ export class PluginRentalClient extends Plugin { // You can get and modify the app instance here async load() { this.locale = new Locale(this.app); + this.app.dataSourceManager.addFieldInterfaceGroups({ + bussiness: { + label: 'Bussiness', + }, + }); + this.app.dataSourceManager.addFieldInterfaces([MovementFieldInterface]); this.app.addComponents({ RecordFeeConvertedAmount, ReadFeeConvertedAmount, diff --git a/packages/plugins/@hera/plugin-rental/src/client/interfaces/movement.ts b/packages/plugins/@hera/plugin-rental/src/client/interfaces/movement.ts new file mode 100644 index 000000000..b5876bb2b --- /dev/null +++ b/packages/plugins/@hera/plugin-rental/src/client/interfaces/movement.ts @@ -0,0 +1,27 @@ +import { CollectionFieldInterface, dataSource, defaultProps, operators } from '@nocobase/client'; +import { tval } from '../locale'; + +export class MovementFieldInterface extends CollectionFieldInterface { + name = 'movement'; + type = 'object'; + group = 'bussiness'; + title = tval('Movement'); + sortable = true; + default = { + type: 'string', + uiSchema: { + type: 'string', + 'x-component': 'Radio.Group', + }, + }; + availableTypes = ['string', 'integer', 'boolean', 'integer']; + hasDefaultValue = true; + properties = { + ...defaultProps, + // 'uiSchema.enum': dataSource, + }; + filterable = { + operators: operators.enumType, + }; + titleUsable = true; +}