Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
el-admin
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄志甲
el-admin
Commits
538101da
Commit
538101da
authored
Jul 30, 2020
by
黄志甲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改添加接口
parent
463377bc
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
266 additions
and
68 deletions
+266
-68
.env.development
+2
-2
src/api/portal/task.js
+107
-11
src/utils/request.js
+16
-0
src/views/system/role/index.vue
+126
-54
vue.config.js
+15
-1
No files found.
.env.development
View file @
538101da
ENV = 'development'
# 接口地址
VUE_APP_BASE_API = 'http://1
06.53.98.217:10003
'
VUE_APP_WS_API = 'ws://1
06.53.98.217:10003
'
VUE_APP_BASE_API = 'http://1
92.168.7.176:9888
'
VUE_APP_WS_API = 'ws://1
92.168.7.176:9888
'
# 是否启用 babel-plugin-dynamic-import-node插件
VUE_CLI_BABEL_TRANSPILE_MODULES = true
src/api/portal/task.js
View file @
538101da
import
request
from
'@/utils/request'
let
baseUrl
=
'http://portal.project.gxdpf.org.cn/portal'
//查地址
export
function
getCityAreaList
(
data
)
{
return
request
({
baseUrl
:
baseUrl
,
url
:
`
${
baseUrl
}
/stats/getCityAreaList`
,
method
:
'post'
,
data
})
}
// 获取区域地址
export
const
getCityAreaList
=
data
=>
{
return
request
({
url
:
'portal/stats/getCityAreaList'
,
method
:
'POST'
,
data
})
}
// 获取年份
export
const
getYearList
=
data
=>
{
return
request
({
url
:
'portal/stats/getYearList'
,
method
:
'POST'
,
data
})
}
// 获取项目状态
export
const
getStatusCyclicList
=
data
=>
{
return
request
({
url
:
'portal/stats/getStatusCyclicList'
,
method
:
'POST'
,
data
})
}
// 底部柱形图数据/portal/stats/getWorkSituationMonthList
export
const
getWorkSituationMonthList
=
data
=>
{
return
request
({
url
:
'portal/stats/getWorkSituationMonthList'
,
method
:
'POST'
,
data
})
}
/* 任务地图 */
// 列表
export
const
getWorkSituationList
=
data
=>
{
return
request
({
url
:
'portal/stats/getWorkSituationList'
,
method
:
'POST'
,
data
})
}
// 地图数据
export
const
getMapJson
=
data
=>
{
return
request
({
url
:
`static/portal/
${
data
}
.json`
,
method
:
'GET'
})
}
export
const
getBanner
=
data
=>
{
return
request
({
baseURL
:
`json/banner.json`
,
method
:
'GET'
})
}
// 实时统计残疾人
export
const
getIDTKindCountList
=
data
=>
{
return
request
({
url
:
'portal/people/getIDTKindCountList'
,
method
:
'GET'
,
data
})
}
// 广西残疾人小康进程实现程度数据
export
const
getPeopleFairly
=
data
=>
{
return
request
({
url
:
'portal/stats/getPeopleFairly'
,
method
:
'GET'
,
data
})
}
/* 数据库统计 */
// 全区持证残疾人
export
const
getPeopleBaseDataNum
=
data
=>
{
return
request
({
url
:
'portal/stats/getPeopleBaseDataNum'
,
method
:
'GET'
,
data
})
}
// 残疾人动态更新数据库2018
export
const
getPeopleUpdateDataNum
=
data
=>
{
return
request
({
url
:
'portal/stats/getPeopleUpdateDataNum'
,
method
:
'GET'
,
data
})
}
// 残疾人动态更新数据库2017
export
const
getPeopleUpdateData2017Num
=
data
=>
{
return
request
({
url
:
'portal/stats/getPeopleUpdateData2017Num'
,
method
:
'GET'
,
data
})
}
src/utils/request.js
View file @
538101da
...
...
@@ -6,6 +6,21 @@ import { getToken } from '@/utils/auth'
import
Config
from
'@/settings'
import
Cookies
from
'js-cookie'
// 微服务 前缀判断添加服务名
const
addTopName
=
(
data
)
=>
{
const
urlTopName
=
data
.
url
.
split
(
'/'
)[
0
]
switch
(
urlTopName
)
{
case
'api'
:
return
`/AUTH-SERVER/
${
data
.
url
}
`
case
'auth'
:
return
`/AUTH-SERVER/
${
data
.
url
}
`
case
'portal'
:
return
`/PORTAL-SERVER/
${
data
.
url
}
`
default
:
return
`
${
data
.
url
}
`
}
}
// 创建axios实例
const
service
=
axios
.
create
({
baseURL
:
process
.
env
.
NODE_ENV
===
'production'
?
process
.
env
.
VUE_APP_BASE_API
:
'/'
,
// api 的 base_url
...
...
@@ -19,6 +34,7 @@ service.interceptors.request.use(
config
.
headers
[
'Authorization'
]
=
getToken
()
// 让每个请求携带自定义token 请根据实际情况自行修改
}
config
.
headers
[
'Content-Type'
]
=
'application/json'
config
.
url
=
addTopName
(
config
)
return
config
},
error
=>
{
...
...
src/views/system/role/index.vue
View file @
538101da
...
...
@@ -4,7 +4,15 @@
<div
class=
"head-container"
>
<div
v-if=
"crud.props.searchToggle"
>
<!-- 搜索 -->
<el-input
v-model=
"query.blurry"
size=
"small"
clearable
placeholder=
"输入名称或者描述搜索"
style=
"width: 200px;"
class=
"filter-item"
@
keyup
.
enter
.
native=
"crud.toQuery"
/>
<el-input
v-model=
"query.blurry"
size=
"small"
clearable
placeholder=
"输入名称或者描述搜索"
style=
"width: 200px;"
class=
"filter-item"
@
keyup
.
enter
.
native=
"crud.toQuery"
/>
<el-date-picker
v-model=
"query.createTime"
:default-time=
"['00:00:00','23:59:59']"
...
...
@@ -21,22 +29,41 @@
<crudOperation
:permission=
"permission"
/>
</div>
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"crud.cancelCU"
:visible
.
sync=
"crud.status.cu > 0"
:title=
"crud.status.title"
width=
"520px"
>
<el-form
ref=
"form"
:inline=
"true"
:model=
"form"
:rules=
"rules"
size=
"small"
label-width=
"80px"
>
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"crud.cancelCU"
:visible
.
sync=
"crud.status.cu > 0"
:title=
"crud.status.title"
width=
"520px"
>
<el-form
ref=
"form"
:inline=
"true"
:model=
"form"
:rules=
"rules"
size=
"small"
label-width=
"80px"
>
<el-form-item
label=
"角色名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
style=
"width: 380px;"
/>
</el-form-item>
<el-form-item
label=
"角色级别"
prop=
"level"
>
<el-input-number
v-model
.
number=
"form.level"
:min=
"1"
controls-position=
"right"
style=
"width: 145px;"
/>
<el-input-number
v-model
.
number=
"form.level"
:min=
"1"
controls-position=
"right"
style=
"width: 145px;"
/>
</el-form-item>
<el-form-item
label=
"数据范围"
prop=
"dataScope"
>
<el-select
v-model=
"form.dataScope"
style=
"width: 140px"
placeholder=
"请选择数据范围"
@
change=
"changeScope"
>
<el-option
v-for=
"item in dateScopes
"
:key=
"item
"
:label=
"item
"
:value=
"item"
/>
<el-select
v-model=
"form.dataScope"
style=
"width: 140px
"
placeholder=
"请选择数据范围
"
@
change=
"changeScope
"
>
<el-option
v-for=
"item in dateScopes"
:key=
"item"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-form-item>
<el-form-item
v-if=
"form.dataScope === '自定义'"
label=
"数据权限"
prop=
"depts"
>
...
...
@@ -65,18 +92,37 @@
<div
slot=
"header"
class=
"clearfix"
>
<span
class=
"role-span"
>
角色列表
</span>
</div>
<el-table
ref=
"table"
v-loading=
"crud.loading"
highlight-current-row
style=
"width: 100%;"
:data=
"crud.data"
@
selection-change=
"crud.selectionChangeHandler"
@
current-change=
"handleCurrentChange"
>
<el-table
ref=
"table"
v-loading=
"crud.loading"
highlight-current-row
style=
"width: 100%;"
:data=
"crud.data"
@
selection-change=
"crud.selectionChangeHandler"
@
current-change=
"handleCurrentChange"
>
<el-table-column
:selectable=
"checkboxT"
type=
"selection"
width=
"55"
/>
<el-table-column
prop=
"name"
label=
"名称"
/>
<el-table-column
prop=
"dataScope"
label=
"数据权限"
/>
<el-table-column
prop=
"level"
label=
"角色级别"
/>
<el-table-column
:show-overflow-tooltip=
"true"
prop=
"description"
label=
"描述"
/>
<el-table-column
:show-overflow-tooltip=
"true"
width=
"135px"
prop=
"createTime"
label=
"创建日期"
>
<el-table-column
:show-overflow-tooltip=
"true"
width=
"135px"
prop=
"createTime"
label=
"创建日期"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
v-permission=
"['admin','roles:edit','roles:del']"
label=
"操作"
width=
"130px"
align=
"center"
fixed=
"right"
>
<el-table-column
v-permission=
"['admin','roles:edit','roles:del']"
label=
"操作"
width=
"130px"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<udOperation
v-if=
"scope.row.level >= level"
...
...
@@ -139,29 +185,50 @@ import Treeselect from '@riophae/vue-treeselect'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
{
LOAD_CHILDREN_OPTIONS
}
from
'@riophae/vue-treeselect'
const
defaultForm
=
{
id
:
null
,
name
:
null
,
depts
:
[],
description
:
null
,
dataScope
:
'全部'
,
level
:
3
}
const
defaultForm
=
{
id
:
null
,
name
:
null
,
depts
:
[],
description
:
null
,
dataScope
:
'全部'
,
level
:
3
}
export
default
{
name
:
'Role'
,
components
:
{
Treeselect
,
pagination
,
crudOperation
,
rrOperation
,
udOperation
},
components
:
{
Treeselect
,
pagination
,
crudOperation
,
rrOperation
,
udOperation
},
cruds
()
{
return
CRUD
({
title
:
'角色'
,
url
:
'api/roles'
,
sort
:
'level,asc'
,
crudMethod
:
{
...
crudRoles
}})
return
CRUD
({
title
:
'角色'
,
url
:
'api/roles'
,
sort
:
'level,asc'
,
crudMethod
:
{
...
crudRoles
}
})
},
mixins
:
[
presenter
(),
header
(),
form
(
defaultForm
),
crud
()],
data
()
{
return
{
defaultProps
:
{
children
:
'children'
,
label
:
'label'
,
isLeaf
:
'leaf'
},
dateScopes
:
[
'全部'
,
'本级'
,
'自定义'
],
level
:
3
,
currentId
:
0
,
menuLoading
:
false
,
showButton
:
false
,
menus
:
[],
menuIds
:
[],
depts
:
[],
dateScopes
:
[
'全部'
,
'本级'
,
'自定义'
],
level
:
3
,
currentId
:
0
,
menuLoading
:
false
,
showButton
:
false
,
menus
:
[],
menuIds
:
[],
depts
:
[],
permission
:
{
add
:
[
'admin'
,
'roles:add'
],
edit
:
[
'admin'
,
'roles:edit'
],
del
:
[
'admin'
,
'roles:del'
]
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
'请输入名称'
,
trigger
:
'blur'
}
],
name
:
[{
required
:
true
,
message
:
'请输入名称'
,
trigger
:
'blur'
}],
permission
:
[
{
required
:
true
,
message
:
'请输入权限'
,
trigger
:
'blur'
}
]
...
...
@@ -169,14 +236,14 @@ export default {
}
},
created
()
{
crudRoles
.
getLevel
().
then
(
data
=>
{
crudRoles
.
getLevel
().
then
(
(
data
)
=>
{
this
.
level
=
data
.
level
})
},
methods
:
{
getMenuDatas
(
node
,
resolve
)
{
setTimeout
(()
=>
{
getMenusTree
(
node
.
data
.
id
?
node
.
data
.
id
:
0
).
then
(
res
=>
{
getMenusTree
(
node
.
data
.
id
?
node
.
data
.
id
:
0
).
then
(
(
res
)
=>
{
resolve
(
res
)
})
},
100
)
...
...
@@ -247,15 +314,16 @@ export default {
val
.
menus
.
forEach
(
function
(
data
,
index
)
{
_this
.
menuIds
.
push
(
data
.
id
)
})
getMenuSuperior
(
this
.
menuIds
).
then
(
res
=>
{
getMenuSuperior
(
this
.
menuIds
).
then
(
(
res
)
=>
{
this
.
menus
=
res
})
}
},
// 保存菜单
saveMenu
()
{
this
.
menuLoading
=
true
// this.menuLoading = true;
const
role
=
{
id
:
this
.
currentId
,
menus
:
[]
}
// 得到半选的父节点数据,保存起来
this
.
$refs
.
menu
.
getHalfCheckedNodes
().
forEach
(
function
(
data
,
index
)
{
const
menu
=
{
id
:
data
.
id
}
...
...
@@ -266,19 +334,22 @@ export default {
const
menu
=
{
id
:
data
}
role
.
menus
.
push
(
menu
)
})
crudRoles
.
editMenu
(
role
).
then
(
res
=>
{
this
.
crud
.
notify
(
'保存成功'
,
CRUD
.
NOTIFICATION_TYPE
.
SUCCESS
)
this
.
menuLoading
=
false
this
.
update
()
}).
catch
(
err
=>
{
this
.
menuLoading
=
false
console
.
log
(
err
.
response
.
data
.
message
)
})
crudRoles
.
editMenu
(
role
)
.
then
((
res
)
=>
{
this
.
crud
.
notify
(
'保存成功'
,
CRUD
.
NOTIFICATION_TYPE
.
SUCCESS
)
this
.
menuLoading
=
false
this
.
update
()
})
.
catch
((
err
)
=>
{
this
.
menuLoading
=
false
console
.
log
(
err
.
response
.
data
.
message
)
})
},
// 改变数据
update
()
{
// 无刷新更新 表格数据
crudRoles
.
get
(
this
.
currentId
).
then
(
res
=>
{
crudRoles
.
get
(
this
.
currentId
).
then
(
(
res
)
=>
{
for
(
let
i
=
0
;
i
<
this
.
crud
.
data
.
length
;
i
++
)
{
if
(
res
.
id
===
this
.
crud
.
data
[
i
].
id
)
{
this
.
crud
.
data
[
i
]
=
res
...
...
@@ -289,7 +360,7 @@ export default {
},
// 获取部门数据
getDepts
()
{
getDepts
({
enabled
:
true
}).
then
(
res
=>
{
getDepts
({
enabled
:
true
}).
then
(
(
res
)
=>
{
this
.
depts
=
res
.
content
.
map
(
function
(
obj
)
{
if
(
obj
.
hasChildren
)
{
obj
.
children
=
null
...
...
@@ -300,10 +371,10 @@ export default {
},
getSupDepts
(
depts
)
{
const
ids
=
[]
depts
.
forEach
(
dept
=>
{
depts
.
forEach
(
(
dept
)
=>
{
ids
.
push
(
dept
.
id
)
})
getDeptSuperior
(
ids
).
then
(
res
=>
{
getDeptSuperior
(
ids
).
then
(
(
res
)
=>
{
this
.
depts
=
res
.
content
.
map
(
function
(
obj
)
{
if
(
obj
.
hasChildren
&&
!
obj
.
children
)
{
obj
.
children
=
null
...
...
@@ -315,7 +386,7 @@ export default {
// 获取弹窗内部门数据
loadDepts
({
action
,
parentNode
,
callback
})
{
if
(
action
===
LOAD_CHILDREN_OPTIONS
)
{
getDepts
({
enabled
:
true
,
pid
:
parentNode
.
id
}).
then
(
res
=>
{
getDepts
({
enabled
:
true
,
pid
:
parentNode
.
id
}).
then
(
(
res
)
=>
{
parentNode
.
children
=
res
.
content
.
map
(
function
(
obj
)
{
if
(
obj
.
hasChildren
)
{
obj
.
children
=
null
...
...
@@ -342,21 +413,22 @@ export default {
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
.role-span
{
font-weight
:
bold
;
color
:
#303133
;
font-size
:
15px
;
}
.role-span
{
font-weight
:
bold
;
color
:
#303133
;
font-size
:
15px
;
}
</
style
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scoped
>
/
deep
/
.el-input-number
.el-input__inner
{
text-align
:
left
;
}
/
deep
/
.vue-treeselect__multi-value
{
margin-bottom
:
0
;
}
/
deep
/
.vue-treeselect__multi-value-item
{
border
:
0
;
padding
:
0
;
}
/
deep
/
.el-input-number
.el-input__inner
{
text-align
:
left
;
}
/
deep
/
.vue-treeselect__multi-value
{
margin-bottom
:
0
;
}
/
deep
/
.vue-treeselect__multi-value-item
{
border
:
0
;
padding
:
0
;
}
</
style
>
vue.config.js
View file @
538101da
...
...
@@ -40,7 +40,21 @@ module.exports = {
pathRewrite
:
{
'^/auth'
:
'auth'
}
}
},
'/ADMIN-SERVER'
:{
target
:
process
.
env
.
VUE_APP_BASE_API
,
changeOrigin
:
true
,
pathRewrite
:
{
'^/ADMIN-SERVER'
:
'ADMIN-SERVER'
}
},
'/AUTH-SERVER'
:{
target
:
process
.
env
.
VUE_APP_BASE_API
,
changeOrigin
:
true
,
pathRewrite
:
{
'^/AUTH-SERVER'
:
'AUTH-SERVER'
}
}
}
},
configureWebpack
:
{
...
...
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