|
@@ -25,7 +25,7 @@
|
|
|
}
|
|
|
"
|
|
|
clearable
|
|
|
- placeholder="请输入标题 学生姓名"
|
|
|
+ placeholder="老师"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="organId">
|
|
@@ -46,6 +46,18 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-select
|
|
|
+ v-model.trim="searchForm.type"
|
|
|
+ class="organSelect"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ placeholder="请选择类型"
|
|
|
+ >
|
|
|
+ <el-option label="课外练习" value="EXTRACURRICULAR"></el-option>
|
|
|
+ <el-option label="额外练习" value="EXTRA"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <el-form-item>
|
|
|
+ <el-select
|
|
|
v-model.trim="searchForm.cloudHomeworkFlag"
|
|
|
class="organSelect"
|
|
|
filterable
|
|
@@ -58,21 +70,13 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item>
|
|
|
- <el-select
|
|
|
- placeholder="是否提交"
|
|
|
- v-model="searchForm.status"
|
|
|
- clearable
|
|
|
- >
|
|
|
+ <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-select placeholder="是否评价" v-model="searchForm.isReplied" clearable>
|
|
|
<el-option label="是" value="1"></el-option>
|
|
|
<el-option label="否" value="0"></el-option>
|
|
|
</el-select>
|
|
@@ -124,17 +128,17 @@
|
|
|
firstDayOfWeek: 1,
|
|
|
}"
|
|
|
></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
+ </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
|
|
|
+ <!-- <el-button
|
|
|
@click="onExport"
|
|
|
type="primary"
|
|
|
v-permission="'export/extraExercisesReplys'"
|
|
|
>导出</el-button
|
|
|
- >
|
|
|
+ > -->
|
|
|
</el-form-item>
|
|
|
</save-form>
|
|
|
<div class="tableWrap">
|
|
@@ -143,27 +147,39 @@
|
|
|
:header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
:data="tableList"
|
|
|
>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="createTime"
|
|
|
- label="布置时间"
|
|
|
- width="150"
|
|
|
- >
|
|
|
+ <el-table-column align="center" prop="organName" label="分部"></el-table-column>
|
|
|
+ <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"
|
|
|
- >
|
|
|
+ <el-table-column align="center" prop="createTime" label="练习类型">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.type == "EXTRACURRICULAR" ? "课后练习" : "额外练习" }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="teacherName" label="布置老师">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <copy-text v-if="scope.row.teacher">
|
|
|
+ {{ scope.row.teacher.username }}
|
|
|
+ </copy-text>
|
|
|
+ </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="训练标题">
|
|
|
+ <el-table-column align="center" prop="title" label="应交人数">
|
|
|
+ <template slot-scope="scope"> {{ scope.row.expectNum || 0 }}人 </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column align="center" prop="actualTeacherName" label="完成人数">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>{{ scope.row.completedNum || 0 }}人</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column align="center" prop="title" label="训练标题">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<div v-if="scope.row.extracurricularExercises">
|
|
@@ -171,25 +187,16 @@
|
|
|
</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="学生姓名">
|
|
|
+ </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
|
|
|
+ </el-table-column> -->
|
|
|
+ <!-- <el-table-column
|
|
|
align="center"
|
|
|
prop="userId"
|
|
|
label="学生编号"
|
|
@@ -199,12 +206,7 @@
|
|
|
<div>{{ scope.row.status ? "是" : "否" }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="createTime"
|
|
|
- label="提交时间"
|
|
|
- width="150"
|
|
|
- >
|
|
|
+ <el-table-column align="center" prop="createTime" label="提交时间" width="150">
|
|
|
<template slot-scope="scope">{{
|
|
|
scope.row.submitTime | dateForMinFormat
|
|
|
}}</template>
|
|
@@ -214,12 +216,7 @@
|
|
|
<div>{{ scope.row.isReplied ? "是" : "否" }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- label="是否有vip"
|
|
|
- width="100"
|
|
|
- fixed="right"
|
|
|
- >
|
|
|
+ <el-table-column align="center" label="是否有vip" width="100" fixed="right">
|
|
|
<template slot-scope="scope">
|
|
|
<div>{{ scope.row.existVipCourse ? "是" : "否" }}</div>
|
|
|
</template>
|
|
@@ -235,17 +232,13 @@
|
|
|
<div>{{ scope.row.isRepliedTimely ? "是" : "否" }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="actualTeacherName"
|
|
|
- label="是否云教练布置"
|
|
|
- >
|
|
|
+ <el-table-column align="center" prop="actualTeacherName" label="是否云教练布置">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
{{ scope.row.musicScoreId ? "是" : "否" }}
|
|
|
</div>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </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>
|
|
@@ -274,12 +267,16 @@
|
|
|
@pagination="getList"
|
|
|
/>
|
|
|
</div>
|
|
|
+ <el-dialog
|
|
|
+ title="详情"
|
|
|
+ :visible.sync="classVisible"
|
|
|
+ width="1000px"
|
|
|
+ v-if="classVisible"
|
|
|
+ >
|
|
|
+ <courseWorkeDetail :studentExerciseId="activeRow.id" />
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
- <el-dialog
|
|
|
- title="课外训练详情"
|
|
|
- :visible.sync="afterSchoolVisible"
|
|
|
- width="600px"
|
|
|
- >
|
|
|
+ <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>
|
|
@@ -312,19 +309,9 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
|
- <el-dialog
|
|
|
- title="查看训练"
|
|
|
- width="680px"
|
|
|
- append-to-body
|
|
|
- :visible.sync="workVisible"
|
|
|
- >
|
|
|
+ <el-dialog title="查看训练" width="680px" append-to-body :visible.sync="workVisible">
|
|
|
<!-- activeUrl -->
|
|
|
- <video
|
|
|
- style="width: 640px"
|
|
|
- :src="activeSrc"
|
|
|
- ref="dialogVideo"
|
|
|
- controls="controls"
|
|
|
- >
|
|
|
+ <video style="width: 640px" :src="activeSrc" ref="dialogVideo" controls="controls">
|
|
|
您的浏览器不支持视频播放
|
|
|
</video>
|
|
|
</el-dialog>
|
|
@@ -336,29 +323,25 @@ import pagination from "@/components/Pagination/index";
|
|
|
import {
|
|
|
extracurricularExercisesReply,
|
|
|
findStudentExtraExerciseDetail,
|
|
|
+ queryPageList,
|
|
|
} from "@/api/afterSchool";
|
|
|
+
|
|
|
import { getEmployeeOrgan } from "@/api/buildTeam";
|
|
|
import { Export } from "@/utils/downLoadFile";
|
|
|
import axios from "axios";
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
+import courseWorkeDetail from "@/views/afterSchoolManager/components/courseWorkeDetail.vue";
|
|
|
export default {
|
|
|
props: ["id", "saveKey"],
|
|
|
- components: { pagination },
|
|
|
+ components: { pagination, courseWorkeDetail },
|
|
|
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,
|
|
|
+ type: null,
|
|
|
+ organIdList: "",
|
|
|
},
|
|
|
rules: {
|
|
|
// 分页规则
|
|
@@ -383,6 +366,8 @@ export default {
|
|
|
activeSrc: "",
|
|
|
extracurricularExercisesId: null,
|
|
|
show: true,
|
|
|
+ classVisible: false,
|
|
|
+ activeRow: null,
|
|
|
};
|
|
|
},
|
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
@@ -394,25 +379,22 @@ export default {
|
|
|
},
|
|
|
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.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) => {
|
|
|
+ obj.studentAssignFlag = true;
|
|
|
+ queryPageList(obj).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.tableList = res.data.rows;
|
|
|
this.rules.total = res.data.total;
|
|
@@ -423,47 +405,29 @@ export default {
|
|
|
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];
|
|
|
- }
|
|
|
+ // 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.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.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"
|
|
|
+ this.extracurricularExercisesId && this.extracurricularExercisesId != "yes"
|
|
|
? (obj.extracurricularExercisesId = this.extracurricularExercisesId)
|
|
|
: null;
|
|
|
this.searchForm.organIdList
|
|
@@ -473,6 +437,7 @@ export default {
|
|
|
? (obj.existVipCourse = this.searchForm.existVipCourse)
|
|
|
: null;
|
|
|
obj.cloudHomeworkFlag = this.searchForm.cloudHomeworkFlag;
|
|
|
+ obj.type = this.searchForm.type ? this.searchForm.type : null;
|
|
|
return obj;
|
|
|
},
|
|
|
onReSet() {
|
|
@@ -487,6 +452,7 @@ export default {
|
|
|
expireDate: [],
|
|
|
existVipCourse: null,
|
|
|
cloudHomeworkFlag: null,
|
|
|
+ type: null,
|
|
|
};
|
|
|
this.extracurricularExercisesId = null;
|
|
|
this.getList();
|
|
@@ -494,22 +460,27 @@ export default {
|
|
|
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;
|
|
|
- }
|
|
|
- });
|
|
|
+ this.activeRow = row;
|
|
|
+ if (row.versionTag == "v1") {
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.classVisible = true;
|
|
|
+ }
|
|
|
},
|
|
|
lookWork(src) {
|
|
|
this.activeSrc = src;
|
|
@@ -525,7 +496,7 @@ export default {
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang='scss' scoped>
|
|
|
+<style lang="scss" scoped>
|
|
|
.schoolCell {
|
|
|
width: 400px;
|
|
|
color: #333;
|