1
0
mirror of https://github.com/FatttSnake/Pinnacle-OA.git synced 2026-04-04 22:41:24 +08:00

Added show staff name

This commit is contained in:
2023-05-19 15:06:37 +08:00
parent 16aec9e91e
commit 9f51661caa
6 changed files with 81 additions and 35 deletions

View File

@@ -62,6 +62,9 @@ public class User implements Serializable {
@TableField("enable") @TableField("enable")
private Integer enable; private Integer enable;
@TableField(exist = false)
private Staff staff;
@TableField(exist = false) @TableField(exist = false)
private List<Role> roles; private List<Role> roles;

View File

@@ -5,10 +5,15 @@
<select id="getAll" resultMap="userMap"> <select id="getAll" resultMap="userMap">
select t_user.id as user_id, select t_user.id as user_id,
t_user.username as user_username, t_user.username as user_username,
t_user.department_id as user_department, t_user.department_id as user_department_id,
t_user.enable as user_enable, t_user.enable as user_enable,
t_user.deleted as user_deleted, t_user.deleted as user_deleted,
t_user.version as user_version, t_user.version as user_version,
ts.id as staff_id,
ts.first_name as staff_first_name,
ts.last_name as staff_last_name,
ts.deleted as staff_deleted,
ts.version as staff_version,
tr.id as role_id, tr.id as role_id,
tr.name as role_name, tr.name as role_name,
tr.deleted as role_deleted, tr.deleted as role_deleted,
@@ -18,6 +23,7 @@
tg.deleted as group_deleted, tg.deleted as group_deleted,
tg.version as group_version tg.version as group_version
from t_user from t_user
left join (select * from t_staff where deleted = 0) as ts on ts.user_id = t_user.id
left join (select * from t_user_role where deleted = 0) as tur on t_user.id = tur.user_id left join (select * from t_user_role where deleted = 0) as tur on t_user.id = tur.user_id
left join (select * from t_role where deleted = 0) as tr on tr.id = tur.role_id left join (select * from t_role where deleted = 0) as tr on tr.id = tur.role_id
left join (select * from t_user_group where deleted = 0) as tug on t_user.id = tug.user_id left join (select * from t_user_group where deleted = 0) as tug on t_user.id = tug.user_id
@@ -27,10 +33,15 @@
<select id="getOneById" resultMap="userMap"> <select id="getOneById" resultMap="userMap">
select t_user.id as user_id, select t_user.id as user_id,
t_user.username as user_username, t_user.username as user_username,
t_user.department_id as user_department, t_user.department_id as user_department_id,
t_user.enable as user_enable, t_user.enable as user_enable,
t_user.deleted as user_deleted, t_user.deleted as user_deleted,
t_user.version as user_version, t_user.version as user_version,
ts.id as staff_id,
ts.first_name as staff_first_name,
ts.last_name as staff_last_name,
ts.deleted as staff_deleted,
ts.version as staff_version,
tr.id as role_id, tr.id as role_id,
tr.name as role_name, tr.name as role_name,
tr.deleted as role_deleted, tr.deleted as role_deleted,
@@ -40,6 +51,7 @@
tg.deleted as group_deleted, tg.deleted as group_deleted,
tg.version as group_version tg.version as group_version
from t_user from t_user
left join (select * from t_staff where deleted = 0) as ts on ts.user_id = t_user.id
left join (select * from t_user_role where deleted = 0) as tur on t_user.id = tur.user_id left join (select * from t_user_role where deleted = 0) as tur on t_user.id = tur.user_id
left join (select * from t_role where deleted = 0) as tr on tr.id = tur.role_id left join (select * from t_role where deleted = 0) as tr on tr.id = tur.role_id
left join (select * from t_user_group where deleted = 0) as tug on t_user.id = tug.user_id left join (select * from t_user_group where deleted = 0) as tug on t_user.id = tug.user_id
@@ -51,26 +63,32 @@
select distinct t_user.id as user_id, select distinct t_user.id as user_id,
t_user.username as user_username, t_user.username as user_username,
t_user.passwd as user_passwd, t_user.passwd as user_passwd,
t_user.department_id as user_department, t_user.department_id as user_department_id,
t_user.enable as user_enable, t_user.enable as user_enable,
t_user.deleted as user_deleted, t_user.deleted as user_deleted,
t_user.version as user_version, t_user.version as user_version,
ts.id as staff_id,
ts.first_name as staff_first_name,
ts.last_name as staff_last_name,
ts.deleted as staff_deleted,
ts.version as staff_version,
tm.id as menu_id, tm.id as menu_id,
tm.name as menu_name, tm.name as menu_name,
tm.url as menu_url, tm.url as menu_url,
tm.power_id as menu_powerId, tm.power_id as menu_power_id,
tm.parent_id as menu_parentId, tm.parent_id as menu_parent_id,
te.id as element_id, te.id as element_id,
te.name as element_name, te.name as element_name,
te.power_id as element_powerId, te.power_id as element_power_id,
te.menu_id as element_menuId, te.menu_id as element_menu_id,
t.id as operation_id, t.id as operation_id,
t.name as operation_name, t.name as operation_name,
t.code as operation_code, t.code as operation_code,
t.power_id as operation_powerId, t.power_id as operation_power_id,
t.element_id as operation_elementId, t.element_id as operation_element_id,
t.parent_id as operation_parentId t.parent_id as operation_parent_id
from t_user from t_user
left join (select * from t_staff where deleted = 0) as ts on ts.user_id = t_user.id
left join (select * from t_user_group where deleted = 0) as tug on t_user.id = tug.user_id left join (select * from t_user_group where deleted = 0) as tug on t_user.id = tug.user_id
left join (select * from t_group where deleted = 0) as tg on tg.id = tug.group_id left join (select * from t_group where deleted = 0) as tg on tg.id = tug.group_id
left join (select * from t_role_group where deleted = 0) as trg on tg.id = trg.group_id left join (select * from t_role_group where deleted = 0) as trg on tg.id = trg.group_id
@@ -88,10 +106,17 @@
<resultMap id="userMap" type="user"> <resultMap id="userMap" type="user">
<id property="id" column="user_id"/> <id property="id" column="user_id"/>
<result property="username" column="user_username"/> <result property="username" column="user_username"/>
<result property="departmentId" column="user_department"/> <result property="departmentId" column="user_department_id"/>
<result property="enable" column="user_enable"/> <result property="enable" column="user_enable"/>
<result property="deleted" column="user_deleted"/> <result property="deleted" column="user_deleted"/>
<result property="version" column="user_version"/> <result property="version" column="user_version"/>
<association property="staff" javaType="staff">
<id property="id" column="staff_id"/>
<result property="firstName" column="staff_first_name"/>
<result property="lastName" column="staff_last_name"/>
<result property="deleted" column="staff_deleted"/>
<result property="version" column="staff_version"/>
</association>
<collection property="roles" ofType="role"> <collection property="roles" ofType="role">
<id property="id" column="role_id"/> <id property="id" column="role_id"/>
<result property="name" column="role_name"/> <result property="name" column="role_name"/>
@@ -110,30 +135,37 @@
<id property="id" column="user_id"/> <id property="id" column="user_id"/>
<result property="username" column="user_username"/> <result property="username" column="user_username"/>
<result property="passwd" column="user_passwd"/> <result property="passwd" column="user_passwd"/>
<result property="departmentId" column="user_departmentId"/> <result property="departmentId" column="user_department_id"/>
<result property="enable" column="user_enable"/> <result property="enable" column="user_enable"/>
<result property="deleted" column="user_deleted"/> <result property="deleted" column="user_deleted"/>
<result property="version" column="user_version"/> <result property="version" column="user_version"/>
<association property="staff" javaType="staff">
<id property="id" column="staff_id"/>
<result property="firstName" column="staff_first_name"/>
<result property="lastName" column="staff_last_name"/>
<result property="deleted" column="staff_deleted"/>
<result property="version" column="staff_version"/>
</association>
<collection property="menus" ofType="menu"> <collection property="menus" ofType="menu">
<id property="id" column="menu_id"/> <id property="id" column="menu_id"/>
<result property="name" column="menu_name"/> <result property="name" column="menu_name"/>
<result property="url" column="menu_url"/> <result property="url" column="menu_url"/>
<result property="powerId" column="menu_powerId"/> <result property="powerId" column="menu_power_id"/>
<result property="parentId" column="menu_parentId"/> <result property="parentId" column="menu_parent_id"/>
</collection> </collection>
<collection property="elements" ofType="element"> <collection property="elements" ofType="element">
<id property="id" column="element_id"/> <id property="id" column="element_id"/>
<result property="name" column="element_name"/> <result property="name" column="element_name"/>
<result property="powerId" column="element_powerId"/> <result property="powerId" column="element_power_id"/>
<result property="menuId" column="element_menuId"/> <result property="menuId" column="element_menu_id"/>
</collection> </collection>
<collection property="operations" ofType="operation"> <collection property="operations" ofType="operation">
<id property="id" column="operation_id"/> <id property="id" column="operation_id"/>
<result property="name" column="operation_name"/> <result property="name" column="operation_name"/>
<result property="code" column="operation_code"/> <result property="code" column="operation_code"/>
<result property="powerId" column="operation_powerId"/> <result property="powerId" column="operation_power_id"/>
<result property="elementId" column="operation_elementId"/> <result property="elementId" column="operation_element_id"/>
<result property="parentId" column="operation_parentId"/> <result property="parentId" column="operation_parent_id"/>
</collection> </collection>
</resultMap> </resultMap>
</mapper> </mapper>

11
ui/package-lock.json generated
View File

@@ -10,6 +10,7 @@
"dependencies": { "dependencies": {
"axios": "^1.4.0", "axios": "^1.4.0",
"element-plus": "^2.3.4", "element-plus": "^2.3.4",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"pinia": "^2.0.36", "pinia": "^2.0.36",
"vite-plugin-inspect": "^0.7.24", "vite-plugin-inspect": "^0.7.24",
@@ -4045,6 +4046,11 @@
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
}, },
"node_modules/jwt-decode": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/jwt-decode/-/jwt-decode-3.1.2.tgz",
"integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
},
"node_modules/kind-of": { "node_modules/kind-of": {
"version": "6.0.3", "version": "6.0.3",
"resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
@@ -9989,6 +9995,11 @@
"universalify": "^2.0.0" "universalify": "^2.0.0"
} }
}, },
"jwt-decode": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/jwt-decode/-/jwt-decode-3.1.2.tgz",
"integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
},
"kind-of": { "kind-of": {
"version": "6.0.3", "version": "6.0.3",
"resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",

View File

@@ -17,6 +17,7 @@
"dependencies": { "dependencies": {
"axios": "^1.4.0", "axios": "^1.4.0",
"element-plus": "^2.3.4", "element-plus": "^2.3.4",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"pinia": "^2.0.36", "pinia": "^2.0.36",
"vite-plugin-inspect": "^0.7.24", "vite-plugin-inspect": "^0.7.24",

View File

@@ -198,9 +198,7 @@ export default {
} }
}, },
mounted() { mounted() {
getUsername().then((res) => { this.username = getUsername()
this.username = res.toString()
})
} }
} }
</script> </script>

View File

@@ -1,8 +1,9 @@
import type { Captcha } from './common' import type { Captcha } from './common'
import { clearLocalStorage, getCaptcha, getLocalStorage, setLocalStorage } from './common' import { clearLocalStorage, getCaptcha, getLocalStorage, getToken } from './common'
import { TOKEN_NAME } from '@/constants/Common.constants' import { TOKEN_NAME } from '@/constants/Common.constants'
import _ from 'lodash'
import request from '@/services' import request from '@/services'
import jwtDecode, { type JwtPayload } from 'jwt-decode'
import _ from 'lodash'
let captcha: Captcha let captcha: Captcha
@@ -20,19 +21,19 @@ function getLoginStatus(): boolean {
return getLocalStorage(TOKEN_NAME) != null return getLocalStorage(TOKEN_NAME) != null
} }
async function getUsername(): Promise<string | null> { function getUsername(): string {
if (!_.isEmpty(getLocalStorage('username'))) { const token = getToken()
return getLocalStorage('username')
if (token === null) {
logout()
return ''
} }
let username = '' const jwtPayload: JwtPayload = jwtDecode(token)
const user = JSON.parse(jwtPayload.sub ?? '')
await request.get('/userInfo').then((res) => { return user.staff != null
username = res.data.data.user.username ? `${_.toString(user.staff.lastName)}${_.toString(user.staff.firstName)}`
}) : user.username
setLocalStorage('username', username)
return username
} }
function getCaptchaSrc(): string { function getCaptchaSrc(): string {