Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
apaas-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
gzga-jzapi
apaas-ui
Commits
04951361
Commit
04951361
authored
May 28, 2020
by
徐一鸣
Browse files
Options
Browse Files
Download
Plain Diff
组织管理和用户管理交互
parents
e9a66061
4ed9ccce
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
727 additions
and
159 deletions
+727
-159
src/assets/css/index.css
src/assets/css/index.css
+65
-3
src/components/apass-dialog.vue
src/components/apass-dialog.vue
+80
-0
src/components/apass-list.vue
src/components/apass-list.vue
+135
-0
src/components/comments-pagination.vue
src/components/comments-pagination.vue
+4
-1
src/components/organization-list/organization-list.vue
src/components/organization-list/organization-list.vue
+5
-5
src/pages/authority/organization.vue
src/pages/authority/organization.vue
+71
-106
src/pages/authority/permission.vue
src/pages/authority/permission.vue
+129
-0
src/pages/authority/users.vue
src/pages/authority/users.vue
+200
-21
src/pages/service_shop/sjfwDetail.vue
src/pages/service_shop/sjfwDetail.vue
+1
-1
src/pages/service_shop/skfwDetail.vue
src/pages/service_shop/skfwDetail.vue
+1
-1
src/pages/service_shop/yysdDetail.vue
src/pages/service_shop/yysdDetail.vue
+1
-1
src/pages/service_shop/zhfwDetail.vue
src/pages/service_shop/zhfwDetail.vue
+1
-1
src/pages/workbench/app_build.vue
src/pages/workbench/app_build.vue
+4
-4
src/pages/workbench/fwgl/fwglList.vue
src/pages/workbench/fwgl/fwglList.vue
+1
-1
src/pages/workbench/yygl/yyglList.vue
src/pages/workbench/yygl/yyglList.vue
+4
-4
src/router/index.js
src/router/index.js
+25
-10
No files found.
src/assets/css/index.css
View file @
04951361
...
@@ -501,13 +501,75 @@ width: 620px!important;
...
@@ -501,13 +501,75 @@ width: 620px!important;
max-width
:
1200px
;
max-width
:
1200px
;
margin
:
0
auto
;
margin
:
0
auto
;
}
}
.sevice_breadcrumb
>
.el-breadcrumb
.el-breadcrumb__inner
{
/* common */
.apass_breadcrumb
>
.el-breadcrumb
{
margin
:
15px
0
;
}
.apass_breadcrumb
>
.el-breadcrumb
.el-breadcrumb__inner
{
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#898d9e
;
color
:
#898d9e
;
line-height
:
42
px
;
line-height
:
23
px
;
}
}
.
sevice
_breadcrumb
>
.el-breadcrumb
.el-breadcrumb__item
:last-child
.el-breadcrumb__inner
{
.
apass
_breadcrumb
>
.el-breadcrumb
.el-breadcrumb__item
:last-child
.el-breadcrumb__inner
{
color
:
#242c43
;
color
:
#242c43
;
font-weight
:
normal
;
font-weight
:
normal
;
}
.apass_button
.el-button
{
min-width
:
90px
;
color
:
#0f2683
;
}
.apass_button
.el-button--mini
,
.apass_button
.el-button--mini.is-round
{
padding
:
10px
15px
;
}
.apass_button
.el-button--primary
{
color
:
#fff
;
background-color
:
#0f2683
;
border-color
:
#0f2683
;
}
.apass_button
.el-button--primary.is-plain
{
color
:
#0f2683
;
background-color
:
#e1e4fb
;
border-color
:
#e1e4fb
;
}
.appas_table
.el-table
th
>
.cell
{
color
:
#1a2236
;
}
.appas_table
.el-table
td
,
.appas_table
.el-table
th
.is-leaf
{
border
:
none
!important
;
line-height
:
23px
;
}
.appas_table
.el-table
::before
{
display
:
none
;
}
.appas_table
.el-table
{
width
:
100%
;
}
.appas_table
.el-table__row
:nth-child
(
odd
)
td
{
background-color
:
#f8f9fd
;
}
.appas_table
.row_action
{
user-select
:
none
;
}
.appas_table
.row_action
.btn
{
font-size
:
14px
;
font-weight
:
bold
;
color
:
#0f2683
;
cursor
:
pointer
;
}
.appas_table
.row_action
.btn.warn
{
color
:
#830f53
;
}
.appas_table
.row_action
.btn.disabled
{
color
:
#dde4ff
;
cursor
:
not-allowed
;
}
.appas_table
.row_action
.interval_line
{
font-size
:
14px
;
color
:
#dde4ff
;
margin
:
0
20px
;
}
}
\ No newline at end of file
src/components/apass-dialog.vue
0 → 100644
View file @
04951361
<
template
>
<transition
name=
"mask-bg-fade"
>
<el-dialog
class=
"apass_dialog"
:visible.sync=
"showDialog"
:width=
"width"
top=
"25vh"
>
<h3
class=
"dialog_title"
slot=
"title"
>
<span
v-text=
"title"
></span>
</h3>
<div
class=
"dialog_content appas_table"
>
<slot
name=
"content"
></slot>
</div>
<div
slot=
"footer"
class=
"dialog_action apass_button"
>
<slot
name=
"action"
></slot>
</div>
</el-dialog>
</transition>
</
template
>
<
script
>
export
default
{
name
:
"
dialog-action
"
,
props
:
{
width
:
{
type
:
String
,
default
:
()
=>
"
400px
"
,
},
title
:
{
type
:
String
,
default
:
()
=>
""
,
},
},
data
:
()
=>
({
showDialog
:
false
,
}),
methods
:
{
show
()
{
this
.
showDialog
=
true
;
},
hide
()
{
this
.
showDialog
=
false
;
},
},
};
</
script
>
<
style
scoped
>
.dialog_title
::before
{
content
:
""
;
display
:
inline-block
;
vertical-align
:
middle
;
width
:
4px
;
height
:
16px
;
border-radius
:
2px
;
background-color
:
#515fe7
;
margin-right
:
10px
;
}
.dialog_title
>
span
{
display
:
inline-block
;
vertical-align
:
middle
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
#1d1e20
;
}
</
style
>
<
style
>
.apass_dialog
.el-dialog__header
{
padding
:
20px
;
border-bottom
:
1px
solid
#edf0ff
;
}
.apass_dialog
.el-dialog__body
{
padding
:
10px
30px
;
}
.apass_dialog
.el-dialog__footer
{
padding
:
20px
;
}
</
style
>
src/components/apass-list.vue
0 → 100644
View file @
04951361
<
template
>
<div
class=
"apass_list-container"
>
<div
class=
"apass_breadcrumb"
>
<slot
name=
"breadcrumb"
></slot>
</div>
<div
class=
"main-container"
>
<div
class=
"header-container"
v-if=
"!hideHeader"
>
<div
class=
"header-left apass_button"
>
<slot
name=
"header-left"
></slot>
</div>
<div
class=
"header-center"
>
<slot
name=
"header-center"
></slot>
</div>
<div
class=
"header-right"
>
<el-input
v-model=
"searchFilter"
prefix-icon=
"el-icon-search"
:placeholder=
"searchPlaceholder"
style=
"width:240px;"
@
input=
"searchAction"
></el-input>
</div>
</div>
<div
class=
"cross_line"
v-if=
"!hideHeader"
></div>
<div
class=
"list-container appas_table"
>
<slot
name=
"list"
></slot>
</div>
<list-pagination
:total=
"listTotal"
:page-sizes=
"pageSizes"
:page-size=
"pageSize"
:current-page=
"currentPage"
@
size-change=
"changePageSize"
@
current-change=
"changeCurrentPage"
></list-pagination>
</div>
</div>
</
template
>
<
script
>
import
ListPagination
from
"
@/components/comments-pagination
"
;
export
default
{
components
:
{
ListPagination
,
},
props
:
{
listTotal
:
{
type
:
Number
,
default
:
0
,
},
hideHeader
:
{
type
:
Boolean
,
default
:
false
,
},
searchPlaceholder
:
{
type
:
String
,
default
:
"
请输入关键字
"
}
},
data
:
()
=>
({
searchFilter
:
""
,
pageSize
:
10
,
currentPage
:
1
,
timer
:
null
,
pageSizes
:
[
10
,
50
,
100
],
}),
methods
:
{
searchAction
(
value
)
{
this
.
listAction
();
},
changePageSize
(
value
)
{
this
.
pageSize
=
value
;
this
.
currentPage
=
1
;
this
.
listAction
();
},
changeCurrentPage
(
value
)
{
this
.
currentPage
=
value
;
this
.
listAction
();
},
listAction
()
{
if
(
this
.
timer
)
{
clearTimeout
(
this
.
timer
);
}
this
.
timer
=
setTimeout
(()
=>
{
this
.
$emit
(
"
list-action
"
,
{
filter
:
this
.
searchFilter
,
pageSize
:
this
.
pageSize
,
currentPage
:
this
.
currentPage
,
});
},
200
);
},
},
};
</
script
>
<
style
scoped
>
.apass_list-container
{
padding
:
0
20px
;
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
align-items
:
stretch
;
overflow
:
auto
;
}
.main-container
{
flex-grow
:
1
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
align-items
:
stretch
;
padding
:
0
20px
15px
;
background-color
:
#fff
;
border-radius
:
10px
;
margin-bottom
:
40px
;
}
.header-container
{
padding-top
:
20px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
.header-container
.el-button
+
.el-button
{
margin-left
:
25px
;
}
.cross_line
{
border-top
:
1px
solid
#e3e5ef
;
margin
:
20px
-20px
0
;
}
.list-container
{
flex-grow
:
1
;
}
</
style
>
src/components/comments-pagination.vue
View file @
04951361
...
@@ -105,11 +105,14 @@ export default {
...
@@ -105,11 +105,14 @@ export default {
}
}
.
page_action
>
a
>
i
{
.
page_action
>
a
>
i
{
font
-
weight
:
bold
;
font
-
weight
:
bold
;
color
:
#
5588
ff
;
}
}
.
page_action
>
a
.
disabled
{
.
page_action
>
a
.
disabled
{
opacity
:
0.5
;
cursor
:
not
-
allowed
;
cursor
:
not
-
allowed
;
}
}
.
page_action
>
a
.
disabled
>
i
{
color
:
#
d6d8dc
;
}
<
/style
>
<
/style
>
<
style
>
<
style
>
...
...
src/components/organization-list/organization-list.vue
View file @
04951361
...
@@ -42,18 +42,18 @@ export default {
...
@@ -42,18 +42,18 @@ export default {
},
},
mounted
()
{
mounted
()
{
this
.
pageResize
();
this
.
pageResize
();
window
.
onresize
=
()
=>
{
window
.
addEventListener
(
"
resize
"
,
this
.
pageResize
);
this
.
pageResize
();
},
};
destroyed
()
{
window
.
removeEventListener
(
"
resize
"
,
this
.
pageResize
);
},
},
};
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.organization_list
{
.organization_list
{
margin
:
20px
-20px
0
;
margin
:
0
-20px
;
padding
:
30px
0
0
;
padding
:
30px
0
0
;
border-top
:
1px
solid
#e3e5ef
;
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
justify-content
:
flex-start
;
justify-content
:
flex-start
;
...
...
src/pages/authority/organization.vue
View file @
04951361
<
template
>
<
template
>
<div
class=
"organization_container"
>
<div
class=
"organization_list"
>
<div
class=
"sevice_breadcrumb"
>
<apass-list
<el-breadcrumb
separator=
"/"
>
@
list-action=
"listAction"
<el-breadcrumb-item>
权限管理
</el-breadcrumb-item>
search-placeholder=
"请输入关键字"
:list-total=
"listTotal"
>
<el-breadcrumb
separator=
"/"
slot=
"breadcrumb"
>
<el-breadcrumb-item
to=
"/authority"
>
权限管理
</el-breadcrumb-item>
<el-breadcrumb-item>
组织管理
</el-breadcrumb-item>
<el-breadcrumb-item>
组织管理
</el-breadcrumb-item>
</el-breadcrumb>
</el-breadcrumb>
</div>
<template
slot=
"header-left"
>
<div
class=
"main_container"
>
<el-button
<div
class=
"organization_header"
>
type=
"primary"
<el-button
type=
"primary"
@
click=
"addOrganization"
>
@
click=
"$router.push('/authority/organization/add')"
>
新建组织
新建组织
</el-button>
</el-button>
<p
class=
"organization_info"
>
</
template
>
<img
:src=
"require('@/assets/imgs/title_ic_zuzhi.png')"
/>
<p
class=
"organization_info"
slot=
"header-center"
>
<span>
当前组织总数:
</span>
<img
:src=
"require('@/assets/imgs/title_ic_zuzhi.png')"
/>
<span>
8
</span>
<span>
当前组织总数:
</span>
</p>
<span>
8
</span>
<el-input
</p>
v-model=
"searchFilter"
prefix-icon=
"el-icon-search"
placeholder=
"请输入组织名称"
style=
"width:180px;"
@
input=
"searchAction"
class=
"ces_toolbar_inp"
></el-input>
</div>
<organization-list
<organization-list
:data=
"organizationList"
slot=
"list"
details-url=
"/authority/organizationdetail/"
:data=
"listData"
details-url=
"/authority/organization/detail/"
@
delete-action=
"deleteAction"
@
delete-action=
"deleteAction"
></organization-list>
></organization-list>
<div
class=
"flex_grow"
></div>
</apass-list>
<comments-pagination
:total=
"100"
<apass-dialog
ref=
"dialog"
title=
"提示"
>
:page-sizes=
"pageSizes"
<p
slot=
"content"
style=
"text-align: left;"
>
确认删除该组织吗?
</p>
:page-size=
"pageSize"
<
template
slot=
"action"
>
:current-page=
"currentPage"
<el-button
type=
"defalut"
size=
"mini"
@
click=
"dialogHide"
>
@
size-change=
"changePageSize"
取消
@
current-change=
"changeCurrentPage"
</el-button>
></comments-pagination>
<el-button
type=
"primary"
size=
"mini"
@
click=
"dialogSubmit"
>
</div>
确定
<dialog-action
</el-button>
ref=
"myConfirm"
</
template
>
:confirm-options=
"confirmOptions"
</apass-dialog>
></dialog-action>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
apassList
from
"
@/components/apass-list
"
;
import
organizationList
from
"
@/components/organization-list/organization-list
"
;
import
organizationList
from
"
@/components/organization-list/organization-list
"
;
import
commentsPagination
from
"
@/components/comments-pagination
"
;
import
apassDialog
from
"
@/components/apass-dialog
"
;
import
dialogAction
from
"
@/components/dialog-action
"
;
export
default
{
export
default
{
components
:
{
components
:
{
apassList
,
organizationList
,
apassDialog
},
organizationList
,
dialogAction
,
commentsPagination
,
},
data
:
()
=>
({
data
:
()
=>
({
searchFilter
:
""
,
listTotal
:
300
,
organizationList
:
[
listData
:
[
{
{
id
:
1000001
,
id
:
1000001
,
img
:
img
:
...
@@ -152,67 +145,50 @@ export default {
...
@@ -152,67 +145,50 @@ export default {
time
:
"
2019-04-11 12:50:30
"
,
time
:
"
2019-04-11 12:50:30
"
,
},
},
],
],
pageSizes
:
[
10
,
50
,
100
],
roleData
:
[
pageSize
:
10
,
{
currentPage
:
1
,
name
:
"
超级管理员
"
,
confirmOptions
:
{
description
:
"
拥有所有权限
"
,
title
:
""
,
},
message
:
""
,
{
btnCancelText
:
""
,
name
:
"
组织管理员
"
,
btnSubmitText
:
""
,
description
:
"
拥有对应组织的权限
"
,
item
:
null
,
},
},
{
name
:
"
普通用户
"
,
description
:
"
普通权限用户
"
,
},
{
name
:
"
普通用户-开发者
"
,
description
:
"
基于普通用户多一些开发的选项
"
,
},
],
showDialog
:
false
,
}),
}),
methods
:
{
methods
:
{
addOrganization
()
{
listAction
(
value
)
{
this
.
$router
.
push
(
"
/authority/organizationedit
"
);
console
.
log
(
value
);
},
searchAction
()
{
console
.
log
(
this
.
searchFilter
);
},
},
deleteAction
(
item
)
{
deleteAction
(
item
)
{
this
.
confirmOptions
.
title
=
"
删除提示
"
;
this
.
dialogShow
();
this
.
confirmOptions
.
message
=
`确认删除
${
item
.
name
}
吗?`
;
this
.
confirmOptions
.
btnCancelText
=
""
;
this
.
confirmOptions
.
btnSubmitText
=
""
;
this
.
confirmOptions
.
confirmSubmit
=
()
=>
{
console
.
log
(
"
deleteItem -
"
+
item
.
name
);
this
.
$refs
.
myConfirm
.
hideModel
();
};
this
.
$refs
.
myConfirm
.
showModel
();
},
},
changePageSize
(
value
)
{
dialogShow
()
{
this
.
pageSize
=
value
;
this
.
$refs
.
dialog
.
show
();
this
.
currentPage
=
1
;
},
},
changeCurrentPage
(
value
)
{
dialogHide
()
{
this
.
currentPage
=
value
;
this
.
$refs
.
dialog
.
hide
();
},
dialogSubmit
()
{
console
.
log
(
"
dialog submit
"
);
this
.
dialogHide
();
},
},
},
},
};
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.organization_
container
{
.organization_
list
{
height
:
100%
;
height
:
100%
;
padding
:
0
20px
;
overflow
:
auto
;
}
.main_container
{
min-height
:
calc
(
100%
-
84px
);
padding
:
15px
20px
;
border-radius
:
10px
;
background-color
:
#fff
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
align-items
:
stretch
;
margin-bottom
:
42px
;
}
.organization_header
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
}
.organization_info
{
.organization_info
{
display
:
inline-flex
;
display
:
inline-flex
;
...
@@ -229,15 +205,4 @@ export default {
...
@@ -229,15 +205,4 @@ export default {
.organization_info
>
span
:nth-of-type
(
2
)
{
.organization_info
>
span
:nth-of-type
(
2
)
{
color
:
#1a2236
;
color
:
#1a2236
;
}
}
.flex_grow
{
flex-grow
:
1
;
}
</
style
>
<
style
>
.organization_container
.el-button--primary
{
background-color
:
#515fe7
;
border-color
:
#515fe7
;
color
:
#e6ebfe
;
}
</
style
>
</
style
>
src/pages/authority/permission.vue
0 → 100644
View file @
04951361
<
template
>
<div
class=
"permission_list"
>
<apass-list
@
list-action=
"listAction"
:list-total=
"listTotal"
:hide-header=
"true"
>
<el-breadcrumb
separator=
"/"
slot=
"breadcrumb"
>
<el-breadcrumb-item
to=
"/authority"
>
权限管理
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/authority/users"
>
用户管理
</el-breadcrumb-item>
<el-breadcrumb-item>
权限审批
</el-breadcrumb-item>
</el-breadcrumb>
<el-table
slot=
"list"
:border=
"false"
:data=
"listData"
>
<el-table-column
label=
""
width=
"40"
></el-table-column>
<el-table-column
label=
"账号"
width=
"160"
>
<template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.account"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"业务系统名称"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.name"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"用户类型"
align=
"center"
width=
"240"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.role"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"用户所属组织"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.organization"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"用户状态"
align=
"center"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.state === 0 ? '禁用' : '启用'"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"申请时间"
align=
"center"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.update_time"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"300"
>
<
template
slot-scope=
"scope"
>
<div
class=
"row_action"
>
<a
class=
"btn"
@
click=
"permissionAction(scope.row)"
>
通过
</a>
<span
class=
"interval_line"
>
|
</span>
<a
class=
"btn warn"
@
click=
"permissionAction(scope.row, false)"
>
拒绝
</a>
</div>
</
template
>
</el-table-column>
</el-table>
</apass-list>
</div>
</template>
<
script
>
import
apassList
from
"
@/components/apass-list
"
;
import
apassDialog
from
"
@/components/apass-dialog
"
;
export
default
{
components
:
{
apassList
,
apassDialog
},
data
:
()
=>
({
listTotal
:
300
,
listData
:
[
{
account
:
"
012344
"
,
name
:
"
贵阳机关事务大数据平台
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
0
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
{
account
:
"
012345
"
,
name
:
"
贵州省水利厅
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
1
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
{
account
:
"
012346
"
,
name
:
"
贵州省公安厅
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
1
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
{
account
:
"
012347
"
,
name
:
"
贵阳机关事务大数据平台
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
1
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
{
account
:
"
012348
"
,
name
:
"
长兴县应急指挥平台
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
1
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
],
}),
methods
:
{
listAction
(
value
)
{
console
.
log
(
value
);
},
permissionAction
(
item
,
passFlag
=
true
)
{
console
.
log
((
passFlag
?
"
通过
"
:
"
拒绝
"
)
+
item
.
name
);
},
},
};
</
script
>
<
style
scoped
>
.permission_list
{
height
:
100%
;
}
</
style
>
src/pages/authority/users.vue
View file @
04951361
<
template
>
<
template
>
<div>
<div
class=
"users_list"
>
<apass-list
@
list-action=
"listAction"
search-placeholder=
"请输入关键字"
:list-total=
"listTotal"
>
<el-breadcrumb
separator=
"/"
slot=
"breadcrumb"
>
<el-breadcrumb-item
to=
"/authority"
>
权限管理
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/authority/users"
>
用户管理
</el-breadcrumb-item>
</el-breadcrumb>
<template
slot=
"header-left"
>
<el-button
type=
"primary"
@
click=
"$router.push('/authority/users/add')"
>
新建用户
</el-button>
<el-button
@
click=
"$router.push('/authority/users/permission')"
>
权限审批
</el-button>
</
template
>
<el-table
slot=
"list"
:border=
"false"
:data=
"listData"
>
<el-table-column
label=
""
width=
"40"
></el-table-column>
<el-table-column
label=
"账号"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.account"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"业务系统名称"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.name"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"用户类型"
align=
"center"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.role"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"所属组织"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.organization"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"账号状态"
align=
"center"
width=
"240"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.state === 0 ? '禁用' : '启用'"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"上次操作修改时间"
align=
"center"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.update_time"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"300"
>
<
template
slot-scope=
"scope"
>
<div
class=
"row_action"
>
<a
class=
"btn"
@
click=
"$router.push(`/authority/users/detail/$
{scope.row.id}`)"
>
详情
</a>
<span
class=
"interval_line"
>
|
</span>
<a
class=
"btn"
@
click=
"setRole(scope.row)"
>
分配角色
</a>
<span
class=
"interval_line"
>
|
</span>
<a
class=
"btn"
:class=
"
{ warn: scope.row.state === 1 }"
@click="setState(scope.row)"
>
{{
scope
.
row
.
state
===
0
?
"
启用
"
:
"
禁用
"
}}
</a>
</div>
</
template
>
</el-table-column>
</el-table>
</apass-list>
</div>
<apass-dialog
ref=
"dialog"
width=
"590px"
title=
"分配角色"
>
<el-table
slot=
"content"
:border=
"false"
:data=
"roleData"
@
selection-change=
"dialogSelectionChange"
>
<el-table-column
type=
"selection"
width=
"60"
align=
"right"
>
</el-table-column>
<el-table-column
label=
"角色"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.name"
></span>
</
template
>
</el-table-column>
<el-table-column
label=
"说明"
>
<
template
slot-scope=
"scope"
>
<span
v-text=
"scope.row.description"
></span>
</
template
>
</el-table-column>
</el-table>
<
template
slot=
"action"
>
<el-button
type=
"defalut"
size=
"mini"
@
click=
"dialogHide"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"dialogSubmit"
>
确定
</el-button>
</
template
>
</apass-dialog>
</div>
</template>
</template>
<
script
>
<
script
>
export
default
{
import
apassList
from
"
@/components/apass-list
"
;
props
:
[],
import
apassDialog
from
"
@/components/apass-dialog
"
;
components
:
{
export
default
{
components
:
{
apassList
,
apassDialog
},
data
:
()
=>
({
listTotal
:
300
,
listData
:
[
{
id
:
"
012344
"
,
account
:
"
012344
"
,
name
:
"
贵阳机关事务大数据平台
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
0
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
{
id
:
"
012345
"
,
account
:
"
012345
"
,
name
:
"
贵州省水利厅
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
1
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
{
id
:
"
012346
"
,
account
:
"
012346
"
,
name
:
"
贵州省公安厅
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
1
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
{
id
:
"
012347
"
,
account
:
"
012347
"
,
name
:
"
贵阳机关事务大数据平台
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
1
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
{
id
:
"
012348
"
,
account
:
"
012348
"
,
name
:
"
长兴县应急指挥平台
"
,
role
:
"
普通用户
"
,
organization
:
"
贵阳市水利局
"
,
state
:
1
,
update_time
:
"
2020-04-27 13:24:19
"
,
},
],
roleData
:
[
{
name
:
"
超级管理员
"
,
description
:
"
拥有所有权限
"
,
},
{
name
:
"
组织管理员
"
,
description
:
"
拥有对应组织的权限
"
,
},
{
name
:
"
普通用户
"
,
description
:
"
普通权限用户
"
,
},
{
name
:
"
普通用户-开发者
"
,
description
:
"
基于普通用户多一些开发的选项
"
,
},
],
showDialog
:
false
,
}),
methods
:
{
listAction
(
value
)
{
console
.
log
(
value
);
},
},
data
()
{
setRole
(
item
)
{
return
{
console
.
log
(
"
setRole
"
+
item
.
name
);
this
.
dialogShow
();
};
},
},
watch
:
{
setState
(
item
)
{
console
.
log
(
"
setState
"
+
item
.
name
);
},
},
computed
:
{
dialogSelectionChange
(
values
)
{
console
.
log
(
values
);
},
},
created
()
{
dialogShow
()
{
this
.
$refs
.
dialog
.
show
();
},
},
mounted
()
{
dialogHide
()
{
this
.
$refs
.
dialog
.
hide
();
},
},
methods
:
{
dialogSubmit
()
{
console
.
log
(
"
dialog submit
"
);
this
.
dialogHide
();
},
},
},
};
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.users_list
{
height
:
100%
;
}
</
style
>
</
style
>
src/pages/service_shop/sjfwDetail.vue
View file @
04951361
<
template
>
<
template
>
<div
class=
"sevice_detail"
>
<div
class=
"sevice_detail"
>
<div
class=
"
sevice
_breadcrumb"
>
<div
class=
"
apass
_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop/data_service_list"
>
<el-breadcrumb-item
to=
"/shop/data_service_list"
>
...
...
src/pages/service_shop/skfwDetail.vue
View file @
04951361
<
template
>
<
template
>
<div
class=
"sevice_detail"
>
<div
class=
"sevice_detail"
>
<div
class=
"
sevice
_breadcrumb"
>
<div
class=
"
apass
_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop/space_time_service_list"
>
<el-breadcrumb-item
to=
"/shop/space_time_service_list"
>
...
...
src/pages/service_shop/yysdDetail.vue
View file @
04951361
<
template
>
<
template
>
<div
class=
"sevice_detail"
>
<div
class=
"sevice_detail"
>
<div
class=
"
sevice
_breadcrumb"
>
<div
class=
"
apass
_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop/app_store_list"
>
<el-breadcrumb-item
to=
"/shop/app_store_list"
>
...
...
src/pages/service_shop/zhfwDetail.vue
View file @
04951361
<
template
>
<
template
>
<div
class=
"sevice_detail"
>
<div
class=
"sevice_detail"
>
<div
class=
"
sevice
_breadcrumb"
>
<div
class=
"
apass
_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop/comprehensive_app_list"
>
<el-breadcrumb-item
to=
"/shop/comprehensive_app_list"
>
...
...
src/pages/workbench/app_build.vue
View file @
04951361
<
template
>
<
template
>
<div
class=
"app_build-container"
>
<div
class=
"app_build-container"
>
<div
class=
"
sevice
_breadcrumb"
>
<div
class=
"
apass
_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item>
在线组件工具
</el-breadcrumb-item>
<el-breadcrumb-item>
在线组件工具
</el-breadcrumb-item>
<el-breadcrumb-item>
应用构建(镜像形式)
</el-breadcrumb-item>
<el-breadcrumb-item>
应用构建(镜像形式)
</el-breadcrumb-item>
...
@@ -421,14 +421,14 @@ export default {
...
@@ -421,14 +421,14 @@ export default {
</
style
>
</
style
>
<
style
>
<
style
>
.app_build-container
.
sevice
_breadcrumb
{
.app_build-container
.
apass
_breadcrumb
{
padding
:
0
20px
;
padding
:
0
20px
;
}
}
.app_build-container
.
sevice
_breadcrumb
>
.el-breadcrumb
.el-breadcrumb__inner
{
.app_build-container
.
apass
_breadcrumb
>
.el-breadcrumb
.el-breadcrumb__inner
{
color
:
#626de9
;
color
:
#626de9
;
}
}
.app_build-container
.app_build-container
.
sevice
_breadcrumb
.
apass
_breadcrumb
>
.el-breadcrumb
>
.el-breadcrumb
.el-breadcrumb__item
:last-child
.el-breadcrumb__item
:last-child
.el-breadcrumb__inner
{
.el-breadcrumb__inner
{
...
...
src/pages/workbench/fwgl/fwglList.vue
View file @
04951361
<
template
>
<
template
>
<div
class=
"list_container"
>
<div
class=
"list_container"
>
<div
class=
"
sevice
_breadcrumb"
>
<div
class=
"
apass
_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item>
我的服务
</el-breadcrumb-item>
<el-breadcrumb-item>
我的服务
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
pathName
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
pathName
}}
</el-breadcrumb-item>
...
...
src/pages/workbench/yygl/yyglList.vue
View file @
04951361
<
template
>
<
template
>
<div
class=
"list_container"
>
<div
class=
"list_container"
>
<div
class=
"
sevice
_breadcrumb"
>
<div
class=
"
apass
_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item>
我的
服务
</el-breadcrumb-item>
<el-breadcrumb-item>
我的
应用
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
pathName
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
pathName
}}
</el-breadcrumb-item>
</el-breadcrumb>
</el-breadcrumb>
</div>
</div>
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
prefix-icon=
"el-icon-search"
prefix-icon=
"el-icon-search"
placeholder=
"请输入应用名称"
placeholder=
"请输入应用名称"
style=
"width:180px;"
style=
"width:180px;"
@
input=
"search
Change
"
@
input=
"search
Action
"
class=
"ces_toolbar_inp"
class=
"ces_toolbar_inp"
></el-input>
></el-input>
</div>
</div>
...
@@ -252,7 +252,7 @@ export default {
...
@@ -252,7 +252,7 @@ export default {
},
},
},
},
methods
:
{
methods
:
{
search
Change
(
value
)
{
search
Action
(
value
)
{
console
.
log
(
value
);
console
.
log
(
value
);
},
},
filterChange
(
filter
)
{
filterChange
(
filter
)
{
...
...
src/router/index.js
View file @
04951361
...
@@ -59,12 +59,14 @@ export default new Router({
...
@@ -59,12 +59,14 @@ export default new Router({
{
{
path
:
"
/fwgl/:level/:type/applyserviceedit/:id
"
,
path
:
"
/fwgl/:level/:type/applyserviceedit/:id
"
,
name
:
"
applyserviceedit
"
,
name
:
"
applyserviceedit
"
,
component
:
()
=>
import
(
"
@/pages/workbench/fwgl/apply_service_detail
"
),
component
:
()
=>
import
(
"
@/pages/workbench/fwgl/apply_service_detail
"
),
},
// 申请的服务 - 详情
},
// 申请的服务 - 详情
{
{
path
:
"
/fwgl/:level/:type/approvalserviceedit/:id
"
,
path
:
"
/fwgl/:level/:type/approvalserviceedit/:id
"
,
name
:
"
approvalserviceedit
"
,
name
:
"
approvalserviceedit
"
,
component
:
()
=>
import
(
"
@/pages/workbench/fwgl/approval_service_detail
"
),
component
:
()
=>
import
(
"
@/pages/workbench/fwgl/approval_service_detail
"
),
},
// 审批的服务 - 详情
},
// 审批的服务 - 详情
],
],
},
// 工作台 - 服务管理模块
},
// 工作台 - 服务管理模块
...
@@ -92,17 +94,20 @@ export default new Router({
...
@@ -92,17 +94,20 @@ export default new Router({
{
{
path
:
"
/yygl/:level/:type/deploydetail/:id
"
,
// 我部署的应用详情
path
:
"
/yygl/:level/:type/deploydetail/:id
"
,
// 我部署的应用详情
name
:
"
deploy_app_detail
"
,
name
:
"
deploy_app_detail
"
,
component
:
()
=>
import
(
"
@/pages/workbench/yygl/deploy_app_detail
"
),
component
:
()
=>
import
(
"
@/pages/workbench/yygl/deploy_app_detail
"
),
},
},
{
{
path
:
"
/yygl/:level/:type/applydetail/:id
"
,
// 我申请的应用详情
path
:
"
/yygl/:level/:type/applydetail/:id
"
,
// 我申请的应用详情
name
:
"
apply_app_detail
"
,
name
:
"
apply_app_detail
"
,
component
:
()
=>
import
(
"
@/pages/workbench/yygl/apply_app_detail
"
),
component
:
()
=>
import
(
"
@/pages/workbench/yygl/apply_app_detail
"
),
},
},
{
{
path
:
"
/yygl/:level/:type/approvaldetail/:id
"
,
// 我申请的应用详情
path
:
"
/yygl/:level/:type/approvaldetail/:id
"
,
// 我申请的应用详情
name
:
"
approval_app_detail
"
,
name
:
"
approval_app_detail
"
,
component
:
()
=>
import
(
"
@/pages/workbench/yygl/approval_app_detail
"
),
component
:
()
=>
import
(
"
@/pages/workbench/yygl/approval_app_detail
"
),
},
},
],
],
},
// 工作台 - 应用管理模块
},
// 工作台 - 应用管理模块
...
@@ -120,7 +125,8 @@ export default new Router({
...
@@ -120,7 +125,8 @@ export default new Router({
{
{
path
:
"
/shop/space_time_service_list
"
,
// 时空服务列表页
path
:
"
/shop/space_time_service_list
"
,
// 时空服务列表页
name
:
"
shopSpaceTimeList
"
,
name
:
"
shopSpaceTimeList
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_space_time
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_space_time
"
),
},
},
{
{
path
:
"
/shop/video_service_list
"
,
// 视频服务列表页
path
:
"
/shop/video_service_list
"
,
// 视频服务列表页
...
@@ -130,12 +136,14 @@ export default new Router({
...
@@ -130,12 +136,14 @@ export default new Router({
{
{
path
:
"
/shop/perception_service_list
"
,
// 感知服务列表页
path
:
"
/shop/perception_service_list
"
,
// 感知服务列表页
name
:
"
shopPerceptionList
"
,
name
:
"
shopPerceptionList
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_perception
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_perception
"
),
},
},
{
{
path
:
"
/shop/comprehensive_app_list
"
,
// 综合应用列表页
path
:
"
/shop/comprehensive_app_list
"
,
// 综合应用列表页
name
:
"
shopComAppList
"
,
name
:
"
shopComAppList
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_comprehensive_app
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_comprehensive_app
"
),
},
},
{
{
path
:
"
/shop/cloud
"
,
// 云资源服务
path
:
"
/shop/cloud
"
,
// 云资源服务
...
@@ -145,12 +153,14 @@ export default new Router({
...
@@ -145,12 +153,14 @@ export default new Router({
{
{
path
:
"
/shop/service_application_successfully
"
,
// 云资源服务
path
:
"
/shop/service_application_successfully
"
,
// 云资源服务
name
:
"
shopSuccess
"
,
name
:
"
shopSuccess
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/service_application_successfully
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/service_application_successfully
"
),
},
},
{
{
path
:
"
/shop/app_store_list
"
,
// 应用商店列表页
path
:
"
/shop/app_store_list
"
,
// 应用商店列表页
name
:
"
shopAppStoreList
"
,
name
:
"
shopAppStoreList
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_app_store
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_app_store
"
),
},
},
{
{
path
:
"
/shop/shopping_cart
"
,
// 购物车页
path
:
"
/shop/shopping_cart
"
,
// 购物车页
...
@@ -273,6 +283,11 @@ export default new Router({
...
@@ -273,6 +283,11 @@ export default new Router({
name
:
"
usersdetail
"
,
name
:
"
usersdetail
"
,
component
:
()
=>
import
(
"
@/pages/authority/organizationuser
"
),
component
:
()
=>
import
(
"
@/pages/authority/organizationuser
"
),
},
},
{
path
:
"
/authority/users/permission
"
,
// 用户管理页 - 权限审批
name
:
"
users
"
,
component
:
()
=>
import
(
"
@/pages/authority/permission
"
),
},
{
{
path
:
"
/authority/menu
"
,
// 菜单管理页
path
:
"
/authority/menu
"
,
// 菜单管理页
name
:
"
menu
"
,
name
:
"
menu
"
,
...
...
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