/* * @Author: code4eat awesomedema@gmail.com * @Date: 2023-03-03 11:30:33 * @LastEditors: code4eat awesomedema@gmail.com * @LastEditTime: 2023-10-20 17:32:10 * @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 { createFromIconfontCN } from '@ant-design/icons'; import { ProFormDependency, ProFormDigit, ProFormRadio, ProFormSelect, } from '@ant-design/pro-components'; import { ModalForm, ProFormText } from '@ant-design/pro-form'; import FormItem from 'antd/es/form/FormItem'; import {DatePicker,Input} from 'antd'; import { useEffect, useRef, useState } from 'react'; import { getData, downloadTemplateReq, importDataPost } from './service'; import './style.less'; import moment from 'moment'; import 'moment/locale/zh-cn'; import locale from 'antd/es/date-picker/locale/zh_CN'; import KCIMPagecontainer from '@/components/KCIMPageContainer'; import { KCIMTable } from '@/components/KCIMTable'; import KCIMUpload from '@/components/KCIMUpload'; const IconFont = createFromIconfontCN({ scriptUrl: '', }); const currentData = `${new Date().getFullYear()}-${(new Date().getMonth()+1).toString().padStart(2, '0')}` export default function empCostDataImport() { const [computeDate,set_computeDate] = useState(currentData); const [tableDataFilterParams, set_tableDataFilterParams] = useState({computeDate:currentData}); const [tableDataSearchKeywords, set_tableDataSearchKeywords] = useState(''); const tableRef = useRef(); const columns = [ { title: '工号', dataIndex: 'empCode', }, { title: '姓名', dataIndex: 'empName', }, { title: '总工时', dataIndex: 'hour', }, { title: '固定薪资', dataIndex: 'salary', }, { title: '变动薪资', dataIndex: 'variableCompensation', }, { title: '总成本', dataIndex: 'cost', }, ]; const getTableData = async (params) => { const resp = await getData({ ...params,...tableDataFilterParams}); const { status, data } = resp; if (status == 200) { const { list, totalCount, pageSize, totalPage } = data; if (resp.totalCount == 0 && resp.currPage != 1) { return getTableData({ ...params, current: resp.currPage - 1 }); } else { return { data: list, success: true, total: totalCount, pageSize: pageSize, totalPage: totalPage, }; } } return []; }; const tableDataSearchHandle = (paramName) => { set_tableDataFilterParams({ ...tableDataFilterParams, [`${paramName}`]: tableDataSearchKeywords }) } const downloadTemplate = async () => { await downloadTemplateReq(); }; const importData = () => { return ( 导入 } submitter={{ render: (props, defaultDoms) => { const needBtn = defaultDoms.filter((b) => { return b.key != 'rest'; }); return [ // , ...needBtn, ]; }, }} onFinish={async (values) => { const { importFile: { fileList }, } = values; let formData = new FormData(); formData.append('file', fileList[0].originFileObj); formData.append('computeDate',computeDate); const resp = await importDataPost(formData); if (resp) { tableRef.current?.reload(); return true; } }} > downloadTemplate()} /> ); }; useEffect(() => {}, []); return (
{
核算年月: { set_computeDate(dateString); set_tableDataFilterParams({ ...tableDataFilterParams, computeDate: dateString, }); }} picker="month" locale={locale} defaultValue={moment(`${new Date().getFullYear()}-${(new Date().getMonth()+1).toString().padStart(2, '0')}`, 'YYYY-MM')} format="YYYY-MM" placeholder="选择年月" />
}
检索: tableDataSearchHandle('filter')} /> } onChange={(e) => { set_tableDataSearchKeywords(e.target.value); if (e.target.value.length == 0) { set_tableDataFilterParams({ ...tableDataFilterParams, filter: '' }); } }} onPressEnter={(e) => { set_tableDataFilterParams({ ...tableDataFilterParams, filter: e.target.value }); }} />
{importData()}
getTableData(params)} />
); }