admq.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. (function (require, model) {
  2. model = model || {};
  3. var exports = {};
  4. var List = [];
  5. var count = 55;
  6. Mock.Random.increment(1000);
  7. for (var i = 0; i < count; i++) {
  8. List.push(Mock.mock({
  9. id: '@increment(2)',
  10. title: '@ctitle(8, 15)',
  11. createAt: '@date',
  12. author: '@cname',
  13. auditor: '@cname',
  14. certificateName: '@cname',
  15. certificateTime: '@date',
  16. certificateType: '@cname',
  17. certificateOrg: '@cname',
  18. importance: '@integer(1, 3)',
  19. 'type|1': ['CN', 'US', 'JP', 'EU'],
  20. 'status|1': ['published', 'draft', 'deleted'],
  21. pageviews: '@integer(300, 5000)',
  22. remark: '@ctitle(15, 100)',
  23. EVALUATION_PERIOD_ID: '@date',
  24. 'OPEN_FLAG|1': ['O', 'N', 'C'],
  25. 'MEASURE|1': ['已', '未'],
  26. 'LOCK|1': ['已', '未'],
  27. 'flag|1': [true, false],
  28. loginCode: '@zip',
  29. userName: '@cname',
  30. 'gender|1': ['01', '02'],
  31. certNo: '@natural',
  32. deadline: '@date',
  33. userEmail: '@email',
  34. entrantsDate: '@date',
  35. 'name|1': ['CN', 'US', 'JP', 'EU'],
  36. address: '@county(true)',
  37. date: '@date'
  38. }));
  39. }
  40. function paramUrl2Obj (url) {
  41. var search = url.split('?')[1];
  42. if (!search) {
  43. return {};
  44. }
  45. return JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"').replace(/\n/g, '\\n') + '"}');
  46. }
  47. function paramBody2Obj (body) {
  48. if (!body) {
  49. return {};
  50. }
  51. return JSON.parse(body);
  52. }
  53. exports.getList = function (config) {
  54. // var reqData = paramBody2Obj(config.body)
  55. var reqData = paramUrl2Obj(config.url);
  56. var page = reqData.page;
  57. var size = reqData.size;
  58. var condition = reqData.condition ? JSON.parse(reqData.condition) : {};
  59. var createAt = condition.createAt;
  60. var type = condition.type;
  61. var title = condition.title;
  62. var sort = condition.sort;
  63. // var { condition, page = 1, size = 20 } = param2Obj(config.url)
  64. // var { createAt, type, title, sort } = JSON.parse(condition)
  65. var mockList = List.filter(function (item) {
  66. if (createAt && item.createAt !== createAt) {
  67. return false;
  68. }
  69. if (type && item.type !== type) {
  70. return false;
  71. }
  72. if (title && item.title.indexOf(title) < 0) {
  73. return false;
  74. }
  75. return true;
  76. });
  77. if (sort === '-id') {
  78. mockList = mockList.reverse();
  79. }
  80. var pageList = [];
  81. if (page && size) {
  82. pageList = mockList.filter(function (item, index) {
  83. return index < size * page && index >= size * (page - 1);
  84. });
  85. } else {
  86. pageList = mockList;
  87. }
  88. return {
  89. total: mockList.length,
  90. data: pageList
  91. };
  92. };
  93. exports.getTree = function () {
  94. return window.orgTreeData;
  95. };
  96. /**
  97. * 修改与新增
  98. * @param config
  99. * @returns {{code: number}}
  100. */
  101. exports.save = function (config) {
  102. var temp = paramBody2Obj(config.body);
  103. temp.id = !temp.id ? Math.floor((Math.random() * 1000) + 10000) : temp.id;
  104. var updateFlag = false;
  105. for (var i = List.length - 1; i >= 0; i--) {
  106. var v = List[i];
  107. if (v.id === temp.id) {
  108. var index = List.indexOf(v);
  109. List.splice(index, 1, temp);
  110. updateFlag = true;
  111. break;
  112. }
  113. }
  114. if (!updateFlag) {
  115. List.unshift(temp);
  116. }
  117. return {
  118. code: 0
  119. };
  120. };
  121. /**
  122. * 批量删除
  123. * @param config
  124. * @returns {{code: string}}
  125. */
  126. exports.deleteData = function (config) {
  127. var temp = paramBody2Obj(config.body);
  128. var ids = temp.ids.split(',');
  129. for (var i = List.length - 1; i >= 0; i--) {
  130. var v = List[i];
  131. for (var j = ids.length - 1; j >= 0; j--) {
  132. var id = ids[j];
  133. if (v.id === Number(id)) {
  134. var index = List.indexOf(v);
  135. List.splice(index, 1);
  136. ids.splice(j, 1);
  137. break;
  138. }
  139. }
  140. }
  141. return {
  142. code: '0'
  143. };
  144. };
  145. var selectList = [];
  146. var count1 = 10;
  147. for (var i1 = 0; i1 < count1; i1++) {
  148. selectList.push(Mock.mock({
  149. key: '@id',
  150. value: '@ctitle(2, 4)'
  151. }));
  152. }
  153. exports.getSlectList = function () {
  154. return {
  155. count: selectList.length,
  156. data: selectList
  157. };
  158. };
  159. var cascaderList = [];
  160. var count2 = 10;
  161. for (var i2 = 0; i2 < count2; i2++) {
  162. cascaderList.push(Mock.mock({
  163. value: '@ctitle(2, 4)',
  164. label: '@ctitle(2, 4)',
  165. 'children|1-10': [{
  166. value: '@ctitle(2, 4)',
  167. label: '@ctitle(2, 4)',
  168. 'children|1-10': [{
  169. value: '@ctitle(2, 4)',
  170. label: '@ctitle(2, 4)'
  171. }]
  172. }]
  173. }));
  174. }
  175. exports.getCascader = function () {
  176. return {
  177. responseCode: '0',
  178. json: {
  179. count: cascaderList.length,
  180. data: cascaderList
  181. }
  182. };
  183. };
  184. var radioList = [];
  185. Mock.Random.province();
  186. for (var i3 = 0; i3 < 3; i3++) {
  187. radioList.push(Mock.mock({
  188. key: '@integer(0,50)',
  189. value: '@province'
  190. }));
  191. }
  192. exports.getRadio = function () {
  193. return {
  194. json: {
  195. data: radioList
  196. }
  197. };
  198. };
  199. var checkList = [];
  200. Mock.Random.province();
  201. // Mock.Random.integer();
  202. for (var i4 = 0; i4 < 5; i4++) {
  203. checkList.push(Mock.mock({
  204. key: '@integer(0,50)',
  205. value: '@province'
  206. }));
  207. }
  208. exports.getCheckbox = function () {
  209. return {
  210. data: checkList
  211. };
  212. };
  213. cascaderList = [];
  214. count2 = 10;
  215. for (var i5 = 0; i5 < count2; i5++) {
  216. cascaderList.push(Mock.mock({
  217. value: '@ctitle(2, 4)',
  218. label: '@ctitle(2, 4)',
  219. 'children|1-10': [{
  220. value: '@ctitle(2, 4)',
  221. label: '@ctitle(2, 4)',
  222. 'children|1-10': [{
  223. value: '@ctitle(2, 4)',
  224. label: '@ctitle(2, 4)'
  225. }]
  226. }]
  227. }));
  228. }
  229. exports.getChild = function () {
  230. return {
  231. responseCode: '0',
  232. json: {
  233. count: cascaderList.length,
  234. data: cascaderList
  235. }
  236. };
  237. };
  238. var Child = [];
  239. var count3 = 3;
  240. for (var i6 = 0; i6 < count3; i6++) {
  241. Child.push(Mock.mock({
  242. value: '@ctitle(2, 4)',
  243. label: '@ctitle(2, 4)',
  244. children: []
  245. }));
  246. }
  247. exports.getChild = function () {
  248. return {
  249. responseCode: '0',
  250. json: {
  251. count: Child.length,
  252. data: Child
  253. }
  254. };
  255. };
  256. exports.getTreeAsync = function (config) {
  257. var reqData = paramUrl2Obj(config.url);
  258. var unitid = reqData.UNITID;
  259. var superUnitId = reqData.SUPERUNITID || reqData.UNITID;
  260. var treeList = window.orgTreeData.data.filter(function (item) {
  261. if (!superUnitId && item.UNITID == unitid) {
  262. // 加载根
  263. return true;
  264. } else if (item.SUPERUNITID == superUnitId) {
  265. return true;
  266. } else {
  267. return false;
  268. }
  269. });
  270. return {
  271. total: treeList.length,
  272. data: treeList
  273. };
  274. };
  275. exports.getUser = function () {
  276. return window.userData;
  277. };
  278. exports.getOrle = function () {
  279. return window.roleByUser;
  280. };
  281. exports.getDuty = function () {
  282. return window.dutyByUser;
  283. };
  284. exports.getOrgTree = function () {
  285. return window.orgTree;
  286. };
  287. var logList = [];
  288. exports.setLog = function (config) {
  289. var temp = paramBody2Obj(config.body);
  290. logList.push(temp);
  291. };
  292. exports.exportExcel = function () {
  293. return {
  294. data: {
  295. id: Mock.mock({
  296. 'id|1-100': 100
  297. }).id
  298. }
  299. };
  300. };
  301. Mock.Random.extend({
  302. percentage: function (date) {
  303. var percentageList = [20, 40, 50, 60, 80, 100];
  304. return this.pick(percentageList);
  305. }
  306. });
  307. exports.getProgress = function () {
  308. return {
  309. data: {
  310. percentage: Mock.Random.percentage()
  311. }
  312. };
  313. };
  314. /**
  315. * 联动组件 使用
  316. */
  317. exports.queryLinkageSelect = function (config) {
  318. var reqData = paramUrl2Obj(config.url);
  319. var code = reqData.code;
  320. var pageList = [];
  321. if (code === '') {
  322. pageList = [
  323. {name: '北京市', code: '110000'},
  324. {name: '天津市', code: '120000'}
  325. ];
  326. }
  327. if (code === '110000') {
  328. pageList = [
  329. {name: '市辖区', code: '110100'}
  330. ];
  331. }
  332. if (code === '110100') {
  333. pageList = [
  334. {name: '东城区', code: '110101'},
  335. {name: '西城区', code: '110102'}
  336. ];
  337. }
  338. if (code === '120000') {
  339. pageList = [
  340. {name: '市辖区', code: '120100'}
  341. ];
  342. }
  343. if (code === '120100') {
  344. pageList = [
  345. {name: '和平区', code: '120101'},
  346. {name: '河东区', code: '120102'}
  347. ];
  348. }
  349. return {
  350. data: pageList
  351. };
  352. };
  353. exports.queryOptions = function (config) {
  354. var reqData = paramUrl2Obj(config.url);
  355. var code = JSON.parse(config.body);
  356. var pageList = [];
  357. if (code.testunit === 1) {
  358. pageList = [
  359. {value: '北京市', key: '110000'},
  360. {value: '天津市', key: '120000'}
  361. ];
  362. }
  363. return {
  364. options: pageList
  365. };
  366. };
  367. exports.getTreeTableData = function () {
  368. return {
  369. data: window.treeTableData
  370. };
  371. };
  372. exports.getTreeTableData2000 = function () {
  373. const treeData = JSON.parse(JSON.stringify(window.treeTableData));
  374. treeData.forEach(row => {
  375. for (let i = 1; i <= 100; i++) {
  376. row['vColumn' + i] = '上海市普陀区金沙江路 1518 弄'
  377. }
  378. });
  379. for (let i = 1; i <= 2000; i++) {
  380. let obj = {
  381. upOrgId: '500',
  382. orgName: 'XX支行' + i,
  383. orgId: 'A00' + 7 + i,
  384. date: '2016-05-02',
  385. name: '02',
  386. province: '上海',
  387. city: '普陀区',
  388. address: '上海市普陀区金沙江路 1518 弄',
  389. zip: 200333,
  390. tag: '公司'
  391. }
  392. for (let i = 0; i < 100; i++) {
  393. obj['vColumn' + i] = '上海市普陀区金沙江路 1518 弄'
  394. }
  395. treeData.push(obj)
  396. }
  397. window.treeData2000 = treeData;
  398. return {
  399. data: window.treeData2000
  400. };
  401. };
  402. model['admq'] = exports;
  403. })(window, yufp.mock);