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