import React, { useEffect, useRef, useState } from "react"; import type { ProColumns, ActionType, ProFormInstance } from '@ant-design/pro-components'; import type {FormInstance} from 'antd' import { SDPage,SDFormText,SDModalForm,SDTable,SDButton,SDSubmitButton,EditType, SDAreaTtile, SDOperate, baseFun, validateFun, SDFormDict, } from "@sundata/ui-frame"; import type { DataSetConfigModel } from '@/services/internalEvaluation/configuration/datasetconfig'; import { WomanOutlined } from "@ant-design/icons"; import { ProductProps } from "@/sundataImport"; import { deleteRows, getDataList, selectDetailData, updateExistData, createData } from "@/services/internalEvaluation/configuration/datasetconfig"; import { countChineseChars, firstCharIsNotNumber } from "../utils/rwacheckutils"; type widowRush = { onCancel: () => void; onChangeVisible(visible: boolean, type: string): unknown; onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void; }& ProductProps; const datasetconfig : React.FC = (prop:widowRush) => { /** 编辑方式,查看、修改、新增按钮时设置,详细信息表单中使用 */ const [editType, setEditType] = useState(prop.editType || 'display'); /** 是否显示详细信息窗口 */ const [detailVisible, setDetailVisible] = useState(false); const [currentRow, setCurrentRow] = useState(); /** 表格引用对象,刷新表格使用 */ const actionRef = useRef(); const formRef = useRef>(); const templateRef = useRef>(); // 页面数据 var formDataList = new Array; useEffect(() => { }, []); // 修改查询查询 const selectData = async (formdata : DataSetConfigModel) => { const data = await selectDetailData(formdata); formRef.current?.setFieldsValue(data); } // 删除 const delRows =async(record:any)=>{ baseFun.confirm('确认删除?',async() =>{ await deleteRows(record); baseFun.info("删除成功"); closeAndRefresh(); }); } //关闭窗口刷新父页面 const closeAndRefresh = ()=>{ actionRef.current?.reloadAndRest?.(); } // 插入或者更新数据 const handleSave = async(data: DataSetConfigModel,) => { if (editType == 'update' ) { await updateExistData(data); closeAndRefresh(); } else if (editType == 'create' ) { await createData(data); closeAndRefresh(); } setDetailVisible(false); } // 数据项配置页面展示元素 const columns: ProColumns[] = [ { title: '数据集编号', dataIndex: 'dataSetNo', hideInTable: false, }, { title: '数据集名称', dataIndex: 'dataSetName', search: false, hideInTable: false, }, { title: '操作', dataIndex: 'operate', valueType: 'option', render: (_, record) => [ } successMessage="" onClick={ ()=>{ selectData(record); setDetailVisible(true); setEditType('update') } } > 修改 , } successMessage="" onClick={()=>{delRows(record) } } > 删除 , ], }, ]; return ( { const formDatas = await getDataList(formdata); // 解构数组(导出用) formDataList=[...formDatas]; return {data: formDatas} } } columns={columns} actionRef={actionRef} toolBarRender={(_: any, { selectedRows }: any) => [ { setEditType('create'); setDetailVisible(true); }} > 新增 ]} formRef={formRef} setDetailVisible={() => {setDetailVisible(true)}} setEditType={setEditType} setCurrentRow={setCurrentRow} /> {detailVisible && ( {setDetailVisible(false)}} footer={[ 保存, { setDetailVisible(false); }}>关闭 ]} tableRef={actionRef} formRef={formRef} > { if (firstCharIsNotNumber(value)>0) { callback('编号不能以数字开头'); } else { callback(); } } } ]} label="数据集编号"/> )} ); } export default datasetconfig;