import _ from 'lodash'; import { request } from 'umi'; /** 获取规则列表 GET */ export const list = (isNew = false) => { return async ( params: { current?: number; pageSize?: number; appId?: number; defaultTemp?: string; state?: string; }, sort?: Record, filter?: Record, ) => { const { current, pageSize, appId, defaultTemp, state, ...otherParams } = params; const formatedFilter = {}; if (filter) { _.forEach(_.keys(_.omitBy(filter, _.isNull)), (item) => { formatedFilter[`${item}s`] = _.map(filter[item], (val) => parseInt(val, 10)); }); } const { data: { list: data, pagination: { total }, }, } = await request(`/goapi/${isNew ? 'bpmTemplate' : 'auditTemplate'}/list`, { method: 'POST', data: { condition: { appId: appId, defaultTemp: defaultTemp ? parseInt(defaultTemp, 10) : undefined, state: state ? parseInt(state, 10) : undefined, ...formatedFilter, ..._.omitBy(otherParams, _.isNull), }, pagination: { page: current, size: pageSize, }, sort: { updatedAt: -1, }, }, headers: { 'Content-Type': 'application/json', }, }); return { data, total, success: true, }; }; };