import { useAjax } from "@/Hook/useAjax" import { GetAssignUser, delAssignUserApi, getAssignUserApi } from "@/services/gameData/roleOperate" import { Button, Drawer, Input, Popconfirm, Select, Space, Table, Tag, message } from "antd" import React, { useEffect, useState } from "react" import { columnsChangeLog } from "./tableConfig" import { getRoleUserListApi } from "@/services/gameData" import Assign from "./assign" interface Props { data: any visible?: boolean onClose?: () => void onChange?: () => void } const ChangeLog: React.FC = ({ data, visible, onClose, onChange }) => { /******************************/ const [gsList, setGsList] = useState([]) const [customerList, setCustomerList] = useState([]) const [operateList, setOperateList] = useState([]) const [selectedRowKeys, setSelectedRowKeys] = useState([]) const [queryForm, setQueryForm] = useState({ pageNum: 1, pageSize: 20 }) const [assignvisible, setAssignVisible] = useState(false) const [id, setId] = useState() const [startTime, setStartTime] = useState() const getAssignUser = useAjax((params) => getAssignUserApi(params)) const delAssignUser = useAjax((params) => delAssignUserApi(params)) const getRoleUserList = useAjax((params) => getRoleUserListApi(params)) /******************************/ useEffect(() => { const getList = async () => { // 游戏GS let gs = await getRoleUserList.run({ authType: 'GS' }) setGsList(gs ? Object.keys(gs)?.map(key => ({ userId: key, nickname: gs[key] })) : []) // 运营 let operate = await getRoleUserList.run({ authType: 'OPERATE' }) setOperateList(operate ? Object.keys(operate)?.map(key => ({ userId: key, nickname: operate[key] })) : []) // 客服 let customer = await getRoleUserList.run({ authType: 'CUSTOMER' }) setCustomerList(customer ? Object.keys(customer)?.map(key => ({ userId: key, nickname: customer[key] })) : []) } getList() }, []) useEffect(() => { getAssignUser.run({ ...queryForm, gameId: data.role_reg_game_id, roleId: data.role_id, serverId: data.server_id, userId: data.association_user_id, regAgentId: data.agent_id }) }, [queryForm]) const del = (ids: any[]) => { delAssignUser.run(ids.toString()).then(res => { if (res) { onChange?.() setSelectedRowKeys([]) getAssignUser.refresh() message.success('删除成功') } }) } const update = (data: any) => { setId(data.id) setStartTime(data.startTime) setAssignVisible(true) } return setQueryForm({ ...queryForm, remark: e.target.value, pageNum: 1 })} /> 总共{total}数据, showSizeChanger: true, //手动开启条数筛选器,默认超过50条开启 size: 'small',//设置分页尺寸 onChange: (page: number, pageSize: number) => { setQueryForm({ ...queryForm, pageNum: page, pageSize }) }, showLessItems: true } } rowSelection={{ selectedRowKeys, onChange: (selectedRowKeys: React.Key[]) => { setSelectedRowKeys(selectedRowKeys) }, }} /> {/* 指派 */} {assignvisible && setAssignVisible(false)} onChange={() => { setAssignVisible(false); getAssignUser?.refresh(); }}/>} } export default React.memo(ChangeLog)