|  | @@ -0,0 +1,494 @@
 | 
	
		
			
				|  |  | +<!--  -->
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div class>
 | 
	
		
			
				|  |  | +    <!-- <h2>
 | 
	
		
			
				|  |  | +      <div class="squrt"></div>课外训练
 | 
	
		
			
				|  |  | +    </h2>-->
 | 
	
		
			
				|  |  | +    <div>
 | 
	
		
			
				|  |  | +      <save-form
 | 
	
		
			
				|  |  | +        :inline="true"
 | 
	
		
			
				|  |  | +        :model="searchForm"
 | 
	
		
			
				|  |  | +        @submit="search"
 | 
	
		
			
				|  |  | +        :saveKey="formSaveKey"
 | 
	
		
			
				|  |  | +        @reset="onReSet"
 | 
	
		
			
				|  |  | +        v-if="show"
 | 
	
		
			
				|  |  | +        ref="saveForm"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        <el-form-item>
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model.trim="searchForm.search"
 | 
	
		
			
				|  |  | +            @keyup.enter.native="
 | 
	
		
			
				|  |  | +              (e) => {
 | 
	
		
			
				|  |  | +                e.target.blur();
 | 
	
		
			
				|  |  | +                $refs.saveForm.save();
 | 
	
		
			
				|  |  | +                search();
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            "
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            placeholder="请输入标题 学生姓名"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  | +        </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 selects.branchs"
 | 
	
		
			
				|  |  | +              :key="index"
 | 
	
		
			
				|  |  | +              :label="item.name"
 | 
	
		
			
				|  |  | +              :value="item.id"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item>
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model.trim="searchForm.cloudHomeworkFlag"
 | 
	
		
			
				|  |  | +            class="organSelect"
 | 
	
		
			
				|  |  | +            filterable
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            placeholder="是否云教练布置"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option label="是" :value="true"></el-option>
 | 
	
		
			
				|  |  | +            <el-option label="否" :value="false"></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <el-form-item>
 | 
	
		
			
				|  |  | +          <el-select placeholder="是否提交" v-model="searchForm.status" 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.isReplied" 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.isRepliedTimely"
 | 
	
		
			
				|  |  | +            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>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item>
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +            v-model.trim="searchForm.timer"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +            type="daterange"
 | 
	
		
			
				|  |  | +            value-format="yyyy-MM-dd"
 | 
	
		
			
				|  |  | +            range-separator="至"
 | 
	
		
			
				|  |  | +            start-placeholder="布置开始日期"
 | 
	
		
			
				|  |  | +            end-placeholder="布置结束日期"
 | 
	
		
			
				|  |  | +            :picker-options="{
 | 
	
		
			
				|  |  | +              firstDayOfWeek: 1,
 | 
	
		
			
				|  |  | +            }"
 | 
	
		
			
				|  |  | +          ></el-date-picker>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item>
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +            v-model.trim="searchForm.expireDate"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +            type="daterange"
 | 
	
		
			
				|  |  | +            value-format="yyyy-MM-dd"
 | 
	
		
			
				|  |  | +            range-separator="至"
 | 
	
		
			
				|  |  | +            start-placeholder="截止开始日期"
 | 
	
		
			
				|  |  | +            end-placeholder="截止结束日期"
 | 
	
		
			
				|  |  | +            :picker-options="{
 | 
	
		
			
				|  |  | +              firstDayOfWeek: 1,
 | 
	
		
			
				|  |  | +            }"
 | 
	
		
			
				|  |  | +          ></el-date-picker>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <el-form-item>
 | 
	
		
			
				|  |  | +          <el-button type="danger" native-type="submit">搜索</el-button>
 | 
	
		
			
				|  |  | +          <el-button type="primary" native-type="reset">重置</el-button>
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            @click="onExport"
 | 
	
		
			
				|  |  | +            type="primary"
 | 
	
		
			
				|  |  | +            v-permission="'export/extraExercisesReplys'"
 | 
	
		
			
				|  |  | +            >导出</el-button
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +      </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="createTime" label="布置时间" width="150">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">{{
 | 
	
		
			
				|  |  | +              scope.row.createTime | dateForMinFormat
 | 
	
		
			
				|  |  | +            }}</template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="expireDate" label="截止时间" width="150">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">{{
 | 
	
		
			
				|  |  | +              scope.row.expireDate | dateForMinFormat
 | 
	
		
			
				|  |  | +            }}</template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="title" label="训练标题">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <div v-if="scope.row.extracurricularExercises">
 | 
	
		
			
				|  |  | +                  {{ scope.row.extracurricularExercises.title }}
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="teacherName"
 | 
	
		
			
				|  |  | +            label="老师"
 | 
	
		
			
				|  |  | +          ></el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="organName"
 | 
	
		
			
				|  |  | +            label="学员分部"
 | 
	
		
			
				|  |  | +          ></el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="createTime" label="学生姓名">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <div v-if="scope.row.user">{{ scope.row.user.username }}</div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="userId"
 | 
	
		
			
				|  |  | +            label="学生编号"
 | 
	
		
			
				|  |  | +          ></el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" label="提交训练">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>{{ scope.row.status ? "是" : "否" }}</div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="createTime" label="提交时间" width="150">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">{{
 | 
	
		
			
				|  |  | +              scope.row.submitTime | dateForMinFormat
 | 
	
		
			
				|  |  | +            }}</template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="isReplied" label="是否评价">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>{{ scope.row.isReplied ? "是" : "否" }}</div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" label="是否有vip" width="100" fixed="right">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>{{ scope.row.existVipCourse ? "是" : "否" }}</div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="isRepliedTimely"
 | 
	
		
			
				|  |  | +            label="及时评价"
 | 
	
		
			
				|  |  | +            width="100"
 | 
	
		
			
				|  |  | +            fixed="right"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>{{ scope.row.isRepliedTimely ? "是" : "否" }}</div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column align="center" prop="actualTeacherName" label="是否云教练布置">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                {{ scope.row.musicScoreId ? "是" : "否" }}
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <!-- <el-table-column align="center" prop="teacherName" label="老师姓名">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div v-if="scope.row.extracurricularExercises&&scope.row.extracurricularExercises.teacher">{{scope.row.extracurricularExercises.teacher.username}}</div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>-->
 | 
	
		
			
				|  |  | +          <el-table-column align="center" label="操作" fixed="right">
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <el-button
 | 
	
		
			
				|  |  | +                  type="text"
 | 
	
		
			
				|  |  | +                  v-permission="'afterWorkList/look'"
 | 
	
		
			
				|  |  | +                  @click="lookDetail(scope.row)"
 | 
	
		
			
				|  |  | +                  >查看</el-button
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +        </el-table>
 | 
	
		
			
				|  |  | +        <pagination
 | 
	
		
			
				|  |  | +          :saveKey="formSaveKey"
 | 
	
		
			
				|  |  | +          sync
 | 
	
		
			
				|  |  | +          :total.sync="rules.total"
 | 
	
		
			
				|  |  | +          :page.sync="rules.page"
 | 
	
		
			
				|  |  | +          :limit.sync="rules.limit"
 | 
	
		
			
				|  |  | +          :page-sizes="rules.page_size"
 | 
	
		
			
				|  |  | +          @pagination="getList"
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +    <el-dialog title="课外训练详情" :visible.sync="afterSchoolVisible" width="600px">
 | 
	
		
			
				|  |  | +      <el-form :model="visibleForm" label-width="100px">
 | 
	
		
			
				|  |  | +        <el-form-item label="老师姓名">
 | 
	
		
			
				|  |  | +          <el-input v-model="visibleForm.teacherName" disabled></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="学生姓名">
 | 
	
		
			
				|  |  | +          <el-input v-model="visibleForm.studentName" disabled></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="截止时间">
 | 
	
		
			
				|  |  | +          <el-input v-model="visibleForm.expiryDate" disabled></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="训练标题">
 | 
	
		
			
				|  |  | +          <el-input v-model="visibleForm.title" disabled></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="训练内容">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            type="textarea"
 | 
	
		
			
				|  |  | +            rows="5"
 | 
	
		
			
				|  |  | +            v-model="visibleForm.content"
 | 
	
		
			
				|  |  | +            disabled
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <el-form-item
 | 
	
		
			
				|  |  | +          label="学生上传"
 | 
	
		
			
				|  |  | +          v-for="(item, index) in visibleForm.attachments"
 | 
	
		
			
				|  |  | +          :key="index"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <!-- <el-button type="primary" v-if="item" @click="lookWork(item)">点击播放</el-button> -->
 | 
	
		
			
				|  |  | +          <p class="schoolCell" v-if="item" @click="lookWork(item)">点击播放</p>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +      </el-form>
 | 
	
		
			
				|  |  | +    </el-dialog>
 | 
	
		
			
				|  |  | +    <el-dialog title="查看训练" width="680px" append-to-body :visible.sync="workVisible">
 | 
	
		
			
				|  |  | +      <!-- activeUrl -->
 | 
	
		
			
				|  |  | +      <video style="width: 640px" :src="activeSrc" ref="dialogVideo" controls="controls">
 | 
	
		
			
				|  |  | +        您的浏览器不支持视频播放
 | 
	
		
			
				|  |  | +      </video>
 | 
	
		
			
				|  |  | +    </el-dialog>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import pagination from "@/components/Pagination/index";
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  extracurricularExercisesReply,
 | 
	
		
			
				|  |  | +  findStudentExtraExerciseDetail,
 | 
	
		
			
				|  |  | +} from "@/api/afterSchool";
 | 
	
		
			
				|  |  | +import { getEmployeeOrgan } from "@/api/buildTeam";
 | 
	
		
			
				|  |  | +import { Export } from "@/utils/downLoadFile";
 | 
	
		
			
				|  |  | +import axios from "axios";
 | 
	
		
			
				|  |  | +import { getToken } from "@/utils/auth";
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  props: ["id", "saveKey"],
 | 
	
		
			
				|  |  | +  components: { pagination },
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    const that = this;
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      formSaveKey: that.saveKey || "afterWorkList",
 | 
	
		
			
				|  |  | +      searchForm: {
 | 
	
		
			
				|  |  | +        search: null,
 | 
	
		
			
				|  |  | +        timer: [],
 | 
	
		
			
				|  |  | +        status: null,
 | 
	
		
			
				|  |  | +        isReplied: null,
 | 
	
		
			
				|  |  | +        isRepliedTimely: null,
 | 
	
		
			
				|  |  | +        isView: null,
 | 
	
		
			
				|  |  | +        organIdList: null,
 | 
	
		
			
				|  |  | +        expireDate: [],
 | 
	
		
			
				|  |  | +        existVipCourse: null,
 | 
	
		
			
				|  |  | +        cloudHomeworkFlag: null,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      rules: {
 | 
	
		
			
				|  |  | +        // 分页规则
 | 
	
		
			
				|  |  | +        limit: 10, // 限制显示条数
 | 
	
		
			
				|  |  | +        page: 1, // 当前页
 | 
	
		
			
				|  |  | +        total: 0, // 总条数
 | 
	
		
			
				|  |  | +        page_size: [10, 20, 40, 50], // 选择限制显示条数
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      teacherList: [],
 | 
	
		
			
				|  |  | +      tableList: [],
 | 
	
		
			
				|  |  | +      organList: [],
 | 
	
		
			
				|  |  | +      visibleForm: {
 | 
	
		
			
				|  |  | +        expiryDate: "",
 | 
	
		
			
				|  |  | +        teacherName: "",
 | 
	
		
			
				|  |  | +        title: "",
 | 
	
		
			
				|  |  | +        studentName: "",
 | 
	
		
			
				|  |  | +        content: "",
 | 
	
		
			
				|  |  | +        attachments: [],
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      afterSchoolVisible: false,
 | 
	
		
			
				|  |  | +      workVisible: false,
 | 
	
		
			
				|  |  | +      activeSrc: "",
 | 
	
		
			
				|  |  | +      extracurricularExercisesId: null,
 | 
	
		
			
				|  |  | +      show: true,
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  //生命周期 - 创建完成(可以访问当前this实例)
 | 
	
		
			
				|  |  | +  created() {},
 | 
	
		
			
				|  |  | +  //生命周期 - 挂载完成(可以访问DOM元素)
 | 
	
		
			
				|  |  | +  mounted() {
 | 
	
		
			
				|  |  | +    this.$store.dispatch("setBranchs");
 | 
	
		
			
				|  |  | +    this.init();
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    init() {
 | 
	
		
			
				|  |  | +      this.extracurricularExercisesId = this.$route.query.extracurricularExercisesId;
 | 
	
		
			
				|  |  | +      if (this.extracurricularExercisesId) {
 | 
	
		
			
				|  |  | +        this.show = false;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.searchForm.search = this.$route.query.studentId;
 | 
	
		
			
				|  |  | +      if (this.$route.query.startTime && this.$route.query.endTime) {
 | 
	
		
			
				|  |  | +        this.searchForm.timer = [this.$route.query.startTime, this.$route.query.endTime];
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      //  (this.$route.query)
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getList() {
 | 
	
		
			
				|  |  | +      // assignStartTime  assignEndTime page search teacherId title
 | 
	
		
			
				|  |  | +      let obj = this.getDate();
 | 
	
		
			
				|  |  | +      extracurricularExercisesReply(obj).then((res) => {
 | 
	
		
			
				|  |  | +        if (res.code == 200) {
 | 
	
		
			
				|  |  | +          this.tableList = res.data.rows;
 | 
	
		
			
				|  |  | +          this.rules.total = res.data.total;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    search() {
 | 
	
		
			
				|  |  | +      this.rules.page = 1;
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 导出
 | 
	
		
			
				|  |  | +    async onExport() {
 | 
	
		
			
				|  |  | +      let obj = this.getDate();
 | 
	
		
			
				|  |  | +      await Export(
 | 
	
		
			
				|  |  | +        this,
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          url: "/api-web/export/extraExercisesReplys",
 | 
	
		
			
				|  |  | +          fileName: "课外训练(学员).xls",
 | 
	
		
			
				|  |  | +          method: "get",
 | 
	
		
			
				|  |  | +          params: obj,
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        "您确定导出列表?"
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getDate() {
 | 
	
		
			
				|  |  | +      let obj = {};
 | 
	
		
			
				|  |  | +      if (this.searchForm.timer && this.searchForm.timer.length > 0) {
 | 
	
		
			
				|  |  | +        obj.submitStartTime = this.searchForm.timer[0];
 | 
	
		
			
				|  |  | +        obj.submitEndTime = this.searchForm.timer[1];
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (this.searchForm.expireDate && this.searchForm.expireDate.length > 0) {
 | 
	
		
			
				|  |  | +        obj.expireStartDate = this.searchForm.expireDate[0];
 | 
	
		
			
				|  |  | +        obj.expireEndDate = this.searchForm.expireDate[1];
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      obj.page = this.rules.page;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      (obj.rows = this.rules.limit),
 | 
	
		
			
				|  |  | +        this.searchForm.teacherId ? (obj.teacherId = this.searchForm.teacherId) : null;
 | 
	
		
			
				|  |  | +      this.searchForm.search ? (obj.search = this.searchForm.search) : null;
 | 
	
		
			
				|  |  | +      this.searchForm.status ? (obj.status = this.searchForm.status) : null;
 | 
	
		
			
				|  |  | +      this.searchForm.isReplied ? (obj.isReplied = this.searchForm.isReplied) : null;
 | 
	
		
			
				|  |  | +      this.searchForm.isRepliedTimely
 | 
	
		
			
				|  |  | +        ? (obj.isRepliedTimely = this.searchForm.isRepliedTimely)
 | 
	
		
			
				|  |  | +        : null;
 | 
	
		
			
				|  |  | +      this.searchForm.isView ? (obj.isView = this.searchForm.isView) : null;
 | 
	
		
			
				|  |  | +      this.extracurricularExercisesId && this.extracurricularExercisesId != "yes"
 | 
	
		
			
				|  |  | +        ? (obj.extracurricularExercisesId = this.extracurricularExercisesId)
 | 
	
		
			
				|  |  | +        : null;
 | 
	
		
			
				|  |  | +      this.searchForm.organIdList
 | 
	
		
			
				|  |  | +        ? (obj.organIdList = this.searchForm.organIdList)
 | 
	
		
			
				|  |  | +        : null;
 | 
	
		
			
				|  |  | +      this.searchForm.existVipCourse
 | 
	
		
			
				|  |  | +        ? (obj.existVipCourse = this.searchForm.existVipCourse)
 | 
	
		
			
				|  |  | +        : null;
 | 
	
		
			
				|  |  | +      obj.cloudHomeworkFlag = this.searchForm.cloudHomeworkFlag;
 | 
	
		
			
				|  |  | +      return obj;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onReSet() {
 | 
	
		
			
				|  |  | +      this.searchForm = {
 | 
	
		
			
				|  |  | +        search: null,
 | 
	
		
			
				|  |  | +        timer: [],
 | 
	
		
			
				|  |  | +        status: null,
 | 
	
		
			
				|  |  | +        isReplied: null,
 | 
	
		
			
				|  |  | +        isRepliedTimely: null,
 | 
	
		
			
				|  |  | +        isView: null,
 | 
	
		
			
				|  |  | +        organId: null,
 | 
	
		
			
				|  |  | +        expireDate: [],
 | 
	
		
			
				|  |  | +        existVipCourse: null,
 | 
	
		
			
				|  |  | +        cloudHomeworkFlag: null,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      this.extracurricularExercisesId = null;
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    lookDetail(row) {
 | 
	
		
			
				|  |  | +      //   this.afterSchoolVisible = true;
 | 
	
		
			
				|  |  | +      //    (row)
 | 
	
		
			
				|  |  | +      findStudentExtraExerciseDetail({
 | 
	
		
			
				|  |  | +        studentExerciseId: row.id,
 | 
	
		
			
				|  |  | +      }).then((res) => {
 | 
	
		
			
				|  |  | +        if (res.code == 200) {
 | 
	
		
			
				|  |  | +          this.visibleForm = {
 | 
	
		
			
				|  |  | +            expiryDate: res.data.expiryDate,
 | 
	
		
			
				|  |  | +            teacherName: res.data.teacherName,
 | 
	
		
			
				|  |  | +            title: row.extracurricularExercises.title,
 | 
	
		
			
				|  |  | +            studentName: res.data.studentName,
 | 
	
		
			
				|  |  | +            content: res.data.content,
 | 
	
		
			
				|  |  | +            attachments: res.data.attachments.split(","),
 | 
	
		
			
				|  |  | +          };
 | 
	
		
			
				|  |  | +          //    (this.visibleForm)
 | 
	
		
			
				|  |  | +          this.afterSchoolVisible = true;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    lookWork(src) {
 | 
	
		
			
				|  |  | +      this.activeSrc = src;
 | 
	
		
			
				|  |  | +      this.workVisible = true;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  watch: {
 | 
	
		
			
				|  |  | +    workVisible(val) {
 | 
	
		
			
				|  |  | +      if (!val) {
 | 
	
		
			
				|  |  | +        this.activeSrc = "";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +<style lang="scss" scoped>
 | 
	
		
			
				|  |  | +.schoolCell {
 | 
	
		
			
				|  |  | +  width: 400px;
 | 
	
		
			
				|  |  | +  color: #333;
 | 
	
		
			
				|  |  | +  background-color: #f5f7fa;
 | 
	
		
			
				|  |  | +  border-color: #e4e7ed;
 | 
	
		
			
				|  |  | +  height: 40px;
 | 
	
		
			
				|  |  | +  line-height: 40px;
 | 
	
		
			
				|  |  | +  outline: 0;
 | 
	
		
			
				|  |  | +  padding: 0 15px;
 | 
	
		
			
				|  |  | +  border-radius: 4px;
 | 
	
		
			
				|  |  | +  border: 1px solid #dcdfe6;
 | 
	
		
			
				|  |  | +  display: inline-block;
 | 
	
		
			
				|  |  | +  box-sizing: border-box;
 | 
	
		
			
				|  |  | +  white-space: nowrap;
 | 
	
		
			
				|  |  | +  text-overflow: ellipsis;
 | 
	
		
			
				|  |  | +  overflow: hidden;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +::v-deep .el-textarea.is-disabled .el-textarea__inner {
 | 
	
		
			
				|  |  | +  color: #333;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |