离校名单管理
diff --git a/leave-school-vue/src/mock/department.js b/leave-school-vue/src/mock/department.js
index 98ef5b3..d37068e 100644
--- a/leave-school-vue/src/mock/department.js
+++ b/leave-school-vue/src/mock/department.js
@@ -1,48 +1,48 @@
 import Mock from 'mockjs'
 import { param2Obj, parseTime } from '@/utils'
+import dic from './dictionary'
 
 const deptList = Mock.mock({
   'list|26': [{
     'id': '@increment',
-    'dwdm': '000@id',
-    'dwmc|1': ['教育学院', '经管学院', '人文学院', '数学学院', '计算机学院', '电子学院', '电气学院', '生命科学院'],
-    'dwjc': '@cword(3, 5)',
-    'dwywmc': '@word(6, 10)',
-    'sfqy|1': ['启用', '未启用'],
-    'sfqycode|1': ['1', '0'],
-    'lbm|1': ['院系', '部门'],
-    'lbmid|1': ['1', '2'],
-    'cjsj': '@Date'
+    'code': '000@id',
+    'name|1': ['教育学院', '经管学院', '人文学院', '数学学院', '计算机学院', '电子学院', '电气学院', '生命科学院'],
+    'abbreviation': '@cword(3, 5)',
+    'enName': '@word(6, 10)',
+    'enable|1': ['启用', '未启用'],
+    'classCode|1': ['院系', '部门'],
+    'createDate': '@Date'
   }]
 }).list
 
 export default{
-  getList: config => {
-    const { dwdm, dwmc, sfqy, lbm, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
+  getPage: config => {
+    const { code, name, enable, classCode, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
     const mockList = deptList.filter(item => {
-      if (dwdm && item.dwdm !== dwdm) return false
-      if (dwmc && item.dwmc !== dwmc) return false
-      if (sfqy && item.sfqycode !== sfqy) return false
-      if (lbm && item.lbmid !== lbm) return false
+      if (code && item.code !== code) return false
+      if (name && item.name !== name) return false
+      if (enable && item.enable !== enable) return false
+      if (classCode && item.classCode !== classCode) return false
       return true
     })
 
     const pageList = mockList.filter((item, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1))
     return {
+      classCodeList: dic.getDicList({ type: 'classCode' }).items,
       items: pageList,
       recordCount: mockList.length,
       code: 200
     }
   },
   getDeptList: config => {
-    const mockList = deptList.filter(item => item.lbm === '院系')
+    const mockList = deptList.filter(item => item.classCode === '院系')
     return {
       items: mockList,
       code: 200
     }
   },
   getSectionList: config => {
-    const mockList = deptList.filter(item => item.lbm === '部门')
+    const mockList = deptList.filter(item => item.classCode === '部门')
     return {
       items: mockList,
       code: 200
diff --git a/leave-school-vue/src/mock/dictionary.js b/leave-school-vue/src/mock/dictionary.js
index 10aa7c3..c8cf08b 100644
--- a/leave-school-vue/src/mock/dictionary.js
+++ b/leave-school-vue/src/mock/dictionary.js
@@ -13,12 +13,12 @@
 }]
 const dicList = [{
   'id': '1',
-  'type': 'lbm',
+  'type': 'classCode',
   'name': '院系'
 },
 {
   'id': '2',
-  'type': 'lbm',
+  'type': 'classCode',
   'name': '部门'
 },
 {
@@ -172,9 +172,15 @@
     }
   },
   getDicList: config => {
-    const { type } = param2Obj(config.url)
+    let dictype = ''
+    if (config.type) {
+      dictype = config.type
+    } else {
+      const { type } = param2Obj(config.url)
+      dictype = type
+    }
     const mockList = dicList.filter(item => {
-      if (type && item.type !== type) return false
+      if (dictype && item.type !== dictype) return false
       return true
     })
 
diff --git a/leave-school-vue/src/mock/index.js b/leave-school-vue/src/mock/index.js
index 49bf902..93e2e55 100644
--- a/leave-school-vue/src/mock/index.js
+++ b/leave-school-vue/src/mock/index.js
@@ -42,7 +42,7 @@
 Mock.mock(/\/api\/system\/menu\/list/, 'get', menulistApi.getMenuList)
 
 // 院系部门管理
-Mock.mock(/\/api\/system\/department\/list-api/, 'get', departmentApi.getList)
+Mock.mock(/\/api\/system\/department\/page-api/, 'get', departmentApi.getPage)
 Mock.mock(/\/api\/system\/department\/dept-list/, 'get', departmentApi.getDeptList)
 Mock.mock(/\/api\/system\/department\/section-list/, 'get', departmentApi.getSectionList)
 Mock.mock(/\/api\/system\/department\/create-department/, 'post', departmentApi.createData)
@@ -71,6 +71,7 @@
 Mock.mock(/\/api\/system\/schoolyear\/get-item/, 'get', schoolyearApi.getItem)
 
 // 名单同步接口设置
+Mock.mock(/\/api\/system\/rostersyncinterface\/page-api/, 'get', rostersyncinterfaceApi.getPage)
 Mock.mock(/\/api\/system\/rostersyncinterface\/list-api/, 'get', rostersyncinterfaceApi.getList)
 Mock.mock(/\/api\/system\/rostersyncinterface\/create-rostersyncinterface/, 'post', rostersyncinterfaceApi.createData)
 Mock.mock(/\/api\/system\/rostersyncinterface\/delete-rostersyncinterface/, 'delete', rostersyncinterfaceApi.deleteData)
diff --git a/leave-school-vue/src/mock/leaveschoolnode.js b/leave-school-vue/src/mock/leaveschoolnode.js
index 10c7257..aba104c 100644
--- a/leave-school-vue/src/mock/leaveschoolnode.js
+++ b/leave-school-vue/src/mock/leaveschoolnode.js
@@ -4,7 +4,7 @@
   {
     'id': '26',
     'name': '后勤处',
-    'department': { 'id': '2', 'dwmc': '后勤处' },
+    'department': { 'id': '2', 'name': '后勤处' },
     'contact': '张三',
     'phoneNumber': '021-65431991',
     'scope': { 'id': '27', 'name': '全校范围' },
@@ -17,7 +17,7 @@
   {
     'id': '27',
     'name': '财务处',
-    'department': { 'id': '3', 'dwmc': '财务处' },
+    'department': { 'id': '3', 'name': '财务处' },
     'contact': '李四',
     'phoneNumber': '021-65431921',
     'scope': { 'id': '27', 'name': '全校范围' },
@@ -30,7 +30,7 @@
   {
     'id': '28',
     'name': '图书馆',
-    'department': { 'id': '4', 'dwmc': '图书馆' },
+    'department': { 'id': '4', 'name': '图书馆' },
     'contact': '王五',
     'phoneNumber': '021-65431931',
     'scope': { 'id': '27', 'name': '全校范围' },
diff --git a/leave-school-vue/src/mock/leavestudent.js b/leave-school-vue/src/mock/leavestudent.js
index 906337e..17eefb4 100644
--- a/leave-school-vue/src/mock/leavestudent.js
+++ b/leave-school-vue/src/mock/leavestudent.js
@@ -1,42 +1,84 @@
 import Mock from 'mockjs'
 import { param2Obj } from '@/utils'
+import dept from './department'
 
 const clsList = Mock.mock({
   'list|26': [{
     'id': '@increment',
-    'hjmc|1': ['后勤处', '财务处', '学生处'],
-    'xh': '@word(8)',
-    'xm': '@cword(2, 3)',
-    'yx|1': ['教育学院', '经管学院', '人文学院', '数学学院', '计算机学院', '电子学院', '电气学院', '生命科学院'],
-    'yxid|1': ['1', '2', '3', '4', '5', '6', '7', '8'],
-    'zy': '@cword(6, 7)',
-    'bj': '@cword(6, 7)',
-    'shzt|1': ['待审核', '审核通过', '审核不通过'],
-    'shyj': '@cword(6, 10)',
-    'shztcode|1': ['1', '2', '3']
+    'node|1': ['后勤处', '财务处', '学生处'],
+    'studentNumber': '@word(8)',
+    'name': '@cword(2, 3)',
+    'department|1': ['教育学院', '经管学院', '人文学院', '数学学院', '计算机学院', '电子学院', '电气学院', '生命科学院'],
+    'major': '@cword(6, 7)',
+    'clazz': '@cword(6, 7)',
+    'auditResult|1': ['待审核', '审核通过', '审核不通过'],
+    'auditOpinion': '@cword(6, 10)',
+    'rownum': '@id',
+    'leaveSchoolBatch': '@cword(6, 7)',
+    'studentType': '@cword(6, 7)',
+    'leaveSchoolType': '@cword(6, 7)',
+    'graduateYear': '@cword(6, 7)',
+    'graduateMonth': '@cword(6, 7)'
   }]
 }).list
 
+const leaveSchoolBatchList = Mock.mock(
+  [{
+    'value': '2018',
+    'label': '2018年'
+  },
+  {
+    'value': '2017',
+    'label': '2017年'
+  },
+  {
+    'value': '2016',
+    'label': '2016年'
+  }]
+)
+const studentTypeList = Mock.mock(
+  [{
+    'value': '1',
+    'label': '研究生'
+  },
+  {
+    'value': '2',
+    'label': '本专科生'
+  }]
+)
+const leaveSchoolTypeList = Mock.mock(
+  [{
+    'value': '1',
+    'label': '毕业离校'
+  },
+  {
+    'value': '2',
+    'label': '其他'
+  }]
+)
 export default{
   getList: config => {
-    const { xh, xm, pcmc, xslb, bynf, byyf, yx, zy, sex, shhj, shzt, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
+    const { studentNumber, name, department, major, clazz, leaveSchoolBatch, studentType, leaveSchoolType, graduateYear, graduateMonth, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
     const mockList = clsList.filter(item => {
-      if (pcmc && item.pcmc && item.pcmc + '' !== pcmc + '') return false
-      if (xslb && item.xslb && item.xslb !== xslb) return false
-      if (bynf && item.bynf && item.bynf !== bynf) return false
-      if (byyf && item.byyf && item.byyf !== byyf) return false
-      if (yx && item.yxid && item.yxid !== yx) return false
-      if (zy && item.zy && item.zy !== zy) return false
-      if (sex && item.sex && item.sex !== sex) return false
-      if (shhj && item.shhj && item.shhj !== shhj) return false
-      if (shzt && item.shztcode && item.shztcode !== shzt) return false
-      if (xh && item.xh && item.xh !== xh) return false
-      if (xm && item.xm && item.xm !== xm) return false
+      if (studentNumber && item.studentNumber && item.studentNumber !== studentNumber) return false
+      if (name && item.name && item.name !== name) return false
+      if (department && item.department && item.department !== department) return false
+      if (major && item.major && item.major !== major) return false
+      if (clazz && item.clazz && item.clazz !== clazz) return false
+      if (leaveSchoolBatch && item.leaveSchoolBatch && item.leaveSchoolBatch !== leaveSchoolBatch) return false
+      if (studentType && item.studentType && item.studentType !== studentType) return false
+      if (leaveSchoolType && item.leaveSchoolType && item.leaveSchoolType !== leaveSchoolType) return false
+      if (graduateYear && item.graduateYear && item.graduateYear !== graduateYear) return false
+      if (graduateMonth && item.graduateMonth && item.graduateMonth !== graduateMonth) return false
       return true
     })
 
     const pageList = mockList.filter((item, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1))
     return {
+      departmentList: dept.getDeptList().items,
+      leaveSchoolTypeList: leaveSchoolTypeList,
+      studentTypeList: studentTypeList,
+      leaveSchoolBatchList: leaveSchoolBatchList,
       items: pageList,
       recordCount: mockList.length,
       code: 200
diff --git a/leave-school-vue/src/mock/menulist.js b/leave-school-vue/src/mock/menulist.js
index 63c1ca7..df7bae5 100644
--- a/leave-school-vue/src/mock/menulist.js
+++ b/leave-school-vue/src/mock/menulist.js
@@ -126,10 +126,10 @@
         meta: { title: '离校批次管理', icon: 'batch' }
       },
       {
-        path: 'manifest',
-        code: 'manifest',
-        resource: '/views/procedures/manifest/index',
-        meta: { title: '离校名单管理', icon: 'manifest' }
+        path: 'leavestudent',
+        code: 'leavestudent',
+        resource: '/views/procedures/leavestudent/index',
+        meta: { title: '离校名单管理', icon: 'leavestudent' }
       },
       {
         path: 'batchaudit',
diff --git a/leave-school-vue/src/mock/rostersyncinterface.js b/leave-school-vue/src/mock/rostersyncinterface.js
index 3a7259c..eb46aa1 100644
--- a/leave-school-vue/src/mock/rostersyncinterface.js
+++ b/leave-school-vue/src/mock/rostersyncinterface.js
@@ -4,23 +4,21 @@
 const rostersyncinterfaceList = Mock.mock({
   'list|50': [{
     'id': '@increment',
-    'dm': '@word(4)',
-    'mc': '@cword(6, 15)',
-    'tj': '@word(15)',
-    'px': '@word(15)',
-    'gglx': '@word(15)'
+    'code': '@word(4)',
+    'name': '@cword(6, 15)',
+    'sql': '@word(15)',
+    'sort': '@word(15)'
   }]
 }).list
 
 export default{
-  getList: config => {
-    const { dm, mc, tj, px, gglx, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
+  getPage: config => {
+    const { code, name, sql, sort, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
     const mockList = rostersyncinterfaceList.filter(item => {
-      if (dm && item.dm !== dm) return false
-      if (mc && item.mc !== mc) return false
-      if (tj && item.tj !== tj) return false
-      if (px && item.px !== px) return false
-      if (gglx && item.gglx !== gglx) return false
+      if (code && item.code !== code) return false
+      if (name && item.name !== name) return false
+      if (sql && item.sql !== sql) return false
+      if (sort && item.sort !== sort) return false
       return true
     })
 
@@ -31,6 +29,12 @@
       code: 200
     }
   },
+  getList: config => {
+    return {
+      items: rostersyncinterfaceList,
+      code: 200
+    }
+  },
   getItem: config => {
     const { id } = param2Obj(config.url)
     const mockList = rostersyncinterfaceList.filter(item => item.id + '' === id + '')
diff --git a/leave-school-vue/src/mock/schoolyear.js b/leave-school-vue/src/mock/schoolyear.js
index 7e37aa9..ec57537 100644
--- a/leave-school-vue/src/mock/schoolyear.js
+++ b/leave-school-vue/src/mock/schoolyear.js
@@ -4,17 +4,17 @@
 const schoolyearList = Mock.mock({
   'list|26': [{
     'id': '@increment',
-    'xndm|1': ['2016', '2017', '2018'],
-    'xnmc': '@xndm@cword(6, 15)'
+    'code|1': ['2016', '2017', '2018'],
+    'name': '@code@cword(6, 15)'
   }]
 }).list
 
 export default{
   getList: config => {
-    const { xndm, xnmc, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
+    const { code, name, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
     const mockList = schoolyearList.filter(item => {
-      if (xndm && item.xndm !== xndm) return false
-      if (xnmc && item.xnmc !== xnmc) return false
+      if (code && item.code !== code) return false
+      if (name && item.name !== name) return false
       return true
     })