|
@@ -5,8 +5,11 @@
|
|
|
<!-- <div class="num">乐团编号:dywh01</div> -->
|
|
|
<el-form :model="topFrom"
|
|
|
:inline="true"
|
|
|
+ ref='topinfo'
|
|
|
style="margin-left:11px;">
|
|
|
- <el-form-item label="收费类型">
|
|
|
+ <el-form-item label="收费类型"
|
|
|
+ prop="type"
|
|
|
+ :rules="[{ required: true, message: '收费类型不能为空'}]">
|
|
|
<el-select v-model="topFrom.type"
|
|
|
clearable>
|
|
|
<el-option v-for="(item,index) in typeList"
|
|
@@ -15,7 +18,9 @@
|
|
|
:value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属分部">
|
|
|
+ <el-form-item label="所属分部"
|
|
|
+ prop="section"
|
|
|
+ :rules="[{ required: true, message: '所属分部不能为空'},]">
|
|
|
<el-select v-model="topFrom.section"
|
|
|
clearable>
|
|
|
<el-option v-for="(item,index) in sectionList"
|
|
@@ -24,7 +29,9 @@
|
|
|
:value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="合作单位">
|
|
|
+ <el-form-item label="合作单位"
|
|
|
+ prop="school"
|
|
|
+ :rules="[{ required: true, message: '合作单位不能为空'},]">
|
|
|
<el-select v-model="topFrom.school"
|
|
|
clearable>
|
|
|
<el-option v-for="(item,index) in cooperationList"
|
|
@@ -33,33 +40,45 @@
|
|
|
:value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="乐团名称">
|
|
|
+ <el-form-item label="乐团名称"
|
|
|
+ prop='name'
|
|
|
+ :rules="[{ required: true, message: '乐团名称不能为空'},]">
|
|
|
<el-input placeholder="请输入乐团名称"
|
|
|
v-model="topFrom.name"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="运营主管">
|
|
|
+ <el-form-item label="运营主管"
|
|
|
+ prop='boss'
|
|
|
+ :rules="[{ required: true, message: '运营主管不能为空'},]">
|
|
|
<el-select v-model="topFrom.boss"
|
|
|
clearable>
|
|
|
<el-option v-for="(item,index) in teacherList"
|
|
|
:key='index'
|
|
|
- :label="item.name"
|
|
|
+ :label="item.username"
|
|
|
:value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="教务老师">
|
|
|
+ <el-form-item label="教务老师"
|
|
|
+ prop='teacher'
|
|
|
+ :rules="[{ required: true, message: '教育老师不能为空'},]">
|
|
|
<el-select v-model="topFrom.teacher"
|
|
|
clearable>
|
|
|
- <el-option label="哈哈哈"
|
|
|
- value="1"></el-option>
|
|
|
+ <el-option v-for="(item,index) in teacherList"
|
|
|
+ :key='index'
|
|
|
+ :label="item.username"
|
|
|
+ :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="报名截止时间">
|
|
|
+ <el-form-item label="报名截止时间"
|
|
|
+ prop='time'
|
|
|
+ :rules="[{ required: true, message: '请输入报名截止时间'},]">
|
|
|
<el-date-picker v-model="topFrom.time"
|
|
|
type="date"
|
|
|
placeholder="选择日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="招生年级">
|
|
|
+ <el-form-item label="招生年级"
|
|
|
+ prop='startClass'
|
|
|
+ :rules="[{ required: true, message: '请选择招生年纪'},]">
|
|
|
<el-select placeholder="起始年级"
|
|
|
clearable
|
|
|
multiple
|
|
@@ -95,83 +114,129 @@
|
|
|
</el-form>
|
|
|
<div class="checkList">
|
|
|
<div class="head noMargin">课程组成形态:</div>
|
|
|
- <el-checkbox-group v-model="checkList">
|
|
|
- <div class="checkRow">
|
|
|
- <el-checkbox label="乐团声部训练"></el-checkbox>
|
|
|
- <div class="inputWrap">
|
|
|
- 单价: <input type="text"
|
|
|
- placeholder="请输入">
|
|
|
- </div>
|
|
|
+
|
|
|
+ <div class="checkRow">
|
|
|
+ <el-checkbox label="乐团声部训练"
|
|
|
+ v-model="checkList.soundInfo.ischeck"></el-checkbox>
|
|
|
+ <div class="inputWrap">
|
|
|
+ 单价: <input type="text"
|
|
|
+ placeholder="请输入"
|
|
|
+ v-model="checkList.soundInfo.value">
|
|
|
</div>
|
|
|
- <div class="checkRow">
|
|
|
- <el-checkbox label="乐团合奏训练"></el-checkbox>
|
|
|
- <div class="inputWrap">
|
|
|
- 单价: <input type="text"
|
|
|
- placeholder="请输入">
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="checkRow">
|
|
|
+ <el-checkbox label="乐团合奏训练"
|
|
|
+ v-model="checkList.allInfo.ischeck"></el-checkbox>
|
|
|
+ <div class="inputWrap">
|
|
|
+ 单价: <input type="text"
|
|
|
+ placeholder="请输入"
|
|
|
+ v-model="checkList.allInfo.value">
|
|
|
</div>
|
|
|
- <div class="checkRow">
|
|
|
- <el-checkbox label="基础技能训练"></el-checkbox>
|
|
|
- <div class="inputWrap">
|
|
|
- 单价: <input type="number"
|
|
|
- placeholder="请输入">
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="checkRow">
|
|
|
+ <el-checkbox label="基础技能训练"
|
|
|
+ v-model="checkList.baseInfo.ischeck"></el-checkbox>
|
|
|
+ <div class="inputWrap">
|
|
|
+ 单价: <input type="number"
|
|
|
+ placeholder="请输入"
|
|
|
+ v-model="checkList.baseInfo.value">
|
|
|
</div>
|
|
|
- <div class="checkRow">
|
|
|
- <el-checkbox label="假期集中训练"></el-checkbox>
|
|
|
- <div class="inputWrap">
|
|
|
- 单价: <input type="number"
|
|
|
- placeholder="请输入">
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="checkRow">
|
|
|
+ <el-checkbox label="假期集中训练"
|
|
|
+ v-model="checkList.holidayInfo.ischeck"></el-checkbox>
|
|
|
+ <div class="inputWrap">
|
|
|
+ 单价: <input type="number"
|
|
|
+ placeholder="请输入"
|
|
|
+ v-model="checkList.holidayInfo.value">
|
|
|
</div>
|
|
|
- <div class="checkRow">
|
|
|
- <el-checkbox label="课程提示"
|
|
|
- class='classCheckBox'></el-checkbox>
|
|
|
- <div class="textWrap">
|
|
|
- <p>课程提示:</p>
|
|
|
- <p>年度安排10个月共168课时,<span>100</span>/课时,原价<span>1000</span>元,现价<span>150</span>元/月(约 <span>5555</span>元/月 )</p>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="checkRow">
|
|
|
+ <el-checkbox label="课程提示"
|
|
|
+ class='classCheckBox'
|
|
|
+ v-model="checkList.submit.ischeck"></el-checkbox>
|
|
|
+ <div class="textWrap"
|
|
|
+ v-if="checkList.submit.ischeck">
|
|
|
+ <el-input type='textarea'
|
|
|
+ :rows="1"
|
|
|
+ style="width:500px"
|
|
|
+ value="年度安排个月共xxx课时,课时,原价xxx元,现价xxxx元/月(约 xxxx元/月 )"></el-input>
|
|
|
</div>
|
|
|
- <div class="head noMargin">付费方式:</div>
|
|
|
- <div class="checkRow">
|
|
|
- <el-checkbox label="学校"
|
|
|
- class='classCheckBox'></el-checkbox>
|
|
|
- <div class="chioseList">
|
|
|
- <div class="chioseItem">一次性</div>
|
|
|
- <div class="chioseItem active">一学期</div>
|
|
|
- <div class="chioseItem">一学年</div>
|
|
|
- </div>
|
|
|
- <div class="inputWrap">
|
|
|
- 备注: <input type="textarea"
|
|
|
- placeholder="请输入">
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="head noMargin">付费方式:</div>
|
|
|
+ <div class="checkRow">
|
|
|
+ <el-checkbox label="学校"
|
|
|
+ class='classCheckBox'
|
|
|
+ v-model="payList.school.ischeck"></el-checkbox>
|
|
|
+ <div class="chioseList">
|
|
|
+ <div class="chioseItem"
|
|
|
+ :class="payList.school.chiose == 'ONE_OFF'?'active':''"
|
|
|
+ @click="payList.school.chiose = 'ONE_OFF'">一次性</div>
|
|
|
+ <div class="chioseItem"
|
|
|
+ :class="payList.school.chiose == 'MONTHLY'?'active':''"
|
|
|
+ @click="payList.school.chiose='MONTHLY'">一个月</div>
|
|
|
+ <div class="chioseItem "
|
|
|
+ :class="payList.school.chiose == 'TERM'?'active':''"
|
|
|
+ @click="payList.school.chiose='TERM'">一学期</div>
|
|
|
+ <div class="chioseItem"
|
|
|
+ :class="payList.school.chiose == 'YEAR'?'active':''"
|
|
|
+ @click="payList.school.chiose='YEAR'">一学年</div>
|
|
|
+ </div>
|
|
|
+ <div class="inputWrap">
|
|
|
+ 预计收费: <input type="textarea"
|
|
|
+ placeholder="请输入"
|
|
|
+ v-model="payList.school.price">
|
|
|
+ </div>
|
|
|
+ <div class="inputWrap">
|
|
|
+ 备注: <input type="textarea"
|
|
|
+ placeholder="请输入">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="checkRow">
|
|
|
+ <el-checkbox label="公司"
|
|
|
+ class='classCheckBox'></el-checkbox>
|
|
|
+ <div class="chioseList">
|
|
|
+ <div class="chioseItem"
|
|
|
+ :class="payList.company.chiose == 'ONE_OFF'?'active':''"
|
|
|
+ @click="payList.company.chiose='ONE_OFF'">一次性</div>
|
|
|
+ <div class="chioseItem"
|
|
|
+ :class="payList.company.chiose == 'MONTHLY'?'active':''"
|
|
|
+ @click="payList.company.chiose='MONTHLY'">一个月</div>
|
|
|
+ <div class="chioseItem "
|
|
|
+ :class="payList.company.chiose == 'TERM'?'active':''"
|
|
|
+ @click="payList.company.chiose='TERM'">一学期</div>
|
|
|
+ <div class="chioseItem"
|
|
|
+ :class="payList.company.chiose == 'YEAR'?'active':''"
|
|
|
+ @click="payList.company.chiose='YEAR'">一学年</div>
|
|
|
+ </div>
|
|
|
+ <div class="inputWrap">
|
|
|
+ 预计收费: <input type="textarea"
|
|
|
+ placeholder="请输入">
|
|
|
</div>
|
|
|
- <div class="checkRow">
|
|
|
- <el-checkbox label="公司"
|
|
|
- class='classCheckBox'></el-checkbox>
|
|
|
- <div class="chioseList">
|
|
|
- <div class="chioseItem">一次性</div>
|
|
|
- <div class="chioseItem active">一学期</div>
|
|
|
- <div class="chioseItem">一学年</div>
|
|
|
- </div>
|
|
|
- <div class="inputWrap">
|
|
|
- 备注: <input type="textarea"
|
|
|
- placeholder="请输入">
|
|
|
- </div>
|
|
|
+ <div class="inputWrap">
|
|
|
+ 备注: <input type="textarea"
|
|
|
+ placeholder="请输入">
|
|
|
</div>
|
|
|
- <div class="checkRow">
|
|
|
- <el-checkbox label="公司"
|
|
|
- class='classCheckBox'></el-checkbox>
|
|
|
- <div class="chioseList">
|
|
|
- <div class="chioseItem">一次性</div>
|
|
|
- <div class="chioseItem active">周期循环</div>
|
|
|
- </div>
|
|
|
- <div class="inputWrap">
|
|
|
- 备注: <input type="textarea"
|
|
|
- placeholder="请输入">
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="checkRow">
|
|
|
+ <el-checkbox label="学员"
|
|
|
+ class='classCheckBox'
|
|
|
+ v-model="payList.student.ischeck"></el-checkbox>
|
|
|
+ <div class="chioseList">
|
|
|
+ <div class="chioseItem"
|
|
|
+ :class="payList.student.chiose == 'ONE_OFF'?'active':''"
|
|
|
+ @click="payList.student.chiose='ONE_OFF'">一次性</div>
|
|
|
+ <div class="chioseItem"
|
|
|
+ :class="payList.student.chiose == 'loop'?'active':''"
|
|
|
+ @click="payList.student.chiose='loop'">周期循环</div>
|
|
|
</div>
|
|
|
- </el-checkbox-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="btnWrap">
|
|
|
+ <div class="nextBtn"
|
|
|
+ @click="gotoNext">
|
|
|
+ 下一步
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- <div class="baseRight">
|
|
@@ -222,6 +287,7 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import { getSection, getType, getCooperation, getTeacher } from '@/api/buildTeam'
|
|
|
+import { scrollTo } from '@/utils/scroll-to'
|
|
|
export default {
|
|
|
data () {
|
|
|
return {
|
|
@@ -234,12 +300,29 @@ export default {
|
|
|
boss: '', // 运营主管
|
|
|
time: '', // 报名截止时间
|
|
|
startClass: '', // 招生年级起始
|
|
|
- endClass: '' // 招生
|
|
|
},
|
|
|
- checkList: [], // 选中的集合
|
|
|
+ checkList: {
|
|
|
+ soundInfo: { // 声部
|
|
|
+ ischeck: false,
|
|
|
+ value: ''
|
|
|
+ },
|
|
|
+ allInfo: { // 合奏
|
|
|
+ ischeck: false,
|
|
|
+ value: ''
|
|
|
+ },
|
|
|
+ baseInfo: { // 基础
|
|
|
+ ischeck: false,
|
|
|
+ value: ''
|
|
|
+ },
|
|
|
+ holidayInfo: { // 假期
|
|
|
+ ischeck: false,
|
|
|
+ value: ''
|
|
|
+ },
|
|
|
+ submit: {
|
|
|
+ ischeck: false
|
|
|
+ }
|
|
|
+ }, // 选中的集合
|
|
|
chioseMonth: '', // 选中的月份
|
|
|
- result: {},
|
|
|
- instrument: {},
|
|
|
baseInfo: {},
|
|
|
money: 580,
|
|
|
orderInfo: {
|
|
@@ -249,7 +332,25 @@ export default {
|
|
|
sectionList: [], // 分部列表
|
|
|
typeList: [], // 收费类型列表
|
|
|
cooperationList: [], // 教学点列表
|
|
|
- teacherList: [] // 获取老师列表
|
|
|
+ teacherList: [], // 获取老师列表
|
|
|
+ payList: {
|
|
|
+ school: {
|
|
|
+ ischeck: false,
|
|
|
+ value: '',
|
|
|
+ price: '',
|
|
|
+ chiose: ''
|
|
|
+ },
|
|
|
+ company: {
|
|
|
+ ischeck: false,
|
|
|
+ value: '',
|
|
|
+ price: '',
|
|
|
+ chiose: ''
|
|
|
+ },
|
|
|
+ student: {
|
|
|
+ ischeck: true,
|
|
|
+ chiose: 'loop'
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
mounted () {
|
|
@@ -275,19 +376,43 @@ export default {
|
|
|
// 4.获取老师选项卡
|
|
|
getTeacher({ 'rows': 1000 }).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
- this.theacherList = res.data.rows;
|
|
|
+ this.teacherList = res.data.rows;
|
|
|
}
|
|
|
})
|
|
|
- }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ gotoNext () {
|
|
|
+ // 1.效验数据 判断是否数据正常=> 正常放入store存储
|
|
|
+ // 不正常=> 进行效验提示
|
|
|
+ this.$refs['topinfo'].validate((valid, object) => {
|
|
|
+ if (!valid) {
|
|
|
+ this.$message.error('请填写建团必要参数')
|
|
|
+ } else {
|
|
|
+ // 我存三个对象
|
|
|
+ // 1. topform
|
|
|
+ // 2. checkList
|
|
|
+ // // 3. payList
|
|
|
+ this.$store.dispatch('topinfo', this.topFrom);
|
|
|
+ this.$store.dispatch('checkinfo', this.topFrom);
|
|
|
+ this.$store.dispatch('getpayInfo', this.topFrom);
|
|
|
+ // checkinfo getpayInfo
|
|
|
+ this.$emit('chioseTab', 1);
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ },
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="scss">
|
|
|
.base-container {
|
|
|
- // overflow: auto;
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- justify-content: flex-start;
|
|
|
- flex-wrap: nowrap;
|
|
|
+ overflow: auto;
|
|
|
+ // display: flex;
|
|
|
+ // flex-direction: row;
|
|
|
+ // justify-content: flex-start;
|
|
|
+ // flex-wrap: nowrap;
|
|
|
font-size: 14px;
|
|
|
color: #444;
|
|
|
// width: fill-available;
|
|
@@ -337,12 +462,12 @@ export default {
|
|
|
}
|
|
|
.textWrap {
|
|
|
display: flex;
|
|
|
- flex-direction: column;
|
|
|
+ flex-direction: row;
|
|
|
justify-content: flex-start;
|
|
|
font-size: 14px;
|
|
|
color: #777;
|
|
|
- padding-top: 16px;
|
|
|
- line-height: 20px;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
span {
|
|
|
color: #f97215;
|
|
|
}
|
|
@@ -391,6 +516,12 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ .btnWrap {
|
|
|
+ margin-top: 30px;
|
|
|
+ }
|
|
|
+ .el-checkbox__input.is-checked + .el-checkbox__label {
|
|
|
+ color: #606266;
|
|
|
+ }
|
|
|
// .baseRight {
|
|
|
// width: 375px;
|
|
|
// margin-left: 25px;
|