Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bill-manager-ui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
bill-manager-ui
Commits
af74f95e
Commit
af74f95e
authored
Sep 14, 2024
by
“yiyousong”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 添加角色分配菜单
parent
50688879
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
378 additions
and
64 deletions
+378
-64
admin_2/src/api/system.js
admin_2/src/api/system.js
+17
-0
admin_2/src/pages/system/access/Access.vue
admin_2/src/pages/system/access/Access.vue
+2
-2
admin_2/src/pages/system/access/components/AccessSystem.vue
admin_2/src/pages/system/access/components/AccessSystem.vue
+1
-1
admin_2/src/pages/system/access/components/AddAccess.vue
admin_2/src/pages/system/access/components/AddAccess.vue
+12
-5
admin_2/src/pages/system/areaSystem/components/AddAreaSystem.vue
.../src/pages/system/areaSystem/components/AddAreaSystem.vue
+8
-1
admin_2/src/pages/system/menu/components/AddMenu.vue
admin_2/src/pages/system/menu/components/AddMenu.vue
+8
-1
admin_2/src/pages/system/parameter/Parameter.vue
admin_2/src/pages/system/parameter/Parameter.vue
+2
-2
admin_2/src/pages/system/parameter/components/AddParameter.vue
..._2/src/pages/system/parameter/components/AddParameter.vue
+12
-5
admin_2/src/pages/system/resourceManage/components/AddResource.vue
...rc/pages/system/resourceManage/components/AddResource.vue
+1
-1
admin_2/src/pages/system/role/Role.vue
admin_2/src/pages/system/role/Role.vue
+42
-6
admin_2/src/pages/system/role/components/AddRole.vue
admin_2/src/pages/system/role/components/AddRole.vue
+12
-5
admin_2/src/pages/system/role/components/ApportionMenu.vue
admin_2/src/pages/system/role/components/ApportionMenu.vue
+197
-0
admin_2/src/pages/system/role/components/ApportionRes.vue
admin_2/src/pages/system/role/components/ApportionRes.vue
+45
-23
admin_2/src/pages/system/task/TaskSet.vue
admin_2/src/pages/system/task/TaskSet.vue
+2
-2
admin_2/src/pages/system/task/components/AddTask.vue
admin_2/src/pages/system/task/components/AddTask.vue
+12
-5
admin_2/src/pages/system/user/components/AddUserRole.vue
admin_2/src/pages/system/user/components/AddUserRole.vue
+5
-5
No files found.
admin_2/src/api/system.js
View file @
af74f95e
...
@@ -137,6 +137,14 @@ export const refreshResource = (data) => {
...
@@ -137,6 +137,14 @@ export const refreshResource = (data) => {
data
,
data
,
});
});
};
};
// 资源分组
export
const
getResourceGroup
=
(
data
)
=>
{
return
request
({
url
:
`/bill/resource/group`
,
method
:
"
post
"
,
data
,
});
};
/**
/**
* 区县接入系统
* 区县接入系统
*/
*/
...
@@ -236,6 +244,15 @@ export const addRoleMenu = (data) => {
...
@@ -236,6 +244,15 @@ export const addRoleMenu = (data) => {
});
});
};
};
// 获取角色菜单
export
const
getRoleMenuList
=
(
data
)
=>
{
return
request
({
url
:
`/bill/role/auth/editMenu`
,
method
:
"
post
"
,
data
,
});
};
/**
/**
* 用户管理
* 用户管理
*/
*/
...
...
admin_2/src/pages/system/access/Access.vue
View file @
af74f95e
...
@@ -55,9 +55,9 @@
...
@@ -55,9 +55,9 @@
<!-- 新增 -->
<!-- 新增 -->
<AddAccess
<AddAccess
ref=
"AddAccess"
ref=
"AddAccess"
:
addVisible
.sync=
"show"
:
show
.sync=
"show"
:title=
"title"
:title=
"title"
@
addS
uccess=
"getAccessList"
@
s
uccess=
"getAccessList"
></AddAccess>
></AddAccess>
<AccessSystem
<AccessSystem
ref=
"AccessSystem"
ref=
"AccessSystem"
...
...
admin_2/src/pages/system/access/components/AccessSystem.vue
View file @
af74f95e
...
@@ -147,13 +147,13 @@ export default {
...
@@ -147,13 +147,13 @@ export default {
// });
// });
this
.
areaInfo
.
accessSystemList
=
this
.
accessSystemList
;
this
.
areaInfo
.
accessSystemList
=
this
.
accessSystemList
;
let
res
=
await
saveAccess
(
this
.
areaInfo
);
let
res
=
await
saveAccess
(
this
.
areaInfo
);
this
.
loading
=
false
;
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
success
"
);
this
.
$emit
(
"
success
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
},
},
async
delSystem
({
row
,
$index
})
{
async
delSystem
({
row
,
$index
})
{
if
(
row
.
id
)
{
if
(
row
.
id
)
{
...
...
admin_2/src/pages/system/access/components/AddAccess.vue
View file @
af74f95e
...
@@ -98,7 +98,11 @@
...
@@ -98,7 +98,11 @@
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleOk"
<el-button
size=
"small"
type=
"primary"
:loading=
"loading"
@
click=
"handleOk"
>
确 定
</el-button
>
确 定
</el-button
>
>
</span>
</span>
...
@@ -131,7 +135,7 @@ export default {
...
@@ -131,7 +135,7 @@ export default {
required
:
true
,
required
:
true
,
default
:
""
,
default
:
""
,
},
},
addVisible
:
{
show
:
{
type
:
Boolean
,
type
:
Boolean
,
required
:
true
,
required
:
true
,
default
:
false
,
default
:
false
,
...
@@ -140,6 +144,7 @@ export default {
...
@@ -140,6 +144,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
api
:
process
.
env
.
VUE_APP_API_BASE_URL
,
api
:
process
.
env
.
VUE_APP_API_BASE_URL
,
loading
:
false
,
fileList
:
[],
fileList
:
[],
preview
:
false
,
preview
:
false
,
filepaths
:
[],
filepaths
:
[],
...
@@ -178,10 +183,10 @@ export default {
...
@@ -178,10 +183,10 @@ export default {
...
mapState
(
"
user
"
,
[
"
areaTree
"
]),
...
mapState
(
"
user
"
,
[
"
areaTree
"
]),
Visible
:
{
Visible
:
{
get
()
{
get
()
{
return
this
.
addVisible
;
return
this
.
show
;
},
},
set
(
val
)
{
set
(
val
)
{
this
.
$emit
(
"
update:
addVisible
"
,
val
);
this
.
$emit
(
"
update:
show
"
,
val
);
},
},
},
},
initTree
()
{
initTree
()
{
...
@@ -193,6 +198,7 @@ export default {
...
@@ -193,6 +198,7 @@ export default {
handleOk
()
{
handleOk
()
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
loading
=
true
;
let
res
=
await
saveAccess
({
let
res
=
await
saveAccess
({
...
this
.
form
,
...
this
.
form
,
tag
:
this
.
form
.
tag
.
join
(
"
,
"
),
tag
:
this
.
form
.
tag
.
join
(
"
,
"
),
...
@@ -200,9 +206,10 @@ export default {
...
@@ -200,9 +206,10 @@ export default {
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
addS
uccess
"
);
this
.
$emit
(
"
s
uccess
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
}
}
});
});
},
},
...
...
admin_2/src/pages/system/areaSystem/components/AddAreaSystem.vue
View file @
af74f95e
...
@@ -47,7 +47,11 @@
...
@@ -47,7 +47,11 @@
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleOk"
<el-button
size=
"small"
type=
"primary"
:loading=
"loading"
@
click=
"handleOk"
>
确 定
</el-button
>
确 定
</el-button
>
>
</span>
</span>
...
@@ -73,6 +77,7 @@ export default {
...
@@ -73,6 +77,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
form
:
{
form
:
{
systemName
:
""
,
systemName
:
""
,
systemCode
:
""
,
systemCode
:
""
,
...
@@ -104,6 +109,7 @@ export default {
...
@@ -104,6 +109,7 @@ export default {
handleOk
()
{
handleOk
()
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
loading
=
true
;
let
res
=
await
saveSystem
(
this
.
form
);
let
res
=
await
saveSystem
(
this
.
form
);
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
...
@@ -111,6 +117,7 @@ export default {
...
@@ -111,6 +117,7 @@ export default {
this
.
$emit
(
"
success
"
);
this
.
$emit
(
"
success
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
}
}
});
});
},
},
...
...
admin_2/src/pages/system/menu/components/AddMenu.vue
View file @
af74f95e
...
@@ -198,7 +198,11 @@
...
@@ -198,7 +198,11 @@
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleOk"
<el-button
size=
"small"
type=
"primary"
:loading=
"loading"
@
click=
"handleOk"
>
确 定
</el-button
>
确 定
</el-button
>
>
</span>
</span>
...
@@ -242,6 +246,7 @@ export default {
...
@@ -242,6 +246,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
iconJson
,
iconJson
,
loading
:
false
,
defaultProps
:
{
defaultProps
:
{
children
:
"
childList
"
,
children
:
"
childList
"
,
label
:
"
name
"
,
label
:
"
name
"
,
...
@@ -297,6 +302,7 @@ export default {
...
@@ -297,6 +302,7 @@ export default {
handleOk
()
{
handleOk
()
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
loading
=
true
;
let
res
=
await
saveMenu
(
this
.
form
);
let
res
=
await
saveMenu
(
this
.
form
);
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
...
@@ -304,6 +310,7 @@ export default {
...
@@ -304,6 +310,7 @@ export default {
this
.
$emit
(
"
success
"
);
this
.
$emit
(
"
success
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
}
}
});
});
},
},
...
...
admin_2/src/pages/system/parameter/Parameter.vue
View file @
af74f95e
...
@@ -65,10 +65,10 @@
...
@@ -65,10 +65,10 @@
<!-- 新增参数 -->
<!-- 新增参数 -->
<AddParameter
<AddParameter
ref=
"AddParameter"
ref=
"AddParameter"
:
addVisible
.sync=
"addVisible"
:
show
.sync=
"addVisible"
:title=
"title"
:title=
"title"
:dict=
"dict"
:dict=
"dict"
@
addS
uccess=
"getParamList"
@
s
uccess=
"getParamList"
></AddParameter>
></AddParameter>
</div>
</div>
</
template
>
</
template
>
...
...
admin_2/src/pages/system/parameter/components/AddParameter.vue
View file @
af74f95e
...
@@ -90,7 +90,11 @@
...
@@ -90,7 +90,11 @@
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleOk"
<el-button
size=
"small"
type=
"primary"
:loading=
"loading"
@
click=
"handleOk"
>
确 定
</el-button
>
确 定
</el-button
>
>
</span>
</span>
...
@@ -107,7 +111,7 @@ export default {
...
@@ -107,7 +111,7 @@ export default {
required
:
true
,
required
:
true
,
default
:
""
,
default
:
""
,
},
},
addVisible
:
{
show
:
{
type
:
Boolean
,
type
:
Boolean
,
required
:
true
,
required
:
true
,
default
:
false
,
default
:
false
,
...
@@ -122,6 +126,7 @@ export default {
...
@@ -122,6 +126,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
form
:
{
form
:
{
name
:
""
,
// 参数名称
name
:
""
,
// 参数名称
firstOrganize
:
""
,
// 一级组织
firstOrganize
:
""
,
// 一级组织
...
@@ -147,10 +152,10 @@ export default {
...
@@ -147,10 +152,10 @@ export default {
computed
:
{
computed
:
{
Visible
:
{
Visible
:
{
get
()
{
get
()
{
return
this
.
addVisible
;
return
this
.
show
;
},
},
set
(
val
)
{
set
(
val
)
{
this
.
$emit
(
"
update:
addVisible
"
,
val
);
this
.
$emit
(
"
update:
show
"
,
val
);
},
},
},
},
},
},
...
@@ -159,13 +164,15 @@ export default {
...
@@ -159,13 +164,15 @@ export default {
handleOk
()
{
handleOk
()
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
loading
=
true
;
let
res
=
await
saveParam
(
this
.
form
);
let
res
=
await
saveParam
(
this
.
form
);
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
addS
uccess
"
);
this
.
$emit
(
"
s
uccess
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
}
}
});
});
},
},
...
...
admin_2/src/pages/system/resourceManage/components/AddResource.vue
View file @
af74f95e
...
@@ -137,12 +137,12 @@ export default {
...
@@ -137,12 +137,12 @@ export default {
url
:
this
.
form
.
urls
.
map
((
v
)
=>
v
.
value
).
join
(
"
,
"
),
url
:
this
.
form
.
urls
.
map
((
v
)
=>
v
.
value
).
join
(
"
,
"
),
});
});
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
this
.
loading
=
false
;
if
(
code
==
1
)
{
if
(
code
==
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
success
"
);
this
.
$emit
(
"
success
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
}
}
});
});
},
},
...
...
admin_2/src/pages/system/role/Role.vue
View file @
af74f95e
...
@@ -55,29 +55,38 @@
...
@@ -55,29 +55,38 @@
<!-- 新增 -->
<!-- 新增 -->
<AddRole
<AddRole
ref=
"AddRole"
ref=
"AddRole"
:
addVisible
.sync=
"show"
:
show
.sync=
"show"
:title=
"title"
:title=
"title"
@
addS
uccess=
"getRoleList"
@
s
uccess=
"getRoleList"
></AddRole>
></AddRole>
<!-- 分配资源 -->
<!-- 分配资源 -->
<ApportionRes
<ApportionRes
ref=
"ApportionRes"
ref=
"ApportionRes"
:
addVisible
.sync=
"resShow"
:
show
.sync=
"resShow"
@
addS
uccess=
"getRoleList"
@
s
uccess=
"getRoleList"
></ApportionRes>
></ApportionRes>
<!-- 分配菜单 -->
<ApportionMenu
ref=
"ApportionMenu"
:menuTree=
"menuTree"
:show.sync=
"menuShow"
:roleInfo=
"roleInfo"
></ApportionMenu>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
TableHeader
from
"
@/components/TableHeader.vue
"
;
import
TableHeader
from
"
@/components/TableHeader.vue
"
;
import
{
getRoleList
,
deleteRole
}
from
"
@/api/system
"
;
import
{
getRoleList
,
deleteRole
,
getMenuTreeselect
}
from
"
@/api/system
"
;
import
AddRole
from
"
./components/AddRole.vue
"
;
import
AddRole
from
"
./components/AddRole.vue
"
;
import
ApportionRes
from
"
./components/ApportionRes.vue
"
;
import
ApportionRes
from
"
./components/ApportionRes.vue
"
;
import
ApportionMenu
from
"
./components/ApportionMenu.vue
"
;
export
default
{
export
default
{
components
:
{
components
:
{
TableHeader
,
TableHeader
,
AddRole
,
AddRole
,
ApportionRes
,
ApportionRes
,
ApportionMenu
,
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -119,7 +128,7 @@ export default {
...
@@ -119,7 +128,7 @@ export default {
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
align
:
"
center
"
,
align
:
"
center
"
,
width
:
"
2
0
0
"
,
width
:
"
2
6
0
"
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
div
class
=
"
flex justify-center gap-4
"
>
<
div
class
=
"
flex justify-center gap-4
"
>
...
@@ -129,6 +138,12 @@ export default {
...
@@ -129,6 +138,12 @@ export default {
>
>
分配资源
分配资源
<
/span
>
<
/span
>
<
span
class
=
"
primary cursor-pointer
"
onClick
=
{()
=>
this
.
apportionMenu
(
row
)}
>
分配菜单
<
/span
>
<
span
<
span
class
=
"
primary cursor-pointer
"
class
=
"
primary cursor-pointer
"
onClick
=
{()
=>
this
.
handleEdit
(
row
)}
onClick
=
{()
=>
this
.
handleEdit
(
row
)}
...
@@ -150,22 +165,37 @@ export default {
...
@@ -150,22 +165,37 @@ export default {
name
:
""
,
name
:
""
,
},
},
tableData
:
[],
tableData
:
[],
menuTree
:
[],
// 菜单树
current
:
1
,
current
:
1
,
size
:
10
,
size
:
10
,
total
:
0
,
total
:
0
,
loading
:
false
,
loading
:
false
,
selectRows
:
[],
selectRows
:
[],
show
:
false
,
show
:
false
,
menuShow
:
false
,
title
:
"
新增
"
,
title
:
"
新增
"
,
dict
:
{},
// 字典
dict
:
{},
// 字典
resShow
:
false
,
resShow
:
false
,
roleInfo
:
{},
};
};
},
},
created
()
{
created
()
{
this
.
getRoleList
();
this
.
getRoleList
();
this
.
getMenuTreeselect
();
},
},
computed
:
{},
computed
:
{},
methods
:
{
methods
:
{
// 获取菜单树
async
getMenuTreeselect
()
{
let
res
=
await
getMenuTreeselect
({
page
:
1
,
size
:
-
1
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
result
}
=
res
.
data
.
data
;
this
.
menuTree
=
result
;
}
},
async
getRoleList
()
{
async
getRoleList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
let
res
=
await
getRoleList
({
let
res
=
await
getRoleList
({
...
@@ -251,6 +281,12 @@ export default {
...
@@ -251,6 +281,12 @@ export default {
this
.
$refs
.
ApportionRes
.
onAdd
(
row
.
id
);
this
.
$refs
.
ApportionRes
.
onAdd
(
row
.
id
);
this
.
resShow
=
true
;
this
.
resShow
=
true
;
},
},
// 分配菜单
apportionMenu
(
row
)
{
this
.
roleInfo
=
row
;
this
.
$refs
.
ApportionMenu
.
onAdd
(
row
);
this
.
menuShow
=
true
;
},
},
},
};
};
</
script
>
</
script
>
...
...
admin_2/src/pages/system/role/components/AddRole.vue
View file @
af74f95e
...
@@ -31,7 +31,11 @@
...
@@ -31,7 +31,11 @@
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleOk"
<el-button
size=
"small"
type=
"primary"
:loading=
"loading"
@
click=
"handleOk"
>
确 定
</el-button
>
确 定
</el-button
>
>
</span>
</span>
...
@@ -49,7 +53,7 @@ export default {
...
@@ -49,7 +53,7 @@ export default {
required
:
true
,
required
:
true
,
default
:
""
,
default
:
""
,
},
},
addVisible
:
{
show
:
{
type
:
Boolean
,
type
:
Boolean
,
required
:
true
,
required
:
true
,
default
:
false
,
default
:
false
,
...
@@ -57,6 +61,7 @@ export default {
...
@@ -57,6 +61,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
form
:
{
form
:
{
name
:
""
,
name
:
""
,
remark
:
""
,
remark
:
""
,
...
@@ -69,10 +74,10 @@ export default {
...
@@ -69,10 +74,10 @@ export default {
computed
:
{
computed
:
{
Visible
:
{
Visible
:
{
get
()
{
get
()
{
return
this
.
addVisible
;
return
this
.
show
;
},
},
set
(
val
)
{
set
(
val
)
{
this
.
$emit
(
"
update:
addVisible
"
,
val
);
this
.
$emit
(
"
update:
show
"
,
val
);
},
},
},
},
},
},
...
@@ -81,13 +86,15 @@ export default {
...
@@ -81,13 +86,15 @@ export default {
handleOk
()
{
handleOk
()
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
loading
=
true
;
let
res
=
await
addRole
(
this
.
form
);
let
res
=
await
addRole
(
this
.
form
);
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
addS
uccess
"
);
this
.
$emit
(
"
s
uccess
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
}
}
});
});
},
},
...
...
admin_2/src/pages/system/role/components/ApportionMenu.vue
0 → 100644
View file @
af74f95e
<
template
>
<div>
<el-dialog
title=
"分配角色菜单"
:destroy-on-close=
"true"
:visible.sync=
"Visible"
width=
"30%"
@
close=
"handleClose"
:close-on-click-modal=
"false"
top=
"10vh"
>
<el-form
ref=
"form"
:model=
"form"
size=
"small"
label-width=
"100px"
>
<el-form-item
label=
"角色名称"
>
<el-input
readonly
:value=
"roleInfo.name"
></el-input>
</el-form-item>
<el-form-item
label=
"菜单权限"
>
<el-checkbox
v-model=
"isExpand"
@
change=
"handleCheckedTreeExpand"
>
展开/折叠
</el-checkbox
>
<el-checkbox
v-model=
"isNodeAll"
@
change=
"handleCheckedTreeNodeAll"
>
全选/全不选
</el-checkbox
>
<el-checkbox
v-model=
"checkStrictly"
>
父子联动
</el-checkbox>
<el-tree
class=
"tree-border"
:data=
"menuTree"
show-checkbox
ref=
"menu"
node-key=
"id"
:check-strictly=
"!checkStrictly"
:props=
"defaultProps"
></el-tree>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
:loading=
"loading"
type=
"primary"
@
click=
"handleOk"
>
确 定
</el-button
>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
addRoleMenu
,
getRoleMenuList
}
from
"
@/api/system
"
;
export
default
{
components
:
{},
props
:
{
show
:
{
type
:
Boolean
,
required
:
true
,
default
:
false
,
},
roleInfo
:
{
type
:
Object
,
required
:
true
,
default
:
()
=>
{},
},
menuTree
:
{
type
:
Array
,
required
:
true
,
default
:
()
=>
[],
},
},
data
()
{
return
{
loading
:
false
,
userMenuList
:
[],
// 用户资源列表
// menuTree: [], // 菜单树
isExpand
:
false
,
isNodeAll
:
false
,
checkStrictly
:
true
,
defaultProps
:
{
label
:
"
label
"
,
children
:
"
children
"
,
},
form
:
{
menuIdList
:
[],
roleId
:
""
,
},
};
},
computed
:
{
Visible
:
{
get
()
{
return
this
.
show
;
},
set
(
val
)
{
this
.
$emit
(
"
update:show
"
,
val
);
},
},
},
methods
:
{
// 获取角色菜单列表
async
getRoleMenuList
()
{
let
res
=
await
getRoleMenuList
({
roleId
:
this
.
form
.
roleId
,
page
:
1
,
size
:
-
1
,
});
if
(
res
.
data
.
code
==
1
)
{
let
{
data
}
=
res
.
data
;
let
ids
=
this
.
getRoleMenuIdList
(
data
);
ids
.
forEach
((
v
)
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
menu
.
setChecked
(
v
,
true
,
false
);
});
});
}
},
// 确定
async
handleOk
()
{
this
.
loading
=
true
;
let
res
=
await
addRoleMenu
({
roleId
:
this
.
form
.
roleId
,
menuIdList
:
this
.
getMenuAllCheckedKeys
(),
});
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
this
.
$message
.
success
(
msg
||
"
添加成功
"
);
this
.
$emit
(
"
success
"
);
this
.
handleClose
();
}
this
.
loading
=
false
;
},
// 所有菜单节点数据
getMenuAllCheckedKeys
()
{
// 目前被选中的菜单节点
let
checkedKeys
=
this
.
$refs
.
menu
.
getCheckedKeys
();
// 半选中的菜单节点
let
halfCheckedKeys
=
this
.
$refs
.
menu
.
getHalfCheckedKeys
();
return
[...
halfCheckedKeys
,
...
checkedKeys
];
},
// 树权限(展开/折叠)
handleCheckedTreeExpand
(
value
)
{
let
treeList
=
this
.
menuTree
;
for
(
let
i
=
0
;
i
<
treeList
.
length
;
i
++
)
{
this
.
$refs
.
menu
.
store
.
nodesMap
[
treeList
[
i
].
id
].
expanded
=
value
;
}
},
// 树权限(全选/全不选)
handleCheckedTreeNodeAll
(
value
)
{
this
.
$refs
.
menu
.
setCheckedNodes
(
value
?
this
.
menuTree
:
[]);
},
// 新增
async
onAdd
(
row
)
{
Object
.
assign
(
this
.
form
,
this
.
$options
.
data
().
form
);
this
.
form
.
roleId
=
row
.
id
;
this
.
getRoleMenuList
();
},
// 重置
handleRest
()
{
this
.
isNodeAll
=
false
;
this
.
$refs
.
menu
.
setCheckedNodes
([]);
},
// 关闭
handleClose
()
{
this
.
handleRest
();
this
.
Visible
=
false
;
},
// 获取角色菜单id列表
getRoleMenuIdList
(
data
)
{
let
result
=
[];
let
getData
=
(
list
)
=>
{
list
.
forEach
((
item
)
=>
{
result
.
push
(
item
.
id
);
if
(
item
.
children
&&
item
.
children
.
length
>
0
)
{
getData
(
item
.
children
);
}
});
};
getData
(
data
);
return
result
;
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
:deep(.el-dialog__body) {
max-height: 620px;
overflow: auto;
}
.tree-border {
margin-top: 5px;
border: 1px solid #e5e6e7;
background: #fff none;
border-radius: 4px;
}
</
style
>
admin_2/src/pages/system/role/components/ApportionRes.vue
View file @
af74f95e
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
@
change=
"onChange($event, v)"
@
change=
"onChange($event, v)"
>
>
<el-row>
<el-row>
<el-col
:span=
"
12
"
v-for=
"item in v.list"
:key=
"item.id"
>
<el-col
:span=
"
6
"
v-for=
"item in v.list"
:key=
"item.id"
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -32,7 +32,11 @@
...
@@ -32,7 +32,11 @@
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleOk"
<el-button
size=
"small"
type=
"primary"
:loading=
"loading"
@
click=
"handleOk"
>
确 定
</el-button
>
确 定
</el-button
>
>
</span>
</span>
...
@@ -42,14 +46,14 @@
...
@@ -42,14 +46,14 @@
<
script
>
<
script
>
import
{
import
{
getResourceList
,
getRoleResourceList
,
getRoleResourceList
,
addRoleResource
,
addRoleResource
,
getResourceGroup
,
}
from
"
@/api/system
"
;
}
from
"
@/api/system
"
;
export
default
{
export
default
{
components
:
{},
components
:
{},
props
:
{
props
:
{
addVisible
:
{
show
:
{
type
:
Boolean
,
type
:
Boolean
,
required
:
true
,
required
:
true
,
default
:
false
,
default
:
false
,
...
@@ -57,6 +61,7 @@ export default {
...
@@ -57,6 +61,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
resourceList
:
{},
resourceList
:
{},
userResourceList
:
[],
// 用户资源列表
userResourceList
:
[],
// 用户资源列表
form
:
{
form
:
{
...
@@ -68,23 +73,24 @@ export default {
...
@@ -68,23 +73,24 @@ export default {
computed
:
{
computed
:
{
Visible
:
{
Visible
:
{
get
()
{
get
()
{
return
this
.
addVisible
;
return
this
.
show
;
},
},
set
(
val
)
{
set
(
val
)
{
this
.
$emit
(
"
update:
addVisible
"
,
val
);
this
.
$emit
(
"
update:
show
"
,
val
);
},
},
},
},
},
},
methods
:
{
methods
:
{
// 获取资源
列表
// 获取资源
分组
async
getResource
List
()
{
async
getResource
Group
()
{
let
res
=
await
getResource
List
({
let
res
=
await
getResource
Group
({
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
});
});
if
(
res
.
data
.
code
==
1
)
{
if
(
res
.
data
.
code
==
1
)
{
let
{
data
}
=
res
.
data
.
data
;
let
{
data
}
=
res
.
data
.
data
;
this
.
resourceList
=
this
.
groupByAuth
(
data
);
let
group
=
this
.
formatGroup
(
data
);
this
.
resourceList
=
group
;
}
}
},
},
...
@@ -102,37 +108,53 @@ export default {
...
@@ -102,37 +108,53 @@ export default {
}
}
},
},
// 权限分组
// 权限分组
groupByAuth
(
list
)
{
// groupByAuth(list) {
// let group = {};
// list.forEach((item) => {
// let name = item.name.split("-")[0];
// if (!group[name]) {
// group[name] = {
// isIndeterminate: false,
// checkAll: false,
// list: [],
// };
// }
// group[name].list.push(item);
// });
// return group;
// },
// 格式化分组
formatGroup
(
data
)
{
let
group
=
{};
let
group
=
{};
list
.
forEach
((
item
)
=>
{
Object
.
keys
(
data
).
forEach
((
key
)
=>
{
let
name
=
item
.
name
.
split
(
"
-
"
)[
0
];
group
[
key
]
=
{
if
(
!
group
[
name
])
{
group
[
name
]
=
{
isIndeterminate
:
false
,
isIndeterminate
:
false
,
checkAll
:
false
,
checkAll
:
false
,
list
:
[],
list
:
[],
};
};
}
group
[
key
].
list
.
push
(...
data
[
key
]);
group
[
name
].
list
.
push
(
item
);
});
});
return
group
;
return
group
;
},
},
// 确定
// 确定
async
handleOk
()
{
async
handleOk
()
{
this
.
loading
=
true
;
let
res
=
await
addRoleResource
(
this
.
form
);
let
res
=
await
addRoleResource
(
this
.
form
);
let
{
code
}
=
res
.
data
;
let
{
code
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
this
.
$message
.
success
(
"
添加成功
"
);
this
.
$message
.
success
(
"
添加成功
"
);
this
.
$emit
(
"
addS
uccess
"
);
this
.
$emit
(
"
s
uccess
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
},
},
// 新增
// 新增
onAdd
(
roleId
)
{
onAdd
(
roleId
)
{
Object
.
assign
(
this
.
form
,
this
.
$options
.
data
().
form
);
Object
.
assign
(
this
.
form
,
this
.
$options
.
data
().
form
);
this
.
form
.
roleId
=
roleId
;
this
.
form
.
roleId
=
roleId
;
this
.
getResource
List
();
this
.
getResource
Group
();
this
.
getRoleResourceList
(
roleId
);
this
.
getRoleResourceList
(
roleId
);
},
},
...
...
admin_2/src/pages/system/task/TaskSet.vue
View file @
af74f95e
...
@@ -47,10 +47,10 @@
...
@@ -47,10 +47,10 @@
<!-- 新增参数 -->
<!-- 新增参数 -->
<AddTask
<AddTask
ref=
"AddTask"
ref=
"AddTask"
:
addVisible
.sync=
"addVisible"
:
show
.sync=
"addVisible"
:title=
"title"
:title=
"title"
:dict=
"dict"
:dict=
"dict"
@
addS
uccess=
"getTaskList"
@
s
uccess=
"getTaskList"
></AddTask>
></AddTask>
</div>
</div>
</
template
>
</
template
>
...
...
admin_2/src/pages/system/task/components/AddTask.vue
View file @
af74f95e
...
@@ -125,7 +125,11 @@
...
@@ -125,7 +125,11 @@
</el-form>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
@
click=
"handleRest"
>
重 置
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleOk"
<el-button
size=
"small"
type=
"primary"
:loading=
"loading"
@
click=
"handleOk"
>
确 定
</el-button
>
确 定
</el-button
>
>
</span>
</span>
...
@@ -142,7 +146,7 @@ export default {
...
@@ -142,7 +146,7 @@ export default {
required
:
true
,
required
:
true
,
default
:
""
,
default
:
""
,
},
},
addVisible
:
{
show
:
{
type
:
Boolean
,
type
:
Boolean
,
required
:
true
,
required
:
true
,
default
:
false
,
default
:
false
,
...
@@ -157,6 +161,7 @@ export default {
...
@@ -157,6 +161,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
days
:
{},
// 号数
days
:
{},
// 号数
weeks
:
{},
// 周
weeks
:
{},
// 周
form
:
{
form
:
{
...
@@ -184,10 +189,10 @@ export default {
...
@@ -184,10 +189,10 @@ export default {
computed
:
{
computed
:
{
Visible
:
{
Visible
:
{
get
()
{
get
()
{
return
this
.
addVisible
;
return
this
.
show
;
},
},
set
(
val
)
{
set
(
val
)
{
this
.
$emit
(
"
update:
addVisible
"
,
val
);
this
.
$emit
(
"
update:
show
"
,
val
);
},
},
},
},
},
},
...
@@ -205,13 +210,15 @@ export default {
...
@@ -205,13 +210,15 @@ export default {
handleOk
()
{
handleOk
()
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
this
.
$refs
.
form
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
loading
=
true
;
let
res
=
await
saveTask
(
this
.
form
);
let
res
=
await
saveTask
(
this
.
form
);
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
===
1
)
{
if
(
code
===
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
addS
uccess
"
);
this
.
$emit
(
"
s
uccess
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
}
}
});
});
},
},
...
...
admin_2/src/pages/system/user/components/AddUserRole.vue
View file @
af74f95e
...
@@ -49,7 +49,7 @@ import { getRoleList, saveUser } from "@/api/system";
...
@@ -49,7 +49,7 @@ import { getRoleList, saveUser } from "@/api/system";
export
default
{
export
default
{
components
:
{},
components
:
{},
props
:
{
props
:
{
addVisible
:
{
show
:
{
type
:
Boolean
,
type
:
Boolean
,
required
:
true
,
required
:
true
,
default
:
false
,
default
:
false
,
...
@@ -69,10 +69,10 @@ export default {
...
@@ -69,10 +69,10 @@ export default {
computed
:
{
computed
:
{
Visible
:
{
Visible
:
{
get
()
{
get
()
{
return
this
.
addVisible
;
return
this
.
show
;
},
},
set
(
val
)
{
set
(
val
)
{
this
.
$emit
(
"
update:
addVisible
"
,
val
);
this
.
$emit
(
"
update:
show
"
,
val
);
},
},
},
},
},
},
...
@@ -103,13 +103,13 @@ export default {
...
@@ -103,13 +103,13 @@ export default {
mobile
,
mobile
,
roleIds
:
roleIds
.
join
(
"
,
"
),
roleIds
:
roleIds
.
join
(
"
,
"
),
});
});
this
.
loading
=
false
;
let
{
code
,
msg
}
=
res
.
data
;
let
{
code
,
msg
}
=
res
.
data
;
if
(
code
==
1
)
{
if
(
code
==
1
)
{
this
.
$message
.
success
(
msg
);
this
.
$message
.
success
(
msg
);
this
.
$emit
(
"
addS
uccess
"
);
this
.
$emit
(
"
s
uccess
"
);
this
.
handleClose
();
this
.
handleClose
();
}
}
this
.
loading
=
false
;
}
}
});
});
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment