优化配送订单合同气瓶候选显示
This commit is contained in:
@@ -532,7 +532,7 @@ export const resources: ResourceUiDefinition[] = [
|
||||
filterKey: 'gasorder_contract_identity', filterOnly: true, requiresParent: true,
|
||||
parentChangeMessage: '配送合同已变更,请重新选择该合同用户的收货地址',
|
||||
},
|
||||
}), f('gasorder_contract_product_identities', { required: true, type: 'identity-list', relation: '/gasorder_contract_product', placeholder: '请先选择配送合同,再选择该合同可用的气瓶', relationLinkage: { parentKey: 'gasorder_contract_identity', optionParentKey: '', filterKey: 'contract_identity', filterOnly: true, requiresParent: true, parentChangeMessage: '配送合同已变更,请重新选择该合同可用的气瓶' } }), f('contact_name', { required: true }), f('contact_phone', { required: true }), f('discount_amount'), f('remark')], 'list', [
|
||||
}), f('gasorder_contract_product_identities', { label: '合同气瓶', required: true, type: 'identity-list', relation: '/gasorder_contract_product', placeholder: '请输入气瓶编码或类型搜索', relationOptionLabelKey: 'product_type_name', relationEmptyText: '该合同暂无可用气瓶,请先为合同绑定气瓶', relationLinkage: { parentKey: 'gasorder_contract_identity', optionParentKey: '', filterKey: 'contract_identity', filterOnly: true, requiresParent: true, parentChangeMessage: '配送合同已变更,请重新选择该合同可用的气瓶' } }), f('contact_name', { required: true }), f('contact_phone', { required: true }), f('discount_amount'), f('remark')], 'list', [
|
||||
{ name: '分配订单', resource: '/gasorder_basic/:identity/assign', fields: [relation('delivery_basic_identity', '/delivery_basic', true), relation('staff_account_identity', '/staff_account', true, { staffRelation: { roles: ['delivery'], enabledOnly: true, workStatus: 'on_duty' } }), ...reason], visibleFor: { field: 'order_status', values: [16, 18] } },
|
||||
{ name: '开始罐装', resource: '/gasorder_basic/:identity/filling', fields: reason, visibleFor: { field: 'order_status', values: [18] } },
|
||||
{ name: '待配送', resource: '/gasorder_basic/:identity/ready', fields: reason, visibleFor: { field: 'order_status', values: [19] } },
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
v-model="model[field.key]"
|
||||
:disabled="disabledSet.has(field.key) || relationRequiresParent(field)"
|
||||
:multiple="field.type === 'identity-list'"
|
||||
:placeholder="field.placeholder"
|
||||
:placeholder="relationPlaceholder(field)"
|
||||
:loading="relationLoading[field.relation ?? '']"
|
||||
allow-clear
|
||||
allow-search
|
||||
@@ -203,6 +203,14 @@ function relationRequiresParent(field: ResourceField) {
|
||||
);
|
||||
}
|
||||
|
||||
/** 父级未选择时直接在控件内提示操作顺序,选择后恢复字段搜索提示。 */
|
||||
function relationPlaceholder(field: ResourceField) {
|
||||
if (!relationRequiresParent(field)) return field.placeholder;
|
||||
return field.relationLinkage?.parentKey === 'gasorder_contract_identity'
|
||||
? '请先选择配送合同'
|
||||
: '请先选择上级数据';
|
||||
}
|
||||
|
||||
/** 根据父级和候选状态给出明确的关联选择引导。 */
|
||||
function relationEmptyText(field: ResourceField) {
|
||||
if (relationRequiresParent(field)) {
|
||||
|
||||
Reference in New Issue
Block a user