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>
