blob: dd05dadf80457fb1566d99891e56788b32edb6c4 [file] [log] [blame]
huibing.xie1f1606f2018-08-20 15:46:55 +08001import Mock from 'mockjs'
2import { param2Obj } from '@/utils'
3
4const clsList = Mock.mock({
5 'list|26': [{
6 'id': '@increment',
7 'nj|1': ['6', '7', '8'],
8 'njmc|1': ['2017', '2018', '2019'],
9 'yx|1-26': 26,
10 'yxmc': '@cword(6, 15)',
huibing.xie1718f362018-08-24 14:50:58 +080011 'zy|30-40': 50,
huibing.xie1f1606f2018-08-20 15:46:55 +080012 'zymc': '@cword(3, 5)',
13 'bjdm': '@word(5)',
14 'bjmc': '@cword(6, 10)',
15 'sfky|1': ['1', '0'],
16 'sfkymc|1': ['可用', '不可用']
17 }]
18}).list
19
20export default{
21 getList: config => {
22 const { yx, zy, bjmc, nj, bjdm, sfky, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
23 const mockList = clsList.filter(item => {
24 if (yx && item.yx + '' !== yx + '') return false
25 if (zy && item.zy !== zy) return false
26 if (bjmc && item.bjmc !== bjmc) return false
27 if (nj && item.nj !== nj) return false
28 if (bjdm && item.bjdm !== bjdm) return false
29 if (sfky && item.sfky !== sfky) return false
30 return true
31 })
32
33 const pageList = mockList.filter((item, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1))
34 return {
35 items: pageList,
36 recordCount: mockList.length,
37 code: 200
38 }
39 },
40 getAllList: config => {
41 return {
42 items: clsList,
43 code: 200
44 }
45 },
huibing.xie1718f362018-08-24 14:50:58 +080046 getBjListByZy: config => {
47 const { zy } = param2Obj(config.url)
48 const mockList = clsList.filter(item => item.zy + '' === zy + '')
49
50 return {
51 items: mockList,
52 code: 200
53 }
54 },
huibing.xie1f1606f2018-08-20 15:46:55 +080055 getItem: config => {
56 const { id } = param2Obj(config.url)
57 const mockList = clsList.filter(item => item.id + '' === id + '')
58 return {
59 data: mockList.length > 0 ? mockList[0] : null,
60 code: 200
61 }
62 },
63 createData: config => {
64 const cls = JSON.parse(config.body)
65 if (!cls.id) {
66 cls.id = '' + parseInt(Math.random() * 100) + 1024 // mock a id
67 clsList.unshift(cls)
68 } else {
69 for (let i = 0; i < clsList.length; i++) {
70 if (clsList[i].id + '' === cls.id + '') {
71 clsList.splice(i, 1, cls)
72 break
73 }
74 }
75 }
76 return {
77 item: cls,
78 code: 200
79 }
80 },
81 deleteData: config => {
82 const cls = JSON.parse(config.body)
83 let index = -1
84 for (let i = 0; i < clsList.length; i++) {
85 if (clsList[i].id + '' === cls.id + '') {
86 index = i
87 break
88 }
89 }
90 if (index > -1) {
91 clsList.splice(index, 1)
92 }
93 return {
94 code: 200
95 }
96 }
97}