|
@@ -20,15 +20,24 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="tableWrap"
|
|
|
- style=" width: 800px;">
|
|
|
+ style="">
|
|
|
<el-table :data='activeSingleList'
|
|
|
- style="width:800px;"
|
|
|
+ style=""
|
|
|
:header-cell-style="{background:'#EDEEF0',color:'#444'}">
|
|
|
<el-table-column align='center'
|
|
|
prop="name"
|
|
|
label="班级名称">
|
|
|
</el-table-column>
|
|
|
<el-table-column align='center'
|
|
|
+ prop="type"
|
|
|
+ label="班级类型">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.type | classType }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
prop="studentNum"
|
|
|
label="班级人数">
|
|
|
</el-table-column>
|
|
@@ -65,9 +74,17 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align='center'
|
|
|
+ width="400px"
|
|
|
label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
+ <!-- v-if="scope.row.type !='MIX'" -->
|
|
|
+ <el-button type="text"
|
|
|
+ @click="resetClass(scope.row)">修改</el-button>
|
|
|
+ <!-- <el-button type="text"
|
|
|
+ @click="classAdjustment(scope.row)">班级调整</el-button>
|
|
|
+ <el-button type="text"
|
|
|
+ @click="recourse(scope.row)">重新排课</el-button> -->
|
|
|
<el-popover placement="top"
|
|
|
width="160"
|
|
|
:ref="scope.$index">
|
|
@@ -84,9 +101,6 @@
|
|
|
<el-button type="text"
|
|
|
slot="reference">删除</el-button>
|
|
|
</el-popover>
|
|
|
- <!-- v-if="scope.row.type !='MIX'" -->
|
|
|
- <el-button type="text"
|
|
|
- @click="resetClass(scope.row)">修改</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -343,7 +357,8 @@
|
|
|
:picker-options="{
|
|
|
start: '08:30',
|
|
|
step: '00:05',
|
|
|
- end: '23:55'
|
|
|
+ end: '23:55',
|
|
|
+ minTime:item.startClassTime
|
|
|
}">
|
|
|
</el-time-select>
|
|
|
<el-button type="danger"
|
|
@@ -351,7 +366,6 @@
|
|
|
icon="el-icon-delete"
|
|
|
circle></el-button>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
@@ -439,6 +453,143 @@
|
|
|
@click="setInfoMsg">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
+ <!-- 班级调整 -->
|
|
|
+ <el-dialog title="班级调整"
|
|
|
+ width="500px"
|
|
|
+ :visible.sync="resetClassVisible"
|
|
|
+ :modal-append-to-body="false">
|
|
|
+ <el-form :model="resetClassForm"
|
|
|
+ class="resetClassForm">
|
|
|
+ <el-form-item label="主教老师">
|
|
|
+ <el-select v-model="resetClassForm.coreTeacher">
|
|
|
+ <el-option v-for="(item,index) in teacherList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.realName"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="助教老师">
|
|
|
+ <el-select v-model="resetClassForm.assistant"
|
|
|
+ filterable
|
|
|
+ @change="setAssistant"
|
|
|
+ multiple>
|
|
|
+ <el-option v-for="(item,index) in cooperationList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.realName"
|
|
|
+ :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开始时间">
|
|
|
+ <el-time-select placeholder="开始时间"
|
|
|
+ v-model="resetClassForm.startTime"
|
|
|
+ :picker-options="{
|
|
|
+ start: '06:30',
|
|
|
+ step: '00:05',
|
|
|
+ end: '23:30'
|
|
|
+ }">
|
|
|
+ </el-time-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="结束时间">
|
|
|
+ <el-time-select placeholder="结束时间"
|
|
|
+ v-model="resetClassForm.endTime"
|
|
|
+ :picker-options="{
|
|
|
+ start: '06:30',
|
|
|
+ step: '00:05',
|
|
|
+ end: '23:30',
|
|
|
+ minTime:resetClassForm.startTime
|
|
|
+ }">
|
|
|
+ </el-time-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer"
|
|
|
+ class="dialog-footer">
|
|
|
+ <el-button @click="resetClassVisible = false">取 消</el-button>
|
|
|
+ <!-- 班级学员修改 -->
|
|
|
+ <el-button type="primary"
|
|
|
+ @click="">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 重新排课 -->
|
|
|
+ <el-dialog title="重新排课"
|
|
|
+ width="700px"
|
|
|
+ :visible.sync="resetCourseVisible"
|
|
|
+ :modal-append-to-body="false">
|
|
|
+ <el-form :model="recourseForm"
|
|
|
+ label-width="120px"
|
|
|
+ label-position="right">
|
|
|
+ <p style="border-bottom:1px solid #ccc; padding-bottom:10px; font-size:16px; margin-bottom:30px;">上课时间设置</p>
|
|
|
+ <el-form-item label="课程类型">
|
|
|
+ <el-select v-model="recourseForm.courseType">
|
|
|
+ <el-option v-for="(item,index) in courseTypeList"
|
|
|
+ :key="index"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="排课起始时间">
|
|
|
+ <el-date-picker v-model="recourseForm.courseTime"
|
|
|
+ style="width:200px;"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ <el-checkbox style='margin-left:10px;'
|
|
|
+ v-model="recourseForm.checked">是否跳过节假日</el-checkbox>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div class="WeekWrap">
|
|
|
+ <p style="border-bottom:1px solid #ccc; padding-bottom:10px; font-size:16px; margin-bottom:30px;">
|
|
|
+ 循环次数 <el-button type="text"
|
|
|
+ style='margin-left:10px;'
|
|
|
+ @click="addWeek">添加</el-button>
|
|
|
+ </p>
|
|
|
+ <div class="countWrap"
|
|
|
+ style="margin-bottom:10px;">
|
|
|
+ <div class="countItem"
|
|
|
+ style="margin-bottom:20px;"
|
|
|
+ v-for="(item,index) in weekList"
|
|
|
+ :key="index">
|
|
|
+ <span>循环周期: </span>
|
|
|
+ <el-select v-model="item.dayOfWeek">
|
|
|
+ <el-option v-for="(item,index) in weekDateList"
|
|
|
+ :key='index'
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <span>开始时间</span>
|
|
|
+ <el-time-select placeholder=""
|
|
|
+ v-model="item.startClassTime"
|
|
|
+ :picker-options="{
|
|
|
+ start: '08:30',
|
|
|
+ step: '00:05',
|
|
|
+ end: '23:55'
|
|
|
+ }">
|
|
|
+ </el-time-select>
|
|
|
+ <span>结束时间</span>
|
|
|
+ <el-time-select placeholder=""
|
|
|
+ v-model="item.endClassTime"
|
|
|
+ :picker-options="{
|
|
|
+ start: '08:30',
|
|
|
+ step: '00:05',
|
|
|
+ end: '23:55',
|
|
|
+ minTime:item.startClassTime
|
|
|
+ }">
|
|
|
+ </el-time-select>
|
|
|
+ <el-button type="danger"
|
|
|
+ @click="removeWeek(item)"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ circle></el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div slot="footer"
|
|
|
+ class="dialog-footer">
|
|
|
+ <el-button @click="resetCourseVisible = false">取 消</el-button>
|
|
|
+ <!-- 班级学员修改 -->
|
|
|
+ <el-button type="primary"
|
|
|
+ @click="">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -456,6 +607,8 @@ export default {
|
|
|
tableList: [],
|
|
|
maxClassList: [],
|
|
|
activeSingleList: [],
|
|
|
+ resetCourseVisible: false, // 重新排课弹窗
|
|
|
+ resetClassVisible: false, // 班级调整弹窗
|
|
|
studentVisible: false,
|
|
|
MixVisible: false,// 新增合奏班弹窗
|
|
|
activeListStudent: [], // 当前选中的学生列表
|
|
@@ -499,7 +652,7 @@ export default {
|
|
|
{ value: 'MIX', label: '合奏课' },
|
|
|
{ value: 'TRAINING_SINGLE', label: '集训单技课' },
|
|
|
{ value: 'TRAINING_MIX', label: '集训合奏课' },
|
|
|
- { value: 'HIGH', label: '基础技能班' },
|
|
|
+ { value: 'HIGH', label: '基础技能课' },
|
|
|
{ value: 'COMPREHENSIVE', label: '综合课' },
|
|
|
{ value: 'CLASSROOM', label: '课堂课' },
|
|
|
],
|
|
@@ -522,7 +675,19 @@ export default {
|
|
|
cooperationList: [],
|
|
|
singleList: [],
|
|
|
activeSingleLists: [],
|
|
|
- activeType: ''
|
|
|
+ activeType: '',
|
|
|
+ resetClassForm: { // 班级调整form对象
|
|
|
+ startTime: '',
|
|
|
+ endTime: '',
|
|
|
+ assistant: [],
|
|
|
+ coreTeacher: ''
|
|
|
+ },
|
|
|
+ recourseForm: {
|
|
|
+ courseType: '',
|
|
|
+ checked: false,
|
|
|
+ courseTime: '',
|
|
|
+ courseNum: ''
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
created () {
|
|
@@ -581,6 +746,15 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
+ recourse (row) {
|
|
|
+ this.weekList = [{
|
|
|
+ week: '',
|
|
|
+ startTime: '',
|
|
|
+ endTime: '',
|
|
|
+ id: new Date()
|
|
|
+ }],
|
|
|
+ this.resetCourseVisible = true;
|
|
|
+ },
|
|
|
addMix () {
|
|
|
this.MixVisible = true;
|
|
|
},
|
|
@@ -700,6 +874,19 @@ export default {
|
|
|
this.getNoClassStudent(row.type)
|
|
|
|
|
|
},
|
|
|
+ // 班级调整
|
|
|
+ classAdjustment (row) {
|
|
|
+ this.resetClassForm.assistant = [];
|
|
|
+ for (let i in row.classGroupTeacherMapperList) {
|
|
|
+ if (row.classGroupTeacherMapperList[i].teacherRole == 'BISHOP') {
|
|
|
+ this.resetClassForm.coreTeacher = row.classGroupTeacherMapperList[i].userId;
|
|
|
+ }
|
|
|
+ if (row.classGroupTeacherMapperList[i].teacherRole == 'TEACHING') {
|
|
|
+ this.resetClassForm.assistant.push(row.classGroupTeacherMapperList[i].userId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.resetClassVisible = true;
|
|
|
+ },
|
|
|
getNoClassStudent (type) {
|
|
|
// 获取乐团内所有未分班的学生
|
|
|
// if (type && type == 'SNAP') {
|
|
@@ -993,12 +1180,19 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.right {
|
|
|
+ width: calc(100% - 200px);
|
|
|
.tableList {
|
|
|
max-height: 500px;
|
|
|
overflow-y: auto;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+.resetClassForm {
|
|
|
+ .el-date-editor.el-input,
|
|
|
+ .el-date-editor.el-input__inner {
|
|
|
+ width: 180px;
|
|
|
+ }
|
|
|
+}
|
|
|
.el-date-editor.el-input,
|
|
|
.el-date-editor.el-input__inner {
|
|
|
width: 100px;
|