import AutoTable from "@/components/AutoTable"; import DraggableDialog from "@/components/DraggableDialog"; import ImportExcel from "@/components/ImportExcel"; import InitForm from "@/components/InitForm"; import PremButton from "@/components/PremButton"; import { doFetch } from "@/utils/doFetch"; import { Box, Container, Stack, Typography } from "@mui/material"; import { useRequest } from "ahooks"; import { message } from "antd"; import { useRef, useState } from "react"; import "./index.less"; const columns = [ { title: "学校名称", dataIndex: "organizationName", key: "organizationName", colProps: { span: 24, }, formItemProps: { rules: [ { required: true, message: "此项为必填项", }, ], }, }, { title: "省份", dataIndex: "provinceName", key: "provinceId", valueType: "select", options: { path: "/province/selection", params: {} }, formItemProps: { rules: [ { required: true, message: "此项为必填项", }, ], }, }, { title: "城市", dataIndex: "cityName", key: "cityId", valueType: "select", options: { path: "/city/selection", linkParams: { provinceId: "" } }, formItemProps: { rules: [ { required: true, message: "此项为必填项", }, ], }, }, ], columnes = [ { title: "院系名称", dataIndex: "organizationName", key: "organizationName", colProps: { span: 24, }, formItemProps: { rules: [ { required: true, message: "此项为必填项", }, ], }, }, ]; function Organization() { const actionRef = useRef(); const [dialogprops, setdialogprops] = useState({ open: false, }); const [expandedRowKeys, onExpandedRowsChange] = useState([]); const handleClose = () => { setdialogprops({ open: false, }); }; const { runAsync, loading } = useRequest(doFetch, { manual: true, onSuccess: (res, parames) => { let paramsall = parames[0] ?? {}; let params = paramsall?.params; let url = paramsall?.url; if (res?.code == "0000") { handleClose(); message.success("操作成功"); if (url.indexOf("delete") !== -1) { return; } if (dialogprops?.title?.indexOf("院系") !== -1) { if (params?.parentId) { onExpandedRowsChange((s) => [...new Set([...s, params?.parentId])]); } } else { actionRef?.current?.reload(); } } }, }); const add = (text, row, _, action) => { return ( { e.stopPropagation(); setdialogprops({ open: true, defaultFormValue: {}, title: "添加院系", parentId: row.id, }); }, }} > 添加院系 ); }; const edit = (text, row, _, action) => { return ( { setdialogprops({ open: true, defaultFormValue: { ...row }, title: "编辑", }); }, }} > 编辑 ); }; const remove = (text, row, _, action) => { return ( { await runAsync({ url: "/organization/delete", params: { id: row.id }, }); actionRef?.current?.reload(); }, }} btn={{ size: "small", color: "error", }} > 删除 ); }; const edits = (text, row, _, action) => { return ( { setdialogprops({ open: true, defaultFormValue: { ...row }, title: "编辑院系", }); }, }} > 编辑 ); }; const removes = (text, row, _, action) => { return ( { await runAsync({ url: "/organization/delete", params: { id: row.id }, }); }, }} btn={{ size: "small", color: "error", }} > 删除 ); }; return ( { let postdata = {}; switch (dialogprops?.title) { case "编辑": postdata = { ...val, id: dialogprops?.defaultFormValue?.id }; break; case "创建学校": postdata = val; break; case "添加院系": postdata = { ...val, parentId: dialogprops?.parentId }; break; case "编辑院系": postdata = { ...val, parentId: dialogprops?.defaultFormValue?.parentId, id: dialogprops?.defaultFormValue?.id, }; break; default: break; } runAsync({ url: "/organization/saveOrUpdate", params: postdata, }); }} > 组织管理 { e.stopPropagation(); setdialogprops({ open: true, defaultFormValue: {}, title: "创建学校", }); }, }} > 创建学校 [ add(text, row, _, action), edit(text, row, _, action), remove(text, row, _, action), ], }, ]} path="/organization/page" expandable={{ columnWidth: "60px", expandedRowKeys, onExpandedRowsChange, expandedRowRender: (record) => (
[ edits(text, row, _, action), removes(text, row, _, action), ], }, ]} extraparams={{ parentId: record?.id }} >
), }} >
); } export default Organization;