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>
