Sfoglia il codice sorgente

添加课时数范围

lex-xin 4 anni fa
parent
commit
a378e98a4d
1 ha cambiato i file con 54 aggiunte e 7 eliminazioni
  1. 54 7
      src/views/teacher/VIP00Apply.vue

+ 54 - 7
src/views/teacher/VIP00Apply.vue

@@ -20,6 +20,9 @@
 			<van-field v-model="form.studentNum" label="每班人数" disabled input-align="right" size="large" placeholder="每班预计招收人数" />
 			<van-field v-model="form.singleClassMinutes" @click="onClickSingleClass" label="每课时长" :readonly="true" input-align="right" is-link size="large" placeholder="请输入每课时长" />
 			<!-- 判断是否选择活动方案 -->
+			<div class="courseTips" v-if="loadData.vipGroupActivitySelect.type == 'DISCOUNT' && (loadData.vipGroupActivitySelect.maxCourseNum > 0 && loadData.vipGroupActivitySelect.minCourseNum > 0)">
+				该活动最小课时数:<span>{{ loadData.vipGroupActivitySelect.minCourseNum }}</span>节 最大课时数:<span>{{ loadData.vipGroupActivitySelect.maxCourseNum }}</span>节
+			</div>
 			<van-field v-if="statusList.hasOnline" v-model="form.onlineClassesNums" @keyup="onClassKeyUp" label="线上课" input-align="right" size="large" placeholder="请输入次数" type="number" />
 			<van-field v-if="statusList.hasOffline" v-model="form.offlineClassesNums" @keyup="onClassKeyUp('offLine')" label="线下课" input-align="right" size="large" placeholder="请输入次数" type="number" />
 			<van-field v-if="form.offlineClassesNums > 0" v-model="formName.teacherSchoolName" @click="onGetSheetList('teacherSchool')" label="线下课地址" :readonly="true" input-align="right" is-link size="large" placeholder="请选择" />
@@ -593,10 +596,6 @@
 						form.totalClassTime = totalCount
 						other.giveNum = 0
 					}
-				} else if(vas.type == 'DISCOUNT' && vas.attribute3 && vas.attribute3 > 0) {
-					form.totalClassTime = vas.attribute3
-					other.giveNum = 0
-					this.statusList.teachOnOrOff = false // 隐藏赠课
 				} else { // 折扣活动
 					form.totalClassTime = totalCount
 					other.giveNum = 0
@@ -736,6 +735,9 @@
 				}
 			},
 			onShowTimeTable() { // 显示排课列表
+				// if(!this.checkCourseList()) {
+				// 	return
+				// }
 				this.statusList.classTime = true
 				this.setTimeTable()
 			},
@@ -1066,9 +1068,12 @@
 					return false
 				}
 
-				if(vipGroupActivitySelect.type == 'DISCOUNT' && vipGroupActivitySelect.attribute3 && vipGroupActivitySelect.attribute3 > 0) {
-					if((parseInt(form.onlineClassesNums) + parseInt(form.offlineClassesNums)) != vipGroupActivitySelect.attribute3) {
-						this.$toast('课时总数必须为' + form.totalClassTime + '节')
+
+				if(vipGroupActivitySelect.type == 'DISCOUNT' && vipGroupActivitySelect.minCourseNum > 0 && vipGroupActivitySelect.maxCourseNum > 0) {
+					// debugger
+					let tempCourseCount = (parseInt(form.onlineClassesNums) + parseInt(form.offlineClassesNums))
+					if(vipGroupActivitySelect.minCourseNum > tempCourseCount || tempCourseCount > vipGroupActivitySelect.maxCourseNum) {
+						this.$toast('课时总数最小课时为:' + vipGroupActivitySelect.minCourseNum + '节,最大课时为:' + vipGroupActivitySelect.maxCourseNum + '节')
 						return
 					}
 				}
@@ -1179,6 +1184,39 @@
 					setLoading(false)
 				})
 			},
+			checkCourseList() {
+				let form = this.form
+				let scheduleList = this.scheduleList || []
+				console.log(this.scheduleList)
+				let hasOnLine = false // 是否有线上课时安排
+				let hasOffLine = false
+				scheduleList.forEach(item => {
+					if(item.type == '线上') {
+						hasOnLine = true
+					}
+					if(item.type == '线下') {
+						hasOffLine = true
+					}
+				})
+				console.log(hasOnLine, hasOffLine)
+				let statusList = this.statusList
+				let onlineClassesStatus = !form.onlineClassesNums && form.onlineClassesNums <= 0 ? true : false
+				let offlineClassesStatus = !form.offlineClassesNums && form.offlineClassesNums <= 0 ? true : false
+				if (statusList.hasOnline) {
+					if (!onlineClassesStatus && hasOnLine) {
+						this.$toast('课时安排缺少线上课类型')
+						return false
+					}
+				}
+
+				if (statusList.hasOffline) {
+					if (offlineClassesStatus && hasOffline) {
+						this.$toast('课时安排缺少线下课类型')
+						return false
+					}
+				}
+				return true
+			},
 			// 搜索
 			onSearch() {
 				this.params.page = 1
@@ -1263,6 +1301,15 @@
 		text-align: center;
 	}
 
+	.courseTips {
+		font-size: .13rem;
+		padding: 10px 16px;
+		background: #F3F4F8;
+		& > span {
+			color: red;
+		}
+	}
+
 	.add-plan {
 		display: flex;
 		align-items: center;