import OPopup from '@/components/o-popup' import OSticky from '@/components/o-sticky' import request from '@/helpers/request' import { state } from '@/state' import dayjs from 'dayjs' import { Button, Cell, CellGroup, Dialog, Field, Icon, Picker, Popup, Radio, RadioGroup, showToast, Sticky, Tag } from 'vant' import { defineComponent, onMounted, reactive } from 'vue' import { useRoute, useRouter } from 'vue-router' import { weekdays, weekFormat } from '../../create' import Calendar from '../../modal/calendar' import ClassList from '../../modal/class-list' import Timer from '../../modal/timer' import styles from './index.module.less' import { forms } from '../../create' // orchestra export default defineComponent({ name: 'standard', props: { address: { type: String, default: '' } }, setup(props) { const route = useRoute() const router = useRouter() // const forms = reactive({ // status: false, // weekStatus: false, // calendarStatus: false, // classStatus: false, // timerStatus: false, // skipHoliday: 1, // week: null, // times: 16, // classList: [] as any, // 没有设置伴学指导的数据 // calendarList: [] as any, // calendarDate: null as any, // trainStartDate: null, // 开始日期 // trainStartTime: null, // 开始时间 // timerList: {} as any, // 可选和不可选时间段 // numberStatus: false, // numberDialogStatus: false, // 提示暂无训练次数提示 // pickerNum: 16, // 默认16次 // timerPickerList: [] as any // 可排课次数 // }) // 获取排课空闲时间 const getList = async (date?: any) => { try { const { data } = await request.post('/api-school/orchestra/trainingPlanTime', { data: { schoolId: state.user.data.school.id, skipHoliday: forms.skipHoliday ? true : false, type: 'STANDARD', calendarDate: dayjs(date).format('YYYY-MM-DD') } }) forms.calendarList = data || [] } catch { // } } // 查询没有设置指导老师的班级 const getClasses = async (show = true) => { try { const { data } = await request.post('/api-school/classGroup/page', { data: { page: 1, rows: 200, schoolId: state.user.data.school.id, hasTeacher: false, orchestraType: 'DELIVERY' } }) // 班级数据 forms.classList = data.rows || [] // 判断没有设置伴学指导的班级 if (forms.classList.length > 0 && show) { forms.status = true } } catch { // } } // 获取已排课次数 const getStandardCourseNum = async () => { try { const { data } = await request.get( '/api-school/orchestra/semesterStandardCourseNum/' + state.user.data.school.id ) const tempPicker = Number(forms.pickerNum - data) forms.times = tempPicker for (let i = 0; i < tempPicker; i++) { forms.timerPickerList.push({ text: i + 1 + '次', value: i + 1 }) } if (tempPicker <= 0) { forms.numberDialogStatus = true } } catch { // } } // 下一步 const onSubmit = () => { // 判断是否有训练次数 if (forms.times <= 0) { forms.numberDialogStatus = true return } // 判断是否有班级没有设置伴学指导 if (forms.classList.length > 0) { forms.status = true return } if (!forms.trainStartDate) { showToast('请选择训练开始日期') return } if (!forms.trainStartTime) { showToast('请选择训练开始时间') return } if (!forms.week) { showToast('请选择周次') return } if (!props.address) { showToast('您所在的学校暂未设置地址') return } router.push('/train-content') } onMounted(() => { getList(forms.calendarDate || new Date()) getClasses() getStandardCourseNum() }) return () => (