/* * @Author: code4eat awesomedema@gmail.com * @Date: 2023-03-03 11:30:33 * @LastEditors: code4eat awesomedema@gmail.com * @LastEditTime: 2023-07-21 17:25:37 * @FilePath: /KC-MiddlePlatform/src/pages/platform/setting/pubDicTypeMana/index.tsx * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ import BMSPagecontainer from '@/components/BMSPageContainer'; import { BMSTable } from '@/components/BMSTable'; import { createFromIconfontCN } from '@ant-design/icons'; import { ActionType } from '@ant-design/pro-components'; import { ModalForm, ProFormDatePicker, ProFormSelect, ProFormText, ProFormTextArea } from '@ant-design/pro-form' import { ProColumns } from '@ant-design/pro-table'; import { Input, message, Popconfirm, DatePicker } from 'antd'; import { useEffect, useRef, useState } from 'react' import { addData, afterImport, delData, editData, getData, getSpecialImportTable, tableDataImport } from './service'; import FormItem from 'antd/es/form/FormItem'; import './style.less'; import '../../../utils/zhongtaiA' import moment from 'moment'; import 'moment/locale/zh-cn'; import locale from 'antd/es/date-picker/locale/zh_CN'; import { getComputeDate } from '@/pages/Home/service'; import BMSUpload from '@/components/BMSUpload'; const IconFont = createFromIconfontCN({ scriptUrl: '', }); export default function DicClassfication() { const [tableDataFilterParams, set_tableDataFilterParams] = useState(); const [tableDataSearchKeywords, set_tableDataSearchKeywords] = useState(''); const [currentComputeDate, set_currentComputeDate] = useState(undefined); const tableRef = useRef(); const columns: ProColumns[] = [ { title: '所属年月', dataIndex: 'computeDate', ellipsis: true }, { title: '数据库表名称', dataIndex: 'tableNameDisplay', ellipsis: true }, { title: '文件名称', dataIndex: 'fileName', ellipsis: true, renderText(text, record, index, action) { return {record.fileName} }, }, { title: '导入时间', dataIndex: 'createTime', ellipsis: true }, { title: '导入人员', dataIndex: 'createUserName', ellipsis: true }, { title: '操作', key: 'option', width: 120, valueType: 'option', render: (_: any, record: any) => { return [ afterImportHandle(record)} > {record.importStatus == 1?'复原导入':'撤销导入'} ] }, }, ]; const getCurrentComputeDate = async () => { const resp = await getComputeDate(); set_currentComputeDate(resp); //set_tableDataFilterParams({...tableDataFilterParams,computeDate:resp}) } const afterImportHandle =async (record:any) => { const {importStatus} = record; const resp = await afterImport(record.id,importStatus?'RECOVERY':'CANCEL'); if(resp){ message.success('操作成功!'); tableRef.current?.reload(); } } const getTableData = async (params: any) => { const { computeDate } = params; const resp = await getData({ ...params, computeDate: computeDate ? computeDate : currentComputeDate }); if (resp) { return { data: resp.list, success: true, total: resp.totalCount, pageSize: resp.pageSize, totalPage: resp.totalPage, } } return [] } const importData = () => { function downloadTemplate(): void { } return ( 导入 } submitter={{ render: (props, defaultDoms) => { const needBtn = defaultDoms.filter((b) => { return b.key != 'rest' }) return [ ...needBtn, ]; }, }} onFinish={async (values) => { // console.log({values}); const { importFile: { fileList } } = values; let formData = new FormData(); formData.append('file', fileList[0].originFileObj); formData.append('computeDate', values.computeDate); formData.append('tableName', values.tableName); const resp = await tableDataImport(formData); if (resp) { tableRef.current?.reload(); return true; } }} >
本操作为追加导入,会保留已有的数据并将文件的所有记录追加到数据表
{ const resp = await getSpecialImportTable(); if (resp) { return resp.list.map((a: any) => ({ label: a.name, value: a.code })) } return [] }} rules={[{ required: true, message: '数据库表名称不能为空!' }]} /> {currentComputeDate && downloadTemplate()} ifShowTip={false} ifShowTemplateDownload={false} />}
) } const updateTable = async (formVal: any, type: 'EDIT' | "ADD") => { if (type == 'ADD') { const resp = await addData({ ...formVal }); if (resp) { tableRef.current?.reload(); message.success('操作成功!'); } } if (type == 'EDIT') { const resp = await editData({ ...formVal }); if (resp) { tableRef.current?.reload(); message.success('操作成功!'); } } return true; } const tableDataSearchHandle = (paramName: string) => { set_tableDataFilterParams({ ...tableDataFilterParams, [`${paramName}`]: tableDataSearchKeywords }) } useEffect(() => { getCurrentComputeDate(); }, []) return (
{(
所属年月: { set_tableDataFilterParams({ ...tableDataFilterParams, computeDate: dateString }) }} picker='month' locale={locale} //defaultValue={moment(currentComputeDate, 'YYYY-MM')} format='YYYY-MM' placeholder="选择年月" />
)}
表名称: { const resp = await getSpecialImportTable(); if (resp) { return resp.list.map((a: any) => ({ label: a.name, value: a.code })) } return [] }} fieldProps={{ onChange(value, option) { set_tableDataFilterParams({ ...tableDataFilterParams,tableName: value }) }, }} />
{importData()}
{currentComputeDate && getTableData(params)} />}
) }