import { ActionType, ProCard, ProTable } from "@ant-design/pro-components" import { useEffect, useImperativeHandle, useRef, useState } from "react" import { getOnwer, getUserTypeTree, handleGetUserList } from "@/pages/serverpartAssets/service"; import { Tree } from "antd"; import './style.less' const ChosePlayers = ({ actionRef, onRef, defaultPerson }: { actionRef?: any, onRef: any, defaultPerson: any }) => { const tableRef = useRef(); // 是否显示账号分类查询树 // 左侧业务类型数据 const [treeView, setTreeView] = useState() // 选择的部门 const [selectedId, setSelectedId] = useState() // 选择的行 const [selectedRowKeys, setSelectedRowKeys] = useState() // 选择的行的详情 const [selectedRowDetail, setSelectedRowDetial] = useState() // 表格内容 const columns: any = [ { title: '查询账号', dataIndex: 'searchKey', hideInDescriptions: true, hideInTable: true, fieldProps: { placeholder: '请输入账号/用户名称/业主单位/手机号/经营单位' } }, { title: '账号部门', dataIndex: 'USERTYPE_ID', hideInSearch: true, hideInDescriptions: true, valueType: "treeSelect", fieldProps: { options: treeView, }, }, { title: '账号', dataIndex: 'USER_PASSPORT', sorter: (a, b) => { return (a.USER_PASSPORT || '').localeCompare((b.USER_PASSPORT || '')) }, hideInSearch: true, }, { title: '用户名称', dataIndex: 'USER_NAME', sorter: (a, b) => { return (a.USER_NAME || '').localeCompare((b.USER_NAME || '')) }, hideInDescriptions: true, hideInSearch: true, }, { title: '手机号', dataIndex: 'USER_MOBILEPHONE', hideInSearch: true }, { title: '状态', dataIndex: 'USER_STATUS', hideInSearch: true, filters: true, onFilter: true, valueType: 'select', initialValue: 1, valueEnum: { all: { text: '全部', status: 'Default' }, 0: { text: '无效', status: 'Default' }, 1: { text: '有效', status: 'Processing' }, }, }, { title: '业主单位', dataIndex: 'PROVINCE_UNIT', hideInSearch: true, ellipsis: true, sorter: (a, b) => { return (a.PROVINCE_UNIT || '').localeCompare((b.PROVINCE_UNIT || '')) }, valueType: "select", request: async () => { let data = await getOnwer({ ProvinceCode: "530000", DataType: 1 }) if (data && data.length > 0) { data.forEach((item: any) => { item.value = item.value.toString() }) } return data } }, { title: '备注', dataIndex: 'USER_DESC', hideInSearch: true, render: (_, record) => { return record?.USER_DESC } } ] useEffect(() => { getUserTypeTree({ UserTypePattern: 1000, ShowStatus: true }).then((res: any) => { console.log('fdsklfja', res); setTreeView(res) }) }, []) useEffect(() => { console.log('defaultPersondefaultPerson', defaultPerson); if (defaultPerson && defaultPerson.length > 0) { setSelectedRowDetial(defaultPerson) let keyList: any = [] defaultPerson.forEach((item: any) => { keyList.push(item.USER_ID) }) setSelectedRowKeys(keyList) } }, [defaultPerson]) useImperativeHandle(onRef, () => ({ selectedRowKeys, selectedRowDetail })) return (
{treeView && treeView.length > 0 ? { const selectedIds = info.checkedNodes.filter((n: any) => n?.type === 1) let res: any = selectedIds.map(n => n?.value)?.toString() || '' console.log('reqs', res); setSelectedId(res) }} /> : ''}
{ if (!selectedId) return [] const req: any = { SearchParameter: { UserTypeIds: selectedId, USER_STATUS: 1 }, PageIndex: 1, PageSize: 999999, keyWord: params.searchKey ? { key: "USER_PASSPORT,USER_NAME,USER_MOBILEPHONE,PROVINCE_UNIT,BUSINESSMAN_NAME", value: params.searchKey } : null, } const data = await handleGetUserList(req) console.log('dsajkdjas;da', data); if (data && data.length > 0) { return { data, success: true } } return { data: [], success: true } }} columns={columns} rowSelection={{ selectedRowKeys: selectedRowKeys, onChange: (e: any, detail: any) => { setSelectedRowDetial(detail) setSelectedRowKeys(e) }, preserveSelectedRowKeys: true, }} />
) } export default ChosePlayers;