Browse Source

加异常统计和异常乐团主管

1
mo 4 years ago
parent
commit
077ac3feee

+ 15 - 0
src/views/indexErrDataRecord/api.js

@@ -27,3 +27,18 @@ export const getIndexErrData = data => request2({
   params: data,
   method: 'get',
 })
+
+// 异常数据汇总
+export const getErrDataSummarizing = data => request2({
+  url: '/api-web/indexErrDataRecord/errDataSummarizing',
+  params: data,
+  method: 'get',
+})
+
+// 获取有异常的乐团主管
+export const getAllEducationUsers = data => request2({
+  url: '/api-web/indexErrDataRecord/getAllEducationUsers',
+  params: data,
+  method: 'get',
+})
+

+ 1 - 2
src/views/indexErrDataRecord/components/errorCourse.vue

@@ -184,7 +184,7 @@
           <el-table-column align="center" label="异常产生时间">
             <template slot-scope="scope">
               <div>
-                {{ scope.row.generateTime }}
+                {{ scope.row.generateTime | dayjsFormat}}
               </div>
             </template>
           </el-table-column>
@@ -209,7 +209,6 @@
             align="center"
             label="详情"
             fixed="right"
-            width="220px"
           >
             <template slot-scope="scope">
               <div>

+ 170 - 24
src/views/indexErrDataRecord/components/historyError.vue

@@ -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>

+ 1 - 1
src/views/indexErrDataRecord/components/patrol.vue

@@ -177,7 +177,7 @@
           <el-table-column align="center" label="异常产生时间">
             <template slot-scope="scope">
               <div>
-                {{ scope.row.generateTime }}
+                {{ scope.row.generateTime |dayjsFormat}}
               </div>
             </template>
           </el-table-column>

+ 1 - 1
src/views/indexErrDataRecord/components/visitError.vue

@@ -109,7 +109,7 @@
       <el-table-column align="center" label="异常产生时间">
         <template slot-scope="scope">
           <div>
-            {{ scope.row.generateTime }}
+            {{ scope.row.generateTime | dayjsFormat}}
           </div>
         </template>
       </el-table-column>

+ 0 - 1
src/views/indexErrDataRecord/index.vue

@@ -84,7 +84,6 @@ export default {
       this.activeKey = val;
     },
     reloadItem() {
-      console.log("调用");
       if (this.$refs.teamSchedule) {
         this.$refs.teamSchedule.getList();
       }