|
@@ -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()
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
}
|