|  | @@ -83,8 +83,12 @@
 | 
	
		
			
				|  |  |                  </el-option>
 | 
	
		
			
				|  |  |                </el-select>
 | 
	
		
			
				|  |  |              </el-form-item>
 | 
	
		
			
				|  |  | -            <el-form-item :prop="`details.${index}.courseTotalMinuties`"
 | 
	
		
			
				|  |  | -                          :rules="[{required: true, message: '请输入课程总时长', trigger: 'blur'}]">
 | 
	
		
			
				|  |  | +            <el-form-item
 | 
	
		
			
				|  |  | +              :prop="`details.${index}.courseTotalMinuties`"
 | 
	
		
			
				|  |  | +              :rules="[
 | 
	
		
			
				|  |  | +                { required: true, message: '请输入课程时长', trigger: 'blur' },
 | 
	
		
			
				|  |  | +                { validator: validatorCourseTotalMinuties(index, item), trigger: 'blur' }
 | 
	
		
			
				|  |  | +              ]">
 | 
	
		
			
				|  |  |                <el-input-number size="mini"
 | 
	
		
			
				|  |  |                                 style="width: 90%!important;"
 | 
	
		
			
				|  |  |                                 class="number-input"
 | 
	
	
		
			
				|  | @@ -169,8 +173,8 @@ import {
 | 
	
		
			
				|  |  |    musicGroupOrganizationCourseSettingsUpdate,
 | 
	
		
			
				|  |  |    getOrganizationCourseUnitPriceSettings
 | 
	
		
			
				|  |  |  } from '@/api/specialSetting'
 | 
	
		
			
				|  |  | +import { classTimeList, array2object } from '@/utils/searchArray'
 | 
	
		
			
				|  |  |  import { queryByMusicGroupOrganizationCourseSettingsId } from '../../../resetTeaming/api'
 | 
	
		
			
				|  |  | -import { classTimeList } from '@/utils/searchArray'
 | 
	
		
			
				|  |  |  import { courseType, boolOptions } from '@/constant'
 | 
	
		
			
				|  |  |  import { objectToOptions } from '@/utils'
 | 
	
		
			
				|  |  |  import numeral from 'numeral'
 | 
	
	
		
			
				|  | @@ -213,6 +217,9 @@ export default {
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      totalCurrentPrice () {
 | 
	
		
			
				|  |  |        return plusNum(this.form.details, 'courseCurrentPrice')
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    classTimeList() {
 | 
	
		
			
				|  |  | +      return array2object(classTimeList)
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    watch: {
 | 
	
	
		
			
				|  | @@ -261,6 +268,7 @@ export default {
 | 
	
		
			
				|  |  |            courseCurrentPrice: Math.ceil(active.unitPrice * (item.courseTotalMinuties || 1)),
 | 
	
		
			
				|  |  |            courseOriginalPrice: Math.ceil(active.unitPrice * (item.courseTotalMinuties || 1))
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        this.$refs.form.validateField(`details.${index}.courseTotalMinuties`)
 | 
	
		
			
				|  |  |          this.$set(this.form, `details`, [..._list])
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
	
		
			
				|  | @@ -318,6 +326,16 @@ export default {
 | 
	
		
			
				|  |  |            } catch (error) { }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    validatorCourseTotalMinuties(index, item) {
 | 
	
		
			
				|  |  | +      return (rule, value, callback) => {
 | 
	
		
			
				|  |  | +        const { courseType } = item
 | 
	
		
			
				|  |  | +        if (courseType && value && this.classTimeList[courseType] &&  value < this.classTimeList[courseType]) {
 | 
	
		
			
				|  |  | +          callback(new Error(`单节课不得少于${this.classTimeList[courseType]}分钟`))
 | 
	
		
			
				|  |  | +          return
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        callback()
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  }
 |