Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Releases
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
周远喜
mes-ui
Commits
bb01975f
Commit
bb01975f
authored
Mar 30, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug 和登陆处理
parent
ff31bdb2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
168 additions
and
80 deletions
+168
-80
index.vue
layouts/basic-layout/header-bug/index.vue
+73
-0
index.vue
layouts/basic-layout/header-user/index.vue
+47
-49
index.vue
layouts/basic-layout/index.vue
+3
-1
index.vue
pages/account/login/index.vue
+35
-28
account.js
store/admin/account.js
+10
-2
No files found.
layouts/basic-layout/header-bug/index.vue
0 → 100644
View file @
bb01975f
<
template
>
<span
class=
"i-layout-header-trigger i-layout-header-trigger-min"
>
<Dropdown
transfer
trigger=
"hover"
@
on-click=
"handleClickUserDropdown"
>
<span
@
click=
"openModelBugAdd"
>
<Icon
type=
"ios-bug"
size=
"18"
/>
</span>
<Icon
type=
"md-arrow-dropdown"
></Icon>
<DropdownMenu
slot=
"list"
>
<DropdownItem
name=
"bug"
>
bug列表
</DropdownItem>
</DropdownMenu>
</Dropdown>
<Modal
title=
"新增bug"
v-model=
"bugAdd"
fullscreen
:z-index=
"10"
>
<addBugModal
ref=
"addBug"
></addBugModal>
<div
slot=
"footer"
>
<Button
@
click=
"addCancel"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"addSave"
>
确定
</Button>
</div>
</Modal>
</span>
</
template
>
<
script
>
import
addBugModal
from
"@/pages/bug/component/add"
;
export
default
{
name
:
"addBug"
,
components
:
{
addBugModal
},
data
()
{
return
{
bugAdd
:
false
};
},
computed
:
{},
methods
:
{
async
handleClickUserDropdown
(
name
)
{
if
(
name
===
"bug"
)
{
this
.
$router
.
push
({
name
:
"bug"
});
}
},
openModelBugAdd
()
{
this
.
bugAdd
=
true
;
this
.
$refs
.
addBug
.
getEid
();
this
.
$refs
.
addBug
.
initial
();
},
addCancel
()
{
this
.
$refs
.
addBug
.
resetFields
();
this
.
bugAdd
=
false
;
},
addSave
()
{
let
param
=
this
.
$refs
.
addBug
.
addBugInfo
();
//alert(JSON.stringify(param))
if
(
param
.
id
==
null
)
{
//增加确定
this
.
$http
.
bug
.
createorupdate
(
param
).
then
(
res
=>
{
if
(
res
.
result
.
status
)
{
this
.
$Message
.
success
(
"新增成功!"
);
let
newId
=
res
.
result
.
bugId
;
this
.
$refs
.
addBug
.
updateEid
(
newId
);
}
else
{
this
.
$Message
.
error
(
"新增失败!"
);
}
this
.
$refs
.
addBug
.
resetFields
();
this
.
bugAdd
=
false
;
});
}
else
{
this
.
$Message
.
error
(
"新增失败!"
);
}
}
},
created
()
{},
mounted
()
{}
};
</
script
>
\ No newline at end of file
layouts/basic-layout/header-user/index.vue
View file @
bb01975f
<
template
>
<span
class=
"i-layout-header-trigger i-layout-header-trigger-min"
>
<Dropdown
:trigger=
"isMobile ? 'click' : 'hover'"
class=
"i-layout-header-user"
:class=
"
{ 'i-layout-header-user-mobile': isMobile }" @on-click="handleClick">
<Avatar
size=
"small"
:src=
"info.avatar"
v-if=
"info.avatar"
/>
<span
class=
"i-layout-header-user-name"
v-if=
"!isMobile"
>
{{
info
.
name
}}
</span>
<DropdownMenu
slot=
"list"
>
<i-link
to=
"/setting/user"
>
<DropdownItem>
<Icon
type=
"ios-contact-outline"
/>
<span>
{{
$t
(
'basicLayout.user.center'
)
}}
</span>
</DropdownItem>
</i-link>
<i-link
to=
"/setting/account"
>
<DropdownItem>
<Icon
type=
"ios-settings-outline"
/>
<span>
{{
$t
(
'basicLayout.user.setting'
)
}}
</span>
</DropdownItem>
</i-link>
<DropdownItem
divided
name=
"logout"
>
<Icon
type=
"ios-log-out"
/>
<span>
{{
$t
(
'basicLayout.user.logOut'
)
}}
</span>
</DropdownItem>
</DropdownMenu>
</Dropdown>
</span>
<span
class=
"i-layout-header-trigger i-layout-header-trigger-min"
>
<Dropdown
:trigger=
"isMobile ? 'click' : 'hover'"
class=
"i-layout-header-user"
:class=
"
{ 'i-layout-header-user-mobile': isMobile }"
@on-click="handleClick"
>
<Avatar
size=
"small"
:src=
"info.avatar"
v-if=
"info.avatar"
/>
<span
class=
"i-layout-header-user-name"
v-if=
"!isMobile"
>
{{
info
.
name
}}
</span>
<DropdownMenu
slot=
"list"
>
<i-link
to=
"/setting/user"
>
<DropdownItem>
<Icon
type=
"ios-contact-outline"
/>
<span>
{{
$t
(
'basicLayout.user.center'
)
}}
</span>
</DropdownItem>
</i-link>
<i-link
to=
"/setting/account"
>
<DropdownItem>
<Icon
type=
"ios-settings-outline"
/>
<span>
{{
$t
(
'basicLayout.user.setting'
)
}}
</span>
</DropdownItem>
</i-link>
<DropdownItem
divided
name=
"logout"
>
<Icon
type=
"ios-log-out"
/>
<span>
{{
$t
(
'basicLayout.user.logOut'
)
}}
</span>
</DropdownItem>
</DropdownMenu>
</Dropdown>
</span>
</
template
>
<
script
>
import
{
mapState
,
mapActions
}
from
'vuex'
;
import
{
mapState
,
mapActions
}
from
"vuex"
;
export
default
{
name
:
'iHeaderUser'
,
computed
:
{
...
mapState
(
'admin/user'
,
[
'info'
]),
...
mapState
(
'admin/layout'
,
[
'isMobile'
,
'logoutConfirm'
])
},
methods
:
{
...
mapActions
(
'admin/account'
,
[
'logout'
]),
handleClick
(
name
)
{
if
(
name
===
'logout'
)
{
this
.
logout
({
confirm
:
this
.
logoutConfirm
,
vm
:
this
});
}
}
}
export
default
{
name
:
"iHeaderUser"
,
computed
:
{
...
mapState
(
"admin/user"
,
[
"info"
]),
...
mapState
(
"admin/layout"
,
[
"isMobile"
,
"logoutConfirm"
])
},
methods
:
{
...
mapActions
(
"admin/account"
,
[
"logout"
]),
handleClick
(
name
)
{
if
(
name
===
"logout"
)
{
this
.
logout
({
confirm
:
this
.
logoutConfirm
,
vm
:
this
});
}
}
}
};
</
script
>
layouts/basic-layout/index.vue
View file @
bb01975f
...
...
@@ -17,6 +17,7 @@
<i-header-search
v-if=
"(showSearch && isMobile) || (showSearch && (headerMenu || showBreadcrumb))"
/>
<i-menu-head
v-if=
"headerMenu && isMobile"
/>
<i-header-log
v-if=
"isDesktop && showLog"
/>
<i-header-bug
/>
<i-header-fullscreen
v-if=
"isDesktop && showFullscreen"
/>
<i-header-notice
v-if=
"showNotice"
/>
<i-header-user
/>
...
...
@@ -54,6 +55,7 @@
import
iHeaderBreadcrumb
from
'./header-breadcrumb'
;
import
iHeaderSearch
from
'./header-search'
;
import
iHeaderLog
from
'./header-log'
;
import
iHeaderBug
from
'./header-bug'
;
import
iHeaderFullscreen
from
'./header-fullscreen'
;
import
iHeaderNotice
from
'./header-notice'
;
import
iHeaderUser
from
'./header-user'
;
...
...
@@ -69,7 +71,7 @@
export
default
{
name
:
'BasicLayout'
,
components
:
{
iMenuHead
,
iMenuSide
,
iCopyright
,
iHeaderLogo
,
iHeaderCollapse
,
iHeaderReload
,
iHeaderBreadcrumb
,
iHeaderSearch
,
iHeaderUser
,
iHeaderI18n
,
iHeaderLog
,
iHeaderFullscreen
,
iHeaderSetting
,
iHeaderNotice
,
iTabs
},
components
:
{
iMenuHead
,
iMenuSide
,
iCopyright
,
iHeaderLogo
,
iHeaderCollapse
,
iHeaderReload
,
iHeaderBreadcrumb
,
iHeaderSearch
,
iHeaderUser
,
iHeaderI18n
,
iHeaderLog
,
iHeaderFullscreen
,
iHeaderSetting
,
iHeaderNotice
,
iTabs
,
iHeaderBug
},
data
()
{
return
{
showDrawer
:
false
,
...
...
pages/account/login/index.vue
View file @
bb01975f
...
...
@@ -8,9 +8,9 @@
<div
class=
"page-account-top-logo"
>
<img
src=
"@/assets/images/logo.png"
alt=
"logo"
/>
</div>
<div
class=
"page-account-top-desc"
>
iView Admin Pro 企业级中台前端/设计解决方案
</div>
<div
class=
"page-account-top-desc"
>
SaaS MES 制造执行系统
</div>
</div>
<Login
@
on-submit=
"
handleSubmit
"
>
<Login
@
on-submit=
"
oidc
"
>
<UserName
name=
"username"
value=
"admin"
/>
<Password
name=
"password"
value=
"admin"
enter-to-submit
/>
<div
class=
"page-account-auto-login"
>
...
...
@@ -20,14 +20,14 @@
<Submit>
{{
$t
(
'page.login.submit'
)
}}
</Submit>
</Login>
<div
class=
"page-account-other"
>
<span>
{{
$t
(
'page.login.other'
)
}}
</span>
<
!--
<
span>
{{
$t
(
'page.login.other'
)
}}
</span>
<img
src=
"@/assets/svg/icon-social-wechat.svg"
alt=
"wechat"
/>
<img
src=
"@/assets/svg/icon-social-qq.svg"
alt=
"qq"
/>
<img
src=
"@/assets/svg/icon-social-weibo.svg"
alt=
"weibo"
/>
<
router-link
class=
"page-account-register"
to=
"./register"
>
{{
$t
(
'page.login.signup'
)
}}
</router-link
>
<img
src=
"@/assets/svg/icon-social-weibo.svg"
alt=
"weibo"
/>
-->
<
!--
<router-link
class=
"page-account-register"
to=
"./register"
>
{{
$t
(
'page.login.signup'
)
}}
</router-link>
--
>
</div>
</div>
<
i-copyright
/
>
<
!--
<i-copyright
/>
--
>
</div>
</
template
>
<
script
>
...
...
@@ -47,30 +47,37 @@ export default {
};
},
created
()
{
let
that
=
this
;
mgr
.
getUser
().
then
(
function
(
user
)
{
if
(
user
)
{
that
.
msg
=
"该用户已经登录"
;
const
userInfos
=
{
token
:
user
.
access_token
,
login_id
:
user
.
profile
.
name
,
userId
:
user
.
profile
[
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"
],
accountId
:
user
.
profile
.
sub
,
tanantCode
:
user
.
profile
.
TanantCode
,
name
:
"Aresn"
,
avatar
:
"https://dev-file.iviewui.com/userinfoPDvn9gKWYihR24SpgC319vXY8qniCqj4/avatar"
,
access
:
[
"admin"
]
};
// that.$store.commit('setUserInfo',userInfos);
that
.
oidcLogin
(
userInfos
);
window
.
location
=
"/"
;
}
else
{
mgr
.
signinRedirect
();
}
});
// this.oidc();
},
methods
:
{
...
mapActions
(
"admin/account"
,
[
"login"
]),
oidc
()
{
let
that
=
this
;
mgr
.
getUser
().
then
(
function
(
user
)
{
if
(
user
)
{
that
.
msg
=
"该用户已经登录"
;
const
userInfos
=
{
token
:
user
.
access_token
,
login_id
:
user
.
profile
.
name
,
userId
:
user
.
profile
[
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"
],
accountId
:
user
.
profile
.
sub
,
tanantCode
:
user
.
profile
.
TanantCode
,
name
:
"Aresn"
,
avatar
:
"https://dev-file.iviewui.com/userinfoPDvn9gKWYihR24SpgC319vXY8qniCqj4/avatar"
,
access
:
[
"admin"
]
};
// that.$store.commit('setUserInfo',userInfos);
that
.
oidcLogin
(
userInfos
);
window
.
location
=
"/"
;
}
else
{
mgr
.
signinRedirect
();
}
});
},
/**
* @description 登录
* 表单校验已有 iView Pro 自动完成,如有需要修改,请阅读 iView Pro 文档
...
...
@@ -94,7 +101,7 @@ export default {
this
.
$store
.
dispatch
(
"admin/user/set"
,
user
,
{
root
:
true
});
// 用户登录后从持久化数据加载一系列的设置
this
.
$store
.
dispatch
(
"load"
);
this
.
$store
.
commit
(
'setUserInfo'
,
user
);
this
.
$store
.
commit
(
"setUserInfo"
,
user
);
}
}
};
...
...
store/admin/account.js
View file @
bb01975f
...
...
@@ -4,7 +4,7 @@
import
util
from
'@/libs/util'
;
// import router from '@/router';
import
{
AccountLogin
,
AccountRegister
}
from
'@/api/account'
;
import
Oidc
from
'oidc-client'
import
{
Modal
}
from
'view-design'
;
export
const
actions
=
{
/**
...
...
@@ -51,7 +51,8 @@ export const actions={
* @description 退出登录
* */
logout
({
commit
,
dispatch
},
{
confirm
=
false
,
vm
}
=
{})
{
async
function
logout
()
{
var
mgr
=
new
Oidc
.
UserManager
(
window
.
authConfig
)
async
function
logout
()
{
// 删除cookie
util
.
cookies
.
remove
(
'token'
);
util
.
cookies
.
remove
(
'uuid'
);
...
...
@@ -59,6 +60,13 @@ export const actions={
await
dispatch
(
'admin/user/set'
,
{},
{
root
:
true
});
// 跳转路由
// alert(123)
window
.
frames
[
0
].
sessionStorage
.
clear
()
sessionStorage
.
clear
()
mgr
.
events
.
addUserSignedOut
(
function
()
{
log
(
'User signed out of OP'
)
mgr
.
removeUser
()
})
$nuxt
.
$router
.
push
(
"/account/login"
);
}
...
...
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