|
@@ -1,14 +1,53 @@
|
|
|
<!-- -->
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-button type="primary" style="margin-bottom: 12px;" @click="onAdjustment">批量调整</el-button>
|
|
|
+ <save-form
|
|
|
+ :inline="true"
|
|
|
+ class="searchForm"
|
|
|
+ save-key="liveClassManager-courseAdjust"
|
|
|
+ @submit="search"
|
|
|
+ @reset="onReSet"
|
|
|
+ :model="searchForm"
|
|
|
+ ref="searchForm"
|
|
|
+ >
|
|
|
+ <el-form-item prop="shareMode">
|
|
|
+ <el-select
|
|
|
+ v-model="searchForm.shareMode"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ placeholder="请选择分享方式"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in shareModeList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button @click="search" type="danger">搜索</el-button>
|
|
|
+ <el-button type="primary" native-type="reset">重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </save-form>
|
|
|
+ <el-button type="primary" style="margin-bottom: 12px" @click="onAdjustment"
|
|
|
+ >批量调整</el-button
|
|
|
+ >
|
|
|
<div class="tableWrap">
|
|
|
- <el-table style="width: 100%" :header-cell-style="{ background: '#EDEEF0', color: '#444' }" :data="tableList"
|
|
|
- @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" :selectable="isDisabled" width="55"></el-table-column>
|
|
|
+ <el-table
|
|
|
+ style="width: 100%"
|
|
|
+ :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
+ :data="tableList"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ type="selection"
|
|
|
+ :selectable="isDisabled"
|
|
|
+ width="55"
|
|
|
+ ></el-table-column>
|
|
|
<el-table-column align="center" label="课程编号">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>{{ scope.row.id || '' }}</div>
|
|
|
+ <div>{{ scope.row.id || "" }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="课程名称">
|
|
@@ -24,20 +63,66 @@
|
|
|
<el-table-column align="center" prop="classDate" label="上课日期">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.classDate | dayjsFormat }}
|
|
|
- {{ scope.row.startClassTime | dayjsFormat('HH:mm') }}~{{ scope.row.endClassTime | dayjsFormat('HH:mm') }}
|
|
|
+ {{ scope.row.startClassTime | dayjsFormat("HH:mm") }}~{{
|
|
|
+ scope.row.endClassTime | dayjsFormat("HH:mm")
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" label="分享状态">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>{{ scope.row.shareMode | shareLiveTypeFilter }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column align="center" prop="startClassTime" label="开始时间"></el-table-column>
|
|
|
<el-table-column align="center" prop="endClassTime" label="结束时间"></el-table-column> -->
|
|
|
- <el-table-column label="操作" width="180" align="center">
|
|
|
+ <el-table-column label="操作" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- <el-button type="text" v-if="scope.row.id &&
|
|
|
- !scope.row.isSettlement &&
|
|
|
- $helpers.permission(
|
|
|
- 'courseSchedule/classStartDateAdjust/liveReset'
|
|
|
- )
|
|
|
- " @click="resetClass(scope.row)">调整</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ v-if="
|
|
|
+ scope.row.id &&
|
|
|
+ !scope.row.isSettlement &&
|
|
|
+ $helpers.permission('courseSchedule/classStartDateAdjust/liveReset')
|
|
|
+ "
|
|
|
+ @click="resetClass(scope.row)"
|
|
|
+ >调整</el-button
|
|
|
+ >
|
|
|
+
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ @click="startShare(scope.row)"
|
|
|
+ v-if="
|
|
|
+ scope.row.id &&
|
|
|
+ $helpers.permission('courseSchedule/updateCourseScheduleShareMode')
|
|
|
+ "
|
|
|
+ :disabled="scope.row.status == 'OVER'"
|
|
|
+ >分享</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ v-if="
|
|
|
+ scope.row.id &&
|
|
|
+ $helpers.permission('courseSchedule/classStartDateAdjust/liveReset')
|
|
|
+ "
|
|
|
+ :disabled="
|
|
|
+ scope.row.status == 'OVER' || scope.row.shareMode == 'NO_SHARE'
|
|
|
+ "
|
|
|
+ @click="lookCode(scope.row)"
|
|
|
+ >二维码</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ v-if="
|
|
|
+ scope.row.id &&
|
|
|
+ $helpers.permission('courseShare/queryCourseSharedStudent')
|
|
|
+ "
|
|
|
+ :disabled="
|
|
|
+ scope.row.status == 'OVER' || scope.row.shareMode !== 'PRIVATE'
|
|
|
+ "
|
|
|
+ @click="gotoShareList(scope.row)"
|
|
|
+ >分享列表</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -45,8 +130,14 @@
|
|
|
</div>
|
|
|
|
|
|
<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
|
|
|
+ :model="adjustmentForm"
|
|
|
+ label-position="right"
|
|
|
+ label-width="120px"
|
|
|
+ ref="adjustmentForm"
|
|
|
+ :rules="adjustmentRules"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
<el-form-item label="已选择课时数">
|
|
|
<el-input disabled v-model.trim="adjustmentForm.count"></el-input>
|
|
|
</el-form-item>
|
|
@@ -64,36 +155,78 @@
|
|
|
</el-form-item> -->
|
|
|
<br />
|
|
|
<el-form-item label="排课起始时间" prop="courseTime">
|
|
|
- <el-date-picker v-model.trim="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.trim="adjustmentForm.checked">是否跳过节假日</el-checkbox>
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="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.trim="adjustmentForm.checked"
|
|
|
+ >是否跳过节假日</el-checkbox
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="WeekWrap">
|
|
|
- <h3 style="margin-bottom:20px;">
|
|
|
+ <h3 style="margin-bottom: 20px">
|
|
|
循环次数
|
|
|
- <el-button type="text" style="margin-left:10px;" @click="addWeek">添加</el-button>
|
|
|
+ <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">
|
|
|
+ <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.trim="item.dayOfWeek" filterable clearable>
|
|
|
- <el-option v-for="(item, index) in weekDateList" :key="index" :label="item.label"
|
|
|
- :value="item.value"></el-option>
|
|
|
+ <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-picker style="margin-left:10px;" placeholder v-model.trim="item.startClassTime" @change="val => {
|
|
|
- changeStartTimes(val, item);
|
|
|
- }" format="HH:mm" value-format="HH:mm" :picker-options="{
|
|
|
- selectableRange: '06:00:00 - 21:00:00'
|
|
|
-}"></el-time-picker>
|
|
|
- <span style="margin-left:10px;">结束时间</span>
|
|
|
- <el-time-picker style="margin-left:10px;" placeholder v-model.trim="item.endClassTime" format="HH:mm"
|
|
|
- value-format="HH:mm" disabled :picker-options="{
|
|
|
- selectableRange: '06:00:00 - 21:00:00'
|
|
|
- }"></el-time-picker>
|
|
|
- <el-button style="margin-left:10px;" type="danger" :disabled="index < 1" @click="removeWeek(item)"
|
|
|
- icon="el-icon-delete" circle></el-button>
|
|
|
+ <span style="margin-left: 10px">开始时间</span>
|
|
|
+ <el-time-picker
|
|
|
+ style="margin-left: 10px"
|
|
|
+ placeholder
|
|
|
+ v-model.trim="item.startClassTime"
|
|
|
+ @change="
|
|
|
+ (val) => {
|
|
|
+ changeStartTimes(val, item);
|
|
|
+ }
|
|
|
+ "
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: '06:00:00 - 21:00:00',
|
|
|
+ }"
|
|
|
+ ></el-time-picker>
|
|
|
+ <span style="margin-left: 10px">结束时间</span>
|
|
|
+ <el-time-picker
|
|
|
+ style="margin-left: 10px"
|
|
|
+ placeholder
|
|
|
+ v-model.trim="item.endClassTime"
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ disabled
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: '06:00:00 - 21:00:00',
|
|
|
+ }"
|
|
|
+ ></el-time-picker>
|
|
|
+ <el-button
|
|
|
+ style="margin-left: 10px"
|
|
|
+ type="danger"
|
|
|
+ :disabled="index < 1"
|
|
|
+ @click="removeWeek(item)"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ circle
|
|
|
+ ></el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -103,21 +236,50 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog title="课程调整" width="400px" :before-close="handleClose" :visible.sync="courseVisible">
|
|
|
- <el-form :model="maskForm" class="maskForm" ref="maskForm" :rules="maskRules" label-position="right"
|
|
|
- label-width="80px" :inline="true">
|
|
|
+ <el-dialog
|
|
|
+ title="课程调整"
|
|
|
+ width="400px"
|
|
|
+ :before-close="handleClose"
|
|
|
+ :visible.sync="courseVisible"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ :model="maskForm"
|
|
|
+ class="maskForm"
|
|
|
+ ref="maskForm"
|
|
|
+ :rules="maskRules"
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
<el-form-item label="上课日期" prop="date">
|
|
|
- <el-date-picker v-model.trim="maskForm.date" type="date" :picker-options="coursesDate()"
|
|
|
- value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="maskForm.date"
|
|
|
+ type="date"
|
|
|
+ :picker-options="coursesDate()"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期"
|
|
|
+ ></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="开始时间" prop="startTime">
|
|
|
- <el-time-picker placeholder="起始时间" v-model.trim="startTime" @change="changeStartTime" format="HH:mm"
|
|
|
- value-format="HH:mm" :picker-options="{
|
|
|
- selectableRange: `${nowTime} - 23:30:00`
|
|
|
- }"></el-time-picker>
|
|
|
+ <el-time-picker
|
|
|
+ placeholder="起始时间"
|
|
|
+ v-model.trim="startTime"
|
|
|
+ @change="changeStartTime"
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: `${nowTime} - 23:30:00`,
|
|
|
+ }"
|
|
|
+ ></el-time-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="结束时间" prop="endTime">
|
|
|
- <el-time-picker placeholder="结束时间" format="HH:mm" value-format="HH:mm" v-model="maskForm.endTime" disabled>
|
|
|
+ <el-time-picker
|
|
|
+ placeholder="结束时间"
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ v-model="maskForm.endTime"
|
|
|
+ disabled
|
|
|
+ >
|
|
|
</el-time-picker>
|
|
|
</el-form-item>
|
|
|
<!--v-if="maskForm.teachMode=='OFFLINE'"-->
|
|
@@ -138,19 +300,56 @@
|
|
|
<el-button type="primary" @click="submitResetClass">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <el-dialog title="分享模式" width="400px" :visible.sync="shareModeVisible">
|
|
|
+ <el-form
|
|
|
+ :model="shareModeForm"
|
|
|
+ class="maskForm"
|
|
|
+ ref="shareModeForm"
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
+ <el-form-item label="分享模式" prop="shareMode">
|
|
|
+ <el-radio-group v-model="shareModeForm.shareMode">
|
|
|
+ <el-radio label="OPEN">公开</el-radio>
|
|
|
+ <el-radio label="PRIVATE">私密</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="shareModeVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="createShareCode">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <qr-code v-model="codeStatus" title="二维码" :codeUrl="qrCodeUrl">
|
|
|
+ <div class="codeType">
|
|
|
+ {{ actvieRow.shareMode == "OPEN" ? "公开二维码" : "私密二维码" }}
|
|
|
+ </div>
|
|
|
+ </qr-code>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { resetCourse } from "@/api/buildTeam";
|
|
|
import { vipCourseAdjust } from "@/api/vipSeting";
|
|
|
-import { liveCourseList } from '../../api'
|
|
|
+import { liveCourseList, createLiveGroupShare } from "../../api";
|
|
|
import { diffTimerFormMinute, addTimerFormMinute } from "@/utils/date";
|
|
|
-import dayjs from 'dayjs';
|
|
|
+import { shareLiveTypeList } from "@/utils/searchArray";
|
|
|
+import { vaildStudentUrl } from "@/utils/validate";
|
|
|
+import dayjs from "dayjs";
|
|
|
+import qrCode from "@/components/QrCode/index";
|
|
|
export default {
|
|
|
+ components: {
|
|
|
+ qrCode,
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
- id: this.$route.query.id,
|
|
|
+ shareModeList: shareLiveTypeList,
|
|
|
+ searchForm: {
|
|
|
+ id: this.$route.query.id,
|
|
|
+ shareMode: "",
|
|
|
+ },
|
|
|
adjustmentName: "",
|
|
|
tableList: [],
|
|
|
rules: {
|
|
@@ -158,7 +357,7 @@ export default {
|
|
|
limit: 10, // 限制显示条数
|
|
|
page: 1, // 当前页
|
|
|
total: 0, // 总条数
|
|
|
- page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
|
+ page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
},
|
|
|
chioseVipList: [],
|
|
|
activeList: [],
|
|
@@ -170,14 +369,14 @@ export default {
|
|
|
addCount: "",
|
|
|
courseType: "ONLINE",
|
|
|
fee: "",
|
|
|
- address: ""
|
|
|
+ address: "",
|
|
|
},
|
|
|
adjustmentRules: {
|
|
|
courseTime: [{ required: true, message: "请选择开始时间" }],
|
|
|
addCount: [{ required: true, message: "请输入加课次数" }],
|
|
|
courseType: [{ required: true, message: "请选择课程类型" }],
|
|
|
fee: [{ required: true, message: "请输入费用" }],
|
|
|
- address: [{ required: true, message: "请选择教学地点" }]
|
|
|
+ address: [{ required: true, message: "请选择教学地点" }],
|
|
|
},
|
|
|
weekDateList: [
|
|
|
{ value: "1", label: "星期一" },
|
|
@@ -186,15 +385,15 @@ export default {
|
|
|
{ value: "4", label: "星期四" },
|
|
|
{ value: "5", label: "星期五" },
|
|
|
{ value: "6", label: "星期六" },
|
|
|
- { value: "7", label: "星期日" }
|
|
|
+ { value: "7", label: "星期日" },
|
|
|
],
|
|
|
weekList: [
|
|
|
{
|
|
|
dayOfWeek: "",
|
|
|
startTime: "",
|
|
|
endTime: "",
|
|
|
- moid: new Date().getTime()
|
|
|
- }
|
|
|
+ moid: new Date().getTime(),
|
|
|
+ },
|
|
|
],
|
|
|
courseVisible: false,
|
|
|
maskForm: {
|
|
@@ -203,31 +402,58 @@ export default {
|
|
|
endTime: "",
|
|
|
id: "",
|
|
|
address: "",
|
|
|
- teachMode: ""
|
|
|
+ teachMode: "",
|
|
|
},
|
|
|
maskRules: {
|
|
|
- date: [{ required: true, message: "请选择上课时间", trigger: "blur" }]
|
|
|
+ date: [{ required: true, message: "请选择上课时间", trigger: "blur" }],
|
|
|
},
|
|
|
startTime: "",
|
|
|
+ shareModeForm: {
|
|
|
+ shareMode: "",
|
|
|
+ courseId: "",
|
|
|
+ },
|
|
|
+ shareModeVisible: false,
|
|
|
+ codeStatus: false,
|
|
|
+ qrCodeUrl: "",
|
|
|
+ actvieRow: { shareMode: "" },
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ lookCode(row) {
|
|
|
+ this.actvieRow = row;
|
|
|
+ this.qrCodeUrl =
|
|
|
+ vaildStudentUrl() + `/mlive/?courseId=${row.id}&isLogin=true#/login`;
|
|
|
+ this.codeStatus = true;
|
|
|
+ },
|
|
|
+ gotoShareList(row) {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/liveShareStudentList",
|
|
|
+ query: { ...this.$route.query, courseId: row.id },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ search() {
|
|
|
+ this.rules.page = 1;
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ onReSet() {
|
|
|
+ this.$refs.searchForm.resetFields();
|
|
|
+ (this.searchForm.id = this.$route.query.id), this.search();
|
|
|
+ },
|
|
|
async getList() {
|
|
|
try {
|
|
|
const { data } = await liveCourseList({
|
|
|
- liveGroupId: this.id,
|
|
|
+ liveGroupId: this.searchForm.id,
|
|
|
rows: this.rules.limit,
|
|
|
page: this.rules.page,
|
|
|
- })
|
|
|
+ ...this.searchForm,
|
|
|
+ });
|
|
|
this.tableList = data.list;
|
|
|
// this.rules.total = data.pageInfo.total;
|
|
|
this.courseTime = data.singleClassMinutes;
|
|
|
-
|
|
|
- } catch {
|
|
|
- }
|
|
|
+ } catch {}
|
|
|
},
|
|
|
isDisabled(row, index) {
|
|
|
if (row.isSettlement || !row.id) {
|
|
@@ -242,7 +468,7 @@ export default {
|
|
|
dayOfWeek: "",
|
|
|
startClassTime: "",
|
|
|
endClassTime: "",
|
|
|
- id: new Date()
|
|
|
+ id: new Date(),
|
|
|
});
|
|
|
},
|
|
|
// 删除循环周
|
|
@@ -270,9 +496,9 @@ export default {
|
|
|
let self = this;
|
|
|
return {
|
|
|
firstDayOfWeek: 1,
|
|
|
- disabledDate: time => {
|
|
|
+ disabledDate: (time) => {
|
|
|
return time.getTime() + 86400000 <= new Date().getTime();
|
|
|
- }
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
pickerOptions(dateStr) {
|
|
@@ -280,7 +506,7 @@ export default {
|
|
|
firstDayOfWeek: 1,
|
|
|
disabledDate(time) {
|
|
|
return time.getTime() + 86400000 <= new Date().getTime();
|
|
|
- }
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
resetClass(row) {
|
|
@@ -306,7 +532,7 @@ export default {
|
|
|
endTime: "",
|
|
|
id: "",
|
|
|
address: "",
|
|
|
- teachMode: ""
|
|
|
+ teachMode: "",
|
|
|
};
|
|
|
this.$refs["maskForm"].resetFields();
|
|
|
},
|
|
@@ -316,9 +542,7 @@ export default {
|
|
|
this.$message.error("请填写修改时间");
|
|
|
return;
|
|
|
}
|
|
|
- let classTime = this.maskForm.date
|
|
|
- ? new Date(this.maskForm.date)
|
|
|
- : new Date();
|
|
|
+ let classTime = this.maskForm.date ? new Date(this.maskForm.date) : new Date();
|
|
|
let ymd =
|
|
|
classTime.getFullYear() +
|
|
|
"-" +
|
|
@@ -336,9 +560,9 @@ export default {
|
|
|
classDate: this.maskForm.date,
|
|
|
schoolId: this.maskForm.address || null,
|
|
|
teachMode: this.maskForm.teachMode || null,
|
|
|
- groupType: "LIVE"
|
|
|
+ groupType: "LIVE",
|
|
|
};
|
|
|
- resetCourse(obj).then(res => {
|
|
|
+ resetCourse(obj).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.$message.success("修改成功");
|
|
|
this.courseVisible = false;
|
|
@@ -349,7 +573,7 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
submitAdjustment() {
|
|
|
- this.$refs["adjustmentForm"].validate(item => {
|
|
|
+ this.$refs["adjustmentForm"].validate((item) => {
|
|
|
if (item) {
|
|
|
let week = this.weekList;
|
|
|
if (!week[0] || !week[0].startClassTime || !week[0].dayOfWeek) {
|
|
@@ -359,7 +583,7 @@ export default {
|
|
|
// 开始
|
|
|
let obj = {};
|
|
|
obj.courseCreateStartTime = this.adjustmentForm.courseTime;
|
|
|
- let idArr = this.activeList.map(item => {
|
|
|
+ let idArr = this.activeList.map((item) => {
|
|
|
return item.id;
|
|
|
});
|
|
|
|
|
@@ -369,9 +593,9 @@ export default {
|
|
|
obj.holiday = this.adjustmentForm.checked;
|
|
|
obj.teachMode = this.adjustmentForm.courseType || null;
|
|
|
obj.groupType = "LIVE";
|
|
|
- obj.vipGroupId = this.id;
|
|
|
+ obj.vipGroupId = this.searchForm.id;
|
|
|
obj.schoolId = this.adjustmentForm.address || null;
|
|
|
- vipCourseAdjust(obj).then(res => {
|
|
|
+ vipCourseAdjust(obj).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
this.$message.success("恭喜您修改成功");
|
|
|
this.adjustmentVisible = false;
|
|
@@ -382,7 +606,7 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
changeStartTime(val) {
|
|
|
- this.$nextTick(res => {
|
|
|
+ this.$nextTick((res) => {
|
|
|
if (val) {
|
|
|
this.$set(
|
|
|
this.maskForm,
|
|
@@ -398,14 +622,10 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
changeStartTimes(val, item) {
|
|
|
- this.$nextTick(res => {
|
|
|
+ this.$nextTick((res) => {
|
|
|
if (val) {
|
|
|
let str = dayjs(new Date()).format("YYYY-MM-DD");
|
|
|
- this.$set(
|
|
|
- item,
|
|
|
- "endClassTime",
|
|
|
- addTimerFormMinute(str, val, this.courseTime)
|
|
|
- );
|
|
|
+ this.$set(item, "endClassTime", addTimerFormMinute(str, val, this.courseTime));
|
|
|
} else {
|
|
|
this.$set(item, "endClassTime", "");
|
|
|
}
|
|
@@ -415,6 +635,22 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ startShare(row) {
|
|
|
+ this.shareModeForm.courseId = row.id;
|
|
|
+ this.shareModeForm.shareMode = row.shareMode || "";
|
|
|
+ this.shareModeVisible = true;
|
|
|
+ },
|
|
|
+ async createShareCode() {
|
|
|
+ try {
|
|
|
+ const res = await createLiveGroupShare({
|
|
|
+ ...this.shareModeForm,
|
|
|
+ shareMode: this.shareModeForm.shareMode,
|
|
|
+ });
|
|
|
+ this.shareModeVisible = false;
|
|
|
+ this.$message.success("创建成功");
|
|
|
+ this.getList();
|
|
|
+ } catch (e) {}
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
nowTime() {
|
|
@@ -425,7 +661,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
return str;
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
filters: {
|
|
|
formatterTime(val) {
|
|
@@ -438,21 +674,19 @@ export default {
|
|
|
return result;
|
|
|
},
|
|
|
formatterStatus(val) {
|
|
|
- let arr = [
|
|
|
- "未开始",
|
|
|
- "报名中",
|
|
|
- "进行中",
|
|
|
- "取消",
|
|
|
- "已结束",
|
|
|
- "报名结束",
|
|
|
- "暂停"
|
|
|
- ];
|
|
|
+ let arr = ["未开始", "报名中", "进行中", "取消", "已结束", "报名结束", "暂停"];
|
|
|
return arr[val];
|
|
|
- }
|
|
|
- }
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
+.codeType {
|
|
|
+ text-align: center;
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 16px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+}
|
|
|
::v-deep .el-dropdown-link {
|
|
|
cursor: pointer;
|
|
|
color: var(--color-primary);
|
|
@@ -473,7 +707,6 @@ export default {
|
|
|
}
|
|
|
|
|
|
.resetClassForm {
|
|
|
-
|
|
|
::v-deep .el-date-editor.el-input,
|
|
|
::v-deep .el-date-editor.el-input__inner {
|
|
|
width: 180px !important;
|
|
@@ -481,7 +714,6 @@ export default {
|
|
|
}
|
|
|
|
|
|
.countWrap {
|
|
|
-
|
|
|
::v-deep .el-date-editor.el-input,
|
|
|
::v-deep .el-date-editor.el-input__inner {
|
|
|
width: 100px !important;
|