From c4145a13dff11b53aa5546b3048df6ff61002709 Mon Sep 17 00:00:00 2001 From: Jimmy Liow Date: Fri, 21 Jun 2024 16:55:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=BB=B7=E6=A0=BC?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=95=8C=E9=9D=A2=EF=BC=9B=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E8=A7=92=E8=89=B2=EF=BC=9B=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=A7=92=E8=89=B2=EF=BC=9B=E9=87=8D=E7=BD=AE=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/价格管理平台.bmpr | Bin 272384 -> 276480 bytes src/stores/Account.js | 45 ++++++++---- src/views/account/Management.jsx | 122 ++++--------------------------- src/views/account/RoleList.jsx | 46 ++++++------ 4 files changed, 68 insertions(+), 145 deletions(-) diff --git a/doc/价格管理平台.bmpr b/doc/价格管理平台.bmpr index e1065f737e4b4c4b23473125fbab526ac344148e..eb1a8d6ac17c14b1cafbeb9b654b686874de0f72 100644 GIT binary patch delta 57794 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 delta 55638 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 f+CV$1F}qMY4E__gRyzGwB%XWnrT_R=!>#`p { return errcode !== 0 ? {} : result } +export const postAccountPassword = async (formData) => { + + const { errcode, result } = await postForm( + `${HT_HOST}/service-CooperateSOA/reset_account_password`, formData) + return errcode !== 0 ? {} : result +} + export const fetchAccountList = async (params) => { const { errcode, result } = await fetchJSON( @@ -42,25 +49,35 @@ const useAccountStore = create((set, get) => ({ accountList: [], - selectedAccount: null, - - selectAccount: (account) => { - set(() => ({ - selectedAccount: account - })) - }, - disableAccount: async (accountId) => { const formData = new FormData() formData.append('wu_id', accountId) - formData.append('account_status', 'enable') + // enable disable + formData.append('account_status', 'disable') const result = await postAccountStatus(formData) console.info(result) }, + resetAccountPassword: async (accountId, password) => { + + const formData = new FormData() + formData.append('wu_id', accountId) + formData.append('newPassword', password) + + return postAccountPassword(formData) + }, + + newRole: () => { + return { + role_id: null, + role_name: '', + role_ids: '' + } + }, + saveOrUpdateRole: async (formValues) => { const formData = new FormData() formData.append('role_id', formValues.role_id) @@ -71,12 +88,11 @@ const useAccountStore = create((set, get) => ({ }, saveOrUpdateAccount: async (formValues) => { - const { selectedAccount } = get() const { userId } = usingStorage() const formData = new FormData() - formData.append('wu_id', selectedAccount.userId) - formData.append('lmi_sn', selectedAccount.lmi_sn) - formData.append('lmi2_sn', selectedAccount.lmi2_sn) + formData.append('wu_id', formValues.userId) + formData.append('lmi_sn', formValues.lmi_sn) + formData.append('lmi2_sn', formValues.lmi2_sn) formData.append('user_name', formValues.username) formData.append('real_name', formValues.realname) formData.append('email', formValues.email) @@ -110,7 +126,8 @@ const useAccountStore = create((set, get) => ({ lastLogin: r.wu_lastlogindate, travelAgency: r.travel_agency_name, travelAgencyId: r.travel_agency_id, - roleId: r.roles, + // 数据库支持逗号分隔多角色(5,6,7),目前界面只需单个。 + roleId: parseInt(r.roles), role: r.roles_name, } }) diff --git a/src/views/account/Management.jsx b/src/views/account/Management.jsx index f0e7b9f..6c2c323 100644 --- a/src/views/account/Management.jsx +++ b/src/views/account/Management.jsx @@ -12,92 +12,6 @@ import { PERM_ROLE_NEW } from '@/config' const { Title } = Typography -const permissionData = [ - { - title: '海外供应商', - value: 'oversea-0', - key: 'oversea-0', - children: [ - { - title: '所有海外功能', - value: 'oversea-0-0', - key: 'oversea-0-0', - }, - ], - }, - { - title: '机票管理', - value: '0-0', - key: '0-0', - children: [ - { - title: '录入机票价格', - value: '0-0-0', - key: '0-0-0', - }, - ], - }, - { - title: '产品管理', - value: '0-1', - key: '0-1', - children: [ - { - title: '搜索供应商产品', - value: 'B-1-0', - key: 'B-1-0', - }, - { - title: '录入产品价格', - value: '0-1-0', - key: '0-1-0', - }, - { - title: '新增产品描述', - value: '0-1-1', - key: '0-1-1', - }, - { - title: '复制供应商产品信息', - value: '0-1-2', - key: '0-1-2', - }, - ], - }, - { - title: '账号管理', - value: '2-1', - key: '2-1', - children: [ - { - title: '搜索账号', - value: '2-1-01', - key: '2-1-01', - }, - { - title: '新增账号', - value: '2-1-11', - key: '2-1-11', - }, - { - title: '禁用账号', - value: '2-1-21', - key: '2-1-21', - }, - { - title: '重置账号密码', - value: '2-1-31', - key: '2-1-31', - }, - { - title: '新增角色', - value: '2-1-41', - key: '2-1-41', - }, - ], - }, -] - function Management() { const { t } = useTranslation() @@ -121,8 +35,7 @@ function Management() { }, { title: t('account:role'), - dataIndex: 'role', - render: roleRender + dataIndex: 'role' }, { title: t('account:lastLogin'), @@ -141,12 +54,6 @@ function Management() { ) } - function roleRender(text) { - return ( - - ) - } - function actionRender(text, account) { return ( @@ -156,28 +63,19 @@ function Management() { ) } - const onPermissionChange = (newValue) => { - console.log('onChange ', newValue) - setPermissionValue(newValue) - } - - const [permissionValue, setPermissionValue] = useState(['0-0-0']) const [isAccountModalOpen, setAccountModalOpen] = useState(false) - const [isRoleModalOpen, setRoleModalOpen] = useState(false) const [dataLoading, setDataLoading] = useState(false) const [roleAllList, setRoleAllList] = useState([]) const [accountForm] = Form.useForm() - const [searchAccountByCriteria, accountList, disableAccount, selectedAccount, saveOrUpdateAccount, selectAccount] = + const [searchAccountByCriteria, accountList, disableAccount, saveOrUpdateAccount, resetAccountPassword] = useAccountStore((state) => - [state.searchAccountByCriteria, state.accountList, state.disableAccount, state.selectedAccount, state.saveOrUpdateAccount, state.selectAccount]) + [state.searchAccountByCriteria, state.accountList, state.disableAccount, state.saveOrUpdateAccount, state.resetAccountPassword]) const { notification, modal } = App.useApp() const onAccountSeleted = async (account) => { accountForm.setFieldsValue(account) - selectAccount(account) - console.info(account) const roleList = await fetchRoleList() setRoleAllList(roleList.map(r => { return { @@ -193,7 +91,6 @@ function Management() { console.log(values) saveOrUpdateAccount(values) .catch(ex => { - console.info(ex.message) notification.error({ message: 'Notification', description: ex.message, @@ -222,11 +119,21 @@ function Management() { } const showResetPasswordConfirm = (account) => { + const randomPassword = account.username + (Math.floor(Math.random() * 900) + 100) modal.confirm({ title: 'Do you want to reset password?', icon: , content: `Username: ${account.username}, Realname: ${account.realname}`, onOk() { + resetAccountPassword(account.userId, randomPassword) + .then(() => { + notification.info({ + message: '新密码:' + randomPassword, + description: `请复制密码给 [${account.realname}]`, + placement: 'top', + duration: 60, + }) + }) console.log('ResetPassword') }, onCancel() { @@ -263,6 +170,9 @@ function Management() { )} > + + + onRoleSeleted(role)}>{text} - ) - } - - function actionRender(text, account) { - return ( - - - - - ) + function actionRender(text, role) { + if (role.role_id > 1) { + return ( + + ) + } } const onPermissionChange = (newValue) => { @@ -139,10 +131,14 @@ function RoleList() { } useEffect (() => { + setDataLoading(true) fetchRoleList() .then(r => { setRoleAllList(r) }) + .finally(() => { + setDataLoading(false) + }) }, []) const [permissionValue, setPermissionValue] = useState(['0-0-0']) @@ -151,16 +147,20 @@ function RoleList() { const [roleAllList, setRoleAllList] = useState([]) const [roleForm] = Form.useForm() - const [saveOrUpdateRole] = + const [saveOrUpdateRole, newRole] = useAccountStore((state) => - [state.saveOrUpdateRole]) + [state.saveOrUpdateRole, state.newRole]) const { notification, modal } = App.useApp() - const onRoleSeleted = async (role) => { + const onRoleSeleted = (role) => { + roleForm.setFieldsValue(role) + setRoleModalOpen(true) + } + + const onNewRole = () => { + const role = newRole() roleForm.setFieldsValue(role) - // selectAccount(account) - // console.info(account) setRoleModalOpen(true) } @@ -212,11 +212,7 @@ function RoleList() { )} > - - - + - +