import React, { useState } from 'react'; import PageTypeMatching from '@/highOrderComponent/PageTypeMatching'; import getInfoGenerator from '@/webPublic/FormInsertDiy/getInfoGenerator'; import AuditModal from './AuditModal'; import { findValueByKey } from '../../../../pages/zydtw/Cxcy/utils'; import withGoBack from '@/highOrderComponent/withGoBack'; import ButtonDiy from '@/baseComponent/ButtonDiy'; const defaultNameSpan = { big: 9, small: 9 }; const defaultFieldSpan = { big: 4, small: 4 }; const defaultPageSetting = { selectRows: true, paging: true, searchArea: true, buttonArea: true, }; export default withGoBack(function BatchAudit({ appId, flowNode, getInfo, condition, nameSpan, fieldSpan, tableRowKey, columns, pageButton, pageSetting, }) { const pageSearch = { search: { searchType: 'cascadeSearchNew', getInfo: getInfo || getInfoGenerator(condition), url: '/common/assigneeTasks', field: { appId: { required: true, defaultValue: appId, }, flowNode: { required: true, defaultValue: flowNode, }, }, condition: condition || [], nameSpan: nameSpan || defaultNameSpan, fileSpan: fieldSpan || defaultFieldSpan, }, tableRowKey: tableRowKey || 'buzinessId', columns: columns || [], }; const defaultPageButton = [ { type: 'create', name: '批量审核', component: 'RenderComponent', render: ({ selectRows, getPage }) => { const disabled = !selectRows || !Array.isArray(selectRows) || !selectRows.length; return ( <AuditModal selectRows={selectRows.map(i => ({...i, code: findValueByKey(i, 'code')}))} getPage={getPage}> {({ onShow }) => <ButtonDiy name="批量审核" handleClick={onShow} disabled={disabled} />} </AuditModal> ); }, }, ]; return ( <PageTypeMatching tabsShellStyle={{ marginTop: 0 }} pageSetting={{ type: 'list', listConfig: { ...defaultPageSetting, ...pageSetting } }} pageButton={pageButton || defaultPageButton} pageSearch={pageSearch} /> ); });