院系统计报表查询
diff --git a/leave-school-vue/src/views/statistical/deptreport/index.vue b/leave-school-vue/src/views/statistical/deptreport/index.vue
new file mode 100644
index 0000000..27932a2
--- /dev/null
+++ b/leave-school-vue/src/views/statistical/deptreport/index.vue
@@ -0,0 +1,162 @@
+<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.yx}}
+ </template>
+ </el-table-column>
+ <el-table-column label="准予离校" align="center">
+ <template slot-scope="scope">
+ {{scope.row.zylx}}
+ </template>
+ </el-table-column>
+ <el-table-column label="不准予离校" align="center">
+ <template slot-scope="scope">
+ {{scope.row.bzylx}}
+ </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/deptreport-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,
+ year: (new Date()).getFullYear() + 2,
+ pcmcList: [],
+ yxList: [],
+ zyList: [],
+ xbList: [],
+ xslbList: [],
+ jbxx: {},
+ queryparam: {}
+ }
+ },
+ created() {
+ this.handlePageList()
+ this.tableheight = window.innerHeight - 320
+ },
+ methods: {
+ drawLine() {
+ const that = this
+ this.$nextTick(function() {
+ const xdata = []
+ const yxiddata = []
+ const zylxdata = []
+ const bzylxdata = []
+ for (const item of this.items) {
+ xdata.push(item.yx)
+ yxiddata.push(item.yxid)
+ zylxdata.push(item.zylx)
+ bzylxdata.push(item.bzylx)
+ }
+ // 基于准备好的dom,初始化echarts实例
+ const myChart = window.echarts.init(document.getElementById('myChart'))
+ // 绘制图表
+ const option = {
+ tooltip: {
+ trigger: 'axis'
+ },
+ toolbox: {
+ feature: {
+ saveAsImage: {}
+ }
+ },
+ xAxis: {
+ type: 'category',
+ data: xdata,
+ yxiddata: yxiddata
+ },
+ yAxis: {
+ type: 'value'
+ },
+ legend: {
+ data: ['准予离校', '不准予离校']
+ },
+ series: [
+ {
+ name: '准予离校',
+ type: 'bar',
+ data: zylxdata
+ },
+ {
+ name: '不准予离校',
+ type: 'bar',
+ data: bzylxdata
+ }]
+ }
+ myChart.setOption(option)
+ myChart.on('click', function(params) {
+ that.listQuery.yx = option.xAxis.yxiddata[params.seriesIndex]
+ // 命名的路由
+ that.$router.push({ name: 'deptsectionrep', params: 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>
+
diff --git a/leave-school-vue/src/views/statistical/deptsectionrep/index.vue b/leave-school-vue/src/views/statistical/deptsectionrep/index.vue
new file mode 100644
index 0000000..97a015e
--- /dev/null
+++ b/leave-school-vue/src/views/statistical/deptsectionrep/index.vue
@@ -0,0 +1,195 @@
+<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="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>
+ </el-select>
+ </el-col>
+ <el-col :span="4">
+ <el-select clearable class="filter-item" v-model="listQuery.zy" 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="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>
+ </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-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/nodereport-api'
+import { getDeptList, getSectionList } from '@/api/department-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'
+import AuditStudentList from '@/components/AuditStudentList'
+
+export default {
+ name: 'class',
+ components: { AuditStudentList },
+ directives: {
+ waves
+ },
+ mixins: [mixindata],
+ data() {
+ return {
+ tableheight: 500,
+ pcmcList: [],
+ yxList: [],
+ zyList: [],
+ bmList: [],
+ queryparam: {}
+ }
+ },
+ created() {
+ this.listQuery = this.$route.params
+ this.initYxList()
+ this.initZyList()
+ this.initBmList()
+ this.handlePageList()
+ this.tableheight = window.innerHeight - 320
+ },
+ methods: {
+ drawLine() {
+ this.$nextTick(function() {
+ const xdata = []
+ const xiddata = []
+ const tgdata = []
+ const btgdata = []
+ const dshdata = []
+ for (const item of this.items) {
+ xdata.push(item.hjmc)
+ xiddata.push(item.hjid)
+ tgdata.push(item.shtg)
+ btgdata.push(item.shbtg)
+ dshdata.push(item.dsh)
+ }
+ // 基于准备好的dom,初始化echarts实例
+ const myChart = window.echarts.init(document.getElementById('myChart'))
+ // 绘制图表
+ const option = {
+ tooltip: {
+ trigger: 'axis'
+ },
+ toolbox: {
+ feature: {
+ saveAsImage: {}
+ }
+ },
+ xAxis: {
+ type: 'category',
+ data: xdata,
+ xiddata: xiddata
+ },
+ yAxis: {
+ type: 'value'
+ },
+ legend: {
+ data: ['通过', '不通过', '待审核']
+ },
+ series: [
+ {
+ name: '通过',
+ type: 'bar',
+ data: tgdata,
+ shzt: 1
+ },
+ {
+ name: '不通过',
+ type: 'bar',
+ data: btgdata,
+ shzt: 2
+ },
+ {
+ name: '待审核',
+ type: 'bar',
+ data: dshdata,
+ shzt: 3
+ }]
+ }
+ myChart.setOption(option)
+ const that = this
+ myChart.on('click', function(params) {
+ const hjid = option.xAxis.xiddata[params.dataIndex]
+ const shzt = option.series[params.seriesIndex].shzt
+ that.showDetail(hjid, shzt)
+ })
+ })
+ },
+ initYxList() {
+ getDeptList().then(response => {
+ this.yxList = response.items
+ })
+ },
+ initZyList() {
+ getZyListByYx({ yx: this.listQuery.yx }).then(response => {
+ this.zyList = response.items
+ // TODO 坑,this.listQuery.zy == null 直接赋值,专业下拉框选择出bug,无法选择,原因未知
+ for (const attr in this.listQuery) {
+ if (attr === 'zy') {
+ this.listQuery['zy'] = null
+ }
+ }
+ })
+ },
+ initBmList() {
+ getSectionList().then(response => {
+ this.bmList = response.items
+ })
+ },
+ 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>
+
diff --git a/leave-school-vue/src/views/statistical/handling/index.vue b/leave-school-vue/src/views/statistical/handling/index.vue
index bcd7d34..936f769 100644
--- a/leave-school-vue/src/views/statistical/handling/index.vue
+++ b/leave-school-vue/src/views/statistical/handling/index.vue
@@ -189,7 +189,7 @@
import { getBjListByZy } from '@/api/class-api'
import { getList } from '@/api/handling-api'
import { getDicList } from '@/api/dictionary-api'
-import { getAllList as getAllDeptList } from '@/api/department-api'
+import { getDeptList as getAllDeptList } from '@/api/department-api'
import { getZyListByYx } from '@/api/major-api'
import waves from '@/directive/waves' // 水波纹指令
import { resetForm } from '@/utils'
diff --git a/leave-school-vue/src/views/statistical/nodereport/index.vue b/leave-school-vue/src/views/statistical/nodereport/index.vue
index 803b19f..9081c35 100644
--- a/leave-school-vue/src/views/statistical/nodereport/index.vue
+++ b/leave-school-vue/src/views/statistical/nodereport/index.vue
@@ -85,7 +85,7 @@
</el-col>
<el-col :span="24">
<el-card>
- <div id="myChart4" :style="{width: '100%', height: '300px'}"></div>
+ <div id="zylxChart" :style="{width: '100%', height: '300px'}"></div>
</el-card>
</el-col>
<el-dialog title="详情" :visible.sync="dialogFormVisible" width="80%" top="2vh">
@@ -97,7 +97,7 @@
<script>
import { getList, getLeaveAuditResult } from '@/api/nodereport-api'
import { getDicList } from '@/api/dictionary-api'
-import { getAllList as getAllDeptList } from '@/api/department-api'
+import { getDeptList as getAllDeptList } from '@/api/department-api'
import { getZyListByYx } from '@/api/major-api'
import waves from '@/directive/waves' // 水波纹指令
import { resetForm } from '@/utils'
@@ -151,6 +151,11 @@
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
+ toolbox: {
+ feature: {
+ saveAsImage: {}
+ }
+ },
legend: {
orient: 'vertical',
left: 'left',
@@ -187,7 +192,7 @@
const zylx = response.data.zylx || 0
const bzylx = response.data.bzylx || 0
// 基于准备好的dom,初始化echarts实例
- const myChart4 = window.echarts.init(document.getElementById('myChart4'))
+ const zylxChart = window.echarts.init(document.getElementById('zylxChart'))
// 绘制图表
const option = {
title: {
@@ -198,6 +203,11 @@
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
+ toolbox: {
+ feature: {
+ saveAsImage: {}
+ }
+ },
legend: {
orient: 'vertical',
left: 'left',
@@ -223,7 +233,7 @@
}
]
}
- myChart4.setOption(option)
+ zylxChart.setOption(option)
})
},
initYxList() {
diff --git a/leave-school-vue/src/views/systemmanagement/class/index.vue b/leave-school-vue/src/views/systemmanagement/class/index.vue
index 33619b6..eeb8cf4 100644
--- a/leave-school-vue/src/views/systemmanagement/class/index.vue
+++ b/leave-school-vue/src/views/systemmanagement/class/index.vue
@@ -147,7 +147,7 @@
<script>
import { getList, getItem, createClass, deleteClass } from '@/api/class-api'
import { getDicList } from '@/api/dictionary-api'
-import { getAllList as getAllDeptList } from '@/api/department-api'
+import { getDeptList as getAllDeptList } from '@/api/department-api'
import { getZyListByYx } from '@/api/major-api'
import waves from '@/directive/waves' // 水波纹指令
import { resetForm } from '@/utils'
diff --git a/leave-school-vue/src/views/systemmanagement/major/index.vue b/leave-school-vue/src/views/systemmanagement/major/index.vue
index 2738ff7..94cc7d1 100644
--- a/leave-school-vue/src/views/systemmanagement/major/index.vue
+++ b/leave-school-vue/src/views/systemmanagement/major/index.vue
@@ -108,7 +108,7 @@
<script>
import { getList, getItem, createMajor, deleteMajor } from '@/api/major-api'
import { getDicList } from '@/api/dictionary-api'
-import { getAllList as getAllDeptList } from '@/api/department-api'
+import { getDeptList as getAllDeptList } from '@/api/department-api'
import waves from '@/directive/waves' // 水波纹指令
import { resetForm } from '@/utils'
import { crudPageList, crudGetItem, crudCreate, crudDelete } from '@/utils/crud'
diff --git a/leave-school-vue/src/views/workteam/departmentleader/index.vue b/leave-school-vue/src/views/workteam/departmentleader/index.vue
index c521dce..3200e68 100644
--- a/leave-school-vue/src/views/workteam/departmentleader/index.vue
+++ b/leave-school-vue/src/views/workteam/departmentleader/index.vue
@@ -144,7 +144,7 @@
<script>
import { getList, getItem, createDepartmentleader, deleteDepartmentleader } from '@/api/departmentleader-api'
import { getDicList } from '@/api/dictionary-api'
-import { getAllList as getAllDeptList } from '@/api/department-api'
+import { getDeptList as getAllDeptList } from '@/api/department-api'
import waves from '@/directive/waves' // 水波纹指令
import { resetForm } from '@/utils'
import { crudPageList, crudGetItem, crudCreate, crudDelete } from '@/utils/crud'
diff --git a/leave-school-vue/src/views/workteam/instructor/index.vue b/leave-school-vue/src/views/workteam/instructor/index.vue
index cad431e..242ce49 100644
--- a/leave-school-vue/src/views/workteam/instructor/index.vue
+++ b/leave-school-vue/src/views/workteam/instructor/index.vue
@@ -133,7 +133,7 @@
import { getList, getItem, createInstructor, deleteInstructor } from '@/api/instructor-api'
import { getAllList } from '@/api/class-api'
import { getDicList } from '@/api/dictionary-api'
-import { getAllList as getAllDeptList } from '@/api/department-api'
+import { getDeptList as getAllDeptList } from '@/api/department-api'
import waves from '@/directive/waves' // 水波纹指令
import { resetForm } from '@/utils'
import { crudPageList, crudGetItem, crudCreate, crudDelete } from '@/utils/crud'