import React from 'react'; import { config } from '../component/base/config'; import { transferAttr } from '../component/base/_utils/transferAttr'; import styles from './index.less'; const DetailForm = (props: any) => { const { data, rowData, title, goEdit, hideEditBtn } = props; const renderDetailForm = (item: any) => { const { columnType, columnAttrObj, value, renderDetailForm } = item; let detailConfig; if (typeof renderDetailForm === 'function') { detailConfig = renderDetailForm({ cellData: value, rowData, columnConfig: item }); } else { detailConfig = config[String(columnType)] || config['1']; } const DetailComp: any = detailConfig.detailComp; const cellRenderProps: any = detailConfig.cellRenderProps || {}; const newProps = { ...(detailConfig.componentAttr || {}), ...(columnAttrObj || {}), }; const transferColumn = transferAttr(columnType, newProps); return ( ); }; const renderBtn = () => { return (
{ return goEdit('editPage'); }} > 编辑
); }; return (
{title}
{!hideEditBtn && renderBtn()}
{data.map((item: any, index: number) => { const border = index === 0 ? { border: '1px solid #ECECEC' } : { borderBottom: '1px solid #ECECEC', borderLeft: '1px solid #ECECEC', borderRight: '1px solid #ECECEC', }; return (
{`${item.columnChsName}:`}
{renderDetailForm(item)}
); })}
); }; export default DetailForm;