import ColCropper from '@/components/col-cropper' import styles from './index.module.less' import request from '@/helpers/request' import { verifiyNumberInteger, verifyNumberIntegerAndFloat } from '@/helpers/toolsValidate' import { ElButton, ElCol, ElForm, ElFormItem, ElImage, ElInput, ElOption, ElRadio, ElRadioGroup, ElRow, ElSelect, ElTabPane, ElTabs } from 'element-plus' import { defineComponent } from 'vue' import { createState } from '../createState' import { scrollAnimation } from '@/util/scroll' export default defineComponent({ name: 'course-info', data() { return { url: '', // calcRatePrice: 0 as any, // calcSingleRatePrice: 0 as any } }, computed: { subjectList() { // 学科列表 return createState.subjectList || [] }, calcSingleRatePrice() { let rate = createState.rate || 0 let nums = createState.live.courseNum let price = createState.live.coursePrice || 0 return nums ? ((price / nums) * (1 - rate / 100)).toFixed(2) : 0 }, calcRatePrice() { // 计算手续费 let rate = createState.rate || 0 let price = createState.live.coursePrice || 0 return (price - (rate / 100) * price).toFixed(2) } }, async mounted() { // const rate = createState.rate || 0 // const nums = createState.live.courseNum // const tempPrice = createState.live.coursePrice || 0 // this.calcRatePrice = (tempPrice - (rate / 100) * tempPrice).toFixed(2) // this.calcSingleRatePrice = nums // ? ((tempPrice / nums) * (1 - rate / 100)).toFixed(2) // : 0 try { // 获取手续费和分钟数 let config = await request.get( '/api-website/sysConfig/queryByParamNameList', { params: { paramNames: 'live_service_rate,live_time_setting' } } ) let configData = config.data || [] configData.forEach((item: any) => { if (item.paramName === 'live_time_setting') { let mins = item.paramValue ? JSON.parse(item.paramValue) : [] let tempArr = [] as any mins.forEach((item: any) => { tempArr.push({ ...item, name: item.courseMinutes }) }) createState.minutes = [...tempArr] } if (item.paramName === 'live_service_rate') { createState.rate = item.paramValue } }) let teacher = await request.post('/api-website/teacher/querySubject') createState.subjectList = teacher.data || [] if (createState.live.subjectName){ createState.live.subjectId = (createState.subjectList.find((n:any) => n.name === createState.live.subjectName) as any)?.id || '' } } catch (err: any) { console.log(err) } }, methods: { // onChoice(id: number) { // createState.live.subjectId = id // this.subjectStatus = false // }, onFormaterCourse(e: any) { e.target.value = verifiyNumberInteger(e.target.value) let rate = createState.rate || 0 let nums = createState.live.courseNum let tempPrice = createState.live.coursePrice || 0 // this.calcSingleRatePrice = nums // ? ((tempPrice / nums) * (1 - rate / 100)).toFixed(2) // : 0 }, onFormatter(e: any) { e.target.value = verifyNumberIntegerAndFloat(e.target.value) // 计算手续费 let rate = createState.rate || 0 let price = e.target.value || 0 // this.calcRatePrice = (price - (rate / 100) * price).toFixed(2) let nums = createState.live.courseNum // let tempPrice = createState.live.coursePrice || 0 // this.calcSingleRatePrice = nums // ? ((price / nums) * (1 - rate / 100)).toFixed(2) // : 0 } }, render() { return (
{createState.subjectList.map((item: any) => ( ))} 课时 }} /> { createState.minutes.forEach(child => { if (child.courseMinutes === item) { createState.live.freeMinutes = child.freeMinutes createState.live.singleCourseMinutes = Number(item || 0) + Number(child.freeMinutes || 0) } }) }} > {createState.minutes.map((item: any) => ( ))} { createState.live.coursePrice = verifyNumberIntegerAndFloat(value) // 计算手续费 // const rate = createState.rate || 0 // const price = createState.live.coursePrice || 0 // this.calcRatePrice = (price - (rate / 100) * price).toFixed(2) // const nums = createState.live.courseNum // this.calcSingleRatePrice = nums // ? ((price / nums) * (1 - rate / 100)).toFixed(2) // : 0 }} maxlength={8} v-slots={{ suffix: () => }} />

扣除手续费后您的课程预计收入为:

单课时 {this.calcSingleRatePrice} 元/人

课程组总收入 {this.calcRatePrice}元/人

您的课程收入将在课程结束后结算到您的账户中

{ console.log(createState.live) ;(this as any).$refs.form.validate(async (valid: boolean) => { if (valid) { createState.active = 1 // const currentY = // document.documentElement.scrollTop || // document.body.scrollTop // scrollAnimation(currentY, 0) } else { this.$nextTick(() => { let isError = document.getElementsByClassName('is-error') isError[0].scrollIntoView({ block: 'center', behavior: 'smooth' }) }) return false } }) }} > 下一步
) } })