blob: 17eefb468643f1b9d3d44cd2aeff5283bd380a55 [file] [log] [blame]
huibing.xie1718f362018-08-24 14:50:58 +08001import Mock from 'mockjs'
2import { param2Obj } from '@/utils'
huibing.xiec95b6a22018-08-29 14:15:43 +08003import dept from './department'
huibing.xie1718f362018-08-24 14:50:58 +08004
5const clsList = Mock.mock({
6 'list|26': [{
7 'id': '@increment',
huibing.xiec95b6a22018-08-29 14:15:43 +08008 'node|1': ['后勤处', '财务处', '学生处'],
9 'studentNumber': '@word(8)',
10 'name': '@cword(2, 3)',
11 'department|1': ['教育学院', '经管学院', '人文学院', '数学学院', '计算机学院', '电子学院', '电气学院', '生命科学院'],
12 'major': '@cword(6, 7)',
13 'clazz': '@cword(6, 7)',
14 'auditResult|1': ['待审核', '审核通过', '审核不通过'],
15 'auditOpinion': '@cword(6, 10)',
16 'rownum': '@id',
17 'leaveSchoolBatch': '@cword(6, 7)',
18 'studentType': '@cword(6, 7)',
19 'leaveSchoolType': '@cword(6, 7)',
20 'graduateYear': '@cword(6, 7)',
21 'graduateMonth': '@cword(6, 7)'
huibing.xie1718f362018-08-24 14:50:58 +080022 }]
23}).list
24
huibing.xiec95b6a22018-08-29 14:15:43 +080025const leaveSchoolBatchList = Mock.mock(
26 [{
27 'value': '2018',
28 'label': '2018年'
29 },
30 {
31 'value': '2017',
32 'label': '2017年'
33 },
34 {
35 'value': '2016',
36 'label': '2016年'
37 }]
38)
39const studentTypeList = Mock.mock(
40 [{
41 'value': '1',
42 'label': '研究生'
43 },
44 {
45 'value': '2',
46 'label': '本专科生'
47 }]
48)
49const leaveSchoolTypeList = Mock.mock(
50 [{
51 'value': '1',
52 'label': '毕业离校'
53 },
54 {
55 'value': '2',
56 'label': '其他'
57 }]
58)
huibing.xie1718f362018-08-24 14:50:58 +080059export default{
60 getList: config => {
huibing.xiec95b6a22018-08-29 14:15:43 +080061 const { studentNumber, name, department, major, clazz, leaveSchoolBatch, studentType, leaveSchoolType, graduateYear, graduateMonth, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
huibing.xie1718f362018-08-24 14:50:58 +080062 const mockList = clsList.filter(item => {
huibing.xiec95b6a22018-08-29 14:15:43 +080063 if (studentNumber && item.studentNumber && item.studentNumber !== studentNumber) return false
64 if (name && item.name && item.name !== name) return false
65 if (department && item.department && item.department !== department) return false
66 if (major && item.major && item.major !== major) return false
67 if (clazz && item.clazz && item.clazz !== clazz) return false
68 if (leaveSchoolBatch && item.leaveSchoolBatch && item.leaveSchoolBatch !== leaveSchoolBatch) return false
69 if (studentType && item.studentType && item.studentType !== studentType) return false
70 if (leaveSchoolType && item.leaveSchoolType && item.leaveSchoolType !== leaveSchoolType) return false
71 if (graduateYear && item.graduateYear && item.graduateYear !== graduateYear) return false
72 if (graduateMonth && item.graduateMonth && item.graduateMonth !== graduateMonth) return false
huibing.xie1718f362018-08-24 14:50:58 +080073 return true
74 })
75
76 const pageList = mockList.filter((item, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1))
77 return {
huibing.xiec95b6a22018-08-29 14:15:43 +080078 departmentList: dept.getDeptList().items,
79 leaveSchoolTypeList: leaveSchoolTypeList,
80 studentTypeList: studentTypeList,
81 leaveSchoolBatchList: leaveSchoolBatchList,
huibing.xie1718f362018-08-24 14:50:58 +080082 items: pageList,
83 recordCount: mockList.length,
84 code: 200
85 }
86 }
87}