功能:完善用户服务关系展示与组织联动

统一平台、气站和配送点后台的服务关系业务名称展示。
新增气站、配送点、服务人员三级联动及暂未分配语义。
后端补充组织归属、人员角色和启用状态的严格校验。
补充前后端测试、项目文档、操作日志及本机日志忽略规则。
This commit is contained in:
czl231
2026-08-12 00:37:58 +08:00
parent a37b147f5f
commit 6bcde94388
24 changed files with 682 additions and 27 deletions

View File

@@ -19,6 +19,8 @@ const {
linkedRelationValidationMessage,
optionParentIdentity,
shouldClearLinkedOption,
staffOrganizationFilters,
staffOrganizationValidationMessage,
} = await import(moduleURL);
const gasA = 'gas-a';
@@ -34,6 +36,36 @@ assert.equal(
gasA,
'普通配送点必须能回填所属气站',
);
assert.deepEqual(staffOrganizationFilters(gasA, 'delivery-a'), {
gas_basic_identities: gasA,
delivery_basic_identities: 'delivery-a',
});
assert.deepEqual(staffOrganizationFilters('', ''), {
gas_basic_unassigned: '1',
delivery_basic_unassigned: '1',
});
const staffA = {
identity: 'staff-a',
gas_basic_identity: gasA,
delivery_basic_identity: 'delivery-a',
};
assert.equal(
staffOrganizationValidationMessage(gasA, 'delivery-a', 'staff-a', staffA),
'',
);
assert.match(
staffOrganizationValidationMessage(gasB, 'delivery-a', 'staff-a', staffA),
/不属于当前气站/,
);
assert.match(
staffOrganizationValidationMessage(gasA, '', 'staff-a', staffA),
/不属于当前配送点/,
);
assert.match(
staffOrganizationValidationMessage(gasA, 'delivery-a', 'staff-a', undefined),
/无法确认/,
);
assert.equal(
optionParentIdentity(platformDelivery, 'gas_basic_identity'),
'',
@@ -128,10 +160,11 @@ const resourcesSource = await readFile(
);
assert.equal(
(resourcesSource.match(/relationLinkage:/g) ?? []).length,
1,
'联动配置只能显式启用于工作人员配送点字段',
2,
'联动配置必须显式启用于工作人员和用户服务关系的配送点字段',
);
assert.match(resourcesSource, /filterKey: 'gas_basic_identities'/);
assert.match(resourcesSource, /organizationScoped: true/);
assert.match(resourcesSource, /label: '所属气站'/);
assert.match(resourcesSource, /label: '所属配送点'/);