|
@@ -1,6 +1,7 @@
|
|
|
+import ColEmpty from '@/components/col-empty'
|
|
|
import request from '@/helpers/request'
|
|
|
import { verifyNumberIntegerAndFloat } from '@/helpers/toolsValidate'
|
|
|
-import { teacherState } from '@/views/role-auth/teacherAuth/teacherState'
|
|
|
+import { state } from '@/state'
|
|
|
import {
|
|
|
ElButton,
|
|
|
ElDialog,
|
|
@@ -253,156 +254,174 @@ export default defineComponent({
|
|
|
<div class="text-base text-[#666] leading-none px-6 py-5 border-b border-b-[#E5E5E5]">
|
|
|
陪练课设置
|
|
|
</div>
|
|
|
-
|
|
|
- <ElForm
|
|
|
- labelPosition="left"
|
|
|
- labelWidth={'180px'}
|
|
|
- size="large"
|
|
|
- model={this.form}
|
|
|
- ref="form"
|
|
|
- class="px-44 py-5"
|
|
|
- >
|
|
|
- <ElFormItem
|
|
|
- label="是否开启陪练"
|
|
|
- prop="enableFlag"
|
|
|
- rules={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择是否开启陪练'
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <ElSelect class="w-full" v-model={this.form.enableFlag}>
|
|
|
- <ElSelect.Option value={1} label={'是'}>
|
|
|
- 是
|
|
|
- </ElSelect.Option>
|
|
|
- <ElSelect.Option value={0} label={'否'}>
|
|
|
- 否
|
|
|
- </ElSelect.Option>
|
|
|
- </ElSelect>
|
|
|
- </ElFormItem>
|
|
|
- <ElFormItem
|
|
|
- label="可教授声部"
|
|
|
- prop={'subjectId'}
|
|
|
- rules={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择可教授声部',
|
|
|
- trigger: 'change'
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <ElSelect
|
|
|
- multiple
|
|
|
- filterable
|
|
|
- placeholder="请选择可教授声部"
|
|
|
- class="w-full"
|
|
|
- multipleLimit={5}
|
|
|
- v-model={this.form.subjectId}
|
|
|
- onChange={this.onChoice}
|
|
|
- >
|
|
|
- {this.subjectList.map((item: any) => (
|
|
|
- <ElOption key={item.id} value={item.id} label={item.name} />
|
|
|
- ))}
|
|
|
- </ElSelect>
|
|
|
- </ElFormItem>
|
|
|
- <ElFormItem
|
|
|
- label="单课时长"
|
|
|
- prop="courseMinutes"
|
|
|
- rules={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择单课时长',
|
|
|
- trigger: 'change'
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <ElSelect
|
|
|
- class="w-full"
|
|
|
- placeholder="请选择单课时时长"
|
|
|
- v-model={this.form.courseMinutes}
|
|
|
+ {state.user.data?.entryFlag ? (
|
|
|
+ <>
|
|
|
+ <ElForm
|
|
|
+ labelPosition="left"
|
|
|
+ labelWidth={'180px'}
|
|
|
+ size="large"
|
|
|
+ model={this.form}
|
|
|
+ ref="form"
|
|
|
+ class="px-44 py-5"
|
|
|
>
|
|
|
- {this.minutes.map((item: any) => (
|
|
|
- <ElOption key={item.courseMinutes} value={item.courseMinutes}>
|
|
|
- {item.name}
|
|
|
- </ElOption>
|
|
|
+ <ElFormItem
|
|
|
+ label="是否开启陪练"
|
|
|
+ prop="enableFlag"
|
|
|
+ rules={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择是否开启陪练'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <ElSelect class="w-full" v-model={this.form.enableFlag}>
|
|
|
+ <ElSelect.Option value={1} label={'是'}>
|
|
|
+ 是
|
|
|
+ </ElSelect.Option>
|
|
|
+ <ElSelect.Option value={0} label={'否'}>
|
|
|
+ 否
|
|
|
+ </ElSelect.Option>
|
|
|
+ </ElSelect>
|
|
|
+ </ElFormItem>
|
|
|
+ <ElFormItem
|
|
|
+ label="可教授声部"
|
|
|
+ prop={'subjectId'}
|
|
|
+ rules={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择可教授声部',
|
|
|
+ trigger: 'change'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <ElSelect
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ placeholder="请选择可教授声部"
|
|
|
+ class="w-full"
|
|
|
+ multipleLimit={5}
|
|
|
+ v-model={this.form.subjectId}
|
|
|
+ onChange={this.onChoice}
|
|
|
+ >
|
|
|
+ {this.subjectList.map((item: any) => (
|
|
|
+ <ElOption key={item.id} value={item.id} label={item.name} />
|
|
|
+ ))}
|
|
|
+ </ElSelect>
|
|
|
+ </ElFormItem>
|
|
|
+ <ElFormItem
|
|
|
+ label="单课时长"
|
|
|
+ prop="courseMinutes"
|
|
|
+ rules={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择单课时长',
|
|
|
+ trigger: 'change'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <ElSelect
|
|
|
+ class="w-full"
|
|
|
+ placeholder="请选择单课时时长"
|
|
|
+ v-model={this.form.courseMinutes}
|
|
|
+ >
|
|
|
+ {this.minutes.map((item: any) => (
|
|
|
+ <ElOption
|
|
|
+ key={item.courseMinutes}
|
|
|
+ value={item.courseMinutes}
|
|
|
+ >
|
|
|
+ {item.name}
|
|
|
+ </ElOption>
|
|
|
+ ))}
|
|
|
+ </ElSelect>
|
|
|
+ </ElFormItem>
|
|
|
+ {this.form.subjectPrice.map((item: any, index: number) => (
|
|
|
+ <ElFormItem
|
|
|
+ label={`${this.getSubjectName(item.subjectId)}陪练价格`}
|
|
|
+ prop={`subjectPrice.${index}.subjectPrice`}
|
|
|
+ rules={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: `请选择声部陪练价格`
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <ElInput
|
|
|
+ // @ts-ignore
|
|
|
+ onKeyup={this.onFormatter}
|
|
|
+ type="text"
|
|
|
+ placeholder="请输入陪练价格"
|
|
|
+ v-model={item.subjectPrice}
|
|
|
+ v-slots={{
|
|
|
+ append: () => (
|
|
|
+ <span class="text-base text-[#333]">元</span>
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </ElFormItem>
|
|
|
))}
|
|
|
- </ElSelect>
|
|
|
- </ElFormItem>
|
|
|
- {this.form.subjectPrice.map((item: any, index: number) => (
|
|
|
- <ElFormItem
|
|
|
- label={`${this.getSubjectName(item.subjectId)}陪练价格`}
|
|
|
- prop={`subjectPrice.${index}.subjectPrice`}
|
|
|
- rules={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: `请选择声部陪练价格`
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <ElInput
|
|
|
- // @ts-ignore
|
|
|
- onKeyup={this.onFormatter}
|
|
|
- type="text"
|
|
|
- placeholder="请输入陪练价格"
|
|
|
- v-model={item.subjectPrice}
|
|
|
- v-slots={{
|
|
|
- append: () => <span class="text-base text-[#333]">元</span>
|
|
|
+ <ElFormItem label="是否跳过节假日">
|
|
|
+ <ElRadioGroup v-model={this.form.skipHolidayFlag}>
|
|
|
+ <ElRadioButton label={1} class="mr-3 w-24">
|
|
|
+ 是
|
|
|
+ </ElRadioButton>
|
|
|
+ <ElRadioButton label={0} class="w-24">
|
|
|
+ 否
|
|
|
+ </ElRadioButton>
|
|
|
+ </ElRadioGroup>
|
|
|
+ </ElFormItem>
|
|
|
+ <ElFormItem label="陪练时间段">
|
|
|
+ <div onClick={this.onTimer} class="w-full">
|
|
|
+ <ElInput
|
|
|
+ readonly
|
|
|
+ class="cursor-pointer"
|
|
|
+ v-model={this.form.setting}
|
|
|
+ placeholder="请选择陪练时间段"
|
|
|
+ suffixIcon={'ArrowDown'}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </ElFormItem>
|
|
|
+ </ElForm>
|
|
|
+
|
|
|
+ <div class="border-t border-t-[#E5E5E5] text-center pt-6 pb-7">
|
|
|
+ <ElButton
|
|
|
+ class="!w-40 !h-[38px]"
|
|
|
+ onClick={() => {
|
|
|
+ // 重置数据
|
|
|
+ this.form = {
|
|
|
+ enableFlag: 1,
|
|
|
+ courseMinutes: null as any,
|
|
|
+ freeMinutes: 0,
|
|
|
+ subjectIdTemp: '',
|
|
|
+ subjectId: [] as any[],
|
|
|
+ subjectPrice: [] as any[],
|
|
|
+ skipHolidayFlag: 1,
|
|
|
+ setting: '未设置'
|
|
|
+ }
|
|
|
+ ;(this as any).$refs.form.resetFields()
|
|
|
}}
|
|
|
- />
|
|
|
- </ElFormItem>
|
|
|
- ))}
|
|
|
- <ElFormItem label="是否跳过节假日">
|
|
|
- <ElRadioGroup v-model={this.form.skipHolidayFlag}>
|
|
|
- <ElRadioButton label={1} class="mr-3 w-24">
|
|
|
- 是
|
|
|
- </ElRadioButton>
|
|
|
- <ElRadioButton label={0} class="w-24">
|
|
|
- 否
|
|
|
- </ElRadioButton>
|
|
|
- </ElRadioGroup>
|
|
|
- </ElFormItem>
|
|
|
- <ElFormItem label="陪练时间段">
|
|
|
- <div onClick={this.onTimer} class="w-full">
|
|
|
- <ElInput
|
|
|
- readonly
|
|
|
- class="cursor-pointer"
|
|
|
- v-model={this.form.setting}
|
|
|
- placeholder="请选择陪练时间段"
|
|
|
- suffixIcon={'ArrowDown'}
|
|
|
- />
|
|
|
+ >
|
|
|
+ 重置
|
|
|
+ </ElButton>
|
|
|
+ <ElButton
|
|
|
+ type="primary"
|
|
|
+ class="!w-40 !h-[38px]"
|
|
|
+ onClick={this.onSubmit}
|
|
|
+ >
|
|
|
+ 保存设置
|
|
|
+ </ElButton>
|
|
|
</div>
|
|
|
- </ElFormItem>
|
|
|
- </ElForm>
|
|
|
-
|
|
|
- <div class="border-t border-t-[#E5E5E5] text-center pt-6 pb-7">
|
|
|
- <ElButton
|
|
|
- class="!w-40 !h-[38px]"
|
|
|
- onClick={() => {
|
|
|
- // 重置数据
|
|
|
- this.form = {
|
|
|
- enableFlag: 1,
|
|
|
- courseMinutes: null as any,
|
|
|
- freeMinutes: 0,
|
|
|
- subjectIdTemp: '',
|
|
|
- subjectId: [] as any[],
|
|
|
- subjectPrice: [] as any[],
|
|
|
- skipHolidayFlag: 1,
|
|
|
- setting: '未设置'
|
|
|
- }
|
|
|
- ;(this as any).$refs.form.resetFields()
|
|
|
+ </>
|
|
|
+ ) : (
|
|
|
+ <ColEmpty
|
|
|
+ type="teacherCert"
|
|
|
+ message="您还未完成老师认证,认证后才可设置陪练课哦~"
|
|
|
+ buttonVisibility
|
|
|
+ buttonText="去认证"
|
|
|
+ onDetail={() => {
|
|
|
+ this.$router.push('/teacherAuth')
|
|
|
}}
|
|
|
- >
|
|
|
- 重置
|
|
|
- </ElButton>
|
|
|
- <ElButton
|
|
|
- type="primary"
|
|
|
- class="!w-40 !h-[38px]"
|
|
|
- onClick={this.onSubmit}
|
|
|
- >
|
|
|
- 保存设置
|
|
|
- </ElButton>
|
|
|
- </div>
|
|
|
+ />
|
|
|
+ )}
|
|
|
|
|
|
<ElDialog
|
|
|
modelValue={this.timerStatus}
|