import React from 'react'; import { App, Descriptions, Drawer, Form, Input, Modal, Select } from 'antd'; import JinshujuMatchModal from '../../components/JinshujuMatchModal'; import StudentProfileContent from '../../components/StudentProfileContent'; import { SENSITIVE_LABELS } from './StudentColumns'; import { useSubmitShortcut } from '../../hooks/useSubmitShortcut'; type AppModal = ReturnType['modal']; export const showCreateImportResult = ( modal: AppModal, result: { message?: string; imported?: number; skipped?: number }, ) => { const imported = result.imported ?? 0; const skipped = result.skipped ?? 0; modal.success({ title: '导入完成', okText: '知道了', content: (
{imported} 人 {skipped} 人
跳过原因:
当前后端只返回统计汇总,暂时无法列出具体哪几行被跳过。
), }); }; export const showUpdateImportResult = ( modal: AppModal, result: { message?: string; matched?: number; skipped?: number }, ) => { const matched = result.matched ?? 0; const skipped = result.skipped ?? 0; modal.success({ title: '更新完成', okText: '知道了', content: (
{matched} 人 {skipped} 人
匹配规则:
手机号优先,身份证号其次
当前后端只返回统计汇总,暂时无法列出具体哪几行未匹配。
), }); }; export const StudentEditModal: React.FC<{ open: boolean; editing: boolean; saving: boolean; form: ReturnType[0]; canChooseOrganization: boolean; organizations: Array<{ id: number; name: string; isHost?: boolean }>; onOk?: () => void; onCancel: () => void; }> = ({ open, editing, saving, form, canChooseOrganization, organizations, onOk, onCancel, }) => { useSubmitShortcut(open && !saving, () => onOk?.()); return (
{canChooseOrganization ? ( {editing && (