diff --git a/src/router/index.js b/src/router/index.js
index 7d36fb8..42341fd 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -281,6 +281,12 @@ const router = createRouter({
component: () => import('../views/BDCenter/incomeDetails.vue'),
meta: { requiresAuth: true },
},
+ {
+ path: '/bd-leader-center',
+ name: 'bd-leader-center',
+ component: () => import('../views/BDLeaderCenter/index.vue'),
+ meta: { requiresAuth: true },
+ },
],
})
diff --git a/src/utils/permissionManager.js b/src/utils/permissionManager.js
index 60faa83..4234f84 100644
--- a/src/utils/permissionManager.js
+++ b/src/utils/permissionManager.js
@@ -11,12 +11,14 @@ export const USER_ROLES = {
ANCHOR: 'anchor',
GUEST: 'guest',
ADMIN: 'admin',
+ BDLEADER: 'bdLeader', // BD Leader
}
// 页面路径常量
export const PAGES = {
COIN_SELLER: '/coin-seller',
AGENCY_CENTER: '/agency-center',
+ BD_LEADER_CENTER: '/bd-leader-center',
BD_CENTER: '/bd-center',
HOST_CENTER: '/host-center',
APPLY: '/apply',
@@ -78,6 +80,9 @@ export const ROLE_PERMISSIONS = {
'/income-details', //操作结果页
],
+ // BD Leader (商务拓展领导)
+ [USER_ROLES.BDLEADER]: [...[USER_ROLES.BD], PAGES.BD_LEADER_CENTER],
+
// Anchor (主播)
[USER_ROLES.ANCHOR]: [
PAGES.HOST_CENTER, // 主页面
@@ -133,8 +138,9 @@ export const ROLE_PERMISSIONS = {
// 身份优先级(数字越大优先级越高)
export const ROLE_PRIORITY = {
- [USER_ROLES.ADMIN]: 5,
- [USER_ROLES.FREIGHT_AGENT]: 4,
+ [USER_ROLES.ADMIN]: 6,
+ [USER_ROLES.FREIGHT_AGENT]: 5,
+ [USER_ROLES.BDLEADER]: 4,
[USER_ROLES.BD]: 3,
[USER_ROLES.AGENT]: 2,
[USER_ROLES.ANCHOR]: 1,
@@ -146,6 +152,7 @@ export const ROLE_DEFAULT_PAGES = {
[USER_ROLES.ADMIN]: PAGES.ADMIN_CENTER,
[USER_ROLES.FREIGHT_AGENT]: PAGES.COIN_SELLER,
[USER_ROLES.AGENT]: PAGES.AGENCY_CENTER,
+ [USER_ROLES.BDLEADER]: PAGES.BD_LEADER_CENTER,
[USER_ROLES.BD]: PAGES.BD_CENTER,
[USER_ROLES.ANCHOR]: PAGES.HOST_CENTER,
[USER_ROLES.GUEST]: PAGES.APPLY,
@@ -227,6 +234,7 @@ class RoleBasedPermissionManager {
const roles = []
if (identity.freightAgent) roles.push(USER_ROLES.FREIGHT_AGENT)
if (identity.agent) roles.push(USER_ROLES.AGENT)
+ if (identity.bdLeader) roles.push(USER_ROLES.BDLEADER)
if (identity.bd) roles.push(USER_ROLES.BD)
if (identity.anchor) roles.push(USER_ROLES.ANCHOR)
if (identity.admin) roles.push(USER_ROLES.ADMIN)
diff --git a/src/views/BDCenterView.vue b/src/views/BDCenterView.vue
index cf8060e..98c169f 100644
--- a/src/views/BDCenterView.vue
+++ b/src/views/BDCenterView.vue
@@ -139,9 +139,11 @@
@click="showHistory = true"
/>
-
+
Team total recharge: $400 Team total salary: $400
+
+
-
-
Total income:$1000
-
Previous period income:$1000
+
+
Total income:$1000
+
Previous period income:$1000
@@ -260,24 +262,24 @@
2025.10.16-2025.10.31:
- Number of teams: 5
-
-
Team salary: $400
-
BD income (salary): $12 (3%)
+
Number of teams: 5
+
+
Team salary: $400
+
BD income (salary): $12 (3%)
-
-
Team salary: $400
-
BD income (salary): $12 (3%)
+
+
Team salary: $400
+
BD income (salary): $12 (3%)
2025.10.16-2025.10.31:
- Number Of Teams: 5
-
-
Number Of Teams: 5
-
BD income (salary): $60 (6%)
+
Number Of Teams: 5
+
+
Number Of Teams: 5
+
BD income (salary): $60 (6%)
@@ -514,7 +516,7 @@ onMounted(() => {
@media screen and (min-width: 360px) {
* {
- font-size: 16px;
+ font-size: 12px;
}
}
diff --git a/src/views/BDLeaderCenter/index.vue b/src/views/BDLeaderCenter/index.vue
new file mode 100644
index 0000000..0753b95
--- /dev/null
+++ b/src/views/BDLeaderCenter/index.vue
@@ -0,0 +1,817 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
{{
+ getAvatarPlaceholder()
+ }}
+
+
+
+ {{ userInfo.userNickname || userInfo.name || 'User1' }}
+
+
+ ID: {{ userInfo.id || userInfo.account || '1234567890' }}
+
+
+
+

+
+
+
+
+
Available income: $1000
+

+
+
+
+
+
+
+
+
Invite User To Become Agency
+

+
+
+
+
+
+
Invite User To Become BD
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
2025.10.01-2025.10.15:
+

+
+
+ Team total recharge: $400 Team total salary: $400
+
+
+
+
+
+
+
+
![]()
+
+
+
+ {{ member.name }}
+
+
+ ID: {{ member.id }}
+
+
+
+
Salary: ${{ member.salary }}
+
+ Recharge: ${{ member.recharge }}
+
+
Host: {{ member.host }}
+
+
+
+
+
+
+
+
+
2025.10.01-2025.10.15:
+

+
+
+ Team total recharge: $400 Team total salary: $400
+
+
+
+
+
+
+
+
![]()
+
+
+
+ {{ member.name }}
+
+
+ ID: {{ member.id }}
+
+
+
+
+ Team Salary: ${{ member.salary }}
+
+
+ Agencies: {{ member.agencies }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ currentHistoryType === 'bd' ? 'BD Salary' : 'BD Leader History' }}
+
+
+
+
+
+
+
+
Total income: $1000
+
Previous period income: $1000
+
+
+
+
+
+
+
+
+
+
+
+ 2025.10.16-2025.10.31:
+ Number of teams: 5
+
+
Team salary: $400
+
BD income (salary): $12 (3%)
+
+
+
Team salary: $400
+
BD income (salary): $12 (3%)
+
+
+
+
+
+ 2025.10.16-2025.10.31:
+ Number Of Teams: 5
+
+
Number Of Teams: 5
+
BD income (salary): $60 (6%)
+
+
+
+
+
+
+
+
+
+
+ 2025.10.16-2025.10.31:
+
+
Number Of BDs: 5
+
Team Salary: $400
+
+
+
+
+
+
+
+ {{ record.period }}:
+
+
Number Of Teams: {{ record.teamCount }}
+
Team Top-Up: ${{ record.topUp }}
+
+
+
+
+
+ {{ record.period }}:
+
+
Number Of Teams: {{ record.teamCount }}
+
Team Top-Up: ${{ record.topUp }}
+
+
+
+
+
+ {{ record.period }}:
+
+
Number Of Teams: {{ record.teamCount }}
+
Team Top-Up: ${{ record.topUp }}
+
+
+
+
+
+
+
+
+
+
+
+
+
2025.10.01-2025.10.15:
+
+ Team total recharge: $400 Team total salary: $400
+
+
+
+
+
![]()
+
+
+
+ aaaaa
+
+
+ ID: 321654
+
+
+
+
Salary: $100
+
Recharge: $500
+
Host:8
+
+
+
+
+
+
+
2025.10.01-2025.10.15:
+
Team Salary: $400 BD number:400
+
+
+
+
![]()
+
+
+
+ aaaaa
+
+
+ ID: 321654
+
+
+
+
Salary: $100
+
Agencies:8
+
+
+
+
+
+
+
+
+
+
+
+