|
@@ -1,102 +1,107 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<!-- 搜索类型 -->
|
|
|
- <save-form
|
|
|
- :inline="true"
|
|
|
- ref="searchForm"
|
|
|
- :model="searchForm"
|
|
|
- @submit="search"
|
|
|
- @reset="onReSet"
|
|
|
- save-key='studentDetail-studentRecord'
|
|
|
- >
|
|
|
- <el-form-item prop="teacherId">
|
|
|
- <remote-search :commit='"setTeachers"' v-model='searchForm.teacherId' :isForzenWithQueryCondition="true"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="musicGroupId">
|
|
|
- <el-input
|
|
|
- v-model.trim="searchForm.musicGroupId"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="
|
|
|
- (e) => {
|
|
|
- e.target.blur();
|
|
|
- $refs.searchForm.save();
|
|
|
- search();
|
|
|
- }
|
|
|
- "
|
|
|
- placeholder="乐团编号"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="courseScheduleId">
|
|
|
- <el-input
|
|
|
- v-model.trim="searchForm.courseScheduleId"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="
|
|
|
- (e) => {
|
|
|
- e.target.blur();
|
|
|
- $refs.searchForm.save();
|
|
|
- search();
|
|
|
- }
|
|
|
- "
|
|
|
- placeholder="课程编号"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="groupType">
|
|
|
- <el-select
|
|
|
- v-model.trim="searchForm.groupType"
|
|
|
- placeholder="请选择课程组类型"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in courseListType"
|
|
|
- :key="index"
|
|
|
- :value="item.value"
|
|
|
- :label="item.label"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="courseScheduleType">
|
|
|
- <el-select
|
|
|
- v-model.trim="searchForm.courseScheduleType"
|
|
|
- clearable
|
|
|
- placeholder="请选择课程类型"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in courseType"
|
|
|
- :key="index"
|
|
|
- :value="item.value"
|
|
|
- :label="item.label"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="status">
|
|
|
- <el-select
|
|
|
- v-model.trim="searchForm.status"
|
|
|
- placeholder="请选择考勤状态"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in attendanceStatus"
|
|
|
- :key="index"
|
|
|
- :value="item.value"
|
|
|
- :label="item.label"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="dates" >
|
|
|
- <el-date-picker
|
|
|
- v-model="dates"
|
|
|
- type="daterange"
|
|
|
- style="width: 405px;"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="课程开始日期"
|
|
|
- end-placeholder="课程结束日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button native-type="submit" type="danger">搜索</el-button>
|
|
|
- <el-button native-type="reset" type="primary">重置</el-button>
|
|
|
- </el-form-item>
|
|
|
- </save-form>
|
|
|
+ <save-form
|
|
|
+ :inline="true"
|
|
|
+ ref="searchForm"
|
|
|
+ :model="searchForm"
|
|
|
+ @submit="search"
|
|
|
+ @reset="onReSet"
|
|
|
+ save-key="studentDetail-studentRecord"
|
|
|
+ >
|
|
|
+ <el-form-item prop="teacherId">
|
|
|
+ <remote-search
|
|
|
+ :commit="'setTeachers'"
|
|
|
+ v-model="searchForm.teacherId"
|
|
|
+ :isForzenWithQueryCondition="true"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="musicGroupId">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="searchForm.musicGroupId"
|
|
|
+ clearable
|
|
|
+ @keyup.enter.native="
|
|
|
+ e => {
|
|
|
+ e.target.blur();
|
|
|
+ $refs.searchForm.save();
|
|
|
+ search();
|
|
|
+ }
|
|
|
+ "
|
|
|
+ placeholder="乐团编号"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="courseScheduleId">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="searchForm.courseScheduleId"
|
|
|
+ clearable
|
|
|
+ @keyup.enter.native="
|
|
|
+ e => {
|
|
|
+ e.target.blur();
|
|
|
+ $refs.searchForm.save();
|
|
|
+ search();
|
|
|
+ }
|
|
|
+ "
|
|
|
+ placeholder="课程编号"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="groupType">
|
|
|
+ <el-select
|
|
|
+ v-model.trim="searchForm.groupType"
|
|
|
+ placeholder="请选择课程组类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in courseListType"
|
|
|
+ :key="index"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="courseScheduleType">
|
|
|
+ <el-select
|
|
|
+ v-model.trim="searchForm.courseScheduleType"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择课程类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in courseType"
|
|
|
+ :key="index"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="status">
|
|
|
+ <el-select
|
|
|
+ v-model.trim="searchForm.status"
|
|
|
+ placeholder="请选择考勤状态"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in attendanceStatus"
|
|
|
+ :key="index"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="dates">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="dates"
|
|
|
+ type="daterange"
|
|
|
+ style="width: 405px;"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="课程开始日期"
|
|
|
+ end-placeholder="课程结束日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button native-type="submit" type="danger">搜索</el-button>
|
|
|
+ <el-button native-type="reset" type="primary">重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </save-form>
|
|
|
<div class="tableWrap">
|
|
|
- <div class="tableWrap">
|
|
|
+ <div class="tableWrap">
|
|
|
<el-table
|
|
|
style="width: 100%"
|
|
|
:header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
@@ -131,27 +136,23 @@
|
|
|
</p>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="musicGroupId"
|
|
|
- label="乐团编号"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <copy-text>{{ scope.row.musicGroupId }}</copy-text>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ <el-table-column align="center" prop="musicGroupId" label="乐团编号">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <copy-text>{{ scope.row.musicGroupId }}</copy-text>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
prop="courseScheduleId"
|
|
|
label="课程编号"
|
|
|
>
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <copy-text>{{ scope.row.courseScheduleId }}</copy-text>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <copy-text>{{ scope.row.courseScheduleId }}</copy-text>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column
|
|
@@ -167,10 +168,15 @@
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
{{ scope.row.courseSchedule.classDate | dayjsFormat }}
|
|
|
+ {{
|
|
|
+ scope.row.courseSchedule.startClassTime | dayjsFormatMinute
|
|
|
+ }}-{{
|
|
|
+ scope.row.courseSchedule.endClassTime | dayjsFormatMinute
|
|
|
+ }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
+ <!-- <el-table-column
|
|
|
align="center"
|
|
|
prop="startClassTime"
|
|
|
label="上课时间"
|
|
@@ -184,7 +190,7 @@
|
|
|
}}
|
|
|
</div>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column> -->
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
prop="startClassTime"
|
|
@@ -208,14 +214,26 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="合并类型">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <!-- {{ scope.row.courseSchedule.newCourseId > 0 ? '是' : '否' }} -->
|
|
|
- {{ scope.row.courseSchedule.newCourseId > 0 && scope.row.courseSchedule.newCourseId == scope.row.courseScheduleId ? '合并课' : null }}
|
|
|
- {{ scope.row.courseSchedule.newCourseId > 0 && scope.row.courseSchedule.newCourseId != scope.row.courseScheduleId ? '被合并课' : null }}
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <!-- {{ scope.row.courseSchedule.newCourseId > 0 ? '是' : '否' }} -->
|
|
|
+ {{
|
|
|
+ scope.row.courseSchedule.newCourseId > 0 &&
|
|
|
+ scope.row.courseSchedule.newCourseId ==
|
|
|
+ scope.row.courseScheduleId
|
|
|
+ ? "合并课"
|
|
|
+ : null
|
|
|
+ }}
|
|
|
+ {{
|
|
|
+ scope.row.courseSchedule.newCourseId > 0 &&
|
|
|
+ scope.row.courseSchedule.newCourseId !=
|
|
|
+ scope.row.courseScheduleId
|
|
|
+ ? "被合并课"
|
|
|
+ : null
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column align="center" label="签到时间" width="180px">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
@@ -238,29 +256,41 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="考勤状态">
|
|
|
<template slot-scope="scope">
|
|
|
- <div v-if="scope.row.courseSchedule && scope.row.courseSchedule.status != 'NOT_START'">
|
|
|
+ <div
|
|
|
+ v-if="
|
|
|
+ scope.row.courseSchedule &&
|
|
|
+ scope.row.courseSchedule.status != 'NOT_START'
|
|
|
+ "
|
|
|
+ >
|
|
|
{{ scope.row.status | clockingIn }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" label="教学模式">
|
|
|
+ <el-table-column align="center" label="教学模式">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
{{ scope.row.courseSchedule.teachMode | teachMode }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column align="center" label="来源">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.joinCourseType | joinCourseType }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
<pagination
|
|
|
sync
|
|
|
- save-key='studentDetail-studentRecord'
|
|
|
+ save-key="studentDetail-studentRecord"
|
|
|
:total.sync="pageInfo.total"
|
|
|
:page.sync="pageInfo.page"
|
|
|
:limit.sync="pageInfo.limit"
|
|
|
:page-sizes="pageInfo.page_size"
|
|
|
@pagination="getList"
|
|
|
/>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -271,12 +301,12 @@ import { getTimes } from "@/utils";
|
|
|
import {
|
|
|
courseType,
|
|
|
courseListType,
|
|
|
- attendanceStatus,
|
|
|
+ attendanceStatus
|
|
|
} from "@/utils/searchArray";
|
|
|
export default {
|
|
|
name: "studentRecord",
|
|
|
components: { pagination },
|
|
|
- data () {
|
|
|
+ data() {
|
|
|
return {
|
|
|
searchForm: {
|
|
|
studentID: "",
|
|
@@ -284,13 +314,13 @@ export default {
|
|
|
musicGroupId: "",
|
|
|
courseScheduleId: "",
|
|
|
status: "",
|
|
|
- teacherId:'',
|
|
|
- courseScheduleType:''
|
|
|
+ teacherId: "",
|
|
|
+ courseScheduleType: ""
|
|
|
},
|
|
|
- dates:[],
|
|
|
+ dates: [],
|
|
|
searchLsit: [],
|
|
|
tableList: [],
|
|
|
- courseType,
|
|
|
+ courseType,
|
|
|
courseListType,
|
|
|
attendanceStatus,
|
|
|
pageInfo: {
|
|
@@ -302,25 +332,29 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
- mounted () {
|
|
|
+ mounted() {
|
|
|
this.searchForm.studentID = this.$route.query.userId;
|
|
|
this.getList();
|
|
|
},
|
|
|
- activated () {
|
|
|
+ activated() {
|
|
|
this.searchForm.studentID = this.$route.query.userId;
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
- search () {
|
|
|
+ search() {
|
|
|
this.pageInfo.page = 1;
|
|
|
this.getList();
|
|
|
},
|
|
|
- getList () {
|
|
|
- let obj = {
|
|
|
+ getList() {
|
|
|
+ let obj = {
|
|
|
page: this.pageInfo.page,
|
|
|
rows: this.pageInfo.limit,
|
|
|
...this.searchForm,
|
|
|
- ...getTimes(this.dates, ["startDateOfCourse", "endDateOfCourse"],'YYYY-MM-DD'),
|
|
|
+ ...getTimes(
|
|
|
+ this.dates,
|
|
|
+ ["startDateOfCourse", "endDateOfCourse"],
|
|
|
+ "YYYY-MM-DD"
|
|
|
+ )
|
|
|
};
|
|
|
findStudentAttendance(obj).then(res => {
|
|
|
if (res.code == 200) {
|
|
@@ -329,7 +363,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- onReSet () {
|
|
|
+ onReSet() {
|
|
|
// 重置搜索
|
|
|
this.$refs.searchForm.resetFields();
|
|
|
this.searchForm.studentId = this.$route.query.userId;
|
|
@@ -338,5 +372,4 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang="scss">
|
|
|
-</style>
|
|
|
+<style lang="scss"></style>
|