|
@@ -24,6 +24,27 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="searchForm.educationUserId"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ placeholder="请选择乐团主管"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in educationList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.userName"
|
|
|
+ :value="item.userId"
|
|
|
+ >
|
|
|
+ <span style="float: left">{{ item.userName }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px">{{
|
|
|
+ item.userId
|
|
|
+ }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item prop="timer">
|
|
|
<el-date-picker
|
|
|
v-model.trim="searchForm.timer"
|
|
@@ -40,9 +61,59 @@
|
|
|
<el-form-item>
|
|
|
<el-button native-type="submit" type="primary">搜索</el-button>
|
|
|
<el-button native-type="reset" type="danger">重置</el-button>
|
|
|
- <el-button type="primary" v-if="permission('export/exportIndexHistoryErrData')" @click="exportIndexErr">导出</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="permission('export/exportIndexHistoryErrData')"
|
|
|
+ @click="exportIndexErr"
|
|
|
+ >导出</el-button
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
</save-form>
|
|
|
+
|
|
|
+ <statistic :col="5" class="statistic" :cols="0">
|
|
|
+ <statistic-item>
|
|
|
+ <span>乐团巡查事项异常剩余</span>
|
|
|
+ <span><count-to :endVal="statInfo.musicPatrolItemSurplus" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>乐团巡查任务未提交剩余</span>
|
|
|
+ <span><count-to :endVal="statInfo.inspectionItemPlanSurplus" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>回访任务未完成剩余</span>
|
|
|
+ <span><count-to :endVal="statInfo.studentVisitSurplus" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>课程考情异常剩余</span>
|
|
|
+ <span
|
|
|
+ ><count-to :endVal="statInfo.teacherExceptionAttendanceSurplus"
|
|
|
+ /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>课程异常剩余</span>
|
|
|
+ <span><count-to :endVal="statInfo.teacherNotAClassSurplus" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>乐团巡查事项异常总数</span>
|
|
|
+ <span><count-to :endVal="statInfo.musicPatrolItem" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>乐团巡查任务未提交总数</span>
|
|
|
+ <span><count-to :endVal="statInfo.inspectionItemPlan" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>回访任务未完成总数</span>
|
|
|
+ <span><count-to :endVal="statInfo.studentVisit" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>课程考情异常总数</span>
|
|
|
+ <span><count-to :endVal="statInfo.teacherExceptionAttendance" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ <statistic-item>
|
|
|
+ <span>课程异常总数</span>
|
|
|
+ <span><count-to :endVal="statInfo.teacherNotAClassSurplus" /></span>
|
|
|
+ </statistic-item>
|
|
|
+ </statistic>
|
|
|
<el-table
|
|
|
style="width: 100%"
|
|
|
:header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
@@ -62,6 +133,14 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column align="center" prop="organName" label="乐团主管">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.dealUserName }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- -->
|
|
|
|
|
|
<el-table-column
|
|
|
align="center"
|
|
@@ -70,7 +149,12 @@
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{ scope.row.musicPatrolItemSurplus?scope.row.musicPatrolItemSurplus:'0'}} / {{ scope.row.musicPatrolItem?scope.row.musicPatrolItem:'0'}}
|
|
|
+ {{
|
|
|
+ scope.row.musicPatrolItemSurplus
|
|
|
+ ? scope.row.musicPatrolItemSurplus
|
|
|
+ : "0"
|
|
|
+ }}
|
|
|
+ / {{ scope.row.musicPatrolItem ? scope.row.musicPatrolItem : "0" }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -81,7 +165,15 @@
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{ scope.row.inspectionItemPlanSurplus?scope.row.inspectionItemPlanSurplus:'0'}} / {{ scope.row.inspectionItemPlan?scope.row.inspectionItemPlan:'0'}}
|
|
|
+ {{
|
|
|
+ scope.row.inspectionItemPlanSurplus
|
|
|
+ ? scope.row.inspectionItemPlanSurplus
|
|
|
+ : "0"
|
|
|
+ }}
|
|
|
+ /
|
|
|
+ {{
|
|
|
+ scope.row.inspectionItemPlan ? scope.row.inspectionItemPlan : "0"
|
|
|
+ }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -90,9 +182,14 @@
|
|
|
prop="times"
|
|
|
label="回访任务未完成剩余/总数"
|
|
|
>
|
|
|
- <template slot-scope="scope">
|
|
|
+ <template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{ scope.row.studentVisitSurplus?scope.row.studentVisitSurplus:'0'}} / {{ scope.row.studentVisit?scope.row.studentVisit:'0'}}
|
|
|
+ {{
|
|
|
+ scope.row.studentVisitSurplus
|
|
|
+ ? scope.row.studentVisitSurplus
|
|
|
+ : "0"
|
|
|
+ }}
|
|
|
+ / {{ scope.row.studentVisit ? scope.row.studentVisit : "0" }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -102,9 +199,19 @@
|
|
|
prop="plannedTimes"
|
|
|
label="课程考勤异常剩余/总数"
|
|
|
>
|
|
|
- <template slot-scope="scope">
|
|
|
+ <template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{ scope.row.teacherExceptionAttendanceSurplus?scope.row.teacherExceptionAttendanceSurplus:'0'}} / {{scope.row.teacherExceptionAttendance?scope.row.teacherExceptionAttendance:'0'}}
|
|
|
+ {{
|
|
|
+ scope.row.teacherExceptionAttendanceSurplus
|
|
|
+ ? scope.row.teacherExceptionAttendanceSurplus
|
|
|
+ : "0"
|
|
|
+ }}
|
|
|
+ /
|
|
|
+ {{
|
|
|
+ scope.row.teacherExceptionAttendance
|
|
|
+ ? scope.row.teacherExceptionAttendance
|
|
|
+ : "0"
|
|
|
+ }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -114,10 +221,14 @@
|
|
|
label="课程异常剩余/总数"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
- <div
|
|
|
-
|
|
|
- >
|
|
|
- {{ scope.row.teacherNotAClassSurplus?scope.row.teacherNotAClassSurplus:'0'}} / {{ scope.row.teacherNotAClass?scope.row.teacherNotAClass:'0'}}
|
|
|
+ <div>
|
|
|
+ {{
|
|
|
+ scope.row.teacherNotAClassSurplus
|
|
|
+ ? scope.row.teacherNotAClassSurplus
|
|
|
+ : "0"
|
|
|
+ }}
|
|
|
+ /
|
|
|
+ {{ scope.row.teacherNotAClass ? scope.row.teacherNotAClass : "0" }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -125,7 +236,7 @@
|
|
|
<pagination
|
|
|
sync
|
|
|
:total.sync="rules.total"
|
|
|
- saveKey="indexErrDataRecord-historyError"
|
|
|
+ saveKey="indexErrDataRecord-historyError"
|
|
|
:page.sync="rules.page"
|
|
|
:limit.sync="rules.limit"
|
|
|
:page-sizes="rules.page_size"
|
|
@@ -135,21 +246,27 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
// import { getInspectionItem, resetInspectionItem } from "../api";
|
|
|
+import countTo from "vue-count-to";
|
|
|
import { permission } from "@/utils/directivePage";
|
|
|
import pagination from "@/components/Pagination/index";
|
|
|
-import { getIndexErrData } from "../api";
|
|
|
+import {
|
|
|
+ getIndexErrData,
|
|
|
+ getErrDataSummarizing,
|
|
|
+ getAllEducationUsers,
|
|
|
+} from "../api";
|
|
|
import dayjs from "dayjs";
|
|
|
import { getTimes } from "@/utils";
|
|
|
import { Export } from "@/utils/downLoadFile";
|
|
|
-import qs from 'qs'
|
|
|
+import qs from "qs";
|
|
|
export default {
|
|
|
props: ["searchType"],
|
|
|
- components: { pagination },
|
|
|
+ components: { pagination, "count-to": countTo },
|
|
|
data() {
|
|
|
return {
|
|
|
searchForm: {
|
|
|
organIds: "",
|
|
|
timer: [],
|
|
|
+ educationUserId:''
|
|
|
},
|
|
|
tableList: [],
|
|
|
handleVisible: false,
|
|
@@ -160,10 +277,28 @@ export default {
|
|
|
total: 0, // 总条数
|
|
|
page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
},
|
|
|
+ statInfo: {
|
|
|
+ inspectionItemPlan: 0,
|
|
|
+ inspectionItemPlanSurplus: 0,
|
|
|
+ musicPatrolItem: 0,
|
|
|
+ musicPatrolItemSurplus: 0,
|
|
|
+ teacherExceptionAttendance: 0,
|
|
|
+ teacherExceptionAttendanceSurplus: 0,
|
|
|
+ teacherNotAClass: 0,
|
|
|
+ teacherNotAClassSurplus: 0,
|
|
|
+ studentVisit: 0,
|
|
|
+ studentVisitSurplus: 0,
|
|
|
+ },
|
|
|
+ educationList:[]
|
|
|
};
|
|
|
},
|
|
|
- mounted() {
|
|
|
+ async mounted() {
|
|
|
this.$store.dispatch("setBranchs");
|
|
|
+ try {
|
|
|
+ const res = await getAllEducationUsers();
|
|
|
+ this.educationList = res.data
|
|
|
+ } catch (e) {}
|
|
|
+
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
@@ -189,11 +324,18 @@ export default {
|
|
|
};
|
|
|
try {
|
|
|
const res = await getIndexErrData(params);
|
|
|
+ // console.log(erDate);
|
|
|
this.tableList = res.data.rows;
|
|
|
this.rules.total = res.data.total;
|
|
|
} catch (e) {
|
|
|
console.log(e);
|
|
|
}
|
|
|
+ try {
|
|
|
+ const erDate = await getErrDataSummarizing(params);
|
|
|
+ this.statInfo = { ...erDate.data };
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e);
|
|
|
+ }
|
|
|
},
|
|
|
resetLine(row) {
|
|
|
let { id, memo } = row;
|
|
@@ -236,14 +378,18 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- exportIndexErr(){
|
|
|
- Export(this, {
|
|
|
- url: '/api-web/export/exportIndexHistoryErrData',
|
|
|
- fileName: '首页历史异常统计.xls',
|
|
|
- method: 'post',
|
|
|
- params:qs.stringify({...this.searchForm})
|
|
|
- }, '您确定导出首页历史异常统计?')
|
|
|
- }
|
|
|
+ exportIndexErr() {
|
|
|
+ Export(
|
|
|
+ this,
|
|
|
+ {
|
|
|
+ url: "/api-web/export/exportIndexHistoryErrData",
|
|
|
+ fileName: "首页历史异常统计.xls",
|
|
|
+ method: "post",
|
|
|
+ params: qs.stringify({ ...this.searchForm }),
|
|
|
+ },
|
|
|
+ "您确定导出首页历史异常统计?"
|
|
|
+ );
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|