Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
founder_vue
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常超
founder_vue
Commits
cce63c11
Commit
cce63c11
authored
Oct 30, 2021
by
米嘉伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_zwpt' of
http://47.92.108.28/changchao/founder_vue
into dev_zwpt
parents
da883ae1
d58281a8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
774 additions
and
264 deletions
+774
-264
src/plugins/axios.js
+8
-6
src/views/Home.vue
+84
-28
src/views/Home/Home.vue
+26
-73
src/views/SystemManage/AuthManage.vue
+173
-3
src/views/SystemManage/GroupManage.vue
+0
-1
src/views/SystemManage/UserManage.vue
+323
-141
src/views/SystemManage/scss/auth.scss
+157
-0
src/views/login/modules/AccountsLogin.vue
+3
-12
No files found.
src/plugins/axios.js
View file @
cce63c11
...
...
@@ -23,6 +23,10 @@ let config = {
// baseURL: process.env.baseURL || process.env.apiUrl || ""
timeout
:
60
*
1000
,
// Timeout
// withCredentials: true, // Check cross-site Access-Control
// Authorization: sessionStorage.getItem("token") || ""
headers
:
{
Authorization
:
localStorage
.
getItem
(
"token"
)
||
""
}
};
const
_axios
=
axios
.
create
(
config
);
...
...
@@ -31,12 +35,10 @@ _axios.interceptors.request.use(
function
(
config
)
{
// 进度条
NProgress
.
start
();
// Do something before request is sent
// let token = store.state.user.token;
let
token
=
localStorage
.
getItem
(
"token"
);
if
(
token
)
{
config
.
headers
.
Authorization
=
token
;
// console.info(config);
// 在发送请求之前做些什么
// 判断是否存在token,如果存在将每个页面header添加token
if
(
sessionStorage
.
getItem
(
"token"
))
{
// config.headers.common["Authorization"] = sessionStorage.getItem("token");
}
return
config
;
},
...
...
src/views/Home.vue
View file @
cce63c11
...
...
@@ -3,19 +3,47 @@
<el-container
class=
"layout-container"
>
<transition
name=
"slide"
>
<el-aside
:width=
"isCollapse ? '4rem' : '17.5rem'"
class=
"aside"
>
<div
class=
"logo"
:class=
"
{ minLogo: isCollapse }" @click="$router.push('/Home/Home')">
<div
class=
"logo"
:class=
"
{ minLogo: isCollapse }"
@click="$router.push('/Home/Home')"
>
<img
class=
"jh"
src=
"../assets/img/Home/jh.png"
alt=
""
/>
<img
v-show=
"!isCollapse"
class=
"title"
src=
"../assets/img/Home/title.png"
alt=
""
/>
<img
v-show=
"!isCollapse"
class=
"title"
src=
"../assets/img/Home/title.png"
alt=
""
/>
</div>
<!--
<div
class=
"search"
>
<el-input
v-if=
"!isCollapse"
@
keyup
.
enter
.
native=
"goSearch()"
class=
"searchTxt"
prefix-icon=
"el-icon-search"
v-model=
"searchTxt"
placeholder=
"搜索"
></el-input>
<i
class=
"search-icon el-icon-search"
v-else
></i>
</div>
-->
<el-menu
:collapse-transition=
"false"
ref=
"menu"
:default-active=
"menuActive"
text-color=
"#CCCCCC"
active-text-color=
"#ffffff"
background-color=
"#1F2D45"
class=
"el-menu-vertical-demo"
@
open=
"handleOpen"
@
close=
"handleClose"
:collapse=
"isCollapse"
@
select=
"selectPath"
>
<el-menu
:collapse-transition=
"false"
ref=
"menu"
:default-active=
"menuActive"
text-color=
"#CCCCCC"
active-text-color=
"#ffffff"
background-color=
"#1F2D45"
class=
"el-menu-vertical-demo"
@
open=
"handleOpen"
@
close=
"handleClose"
:collapse=
"isCollapse"
@
select=
"selectPath"
>
<div
v-for=
"(menu, i) in routes"
:key=
"i"
>
<el-submenu
:index=
"menu.name"
v-if=
"menu.children && !menu.hidden"
>
<el-submenu
:index=
"menu.name"
v-if=
"menu.children && !menu.hidden"
>
<template
slot=
"title"
>
<img
v-if=
"$route.path != menu.path"
:src=
"menu.icon_d"
alt=
""
/>
<img
v-if=
"$route.path != menu.path"
:src=
"menu.icon_d"
alt=
""
/>
<img
v-else
:src=
"menu.icon_a"
alt=
""
/>
<span
v-show=
"!isCollapse"
>
{{
menu
.
meta
.
title
}}
</span>
</
template
>
...
...
@@ -25,8 +53,15 @@
}}
</el-menu-item>
</div>
</el-submenu>
<el-menu-item
:index=
"menu.name"
v-else-if=
"!menu.children && !menu.hidden"
>
<img
v-if=
"$route.path != menu.path"
:src=
"menu.icon_d"
alt=
""
/>
<el-menu-item
:index=
"menu.name"
v-else-if=
"!menu.children && !menu.hidden"
>
<img
v-if=
"$route.path != menu.path"
:src=
"menu.icon_d"
alt=
""
/>
<img
v-else
:src=
"menu.icon_a"
alt=
""
/>
<span
slot=
"title"
>
{{ menu.meta.title }}
</span>
</el-menu-item>
...
...
@@ -53,8 +88,18 @@
</div>
<div
class=
"quit"
@
click=
"$router.push('/Home/Home')"
></div>
<div
class=
"logout"
@
click=
"logout"
>
<svg-icon
v-show=
"!isHoverLogout"
icon-class=
"logout_d"
class=
"icon"
@
mouseover=
"isHoverLogout = true"
@
mouseleave=
"isHoverLogout = false"
/>
<svg-icon
v-show=
"isHoverLogout"
icon-class=
"logout_a"
class=
"icon"
/>
<svg-icon
v-show=
"!isHoverLogout"
icon-class=
"logout_d"
class=
"icon"
@
mouseover=
"isHoverLogout = true"
@
mouseleave=
"isHoverLogout = false"
/>
<svg-icon
v-show=
"isHoverLogout"
icon-class=
"logout_a"
class=
"icon"
/>
</div>
</div>
</el-header>
...
...
@@ -62,10 +107,20 @@
<div
class=
"contain"
>
<!-- 导航 -->
<div
class=
"breadcrumb"
>
<div
@
click=
"goManager"
class=
"home-path path"
:class=
"{ active: $route.path == '/Home/htzwcj' }"
>
<div
@
click=
"goManager"
class=
"home-path path"
:class=
"{ active: $route.path == '/Home/htzwcj' }"
>
活体指纹采集
</div>
<div
class=
"path"
@
click=
"changeRouter(item)"
v-for=
"(item, i) in paths"
:key=
"i"
:class=
"{ active: $route.path == item.path }"
>
<div
class=
"path"
@
click=
"changeRouter(item)"
v-for=
"(item, i) in paths"
:key=
"i"
:class=
"{ active: $route.path == item.path }"
>
<span>
{{ item.name }}
</span>
<div
class=
"closeIcon"
@
click
.
stop=
"closePaths(item.name)"
>
×
...
...
@@ -88,14 +143,14 @@
</template>
<
script
>
import
zoom
from
'@/utils/autosize'
import
zoom
from
"@/utils/autosize"
;
import
"@/icons/logout_d.svg"
;
import
"@/icons/logout_a.svg"
;
import
indexRoutes
from
"@/router/modules/index"
;
import
{
mapGetters
}
from
"vuex"
;
export
default
{
name
:
"Home"
,
data
()
{
data
()
{
return
{
searchTxt
:
""
,
routes
:
indexRoutes
[
2
].
children
,
...
...
@@ -107,8 +162,8 @@ export default {
isHoverLogout
:
false
};
},
created
()
{
},
mounted
()
{
created
()
{
},
mounted
()
{
this
.
menuActive
=
this
.
$route
.
name
;
// console.log(this.$route);
// zoom('home')
...
...
@@ -116,7 +171,7 @@ export default {
// zoom('home')
// })
},
updated
()
{
updated
()
{
this
.
menuActive
=
this
.
$route
.
name
;
},
computed
:
{
...
...
@@ -129,13 +184,14 @@ export default {
* @return {*}
*/
logout
()
{
logout
()
{
// console.log('退出登录');
// this.$router.replace('/login1')
this
.
$axios
.
post
(
"/login/login/userLogout"
).
then
(
res
=>
{
if
(
res
.
data
.
code
===
200
)
{
localStorage
.
removeItem
(
"token"
);
//删除名称为“token”的信息。
localStorage
.
removeItem
(
"userName"
);
//删除名称为“userName”的信息。
this
.
$router
.
replace
(
"/login1"
);
localStorage
.
removeItem
(
"token"
);
this
.
$message
.
info
(
"退出成功!"
);
}
});
...
...
@@ -146,7 +202,7 @@ export default {
* @return {*}
*/
goSearch
()
{
goSearch
()
{
this
.
searchTxt
=
""
;
console
.
log
(
this
.
searchTxt
);
},
...
...
@@ -155,7 +211,7 @@ export default {
* @param {*}
* @return {*}
*/
goManager
()
{
goManager
()
{
this
.
$router
.
push
(
"/Home/htzwcj"
);
this
.
menuActive
=
""
;
},
...
...
@@ -165,7 +221,7 @@ export default {
* @param {*} path
* @return {*}
*/
selectPath
(
index
,
path
)
{
selectPath
(
index
,
path
)
{
this
.
$router
.
push
({
name
:
index
});
},
/**
...
...
@@ -173,7 +229,7 @@ export default {
* @param {*}
* @return {*}
*/
closePaths
(
pathName
)
{
closePaths
(
pathName
)
{
let
res
=
this
.
paths
.
filter
(
item
=>
{
return
item
.
name
!=
pathName
;
});
...
...
@@ -189,7 +245,7 @@ export default {
* @param {*}
* @return {*}
*/
changeRouter
(
route
)
{
changeRouter
(
route
)
{
this
.
$router
.
push
(
route
.
path
);
this
.
menuActive
=
route
.
routeName
;
},
...
...
@@ -198,18 +254,18 @@ export default {
* @param {*}
* @return {*}
*/
switchCollapse
()
{
switchCollapse
()
{
this
.
isCollapse
=
!
this
.
isCollapse
;
},
handleOpen
(
key
,
keyPath
)
{
handleOpen
(
key
,
keyPath
)
{
console
.
log
(
key
,
keyPath
);
},
handleClose
(
key
,
keyPath
)
{
handleClose
(
key
,
keyPath
)
{
console
.
log
(
key
,
keyPath
);
}
},
watch
:
{
$route
(
newValue
,
oldValue
)
{
$route
(
newValue
,
oldValue
)
{
if
(
newValue
.
path
!=
"/Home/htzwcj"
)
{
if
(
this
.
paths
.
length
==
0
)
{
this
.
paths
.
push
({
...
...
@@ -235,7 +291,7 @@ export default {
<
style
scoped
lang=
"scss"
>
#home
{
height
:
100vh
;
//
height
:
100%
;
//
height
:
100%
;
//
filter
:
blur
(
5px
);
}
.layout-container
{
...
...
src/views/Home/Home.vue
View file @
cce63c11
...
...
@@ -4,29 +4,17 @@
<div
class=
"header"
>
<!-- 头部左侧 -->
<div
class=
"left"
>
<div><img
src=
"../../assets/img/Home/badges.png"
alt=
""
/></div>
<div><img
src=
"../../assets/img/Home/badges.png"
alt=
""
/></div>
<span><img
src=
"../../assets/img/Home/logo.svg"
alt=
""
/></span>
<span><img
src=
"../../assets/img/Home/logo.svg"
alt=
""
/></span>
</div>
<!-- 头部右侧 -->
<div
class=
"right"
>
<div>
<img
src=
"../../assets/img/Home/setting.svg"
alt=
""
/>
系统管理
<img
src=
"../../assets/img/Home/setting.svg"
alt=
""
/>
系统管理
</div>
<div
class=
"role"
>
<img
src=
"../../assets/img/Home/role.svg"
alt=
""
/>
用户角色
<img
src=
"../../assets/img/Home/role.svg"
alt=
""
/>
用户角色
<div
class=
"rolelist"
>
<ul>
<li>
姓名:xxxx
</li>
...
...
@@ -36,11 +24,8 @@
</div>
</div>
<div
@
click=
"logout"
>
<img
src=
"../../assets/img/Home/exit.svg"
alt=
""
/>
安全退出
<div
style=
"cursor:pointer"
@
click=
"logout"
>
<img
src=
"../../assets/img/Home/exit.svg"
alt=
""
/>
安全退出
</div>
</div>
<!-- 主体 -->
...
...
@@ -51,10 +36,7 @@
<div
class=
"todoview"
>
<div
class=
"todo"
>
<div>
<img
src=
"../../assets/img/Home/todoview.svg"
alt=
""
/>
<img
src=
"../../assets/img/Home/todoview.svg"
alt=
""
/>
</div>
<p>
待办工作
</p>
</div>
...
...
@@ -76,50 +58,26 @@
<!-- 第一列 -->
<div
class=
"list l1"
>
<div
class=
"import_images"
>
<img
src=
"../../assets/img/Home/import_images.svg"
alt=
""
/>
<img
src=
"../../assets/img/Home/import_images.svg"
alt=
""
/>
<div>
图片导入
</div>
</div>
<div
@
click=
"godrFPTX"
class=
"import_FTP"
>
<img
src=
"../../assets/img/Home/import_FTP.svg"
alt=
""
/>
<div
@
click=
"godrFPTX"
class=
"import_FTP"
>
<img
src=
"../../assets/img/Home/import_FTP.svg"
alt=
""
/>
<div>
导入FPTX
</div>
</div>
</div>
<!-- 第二列 -->
<div
class=
"list l2"
@
click=
"gosjzygl"
>
<img
src=
"../../assets/img/Home/query.svg"
alt=
""
/>
<div
class=
"list l2"
@
click=
"gosjzygl"
>
<img
src=
"../../assets/img/Home/query.svg"
alt=
""
/>
<p>
发查询
</p>
</div>
<!-- 第三列 -->
<div
@
click=
"gobdrd"
class=
"list l2 l3"
>
<img
src=
"../../assets/img/Home/comparison.svg"
alt=
""
/>
<div
@
click=
"gobdrd"
class=
"list l2 l3"
>
<img
src=
"../../assets/img/Home/comparison.svg"
alt=
""
/>
<p>
比对认定
</p>
</div>
<!-- 第四列 -->
<div
@
click=
"gozzwcj"
class=
"list l1 l4"
>
<div
@
click=
"gozzwcj"
class=
"list l1 l4"
>
<div
class=
"import_images collect"
>
<img
src=
"../../assets/img/Home/collect_new.svg"
...
...
@@ -128,14 +86,8 @@
/>
<div>
活体采集
</div>
</div>
<div
@
click=
"gosjzygl"
class=
"import_FTP management"
>
<img
src=
"../../assets/img/Home/management.svg"
alt=
""
/>
<div
@
click=
"gosjzygl"
class=
"import_FTP management"
>
<img
src=
"../../assets/img/Home/management.svg"
alt=
""
/>
<div>
数据资源管理
</div>
</div>
</div>
...
...
@@ -150,29 +102,30 @@ import qs from "qs";
export
default
{
name
:
"Home"
,
data
()
{
data
()
{
return
{
userInfo
:
{
userName
:
"admin"
,
passWord
:
"123456"
}
};
},
methods
:
{
godrFPTX
()
{
this
.
$router
.
push
(
"/drFPTX"
)
godrFPTX
()
{
this
.
$router
.
push
(
"/drFPTX"
)
;
},
gobdrd
()
{
gobdrd
()
{
this
.
$router
.
push
(
"/cxyrd"
);
},
gosjzygl
()
{
gosjzygl
()
{
this
.
$router
.
push
(
"/AllPersonnelBaseIndex/"
);
},
gozzwcj
()
{
gozzwcj
()
{
// this.$router.push("/AllPersonnelBaseIndex");
},
logout
()
{
logout
()
{
this
.
$axios
.
post
(
"/login/login/userLogout"
).
then
(
res
=>
{
if
(
res
.
data
.
code
===
200
)
{
localStorage
.
removeItem
(
"token"
);
//删除名称为“token”的信息。
localStorage
.
removeItem
(
"userName"
);
//删除名称为“userName”的信息。
this
.
$router
.
replace
(
"/login1"
);
localStorage
.
removeItem
(
"token"
);
this
.
$message
.
info
(
"退出成功!"
);
}
});
...
...
src/views/SystemManage/AuthManage.vue
View file @
cce63c11
<
template
>
<div>
权限管理
</div>
<el-container
class=
"manage-page"
direction=
"vertical"
>
<!--权限管理-->
<dvi
class=
"header"
>
<div
class=
"btns"
>
<div
class=
"btn"
:class=
"
{ active: isUser }" @click="getUser">
用户列表
</div>
<div
class=
"btn"
:class=
"
{ active: isGroup }" @click="getGroup">
用户组列表
</div>
</div>
</dvi
><br
/>
<div
class=
"search"
>
<div
class=
"search-item"
>
<div
class=
"label"
>
用户组:
</div>
<div
class=
"input"
>
请输入并选择
</div>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
用户名:
</div>
<div
class=
"input"
>
请输入并选择
</div>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
姓名:
</div>
<div
class=
"input"
>
请输入并选择
</div>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
用户所属单位代码:
</div>
<div
class=
"input"
>
请输入并选择
</div>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
组角色:
</div>
<div
class=
"input"
>
请输入并选择
</div>
</div>
<div
class=
"btns"
>
<div
class=
"btn-clear"
>
清空
</div>
<div
class=
"btn-search"
>
筛选用户组
</div>
</div>
</div>
<div
class=
"main"
>
<div
v-if=
"isUser"
class=
"user"
>
<el-table
height=
"720"
highlight-current-row
ref=
"userMultipleTable"
:data=
"userTableData"
class=
"table"
@
selection-change=
"userHandleSelectionChange"
>
<el-table-column
prop=
"date"
label=
"用户名"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"姓名"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"警号"
>
</el-table-column
><el-table-column
prop=
"date"
label=
"用户组"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"所属单位"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"角色"
>
</el-table-column
><el-table-column
prop=
"date"
label=
"权限"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"启用状态"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"操作"
></el-table-column>
</el-table>
</div>
<div
v-if=
"isGroup"
class=
"group"
>
<el-table
height=
"720"
highlight-current-row
ref=
"groupMultipleTable"
:data=
"groupTableData"
class=
"table"
@
selection-change=
"groupHandleSelectionChange"
>
<el-table-column
prop=
"date"
label=
"用户组"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"组角色"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"组成员"
>
</el-table-column>
<el-table-column
prop=
"date"
label=
"启用状态"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"操作"
></el-table-column>
</el-table>
</div>
</div>
<div
class=
"footer"
>
<span
class=
"count"
>
共
{{
reqParam
.
page
.
total
}}
条记录 第
{{
reqParam
.
page
.
currPage
}}
/
{{
Tpage
}}
页
</span
>
<div
class=
"page"
>
<el-pagination
class=
"paging"
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrPageChange"
:current-page=
"reqParam.page.currPage"
:page-sizes=
"[10, 20, 50, 100]"
:page-size=
"reqParam.page.pageSize"
layout=
"prev, pager, next"
:total=
"reqParam.page.total"
>
</el-pagination>
</div>
</div>
</el-container>
</
template
>
<
script
>
export
default
{
name
:
"AuthManage"
name
:
"AuthManage"
,
data
()
{
return
{
reqParam
:
{
userdesc
:
""
,
page
:
{
total
:
0
,
pageSize
:
10
,
currPage
:
1
}
},
isUser
:
false
,
isGroup
:
false
,
userTableData
:
[],
groupTableData
:
[],
// 选中user的数据
userMultipleSelection
:
[],
// 选中group的数据
groupMultipleSelection
:
[]
};
},
computed
:
{
// 计算总页数
Tpage
()
{
return
(
Math
.
floor
(
this
.
reqParam
.
page
.
total
/
this
.
reqParam
.
page
.
pageSize
)
+
1
);
}
},
methods
:
{
getUser
()
{
this
.
isUser
=
true
;
this
.
isGroup
=
false
;
},
getGroup
()
{
this
.
isUser
=
false
;
this
.
isGroup
=
true
;
},
// 选择数据
userHandleSelectionChange
(
val
)
{
this
.
userMultipleSelection
=
val
;
console
.
info
(
"选择的数据"
,
this
.
userMultipleSelection
);
if
(
this
.
userMultipleSelection
.
length
)
{
this
.
isShowTip
=
true
;
}
else
{
this
.
isShowTip
=
false
;
}
},
// 选择数据
groupHandleSelectionChange
(
val
)
{
this
.
groupMultipleSelection
=
val
;
console
.
info
(
"选择的数据"
,
this
.
groupMultipleSelection
);
if
(
this
.
groupMultipleSelection
.
length
)
{
this
.
isShowTip
=
true
;
}
else
{
this
.
isShowTip
=
false
;
}
},
// 当期页发生变化
handleCurrPageChange
:
function
(
val
)
{
this
.
reqParam
.
page
.
currPage
=
val
;
// this.search();
},
// 每页展示数量发生变化
handleSizeChange
:
function
(
val
)
{
this
.
reqParam
.
page
.
pageSize
=
val
;
// this.search();
}
},
mounted
()
{
this
.
isUser
=
true
;
}
};
</
script
>
<
style
scoped
></
style
>
<
style
scoped
lang=
"scss"
>
@import
"scss/auth.scss"
;
</
style
>
src/views/SystemManage/GroupManage.vue
View file @
cce63c11
...
...
@@ -103,7 +103,6 @@
<el-table-column
prop=
"address"
label=
"组成员"
>
</el-table-column
><el-table-column
prop=
"date"
label=
"启用状态"
width=
"100"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"操作"
></el-table-column>
</el-table>
</div>
...
...
src/views/SystemManage/UserManage.vue
View file @
cce63c11
...
...
@@ -8,7 +8,7 @@
<div
class=
"label"
>
用户名:
</div>
<el-input
class=
"search-info"
v-model=
"username"
v-model=
"
searchParams.
username"
placeholder=
"请输入用户名"
></el-input>
</div>
...
...
@@ -16,75 +16,70 @@
<div
class=
"label"
>
姓名:
</div>
<el-select
class=
"search-info"
v-model=
"
valu
e"
v-model=
"
searchParams.truenam
e"
placeholder=
"请输入并选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<!--
<el-option-->
<!-- -->
<!-- >-->
<!--
</el-option>
-->
</el-select>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
用户组:
</div>
<el-select
class=
"search-info"
v-model=
"
value
"
v-model=
"
searchParams.usergroup
"
placeholder=
"请输入并选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<!--
<el-option-->
<!-- -->
<!-- >-->
<!--
</el-option>
-->
</el-select>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
单位代码:
</div>
<el-select
class=
"search-info"
v-model=
"
valu
e"
v-model=
"
searchParams.unitcod
e"
placeholder=
"请输入并选择"
>
<
el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
<
/el-option
>
<
!--
<el-option-->
<!-- v-for="item in options"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- >--
>
<
!--
</el-option>
--
>
</el-select>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
角色:
</div>
<el-select
class=
"search-info"
v-model=
"
valu
e"
v-model=
"
searchParams.rol
e"
placeholder=
"请输入并选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
label=
"1"
value=
"1"
>
</el-option>
<!--
<el-option-->
<!-- v-for="item in options"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- >-->
<!--
</el-option>
-->
</el-select>
</div>
<div
class=
"search-item"
>
<div
class=
"label"
>
权限:
</div>
<el-input
class=
"search-info"
v-model=
"auth"
v-model=
"
searchParams.
auth"
placeholder=
"请输入权限"
></el-input>
</div>
<div
class=
"btn"
>
筛选用户
</div>
<div
class=
"btn"
@
click=
"search"
>
筛选用户
</div>
</div>
<div
class=
"operation"
>
<div
class=
"btn1"
@
click=
"batch"
>
批量操作
</div>
...
...
@@ -126,42 +121,56 @@
>
<el-table-column
type=
"selection"
height
width=
"auto"
v-if=
"isSelected"
>
</el-table-column>
<el-table-column
prop=
"date"
label=
"用户名"
width=
"100"
>
<el-table-column
prop=
"username"
label=
"用户名"
width=
"150"
>
</el-table-column>
<el-table-column
prop=
"truename"
label=
"姓名"
width=
"150"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"姓名"
width=
"100"
>
<el-table-column
prop=
"policemanid"
label=
"警号"
width=
"150"
>
</el-table-column
><el-table-column
prop=
"group"
label=
"用户组"
width=
"300"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"警号"
>
</el-table-column
><el-table-column
prop=
"date"
label=
"用户组"
width=
"100"
>
<el-table-column
prop=
"unitname"
label=
"所属单位"
width=
"210"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"所属单位"
width=
"180"
>
<el-table-column
prop=
"roleName"
label=
"角色"
width=
"420"
>
</el-table-column
><el-table-column
prop=
"groupid_list"
label=
"权限"
width=
"250"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"角色"
>
</el-table-column
><el-table-column
prop=
"date"
label=
"权限"
width=
"180"
>
<el-table-column
prop=
"status"
label=
"启用状态"
width=
"200"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"启用状态"
width=
"100"
>
<el-table-column
prop=
"active"
label=
"操作"
>
<img
style=
"width: 18px;height: 18px;margin-right: 18px;cursor: pointer"
src=
"../../assets/img/qbryk/bj.png"
@
click=
"edit"
/>
<img
style=
"width: 18px;height: 18px;cursor: pointer"
src=
"../../assets/img/qbryk/del.png"
@
click=
"del"
/>
</el-table-column>
<el-table-column
prop=
"address"
label=
"操作"
></el-table-column>
</el-table>
</div>
<div
class=
"footer"
>
<
span
class=
"count"
>
共
{{
reqParam
.
page
.
total
}}
条记录 第
{{
reqParam
.
page
.
currPage
}}
/
{{
Tpage
}}
页
</span
>
<
!--
<span
class=
"count"
--
>
<!-- >共
{{
searchParams
.
page
.
total
}}
条记录 第
{{
-->
<!--
searchParams
.
page
.
page
-->
<!--
}}
/
{{
Tpage
}}
页
</span-->
<!-- >--
>
<div
class=
"page"
>
<el-pagination
class=
"paging"
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrPageChange"
:current-page=
"reqParam.page.currPage"
:page-sizes=
"[10, 20, 50, 100]"
:page-size=
"reqParam.page.pageSize"
layout=
"prev, pager, next"
:total=
"reqParam.page.total"
>
</el-pagination>
<!-- :current-page="searchParams.page.currPage"-->
<!--
<el-pagination-->
<!-- class="paging"-->
<!-- background-->
<!-- @size-change="handleSizeChange"-->
<!-- @current-change="handleCurrPageChange"-->
<!-- :page-sizes="[10, 20, 50, 100]"-->
<!-- :page-size="searchParams.page.pageSize"-->
<!-- layout="prev, pager, next"-->
<!-- :total="searchParams.page.total"-->
<!-- >-->
<!--
</el-pagination>
-->
</div>
</div>
<!-- 新增弹窗-->
...
...
@@ -180,73 +189,107 @@
<div
class=
"info"
>
<div
class=
"info-item"
>
<div
class=
"label"
>
*用户名:
</div>
<el-input
class=
"input-info"
placeholder=
"请输入用户名"
></el-input>
<el-input
class=
"input-info"
placeholder=
"请输入用户名"
v-model=
"addParams.username"
></el-input>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
姓名:
</div>
<el-input
class=
"input-info"
placeholder=
"请输入姓名"
></el-input>
<el-input
class=
"input-info"
placeholder=
"请输入姓名"
v-model=
"addParams.truename"
></el-input>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
所属单位代码:
</div>
<el-select
class=
"input-info"
placeholder=
"请选择所属单位代码"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<el-input
class=
"input-info"
placeholder=
"请输入姓名"
v-model=
"addParams.unitcode"
></el-input>
<!--
<el-select
class=
"input-info"
placeholder=
"请选择所属单位代码"
>
-->
<!--
<el-option-->
<!-- v-for="item in options"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- >-->
<!--
</el-option>
-->
<!--
</el-select>
-->
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
所属单位:
</div>
<el-input
class=
"input-info"
placeholder=
"请输入所属单位"
></el-input>
<el-input
class=
"input-info"
placeholder=
"请输入所属单位"
v-model=
"addParams.unitname"
></el-input>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
用户警号:
</div>
<el-input
class=
"input-info"
placeholder=
"请输入用户警号"
></el-input>
<el-input
class=
"input-info"
placeholder=
"请输入用户警号"
v-model=
"addParams.policemanid"
></el-input>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
密码:
</div>
<el-input
class=
"input-info"
placeholder=
"请输入密码"
></el-input>
<el-input
class=
"input-info"
placeholder=
"请输入密码"
v-model=
"addParams.password"
></el-input>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
确认密码:
</div>
<el-input
class=
"input-info"
placeholder=
"请确认密码"
></el-input>
<el-input
class=
"input-info"
placeholder=
"请确认密码"
v-model=
"addParams.okpassword"
></el-input>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
手机号码:
</div>
<el-input
class=
"input-info"
placeholder=
"请输入手机号码"
></el-input>
<el-input
class=
"input-info"
placeholder=
"请输入手机号码"
v-model=
"addParams.telphone"
></el-input>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
加入用户组:
</div>
<
el-select
class=
"input-info"
placeholder=
"请选择用户组"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
>
<
/el-select
>
<
!--
<el-select
class=
"input-info"
placeholder=
"请选择用户组"
>
--
>
<!-- <!–
<el-option
&
ndash
;&
gt
;
--
>
<!-- <!– v-for="item in options"–>-->
<!-- <!– :key="item.value"–>-->
<!-- <!– :label="item.label"–>-->
<!-- <!– :value="item.value"–>-->
<!-- <!– >–>--
>
<!-- <!–
</el-option>
–>
--
>
<
!--
</el-select>
--
>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
加入角色:
</div>
<
el-select
class=
"input-info"
placeholder=
"请选择角色"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
>
<
/el-select
>
<
!--
<el-select
class=
"input-info"
placeholder=
"请选择角色"
>
--
>
<!-- <!–
<el-option
&
ndash
;&
gt
;
--
>
<!-- <!– v-for="item in options"–>-->
<!-- <!– :key="item.value"–>-->
<!-- <!– :label="item.label"–>-->
<!-- <!– :value="item.value"–>-->
<!-- <!– >–>--
>
<!-- <!–
</el-option>
–>
--
>
<
!--
</el-select>
--
>
</div>
<div
class=
"info-item"
>
<div
class=
"label"
>
启用状态:
</div>
<el-radio-group
class=
"radio-info"
v-model=
"status"
v-model=
"
user.
status"
@
change=
"searchStyle"
>
<el-radio
:label=
"0"
>
启用
</el-radio>
...
...
@@ -268,20 +311,75 @@ export default {
name
:
"UserManage"
,
data
()
{
return
{
username
:
""
,
userdesc
:
""
,
unitcode
:
""
,
auth
:
""
,
status
:
""
,
searchOptions
:
""
,
reqParam
:
{
userdesc
:
""
,
user
:
{
userId
:
""
,
// 主见
username
:
""
,
//用户名
password
:
""
,
//密码
truename
:
""
,
//用户真实姓名
policemanid
:
""
,
//警号
identitycard
:
""
,
//身份证号
sex
:
""
,
//性别
birthday
:
""
,
//出生日期
telphone
:
""
,
//用户电话
unitcode
:
""
,
//单位代码
unitname
:
""
,
//单位名称
remark
:
""
,
groupid_coll
:
""
,
//权限组id
groupid_list
:
""
,
groupid_edit
:
""
,
groupid_admin
:
""
,
grade
:
""
,
ip
:
""
,
/**角色的id合集*/
roleId
:
""
,
/**角色的name合集*/
roleName
:
""
,
status
:
""
,
//状态:1正常 0禁用
lrr
:
""
,
lrsj
:
""
,
lrdwdm
:
""
,
lrdwmc
:
""
,
gxr
:
""
,
gxsj
:
""
,
gxdwdm
:
""
,
gxdwmc
:
""
,
scbz
:
""
,
page
:
""
,
//页码
total
:
""
//当页总条数
},
// 搜索对象
searchParams
:
{
username
:
""
,
truename
:
""
,
usergroup
:
""
,
unitcode
:
""
,
role
:
""
,
auth
:
""
,
page
:
{
total
:
0
,
pageSize
:
10
,
currPage
:
1
page
:
1
,
total
:
10
}
},
// 新增对象
addParams
:
{
username
:
""
,
//用户名
password
:
""
,
//密码
okpassword
:
""
,
// 确认密码
truename
:
""
,
//用户真实姓名
policemanid
:
""
,
//警号
telphone
:
""
,
//用户电话
unitcode
:
""
,
//单位代码
unitname
:
""
//单位名称
},
searchOptions
:
""
,
// reqParam: {
// userdesc: "",
// page: {
// total: 0,
// pageSize: 10,
// currPage: 1
// }
// },
// 选中数据
multipleSelection
:
[],
isShowTip
:
false
,
//批量操作提示
...
...
@@ -290,28 +388,8 @@ export default {
isShowAddUserDialogBg
:
false
,
// 是否展示认定完成确认框
isShowAddUserDialog
:
false
,
tableData
:
[
{
date
:
"2016-05-02"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
},
{
date
:
"2016-05-04"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1517 弄"
},
{
date
:
"2016-05-01"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1519 弄"
},
{
date
:
"2016-05-03"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1516 弄"
}
],
// tableData: [],
tableData
:
data1
,
options
:
[
{
value
:
"选项1"
,
...
...
@@ -333,15 +411,14 @@ export default {
value
:
"选项5"
,
label
:
"北京烤鸭"
}
],
value
:
""
]
};
},
computed
:
{
// 计算总页数
Tpage
()
{
return
(
Math
.
floor
(
this
.
reqParam
.
page
.
total
/
this
.
reqParam
.
page
.
pageSiz
e
)
+
1
Math
.
floor
(
this
.
searchParams
.
page
.
total
/
this
.
search
.
page
.
pag
e
)
+
1
);
}
},
...
...
@@ -349,6 +426,28 @@ export default {
clear
()
{
console
.
info
(
"清空方法"
);
},
search
()
{
console
.
info
(
"搜索用户列表"
);
var
user
=
new
URLSearchParams
();
user
.
append
(
"username"
,
this
.
searchParams
.
username
);
user
.
append
(
"truename"
,
this
.
searchParams
.
truename
);
// user.append("usergroup", this.searchParams.usergroup); // 警号
user
.
append
(
"unitcode"
,
this
.
searchParams
.
unitcode
);
user
.
append
(
"role"
,
this
.
searchParams
.
role
);
user
.
append
(
"page"
,
this
.
searchParams
.
page
.
page
);
user
.
append
(
"total"
,
this
.
searchParams
.
page
.
total
);
this
.
$axios
.
post
(
"/login/user/queryUserList"
,
user
)
.
then
(
res
=>
{
console
.
log
(
res
);
})
.
catch
(
failResponse
=>
{});
// 做查询时 user.append("page","1");
// user.append("total","20");这两个参数必填
// 修改删除时,userid必填
},
// 搜索方式
searchStyle
(
val
)
{
// console.log(val, '搜索方式')
...
...
@@ -369,7 +468,7 @@ export default {
// 选择数据
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
console
.
info
(
this
.
multipleSelection
);
console
.
info
(
"选择的数据"
,
this
.
multipleSelection
);
if
(
this
.
multipleSelection
.
length
)
{
this
.
isShowTip
=
true
;
}
else
{
...
...
@@ -381,15 +480,15 @@ export default {
this
.
isSelected
=
!
this
.
isSelected
;
},
// 当期页发生变化
handleCurrPageChange
:
function
(
val
)
{
this
.
reqParam
.
page
.
currPage
=
val
;
// this.search();
},
//
handleCurrPageChange: function(val) {
// this.searchParams.page.total
= val;
//
// this.search();
//
},
// 每页展示数量发生变化
handleSizeChange
:
function
(
val
)
{
this
.
reqParam
.
page
.
pageSize
=
val
;
// this.search();
},
//
handleSizeChange: function(val) {
//
this.reqParam.page.pageSize = val;
//
// this.search();
//
},
// 打开新增弹窗
open
()
{
this
.
isShowAddUserDialog
=
true
;
...
...
@@ -404,10 +503,93 @@ export default {
add
()
{
this
.
isShowAddUserDialog
=
false
;
this
.
isShowAddUserDialogBg
=
false
;
var
user
=
new
URLSearchParams
();
user
.
append
(
"username"
,
this
.
addParams
.
username
);
user
.
append
(
"username"
,
this
.
addParams
.
truename
);
user
.
append
(
"username"
,
this
.
addParams
.
unitname
);
user
.
append
(
"username"
,
this
.
addParams
.
unitcode
);
user
.
append
(
"truename"
,
this
.
addParams
.
password
);
// user.append("truename", this.addParams.okpassword);
user
.
append
(
"truename"
,
this
.
addParams
.
policemanid
);
user
.
append
(
"truename"
,
this
.
addParams
.
telphone
);
// user.append("usergroup", this.searchParams.usergroup); // 警号
user
.
append
(
"role"
,
this
.
addParams
.
role
);
// user.append("page", this.addParams.page.page);
// user.append("total", this.addParams.page.total);
console
.
info
(
this
.
addParams
);
console
.
info
(
user
);
this
.
$axios
.
post
(
"/login/user/saveuser"
,
user
)
.
then
(
res
=>
{
console
.
log
(
res
);
})
.
catch
(
failResponse
=>
{});
this
.
$message
.
success
(
"新增成功!"
);
},
edit
()
{
console
.
info
(
"编辑方法"
);
},
del
()
{
console
.
info
(
"删除方法"
);
}
},
mounted
()
{
this
.
search
();
}
};
const
data1
=
[
{
username
:
"116755"
,
truename
:
"张三"
,
policemanid
:
"000000"
,
group
:
"湖南省长沙市派出所..."
,
unitname
:
"长沙市公安局"
,
roleName
:
[
"高级质量检查员"
,
"档案信息录入员"
,
"录入员"
],
status
:
1
,
groupid_list
:
[
"指纹采集"
,
"指纹编辑"
]
},
{
username
:
"116755"
,
truename
:
"李四"
,
policemanid
:
"000000"
,
group
:
"湖南省长沙市派出所..."
,
unitname
:
"长沙市公安局"
,
roleName
:
[
"高级质量检查员"
,
"档案信息录入员"
,
"录入员"
],
status
:
0
,
groupid_list
:
[
"指纹采集"
,
"指纹编辑"
]
},
{
username
:
"116755"
,
truename
:
"张三"
,
policemanid
:
"000000"
,
group
:
"湖南省长沙市派出所..."
,
unitname
:
"长沙市公安局"
,
roleName
:
[
"高级质量检查员"
,
"档案信息录入员"
,
"录入员"
],
status
:
0
,
groupid_list
:
[
"指纹采集"
,
"指纹编辑"
]
},
{
username
:
"116755"
,
truename
:
"李四"
,
policemanid
:
"000000"
,
group
:
"湖南省长沙市派出所..."
,
unitname
:
"长沙市公安局"
,
roleName
:
[
"高级质量检查员"
,
"录入员"
],
status
:
1
,
groupid_list
:
[
"指纹采集"
,
"指纹编辑"
]
},
{
username
:
"116755"
,
truename
:
"张三"
,
policemanid
:
"000000"
,
group
:
"湖南省长沙市派出所..."
,
unitname
:
"长沙市公安局"
,
roleName
:
[
"高级质量检查员"
,
"档案信息录入员"
,
"录入员"
],
status
:
0
,
groupid_list
:
[
"指纹采集"
,
"指纹编辑"
]
}
];
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"scss/user"
;
...
...
src/views/SystemManage/scss/auth.scss
0 → 100644
View file @
cce63c11
.manage-page
{
width
:
100%
;
padding
:
24px
;
font-family
:
MicrosoftYaHei
;
div
{
display
:
inline-block
;
}
.header
{
width
:
100%
;
.btns
{
width
:
260px
;
height
:
40px
;
.btn
{
text-align
:
center
;
width
:
129px
;
height
:
32px
;
font-size
:
14px
;
color
:
#282F3C
;
background
:
#F6F8FA
;
border-radius
:
2px
;
line-height
:
32px
;
cursor
:
pointer
;
&
.active
{
background
:
#055FE7
;
color
:
#FFFFFF
;
}
}
}
}
.search
{
width
:
100%
;
height
:
58px
;
border-bottom
:
1px
solid
#EEEEEE
;
padding-top
:
10px
;
margin-bottom
:
10px
;
display
:
flex
;
flex-direction
:
row
;
.search-item
{
width
:
auto
;
margin-right
:
17px
;
.label
{
width
:
auto
;
height
:
22px
;
font-size
:
14px
;
color
:
#333333
;
line-height
:
22px
;
margin-right
:
5px
;
}
.input
{
width
:
156px
;
height
:
32px
;
background
:
#FFFFFF
;
border-radius
:
4px
;
border
:
1px
solid
#E6E6E8
;
}
}
.btns
{
width
:
180px
;
position
:
absolute
;
right
:
24px
;
text-align
:
center
;
.btn-clear
{
width
:
50px
;
height
:
23px
;
font-size
:
14px
;
color
:
#055FE7
;
line-height
:
23px
;
cursor
:
pointer
;
}
.btn-search
{
width
:
110px
;
height
:
32px
;
font-size
:
14px
;
color
:
#FFFFFF
;
line-height
:
32px
;
background
:
#055FE7
;
border-radius
:
4px
;
margin-left
:
10px
;
cursor
:
pointer
;
}
}
}
.main
{
.user
{
width
:
1550px
;
height
:
700px
;
}
.group
{
width
:
100%
;
height
:
700px
;
}
}
.footer
{
width
:
1544px
;
//width: calc(100vw - 367px);
position
:
absolute
;
bottom
:
27px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
align-items
:
center
;
.count
{
font-size
:
14px
;
font-family
:
MicrosoftYaHei
;
color
:
#666666
;
}
.paging
{
float
:
right
;
}
/
deep
/
.el-pager
{
.number
{
background-color
:
transparent
;
}
.number.active
{
background-color
:
#055fe7
!
important
;
box-shadow
:
0px
12px
16px
1px
rgba
(
0
,
21
,
51
,
0
.03
);
border-radius
:
6px
;
}
.el-icon.more.btn-quicknext.el-icon-more
,
.el-icon.more.btn-quickprev.el-icon-more
{
background-color
:
transparent
!
important
;
}
}
/
deep
/
.btn-prev
,
/
deep
/
.btn-next
{
background-color
:
transparent
!
important
;
}
/
deep
/
.el-pagination__sizes
{
position
:
absolute
;
right
:
0
;
}
/
deep
/
.btn-next
{
//margin-right: 120px !important;
}
}
//表格表头样式
/
deep
/
.el-table
th
,
.el-table
tr
{
height
:
48px
;
background
:
#f6f8fa
;
font-size
:
14px
;
color
:
#282f3c
;
}
//表格内容样式
/
deep
/
.el-table
td
,
.el-table
tr
{
height
:
55px
;
background
:
#ffffff
;
font-size
:
14px
;
color
:
#333333
;
padding
:
0
;
font-weight
:
400
;
}
}
\ No newline at end of file
src/views/login/modules/AccountsLogin.vue
View file @
cce63c11
...
...
@@ -82,24 +82,15 @@ export default {
// data.append("username", this.userInfo.userName);
// data.append("password", passwordAES);
// data.passWord = passwordAES;
console
.
info
(
"qs-----"
,
qs
.
stringify
(
authentication
));
// todo 登录请求
this
.
$axios
.
post
(
"/login/myLoginForm?"
+
qs
.
stringify
(
authentication
))
.
then
(
res
=>
{
console
.
info
(
res
);
if
(
res
.
data
.
code
===
"200"
)
{
let
token
=
res
.
data
.
token
;
// token 存入sotre
me
.
$store
.
commit
(
"user/SET_TOKEN"
,
token
);
localStorage
.
setItem
(
"token-----"
,
token
);
// this.$store.dispatch("login", {});
localStorage
.
setItem
(
"token"
,
res
.
data
.
token
);
localStorage
.
setItem
(
"userName"
,
res
.
data
.
userName
);
this
.
$message
.
success
(
userinfo
.
userName
+
"登录成功!"
);
if
(
this
.
$store
.
state
.
user
.
token
)
{
this
.
$router
.
push
(
"/Home/Home"
);
}
else
{
this
.
$router
.
replace
(
"/login1"
);
}
this
.
$router
.
push
(
"/Home/Home"
);
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
...
...
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