import React, { useEffect, useRef, useState } from 'react'; import { Button, Form, FormInstance, Input, Space, Table, Tooltip, Upload } from 'antd'; import { EditType, SDForm, SDFormDict, SDFormText, SDModal, SDModalForm, SDOperate, SDPage, SDSubmitButton, SDTable, baseFun, SDButton, validateFun, SDFormItem } from '@sundata/ui-frame'; import { ActionType, ProColumns } from '@ant-design/pro-table'; import { WomanOutlined } from '@ant-design/icons'; import { result } from 'lodash'; import { deleteGovFinancialAssetComp, exportExcelModel, getGovFinancialAssetComp, GovFinancialAssetCompModel, inserteGovFinancialAssetComp, selectGovFinancialAssetComp, templateUpload, uploadAction } from '@/services/rwa/govFinancialAssetComp'; import { countChineseChars } from '@/services/rwa/product/rwacheckutils'; type bbb ={ }//中央政府投资的金融资产管理公司清单表 const govFinancialAssetCompts: React.FC= (prop : bbb) => { const [editType, setEditType] = useState('update'); const formRef = useRef>(); /** 当前行对象,查看详情、修改时,作为详细信息表单的查询条件 */ const [currentRow,setCurrentRow] = useState(); const [dataSource, setDataSource] = useState() ; const [detailVisible, setDetailVisible] = useState(false); const [visible,setVisible] = useState(false);//弹窗是否显示 const [deadline,setdeadline] = useState(false);//弹窗是否显示 const [secName,setSecName] = useState(false);//弹窗是否显示 const [importVisible, setImportVisible] = useState(false); const tableActionRef = useRef(); const actionRef = useRef(); /**上传文件 */ const [fileData, setFileData] = useState(); const closeAndRefresh = ()=>{ setVisible(false); actionRef.current?.reloadAndRest?.(); } var formDataList = new Array; const selectdata = async (record:any)=>{ const sd =await selectGovFinancialAssetComp(record.name); // if (sd.deadline ==='' || sd.deadline ===null){ // setSecName(true); // setdeadline(false); // console.log('1'); // }else { // console.log('3'); // setdeadline(true); // setSecName(false) // } console.log(sd); formRef.current?.setFieldsValue(sd); } const inst = async(formData : GovFinancialAssetCompModel) => { setEditType('create') console.log(formData); formRef.current?.getFieldValue(formData); const insSovere =await inserteGovFinancialAssetComp(formData) closeAndRefresh(); console.log(insSovere); if(insSovere){ baseFun.info ("保存成功"); }else{ baseFun.error(insSovere); } ; } const del = async(record:any)=>{ baseFun.confirm("请确认是否继续操作。",async()=>{ await deleteGovFinancialAssetComp(record.name) closeAndRefresh(); baseFun.info("删除成功"); }) } const disdata = async (record:any)=>{ const sd =await selectGovFinancialAssetComp(record.name); (record.qualfiedCreditToolType,record.secClassificationCd); formRef.current?.setFieldsValue(sd); // return {data :sd}; } const columns: ProColumns[] = [ { title : '计算实例号', dataIndex : 'calcindex', width:150, search: false, hideInTable: true, }, { title : '缓释分类', dataIndex : 'crmClass', search: false, hideInTable: true, width:150 }, { title : '数据日期', dataIndex : 'dataDate', width:150, search: false, hideInTable: true, }, { title : '截止数据日期', dataIndex : 'edate', width:150, search: false, hideInTable: true, }, { title : '交易对手名称', dataIndex : 'name', width:150 }, { title : '缓释工具类型', dataIndex : 'qualfiedCreditToolTypeName', search: false, hideInTable:true, width:150 }, { title : '缓释工具类型', dataIndex : 'qualfiedCreditToolName', search: false, width:150 }, { title : '起始数据日期', dataIndex : 'sdate', width:150, search: false, hideInTable: true, }, { title : '年月', dataIndex : 'term', width:150, search: false, hideInTable: true, }, { title : '缓释权重', dataIndex : 'weight', search: false, hideInTable: true, width:150 }, { title : '备注', dataIndex : 'notes', search: false, hideInTable: true, width:150 }, { title: '操作', dataIndex: 'operate', valueType: 'option', render: (_, record) => [ } successMessage="" onClick={()=>{ selectdata(record); setVisible(true); setEditType('update') } } > 修改 , } successMessage="" onClick={()=>{ del(record); } } > 删除 , ], }, ] /**上传提交 */ const uploadSubmit = async () => { if (!fileData) { baseFun.warning('未上传文件'); return; } const res = await uploadAction(fileData); if ('导入成功'===res) { baseFun.info("处理完成"); } else { baseFun.error(res); } setEditType('update'); setDetailVisible(false); }; // 模板下载 const templateUploadAction = async() => { await templateUpload("govFinancialAssetComp"); // baseFun.info("处理完成"); } /**上传属性 */ const fileProps = { onRemove: () => { setFileData(undefined); }, beforeUpload(info: any) { setFileData(info); }, }; return( { const sd = await getGovFinancialAssetComp(formData); formDataList =[...sd]; return {data :sd }; }} columns={columns} actionRef={actionRef} formRef={formRef} // operations={["create"]} //handleRemove={deletedata} setCurrentRow={setCurrentRow} setEditType={setEditType} setDetailVisible={setVisible} toolBarRender={(_, { selectedRows }) => [ { exportExcelModel("govFinancialAssetComp",formDataList); baseFun.info('处理完成'); }} > 全部导出 , { baseFun.confirm("请注意本功能意在覆盖本表所有数据,请谨慎使用!",()=>{ setImportVisible(true);}) }} > 覆盖导入 , ]} > {importVisible && ( {setImportVisible(false)}} tableRef={actionRef} footer={[ {await uploadSubmit()}} >提交, { templateUploadAction(); }} > 模板下载 ] } >
选择上传文件:   上传
)} { visible &&( { setVisible(false) }} initialValues={{crmClass :'保证'}} footer={[保存, closeAndRefresh()}>关闭]} formRef={formRef} > { let chineseCount = countChineseChars(value); if (chineseCount > 500) { callback('最多500个汉字'); } else if (chineseCount<=0) { callback('请输入汉字'); } else{ callback(); } }}]} />
) }
) };export default govFinancialAssetCompts