浏览代码

12/24 13:40

运营指标 服务指标
mo 4 年之前
父节点
当前提交
28764f0fc2

+ 1 - 0
src/components/save-form/index.vue

@@ -20,6 +20,7 @@ export default {
       searchs: null
     }
   },
+
   mounted() {
     this.setFormValue()
   },

+ 3 - 1
src/router/notKeepAliveList.js

@@ -45,5 +45,7 @@ export default [
   '/insideSetting/editionList', // 版本控制
   '/insideSetting/adapayManager', // 汇仁账号管理
   '/insideSetting/adapayOperation', //
-  '/operateManager/stuRecodeManager'
+  '/operateManager/stuRecodeManager',// 学生考勤
+  '/operateManager/operateStudent', // 运营指标
+  '/operateManager/serverIndexList', // 服务指标
 ]

+ 198 - 150
src/views/operateManager/operateStudent.vue

@@ -2,162 +2,209 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>运营指标
+      <div class="squrt"></div>
+      运营指标
     </h2>
     <div class="m-core">
-      <el-form :inline="true"
-               :model="searchForm">
+      <save-form
+        :inline="true"
+        :model="searchForm"
+        @submit="search"
+        @reset="onReSet"
+      >
         <el-form-item>
-          <el-input v-model.trim="searchForm.search"
-                    @keyup.enter.native="search"
-                    placeholder="学生姓名 编号"></el-input>
+          <el-input
+            v-model.trim="searchForm.search"
+            clearable
+            @keyup.enter.native="search"
+            placeholder="学生姓名 编号"
+          ></el-input>
         </el-form-item>
         <el-form-item prop="organId">
-          <el-select class="multiple"
-                     v-model.trim="searchForm.organId"
-                     filterable
-                     clearable
-                     placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.organId"
+            filterable
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="老师姓名"
-                     v-model="searchForm.teacherId"
-                     clearable
-                     filterable>
-            <el-option v-for="(item,index) in teacherList"
-                       :label="item.realName"
-                       :value="item.id"
-                       :key="index"></el-option>
-          </el-select>
+          <remote-search
+            :commit="'setTeachers'"
+            v-model="searchForm.teacherId"
+          />
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="参与运营指标"
-                     v-model="searchForm.operatingTag"
-                     clearable>
-            <el-option label="是"
-                       value="1"></el-option>
-            <el-option label="否"
-                       value="0"></el-option>
+          <el-select
+            placeholder="参与运营指标"
+            v-model="searchForm.operatingTag"
+            clearable
+          >
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="有线上vip课"
-                     v-model="searchForm.hasVip"
-                     clearable>
-            <el-option label="是"
-                       value="1"></el-option>
-            <el-option label="否"
-                       value="0"></el-option>
+          <el-select
+            placeholder="有线上vip课"
+            v-model="searchForm.hasVip"
+            clearable
+          >
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="参与免费网管课"
-                     v-model="searchForm.hasFreePractice"
-                     clearable>
-            <el-option label="是"
-                       value="1"></el-option>
-            <el-option label="否"
-                       value="0"></el-option>
+          <el-select
+            placeholder="参与免费网管课"
+            v-model="searchForm.hasFreePractice"
+            clearable
+          >
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="有付费网管课"
-                     v-model="searchForm.hasBuyPractice"
-                     clearable>
-            <el-option label="是"
-                       value="1"></el-option>
-            <el-option label="否"
-                       value="0"></el-option>
+          <el-select
+            placeholder="有付费网管课"
+            v-model="searchForm.hasBuyPractice"
+            clearable
+          >
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="有乐团网管课"
-                     v-model="searchForm.hasMusicNetWork"
-                     clearable>
-            <el-option label="是"
-                       value="1"></el-option>
-            <el-option label="否"
-                       value="0"></el-option>
+          <el-select
+            placeholder="有乐团网管课"
+            v-model="searchForm.hasMusicNetWork"
+            clearable
+          >
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button type="danger"
-                     @click="search">搜索</el-button>
-          <el-button @click="onReSet"
-                     type="primary">重置</el-button>
+          <el-button type="danger" native-type="submit">搜索</el-button>
+          <el-button @click="onReSet" native-type="reset" type="primary"
+            >重置</el-button
+          >
           <!-- export/isSettlementCourseSalarys -->
-          <el-button @click="onExport"
-                     type="primary"
-                     v-permission="'export/operatingStudents'"
-                     style=" background: #14928a; border:1px solid #14928a;">导出</el-button>
+          <el-button
+            @click="onExport"
+            type="primary"
+            v-permission="'export/operatingStudents'"
+            style="background: #14928a; border: 1px solid #14928a"
+            >导出</el-button
+          >
         </el-form-item>
-      </el-form>
+      </save-form>
 
       <div class="tableWrap">
-        <el-table style="width: 100%"
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}"
-                  :data="tableList">
-          <el-table-column align="center"
-                           prop="studentId"
-                           label="学员编号"></el-table-column>
-          <el-table-column align="center"
-                           prop="studentName"
-                           label="学员姓名"></el-table-column>
-          <el-table-column align="center"
-                           prop="organName"
-                           label="所属分部"></el-table-column>
-          <el-table-column align="center"
-                           prop="groupNames"
-                           label="乐团名称"></el-table-column>
-          <el-table-column align="center"
-                           prop="teacherName"
-                           label="指导老师"></el-table-column>
-          <el-table-column align="center"
-                           prop="operatingTag"
-                           label="参与运营指标">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableList"
+        >
+          <el-table-column align="center" prop="studentId" label="学员编号">
+            <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.studentId }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="studentName" label="学员姓名">
+            <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.studentName }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="organName"
+            label="所属分部"
+          >
+              <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.organName }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="groupNames" label="乐团名称">
+            <template slot-scope="scope">
+              <overflow-text width="165px" :text="scope.row.groupNames" />
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="teacherName"
+            label="指导老师"
+          >
+            <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.teacherName }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="operatingTag"
+            label="参与运营指标"
+          >
             <template slot-scope="scope">
-              <div>{{scope.row.operatingTag?'是':'否'}}</div>
+              <div>{{ scope.row.operatingTag ? "是" : "否" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="vipTimes"
-                           label="有线上vip课">
+          <el-table-column align="center" prop="vipTimes" label="有线上vip课">
             <template slot-scope="scope">
-              <div>{{scope.row.vipTimes?'是':'否'}}</div>
+              <div>{{ scope.row.vipTimes ? "是" : "否" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="freePracticeTimes"
-                           label="参与免费网管课">
+          <el-table-column
+            align="center"
+            prop="freePracticeTimes"
+            label="参与免费网管课"
+          >
             <template slot-scope="scope">
-              <div>{{scope.row.freePracticeTimes?'是':'否'}}</div>
+              <div>{{ scope.row.freePracticeTimes ? "是" : "否" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="buyPracticeTimes"
-                           label="有付费网管课">
+          <el-table-column
+            align="center"
+            prop="buyPracticeTimes"
+            label="有付费网管课"
+          >
             <template slot-scope="scope">
-              <div>{{scope.row.buyPracticeTimes?'是':'否'}}</div>
+              <div>{{ scope.row.buyPracticeTimes ? "是" : "否" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="buyPracticeTimes"
-                           label="有乐团网管课">
+          <el-table-column
+            align="center"
+            prop="buyPracticeTimes"
+            label="有乐团网管课"
+          >
             <template slot-scope="scope">
-              <div>{{scope.row.musicNetWorkTimes?'是':'否'}}</div>
+              <div>{{ scope.row.musicNetWorkTimes ? "是" : "否" }}</div>
             </template>
           </el-table-column>
         </el-table>
-        <pagination :total="rules.total"
-                    :page.sync="rules.page"
-                    :limit.sync="rules.limit"
-                    :page-sizes="rules.page_size"
-                    @pagination="getList" />
+        <pagination
+          sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
   </div>
@@ -172,7 +219,7 @@ import { getTeacher, getEmployeeOrgan } from "@/api/buildTeam";
 import { getOperatingStudents } from "@/api/operateManager";
 export default {
   components: { pagination },
-  data () {
+  data() {
     return {
       searchForm: {
         search: null,
@@ -182,7 +229,7 @@ export default {
         hasFreePractice: null,
         hasVip: null,
         operatingTag: null,
-        hasMusicNetWork: null
+        hasMusicNetWork: null,
       },
       teacherList: [],
       tableList: [],
@@ -192,53 +239,54 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
-      }
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
-  created () { },
-  activated () {
+  created() {},
+  activated() {
     this.init();
   },
-  mounted () {
-    getTeacher().then(res => {
-      if (res.code == 200) {
-        this.teacherList = res.data;
-      }
-    });
-    getEmployeeOrgan().then(res => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
+  mounted() {
+    // getTeacher().then(res => {
+    //   if (res.code == 200) {
+    //     this.teacherList = res.data;
+    //   }
+    // });
+    // getEmployeeOrgan().then(res => {
+    //   if (res.code == 200) {
+    //     this.organList = res.data;
+    //   }
+    // });
+    this.$store.dispatch("setBranchs");
     // 获取分部
     this.init();
   },
   methods: {
-    init () {
+    init() {
       if (this.$route.query.teacherId) {
-        this.searchForm.teacherId = this.$route.query.teacherId
+        this.searchForm.teacherId = this.$route.query.teacherId;
       }
       if (this.$route.query.operatingTag) {
-        this.searchForm.operatingTag = this.$route.query.operatingTag
+        this.searchForm.operatingTag = this.$route.query.operatingTag;
       }
       this.getList();
     },
-    getList () {
+    getList() {
       let obj = this.getDate();
-      getOperatingStudents(obj).then(res => {
+      getOperatingStudents(obj).then((res) => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
           this.rules.total = res.data.total;
         }
       });
     },
-    search () {
+    search() {
       this.rules.page = 1;
       this.getList();
     },
-    onReSet () {
+    onReSet() {
       this.searchForm = {
         search: null,
         organId: null,
@@ -246,39 +294,39 @@ export default {
         hasBuyPractice: null,
         hasFreePractice: null,
         hasVip: null,
-        operatingTag: null
+        operatingTag: null,
       };
       this.search();
     },
-    onExport () {
+    onExport() {
       let url = "/api-web/export/operatingStudents";
       let obj = this.getDate();
       const options = {
         method: "get",
         headers: {
-          Authorization: getToken()
+          Authorization: getToken(),
         },
         url,
         params: obj,
-        responseType: "blob"
+        responseType: "blob",
       };
 
       this.$confirm("您确定导出列表?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(() => {
           load.startLoading();
           axios(options)
-            .then(res => {
+            .then((res) => {
               let blob = new Blob([res.data], {
                 // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8',
-                type: "application/vnd.ms-excel;charset=utf-8"
+                type: "application/vnd.ms-excel;charset=utf-8",
                 // word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
               });
               let text = new Response(blob).text();
-              text.then(res => {
+              text.then((res) => {
                 // 判断是否报错
                 if (res.indexOf("code") != -1) {
                   let json = JSON.parse(res);
@@ -307,14 +355,14 @@ export default {
 
               load.endLoading();
             })
-            .catch(error => {
+            .catch((error) => {
               this.$message.error("导出数据失败,请联系管理员");
               load.endLoading();
             });
         })
-        .catch(() => { });
+        .catch(() => {});
     },
-    getDate () {
+    getDate() {
       let obj = {
         search: this.searchForm.search || null,
         organId: this.searchForm.organId || null,
@@ -325,12 +373,12 @@ export default {
         operatingTag: this.searchForm.operatingTag || null,
         page: this.rules.page,
         rows: this.rules.limit,
-        hasMusicNetWork: this.searchForm.hasMusicNetWork || null
+        hasMusicNetWork: this.searchForm.hasMusicNetWork || null,
       };
       return obj;
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang='scss' scoped>
-</style>
+</style>

+ 257 - 215
src/views/operateManager/serverIndexList.vue

@@ -2,184 +2,223 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>服务指标
+      <div class="squrt"></div>
+      服务指标
     </h2>
     <div class="m-core">
-      <el-form :inline="true"
-               :model="searchForm">
+      <save-form
+        :inline="true"
+        :model="searchForm"
+        @submit="search"
+        @reset="onReSet"
+      >
         <el-form-item>
-          <el-input v-model.trim="searchForm.search"
-                    @keyup.enter.native="search"
-                    placeholder="学生姓名"></el-input>
+          <el-input
+            v-model.trim="searchForm.search"
+            @keyup.enter.native="search"
+            clearable
+            placeholder="学生姓名"
+          ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="指导老师"
-                     v-model="searchForm.teacherId"
-                     clearable
-                     filterable>
-            <el-option v-for="(item,index) in teacherList"
-                       :label="item.realName"
-                       :value="item.id"
-                       :key="index"></el-option>
-          </el-select>
+          <remote-search
+            :commit="'setTeachers'"
+            v-model="searchForm.teacherId"
+          />
         </el-form-item>
         <el-form-item prop="organId">
-          <el-select class="multiple"
-                     v-model.trim="searchForm.organIdList"
-                     filterable
-                     clearable
-                     placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.organIdList"
+            filterable
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
-        <!-- <el-form-item>
-          <el-select placeholder="当前有VIP课" v-model="searchForm.existVipCourse" clearable>
-            <el-option label="是" value="1"></el-option>
-            <el-option label="否" value="0"></el-option>
-          </el-select>
-        </el-form-item> -->
         <el-form-item>
-          <el-select placeholder="实际安排"
-                     v-model="searchForm.actualExercisesNumIsAchieve"
-                     clearable>
-            <el-option label="符合预期"
-                       value="1"></el-option>
-            <el-option label="符合预期"
-                       value="0"></el-option>
+          <el-select
+            placeholder="实际安排"
+            v-model="searchForm.actualExercisesNumIsAchieve"
+            clearable
+          >
+            <el-option label="符合预期" value="1"></el-option>
+            <el-option label="不符合预期" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="提交次数"
-                     v-model="searchForm.exercisesReplyNumIsAchieve"
-                     clearable>
-            <el-option label="符合预期"
-                       value="1"></el-option>
-            <el-option label="符合预期"
-                       value="0"></el-option>
+          <el-select
+            placeholder="提交次数"
+            v-model="searchForm.exercisesReplyNumIsAchieve"
+            clearable
+          >
+            <el-option label="符合预期" value="1"></el-option>
+            <el-option label="不符合预期" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="评价次数"
-                     v-model="searchForm.exercisesMessageNumIsAchieve"
-                     clearable>
-            <el-option label="符合预期"
-                       value="1"></el-option>
-            <el-option label="符合预期"
-                       value="0"></el-option>
+          <el-select
+            placeholder="评价次数"
+            v-model="searchForm.exercisesMessageNumIsAchieve"
+            clearable
+          >
+            <el-option label="符合预期" value="1"></el-option>
+            <el-option label="不符合预期" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="及时评价"
-                     v-model="searchForm.exercisesMessageTimelyNumIsAchieve"
-                     clearable>
-            <el-option label="符合预期"
-                       value="1"></el-option>
-            <el-option label="符合预期"
-                       value="0"></el-option>
+          <el-select
+            placeholder="及时评价"
+            v-model="searchForm.exercisesMessageTimelyNumIsAchieve"
+            clearable
+          >
+            <el-option label="符合预期" value="1"></el-option>
+            <el-option label="不符合预期" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="是否有VIP课"
-                     v-model="searchForm.existVipCourse"
-                     clearable>
-            <el-option label="是"
-                       value="1"></el-option>
-            <el-option label="否"
-                       value="0"></el-option>
+          <el-select
+            placeholder="是否有VIP课"
+            v-model="searchForm.existVipCourse"
+            clearable
+          >
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="是否有付费网管课"
-                     v-model="searchForm.existPracticeCourse"
-                     clearable>
-            <el-option label="是"
-                       value="1"></el-option>
-            <el-option label="否"
-                       value="0"></el-option>
+          <el-select
+            placeholder="是否有付费网管课"
+            v-model="searchForm.existPracticeCourse"
+            clearable
+          >
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
           </el-select>
         </el-form-item>
-        <br>
+        <br />
         <el-form-item label="周次选择">
-          <el-date-picker v-model.trim="searchForm.timer"
-                          style="width:400px;"
-                          type="daterange"
-                          :picker-options="{
-        firstDayOfWeek: 1
-    }"
-                          value-format="yyyy-MM-dd"
-                          range-separator="至"
-                          start-placeholder="周次开始日期"
-                          end-placeholder="周次结束日期"
-                          @change="getWeekTime"></el-date-picker>
+          <el-date-picker
+            v-model.trim="searchForm.timer"
+            style="width: 400px"
+            type="daterange"
+            :picker-options="{
+              firstDayOfWeek: 1,
+            }"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="周次开始日期"
+            end-placeholder="周次结束日期"
+            @change="getWeekTime"
+          ></el-date-picker>
         </el-form-item>
         <el-form-item label="作业提交时间">
-          <el-date-picker v-model.trim="searchForm.workTimer"
-                          style="width:400px;"
-                          type="daterange"
-                          :picker-options="{
-        firstDayOfWeek: 1
-    }"
-                          value-format="yyyy-MM-dd"
-                          range-separator="至"
-                          start-placeholder="提交开始日期"
-                          end-placeholder="提交结束日期"></el-date-picker>
+          <el-date-picker
+            v-model.trim="searchForm.workTimer"
+            style="width: 400px"
+            type="daterange"
+            :picker-options="{
+              firstDayOfWeek: 1,
+            }"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="提交开始日期"
+            end-placeholder="提交结束日期"
+          ></el-date-picker>
         </el-form-item>
         <el-form-item>
-          <el-button type="danger"
-                     @click="search">搜索</el-button>
-          <el-button @click="onReSet"
-                     type="primary">重置</el-button>
-          <el-button @click="onExport"
-                     type="primary"
-                     v-permission="'export/exercisesSituations'"
-                     style=" background: #14928a; border:1px solid #14928a;">导出</el-button>
+          <el-button type="danger" native-type="submit">搜索</el-button>
+          <el-button native-type="reset" type="primary">重置</el-button>
+          <el-button
+            @click="onExport"
+            type="primary"
+            v-permission="'export/exercisesSituations'"
+            style="background: #14928a; border: 1px solid #14928a"
+            >导出</el-button
+          >
         </el-form-item>
-      </el-form>
+      </save-form>
       <div class="tableWrap">
-        <el-table style="width: 100%"
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}"
-                  :data="tableList">
-          <el-table-column align="center"
-                           prop="studentId"
-                           label="学员编号"></el-table-column>
-          <el-table-column align="center"
-                           prop="studentName"
-                           label="学生姓名"></el-table-column>
-          <el-table-column align="center"
-                           prop="organName"
-                           label="所属分部"></el-table-column>
-          <el-table-column align="center"
-                           prop="groupNames"
-                           label="乐团名称"></el-table-column>
-          <el-table-column align="center"
-                           prop="teacherName"
-                           label="指导老师"></el-table-column>
-          <el-table-column align="center"
-                           prop="educationalTeacherName"
-                           label="乐团主管"></el-table-column>
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableList"
+        >
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="学员编号"
+          >
+          <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.studentId }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentName"
+            label="学生姓名"
+          >
+           <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.studentName }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="organName"
+            label="所属分部"
+          >
+             <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.organName }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="groupNames"
+            label="乐团名称"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="teacherName"
+            label="指导老师"
+          >
+             <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.teacherName }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="educationalTeacherName"
+            label="乐团主管"
+          ></el-table-column>
           <!-- <el-table-column align="center" label="当前有VIP课" width="100" >
             <template slot-scope="scope">
               <div>{{scope.row.existVipCourse?'是':'否'}}</div>
             </template>
           </el-table-column> -->
-          <el-table-column align="center"
-                           label="预期安排">
-
+          <el-table-column align="center" label="预期安排">
             <template slot-scope="scope">
-              <div>{{scope.row.expectExercisesNum+'次'}}</div>
+              <div>{{ scope.row.expectExercisesNum + "次" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           width="120"
-                           prop>
-            <template slot="header"
-                      slot-scope="scope">
-
-              <p style="position: relative; "> 实际安排 <el-tooltip placement="top"
-                            popper-class="mTooltip">
+          <el-table-column align="center" width="120" prop>
+            <template slot="header" slot-scope="scope">
+              <p style="position: relative">
+                实际安排
+                <el-tooltip placement="top" popper-class="mTooltip">
                   <div slot="content">
                     以周为单位,实际发生一次课外训练或网管课作业布置,记一次,一周只统计一次
                   </div>
@@ -187,71 +226,66 @@
                        class="micon el-tooltip"
                        style="width:8px height:8px"
                        alt /> -->
-                  <i class="el-icon-question"
-                     style="font-size: 18px; color: #F56C6C"></i>
+                  <i
+                    class="el-icon-question"
+                    style="font-size: 18px; color: #f56c6c"
+                  ></i>
                 </el-tooltip>
               </p>
-
             </template>
             <template slot-scope="scope">
-              <div>{{scope.row.actualExercisesNum+'次'}}</div>
+              <div>{{ scope.row.actualExercisesNum + "次" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop
-                           label="提交次数">
+          <el-table-column align="center" prop label="提交次数">
             <template slot-scope="scope">
-              <div>{{scope.row.exercisesReplyNum+'次'}}</div>
+              <div>{{ scope.row.exercisesReplyNum + "次" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop
-                           label="评价次数">
+          <el-table-column align="center" prop label="评价次数">
             <template slot-scope="scope">
-              <div>{{scope.row.exercisesMessageNum+'次'}}</div>
+              <div>{{ scope.row.exercisesMessageNum + "次" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop
-                           label="及时评价次数">
+          <el-table-column align="center" prop label="及时评价次数">
             <template slot-scope="scope">
-              <div>{{scope.row.exercisesMessageTimelyNum+'次'}}</div>
+              <div>{{ scope.row.exercisesMessageTimelyNum + "次" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="VIP课">
+          <el-table-column align="center" label="VIP课">
             <template slot-scope="scope">
-              <div>{{scope.row.existVipCourse + '节'}}</div>
+              <div>{{ scope.row.existVipCourse + "节" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="付费网管课">
+          <el-table-column align="center" label="付费网管课">
             <template slot-scope="scope">
-              <div>{{scope.row.existPracticeCourse+ '节'}}</div>
+              <div>{{ scope.row.existPracticeCourse + "节" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="作业提交时间">
+          <el-table-column align="center" label="作业提交时间">
             <template slot-scope="scope">
-              <div>{{scope.row.lastSubmitTime}}</div>
+              <div>{{ scope.row.lastSubmitTime }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="操作">
+          <el-table-column align="center" label="操作">
             <!--  -->
             <template slot-scope="scope">
-              <div v-if="scope.row.actualExercisesNum >0">
-                <el-button type="text"
-                           @click="lookDetail(scope.row)">查看</el-button>
+              <div v-if="scope.row.actualExercisesNum > 0">
+                <el-button type="text" @click="lookDetail(scope.row)"
+                  >查看</el-button
+                >
               </div>
             </template>
           </el-table-column>
         </el-table>
-        <pagination :total="rules.total"
-                    :page.sync="rules.page"
-                    :limit.sync="rules.limit"
-                    :page-sizes="rules.page_size"
-                    @pagination="getList" />
+        <pagination
+        sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
   </div>
@@ -274,7 +308,7 @@ nowTime =
   nowTime.getDate();
 export default {
   components: { pagination },
-  data () {
+  data() {
     return {
       tableList: [],
       searchForm: {
@@ -288,7 +322,7 @@ export default {
         teacherId: null,
         existVipCourse: null,
         existPracticeCourse: null,
-        workTimer: []
+        workTimer: [],
       },
       organList: [],
       teacherList: [],
@@ -297,51 +331,56 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
       // imageIcon: require("@/assets/images/base/warning.png"),
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
-  created () {
+  created() {
     // 设置默认为当前周
-  },
-  //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {
     this.searchForm.timer = [];
     this.searchForm.timer.push(this.getNowDateAndMonday(nowTime));
     this.searchForm.timer.push(this.getNowDateAndSunday(nowTime));
-    getTeacher().then(res => {
-      if (res.code == 200) {
-        this.teacherList = res.data;
-      }
-    });
+  },
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+    this.$store.dispatch("setBranchs");
+    // getTeacher().then((res) => {
+    //   if (res.code == 200) {
+    //     this.teacherList = res.data;
+    //   }
+    // });
 
-    getEmployeeOrgan().then(res => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
+    // getEmployeeOrgan().then((res) => {
+    //   if (res.code == 200) {
+    //     this.organList = res.data;
+    //   }
+    // });
     // 获取分部  老师
     this.init();
   },
-  activated () {
+  activated() {
     this.init();
   },
   methods: {
-    init () {
+    init() {
       if (this.$route.query.teacherId) {
         this.searchForm.teacherId = this.$route.query.teacherId * 1;
       }
       if (this.$route.query.search) {
-        this.$route.query.search instanceof Object ? this.topForm = this.$route.query.search : this.topForm = JSON.parse(this.$route.query.search);
+        this.$route.query.search instanceof Object
+          ? (this.topForm = this.$route.query.search)
+          : (this.topForm = JSON.parse(this.$route.query.search));
       }
       if (this.$route.query.rules) {
-        this.$route.query.rules instanceof Object ? this.rules = this.$route.query.rules : this.rules = JSON.parse(this.$route.query.rules);
+        this.$route.query.rules instanceof Object
+          ? (this.rules = this.$route.query.rules)
+          : (this.rules = JSON.parse(this.$route.query.rules));
       }
       this.getList();
     },
-    getDate () {
+    getDate() {
       let obj = {
         search: this.searchForm.search || null,
         actualExercisesNumIsAchieve:
@@ -373,10 +412,10 @@ export default {
 
       return obj;
     },
-    getList () {
+    getList() {
       let obj = this.getDate();
       if (!obj) return;
-      findStudentExtracurricularExercisesSituations(obj).then(res => {
+      findStudentExtracurricularExercisesSituations(obj).then((res) => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
           this.rules.total = res.data.total;
@@ -384,7 +423,7 @@ export default {
       });
     },
 
-    onReSet () {
+    onReSet() {
       this.searchForm = {
         timer: [],
         search: null,
@@ -393,40 +432,43 @@ export default {
         exercisesMessageTimelyNumIsAchieve: null, //及时评价
         exercisesReplyNumIsAchieve: null, // 提交次数
         teacherId: null,
-        existVipCourse: null
+        existVipCourse: null,
       };
+          this.searchForm.timer = [];
+    this.searchForm.timer.push(this.getNowDateAndMonday(nowTime));
+    this.searchForm.timer.push(this.getNowDateAndSunday(nowTime));
       this.search();
     },
 
-    onExport () {
+    onExport() {
       let url = "/api-web/export/exercisesSituations";
       let obj = this.getDate();
       const options = {
         method: "get",
         headers: {
-          Authorization: getToken()
+          Authorization: getToken(),
         },
         url,
         params: obj,
-        responseType: "blob"
+        responseType: "blob",
       };
 
       this.$confirm("您确定导出列表?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(() => {
           load.startLoading();
           axios(options)
-            .then(res => {
+            .then((res) => {
               let blob = new Blob([res.data], {
                 // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8',
-                type: "application/vnd.ms-excel;charset=utf-8"
+                type: "application/vnd.ms-excel;charset=utf-8",
                 // word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
               });
               let text = new Response(blob).text();
-              text.then(res => {
+              text.then((res) => {
                 // 判断是否报错
                 if (res.indexOf("code") != -1) {
                   let json = JSON.parse(res);
@@ -455,18 +497,18 @@ export default {
 
               load.endLoading();
             })
-            .catch(error => {
+            .catch((error) => {
               this.$message.error("导出数据失败,请联系管理员");
               load.endLoading();
             });
         })
-        .catch(() => { });
+        .catch(() => {});
     },
-    search () {
+    search() {
       this.rules.page = 1;
       this.getList();
     },
-    getNowDateAndMonday (time) {
+    getNowDateAndMonday(time) {
       let timestamp = new Date(time.replace(/-/g, "/")).getTime();
       let serverDate = new Date(time);
       if (serverDate.getDay() == 0) {
@@ -492,7 +534,7 @@ export default {
       let str = mondayY + "-" + mondayM + "-" + mondayD;
       return str;
     },
-    getNowDateAndSunday (time) {
+    getNowDateAndSunday(time) {
       let timestamp = new Date(time.replace(/-/g, "/")).getTime();
       let serverDate = new Date(time);
 
@@ -516,7 +558,7 @@ export default {
       let str = tomorrowY + "-" + tomorrowM + "-" + tomorrowD;
       return str;
     },
-    getWeekTime (val) {
+    getWeekTime(val) {
       if (val && val.length > 0) {
         let start = this.getNowDateAndMonday(val[0]);
         let end = this.getNowDateAndSunday(val[1]);
@@ -524,7 +566,7 @@ export default {
         this.searchForm.timer.splice(1, 1, end);
       }
     },
-    lookDetail (row) {
+    lookDetail(row) {
       // this.afterSchoolVisible = true;
 
       let rules = JSON.stringify(this.rules);
@@ -539,11 +581,11 @@ export default {
           title: row.studentName,
           extracurricularExercisesId: "yes",
           startTime: this.searchForm.timer[0],
-          endTime: this.searchForm.timer[1]
-        }
+          endTime: this.searchForm.timer[1],
+        },
       });
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang='scss' scoped>