import { NavLink, useLocation } from 'react-router-dom' import { useState, useEffect } from 'react' import { Row, Col, Space, Button, Table, Select, TreeSelect, Typography, Modal, App, Form, Input } from 'antd' import dayjs from 'dayjs' import { isEmpty } from '@/utils/commons' import { useTranslation } from 'react-i18next' import useFormStore from '@/stores/Form' import useReservationStore from '@/stores/Reservation' import SearchForm from '@/components/SearchForm' const { Title } = Typography const { SHOW_PARENT } = TreeSelect const permissionData = [ { 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: '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-0', key: '2-1-0', }, { title: '禁用账号', value: '2-1-1', key: '2-1-1', }, { title: '分配账号角色', value: '2-1-2', key: '2-1-2', }, ], }, ]; function Management() { const { t } = useTranslation() const accountListColumns = [ { title: t('account:username'), dataIndex: 'username', key: 'account:username', }, { title: t('account:realname'), dataIndex: 'realname', key: 'account:realname', }, { title: t('account:email'), dataIndex: 'email', key: 'account:email' }, { title: t('account:role'), dataIndex: 'role', key: 'account:role' }, { title: t('account:lastLogin'), dataIndex: 'lastLogin', key: 'account:lastLogin' }, { title: t('account:action'), key: 'account:action', dataIndex: 'account:action', render: actionRender }, ] function actionRender() { return ( ) } 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 [accountList, setaccountList] = useState([ { username: 'bjyiran', realname: '怡小芳', email: 'xiaofang@yiran.com', role: '国内供应商', lastLogin: '2024-06-12 13:53' }, { username: 'int-robin', realname: 'Robin', email: 'robin@int.com', role: '海外供应商', lastLogin: '2024-06-12 13:53' }, { username: 'betty-wu', realname: '吴雪', email: 'betty@hainatravel.com', role: '客服组', lastLogin: '2024-06-12 13:53' }, { username: 'lancy', realname: '吴金倩', email: 'lancy@hainatravel.com', role: '产品组', lastLogin: '2024-06-12 13:53' }, { username: 'LYJ', realname: '廖一军', email: 'lyj@hainatravel.com', role: 'Web 开发组,海外测试供应商', lastLogin: '2024-06-12 13:53' } ]) const formValuesToSub = useFormStore((state) => state.formValuesToSub) const [form] = Form.useForm() const [fetchAllGuideList, fetchReservationList, reservationList, reservationPage, cityList, selectReservation, getCityListByReservationId] = useReservationStore((state) => [state.fetchAllGuideList, state.fetchReservationList, state.reservationList, state.reservationPage, state.cityList, state.selectReservation, state.getCityListByReservationId]) const { notification } = App.useApp() const handleAccountOk = () => { } const handleAccountCancel = () => { setAccountModalOpen(false) } const handleRoleOk = () => { } const handleRoleCancel = () => { setRoleModalOpen(false) } const onFinish = (values) => { console.log(values) } const onFinishFailed = (error) => { console.log('Failed:', error) // form.resetFields() } // 默认重新搜索第一页,所有状态的计划 const onSearchClick = (current=1, status=null) => { } return ( <>
{t('account:management.newAccount')}
{/* Role Edit */}
{t('account:management.newRole')}
{t('account:management.tile')} { setDataLoading(true) fetchReservationList(formVal) .catch(ex => { notification.error({ message: 'Notification', description: ex.message, placement: 'top', duration: 4, }) }) .finally(() => { setDataLoading(false) }) }} /> { return `总数:${total}` } }} onChange={(pagination) => {onSearchClick(pagination.current)}} columns={accountListColumns} dataSource={accountList} /> ) } export default Management