|
@@ -6,10 +6,10 @@
|
|
|
</el-card>
|
|
|
|
|
|
<el-card v-if="queryParams.roundId">
|
|
|
- <div >
|
|
|
- <div class="fx-row jc-between mb10" >
|
|
|
+ <div>
|
|
|
+ <div class="fx-row jc-between mb10">
|
|
|
<el-button type="primary" @click="keepAll">一键维持原班级</el-button>
|
|
|
- <el-button type="primary" @click="send">发送名单</el-button>
|
|
|
+ <el-button type="primary" @click="send">发送名单</el-button>
|
|
|
</div>
|
|
|
<mx-table :propDefines="propDefines" :rows="formatRows">
|
|
|
<template #temp="{row}">
|
|
@@ -17,7 +17,7 @@
|
|
|
placement="bottom"
|
|
|
trigger="click">
|
|
|
<span class="btn-green mr5" @click="changeMaster(row)">班主任</span>
|
|
|
- <span class="btn-green" v-if="!!row.headteacherName" @click="changeClass(row)">班级</span>
|
|
|
+ <span class="btn-green" v-if="!!row.headteacherName" @click="changeClass(row)">班级</span>
|
|
|
|
|
|
<el-button type="primary" slot="reference" size="mini">更换</el-button>
|
|
|
</el-popover>
|
|
@@ -29,18 +29,27 @@
|
|
|
</div>
|
|
|
</el-card>
|
|
|
<evaluation-empty v-else-if="!queryParams.roundId" shadow title="当前学年没有班主任选班数据"></evaluation-empty>
|
|
|
- <choose-master-teacher ref="chooseMasterTeacher" :roundId="queryParams.roundId" :headTeacherSettings="headteacherSettings"></choose-master-teacher>
|
|
|
- <choose-class :roundId="queryParams.roundId" ref="chooseClass" :year="queryParams.year" :headTeacherSettings="headteacherSettings"></choose-class>
|
|
|
+ <choose-master-teacher ref="chooseMasterTeacher" :roundId="queryParams.roundId"
|
|
|
+ :headTeacherSettings="headteacherSettings" @completed="handleQuery"></choose-master-teacher>
|
|
|
+ <choose-class :roundId="queryParams.roundId" ref="chooseClass" :year="queryParams.year"
|
|
|
+ :headTeacherSettings="headteacherSettings" @completed="handleQuery"></choose-class>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import {getTeacherSettings,keepAllOfTeacher,getPublish,saveTeacherSettings,lockPublishTeachers} from '@/api/webApi/elective/dispatch'
|
|
|
+import {
|
|
|
+ getTeacherSettings,
|
|
|
+ keepAllOfTeacher,
|
|
|
+ getPublish,
|
|
|
+ saveTeacherSettings,
|
|
|
+ lockPublishTeachers
|
|
|
+} from '@/api/webApi/elective/dispatch'
|
|
|
import ChooseMasterTeacher from './components/choose-master-teacher'
|
|
|
import classTreeMixin from '@/components/Cache/modules/mx-classTree-translate-mixin'
|
|
|
import ChooseClass from './components/choose-class'
|
|
|
import MxCondition from '@/components/MxCondition/mx-condition'
|
|
|
-export default {
|
|
|
- components :{
|
|
|
+
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
MxCondition,
|
|
|
ChooseMasterTeacher,
|
|
|
ChooseClass
|
|
@@ -49,72 +58,71 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
propDefines: {
|
|
|
- year:{
|
|
|
- label:'学年'
|
|
|
+ year: {
|
|
|
+ label: '学年'
|
|
|
},
|
|
|
- className:{
|
|
|
- label:'原班级'
|
|
|
+ className: {
|
|
|
+ label: '原班级'
|
|
|
},
|
|
|
- headteacherName:{
|
|
|
- label:'原班主任姓名'
|
|
|
+ headteacherName: {
|
|
|
+ label: '原班主任姓名'
|
|
|
},
|
|
|
- temp:{
|
|
|
- label:'确认班主任',
|
|
|
- slot:'temp'
|
|
|
+ temp: {
|
|
|
+ label: '确认班主任',
|
|
|
+ slot: 'temp'
|
|
|
},
|
|
|
- newClassName:{
|
|
|
- label:'新班级号'
|
|
|
+ newClassName: {
|
|
|
+ label: '新班级号'
|
|
|
},
|
|
|
- newHeadteacherName:{
|
|
|
- label:'新班主任姓名'
|
|
|
+ newHeadteacherName: {
|
|
|
+ label: '新班主任姓名'
|
|
|
},
|
|
|
cancel: {
|
|
|
- label:'操作',
|
|
|
- slot:'cancel'
|
|
|
+ label: '操作',
|
|
|
+ slot: 'cancel'
|
|
|
}
|
|
|
},
|
|
|
- requireFields: ['year','roundId'],
|
|
|
+ requireFields: ['year', 'roundId'],
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 20,
|
|
|
total: '',
|
|
|
year: '',
|
|
|
- roundId: '',
|
|
|
+ roundId: ''
|
|
|
},
|
|
|
- headteacherSettings: { },
|
|
|
+ headteacherSettings: null
|
|
|
}
|
|
|
},
|
|
|
- computed:{
|
|
|
+ computed: {
|
|
|
formatRows() {
|
|
|
- if(!this.classTree) return []
|
|
|
- if(!this.queryParams.year) return []
|
|
|
- const headteacherSettings = this.headteacherSettings
|
|
|
- return this.classTree.find(item => {
|
|
|
- return item.year == this.queryParams.year
|
|
|
- })?.classList.map(item => {
|
|
|
- // console.log(headteacherSettings.hasOwnProperty(item.classId))
|
|
|
- item.year = this.queryParams.year
|
|
|
- item.newClassId = headteacherSettings.hasOwnProperty(item.classId) ? item.classId : '' // 新班级Id
|
|
|
- item.newClassName = headteacherSettings.hasOwnProperty(item.classId) ? this.getClassName(item.classId) : '' // 新班级名称
|
|
|
- item.newHeadteacherName = headteacherSettings.hasOwnProperty(item.classId) ? headteacherSettings[item.classId].nickName : '' // 新班主任名称
|
|
|
- item.newHeadteacherCode = headteacherSettings.hasOwnProperty(item.classId) ? headteacherSettings[item.classId].customerCode : '' // 新班主任code
|
|
|
- return item
|
|
|
- })
|
|
|
+ if (!this.classTree.length) return []
|
|
|
+ if (!this.headteacherSettings) return []
|
|
|
+ return this.classTree.find(item => item.year == this.queryParams.year)
|
|
|
+ ?.classList.map(item => {
|
|
|
+ const copy = { ...item }
|
|
|
+ const setting = this.headteacherSettings[copy.classId]
|
|
|
+ copy.year = this.queryParams.year
|
|
|
+ copy.newClassId = setting ? copy.classId : '' // 新班级Id
|
|
|
+ copy.newClassName = setting ? copy.className : '' // 新班级名称
|
|
|
+ copy.newHeadteacherName = setting ? setting.nickName : '' // 新班主任名称
|
|
|
+ copy.newHeadteacherCode = setting ? setting.customerCode : '' // 新班主任code
|
|
|
+ return copy
|
|
|
+ }) || []
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
getPublish() {
|
|
|
getPublish({
|
|
|
- roundId:this.queryParams.roundId
|
|
|
+ roundId: this.queryParams.roundId
|
|
|
}).then(res => {
|
|
|
- console.log(res)
|
|
|
+ console.log(res)
|
|
|
})
|
|
|
},
|
|
|
async keepAll() {
|
|
|
- if(Object.keys(this.headteacherSettings).length > 0) {
|
|
|
+ if (this.headteacherSettings && Object.keys(this.headteacherSettings).length > 0) {
|
|
|
await this.$confirm(`一键维持原班级会覆盖您之前的设置,是否继续?`)
|
|
|
this.keepAllOfTeacher()
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
await this.$confirm(`是否一键维持原班级?`)
|
|
|
this.keepAllOfTeacher()
|
|
|
}
|
|
@@ -124,35 +132,34 @@ export default {
|
|
|
getTeacherSettings({
|
|
|
roundId: this.queryParams.roundId
|
|
|
}).then(res => {
|
|
|
- console.log(res.data)
|
|
|
- this.headteacherSettings = res.data
|
|
|
+ this.headteacherSettings = res.data
|
|
|
})
|
|
|
},
|
|
|
keepAllOfTeacher() {
|
|
|
keepAllOfTeacher({
|
|
|
- roundId:this.queryParams.roundId
|
|
|
+ roundId: this.queryParams.roundId
|
|
|
}).then(res => {
|
|
|
- // 维持班级后刷新
|
|
|
- this.getHeadteacherSettings()
|
|
|
+ // 维持班级后刷新
|
|
|
+ this.getHeadteacherSettings()
|
|
|
})
|
|
|
},
|
|
|
send() {
|
|
|
- if(true) {
|
|
|
+ if (true) {
|
|
|
this.$message.warning('还有班级未分配新班主任和新班级号')
|
|
|
return
|
|
|
}
|
|
|
|
|
|
},
|
|
|
- async cancel(row){
|
|
|
+ async cancel(row) {
|
|
|
console.log(row)
|
|
|
- if(!row.newHeadteacherCode) {
|
|
|
+ if (!row.newHeadteacherCode) {
|
|
|
this.$message.warning('请先设定新班级')
|
|
|
return
|
|
|
}
|
|
|
await this.$confirm(`是否撤回你对该班级(原${row.className})的操作?`)
|
|
|
saveTeacherSettings({
|
|
|
roundId: this.queryParams.roundId,
|
|
|
- classId: row.newClassId,
|
|
|
+ classId: row.newClassId
|
|
|
}).then(res => {
|
|
|
this.$message.success('取消成功')
|
|
|
this.handleQuery()
|
|
@@ -164,15 +171,15 @@ export default {
|
|
|
this.getHeadteacherSettings()
|
|
|
this.getPublish()
|
|
|
},
|
|
|
- changeMaster(row){
|
|
|
+ changeMaster(row) {
|
|
|
this.$refs.chooseMasterTeacher.init(row)
|
|
|
},
|
|
|
changeClass(row) {
|
|
|
this.$refs.chooseClass.init(row)
|
|
|
},
|
|
|
handleInvalidQuery() {
|
|
|
- this.headteacherSettings = []
|
|
|
- },
|
|
|
+ this.headteacherSettings = null
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|