uData.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. /* eslint camelcase: 1 */
  2. (function (require, model) {
  3. model = model || {};
  4. var exports = {};
  5. var List = [], tableList = [], tableUList = [], count = 15;
  6. Mock.Random.increment(1000);
  7. var str = '', f = '', fid = '',
  8. fdID = Mock.mock('@id'),
  9. fields = ['title', 'type', 'status', 'author', 'tel', 'time', 'label', 'top', 'content'],
  10. fieldsName = {
  11. 'title': '信息标题',
  12. 'type': '类型',
  13. 'status': '状态',
  14. 'author': '作者',
  15. 'tel': '联系人电话',
  16. 'time': '发布时间',
  17. 'label': '所属标签',
  18. 'top': '是否置顶',
  19. 'content': '内容'
  20. },
  21. formData = Mock.mock({
  22. 'id': fdID,
  23. 'title': '@ctitle',
  24. 'type': ['CN', 'US'],
  25. 'status|1': ['01', '02', '03'],
  26. 'author': '@cname',
  27. 'tel': '@natural',
  28. 'time': '@time',
  29. 'label': ['CN', 'US'],
  30. 'top|1': ['01', '02'],
  31. 'content': '@ctitle(10,200)'
  32. });
  33. for (var i = 0; i < count; i++) {
  34. str = Mock.mock('@ctitle(8, 15)');
  35. f = Mock.mock({'mFieldNm|1': fields})['mFieldNm'];
  36. fid = Mock.mock('@guid');
  37. tableList.push(Mock.mock({
  38. 'id': fid,
  39. 'title': '@ctitle',
  40. 'type|1': ['CN', 'US'],
  41. 'status|1': ['01', '02', '03'],
  42. 'author': '@cname',
  43. 'tel': '@natural',
  44. 'time': '@time',
  45. 'label|1': ['CN', 'US'],
  46. 'top|1': ['01', '02'],
  47. 'content': '@ctitle(10,200)'
  48. }));
  49. tableUList.push(Mock.mock({
  50. 'pkvalue': fid,
  51. 'usrId': '@increment(2)',
  52. 'mNewDispV': '@ctitle(8, 15)',
  53. 'orgName': '@ctitle(8, 15)',
  54. 'wfsign': '@ctitle(8, 15)',
  55. 'wfname': '@ctitle(8, 15)',
  56. 'applType': '@ctitle(8, 15)',
  57. 'orgCode': '@ctitle(8, 15)',
  58. 'remark': '@ctitle(8, 15)',
  59. 'mFieldId': f,
  60. 'mOldDispV': '@ctitle(8, 15)',
  61. 'mPkV': 'WfiWorkflowOrgGroupWfiWorkflowOrgForm' + fid,
  62. seqid: '@increment(2)',
  63. mFieldNm: fieldsName[f],
  64. mDatetime: '@date'
  65. }));
  66. }
  67. function paramUrl2Obj(url) {
  68. var search = url.split('?')[1];
  69. if (!search) {
  70. return {};
  71. }
  72. return JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"').replace(/\n/g, '\\n') + '"}');
  73. }
  74. function paramBody2Obj (body) {
  75. if (!body) {
  76. return {};
  77. }
  78. return JSON.parse(body);
  79. }
  80. exports.getFormData = function () {
  81. return formData;
  82. }
  83. exports.getList = function () {
  84. return {
  85. total: List.length,
  86. data: List
  87. };
  88. };
  89. exports.getListWithPage = function (config) {
  90. var reqData = paramUrl2Obj(config.url);
  91. var page = reqData.page;
  92. var size = reqData.size;
  93. var condition = reqData.condition ? JSON.parse(reqData.condition) : {};
  94. var isMPkV = false;
  95. var mockList = List.filter(function (item) {
  96. for(var k in condition){
  97. if(item[k]){
  98. if (k === 'mPkV'){
  99. isMPkV = false;
  100. for(var i=0,l=condition[k].length;i<l;i++){
  101. if(item[k] === condition[k][i]){
  102. isMPkV = true;
  103. break;
  104. }
  105. }
  106. if(!isMPkV) return false;
  107. } else if(condition[k] !== item[k]) {
  108. return false;
  109. }
  110. }
  111. }
  112. return true;
  113. });
  114. var pageList = [];
  115. if (page && size) {
  116. pageList = mockList.filter(function (item, index) {
  117. return index < size * page && index >= size * (page - 1);
  118. });
  119. } else {
  120. pageList = mockList;
  121. }
  122. return {
  123. total: mockList.length,
  124. data: pageList
  125. };
  126. };
  127. exports.saveUtrace = function(config){
  128. var data = paramBody2Obj(config.body);
  129. // 添加时间
  130. var mDatetime = JSON.parse( JSON.stringify({'mDatetime': new Date()}))['mDatetime'];
  131. data.forEach(function(item){
  132. item['mDatetime'] = mDatetime;
  133. });
  134. List = List.concat(data);
  135. return {
  136. msg:'操作成功'
  137. };
  138. };
  139. exports.getTableData = function(config) {
  140. var reqData = paramUrl2Obj(config.url);
  141. var page = reqData.page;
  142. var size = reqData.size;
  143. var pageList = [];
  144. if (page && size) {
  145. pageList = tableList.filter(function (item, index) {
  146. return index < size * page && index >= size * (page - 1);
  147. });
  148. } else {
  149. pageList = tableList;
  150. }
  151. return {
  152. total: tableList.length,
  153. data: pageList
  154. };
  155. }
  156. exports.getListTable = function (config) {
  157. var reqData = paramUrl2Obj(config.url);
  158. var page = reqData.page;
  159. var size = reqData.size;
  160. return {
  161. total: tableUList.length,
  162. data: tableUList
  163. };
  164. };
  165. exports.getListWithPageTable = function (config) {
  166. var reqData = paramUrl2Obj(config.url);
  167. var page = reqData.page;
  168. var size = reqData.size;
  169. var condition = reqData.condition ? JSON.parse(reqData.condition) : {};
  170. var isMPkV = false;
  171. var mockList = tableUList.filter(function (item) {
  172. for(var k in condition){
  173. if(item[k]){
  174. if (k === 'mPkV'){
  175. isMPkV = false;
  176. for(var i=0,l=condition[k].length;i<l;i++){
  177. if(item[k] === condition[k][i]){
  178. isMPkV = true;
  179. break;
  180. }
  181. }
  182. if(!isMPkV) return false;
  183. } else if(condition[k] !== item[k]) {
  184. return false;
  185. }
  186. }
  187. }
  188. return true;
  189. });
  190. var pageList = [];
  191. if (page && size) {
  192. pageList = mockList.filter(function (item, index) {
  193. return index < size * page && index >= size * (page - 1);
  194. });
  195. } else {
  196. pageList = mockList;
  197. }
  198. return {
  199. total: mockList.length,
  200. data: pageList
  201. };
  202. };
  203. model['uData'] = exports;
  204. })(window, yufp.mock);