Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
李宁
/
Activity
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit d3641432
authored
Nov 20, 2025
by
李宁
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1
1 parent
354b32d5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
8 additions
and
403 deletions
channelBusiManage/src/App.vue
channelBusiManage/src/components/DesktopMain.vue
channelBusiManage/src/components/LoginPage.vue
channelBusiManage/src/main.ts
channelBusiManage/src/views/RoleTestView.vue
channelBusiManage/src/App.vue
View file @
d364143
...
@@ -4,7 +4,7 @@ import LoginPage from './components/LoginPage.vue'
...
@@ -4,7 +4,7 @@ import LoginPage from './components/LoginPage.vue'
import
DesktopMain
from
'./components/DesktopMain.vue'
import
DesktopMain
from
'./components/DesktopMain.vue'
// 登录状态管理
// 登录状态管理
const
isLoggedIn
=
ref
(
false
)
const
isLoggedIn
=
ref
(
localStorage
.
getItem
(
'pcUserInfo'
)?
true
:
false
)
const
currentUser
=
ref
<
{
username
:
string
;
role
:
'admin'
|
'viewer'
}
|
null
>
(
null
)
const
currentUser
=
ref
<
{
username
:
string
;
role
:
'admin'
|
'viewer'
}
|
null
>
(
null
)
// 登录处理
// 登录处理
...
@@ -15,6 +15,7 @@ const handleLogin = (username: string, role: 'admin' | 'viewer') => {
...
@@ -15,6 +15,7 @@ const handleLogin = (username: string, role: 'admin' | 'viewer') => {
// 登出处理
// 登出处理
const
handleLogout
=
()
=>
{
const
handleLogout
=
()
=>
{
localStorage
.
removeItem
(
'pcUserInfo'
)
currentUser
.
value
=
null
currentUser
.
value
=
null
isLoggedIn
.
value
=
false
isLoggedIn
.
value
=
false
}
}
...
...
channelBusiManage/src/components/DesktopMain.vue
View file @
d364143
...
@@ -30,8 +30,7 @@
...
@@ -30,8 +30,7 @@
v-if=
"isSidebarCollapsed"
v-if=
"isSidebarCollapsed"
:content=
"item.label"
:content=
"item.label"
placement=
"right"
placement=
"right"
:delay=
"0"
:delay=
"0"
>
>
<button
<button
@
click=
"handleMenuChange(item.id)"
@
click=
"handleMenuChange(item.id)"
:class=
"`
:class=
"`
...
@@ -57,8 +56,7 @@
...
@@ -57,8 +56,7 @@
? 'bg-brand-primary text-white'
? 'bg-brand-primary text-white'
: 'text-neutral-400 hover:bg-white/10 hover:text-neutral-100'
: 'text-neutral-400 hover:bg-white/10 hover:text-neutral-100'
}
}
`"
`">
>
<component
:is=
"item.icon"
class=
"h-4 w-4 shrink-0"
/>
<component
:is=
"item.icon"
class=
"h-4 w-4 shrink-0"
/>
<span
class=
"text-[14px]"
>
{{
item
.
label
}}
</span>
<span
class=
"text-[14px]"
>
{{
item
.
label
}}
</span>
</button>
</button>
...
@@ -458,141 +456,7 @@ const roles = ref<Role[]>([
...
@@ -458,141 +456,7 @@ const roles = ref<Role[]>([
])
])
// 权限数据
// 权限数据
const
permissions
=
ref
<
Permission
[]
>
([
const
permissions
=
ref
<
Permission
[]
>
(
JSON
.
parse
(
localStorage
.
getItem
(
'pcUserInfo'
)).
functions
)
{
id
:
'order'
,
name
:
'订单管理'
,
code
:
'order'
,
description
:
'订单相关的所有权限'
,
children
:
[
{
id
:
'order:view'
,
name
:
'查看订单'
,
code
:
'order:view'
,
description
:
'查看订单列表和详情'
,
parentId
:
'order'
},
{
id
:
'order:complete'
,
name
:
'填写办结信息'
,
code
:
'order:complete'
,
description
:
'填写CRM订单编号和办理备注'
,
parentId
:
'order'
},
{
id
:
'order:reward'
,
name
:
'填写酬金金额'
,
code
:
'order:reward'
,
description
:
'填写和修改实际发放酬金'
,
parentId
:
'order'
},
{
id
:
'order:approve'
,
name
:
'审核'
,
code
:
'order:approve'
,
description
:
'审核通过或驳回订单'
,
parentId
:
'order'
}
]
},
{
id
:
'business'
,
name
:
'业务酬金管理'
,
code
:
'business'
,
description
:
'业务酬金相关权限'
,
children
:
[
{
id
:
'business:view'
,
name
:
'查看业务酬金'
,
code
:
'business:view'
,
description
:
'查看业务酬金列表'
,
parentId
:
'business'
},
{
id
:
'business:create'
,
name
:
'创建业务酬金'
,
code
:
'business:create'
,
description
:
'创建新的业务酬金'
,
parentId
:
'business'
},
{
id
:
'business:edit'
,
name
:
'编辑业务酬金'
,
code
:
'business:edit'
,
description
:
'修改和停用业务酬金'
,
parentId
:
'business'
}
]
},
{
id
:
'system'
,
name
:
'系统管理'
,
code
:
'system'
,
description
:
'系统管理相关权限'
,
children
:
[
{
id
:
'system:role'
,
name
:
'角色管理'
,
code
:
'system:role'
,
description
:
'角色管理相关权限'
,
parentId
:
'system'
,
children
:
[
{
id
:
'system:role:view'
,
name
:
'查看角色'
,
code
:
'system:role:view'
,
description
:
'查看角色列表'
,
parentId
:
'system:role'
},
{
id
:
'system:role:create'
,
name
:
'创建角色'
,
code
:
'system:role:create'
,
description
:
'创建新角色'
,
parentId
:
'system:role'
},
{
id
:
'system:role:edit'
,
name
:
'编辑角色'
,
code
:
'system:role:edit'
,
description
:
'编辑角色信息和权限'
,
parentId
:
'system:role'
}
]
},
{
id
:
'system:account'
,
name
:
'账号管理'
,
code
:
'system:account'
,
description
:
'账号管理相关权限'
,
parentId
:
'system'
,
children
:
[
{
id
:
'system:account:view'
,
name
:
'查看账号'
,
code
:
'system:account:view'
,
description
:
'查看账号列表'
,
parentId
:
'system:account'
},
{
id
:
'system:account:create'
,
name
:
'创建账号'
,
code
:
'system:account:create'
,
description
:
'创建新账号'
,
parentId
:
'system:account'
},
{
id
:
'system:account:edit'
,
name
:
'编辑账号'
,
code
:
'system:account:edit'
,
description
:
'编辑账号信息'
,
parentId
:
'system:account'
}
]
}
]
}
])
// 根据订单ID获取订单详情
// 根据订单ID获取订单详情
const
getOrderById
=
(
orderId
:
string
)
=>
{
const
getOrderById
=
(
orderId
:
string
)
=>
{
...
...
channelBusiManage/src/components/LoginPage.vue
View file @
d364143
...
@@ -280,7 +280,7 @@ const handleSendSms = async () => {
...
@@ -280,7 +280,7 @@ const handleSendSms = async () => {
// 演示用:实际验证码为 123456
// 演示用:实际验证码为 123456
console
.
log
(
'演示验证码:123456'
)
console
.
log
(
'演示验证码:123456'
)
}
else
{
}
else
{
ElMessage
.
error
(
response
?.
m
sg
||
'发送验证码失败'
)
ElMessage
.
error
(
response
?.
m
||
'发送验证码失败'
)
generateCaptcha
()
generateCaptcha
()
loginForm
.
captchaInput
=
''
loginForm
.
captchaInput
=
''
}
}
...
@@ -331,9 +331,9 @@ const handleSubmit = async () => {
...
@@ -331,9 +331,9 @@ const handleSubmit = async () => {
if
(
response
.
d
)
{
if
(
response
.
d
)
{
localStorage
.
setItem
(
'pcUserInfo'
,
JSON
.
stringify
(
response
.
d
))
localStorage
.
setItem
(
'pcUserInfo'
,
JSON
.
stringify
(
response
.
d
))
}
}
props
.
onLogin
(
loginForm
.
phon
e
,
'admin'
)
props
.
onLogin
(
response
.
d
.
nicknam
e
,
'admin'
)
}
else
{
}
else
{
ElMessage
.
error
(
response
?.
m
sg
||
'登录失败'
)
ElMessage
.
error
(
response
?.
m
||
'登录失败'
)
generateCaptcha
()
generateCaptcha
()
loginForm
.
captchaInput
=
''
loginForm
.
captchaInput
=
''
loginForm
.
smsCode
=
''
loginForm
.
smsCode
=
''
...
...
channelBusiManage/src/main.ts
View file @
d364143
...
@@ -14,7 +14,6 @@ import router from './router'
...
@@ -14,7 +14,6 @@ import router from './router'
// 引入 API 接口和工具方法
// 引入 API 接口和工具方法
import
api
from
'./assets/js/api/interface/index.js'
import
api
from
'./assets/js/api/interface/index.js'
import
request
from
'./assets/js/api/request.js'
import
stores
from
'./assets/js/stores/index.js'
import
stores
from
'./assets/js/stores/index.js'
import
commonUtils
from
'./assets/js/const/common.js'
import
commonUtils
from
'./assets/js/const/common.js'
...
@@ -31,7 +30,6 @@ app.use(ElementPlus)
...
@@ -31,7 +30,6 @@ app.use(ElementPlus)
// 将 API 接口、请求实例、状态管理和工具方法挂载到全局
// 将 API 接口、请求实例、状态管理和工具方法挂载到全局
app
.
config
.
globalProperties
.
$api
=
api
app
.
config
.
globalProperties
.
$api
=
api
app
.
config
.
globalProperties
.
$request
=
request
app
.
config
.
globalProperties
.
$stores
=
stores
app
.
config
.
globalProperties
.
$stores
=
stores
app
.
config
.
globalProperties
.
$utils
=
commonUtils
app
.
config
.
globalProperties
.
$utils
=
commonUtils
...
...
channelBusiManage/src/views/RoleTestView.vue
deleted
100644 → 0
View file @
354b32d
<
template
>
<div
class=
"min-h-screen bg-gray-50 p-6"
>
<div
class=
"max-w-7xl mx-auto"
>
<h1
class=
"text-2xl font-bold text-gray-900 mb-6"
>
角色管理测试页面
</h1>
<RoleManagement
:roles=
"roles"
:permissions=
"permissions"
@
add-role=
"handleAddRole"
@
update-role=
"handleUpdateRole"
/>
</div>
</div>
</
template
>
<
script
setup
lang=
"ts"
>
import
{
ref
}
from
'vue'
import
RoleManagement
from
'@/components/RoleManagement.vue'
import
{
ElMessage
}
from
'element-plus'
// 类型定义
interface
Role
{
id
:
string
name
:
string
description
?:
string
level
:
'地市级'
|
'区县级'
|
'一线人员'
permissionIds
:
string
[]
status
:
'启用'
|
'禁用'
createTime
?:
string
}
interface
Permission
{
id
:
string
name
:
string
code
:
string
description
?:
string
parentId
?:
string
children
?:
Permission
[]
}
// 测试数据
const
roles
=
ref
<
Role
[]
>
([
{
id
:
'role-001'
,
name
:
'区县全权管理员'
,
description
:
'拥有区县级别的所有管理权限,可以管理订单、用户和业务规则'
,
level
:
'区县级'
,
permissionIds
:
[
'order'
,
'order:view'
,
'order:complete'
,
'order:reward'
,
'order:approve'
,
'business'
,
'business:view'
,
'business:create'
,
'business:edit'
,
'system'
,
'system:role'
,
'system:role:view'
,
'system:role:create'
,
'system:role:edit'
,
'system:account'
,
'system:account:view'
,
'system:account:create'
,
'system:account:edit'
],
status
:
'启用'
,
createTime
:
'2025-10-20 09:00:00'
},
{
id
:
'role-002'
,
name
:
'订单管理员'
,
description
:
'负责订单的日常管理和处理'
,
level
:
'一线人员'
,
permissionIds
:
[
'order'
,
'order:view'
,
'order:complete'
,
'order:reward'
,
'order:approve'
],
status
:
'启用'
,
createTime
:
'2025-10-20 09:30:00'
},
{
id
:
'role-003'
,
name
:
'业务规则管理员'
,
description
:
'负责业务规则的配置和维护'
,
level
:
'区县级'
,
permissionIds
:
[
'business'
,
'business:view'
,
'business:create'
,
'business:edit'
],
status
:
'启用'
,
createTime
:
'2025-10-20 10:00:00'
}
])
const
permissions
=
ref
<
Permission
[]
>
([
{
id
:
'order'
,
name
:
'订单管理'
,
code
:
'order'
,
description
:
'订单相关的所有权限'
,
children
:
[
{
id
:
'order:view'
,
name
:
'查看订单'
,
code
:
'order:view'
,
description
:
'查看订单列表和详情'
,
parentId
:
'order'
},
{
id
:
'order:complete'
,
name
:
'填写办结信息'
,
code
:
'order:complete'
,
description
:
'填写CRM订单编号和办理备注'
,
parentId
:
'order'
},
{
id
:
'order:reward'
,
name
:
'填写酬金金额'
,
code
:
'order:reward'
,
description
:
'填写和修改实际发放酬金'
,
parentId
:
'order'
},
{
id
:
'order:approve'
,
name
:
'审核'
,
code
:
'order:approve'
,
description
:
'审核通过或驳回订单'
,
parentId
:
'order'
}
]
},
{
id
:
'business'
,
name
:
'业务规则管理'
,
code
:
'business'
,
description
:
'业务规则相关权限'
,
children
:
[
{
id
:
'business:view'
,
name
:
'查看业务规则'
,
code
:
'business:view'
,
description
:
'查看业务规则列表'
,
parentId
:
'business'
},
{
id
:
'business:create'
,
name
:
'创建业务规则'
,
code
:
'business:create'
,
description
:
'创建新的业务规则'
,
parentId
:
'business'
},
{
id
:
'business:edit'
,
name
:
'编辑业务规则'
,
code
:
'business:edit'
,
description
:
'修改和停用业务规则'
,
parentId
:
'business'
}
]
},
{
id
:
'system'
,
name
:
'系统管理'
,
code
:
'system'
,
description
:
'系统管理相关权限'
,
children
:
[
{
id
:
'system:role'
,
name
:
'角色管理'
,
code
:
'system:role'
,
description
:
'角色管理相关权限'
,
parentId
:
'system'
,
children
:
[
{
id
:
'system:role:view'
,
name
:
'查看角色'
,
code
:
'system:role:view'
,
description
:
'查看角色列表'
,
parentId
:
'system:role'
},
{
id
:
'system:role:create'
,
name
:
'创建角色'
,
code
:
'system:role:create'
,
description
:
'创建新角色'
,
parentId
:
'system:role'
},
{
id
:
'system:role:edit'
,
name
:
'编辑角色'
,
code
:
'system:role:edit'
,
description
:
'编辑角色信息和权限'
,
parentId
:
'system:role'
}
]
},
{
id
:
'system:account'
,
name
:
'账号管理'
,
code
:
'system:account'
,
description
:
'账号管理相关权限'
,
parentId
:
'system'
,
children
:
[
{
id
:
'system:account:view'
,
name
:
'查看账号'
,
code
:
'system:account:view'
,
description
:
'查看账号列表'
,
parentId
:
'system:account'
},
{
id
:
'system:account:create'
,
name
:
'创建账号'
,
code
:
'system:account:create'
,
description
:
'创建新账号'
,
parentId
:
'system:account'
},
{
id
:
'system:account:edit'
,
name
:
'编辑账号'
,
code
:
'system:account:edit'
,
description
:
'编辑账号信息'
,
parentId
:
'system:account'
}
]
}
]
}
])
// 事件处理
const
handleAddRole
=
(
roleData
:
Omit
<
Role
,
'id'
|
'createTime'
>
)
=>
{
const
newRole
:
Role
=
{
id
:
`role-
${
Date
.
now
()}
`
,
...
roleData
,
createTime
:
new
Date
().
toLocaleString
(
'zh-CN'
,
{
year
:
'numeric'
,
month
:
'2-digit'
,
day
:
'2-digit'
,
hour
:
'2-digit'
,
minute
:
'2-digit'
,
second
:
'2-digit'
})
}
roles
.
value
.
push
(
newRole
)
ElMessage
.
success
(
'角色创建成功'
)
console
.
log
(
'新增角色:'
,
newRole
)
}
const
handleUpdateRole
=
(
roleId
:
string
,
updates
:
Partial
<
Role
>
)
=>
{
const
roleIndex
=
roles
.
value
.
findIndex
(
role
=>
role
.
id
===
roleId
)
if
(
roleIndex
!==
-
1
)
{
roles
.
value
[
roleIndex
]
=
{
...
roles
.
value
[
roleIndex
],
...
updates
}
ElMessage
.
success
(
'角色更新成功'
)
console
.
log
(
'更新角色:'
,
roleId
,
updates
)
}
}
</
script
>
<
style
scoped
>
/* 测试页面样式 */
</
style
>
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment