离校名单管理
diff --git a/leave-school-vue/src/api/department-api.js b/leave-school-vue/src/api/department-api.js
index 3caafbe..70718ea 100644
--- a/leave-school-vue/src/api/department-api.js
+++ b/leave-school-vue/src/api/department-api.js
@@ -1,8 +1,8 @@
 import request from '@/utils/request'
 
-export function getList(params) {
+export function getPage(params) {
   return request({
-    url: '/api/system/department/list-api',
+    url: '/api/system/department/page-api',
     // url: 'http://localhost:8080/leaveschool/api/v1/base/department',
     method: 'get',
     params
diff --git a/leave-school-vue/src/api/rostersyncinterface-api.js b/leave-school-vue/src/api/rostersyncinterface-api.js
index 949955f..8191463 100644
--- a/leave-school-vue/src/api/rostersyncinterface-api.js
+++ b/leave-school-vue/src/api/rostersyncinterface-api.js
@@ -1,5 +1,12 @@
 import request from '@/utils/request'
 
+export function getPage(params) {
+  return request({
+    url: '/api/system/rostersyncinterface/page-api',
+    method: 'get',
+    params
+  })
+}
 export function getList(params) {
   return request({
     url: '/api/system/rostersyncinterface/list-api',
diff --git a/leave-school-vue/src/components/AuditStudentList/index.vue b/leave-school-vue/src/components/AuditStudentList/index.vue
index 27479e3..3db11f7 100644
--- a/leave-school-vue/src/components/AuditStudentList/index.vue
+++ b/leave-school-vue/src/components/AuditStudentList/index.vue
@@ -3,16 +3,16 @@
     <div class="filter-container">
       <el-row :gutter="20">
         <el-col :span="5">
-          <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="学号" v-model="listQuery.xh">
+          <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="学号" v-model="listQuery.studentNumber">
           </el-input>
         </el-col>
         <el-col :span="5">
-          <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="姓名" v-model="listQuery.xm">
+          <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="姓名" v-model="listQuery.name">
           </el-input>
         </el-col>
         <el-col :span="5">
-          <el-select clearable @change="initZyList" class="filter-item" v-model="listQuery.yx" placeholder="院系">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+          <el-select clearable @change="initZyList" class="filter-item" v-model="listQuery.department" placeholder="院系">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
@@ -23,13 +23,13 @@
       </el-row>
       <el-row :gutter="20">
         <el-col :span="5">
-          <el-select clearable @change="initBjList" class="filter-item" v-model="listQuery.zy" placeholder="专业">
+          <el-select clearable @change="initBjList" class="filter-item" v-model="listQuery.major" placeholder="专业">
             <el-option v-for="item in zyList" :key="item.id" :label="item.zymc" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
         <el-col :span="5">
-          <el-select clearable class="filter-item" v-model="listQuery.bj" placeholder="班级">
+          <el-select clearable class="filter-item" v-model="listQuery.clazz" placeholder="班级">
             <el-option v-for="item in  bjList" :key="item.id" :label="item.bjmc" :value="item.id">
             </el-option>
           </el-select>
@@ -43,42 +43,42 @@
       </el-table-column>
       <el-table-column label="环节名称" align="center">
         <template slot-scope="scope">
-          {{scope.row.hjmc}}
+          {{scope.row.node}}
         </template>
       </el-table-column>
       <el-table-column label="学号" align="center">
         <template slot-scope="scope">
-          {{scope.row.xh}}
+          {{scope.row.studentNumber}}
         </template>
       </el-table-column>
       <el-table-column label="姓名" align="center">
         <template slot-scope="scope">
-          {{scope.row.xm}}
+          {{scope.row.name}}
         </template>
       </el-table-column>
       <el-table-column label="院系" align="center">
         <template slot-scope="scope">
-          {{scope.row.yx}}
+          {{scope.row.department}}
         </template>
       </el-table-column>
       <el-table-column label="专业" align="center">
         <template slot-scope="scope">
-          {{scope.row.zy}}
+          {{scope.row.major}}
         </template>
       </el-table-column>
       <el-table-column label="班级" align="center">
         <template slot-scope="scope">
-          {{scope.row.bj}}
+          {{scope.row.clazz}}
         </template>
       </el-table-column>
       <el-table-column label="审核状态" align="center">
         <template slot-scope="scope">
-          {{scope.row.shzt}}
+          {{scope.row.auditResult}}
         </template>
       </el-table-column>
       <el-table-column label="审核意见" align="center" width="200">
         <template slot-scope="scope">
-          {{scope.row.shyj}}
+          {{scope.row.auditOpinion}}
         </template>
       </el-table-column>
     </el-table>
diff --git a/leave-school-vue/src/icons/svg/manifest.svg b/leave-school-vue/src/icons/svg/leavestudent.svg
similarity index 100%
rename from leave-school-vue/src/icons/svg/manifest.svg
rename to leave-school-vue/src/icons/svg/leavestudent.svg
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
     })
 
diff --git a/leave-school-vue/src/views/procedures/leavestudent/index.vue b/leave-school-vue/src/views/procedures/leavestudent/index.vue
new file mode 100644
index 0000000..6d0117e
--- /dev/null
+++ b/leave-school-vue/src/views/procedures/leavestudent/index.vue
@@ -0,0 +1,217 @@
+<template>
+  <div class="app-container">
+    <div class="filter-container">
+      <el-row :gutter="20">
+        <el-col :span="4">
+          <el-select clearable class="filter-item" v-model="listQuery.leaveSchoolBatch" placeholder="批次名称">
+            <el-option v-for="item in  pagedata.leaveSchoolBatchList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="4">
+          <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="学号" v-model="listQuery.studentNumber">
+          </el-input>
+        </el-col>
+        <el-col :span="4">
+          <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="姓名" v-model="listQuery.name">
+          </el-input>
+        </el-col>
+        <el-col :span="4">
+          <el-select clearable class="filter-item" v-model="listQuery.studentType" placeholder="学生类别">
+            <el-option v-for="item in  pagedata.studentTypeList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="8">
+          <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查询</el-button>
+          <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate(null, 'create')" type="primary" icon="el-icon-edit">添加</el-button>
+          <el-button class="filter-item" style="margin-left: 10px;" @click="handleReset" type="primary" icon="el-icon-edit">重置</el-button>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="4">
+          <el-select clearable class="filter-item" v-model="listQuery.leaveSchoolType" placeholder="离校类型">
+            <el-option v-for="item in  pagedata.leaveSchoolTypeList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="4">
+          <el-select clearable @change="initMajorList" class="filter-item" v-model="listQuery.department" placeholder="院系">
+            <el-option v-for="item in  pagedata.departmentList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="4">
+          <el-select clearable class="filter-item" v-model="listQuery.major" placeholder="专业">
+            <el-option v-for="item in  majorList" :key="item.id" :label="item.zymc" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="4">
+          <el-select clearable class="filter-item" v-model="listQuery.clazz" placeholder="班级">
+            <el-option v-for="item in  clazzList" :key="item.id" :label="item.bjmc" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="4">
+          <el-select clearable class="filter-item" v-model="listQuery.graduateYear" placeholder="毕业年份">
+            <el-option v-for="n in  10" :key="year-n" :label="year-n" :value="year-n">
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="4">
+          <el-select clearable class="filter-item" v-model="listQuery.graduateMonth" placeholder="毕业月份">
+            <el-option v-for="n in  12" :key="n" :label="n" :value="n">
+            </el-option>
+          </el-select>
+        </el-col>
+      </el-row>
+    </div>
+    <el-table :height="height" :data="items" v-loading="listLoading" element-loading-text="Loading" border fit highlight-current-row>
+      <el-table-column fixed align="center" label='序号' width="95">
+        <template slot-scope="scope">
+          {{scope.row.rownum}}
+        </template>
+      </el-table-column>
+      <el-table-column label="所属批次" align="center">
+        <template slot-scope="scope">
+          {{scope.row.leaveSchoolBatch}}
+        </template>
+      </el-table-column>
+      <el-table-column label="学号" align="center">
+        <template slot-scope="scope">
+          {{scope.row.studentNumber}}
+        </template>
+      </el-table-column>
+      <el-table-column label="姓名" align="center">
+        <template slot-scope="scope">
+          {{scope.row.name}}
+        </template>
+      </el-table-column>
+      <el-table-column label="院系" align="center">
+        <template slot-scope="scope">
+          {{scope.row.department}}
+        </template>
+      </el-table-column>
+      <el-table-column label="专业" align="center">
+        <template slot-scope="scope">
+          {{scope.row.major}}
+        </template>
+      </el-table-column>
+      <el-table-column label="班级" align="center">
+        <template slot-scope="scope">
+          {{scope.row.clazz}}
+        </template>
+      </el-table-column>
+      <el-table-column label="学生类别" align="center">
+        <template slot-scope="scope">
+          {{scope.row.studentType}}
+        </template>
+      </el-table-column>
+      <el-table-column label="离校类型" align="center">
+        <template slot-scope="scope">
+          {{scope.row.leaveSchoolType}}
+        </template>
+      </el-table-column>
+      <el-table-column label="毕业年份" align="center">
+        <template slot-scope="scope">
+          {{scope.row.graduateYear}}
+        </template>
+      </el-table-column>
+      <el-table-column label="毕业月份" align="center">
+        <template slot-scope="scope">
+          {{scope.row.graduateMonth}}
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="pagination-container">
+      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.pageIndex" 
+      :page-sizes="[10,20,30, 50]" :page-size="listQuery.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="recordCount">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getBjListByZy } from '@/api/class-api'
+import { getAuditList } from '@/api/leavestudent-api'
+import { getZyListByYx } from '@/api/major-api'
+import waves from '@/directive/waves' // 水波纹指令
+import { resetForm } from '@/utils'
+import { crudPageList } from '@/utils/crud'
+import mixindata from '@/utils/crud'
+
+export default {
+  name: 'class',
+  directives: {
+    waves
+  },
+  mixins: [mixindata],
+  data() {
+    return {
+      year: (new Date()).getFullYear() + 2,
+      majorList: [],
+      clazzList: []
+    }
+  },
+  filters: {
+    statusFilter(status) {
+      const statusMap = {
+        '1': 'success',
+        '0': 'danger'
+      }
+      return statusMap[status]
+    }
+  },
+  created() {
+    this.handlePageList()
+    this.height = window.innerHeight - 316
+  },
+  methods: {
+    initMajorList() {
+      getZyListByYx({ yx: this.listQuery.department }).then(response => {
+        this.majorList = response.items
+        // TODO 坑,this.listQuery.zy == null 直接赋值,专业下拉框选择出bug,无法选择,原因未知
+        for (const attr in this.listQuery) {
+          if (attr === 'zy') {
+            this.listQuery['zy'] = null
+          }
+        }
+      })
+    },
+    initBjList(cleanable = true) {
+      getBjListByZy({ zy: this.listQuery.major }).then(response => {
+        this.clazzList = response.items
+        if (cleanable) {
+          // TODO 坑,this.listQuery.bj == null 直接赋值,专业下拉框选择出bug,无法选择,原因未知
+          for (const attr in this.listQuery) {
+            if (attr === 'clazz') {
+              this.listQuery['clazz'] = null
+            }
+          }
+        }
+      })
+    },
+    handlePageList() {
+      crudPageList(this, getAuditList)
+    },
+    handleReset() {
+      resetForm(this.listQuery)
+    },
+    handleFilter() {
+      this.listQuery.pageIndex = 1
+      this.handlePageList()
+    },
+    handleSizeChange(val) {
+      this.listQuery.pageSize = val
+      this.handlePageList()
+    },
+    handleCurrentChange(val) {
+      this.listQuery.pageIndex = val
+      this.handlePageList()
+    }
+  }
+}
+</script>
diff --git a/leave-school-vue/src/views/procedures/node/index.vue b/leave-school-vue/src/views/procedures/node/index.vue
index 648e4f2..898fc17 100644
--- a/leave-school-vue/src/views/procedures/node/index.vue
+++ b/leave-school-vue/src/views/procedures/node/index.vue
@@ -29,7 +29,7 @@
       </el-table-column>
       <el-table-column label="所属部门" align="center">
         <template slot-scope="scope">
-          <span>{{scope.row.department.dwmc}}</span>
+          <span>{{scope.row.department.name}}</span>
         </template>
       </el-table-column>
       <el-table-column label="联系人" align="center">
@@ -92,7 +92,7 @@
         </el-form-item>
         <el-form-item label="所属部门" prop="department">
           <el-select class="filter-item" v-model="temp.department" placeholder="所属部门">
-            <el-option v-for="item in departmentList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in departmentList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>
diff --git a/leave-school-vue/src/views/statistical/deptsectionrep/index.vue b/leave-school-vue/src/views/statistical/deptsectionrep/index.vue
index 6484d3c..672dcf4 100644
--- a/leave-school-vue/src/views/statistical/deptsectionrep/index.vue
+++ b/leave-school-vue/src/views/statistical/deptsectionrep/index.vue
@@ -8,7 +8,7 @@
         </el-col>
         <el-col :span="4">
           <el-select clearable @change="initZyList" class="filter-item" v-model="listQuery.yx" placeholder="所在院系">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
@@ -20,7 +20,7 @@
         </el-col>
         <el-col :span="4">
           <el-select clearable class="filter-item" v-model="listQuery.bm" placeholder="部门">
-            <el-option v-for="item in  bmList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  bmList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
diff --git a/leave-school-vue/src/views/statistical/handling/index.vue b/leave-school-vue/src/views/statistical/handling/index.vue
index 936f769..5b59c3d 100644
--- a/leave-school-vue/src/views/statistical/handling/index.vue
+++ b/leave-school-vue/src/views/statistical/handling/index.vue
@@ -30,7 +30,7 @@
       <el-row :gutter="20">
         <el-col :span="4">
           <el-select clearable @change="initZyList" class="filter-item" v-model="listQuery.yx" placeholder="院系">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
diff --git a/leave-school-vue/src/views/statistical/majorreport/index.vue b/leave-school-vue/src/views/statistical/majorreport/index.vue
index 13472f8..e35e631 100644
--- a/leave-school-vue/src/views/statistical/majorreport/index.vue
+++ b/leave-school-vue/src/views/statistical/majorreport/index.vue
@@ -8,7 +8,7 @@
         </el-col>
         <el-col :span="4">
           <el-select clearable class="filter-item" v-model="listQuery.yx" placeholder="院系">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
diff --git a/leave-school-vue/src/views/statistical/nodereport/index.vue b/leave-school-vue/src/views/statistical/nodereport/index.vue
index 0385631..40cf6b8 100644
--- a/leave-school-vue/src/views/statistical/nodereport/index.vue
+++ b/leave-school-vue/src/views/statistical/nodereport/index.vue
@@ -32,7 +32,7 @@
       <el-row :gutter="20">
         <el-col :span="4">
           <el-select clearable @change="initZyList" class="filter-item" v-model="listQuery.yx" placeholder="所在院系">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
diff --git a/leave-school-vue/src/views/systemmanagement/class/index.vue b/leave-school-vue/src/views/systemmanagement/class/index.vue
index eeb8cf4..1decb9c 100644
--- a/leave-school-vue/src/views/systemmanagement/class/index.vue
+++ b/leave-school-vue/src/views/systemmanagement/class/index.vue
@@ -4,7 +4,7 @@
       <el-row :gutter="20">
         <el-col :span="4">
           <el-select clearable @change="initZyList" class="filter-item" v-model="listQuery.yx" placeholder="院系">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
@@ -111,7 +111,7 @@
         </el-form-item>
         <el-form-item label="院系" prop="yx">
           <el-select class="filter-item" @change="initFormZyList" v-model="temp.yx" placeholder="--请选择--">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>
diff --git a/leave-school-vue/src/views/systemmanagement/department/index.vue b/leave-school-vue/src/views/systemmanagement/department/index.vue
index d1c71bc..d4fe883 100644
--- a/leave-school-vue/src/views/systemmanagement/department/index.vue
+++ b/leave-school-vue/src/views/systemmanagement/department/index.vue
@@ -1,18 +1,18 @@
 <template>
   <div class="app-container">
     <div class="filter-container">
-      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="单位代码" v-model="listQuery.dwdm">
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="单位代码" v-model="listQuery.code">
       </el-input>
-      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="单位名称" v-model="listQuery.dwmc">
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="单位名称" v-model="listQuery.name">
       </el-input>
-      <el-select clearable class="filter-item" v-model="listQuery.sfqy" placeholder="是否启用">
+      <el-select clearable class="filter-item" v-model="listQuery.enable" placeholder="是否启用">
         <el-option key="1" label="启用" value="1">
         </el-option>
         <el-option key="0" label="未启用" value="0">
         </el-option>
       </el-select>
-      <el-select clearable class="filter-item" v-model="listQuery.lbm" placeholder="类别码">
-        <el-option v-for="item in  lbmList" :key="item.id" :label="item.name" :value="item.id">
+      <el-select clearable class="filter-item" v-model="listQuery.classCode" placeholder="类别码">
+        <el-option v-for="item in  pagedata.classCodeList" :key="item.id" :label="item.name" :value="item.id">
         </el-option>
       </el-select>
       <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查询</el-button>
@@ -27,38 +27,38 @@
       </el-table-column>
       <el-table-column fixed label="单位代码">
         <template slot-scope="scope">
-          {{scope.row.dwdm}}
+          {{scope.row.code}}
         </template>
       </el-table-column>
       <el-table-column label="单位名称" align="center">
         <template slot-scope="scope">
-          <span>{{scope.row.dwmc}}</span>
+          <span>{{scope.row.name}}</span>
         </template>
       </el-table-column>
       <el-table-column label="单位简称" align="center">
         <template slot-scope="scope">
-          {{scope.row.dwjc}}
+          {{scope.row.abbreviation}}
         </template>
       </el-table-column>
       <el-table-column label="单位英文名称" align="center">
         <template slot-scope="scope">
-          {{scope.row.dwywmc}}
+          {{scope.row.enName}}
         </template>
       </el-table-column>
       <el-table-column label="是否启用" align="center">
         <template slot-scope="scope">
-          {{scope.row.sfqy}}
+          {{scope.row.enable}}
         </template>
       </el-table-column>
       <el-table-column class-name="status-col" label="类别码" width="110" align="center">
         <template slot-scope="scope">
-          <el-tag :type="scope.row.lbm | statusFilter">{{scope.row.lbm}}</el-tag>
+          <el-tag :type="scope.row.classCode">{{scope.row.classCode}}</el-tag>
         </template>
       </el-table-column>
       <el-table-column align="center" prop="created_at" label="创建时间" width="200">
         <template slot-scope="scope">
           <i class="el-icon-time"></i>
-          {{scope.row.cjsj}}
+          {{scope.row.createDate}}
         </template>
       </el-table-column>
       <el-table-column
@@ -81,30 +81,30 @@
     
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
       <el-form :rules="rules" ref="dataForm" :model="temp" label-position="left" label-width="150px" style='width: 400px; margin-left:50px;'>
-        <el-form-item label="单位代码" prop="dwdm">
-          <el-input v-model="temp.dwdm"></el-input>
+        <el-form-item label="单位代码" prop="code">
+          <el-input v-model="temp.code"></el-input>
           <input type="hidden" v-model="temp.id" />
         </el-form-item>
-        <el-form-item label="单位名称" prop="dwmc">
-          <el-input v-model="temp.dwmc"></el-input>
+        <el-form-item label="单位名称" prop="name">
+          <el-input v-model="temp.name"></el-input>
         </el-form-item>
-        <el-form-item label="单位简称" prop="dwjc">
-          <el-input v-model="temp.dwjc"></el-input>
+        <el-form-item label="单位简称" prop="abbreviation">
+          <el-input v-model="temp.abbreviation"></el-input>
         </el-form-item>
-        <el-form-item label="单位英文名称" prop="dwywmc">
-          <el-input v-model="temp.dwywmc"></el-input>
+        <el-form-item label="单位英文名称" prop="enName">
+          <el-input v-model="temp.enName"></el-input>
         </el-form-item>
-        <el-form-item label="排序" prop="px">
-          <el-input v-model="temp.px"></el-input>
+        <el-form-item label="排序" prop="sort">
+          <el-input v-model="temp.sort"></el-input>
         </el-form-item>
         <el-form-item label="类别码">
-          <el-select class="filter-item" v-model="temp.lbm" placeholder="请选择">
-            <el-option v-for="item in  lbmList" :key="item.id" :label="item.name" :value="item.id">
+          <el-select class="filter-item" v-model="temp.classCode" placeholder="请选择">
+            <el-option v-for="item in  pagedata.classCodeList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="是否启用">
-          <el-select class="filter-item" v-model="temp.sfqy" placeholder="请选择">
+          <el-select class="filter-item" v-model="temp.enable" placeholder="请选择">
             <el-option key="1" label="启用" value="1">
             </el-option>
             <el-option key="0" label="未启用" value="0">
@@ -121,8 +121,7 @@
 </template>
 
 <script>
-import { getList, getItem, createDepartment, deleteDepartment } from '@/api/department-api'
-import { getDicList } from '@/api/dictionary-api'
+import { getPage, getItem, createDepartment, deleteDepartment } from '@/api/department-api'
 import waves from '@/directive/waves' // 水波纹指令
 import { resetForm } from '@/utils'
 import { crudPageList, crudGetItem, crudCreate, crudDelete } from '@/utils/crud'
@@ -137,35 +136,19 @@
   mixins: [mixindata],
   data() {
     return {
-      lbmList: [],
       rules: {
-        dwdm: [{ required: true, message: '单位代码必填', trigger: 'blur' }],
-        dwmc: [{ required: true, message: '单位名称必填', trigger: 'blur' }]
+        code: [{ required: true, message: '单位代码必填', trigger: 'blur' }],
+        name: [{ required: true, message: '单位名称必填', trigger: 'blur' }]
       }
     }
   },
-  filters: {
-    statusFilter(status) {
-      const statusMap = {
-        '1': 'success',
-        '0': 'danger'
-      }
-      return statusMap[status]
-    }
-  },
   created() {
-    this.getLbmList()
     this.handlePageList()
     this.height = window.innerHeight - 216
   },
   methods: {
-    getLbmList() {
-      getDicList({ type: 'lbm' }).then(response => {
-        this.lbmList = response.items
-      })
-    },
     handlePageList() {
-      crudPageList(this, getList)
+      crudPageList(this, getPage)
     },
     handleCreate(rowid, dialogStatus) {
       this.dialogStatus = dialogStatus
diff --git a/leave-school-vue/src/views/systemmanagement/major/index.vue b/leave-school-vue/src/views/systemmanagement/major/index.vue
index 94cc7d1..730adf9 100644
--- a/leave-school-vue/src/views/systemmanagement/major/index.vue
+++ b/leave-school-vue/src/views/systemmanagement/major/index.vue
@@ -12,7 +12,7 @@
         </el-option>
       </el-select>
       <el-select clearable class="filter-item" v-model="listQuery.ssyx" placeholder="所属院系">
-        <el-option v-for="item in  ssyxList" :key="item.id" :label="item.dwmc" :value="item.id">
+        <el-option v-for="item in  ssyxList" :key="item.id" :label="item.name" :value="item.id">
         </el-option>
       </el-select>
       <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查询</el-button>
@@ -78,7 +78,7 @@
         </el-form-item>
         <el-form-item label="所在院系">
           <el-select class="filter-item" v-model="temp.ssyx" placeholder="请选择">
-            <el-option v-for="item in  ssyxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  ssyxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>
diff --git a/leave-school-vue/src/views/systemmanagement/rostersyncinterface/index.vue b/leave-school-vue/src/views/systemmanagement/rostersyncinterface/index.vue
index 886a122..cd8511e 100644
--- a/leave-school-vue/src/views/systemmanagement/rostersyncinterface/index.vue
+++ b/leave-school-vue/src/views/systemmanagement/rostersyncinterface/index.vue
@@ -1,13 +1,13 @@
 <template>
   <div class="app-container">
     <div class="filter-container">
-      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="代码" v-model="listQuery.dm">
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="代码" v-model="listQuery.code">
       </el-input>
-      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="名称" v-model="listQuery.mc">
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="名称" v-model="listQuery.name">
       </el-input>
-      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="条件" v-model="listQuery.tj">
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="条件" v-model="listQuery.sql">
       </el-input>
-      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="排序" v-model="listQuery.px">
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="排序" v-model="listQuery.sort">
       </el-input>
       <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查询</el-button>
       <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate(null, 'create')" type="primary" icon="el-icon-edit">添加</el-button>
@@ -16,22 +16,22 @@
     <el-table :height="height" :data="items" v-loading="listLoading" element-loading-text="Loading" border fit highlight-current-row>
       <el-table-column align="center" label='代码' width="195">
         <template slot-scope="scope">
-          {{scope.row.dm}}
+          {{scope.row.code}}
         </template>
       </el-table-column>
       <el-table-column label="名称" align="center">
         <template slot-scope="scope">
-          {{scope.row.mc}}
+          {{scope.row.name}}
         </template>
       </el-table-column>
-      <el-table-column label="条件" align="center">
+      <el-table-column label="同步条件(SQL)" align="center">
         <template slot-scope="scope">
-          <span>{{scope.row.tj}}</span>
+          <span>{{scope.row.sql}}</span>
         </template>
       </el-table-column>
       <el-table-column label="排序" align="center">
         <template slot-scope="scope">
-          <span>{{scope.row.px}}</span>
+          <span>{{scope.row.sort}}</span>
         </template>
       </el-table-column>
       <el-table-column
@@ -53,18 +53,18 @@
 
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
       <el-form :rules="rules" ref="dataForm" :model="temp" label-position="left" label-width="150px" style='width: 400px; margin-left:50px;'>
-        <el-form-item label="代码" prop="dm">
-          <el-input v-model="temp.dm"></el-input>
+        <el-form-item label="代码" prop="code">
+          <el-input v-model="temp.code"></el-input>
           <input type="hidden" v-model="temp.id" />
         </el-form-item>
-        <el-form-item label="名称" prop="mc">
-          <el-input v-model="temp.mc"></el-input>
+        <el-form-item label="名称" prop="name">
+          <el-input v-model="temp.name"></el-input>
         </el-form-item>
-        <el-form-item label="条件" prop="tj">
-          <el-input type="textarea" :rows="2" v-model="temp.tj"></el-input>
+        <el-form-item label="同步条件(SQL)" prop="sql">
+          <el-input type="textarea" :rows="2" v-model="temp.sql"></el-input>
         </el-form-item>
-        <el-form-item label="排序" prop="px">
-          <el-input v-model="temp.px"></el-input>
+        <el-form-item label="排序">
+          <el-input v-model="temp.sort"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -76,13 +76,13 @@
 </template>
 
 <script>
-import { getList, getItem, createRosterSyncInterface, deleteRosterSyncInterface } from '@/api/rostersyncinterface-api'
+import { getPage, getItem, createRosterSyncInterface, deleteRosterSyncInterface } from '@/api/rostersyncinterface-api'
 import waves from '@/directive/waves' // 水波纹指令
 import { resetForm } from '@/utils'
 import { crudPageList, crudGetItem, crudCreate, crudDelete } from '@/utils/crud'
 import mixindata from '@/utils/crud'
 
-const initData = { sfky: '1' }
+const initData = { }
 export default {
   name: 'rostersyncinterface',
   directives: {
@@ -91,11 +91,10 @@
   mixins: [mixindata],
   data() {
     return {
-      ssyxList: [],
-      sszygbList: [],
       rules: {
-        zdshlxmc: [{ required: true, message: '自动审核类型名称必填', trigger: 'blur' }],
-        zdshlxsxl: [{ required: true, message: '自动审核类型实现类必填', trigger: 'blur' }]
+        code: [{ required: true, message: '代码必填', trigger: 'blur' }],
+        name: [{ required: true, message: '名称必填', trigger: 'blur' }],
+        sql: [{ required: true, message: '同步条件(SQL)必填', trigger: 'blur' }]
       }
     }
   },
@@ -114,7 +113,7 @@
   },
   methods: {
     handlePageList() {
-      crudPageList(this, getList)
+      crudPageList(this, getPage)
     },
     handleCreate(rowid, dialogStatus) {
       this.dialogStatus = dialogStatus
diff --git a/leave-school-vue/src/views/systemmanagement/schoolyear/index.vue b/leave-school-vue/src/views/systemmanagement/schoolyear/index.vue
index 53c7014..b7aa516 100644
--- a/leave-school-vue/src/views/systemmanagement/schoolyear/index.vue
+++ b/leave-school-vue/src/views/systemmanagement/schoolyear/index.vue
@@ -1,9 +1,9 @@
 <template>
   <div class="app-container">
     <div class="filter-container">
-      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="学年代码" v-model="listQuery.xndm">
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="学年代码" v-model="listQuery.code">
       </el-input>
-      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="学年名称" v-model="listQuery.xnmc">
+      <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="学年名称" v-model="listQuery.name">
       </el-input>
       <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查询</el-button>
       <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate(null, 'create')" type="primary" icon="el-icon-edit">添加</el-button>
@@ -17,12 +17,12 @@
       </el-table-column>
       <el-table-column label="学年代码" align="center">
         <template slot-scope="scope">
-          {{scope.row.xndm}}
+          {{scope.row.code}}
         </template>
       </el-table-column>
       <el-table-column label="学年名称" align="center">
         <template slot-scope="scope">
-          <span>{{scope.row.xnmc}}</span>
+          <span>{{scope.row.name}}</span>
         </template>
       </el-table-column>
       <el-table-column
@@ -44,13 +44,13 @@
     
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
       <el-form :rules="rules" ref="dataForm" :model="temp" label-position="left" label-width="150px" style='width: 400px; margin-left:50px;'>
-        <el-form-item label="学年代码1" prop="xndm">
-          <el-input v-if="dialogStatus === 'update'" disabled v-model="temp.xndm"></el-input>
-          <el-input v-else v-model="temp.xndm"></el-input>
+        <el-form-item label="学年代码" prop="code">
+          <el-input v-if="dialogStatus === 'update'" disabled v-model="temp.code"></el-input>
+          <el-input v-else v-model="temp.code"></el-input>
           <input type="hidden" v-model="temp.id" />
         </el-form-item>
-        <el-form-item label="学年名称" prop="xnmc">
-          <el-input v-model="temp.xnmc"></el-input>
+        <el-form-item label="学年名称" prop="name">
+          <el-input v-model="temp.name"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -78,8 +78,8 @@
   data() {
     return {
       rules: {
-        xndm: [{ required: true, message: '学年代码必填', trigger: 'blur' }],
-        xnmc: [{ required: true, message: '学年名称必填', trigger: 'blur' }]
+        code: [{ required: true, message: '学年代码必填', trigger: 'blur' }],
+        name: [{ required: true, message: '学年名称必填', trigger: 'blur' }]
       }
     }
   },
diff --git a/leave-school-vue/src/views/workteam/departmentleader/index.vue b/leave-school-vue/src/views/workteam/departmentleader/index.vue
index e04552b..d0d14f0 100644
--- a/leave-school-vue/src/views/workteam/departmentleader/index.vue
+++ b/leave-school-vue/src/views/workteam/departmentleader/index.vue
@@ -12,7 +12,7 @@
         </el-col>
         <el-col :span="4">
           <el-select clearable class="filter-item" v-model="listQuery.yx" placeholder="院系">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
@@ -128,7 +128,7 @@
         </el-form-item>
         <el-form-item label="院系" prop="yx">
           <el-select class="filter-item" v-model="temp.yx" placeholder="--请选择院系--">
-            <el-option v-for="item in  yxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  yxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>
diff --git a/leave-school-vue/src/views/workteam/instructor/index.vue b/leave-school-vue/src/views/workteam/instructor/index.vue
index 242ce49..326d6b1 100644
--- a/leave-school-vue/src/views/workteam/instructor/index.vue
+++ b/leave-school-vue/src/views/workteam/instructor/index.vue
@@ -12,7 +12,7 @@
         </el-col>
         <el-col :span="4">
           <el-select clearable class="filter-item" v-model="listQuery.yx" placeholder="院系">
-            <el-option v-for="item in  szyxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  szyxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-col>
@@ -116,7 +116,7 @@
         </el-form-item>
         <el-form-item label="所在院系">
           <el-select class="filter-item" v-model="temp.szyx" placeholder="--请选择院系--">
-            <el-option v-for="item in  szyxList" :key="item.id" :label="item.dwmc" :value="item.id">
+            <el-option v-for="item in  szyxList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>