maintable.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. (function (require, model) {
  2. model = model || {};
  3. var exports = {};
  4. var List = [];
  5. // var count = 55;
  6. var count = 15;
  7. Mock.Random.increment(1000);
  8. for (var i = 0; i < count; i++) {
  9. List.push(Mock.mock({
  10. id: '@increment(2)',
  11. title: '@ctitle(8, 15)',
  12. createAt: '@date',
  13. author: '@cname',
  14. auditor: '@cname',
  15. importance: '@integer(1, 3)',
  16. 'type|1': ['CN', 'US', 'JP', 'EU'],
  17. 'status|1': ['published', 'draft', 'deleted'],
  18. pageviews: '@integer(300, 5000)',
  19. remark: '@ctitle(15, 100)',
  20. EVALUATION_PERIOD_ID: '@date',
  21. 'OPEN_FLAG|1': ['O', 'N', 'C'],
  22. 'MEASURE|1': ['已', '未'],
  23. 'LOCK|1': ['已', '未']
  24. }));
  25. }
  26. function paramUrl2Obj (url) {
  27. var search = url.split('?')[1];
  28. if (!search) {
  29. return {};
  30. }
  31. return JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"').replace(/\n/g, '\\n') + '"}');
  32. }
  33. // function paramBody2Obj (body) {
  34. // if (!body) {
  35. // return {};
  36. // }
  37. // return JSON.parse('{"' + decodeURIComponent(body).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"').replace(/\n/g, '\\n') + '"}');
  38. // }
  39. exports.getList = function (config) {
  40. // var reqData = paramBody2Obj(config.body)
  41. var reqData = paramUrl2Obj(config.url);
  42. var page = reqData.page;
  43. var size = reqData.size;
  44. var condition = reqData.condition ? JSON.parse(reqData.condition) : {};
  45. var createAt = condition.createAt;
  46. var type = condition.type;
  47. var title = condition.title;
  48. var sort = condition.sort;
  49. // var id = reqData.id;
  50. // var { condition, page = 1, size = 20 } = param2Obj(config.url)
  51. // var { createAt, type, title, sort } = JSON.parse(condition)
  52. var mockList = List.filter(function (item) {
  53. if (createAt && item.createAt !== createAt) {
  54. return false;
  55. }
  56. if (type && item.type !== type) {
  57. return false;
  58. }
  59. if (title && item.title.indexOf(title) < 0) {
  60. return false;
  61. }
  62. return true;
  63. });
  64. if (sort === '-id') {
  65. mockList = mockList.reverse();
  66. }
  67. var pageList = [];
  68. if (page && size) {
  69. pageList = mockList.filter(function (item, index) {
  70. return index < size * page && index >= size * (page - 1);
  71. });
  72. } else {
  73. pageList = mockList;
  74. }
  75. return {
  76. total: mockList.length,
  77. data: pageList
  78. };
  79. };
  80. // exports.filterList = function () {
  81. // return pageList;
  82. // };
  83. exports.save = function () {
  84. return {test: 'test'};
  85. };
  86. model['maintable'] = exports;
  87. })(window, yufp.mock);