index.js 2.0 KB
Newer Older
王绍森's avatar
王绍森 committed
1 2 3
import React, { useState } from 'react';
import PageTypeMatching from '@/highOrderComponent/PageTypeMatching';
import getInfoGenerator from '@/webPublic/FormInsertDiy/getInfoGenerator';
4
import AuditModal from './AuditModal';
王绍森's avatar
王绍森 committed
5
import { findValueByKey } from '../../../../pages/zydtw/Cxcy/utils';
6
import withGoBack from '@/highOrderComponent/withGoBack';
7
import ButtonDiy from '@/baseComponent/ButtonDiy';
王绍森's avatar
王绍森 committed
8 9 10 11 12

const defaultNameSpan = { big: 9, small: 9 };
const defaultFieldSpan = { big: 4, small: 4 };

const defaultPageSetting = {
13 14 15 16
	selectRows: true,
	paging: true,
	searchArea: true,
	buttonArea: true,
王绍森's avatar
王绍森 committed
17 18
};

19
export default withGoBack(function BatchAudit({
20 21 22 23 24 25 26 27 28 29
	appId,
	flowNode,
	getInfo,
	condition,
	nameSpan,
	fieldSpan,
	tableRowKey,
	columns,
	pageButton,
	pageSetting,
王绍森's avatar
王绍森 committed
30
}) {
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
	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 || [],
	};
王绍森's avatar
王绍森 committed
53

54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
	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>
				);
			},
		},
	];
王绍森's avatar
王绍森 committed
71

72 73 74 75 76 77 78 79
	return (
		<PageTypeMatching
			tabsShellStyle={{ marginTop: 0 }}
			pageSetting={{ type: 'list', listConfig: { ...defaultPageSetting, ...pageSetting } }}
			pageButton={pageButton || defaultPageButton}
			pageSearch={pageSearch}
		/>
	);
80
});