Browse Source

添加修改车间排名

master
xfc 1 week ago
parent
commit
ed2d7f63ff
  1. 79
      xzs-admin/src/views/answer/ranking.vue
  2. 5
      xzs/src/main/resources/mapper/ExamPaperAnswerMapper.xml

79
xzs-admin/src/views/answer/ranking.vue

@ -1,19 +1,33 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
<el-table v-loading="juLoading" :data="juData" border fit highlight-current-row style="width: 100%">
<el-table-column prop="ranking" label="排名" width="100" /> <el-table-column prop="ranking" label="排名" width="100" />
<el-table-column prop="deptName" label="铁路局名称" /> <el-table-column prop="deptName" label="铁路局名称" />
<el-table-column prop="subject2Avg" label="线路专业(平均分)" /> <el-table-column prop="subject2Avg" label="线路专业(平均分)" />
<el-table-column prop="subject3Avg" label="桥隧专业(平均分)" /> <el-table-column prop="subject3Avg" label="桥隧专业(平均分)" />
<el-table-column prop="allAvgScore" label="整体平均分" /> <el-table-column prop="allAvgScore" label="整体平均分" />
<el-table-column label="操作" align="center" width="160px">
<el-table-column label="操作" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button size="mini" @click="duanRanking(row)" class="link-left">工务段排名</el-button>
<el-button size="mini" @click="getDuanData(row)" class="link-left">工务段排名</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog title="工务段排名" :visible.sync="dialogTableVisible">
<el-table :data="gridData" stripe height="500" v-loading="listLoading">
<el-dialog title="工务段排名" :visible.sync="duanDialog" width="60%">
<el-table :data="duanData" stripe height="600" v-loading="duanLoading">
<el-table-column prop="ranking" label="排名" width="100" />
<el-table-column prop="deptName" label="工务段名称" />
<el-table-column prop="subject2Avg" label="线路专业(平均分)" />
<el-table-column prop="subject3Avg" label="桥隧专业(平均分)" />
<el-table-column prop="allAvgScore" label="整体平均分" />
<el-table-column label="操作" align="center">
<template slot-scope="{row}">
<el-button size="mini" @click="getChejianData(row)" class="link-left">车间排名</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<el-dialog title="车间排名" :visible.sync="chejianDialog" style="margin-top: 50px;">
<el-table :data="chejianData" stripe height="500" v-loading="chejianLoading">
<el-table-column prop="ranking" label="排名" width="100" /> <el-table-column prop="ranking" label="排名" width="100" />
<el-table-column prop="deptName" label="工务段名称" /> <el-table-column prop="deptName" label="工务段名称" />
<el-table-column prop="subject2Avg" label="线路专业(平均分)" /> <el-table-column prop="subject2Avg" label="线路专业(平均分)" />
@ -25,38 +39,51 @@
</template> </template>
<script> <script>
import examPaperAnswerApi from '@/api/examPaperAnwser'
import examPaperAnswerApi from '@/api/examPaperAnwser'
export default {
data () {
export default {
data() {
return { return {
listLoading: false,
dialogTableVisible: false,
tableData: [],
gridData: []
juLoading: false,
duanLoading: false,
chejianLoading: false,
duanDialog: false,
chejianDialog: false,
juData: [],
duanData: [],
chejianData: [],
} }
}, },
created () {
this.search()
created() {
this.getJuData()
}, },
methods: { methods: {
search () {
this.tableData = []
this.listLoading = true
getJuData() {
this.juData = []
this.juLoading = true
examPaperAnswerApi.getRanking(-1).then(data => { examPaperAnswerApi.getRanking(-1).then(data => {
this.tableData = data.response
this.listLoading = false
this.juData = data.response
this.juLoading = false
}) })
}, },
duanRanking (row) {
this.gridData = []
this.listLoading = true
this.dialogTableVisible = true
getDuanData(row) {
this.duanData = []
this.duanLoading = true
this.duanDialog = true
examPaperAnswerApi.getRanking(row.deptId).then(data => { examPaperAnswerApi.getRanking(row.deptId).then(data => {
this.gridData = data.response
this.listLoading = false
this.duanData = data.response
this.duanLoading = false
}) })
},
getChejianData(row) {
this.chejianData = []
this.chejianLoading = true
this.chejianDialog = true
examPaperAnswerApi.getRanking(row.deptId).then(data => {
this.chejianData = data.response
this.chejianLoading = false
})
}
} }
} }
}
</script> </script>

5
xzs/src/main/resources/mapper/ExamPaperAnswerMapper.xml

@ -284,11 +284,10 @@
JOIN t_user u ON epa.create_user = u.id JOIN t_user u ON epa.create_user = u.id
JOIN (SELECT id JOIN (SELECT id
FROM (SELECT t1.id, FROM (SELECT t1.id,
IF
(FIND_IN_SET(pid, @pids) > 0, @pids := CONCAT( @pids, ',', id ), - 1) AS ischild
IF(FIND_IN_SET(pid, @pids) > 0 OR id = #{deptId}, @pids := CONCAT(@pids, ',', id), -1) AS ischild
FROM (SELECT id, pid FROM t_dept ORDER BY pid, id) t1, FROM (SELECT id, pid FROM t_dept ORDER BY pid, id) t1,
(SELECT @pids := #{deptId}) t2) t3 (SELECT @pids := #{deptId}) t2) t3
WHERE ischild != - 1) depts ON u.dept_id = depts.id;
WHERE ischild != -1) depts ON u.dept_id = depts.id;
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save