import { Button, DatePicker, Descriptions, Form, Input, InputNumber, message, Modal, Row, Col, Select, Space, Tag, Table, } from "antd"; import TableAction from "@cqsjjb/jjb-react-admin-component/TableAction"; import { tools } from "@cqsjjb/jjb-common-lib"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { useEffect, useState } from "react"; import PageLayout from "@cqsjjb/jjb-react-admin-component/PageLayout"; import SearchForm from "@cqsjjb/jjb-react-admin-component/SearchForm"; import ControlWrapper from "@cqsjjb/jjb-react-admin-component/ControlWrapper"; import { AntdTableFuncControl } from "@cqsjjb/jjb-common-decorator/antd"; import { isOrgAccountEnabled } from "~/utils/enterpriseInfo/adapter"; import { CHONGQING_DISTRICTS, ENTERPRISE_SCALE_OPTIONS, ORG_ACCOUNT_STATE_OPTIONS, ENTERPRISE_STATUS_OPTIONS, } from "~/enumerate/enterpriseOptions"; import { NS_ORG_INFO } from "~/enumerate/namespace"; import { safeListRequest, safeRequest } from "~/utils"; const { router } = tools; function OrgAccountPage(props) { const [searchForm] = Form.useForm(); const [editForm] = Form.useForm(); const [viewOpen, setViewOpen] = useState(false); const [editOpen, setEditOpen] = useState(false); const [currentId, setCurrentId] = useState(null); const [detail, setDetail] = useState(null); const [detailLoading, setDetailLoading] = useState(false); const [editLoading, setEditLoading] = useState(false); const [dataSource, setDataSource] = useState([]); const [total, setTotal] = useState(0); const [loading, setLoading] = useState(false); const getData = async () => { setLoading(true); try { const raw = searchForm.getFieldsValue(); const params = { ...raw, current: router.query.current || 1, pageSize: router.query.pageSize || 10, state: raw.state !== "" && raw.state !== undefined ? Number(raw.state) : undefined, ...(Array.isArray(raw.openTimeRange) && raw.openTimeRange[0] && raw.openTimeRange[1] ? { createTimeStart: raw.openTimeRange[0].format("YYYY-MM-DD"), createTimeEnd: raw.openTimeRange[1].format("YYYY-MM-DD"), } : {}), }; delete params.openTimeRange; Object.keys(params).forEach((k) => { if (params[k] === undefined) delete params[k]; }); const res = await safeListRequest(props.orgAccountList)(params); setDataSource(res?.data || []); setTotal(res?.total || 0); } finally { setLoading(false); } }; useEffect(() => { getData(1, 10); }, []); const loadDetail = async (id) => { setDetailLoading(true); const res = await safeRequest(props.orgAccountGet, { id }); setDetail(res?.data || null); setDetailLoading(false); return res; }; const openView = async (id) => { setCurrentId(id); setViewOpen(true); await loadDetail(id); }; const openEdit = async (id) => { setCurrentId(id); setEditOpen(true); const res = await loadDetail(id); if (res?.data) { editForm.setFieldsValue(res.data); } }; const onToggleStatus = (record) => { const enabled = isOrgAccountEnabled(record); Modal.confirm({ title: "确认操作", content: enabled ? `确认禁用「${record.unitName}」账号?` : `确认启用「${record.unitName}」账号?`, okText: "确认", cancelText: "取消", onOk: async () => { const nextState = enabled ? 1 : 0; const res = await props.orgAccountUpdateState({ id: record.id, state: nextState, }); if (res?.success !== false) { message.success("操作成功"); await getData(); } }, }); }; const onResetPassword = (record) => { console.log(record); Modal.confirm({ title: "重置密码", content: (
确认将 {record.unitName} 的密码重置为初始密码?
初始密码:a123456
确认删除 {record.unitName} 的账号?
此操作不可恢复,请谨慎操作。