修复配送订单创建方合同约束
This commit is contained in:
@@ -45,6 +45,21 @@ export type ResourceDynamicRelation = {
|
||||
parentLabel: string;
|
||||
resources: Record<string, string>;
|
||||
parentChangeMessage?: string;
|
||||
/** 额外业务上下文,例如配送合同;上下文变化时重新限定动态候选。 */
|
||||
contextParentKey?: string;
|
||||
/** 按类型从上下文选项直接取得唯一主体,适用于合同用户、气站和配送点。 */
|
||||
fixedIdentityKeys?: Record<string, string>;
|
||||
/** 上下文缺少固定主体时展示的业务提示。 */
|
||||
missingIdentityMessages?: Record<string, string>;
|
||||
/** 按类型把上下文字段转换为服务端精确筛选参数。 */
|
||||
scopeFilters?: Record<string, Array<{
|
||||
filterKey: string;
|
||||
optionKey: string;
|
||||
required?: boolean;
|
||||
emptyFilterKey?: string;
|
||||
emptyFilterValue?: string;
|
||||
}>>;
|
||||
contextChangeMessage?: string;
|
||||
};
|
||||
|
||||
export type ResourceField = {
|
||||
@@ -533,7 +548,18 @@ export const resources: ResourceUiDefinition[] = [
|
||||
{ name: '解绑气瓶', resource: '/gasorder_contract_product/:identity/unbind', danger: true, fields: reason },
|
||||
]),
|
||||
define('gasorder_contract_revision', '合同修订记录', 'readonly', []),
|
||||
define('gasorder_basic', '气体配送订单', 'append_only', [f('request_no', { required: true }), relation('gasorder_contract_identity', '/gasorder_contract', true, { label: '配送合同', placeholder: '请选择当前可履约的生效合同', relationFilters: { candidate: 'order' }, relationStrictFilter: true, relationInvalidMessage: '所选配送合同已不可履约,已清空,请重新选择', relationEmptyText: '暂无可下单的生效合同,请先启用或续签配送合同' }), f('creator_type', { required: true, type: 'select', options: resourceSearchEnumOptions('gasorder_basic', 'creator_type') }), f('creator_identity', { label: '创建方', required: true, placeholder: '请选择创建方', relationEmptyText: '当前类型暂无可用的创建方数据', dynamicRelation: { parentKey: 'creator_type', parentLabel: '创建方类型', resources: { user: '/user_account', staff: '/staff_account', delivery: '/delivery_basic', gas: '/gas_basic' }, parentChangeMessage: '创建方类型已变更,请重新选择创建方' } }), relation('user_address_identity', '/user_address', true, {
|
||||
define('gasorder_basic', '气体配送订单', 'append_only', [f('request_no', { required: true }), relation('gasorder_contract_identity', '/gasorder_contract', true, { label: '配送合同', placeholder: '请选择当前可履约的生效合同', relationFilters: { candidate: 'order' }, relationStrictFilter: true, relationInvalidMessage: '所选配送合同已不可履约,已清空,请重新选择', relationEmptyText: '暂无可下单的生效合同,请先启用或续签配送合同' }), f('creator_type', { required: true, type: 'select', options: resourceSearchEnumOptions('gasorder_basic', 'creator_type') }), f('creator_identity', { label: '创建方', required: true, placeholder: '请先选择配送合同和创建方类型', readonlyRelationText: true, relationFilters: { status: '1' }, relationEmptyText: '当前合同下暂无可用的创建方', dynamicRelation: {
|
||||
parentKey: 'creator_type', parentLabel: '创建方类型', contextParentKey: 'gasorder_contract_identity',
|
||||
resources: { user: '/user_account', staff: '/staff_account', delivery: '/delivery_basic', gas: '/gas_basic' },
|
||||
fixedIdentityKeys: { user: 'user_account_identity', gas: 'gas_basic_identity', delivery: 'delivery_basic_identity' },
|
||||
missingIdentityMessages: { delivery: '所选合同未指定配送点,不能以配送点作为创建方' },
|
||||
scopeFilters: { staff: [
|
||||
{ filterKey: 'gas_basic_identities', optionKey: 'gas_basic_identity', required: true },
|
||||
{ filterKey: 'delivery_basic_identities', optionKey: 'delivery_basic_identity', emptyFilterKey: 'delivery_basic_unassigned', emptyFilterValue: 'true' },
|
||||
] },
|
||||
parentChangeMessage: '创建方类型已变更,已按当前合同重新匹配创建方',
|
||||
contextChangeMessage: '配送合同已变更,创建方已按新合同重新匹配',
|
||||
} }), relation('user_address_identity', '/user_address', true, {
|
||||
label: '收货地址', placeholder: '请先选择配送合同,再选择该合同用户的收货地址',
|
||||
relationOptionLabelKey: 'address', relationOptionDefaultKey: 'is_default',
|
||||
relationAutoSelectKey: 'is_default', relationEmptyText: '该合同用户暂无收货地址,请先维护用户地址',
|
||||
|
||||
Reference in New Issue
Block a user