123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- import { parse } from 'url';
- // mock tableListDataSource
- let tableListDataSource = [];
- for (let i = 0; i < 46; i += 1) {
- tableListDataSource.push({
- key: i,
- disabled: ((i % 6) === 0),
- href: 'https://ant.design',
- avatar: ['https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png'][i % 2],
- no: `TradeCode ${i}`,
- title: `一个任务名称 ${i}`,
- owner: '曲丽丽',
- description: '这是一段描述',
- callNo: Math.floor(Math.random() * 1000),
- status: Math.floor(Math.random() * 10) % 4,
- updatedAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`),
- createdAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`),
- progress: Math.ceil(Math.random() * 100),
- });
- }
- export function getRule(req, res, u) {
- let url = u;
- if (!url || Object.prototype.toString.call(url) !== '[object String]') {
- url = req.url; // eslint-disable-line
- }
- const params = parse(url, true).query;
- let dataSource = [...tableListDataSource];
- if (params.sorter) {
- const s = params.sorter.split('_');
- dataSource = dataSource.sort((prev, next) => {
- if (s[1] === 'descend') {
- return next[s[0]] - prev[s[0]];
- }
- return prev[s[0]] - next[s[0]];
- });
- }
- if (params.status) {
- const status = params.status.split(',');
- let filterDataSource = [];
- status.forEach((s) => {
- filterDataSource = filterDataSource.concat(
- [...dataSource].filter(data => parseInt(data.status, 10) === parseInt(s[0], 10))
- );
- });
- dataSource = filterDataSource;
- }
- if (params.no) {
- dataSource = dataSource.filter(data => data.no.indexOf(params.no) > -1);
- }
- let pageSize = 10;
- if (params.pageSize) {
- pageSize = params.pageSize * 1;
- }
- const result = {
- list: dataSource,
- pagination: {
- total: dataSource.length,
- pageSize,
- current: parseInt(params.currentPage, 10) || 1,
- },
- };
- if (res && res.json) {
- res.json(result);
- } else {
- return result;
- }
- }
- export function postRule(req, res, u, b) {
- let url = u;
- if (!url || Object.prototype.toString.call(url) !== '[object String]') {
- url = req.url; // eslint-disable-line
- }
- const body = (b && b.body) || req.body;
- const { method, no, description } = body;
- switch (method) {
- /* eslint no-case-declarations:0 */
- case 'delete':
- tableListDataSource = tableListDataSource.filter(item => no.indexOf(item.no) === -1);
- break;
- case 'post':
- const i = Math.ceil(Math.random() * 10000);
- tableListDataSource.unshift({
- key: i,
- href: 'https://ant.design',
- avatar: ['https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png'][i % 2],
- no: `TradeCode ${i}`,
- title: `一个任务名称 ${i}`,
- owner: '曲丽丽',
- description,
- callNo: Math.floor(Math.random() * 1000),
- status: Math.floor(Math.random() * 10) % 2,
- updatedAt: new Date(),
- createdAt: new Date(),
- progress: Math.ceil(Math.random() * 100),
- });
- break;
- default:
- break;
- }
- const result = {
- list: tableListDataSource,
- pagination: {
- total: tableListDataSource.length,
- },
- };
- if (res && res.json) {
- res.json(result);
- } else {
- return result;
- }
- }
- export default {
- getRule,
- postRule,
- };
|