This commit is contained in:
2026-09-17 18:25:08 +08:00
parent 5df199a324
commit f5f5525a1b
9 changed files with 120 additions and 31 deletions
@@ -93,9 +93,19 @@ test('shares the merchant permission map and preserves resources not rendered by
assert.match(contractsSource, /'company:member:create': \['merchant:member:create'\]/)
for (const permission of [
'merchant:warehouse:inbound:list',
'merchant:cross-border:procurement',
'merchant:cross-border:domestic-trucking',
'merchant:cross-border:pallet-shipping',
'merchant:cross-border:procurement:list',
'merchant:cross-border:procurement:create',
'merchant:cross-border:domestic-trucking:list',
'merchant:cross-border:domestic-trucking:create',
'merchant:cross-border:domestic-trucking:edit',
'merchant:cross-border:pallet-shipping:list',
'merchant:cross-border:pallet-shipping:create',
'merchant:cross-border:pallet-shipping:edit',
'merchant:overseas-warehouse:return-inventory:list',
'merchant:overseas-warehouse:relabel:list',
'merchant:overseas-warehouse:transfer:list',
'merchant:overseas-warehouse:discard:list',
'merchant:overseas-warehouse:return-order:list',
]) {
assert.match(contractsSource, new RegExp(`'${permission}': \\['${permission}'\\]`))
}
+58 -3
View File
@@ -58,6 +58,42 @@ export const TENANT_PERMISSION_GROUPS: readonly TenantPermissionGroup[] = [
{ code: 'merchant:warehouse:delivery:create', label: '创建派送单', description: '从排车单创建海外仓派送单' },
],
},
{
key: 'overseas-warehouse',
label: '海外仓业务',
items: [
{ code: 'merchant:warehouse:inbound:list', label: '查看海外入库单', description: '查看本企业海外仓入库订单列表和详情' },
{ code: 'merchant:overseas-warehouse:last-mile-order:list', label: '查看海外尾程订单', description: '查看本企业尾程订单列表和详情' },
{ code: 'merchant:overseas-warehouse:relabel:list', label: '查看贴标申请', description: '查看本企业贴标申请列表和详情' },
{ code: 'merchant:overseas-warehouse:relabel:create', label: '创建贴标申请', description: '使用本企业可用库存创建贴标申请' },
{ code: 'merchant:overseas-warehouse:relabel:files', label: '管理贴标文件', description: '上传本企业贴标申请的面单和明细文件' },
{ code: 'merchant:overseas-warehouse:relabel:confirm', label: '确认贴标完成', description: '确认仓库完成的贴标结果并继续出库' },
{ code: 'merchant:overseas-warehouse:transfer:list', label: '查看仓储转运', description: '查看本企业仓储转运单列表和详情' },
{ code: 'merchant:overseas-warehouse:transfer:create', label: '创建仓储转运', description: '创建和提交本企业仓储转运单' },
{ code: 'merchant:overseas-warehouse:transfer:confirm', label: '确认转运实测', description: '确认仓库回传的箱数、尺寸、重量和打托数据' },
{ code: 'merchant:overseas-warehouse:discard:list', label: '查看货物废弃', description: '查看本企业货物废弃申请列表和详情' },
{ code: 'merchant:overseas-warehouse:discard:create', label: '创建货物废弃', description: '使用本企业可用库存创建废弃申请' },
{ code: 'merchant:overseas-warehouse:discard:cancel', label: '取消货物废弃', description: '取消本企业尚未审核的废弃申请' },
{ code: 'merchant:overseas-warehouse:return-order:list', label: '查看退货预报', description: '查看本企业退货预报和仓库签收结果' },
{ code: 'merchant:overseas-warehouse:return-order:create', label: '创建退货预报', description: '创建本企业退货 SKU 和数量预报' },
{ code: 'merchant:overseas-warehouse:return-order:relabel', label: '退货转换标', description: '将已签收退货库存转换为换标申请' },
{ code: 'merchant:overseas-warehouse:return-inventory:list', label: '查看退货库存', description: '查看本企业退货 SKU 库存和箱号明细' },
],
},
{
key: 'cross-border',
label: '海外业务',
items: [
{ code: 'merchant:cross-border:procurement:list', label: '查看海外采购', description: '查看本企业海外采购订单列表和详情' },
{ code: 'merchant:cross-border:procurement:create', label: '创建海外采购', description: '创建本企业海外采购订单' },
{ code: 'merchant:cross-border:domestic-trucking:list', label: '查看美国本土卡', description: '查看本企业美国本土卡订单' },
{ code: 'merchant:cross-border:domestic-trucking:create', label: '创建美国本土卡', description: '创建本企业美国本土卡订单' },
{ code: 'merchant:cross-border:domestic-trucking:edit', label: '编辑美国本土卡', description: '编辑本企业允许修改的美国本土卡订单' },
{ code: 'merchant:cross-border:pallet-shipping:list', label: '查看美本土散板', description: '查看本企业美本土散板订单' },
{ code: 'merchant:cross-border:pallet-shipping:create', label: '创建美本土散板', description: '创建本企业美本土散板订单' },
{ code: 'merchant:cross-border:pallet-shipping:edit', label: '编辑美本土散板', description: '编辑本企业允许修改的美本土散板订单' },
],
},
{
key: 'company',
label: '企业资料',
@@ -107,9 +143,28 @@ export const FRONTEND_TO_MERCHANT_PERMISSION_CODES: Readonly<Record<string, read
'merchant:warehouse:delivery:create': ['merchant:warehouse:delivery:create'],
'merchant:warehouse:inbound:list': ['merchant:warehouse:inbound:list'],
'merchant:overseas-warehouse:return-inventory:list': ['merchant:overseas-warehouse:return-inventory:list'],
'merchant:cross-border:procurement': ['merchant:cross-border:procurement'],
'merchant:cross-border:domestic-trucking': ['merchant:cross-border:domestic-trucking'],
'merchant:cross-border:pallet-shipping': ['merchant:cross-border:pallet-shipping'],
'merchant:overseas-warehouse:last-mile-order:list': ['merchant:overseas-warehouse:last-mile-order:list'],
'merchant:overseas-warehouse:relabel:list': ['merchant:overseas-warehouse:relabel:list'],
'merchant:overseas-warehouse:relabel:create': ['merchant:overseas-warehouse:relabel:create'],
'merchant:overseas-warehouse:relabel:files': ['merchant:overseas-warehouse:relabel:files'],
'merchant:overseas-warehouse:relabel:confirm': ['merchant:overseas-warehouse:relabel:confirm'],
'merchant:overseas-warehouse:transfer:list': ['merchant:overseas-warehouse:transfer:list'],
'merchant:overseas-warehouse:transfer:create': ['merchant:overseas-warehouse:transfer:create'],
'merchant:overseas-warehouse:transfer:confirm': ['merchant:overseas-warehouse:transfer:confirm'],
'merchant:overseas-warehouse:discard:list': ['merchant:overseas-warehouse:discard:list'],
'merchant:overseas-warehouse:discard:create': ['merchant:overseas-warehouse:discard:create'],
'merchant:overseas-warehouse:discard:cancel': ['merchant:overseas-warehouse:discard:cancel'],
'merchant:overseas-warehouse:return-order:list': ['merchant:overseas-warehouse:return-order:list'],
'merchant:overseas-warehouse:return-order:create': ['merchant:overseas-warehouse:return-order:create'],
'merchant:overseas-warehouse:return-order:relabel': ['merchant:overseas-warehouse:return-order:relabel'],
'merchant:cross-border:procurement:list': ['merchant:cross-border:procurement:list'],
'merchant:cross-border:procurement:create': ['merchant:cross-border:procurement:create'],
'merchant:cross-border:domestic-trucking:list': ['merchant:cross-border:domestic-trucking:list'],
'merchant:cross-border:domestic-trucking:create': ['merchant:cross-border:domestic-trucking:create'],
'merchant:cross-border:domestic-trucking:edit': ['merchant:cross-border:domestic-trucking:edit'],
'merchant:cross-border:pallet-shipping:list': ['merchant:cross-border:pallet-shipping:list'],
'merchant:cross-border:pallet-shipping:create': ['merchant:cross-border:pallet-shipping:create'],
'merchant:cross-border:pallet-shipping:edit': ['merchant:cross-border:pallet-shipping:edit'],
'company:profile:view': ['merchant:profile:view'],
'company:profile:edit': ['merchant:profile:edit'],
'company:qualification:upload': ['merchant:qualification:upload'],