import { SearchBarPlugin, SearchBottonsCardPlugin } from '@/components/SearchBarPlugin';
import { post } from '@/services/ajax';
import { PageContainer } from '@ant-design/pro-components';
import { Button, Col, Form, Input, Pagination, Row, Spin, Table, Tree } from 'antd';
import { stringify } from 'qs';
import React, { useEffect, useState } from 'react';
import styles from './index.module.scss';
interface IDepartment {
children: null | IDepartment[];
department_leader: string;
id: number;
name: string;
parent_id: number;
sort: number;
}
interface IStaffsItem {
user_id: string | number;
name: string;
telephone: string;
dep_name: string[];
position: string;
}
interface IStaffsData {
count: number;
data?: IStaffsItem[];
}
type Param = {
curr_page: number;
page_count: number;
dep_id: number;
name?: string;
position?: string;
telephone?: string;
};
const DepartmentsList: React.FC = () => {
const [param] = useState({
curr_page: 1,
page_count: 20,
dep_id: 0,
});
const [departmentID, setDepartmentsID] = useState(0);
const [departmentsList, setDepartmentsList] = useState([]);
const [staffsData, setStaffsData] = useState({ count: 0, data: [] });
const [loadingL, setLoadingL] = useState(false);
const [loading, setLoading] = useState(false);
const getDepartmentsList = () => {
setLoadingL(true);
post({ url: '/Departments/List' }).then((res) => {
setLoadingL(false);
if (res.err_code == 0) {
if (Array.isArray(res.data)) {
param.dep_id = res.data[0].id;
setDepartmentsID(param.dep_id);
setDepartmentsList(res.data);
getStaffsList();
}
}
});
};
const getStaffsList = () => {
setLoading(true);
post({ url: '/Staffs/List', data: stringify(param) }).then((res) => {
setLoading(false);
if (res.err_code == 0) {
if (!Array.isArray(res.data)) {
res.data = [];
}
setStaffsData(res as IStaffsData);
}
});
};
const page = (page: number) => {
param.curr_page = page;
getStaffsList();
};
useEffect(() => {
getDepartmentsList();
}, []);
// const [open, setOpen] = useState(false);
// const [popOpen, setPopOpen] = useState(-1);
return (
{departmentsList.length ? (
{
if (selectedKeys.length) {
setDepartmentsID(Number(selectedKeys[0]));
param.dep_id = Number(selectedKeys[0]);
page(1);
}
}}
titleRender={(nodeData: any) => {
// console.log(nodeData);
return (
{nodeData.name}
{/*
{
e.stopPropagation();
setOpen(true);
}}
className={styles.edit}
/>
{
setPopOpen(-1);
e?.stopPropagation();
}}
onConfirm={(e) => {
e?.stopPropagation();
console.log(nodeData.id);
}}
>
{
e.stopPropagation();
setPopOpen(nodeData.id);
}}
className={styles.del}
/>
*/}
);
}}
>
) : null}
{/*
setOpen(false)}
centered
onOk={() => {}}
>
*/}
{
param.page_count = size;
// setParam({ ...param });
page(1);
}}
showTotal={(total, range) => {
return 共{total}条;
}}
onChange={(curr, pageSize) => {
page(curr);
}}
/>
);
};
export default DepartmentsList;