feat(P20T1-1,P20T1-2,P20T1-3): 差旅模型、申请/订单接口与工作流分支

这个提交包含在:
2026-03-10 19:58:46 +08:00
父节点 427ae2db53
当前提交 7b78945112
共修改 19 个文件,包含 2266 行新增和 59 行删除
@@ -3,6 +3,7 @@ const NOTIFICATION_DOMAIN_SCOPES = Object.freeze({
reimbursement: 'reimbursement',
leave: 'leave',
procurement: 'procurement',
travel: 'travel',
asset: 'asset',
inventory: 'inventory',
});
@@ -17,6 +18,8 @@ const NOTIFICATION_TYPES = Object.freeze({
leaveRejected: 'leave.rejected',
purchaseRequestApproved: 'purchase_request.approved',
purchaseRequestRejected: 'purchase_request.rejected',
travelRequestApproved: 'travel_request.approved',
travelRequestRejected: 'travel_request.rejected',
assetAssigned: 'asset.assigned',
assetReturned: 'asset.returned',
assetTransferred: 'asset.transferred',
@@ -33,6 +36,8 @@ const IM_SUPPORTED_NOTIFICATION_TYPES = Object.freeze([
NOTIFICATION_TYPES.leaveRejected,
NOTIFICATION_TYPES.purchaseRequestApproved,
NOTIFICATION_TYPES.purchaseRequestRejected,
NOTIFICATION_TYPES.travelRequestApproved,
NOTIFICATION_TYPES.travelRequestRejected,
NOTIFICATION_TYPES.assetAssigned,
NOTIFICATION_TYPES.assetReturned,
NOTIFICATION_TYPES.assetTransferred,
@@ -49,6 +54,8 @@ const NOTIFICATION_TYPE_TO_DOMAIN_SCOPE = Object.freeze({
[NOTIFICATION_TYPES.leaveRejected]: NOTIFICATION_DOMAIN_SCOPES.leave,
[NOTIFICATION_TYPES.purchaseRequestApproved]: NOTIFICATION_DOMAIN_SCOPES.procurement,
[NOTIFICATION_TYPES.purchaseRequestRejected]: NOTIFICATION_DOMAIN_SCOPES.procurement,
[NOTIFICATION_TYPES.travelRequestApproved]: NOTIFICATION_DOMAIN_SCOPES.travel,
[NOTIFICATION_TYPES.travelRequestRejected]: NOTIFICATION_DOMAIN_SCOPES.travel,
[NOTIFICATION_TYPES.assetAssigned]: NOTIFICATION_DOMAIN_SCOPES.asset,
[NOTIFICATION_TYPES.assetReturned]: NOTIFICATION_DOMAIN_SCOPES.asset,
[NOTIFICATION_TYPES.assetTransferred]: NOTIFICATION_DOMAIN_SCOPES.asset,
@@ -60,6 +67,7 @@ const TARGET_TYPE_TO_DOMAIN_SCOPE = Object.freeze({
reimbursement_form: NOTIFICATION_DOMAIN_SCOPES.reimbursement,
leave_request: NOTIFICATION_DOMAIN_SCOPES.leave,
purchase_request: NOTIFICATION_DOMAIN_SCOPES.procurement,
travel_request: NOTIFICATION_DOMAIN_SCOPES.travel,
asset_card: NOTIFICATION_DOMAIN_SCOPES.asset,
inventory_check: NOTIFICATION_DOMAIN_SCOPES.inventory,
});
+32
查看文件
@@ -22,6 +22,12 @@ const PROCUREMENT_SELF_SERVICE_PERMISSIONS = [
"procurement.submit",
];
const TRAVEL_SELF_SERVICE_PERMISSIONS = [
"travel.create",
"travel.view_own",
"travel.submit",
];
const ASSET_SELF_SERVICE_PERMISSIONS = ["asset.view_own"];
const MASTERDATA_VIEW_PERMISSIONS = ["masterdata.view"];
@@ -30,6 +36,7 @@ const MASTERDATA_MANAGE_PERMISSIONS = ["masterdata.manage"];
const EMPLOYEE_BASE_PERMISSIONS = [
...EXPENSE_SELF_SERVICE_PERMISSIONS,
...LEAVE_SELF_SERVICE_PERMISSIONS,
...TRAVEL_SELF_SERVICE_PERMISSIONS,
];
const ENTITY_PERMISSION_MAP = {
@@ -79,6 +86,22 @@ const ENTITY_PERMISSION_MAP = {
approve: "procurement.approve",
manage: "procurement.manage",
},
travel_request: {
create: "travel.create",
view_own: "travel.view_own",
view_all: "travel.view_all",
submit: "travel.submit",
approve: "travel.approve",
manage: "travel.manage",
},
travel: {
create: "travel.create",
view_own: "travel.view_own",
view_all: "travel.view_all",
submit: "travel.submit",
approve: "travel.approve",
manage: "travel.manage",
},
};
const ROLE_PERMISSIONS = {
@@ -96,6 +119,8 @@ const ROLE_PERMISSIONS = {
"leave.approve",
"procurement.approve",
"procurement.view_all",
"travel.approve",
"travel.view_all",
"asset.view_all",
"report.dashboard.view",
"budget.view",
@@ -112,6 +137,8 @@ const ROLE_PERMISSIONS = {
"leave.view_all",
"procurement.approve",
"procurement.view_all",
"travel.approve",
"travel.view_all",
"asset.view_all",
"report.dashboard.view",
"budget.view",
@@ -127,6 +154,7 @@ const ROLE_PERMISSIONS = {
"expense.finance.pay",
"expense.view_all",
"procurement.view_all",
"travel.view_all",
"asset.view_all",
],
finance_mgr: [
@@ -146,6 +174,8 @@ const ROLE_PERMISSIONS = {
"expense.finance.override_duplicate",
"procurement.view_all",
"procurement.manage",
"travel.view_all",
"travel.manage",
"asset.view_all",
"asset.manage",
"asset.inventory",
@@ -157,6 +187,8 @@ const ROLE_PERMISSIONS = {
...EMPLOYEE_BASE_PERMISSIONS,
"procurement.view_all",
"procurement.manage",
"travel.view_all",
"travel.manage",
"asset.view_all",
"asset.manage",
"asset.transfer",