#
Junjie
2025-02-14 ac4341ea6b66ae02427d39d35f41d42d78b2eb2e
zy-asrs-flow/src/pages/system/user/index.jsx
@@ -20,93 +20,93 @@
const TABLE_KEY = "pro-table-user";
const handleSave = async (val) => {
    const hide = message.loading('正在添加');
const handleSave = async (val, intl) => {
    const hide = message.loading(intl.formatMessage({ id: 'page.adding', defaultMessage: '正在添加' }));
    try {
        const resp = await Http.doPost('api/user/save', val);
        if (resp.code === 200) {
            message.success('添加成功');
            message.success(intl.formatMessage({ id: 'page.add.success', defaultMessage: '添加成功' }));
            return true;
        } else {
            message.error(resp.msg);
            return false;
        }
    } catch (error) {
        message.error('添加失败请重试!');
        message.error(intl.formatMessage({ id: 'page.add.fail', defaultMessage: '添加失败请重试!' }));
        return false;
    } finally {
        hide();
    }
};
const handleUpdate = async (val) => {
    const hide = message.loading('正在更新');
const handleUpdate = async (val, intl) => {
    const hide = message.loading(intl.formatMessage({ id: 'page.updating', defaultMessage: '正在更新' }));
    try {
        const resp = await Http.doPost('api/user/update', val);
        if (resp.code === 200) {
            message.success('更新成功');
            message.success(intl.formatMessage({ id: 'page.update.success', defaultMessage: '更新成功' }));
            return true;
        } else {
            message.error(resp.msg);
            return false;
        }
    } catch (error) {
        message.error('配置失败请重试!');
        message.error(intl.formatMessage({ id: 'page.update.fail', defaultMessage: '更新失败请重试!' }));
        return false;
    } finally {
        hide();
    }
};
const handleRemove = async (rows) => {
const handleRemove = async (rows, intl) => {
    if (!rows) return true;
    const hide = message.loading('正在删除');
    const hide = message.loading(intl.formatMessage({ id: 'page.deleting', defaultMessage: '正在删除' }));
    try {
        const resp = await Http.doPost('api/user/remove/' + rows.map((row) => row.id).join(','));
        if (resp.code === 200) {
            message.success('删除成功');
            message.success(intl.formatMessage({ id: 'page.delete.success', defaultMessage: '删除成功' }));
            return true;
        } else {
            message.error(resp.msg);
            return false;
        }
    } catch (error) {
        message.error('删除失败,请重试');
        message.error(intl.formatMessage({ id: 'page.delete.fail', defaultMessage: '删除失败,请重试!' }));
        return false;
    } finally {
        hide();
    }
};
const handleExport = async () => {
    const hide = message.loading('正在导出');
const handleExport = async (intl) => {
    const hide = message.loading(intl.formatMessage({ id: 'page.exporting', defaultMessage: '正在导出' }));
    try {
        const resp = await Http.doPostBlob('api/user/export');
        const blob = new Blob([resp], { type: 'application/vnd.ms-excel' });
        window.location.href = window.URL.createObjectURL(blob);
        message.success('导出成功');
        message.success(intl.formatMessage({ id: 'page.export.success', defaultMessage: '导出成功' }));
        return true;
    } catch (error) {
        message.error('导出失败,请重试');
        message.error(intl.formatMessage({ id: 'page.export.fail', defaultMessage: '导出失败,请重试' }));
        return false;
    } finally {
        hide();
    }
};
const handlePwd = async (val) => {
    const hide = message.loading('正在重置');
const handlePwd = async (val, intl) => {
    const hide = message.loading(intl.formatMessage({ id: 'page.resetting', defaultMessage: '正在重置' }));
    try {
        const resp = await Http.doPost('api/user/reset/pwd', val);
        if (resp.code === 200) {
            message.success('重置成功');
            message.success(intl.formatMessage({ id: 'page.reset.success', defaultMessage: '重置成功' }));
            return true;
        } else {
            message.error(resp.msg);
            return false;
        }
    } catch (error) {
        message.error('重置失败请重试!');
        message.error(intl.formatMessage({ id: 'page.reset.fail', defaultMessage: '重置失败请重试!' }));
        return false;
    } finally {
        hide();
@@ -161,7 +161,10 @@
    const columns = [
        {
            title: 'No',
            title: intl.formatMessage({
                id: 'page.table.no',
                defaultMessage: 'No'
            }),
            dataIndex: 'index',
            valueType: 'indexBorder',
            width: 48,
@@ -432,7 +435,7 @@
            title: '操作',
            dataIndex: 'option',
            valueType: 'option',
            width : 180,
            width: 180,
            render: (_, record) => [
                <Button
                    type="link"
@@ -443,7 +446,7 @@
                        setCurrentRow(record);
                    }}
                >
                    编辑
                    <FormattedMessage id='page.edit' defaultMessage='编辑' />
                </Button>,
                <Button
                    type="link"
@@ -454,7 +457,7 @@
                        setCurrentRow(record);
                    }}
                >
                    重置密码
                    <FormattedMessage id='page.reset.pwd' defaultMessage='重置密码' />
                </Button>,
                <Button
                    type="link"
@@ -463,10 +466,10 @@
                    key="remove"
                    onClick={async () => {
                        Modal.confirm({
                            title: '删除',
                            content: '确定删除该项吗?',
                            title: intl.formatMessage({ id: 'page.delete', defaultMessage: '删除' }),
                            content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '确定删除该项吗?' }),
                            onOk: async () => {
                                const success = await handleRemove([record]);
                                const success = await handleRemove([record], intl);
                                if (success) {
                                    if (actionRef.current) {
                                        actionRef.current.reload();
@@ -476,7 +479,7 @@
                        });
                    }}
                >
                    删除
                    <FormattedMessage id='page.delete' defaultMessage='删除' />
                </Button>,
                <TableDropdown
                    key="actionGroup"
@@ -488,7 +491,7 @@
                        }
                    }}
                    menus={[
                        { key: 'assign', name: '分配角色' },
                        { key: 'assign', name: intl.formatMessage({ id: 'page.assign.role', defaultMessage: '分配角色' }) },
                    ]}
                />,
            ],
@@ -503,10 +506,13 @@
        >
            <Row gutter={[16, 24]}>
                <Col lg={6} md={24}>
                    <Card title="部门" style={{ width: '100%', height: 'calc(100vh - 160px)' }}>
                    <Card
                        title={intl.formatMessage({ id: 'system.dept', defaultMessage: '部门' })}
                        style={{ width: '100%', height: 'calc(100vh - 160px)' }}
                    >
                        <Input
                            style={{ marginBottom: 10 }}
                            placeholder="请输入"
                            placeholder={intl.formatMessage({ id: 'commont.enter', defaultMessage: '请输入' })}
                            onChange={(e) => {
                                const { value } = e.target;
                                loadDeptTreeData({
@@ -577,11 +583,11 @@
                                    hidden={selectedRows?.length === 0}
                                    onClick={async () => {
                                        Modal.confirm({
                                            title: '是否确认删除所选数据项?',
                                            title: intl.formatMessage({ id: 'page.delete', defaultMessage: '删除' }),
                                            content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '确定删除该项吗?' }),
                                            icon: <ExclamationCircleOutlined />,
                                            content: '请谨慎操作',
                                            async onOk() {
                                                const success = await handleRemove(selectedRows);
                                                const success = await handleRemove(selectedRows, intl);
                                                if (success) {
                                                    setSelectedRows([]);
                                                    actionRef.current.reload();
@@ -592,7 +598,7 @@
                                    }}
                                >
                                    <DeleteOutlined />
                                    删除
                                    <FormattedMessage id='page.delete' defaultMessage='删除' />
                                </Button>,
                                <Button
                                    type="primary"
@@ -602,16 +608,16 @@
                                    }}
                                >
                                    <PlusOutlined />
                                    添加
                                    <FormattedMessage id='page.add' defaultMessage='添加' />
                                </Button>,
                                <Button
                                    key="export"
                                    onClick={async () => {
                                        handleExport();
                                        handleExport(intl);
                                    }}
                                >
                                    <ExportOutlined />
                                    导出
                                    <FormattedMessage id='page.export' defaultMessage='导出' />
                                </Button>,
                            ],
                        }}
@@ -670,9 +676,9 @@
                onSubmit={async (values) => {
                    let ok = false;
                    if (values.id) {
                        ok = await handleUpdate({ ...values })
                        ok = await handleUpdate({ ...values }, intl)
                    } else {
                        ok = await handleSave({ ...values })
                        ok = await handleSave({ ...values }, intl)
                    }
                    if (ok) {
                        setModalVisible(false);
@@ -697,7 +703,7 @@
                onSubmit={async (values) => {
                    let ok = false;
                    if (values.id) {
                        ok = await handlePwd({ ...values })
                        ok = await handlePwd({ ...values }, intl)
                    }
                    if (ok) {
                        setPwdModalVisible(false);
@@ -722,7 +728,7 @@
                onSubmit={async (values) => {
                    let ok = false;
                    if (values.id) {
                        ok = await handleUpdate({ ...values })
                        ok = await handleUpdate({ ...values }, intl)
                    }
                    if (ok) {
                        setAssignModalVisible(false);