diff --git a/leave-school-vue/src/api/sectionreport-api.js b/leave-school-vue/src/api/sectionreport-api.js
new file mode 100644
index 0000000..5e4fb05
--- /dev/null
+++ b/leave-school-vue/src/api/sectionreport-api.js
@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+export function getList(params) {
+  return request({
+    url: '/api/statistical/sectionreport/list-api',
+    method: 'get',
+    params
+  })
+}
diff --git a/leave-school-vue/src/icons/svg/deptreport.svg b/leave-school-vue/src/icons/svg/deptreport.svg
index 6ea0e38..f32988b 100644
--- a/leave-school-vue/src/icons/svg/deptreport.svg
+++ b/leave-school-vue/src/icons/svg/deptreport.svg
@@ -1 +1 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1535095956419" class="icon" style="" viewBox="0 0 1026 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2733" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.390625" height="200"><defs><style type="text/css"></style></defs><path d="M171.52 634.88H84.48C38.4 634.88 2.56 670.72 2.56 716.8v202.24c0 46.08 35.84 81.92 81.92 81.92h232.96c46.08 0 81.92-35.84 81.92-81.92V716.8c0-46.08-35.84-81.92-81.92-81.92H171.52z m145.92 56.32c12.8 0 25.6 10.24 25.6 25.6v202.24c0 12.8-10.24 25.6-25.6 25.6H84.48c-12.8 0-25.6-10.24-25.6-25.6V716.8c0-12.8 10.24-25.6 25.6-25.6h232.96z m230.4-320h81.92c46.08 0 81.92-35.84 81.92-81.92V89.6c0-46.08-35.84-81.92-81.92-81.92h-232.96c-46.08 0-81.92 35.84-81.92 81.92v202.24c0 46.08 35.84 81.92 81.92 81.92h94.72l56.32-2.56z m-151.04-56.32c-12.8 0-25.6-10.24-25.6-25.6V89.6c0-12.8 10.24-25.6 25.6-25.6h232.96c12.8 0 25.6 10.24 25.6 25.6v202.24c0 12.8-10.24 25.6-25.6 25.6l-232.96-2.56z m547.84 320h-232.96c-46.08 0-81.92 35.84-81.92 81.92v202.24c0 46.08 35.84 81.92 81.92 81.92h232.96c46.08 0 81.92-35.84 81.92-81.92V716.8c0-46.08-35.84-81.92-81.92-81.92z m23.04 284.16c0 12.8-10.24 25.6-25.6 25.6h-232.96c-12.8 0-25.6-10.24-25.6-25.6V716.8c0-12.8 10.24-25.6 25.6-25.6h232.96c12.8 0 25.6 10.24 25.6 25.6v202.24z m0 0" fill="#bfcbd9" p-id="2734"></path><path d="M855.04 634.88V512c0-15.36-12.8-28.16-28.16-28.16h-281.6v-112.64h-56.32v112.64H197.12c-15.36 0-25.6 12.8-25.6 25.6v122.88H230.4v-92.16h568.32v92.16h56.32z m0 0" fill="#bfcbd9" p-id="2735"></path></svg>
\ No newline at end of file
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1535354819184" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1801" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M946.169514 263.275273l-345.628802-223.762647c0 0-50.350863-36.696391-97.544129-36.696391-41.816818 0-81.329444 36.696391-81.329444 36.696391L92.338362 242.878907c0 0-34.648221 32.173348-20.481707 81.500125C79.793316 351.943995 128.949412 360.990083 128.949412 360.990083L165.560463 360.990083l0 305.433453c0 0 4.011001 290.669556 31.405284 319.173264 25.431453 26.455538 74.246187 35.501625 74.246187 35.501625l483.794983 0c0 0 49.070756-4.523044 73.051421-32.68539 22.700558-26.711559 20.481707-322.07484 20.481707-322.07484L848.540045 360.990083l61.018418 0c0 0 36.781732-4.096341 46.937245-31.746646C969.979498 292.717726 946.169514 263.275273 946.169514 263.275273zM306.372198 841.115426c-42.670223 0-64.005334-20.311026-64.005334-61.103759 0-40.707392 21.335111-61.103759 64.005334-61.103759S370.377531 739.304275 370.377531 780.011668C370.377531 820.71906 349.04242 841.115426 306.372198 841.115426zM306.372198 669.751813c-42.670223 0-64.005334-20.311026-64.005334-61.103759 0-40.707392 21.335111-61.103759 64.005334-61.103759s64.005334 20.396366 64.005334 61.103759C370.377531 649.355446 349.04242 669.751813 306.372198 669.751813zM306.372198 498.388199c-42.670223 0-64.005334-20.311026-64.005334-61.103759 0-40.707392 21.335111-61.018418 64.005334-61.018418s64.005334 20.311026 64.005334 61.018418C370.377531 478.077173 349.04242 498.388199 306.372198 498.388199zM559.833319 914.67889c0 26.967581-21.847154 48.985415-48.900075 48.985415L486.525877 963.664305c-26.967581 0-48.900075-21.932494-48.900075-48.985415L437.625802 767.722644c0-27.052921 21.847154-48.900075 48.900075-48.900075l24.407367 0c26.967581 0 48.900075 21.932494 48.900075 48.900075L559.833319 914.67889zM498.814901 669.751813c-42.670223 0-64.005334-20.311026-64.005334-61.103759 0-40.707392 21.335111-61.103759 64.005334-61.103759 42.670223 0 64.005334 20.396366 64.005334 61.103759C562.820235 649.355446 541.485124 669.751813 498.814901 669.751813zM498.814901 498.388199c-42.670223 0-64.005334-20.311026-64.005334-61.103759 0-40.707392 21.335111-61.018418 64.005334-61.018418 42.670223 0 64.005334 20.311026 64.005334 61.018418C562.820235 478.077173 541.485124 498.388199 498.814901 498.388199zM691.257605 841.115426c-42.670223 0-64.005334-20.311026-64.005334-61.103759 0-40.707392 21.335111-61.103759 64.005334-61.103759 42.670223 0 64.005334 20.396366 64.005334 61.103759C755.262939 820.71906 733.927827 841.115426 691.257605 841.115426zM691.257605 669.751813c-42.670223 0-64.005334-20.311026-64.005334-61.103759 0-40.707392 21.335111-61.103759 64.005334-61.103759 42.670223 0 64.005334 20.396366 64.005334 61.103759C755.262939 649.355446 733.927827 669.751813 691.257605 669.751813zM691.257605 498.388199c-42.670223 0-64.005334-20.311026-64.005334-61.103759 0-40.707392 21.335111-61.018418 64.005334-61.018418 42.670223 0 64.005334 20.311026 64.005334 61.018418C755.262939 478.077173 733.927827 498.388199 691.257605 498.388199z" p-id="1802" fill="#bfcbd9"></path></svg>
\ No newline at end of file
diff --git a/leave-school-vue/src/icons/svg/sectionreport.svg b/leave-school-vue/src/icons/svg/sectionreport.svg
new file mode 100644
index 0000000..6ea0e38
--- /dev/null
+++ b/leave-school-vue/src/icons/svg/sectionreport.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1535095956419" class="icon" style="" viewBox="0 0 1026 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2733" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.390625" height="200"><defs><style type="text/css"></style></defs><path d="M171.52 634.88H84.48C38.4 634.88 2.56 670.72 2.56 716.8v202.24c0 46.08 35.84 81.92 81.92 81.92h232.96c46.08 0 81.92-35.84 81.92-81.92V716.8c0-46.08-35.84-81.92-81.92-81.92H171.52z m145.92 56.32c12.8 0 25.6 10.24 25.6 25.6v202.24c0 12.8-10.24 25.6-25.6 25.6H84.48c-12.8 0-25.6-10.24-25.6-25.6V716.8c0-12.8 10.24-25.6 25.6-25.6h232.96z m230.4-320h81.92c46.08 0 81.92-35.84 81.92-81.92V89.6c0-46.08-35.84-81.92-81.92-81.92h-232.96c-46.08 0-81.92 35.84-81.92 81.92v202.24c0 46.08 35.84 81.92 81.92 81.92h94.72l56.32-2.56z m-151.04-56.32c-12.8 0-25.6-10.24-25.6-25.6V89.6c0-12.8 10.24-25.6 25.6-25.6h232.96c12.8 0 25.6 10.24 25.6 25.6v202.24c0 12.8-10.24 25.6-25.6 25.6l-232.96-2.56z m547.84 320h-232.96c-46.08 0-81.92 35.84-81.92 81.92v202.24c0 46.08 35.84 81.92 81.92 81.92h232.96c46.08 0 81.92-35.84 81.92-81.92V716.8c0-46.08-35.84-81.92-81.92-81.92z m23.04 284.16c0 12.8-10.24 25.6-25.6 25.6h-232.96c-12.8 0-25.6-10.24-25.6-25.6V716.8c0-12.8 10.24-25.6 25.6-25.6h232.96c12.8 0 25.6 10.24 25.6 25.6v202.24z m0 0" fill="#bfcbd9" p-id="2734"></path><path d="M855.04 634.88V512c0-15.36-12.8-28.16-28.16-28.16h-281.6v-112.64h-56.32v112.64H197.12c-15.36 0-25.6 12.8-25.6 25.6v122.88H230.4v-92.16h568.32v92.16h56.32z m0 0" fill="#bfcbd9" p-id="2735"></path></svg>
\ No newline at end of file
diff --git a/leave-school-vue/src/mock/deptreport.js b/leave-school-vue/src/mock/deptreport.js
index 0e08084..9d969d7 100644
--- a/leave-school-vue/src/mock/deptreport.js
+++ b/leave-school-vue/src/mock/deptreport.js
@@ -25,14 +25,5 @@
       recordCount: mockList.length,
       code: 200
     }
-  },
-  getLeaveAuditResult: config => {
-    return {
-      data: {
-        zylx: 100,
-        bzylx: 200
-      },
-      code: 200
-    }
   }
 }
diff --git a/leave-school-vue/src/mock/index.js b/leave-school-vue/src/mock/index.js
index 06d547e..c2ab223 100644
--- a/leave-school-vue/src/mock/index.js
+++ b/leave-school-vue/src/mock/index.js
@@ -18,6 +18,7 @@
 import nodereportApi from './nodereport'
 import deptreportApi from './deptreport'
 import majorreportApi from './majorreport'
+import sectionreportApi from './sectionreport'
 
 import leaveschoolnodeApi from './leaveschoolnode'
 
@@ -115,6 +116,9 @@
 // 专业统计报表查询
 Mock.mock(/\/api\/statistical\/majorreport\/list-api/, 'get', majorreportApi.getList)
 
+// 部门统计报表查询
+Mock.mock(/\/api\/statistical\/sectionreport\/list-api/, 'get', sectionreportApi.getList)
+
 // 离校环节管理
 Mock.mock(/\/api\/procedures\/node\/list-api/, 'get', leaveschoolnodeApi.getList)
 Mock.mock(/\/api\/procedures\/node\/create-node/, 'post', leaveschoolnodeApi.createData)
diff --git a/leave-school-vue/src/mock/majorreport.js b/leave-school-vue/src/mock/majorreport.js
index ad2be90..1fc55fd 100644
--- a/leave-school-vue/src/mock/majorreport.js
+++ b/leave-school-vue/src/mock/majorreport.js
@@ -26,14 +26,5 @@
       recordCount: mockList.length,
       code: 200
     }
-  },
-  getLeaveAuditResult: config => {
-    return {
-      data: {
-        zylx: 100,
-        bzylx: 200
-      },
-      code: 200
-    }
   }
 }
diff --git a/leave-school-vue/src/mock/menulist.js b/leave-school-vue/src/mock/menulist.js
index a854108..616ae59 100644
--- a/leave-school-vue/src/mock/menulist.js
+++ b/leave-school-vue/src/mock/menulist.js
@@ -167,6 +167,12 @@
         code: 'majorreport',
         resource: '/views/statistical/majorreport/index',
         meta: { title: '专业统计报表查询', icon: 'majorreport' }
+      },
+      {
+        path: 'sectionreport',
+        code: 'sectionreport',
+        resource: '/views/statistical/sectionreport/index',
+        meta: { title: '部门统计报表查询', icon: 'sectionreport' }
       }
     ]
   }
diff --git a/leave-school-vue/src/mock/sectionreport.js b/leave-school-vue/src/mock/sectionreport.js
new file mode 100644
index 0000000..f1430ad
--- /dev/null
+++ b/leave-school-vue/src/mock/sectionreport.js
@@ -0,0 +1,29 @@
+import Mock from 'mockjs'
+import { param2Obj } from '@/utils'
+
+const recordList = Mock.mock({
+  'list|4': [{
+    'id': '@increment',
+    'bm|1': ['后勤处', '财务处', '学生处', '图书馆'],
+    'bmid|1': [1, 2, 3, 4],
+    'shtg|1-1000': 100,
+    'shbtg|1-1000': 100
+  }]
+}).list
+
+export default{
+  getList: config => {
+    const { pcmc, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
+    const mockList = recordList.filter(item => {
+      if (pcmc && item.pcmc + '' !== pcmc + '') return false
+      return true
+    })
+
+    const pageList = mockList.filter((item, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1))
+    return {
+      items: pageList,
+      recordCount: mockList.length,
+      code: 200
+    }
+  }
+}
diff --git a/leave-school-vue/src/views/statistical/deptreport/index.vue b/leave-school-vue/src/views/statistical/deptreport/index.vue
index f69e393..fbf4423 100644
--- a/leave-school-vue/src/views/statistical/deptreport/index.vue
+++ b/leave-school-vue/src/views/statistical/deptreport/index.vue
@@ -60,7 +60,6 @@
   data() {
     return {
       tableheight: 500,
-      year: (new Date()).getFullYear() + 2,
       pcmcList: [],
       queryparam: {}
     }
diff --git a/leave-school-vue/src/views/statistical/majorreport/index.vue b/leave-school-vue/src/views/statistical/majorreport/index.vue
index 460e312..13472f8 100644
--- a/leave-school-vue/src/views/statistical/majorreport/index.vue
+++ b/leave-school-vue/src/views/statistical/majorreport/index.vue
@@ -67,7 +67,6 @@
   data() {
     return {
       tableheight: 500,
-      year: (new Date()).getFullYear() + 2,
       pcmcList: [],
       yxList: [],
       queryparam: {}
diff --git a/leave-school-vue/src/views/statistical/sectionreport/index.vue b/leave-school-vue/src/views/statistical/sectionreport/index.vue
new file mode 100644
index 0000000..3045ac2
--- /dev/null
+++ b/leave-school-vue/src/views/statistical/sectionreport/index.vue
@@ -0,0 +1,157 @@
+<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.pcmc" placeholder="批次名称">
+          </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="handleReset" type="primary" icon="el-icon-edit">重置</el-button>
+        </el-col>
+      </el-row>
+    </div>
+    <el-table :data="items" v-loading="listLoading" element-loading-text="Loading" border fit highlight-current-row>
+      <el-table-column align="center" type="index" label='序号' width="95">
+      </el-table-column>
+      <el-table-column label="部门" align="center">
+        <template slot-scope="scope">
+          {{scope.row.bm}}
+        </template>
+      </el-table-column>
+      <el-table-column label="审核通过" align="center">
+        <template slot-scope="scope">
+          {{scope.row.shtg}}
+        </template>
+      </el-table-column>
+      <el-table-column label="审核不通过" align="center">
+        <template slot-scope="scope">
+          {{scope.row.shbtg}}
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-col :span="24">
+      <el-card>
+        <div id="myChart" :style="{width: '100%', height: '300px'}"></div>
+      </el-card>
+    </el-col>
+    <el-dialog title="详情" :visible.sync="dialogFormVisible" width="80%" top="2vh">
+      <audit-student-list :tableheight="tableheight" :queryparam="queryparam"></audit-student-list>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { getList } from '@/api/sectionreport-api'
+import waves from '@/directive/waves' // 水波纹指令
+import { resetForm } from '@/utils'
+import { crudPageList } from '@/utils/crud'
+import mixindata from '@/utils/crud'
+import AuditStudentList from '@/components/AuditStudentList'
+
+export default {
+  name: 'class',
+  components: { AuditStudentList },
+  directives: {
+    waves
+  },
+  mixins: [mixindata],
+  data() {
+    return {
+      tableheight: 500,
+      pcmcList: [],
+      queryparam: {}
+    }
+  },
+  created() {
+    this.handlePageList()
+    this.tableheight = window.innerHeight - 320
+  },
+  methods: {
+    drawLine() {
+      const that = this
+      this.$nextTick(function() {
+        const xdata = []
+        const bmiddata = []
+        const shtgdata = []
+        const shbtgdata = []
+        for (const item of this.items) {
+          xdata.push(item.bm)
+          bmiddata.push(item.bmid)
+          shtgdata.push(item.shtg)
+          shbtgdata.push(item.shbtg)
+        }
+        // 基于准备好的dom，初始化echarts实例
+        const myChart = window.echarts.init(document.getElementById('myChart'))
+        // 绘制图表
+        const option = {
+          tooltip: {
+            trigger: 'axis'
+          },
+          toolbox: {
+            feature: {
+              saveAsImage: {}
+            }
+          },
+          xAxis: {
+            type: 'category',
+            data: xdata,
+            bmiddata: bmiddata
+          },
+          yAxis: {
+            type: 'value'
+          },
+          legend: {
+            data: ['准予离校', '不准予离校']
+          },
+          series: [
+            {
+              name: '准予离校',
+              type: 'bar',
+              data: shtgdata
+            },
+            {
+              name: '不准予离校',
+              type: 'bar',
+              data: shbtgdata
+            }]
+        }
+        myChart.setOption(option)
+        myChart.on('click', function(params) {
+          that.listQuery.bm = option.xAxis.bmiddata[params.seriesIndex]
+          // 命名的路由
+          // params不能直接传递that.listQuery，否则跳转页面的级联下拉框有bug，无法选择，可传递复制对象
+          that.$router.push({ name: 'deptsectionrep', params: Object.assign({}, that.listQuery) })
+        })
+      })
+    },
+    handlePageList() {
+      crudPageList(this, getList, this.drawLine)
+    },
+    handleReset() {
+      resetForm(this.listQuery)
+    },
+    handleFilter() {
+      this.listQuery.pageIndex = 1
+      this.handlePageList()
+    },
+    showDetail(hjid, shzt) {
+      this.listQuery['hjid'] = hjid
+      this.listQuery['shzt'] = shzt
+      this.queryparam = Object.assign({}, this.listQuery)
+      this.dialogFormVisible = true
+    }
+  }
+}
+</script>
+<style scoped>
+.app-container a {
+    color: #00a4f4;
+    text-decoration: none;
+}
+.el-card {
+  margin: 5px;
+}
+</style>
+
