|
@@ -1,136 +1,119 @@
|
|
|
<template>
|
|
|
<div class="m-container">
|
|
|
<h2>
|
|
|
- <el-page-header @back="goBack"
|
|
|
- content='VIP修改'>
|
|
|
- </el-page-header>
|
|
|
+ <el-page-header @back="goBack" content="VIP修改"></el-page-header>
|
|
|
</h2>
|
|
|
<div class="vipwrap">
|
|
|
- <div class='newBand'
|
|
|
- v-permission="'vipGroupManage/appendVipGroupCourseSchedules'"
|
|
|
- @click="addCourse">VIP加课</div>
|
|
|
- <div class='newBand'
|
|
|
- v-permission="'courseSchedule/vipCourseAdjust'"
|
|
|
- @click="adjustment">批量调整</div>
|
|
|
- <div class='newBand'
|
|
|
- v-permission="'vipGroupManage/updateVipBaseInfo'"
|
|
|
- @click="addrVisible = true">修改教学点</div>
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'vipGroupManage/appendVipGroupCourseSchedules'"
|
|
|
+ @click="addCourse"
|
|
|
+ >VIP加课</div>
|
|
|
+ <div class="newBand" v-permission="'courseSchedule/vipCourseAdjust'" @click="adjustment">批量调整</div>
|
|
|
+ <div
|
|
|
+ class="newBand"
|
|
|
+ v-permission="'vipGroupManage/updateVipBaseInfo'"
|
|
|
+ @click="addrVisible = true"
|
|
|
+ >修改教学点</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="tableWrap">
|
|
|
- <el-table :data='tableList'
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- :header-cell-style="{background:'#EDEEF0',color:'#444'}">
|
|
|
- <el-table-column type="selection"
|
|
|
- :selectable='isDisabled'
|
|
|
- width="55">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="课程名称"
|
|
|
- align="center"
|
|
|
- prop="name">
|
|
|
- </el-table-column>
|
|
|
+ <el-table
|
|
|
+ :data="tableList"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ :header-cell-style="{background:'#EDEEF0',color:'#444'}"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" :selectable="isDisabled" width="55"></el-table-column>
|
|
|
+ <el-table-column label="课程名称" align="center" prop="name"></el-table-column>
|
|
|
<!-- <el-table-column label="班级id"
|
|
|
align="center"
|
|
|
prop="classGroupId">
|
|
|
- </el-table-column> -->
|
|
|
- <el-table-column label="上课日期"
|
|
|
- align="center"
|
|
|
- prop="classDate">
|
|
|
+ </el-table-column>-->
|
|
|
+ <el-table-column label="上课日期" align="center" prop="classDate">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>
|
|
|
- {{ scope.row.classDate | formatTimer}}
|
|
|
- </div>
|
|
|
+ <div>{{ scope.row.classDate | formatTimer}}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="课程状态"
|
|
|
- align="center"
|
|
|
- prop="status">
|
|
|
+ <el-table-column label="课程状态" align="center" prop="status">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>
|
|
|
- {{ scope.row.status | coursesStatus }}
|
|
|
- </div>
|
|
|
+ <div>{{ scope.row.status | coursesStatus }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="结算状态"
|
|
|
- align="center">
|
|
|
+ <el-table-column label="结算状态" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>
|
|
|
- {{scope.row.isSettlement?'已结算':'未结算'}}
|
|
|
- </div>
|
|
|
+ <div>{{scope.row.isSettlement?'已结算':'未结算'}}</div>
|
|
|
</template>
|
|
|
-
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="开始时间"
|
|
|
- align="center"
|
|
|
- prop="startClassTimeStr">
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="结束时间"
|
|
|
- align="center"
|
|
|
- prop="endClassTimeStr">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="课程类型"
|
|
|
- align="center">
|
|
|
+ <el-table-column label="开始时间" align="center" prop="startClassTimeStr"></el-table-column>
|
|
|
+ <el-table-column label="结束时间" align="center" prop="endClassTimeStr"></el-table-column>
|
|
|
+ <el-table-column label="课程类型" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
+ <div>{{ scope.row.teachMode | teachMode }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="教学点" align="center" prop="schoolName">
|
|
|
+ <template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{ scope.row.teachMode | teachMode }}
|
|
|
+ {{scope.row.schoolName?scope.row.schoolName:'网络教室'}}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="教学点"
|
|
|
- align="center"
|
|
|
- prop="schoolName">
|
|
|
- </el-table-column>
|
|
|
<el-table-column label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- <el-button type="text"
|
|
|
- v-permission="'courseSchedule/classStartDateAdjust'"
|
|
|
- v-if="!scope.row.isSettlement"
|
|
|
- @click="resetClass(scope.row)">调整</el-button>
|
|
|
- <el-button type="text"
|
|
|
- v-permission="'courseSchedule/bathDelete'"
|
|
|
- v-if="scope.row.status != 'OVER'"
|
|
|
- @click="removeClass(scope.row)">删除</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ v-permission="'courseSchedule/classStartDateAdjust'"
|
|
|
+ v-if="!scope.row.isSettlement"
|
|
|
+ @click="resetClass(scope.row)"
|
|
|
+ >调整</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ v-permission="'courseSchedule/bathDelete'"
|
|
|
+ v-if="scope.row.status != 'OVER'"
|
|
|
+ @click="removeClass(scope.row)"
|
|
|
+ >删除</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <pagination :total="rules.total"
|
|
|
- :page.sync="rules.page"
|
|
|
- :limit.sync="rules.limit"
|
|
|
- :page-sizes="rules.page_size"
|
|
|
- @pagination="getList" />
|
|
|
+ <pagination
|
|
|
+ :total="rules.total"
|
|
|
+ :page.sync="rules.page"
|
|
|
+ :limit.sync="rules.limit"
|
|
|
+ :page-sizes="rules.page_size"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
</div>
|
|
|
- <el-dialog title="课程调整"
|
|
|
- width="400px"
|
|
|
- :before-close="handleClose"
|
|
|
- :visible.sync="courseVisible">
|
|
|
- <el-form :model="maskForm"
|
|
|
- ref="maskForm"
|
|
|
- :rules="maskRules"
|
|
|
- label-position="right"
|
|
|
- label-width="80px;"
|
|
|
- :inline="true">
|
|
|
- <el-form-item label="上课日期"
|
|
|
- prop="date">
|
|
|
- <el-date-picker v-model="maskForm.date"
|
|
|
- style="width:200px!important;"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择日期">
|
|
|
- </el-date-picker>
|
|
|
+ <el-dialog title="课程调整" width="400px" :before-close="handleClose" :visible.sync="courseVisible">
|
|
|
+ <el-form
|
|
|
+ :model="maskForm"
|
|
|
+ ref="maskForm"
|
|
|
+ :rules="maskRules"
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px;"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
+ <el-form-item label="上课日期" prop="date">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="maskForm.date"
|
|
|
+ style="width:200px!important;"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期"
|
|
|
+ ></el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="开始时间"
|
|
|
- prop="startTime">
|
|
|
- <el-time-select placeholder="起始时间"
|
|
|
- style="width:200px!important;"
|
|
|
- v-model="startTime"
|
|
|
- :picker-options="{
|
|
|
+ <el-form-item label="开始时间" prop="startTime">
|
|
|
+ <el-time-select
|
|
|
+ placeholder="起始时间"
|
|
|
+ style="width:200px!important;"
|
|
|
+ v-model="startTime"
|
|
|
+ :picker-options="{
|
|
|
start: '04:30',
|
|
|
step: '00:05',
|
|
|
end: '23:30'
|
|
|
- }">
|
|
|
- </el-time-select>
|
|
|
+ }"
|
|
|
+ ></el-time-select>
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="结束时间"
|
|
|
prop="endTime">
|
|
@@ -144,33 +127,26 @@
|
|
|
}">
|
|
|
</el-time-select>
|
|
|
</el-form-item> v-if="maskForm.teachMode=='OFFLINE'"-->
|
|
|
- <el-form-item label="课程类型"
|
|
|
- prop="courseType">
|
|
|
- <el-select clearable
|
|
|
- v-model="maskForm.teachMode">
|
|
|
- <el-option label="线上课"
|
|
|
- value="ONLINE"></el-option>
|
|
|
- <el-option label="线下课"
|
|
|
- value="OFFLINE"></el-option>
|
|
|
+ <el-form-item label="课程类型" prop="courseType">
|
|
|
+ <el-select clearable v-model="maskForm.teachMode">
|
|
|
+ <el-option label="线上课" value="ONLINE"></el-option>
|
|
|
+ <el-option label="线下课" value="OFFLINE"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="教学地点"
|
|
|
- v-if='maskForm.teachMode == "OFFLINE"'>
|
|
|
- <el-select v-model="maskForm.address"
|
|
|
- filterable
|
|
|
- clearable>
|
|
|
- <el-option v-for="(item,index) in schoolList"
|
|
|
- :key="index"
|
|
|
- :value="item.id"
|
|
|
- :label="item.name"></el-option>
|
|
|
+ <el-form-item label="教学地点" v-if="maskForm.teachMode == "OFFLINE"">
|
|
|
+ <el-select v-model="maskForm.address" filterable clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="(item,index) in schoolList"
|
|
|
+ :key="index"
|
|
|
+ :value="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <div slot="footer"
|
|
|
- class="dialog-footer">
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="courseVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary"
|
|
|
- @click="submitResetClass">确 定</el-button>
|
|
|
+ <el-button type="primary" @click="submitResetClass">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- a -->
|
|
@@ -241,148 +217,137 @@
|
|
|
<el-button type="primary"
|
|
|
@click="submitAdd">确 定</el-button>
|
|
|
</span>
|
|
|
- </el-dialog> -->
|
|
|
- <el-dialog :title="adjustmentName"
|
|
|
- width="800px"
|
|
|
- :visible.sync="adjustmentVisible">
|
|
|
- <el-form :model='adjustmentForm'
|
|
|
- label-position="right"
|
|
|
- label-width="120px"
|
|
|
- ref='adjustmentForm'
|
|
|
- :rules="adjustmentRules"
|
|
|
- :inline="true">
|
|
|
- <el-form-item label="已选择课时数"
|
|
|
- v-if='!isaddCourse'>
|
|
|
- <el-input disabled
|
|
|
- v-model="adjustmentForm.count"></el-input>
|
|
|
+ </el-dialog>-->
|
|
|
+ <el-dialog :title="adjustmentName" width="800px" :visible.sync="adjustmentVisible">
|
|
|
+ <el-form
|
|
|
+ :model="adjustmentForm"
|
|
|
+ label-position="right"
|
|
|
+ label-width="120px"
|
|
|
+ ref="adjustmentForm"
|
|
|
+ :rules="adjustmentRules"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
+ <el-form-item label="已选择课时数" v-if="!isaddCourse">
|
|
|
+ <el-input disabled v-model="adjustmentForm.count"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="添加课时数"
|
|
|
- prop="addCount"
|
|
|
- v-if='isaddCourse'>
|
|
|
- <el-input type='number'
|
|
|
- @mousewheel.native.prevent
|
|
|
- v-model="adjustmentForm.addCount"></el-input>
|
|
|
+ <el-form-item label="添加课时数" prop="addCount" v-if="isaddCourse">
|
|
|
+ <el-input type="number" @mousewheel.native.prevent v-model="adjustmentForm.addCount"></el-input>
|
|
|
</el-form-item>
|
|
|
- <br>
|
|
|
- <el-form-item label="单课费用"
|
|
|
- prop="fee"
|
|
|
- v-if='isaddCourse'>
|
|
|
+ <br />
|
|
|
+ <el-form-item label="单课费用" prop="fee" v-if="isaddCourse">
|
|
|
<el-input v-model="adjustmentForm.fee"></el-input>
|
|
|
</el-form-item>
|
|
|
<!-- v-if='isaddCourse' v-if="adjustmentForm.courseType=='OFFLINE'" -->
|
|
|
- <el-form-item label="课程类型"
|
|
|
- prop="courseType">
|
|
|
- <el-select clearable
|
|
|
- v-model="adjustmentForm.courseType">
|
|
|
- <el-option label="线上课"
|
|
|
- value="ONLINE"></el-option>
|
|
|
- <el-option label="线下课"
|
|
|
- value="OFFLINE"></el-option>
|
|
|
+ <el-form-item label="课程类型" prop="courseType">
|
|
|
+ <el-select clearable v-model="adjustmentForm.courseType">
|
|
|
+ <el-option label="线上课" value="ONLINE"></el-option>
|
|
|
+ <el-option label="线下课" value="OFFLINE"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <br>
|
|
|
- <el-form-item label="排课起始时间"
|
|
|
- prop="courseTime">
|
|
|
- <el-date-picker v-model="adjustmentForm.courseTime"
|
|
|
- :picker-options="pickerOptions"
|
|
|
- style="width:200px!important;"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择日期">
|
|
|
- </el-date-picker>
|
|
|
- <el-checkbox style='margin-left:10px;'
|
|
|
- v-model="adjustmentForm.checked">是否跳过节假日</el-checkbox>
|
|
|
+ <br />
|
|
|
+ <el-form-item label="排课起始时间" prop="courseTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="adjustmentForm.courseTime"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ style="width:200px!important;"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期"
|
|
|
+ ></el-date-picker>
|
|
|
+ <el-checkbox style="margin-left:10px;" v-model="adjustmentForm.checked">是否跳过节假日</el-checkbox>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <div class="WeekWrap ">
|
|
|
- <h3 style="margin-bottom:20px;">循环次数 <el-button type="text"
|
|
|
- style='margin-left:10px;'
|
|
|
- @click="addWeek">添加</el-button>
|
|
|
+ <div class="WeekWrap">
|
|
|
+ <h3 style="margin-bottom:20px;">
|
|
|
+ 循环次数
|
|
|
+ <el-button type="text" style="margin-left:10px;" @click="addWeek">添加</el-button>
|
|
|
</h3>
|
|
|
- <div class="countWrap"
|
|
|
- style="margin-bottom:10px;">
|
|
|
- <div class="countItem"
|
|
|
- style="margin-bottom:20px;"
|
|
|
- v-for="(item,index) in weekList"
|
|
|
- :key="index">
|
|
|
- <span>循环周期: </span>
|
|
|
- <el-select v-model="item.dayOfWeek"
|
|
|
- filterable
|
|
|
- clearable>
|
|
|
- <el-option v-for="(item,index) in weekDateList"
|
|
|
- :key='index'
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"></el-option>
|
|
|
+ <div class="countWrap" style="margin-bottom:10px;">
|
|
|
+ <div
|
|
|
+ class="countItem"
|
|
|
+ style="margin-bottom:20px;"
|
|
|
+ v-for="(item,index) in weekList"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <span>循环周期:</span>
|
|
|
+ <el-select v-model="item.dayOfWeek" filterable clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="(item,index) in weekDateList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
<span style="margin-left:10px;">开始时间</span>
|
|
|
- <el-time-select style="margin-left:10px;"
|
|
|
- placeholder=""
|
|
|
- v-model="item.startClassTime"
|
|
|
- :picker-options="{
|
|
|
+ <el-time-select
|
|
|
+ style="margin-left:10px;"
|
|
|
+ placeholder
|
|
|
+ v-model="item.startClassTime"
|
|
|
+ :picker-options="{
|
|
|
start: '04:30',
|
|
|
step: '00:05',
|
|
|
end: '23:55'
|
|
|
- }">
|
|
|
- </el-time-select>
|
|
|
- <el-button style="margin-left:10px;"
|
|
|
- type="danger"
|
|
|
- @click="removeWeek(item)"
|
|
|
- icon="el-icon-delete"
|
|
|
- circle></el-button>
|
|
|
+ }"
|
|
|
+ ></el-time-select>
|
|
|
+ <el-button
|
|
|
+ style="margin-left:10px;"
|
|
|
+ type="danger"
|
|
|
+ @click="removeWeek(item)"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ circle
|
|
|
+ ></el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div slot="footer"
|
|
|
- class="dialog-footer">
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="adjustmentVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary"
|
|
|
- v-if='!isaddCourse'
|
|
|
- @click="submitAdjustment">确 定</el-button>
|
|
|
- <el-button type="primary"
|
|
|
- v-if='isaddCourse'
|
|
|
- @click="addCourseSubmit">确 定</el-button>
|
|
|
+ <el-button type="primary" v-if="!isaddCourse" @click="submitAdjustment">确 定</el-button>
|
|
|
+ <el-button type="primary" v-if="isaddCourse" @click="addCourseSubmit">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 批量修改教学点 -->
|
|
|
- <el-dialog title='教学点'
|
|
|
- width="400px"
|
|
|
- :visible.sync="addrVisible">
|
|
|
+ <el-dialog title="教学点" width="400px" :visible.sync="addrVisible">
|
|
|
<el-form :model="addrForm">
|
|
|
<el-form-item label="教学点">
|
|
|
- <el-select v-model="addrForm.address"
|
|
|
- clearable
|
|
|
- filterable>
|
|
|
- <el-option v-for="(item,index) in schoolList"
|
|
|
- :key="index"
|
|
|
- :value="item.id"
|
|
|
- :label="item.name"></el-option>
|
|
|
+ <el-select v-model="addrForm.address" clearable filterable>
|
|
|
+ <el-option
|
|
|
+ v-for="(item,index) in schoolList"
|
|
|
+ :key="index"
|
|
|
+ :value="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <span slot="footer"
|
|
|
- class="dialog-footer">
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="addrVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary"
|
|
|
- @click="resetAddrSubmit">确 定</el-button>
|
|
|
+ <el-button type="primary" @click="resetAddrSubmit">确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import { resetCourse } from '@/api/buildTeam'
|
|
|
+import { resetCourse } from "@/api/buildTeam";
|
|
|
// import { getSchool } from '@/api/systemManage'
|
|
|
-import pagination from '@/components/Pagination/index'
|
|
|
-import { findVipGroupCourseSchedules, bathDelete, appendVipGroupCourseSchedules, vipCourseAdjust, updateVipBaseInfo, batchAppendVipGroupCourses } from '@/api/vipSeting'
|
|
|
-import { getTeachSchool } from '@/api/teacherManager'
|
|
|
+import pagination from "@/components/Pagination/index";
|
|
|
+import {
|
|
|
+ findVipGroupCourseSchedules,
|
|
|
+ bathDelete,
|
|
|
+ appendVipGroupCourseSchedules,
|
|
|
+ vipCourseAdjust,
|
|
|
+ updateVipBaseInfo,
|
|
|
+ batchAppendVipGroupCourses
|
|
|
+} from "@/api/vipSeting";
|
|
|
+import { getTeachSchool } from "@/api/teacherManager";
|
|
|
export default {
|
|
|
components: {
|
|
|
pagination
|
|
|
},
|
|
|
- data () {
|
|
|
+ data() {
|
|
|
return {
|
|
|
pickerOptions: {
|
|
|
- disabledDate (time) {
|
|
|
- return time.getTime() + 86400000 <= new Date().getTime()
|
|
|
+ disabledDate(time) {
|
|
|
+ return time.getTime() + 86400000 <= new Date().getTime();
|
|
|
}
|
|
|
},
|
|
|
addrVisible: false,
|
|
@@ -391,18 +356,18 @@ export default {
|
|
|
courseVisible: false,
|
|
|
tableList: [],
|
|
|
addTable: [],
|
|
|
- courseTime: '',
|
|
|
- vipid: '',
|
|
|
+ courseTime: "",
|
|
|
+ vipid: "",
|
|
|
addrForm: {
|
|
|
- address: ''
|
|
|
+ address: ""
|
|
|
},
|
|
|
maskForm: {
|
|
|
- date: '',
|
|
|
- startTime: '',
|
|
|
- endTime: '',
|
|
|
- id: '',
|
|
|
- address: '',
|
|
|
- teachMode: ''
|
|
|
+ date: "",
|
|
|
+ startTime: "",
|
|
|
+ endTime: "",
|
|
|
+ id: "",
|
|
|
+ address: "",
|
|
|
+ teachMode: ""
|
|
|
},
|
|
|
rules: {
|
|
|
// 分页规则
|
|
@@ -412,125 +377,133 @@ export default {
|
|
|
page_size: [50, 100] // 选择限制显示条数
|
|
|
},
|
|
|
maskRules: {
|
|
|
- date: [{ required: true, message: '请选择上课时间', trigger: 'blur' },],
|
|
|
+ date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
|
|
|
// startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
|
|
|
- endTime: [{ required: true, message: '请选择上课结束时间', trigger: 'blur' },],
|
|
|
-
|
|
|
+ endTime: [
|
|
|
+ { required: true, message: "请选择上课结束时间", trigger: "blur" }
|
|
|
+ ]
|
|
|
},
|
|
|
schoolList: [],
|
|
|
Frules: null,
|
|
|
FsearchForm: null,
|
|
|
adjustmentForm: {
|
|
|
- count: '',
|
|
|
- courseTime: '',
|
|
|
+ count: "",
|
|
|
+ courseTime: "",
|
|
|
checked: false,
|
|
|
- addCount: '',
|
|
|
- courseType: '',
|
|
|
- fee: ''
|
|
|
+ addCount: "",
|
|
|
+ courseType: "",
|
|
|
+ fee: ""
|
|
|
},
|
|
|
adjustmentRules: {
|
|
|
- courseTime: [{ required: true, message: '请选择开始时间' }],
|
|
|
- addCount: [{ required: true, message: '请输入加课次数' }],
|
|
|
- courseType: [{ required: true, message: '请选择课程类型' }],
|
|
|
- fee: [{ required: true, message: '请输入费用' }]
|
|
|
+ courseTime: [{ required: true, message: "请选择开始时间" }],
|
|
|
+ addCount: [{ required: true, message: "请输入加课次数" }],
|
|
|
+ courseType: [{ required: true, message: "请选择课程类型" }],
|
|
|
+ fee: [{ required: true, message: "请输入费用" }]
|
|
|
},
|
|
|
weekDateList: [
|
|
|
- { value: '1', label: '星期一' },
|
|
|
- { value: '2', label: '星期二' },
|
|
|
- { value: '3', label: '星期三' },
|
|
|
- { value: '4', label: '星期四' },
|
|
|
- { value: '5', label: '星期五' },
|
|
|
- { value: '6', label: '星期六' },
|
|
|
- { value: '7', label: '星期日' },
|
|
|
+ { value: "1", label: "星期一" },
|
|
|
+ { value: "2", label: "星期二" },
|
|
|
+ { value: "3", label: "星期三" },
|
|
|
+ { value: "4", label: "星期四" },
|
|
|
+ { value: "5", label: "星期五" },
|
|
|
+ { value: "6", label: "星期六" },
|
|
|
+ { value: "7", label: "星期日" }
|
|
|
+ ],
|
|
|
+ weekList: [
|
|
|
+ {
|
|
|
+ dayOfWeek: "",
|
|
|
+ startTime: "",
|
|
|
+ endTime: "",
|
|
|
+ moid: new Date().getTime()
|
|
|
+ }
|
|
|
],
|
|
|
- weekList: [{
|
|
|
- dayOfWeek: '',
|
|
|
- startTime: '',
|
|
|
- endTime: '',
|
|
|
- moid: new Date().getTime()
|
|
|
- }],
|
|
|
activeList: [],
|
|
|
// 改版加课
|
|
|
isaddCourse: false,
|
|
|
- adjustmentName: '',
|
|
|
- startTime: ''
|
|
|
-
|
|
|
- }
|
|
|
+ adjustmentName: "",
|
|
|
+ startTime: ""
|
|
|
+ };
|
|
|
},
|
|
|
- created () {
|
|
|
- this.__init()
|
|
|
+ created() {
|
|
|
+ this.__init();
|
|
|
},
|
|
|
- mounted () {
|
|
|
+ mounted() {
|
|
|
this.getList();
|
|
|
},
|
|
|
- activated () {
|
|
|
- this.__init()
|
|
|
- this.getList()
|
|
|
+ activated() {
|
|
|
+ this.__init();
|
|
|
+ this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
- __init () {
|
|
|
+ __init() {
|
|
|
this.vipid = this.$route.query.id;
|
|
|
if (this.$route.query.rules) {
|
|
|
- this.Frules = this.$route.query.rules
|
|
|
+ this.Frules = this.$route.query.rules;
|
|
|
}
|
|
|
if (this.$route.query.searchForm) {
|
|
|
- this.FsearchForm = this.$route.query.searchForm
|
|
|
+ this.FsearchForm = this.$route.query.searchForm;
|
|
|
}
|
|
|
},
|
|
|
- getList () {
|
|
|
- findVipGroupCourseSchedules({ vipGroupId: this.vipid, rows: this.rules.limit, page: this.rules.page }).then(
|
|
|
- res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.tableList = res.data.pageInfo.rows;
|
|
|
- this.rules.total = res.data.pageInfo.total;
|
|
|
- this.courseTime = res.data.singleClassMinutes;
|
|
|
- if (this.tableList.length > 0) {
|
|
|
- getTeachSchool({ userId: res.data.pageInfo.rows[0].teacherId }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.schoolList = res.data;
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
+ getList() {
|
|
|
+ findVipGroupCourseSchedules({
|
|
|
+ vipGroupId: this.vipid,
|
|
|
+ rows: this.rules.limit,
|
|
|
+ page: this.rules.page
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.tableList = res.data.pageInfo.rows;
|
|
|
+ this.rules.total = res.data.pageInfo.total;
|
|
|
+ this.courseTime = res.data.singleClassMinutes;
|
|
|
+ if (this.tableList.length > 0) {
|
|
|
+ getTeachSchool({
|
|
|
+ userId: res.data.pageInfo.rows[0].teacherId
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.schoolList = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
- )
|
|
|
+ });
|
|
|
},
|
|
|
- goBack () {
|
|
|
- this.$router.push({ path: '/business/vipList', query: { rules: this.Frules, searchForm: this.FsearchForm } })
|
|
|
+ goBack() {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/vipList",
|
|
|
+ query: { rules: this.Frules, searchForm: this.FsearchForm }
|
|
|
+ });
|
|
|
},
|
|
|
- resetClass (row) {
|
|
|
-
|
|
|
+ resetClass(row) {
|
|
|
/**
|
|
|
* maskForm.startTime
|
|
|
- *
|
|
|
+ *
|
|
|
*/
|
|
|
this.maskForm.date = row.classDate;
|
|
|
this.startTime = row.startClassTimeStr;
|
|
|
// this.maskForm.endTime = row.endClassTimeStr;
|
|
|
this.maskForm.id = row.id;
|
|
|
- this.maskForm.address = row.schoolId
|
|
|
- this.maskForm.teachMode = row.teachMode
|
|
|
+ this.maskForm.address = row.schoolId;
|
|
|
+ this.maskForm.teachMode = row.teachMode;
|
|
|
// 修改课时
|
|
|
this.courseVisible = true;
|
|
|
},
|
|
|
- handleClose () {
|
|
|
+ handleClose() {
|
|
|
this.courseVisible = false;
|
|
|
- this.startTime = ''
|
|
|
+ this.startTime = "";
|
|
|
this.maskForm = {
|
|
|
- date: '',
|
|
|
- startTime: '',
|
|
|
- endTime: '',
|
|
|
- id: '',
|
|
|
- address: '',
|
|
|
- teachMode: ''
|
|
|
- }
|
|
|
- this.$refs['maskForm'].resetFields()
|
|
|
+ date: "",
|
|
|
+ startTime: "",
|
|
|
+ endTime: "",
|
|
|
+ id: "",
|
|
|
+ address: "",
|
|
|
+ teachMode: ""
|
|
|
+ };
|
|
|
+ this.$refs["maskForm"].resetFields();
|
|
|
},
|
|
|
- submitResetClass () {
|
|
|
+ submitResetClass() {
|
|
|
// endClassTimeStr: this.maskForm.endTime,
|
|
|
if (!this.startTime) {
|
|
|
- this.$message.error('请填写修改时间')
|
|
|
- return
|
|
|
+ this.$message.error("请填写修改时间");
|
|
|
+ return;
|
|
|
}
|
|
|
let obj = {
|
|
|
startClassTimeStr: this.startTime,
|
|
@@ -538,71 +511,76 @@ export default {
|
|
|
classDate: this.maskForm.date,
|
|
|
schoolId: this.maskForm.address || null,
|
|
|
teachMode: this.maskForm.teachMode || null
|
|
|
- }
|
|
|
+ };
|
|
|
resetCourse(obj).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
- this.$message.success('修改成功')
|
|
|
+ this.$message.success("修改成功");
|
|
|
this.courseVisible = false;
|
|
|
this.getList();
|
|
|
} //else {
|
|
|
// this.$message.error(res.msg)
|
|
|
// }
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
- removeClass (row) {
|
|
|
- this.$confirm('是否删除该vip课程?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
+ removeClass(row) {
|
|
|
+ this.$confirm("是否删除该vip课程?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
}).then(() => {
|
|
|
bathDelete({ courseScheduleIds: row.id }).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
- this.$message.success('删除成功')
|
|
|
+ this.$message.success("删除成功");
|
|
|
this.getList();
|
|
|
}
|
|
|
- })
|
|
|
- })
|
|
|
-
|
|
|
+ });
|
|
|
+ });
|
|
|
},
|
|
|
// vip 家课
|
|
|
- addCourse () {
|
|
|
- this.adjustmentName = 'vip加课'
|
|
|
+ addCourse() {
|
|
|
+ this.adjustmentName = "vip加课";
|
|
|
this.isaddCourse = true;
|
|
|
this.adjustmentVisible = true;
|
|
|
// this.adjustmentForm.count = 0;
|
|
|
// this.addCourseVisible = true;
|
|
|
},
|
|
|
- addOneChiose () {
|
|
|
+ addOneChiose() {
|
|
|
this.addTable.push({
|
|
|
- classDate: '',
|
|
|
- startClassTimeStr: '',
|
|
|
- endClassTimeStr: '',
|
|
|
- teachMode: '',
|
|
|
+ classDate: "",
|
|
|
+ startClassTimeStr: "",
|
|
|
+ endClassTimeStr: "",
|
|
|
+ teachMode: "",
|
|
|
moid: new Date().getTime()
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
- removeMarkCourse (row) {
|
|
|
+ removeMarkCourse(row) {
|
|
|
for (let i in this.addTable) {
|
|
|
if (this.addTable[i].moid == row.moid) {
|
|
|
this.addTable.splice(i, 1);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- submitAdd () {
|
|
|
- let endClassTimeStr = this.MinutesTest(this.addTable[0].startClassTimeStr, 90);
|
|
|
+ submitAdd() {
|
|
|
+ let endClassTimeStr = this.MinutesTest(
|
|
|
+ this.addTable[0].startClassTimeStr,
|
|
|
+ 90
|
|
|
+ );
|
|
|
let some = {
|
|
|
vipGroupApplyBaseInfo: {
|
|
|
id: this.vipid
|
|
|
- }, courseSchedules: []
|
|
|
-
|
|
|
- }
|
|
|
+ },
|
|
|
+ courseSchedules: []
|
|
|
+ };
|
|
|
for (let i in this.addTable) {
|
|
|
let obj = {
|
|
|
classDate: this.addTable[i].classDate,
|
|
|
startClassTimeStr: this.addTable[i].startClassTimeStr,
|
|
|
- endClassTimeStr: this.MinutesTest(this.addTable[i].startClassTimeStr, this.courseTime),
|
|
|
+ endClassTimeStr: this.MinutesTest(
|
|
|
+ this.addTable[i].startClassTimeStr,
|
|
|
+ this.courseTime
|
|
|
+ ),
|
|
|
teachMode: this.addTable[i].teachMode
|
|
|
- }
|
|
|
+ };
|
|
|
some.courseSchedules.push(obj);
|
|
|
}
|
|
|
// 发请求干活
|
|
@@ -611,101 +589,104 @@ export default {
|
|
|
this.addCourseVisible = false;
|
|
|
this.rules.page = 1;
|
|
|
this.getList();
|
|
|
-
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
- isDisabled (row, index) {
|
|
|
+ isDisabled(row, index) {
|
|
|
if (row.isSettlement) {
|
|
|
- return false
|
|
|
+ return false;
|
|
|
} else {
|
|
|
return true;
|
|
|
}
|
|
|
},
|
|
|
// 分钟小时相加减
|
|
|
- MinutesTest (str, interval) {
|
|
|
- let houer = str.split(':')[0];
|
|
|
- let min = str.split(':')[1];
|
|
|
+ MinutesTest(str, interval) {
|
|
|
+ let houer = str.split(":")[0];
|
|
|
+ let min = str.split(":")[1];
|
|
|
let sdate1 = new Date(1900, 1, 1, houer, min);
|
|
|
sdate1.setMinutes(sdate1.getMinutes() + parseInt(interval));
|
|
|
let H = sdate1.getHours();
|
|
|
let M = sdate1.getMinutes();
|
|
|
- if (H < 10) H = '0' + H;
|
|
|
- if (M < 10) M = '0' + M;
|
|
|
- return H + ':' + M
|
|
|
+ if (H < 10) H = "0" + H;
|
|
|
+ if (M < 10) M = "0" + M;
|
|
|
+ return H + ":" + M;
|
|
|
},
|
|
|
- handleSelectionChange (val) {
|
|
|
+ handleSelectionChange(val) {
|
|
|
this.adjustmentForm.count = val.length;
|
|
|
this.activeList = val;
|
|
|
},
|
|
|
- addWeek () {
|
|
|
+ addWeek() {
|
|
|
// 添加循环周期
|
|
|
this.weekList.push({
|
|
|
- dayOfWeek: '',
|
|
|
- startClassTime: '',
|
|
|
- endClassTime: '',
|
|
|
+ dayOfWeek: "",
|
|
|
+ startClassTime: "",
|
|
|
+ endClassTime: "",
|
|
|
id: new Date()
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
// 删除循环周
|
|
|
- removeWeek (item) {
|
|
|
+ removeWeek(item) {
|
|
|
for (let i in this.weekList) {
|
|
|
if (this.weekList[i].id == item.id) {
|
|
|
- this.weekList.splice(i, 1)
|
|
|
+ this.weekList.splice(i, 1);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- adjustment () {
|
|
|
- this.adjustmentName = '批量调整'
|
|
|
+ adjustment() {
|
|
|
+ this.adjustmentName = "批量调整";
|
|
|
this.isaddCourse = false;
|
|
|
if (this.adjustmentForm.count <= 0) {
|
|
|
- this.$message.error('请至少勾选一节课')
|
|
|
+ this.$message.error("请至少勾选一节课");
|
|
|
} else {
|
|
|
this.adjustmentVisible = true;
|
|
|
}
|
|
|
},
|
|
|
- submitAdjustment () {
|
|
|
- this.$refs['adjustmentForm'].validate(item => {
|
|
|
+ submitAdjustment() {
|
|
|
+ this.$refs["adjustmentForm"].validate(item => {
|
|
|
if (item) {
|
|
|
let week = this.weekList;
|
|
|
if (!week[0] || !week[0].startClassTime || !week[0].dayOfWeek) {
|
|
|
- this.$message.error('至少排一节课');
|
|
|
- return
|
|
|
+ this.$message.error("至少排一节课");
|
|
|
+ return;
|
|
|
}
|
|
|
// 开始
|
|
|
- let obj = {}
|
|
|
+ let obj = {};
|
|
|
obj.courseCreateStartTime = this.adjustmentForm.courseTime;
|
|
|
- let idArr = this.activeList.map(item => { return item.id });
|
|
|
- let courseScheduleIds = idArr.join(',')
|
|
|
+ let idArr = this.activeList.map(item => {
|
|
|
+ return item.id;
|
|
|
+ });
|
|
|
+ let courseScheduleIds = idArr.join(",");
|
|
|
obj.courseScheduleIds = courseScheduleIds;
|
|
|
obj.courseTimes = this.weekList;
|
|
|
obj.holiday = this.adjustmentForm.checked;
|
|
|
obj.teachMode = this.adjustmentForm.courseType || null;
|
|
|
- console.log(obj)
|
|
|
+ console.log(obj);
|
|
|
obj.vipGroupId = this.vipid;
|
|
|
vipCourseAdjust(obj).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
- this.$message.success('恭喜您修改成功');
|
|
|
+ this.$message.success("恭喜您修改成功");
|
|
|
this.adjustmentVisible = false;
|
|
|
this.getList();
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
- addCourseSubmit () {
|
|
|
- this.$refs['adjustmentForm'].validate(item => {
|
|
|
+ addCourseSubmit() {
|
|
|
+ this.$refs["adjustmentForm"].validate(item => {
|
|
|
if (item) {
|
|
|
let week = this.weekList;
|
|
|
if (!week[0] || !week[0].startClassTime || !week[0].dayOfWeek) {
|
|
|
- this.$message.error('至少排一节课');
|
|
|
- return
|
|
|
+ this.$message.error("至少排一节课");
|
|
|
+ return;
|
|
|
}
|
|
|
// 开始
|
|
|
- let obj = {}
|
|
|
+ let obj = {};
|
|
|
obj.courseCreateStartTime = this.adjustmentForm.courseTime;
|
|
|
- let idArr = this.activeList.map(item => { return item.id });
|
|
|
- let courseScheduleIds = idArr.join(',')
|
|
|
+ let idArr = this.activeList.map(item => {
|
|
|
+ return item.id;
|
|
|
+ });
|
|
|
+ let courseScheduleIds = idArr.join(",");
|
|
|
obj.courseScheduleIds = courseScheduleIds;
|
|
|
obj.courseTimes = this.weekList;
|
|
|
obj.holiday = this.adjustmentForm.checked;
|
|
@@ -715,44 +696,47 @@ export default {
|
|
|
obj.singleClassPrice = this.adjustmentForm.fee;
|
|
|
batchAppendVipGroupCourses(obj).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
- this.$message.success('恭喜您添加成功');
|
|
|
+ this.$message.success("恭喜您添加成功");
|
|
|
this.adjustmentVisible = false;
|
|
|
this.getList();
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
- resetAddrSubmit () {
|
|
|
+ resetAddrSubmit() {
|
|
|
if (!this.addrForm.address) {
|
|
|
- this.$message.error('请选择一个教学点')
|
|
|
- return
|
|
|
+ this.$message.error("请选择一个教学点");
|
|
|
+ return;
|
|
|
}
|
|
|
// 修改教学点
|
|
|
- updateVipBaseInfo({ id: this.vipid, teacherSchoolId: this.addrForm.address }).then(res => {
|
|
|
+ updateVipBaseInfo({
|
|
|
+ id: this.vipid,
|
|
|
+ teacherSchoolId: this.addrForm.address
|
|
|
+ }).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
- this.$message.success('修改成功')
|
|
|
+ this.$message.success("修改成功");
|
|
|
this.addrVisible = false;
|
|
|
this.getList();
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
- adjustmentVisible (val) {
|
|
|
+ adjustmentVisible(val) {
|
|
|
if (!val) {
|
|
|
- this.$refs['adjustmentForm'].resetFields();
|
|
|
+ this.$refs["adjustmentForm"].resetFields();
|
|
|
this.weekList = [];
|
|
|
this.addWeek();
|
|
|
}
|
|
|
},
|
|
|
- addrVisible (val) {
|
|
|
+ addrVisible(val) {
|
|
|
if (!val) {
|
|
|
- this.addrForm.address = '';
|
|
|
+ this.addrForm.address = "";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
.vipwrap {
|