权限增加不同角色不同默认首页

perf/export-docx
Jimmy Liow 1 year ago
parent 09726a51bf
commit e3a28ebf25

@ -74,6 +74,16 @@ VALUES ('审核价格', '/products/offer/audit', 'products')
INSERT INTO [dbo].[auth_resource] ([res_name] ,[res_pattern], [res_category]) INSERT INTO [dbo].[auth_resource] ([res_name] ,[res_pattern], [res_category])
VALUES ('录入价格', '/products/offer/put', 'products') VALUES ('录入价格', '/products/offer/put', 'products')
-- 默认页面
INSERT INTO [dbo].[auth_resource] ([res_name] ,[res_pattern], [res_category])
VALUES ('最新计划', 'route=/reservation/newest', 'page')
INSERT INTO [dbo].[auth_resource] ([res_name] ,[res_pattern], [res_category])
VALUES ('机票订票', 'route=/airticket', 'page')
INSERT INTO [dbo].[auth_resource] ([res_name] ,[res_pattern], [res_category])
VALUES ('产品管理(客服)', 'route=/products', 'page')
INSERT INTO [dbo].[auth_resource] ([res_name] ,[res_pattern], [res_category])
VALUES ('产品管理(供应商)', 'route=/products?from', 'page')
INSERT INTO [dbo].[auth_permission] ([role_id] ,[res_id]) INSERT INTO [dbo].[auth_permission] ([role_id] ,[res_id])
VALUES (1, 1) VALUES (1, 1)
INSERT INTO [dbo].[auth_permission] ([role_id] ,[res_id]) INSERT INTO [dbo].[auth_permission] ([role_id] ,[res_id])

@ -60,6 +60,8 @@ const useAuthStore = create(obervseLifecycle((set, get) => ({
loginStatus: 0, loginStatus: 0,
defaltRoute: '',
permissionList: [], permissionList: [],
isPermitted: (perm) => { isPermitted: (perm) => {
@ -98,13 +100,26 @@ const useAuthStore = create(obervseLifecycle((set, get) => ({
setStorage(KEY_USER_ID, userDetail.LMI_SN) setStorage(KEY_USER_ID, userDetail.LMI_SN)
setStorage(KEY_TRAVEL_AGENCY_ID, userDetail.LMI_VEI_SN) setStorage(KEY_TRAVEL_AGENCY_ID, userDetail.LMI_VEI_SN)
appendRequestParams('token', loginToken) appendRequestParams('token', loginToken)
appendRequestParams('lmi_sn', userDetail.LMI_SN)
// loadPageSpy(`${json.Result.VName}-${json.Result.LoginName}`) // loadPageSpy(`${json.Result.VName}-${json.Result.LoginName}`)
startTokenInterval() startTokenInterval()
}, },
loadUserPermission: async(userId) => { loadUserPermission: async(userId) => {
let deaultPage = '/'
const permissionResult = await fetchPermissionListByUserId(userId) const permissionResult = await fetchPermissionListByUserId(userId)
const pageList = permissionResult.filter(p => {
return p.res_category === 'page'
})
if (pageList.length > 0) {
const resPattern = pageList[0].res_pattern
const splitResult = resPattern.split('=')
if (splitResult.length > 1)
deaultPage = splitResult[1]
}
set(() => ({ set(() => ({
defaultRoute: deaultPage,
permissionList: permissionResult.map(p => p.res_pattern) permissionList: permissionResult.map(p => p.res_pattern)
})) }))
}, },

@ -6,9 +6,8 @@ import useAuthStore from '@/stores/Auth'
import useNoticeStore from '@/stores/Notice' import useNoticeStore from '@/stores/Notice'
function Login() { function Login() {
const [validateUserPassword, loginStatus] = const [validateUserPassword, loginStatus, defaultRoute] =
useAuthStore((state) => [state.validateUserPassword, state.loginStatus]) useAuthStore((state) => [state.validateUserPassword, state.loginStatus, state.defaultRoute])
const getBulletinUnReadCount = useNoticeStore((state) => state.getBulletinUnReadCount)
const { t, i18n } = useTranslation() const { t, i18n } = useTranslation()
const { notification } = App.useApp() const { notification } = App.useApp()
@ -17,7 +16,7 @@ function Login() {
useEffect (() => { useEffect (() => {
if (loginStatus === 302) { if (loginStatus === 302) {
navigate('/') navigate(defaultRoute)
} }
}, [loginStatus]) }, [loginStatus])

@ -185,7 +185,7 @@ function Management() {
} }
const showResetPasswordConfirm = (account) => { const showResetPasswordConfirm = (account) => {
const randomPassword = account.username + (Math.floor(Math.random() * 900) + 100) const randomPassword = account.username + '@' + (Math.floor(Math.random() * 900) + 100)
modal.confirm({ modal.confirm({
title: 'Do you want to reset password?', title: 'Do you want to reset password?',
icon: <ExclamationCircleFilled />, icon: <ExclamationCircleFilled />,
@ -194,8 +194,8 @@ function Management() {
resetAccountPassword(account.userId, randomPassword) resetAccountPassword(account.userId, randomPassword)
.then(() => { .then(() => {
notification.info({ notification.info({
message: '新密码:' + randomPassword, message: `请复制新密码给 [${account.realname}]`,
description: `请复制密码给 [${account.realname}]`, description: '新密码:' + randomPassword,
placement: 'top', placement: 'top',
duration: 60, duration: 60,
}) })

@ -69,6 +69,7 @@ function RoleList() {
['domestic', '国内供应商'], ['domestic', '国内供应商'],
['air-ticket', '机票供应商'], ['air-ticket', '机票供应商'],
['products', '产品价格'], ['products', '产品价格'],
['page', '默认页面'],
]); ]);
const permissionTree = [] const permissionTree = []

Loading…
Cancel
Save