Browse Source

课程管理-会员训练营 结束营期

Long 1 month ago
parent
commit
a6bff9a8d5
2 changed files with 45 additions and 1 deletions
  1. 9 0
      src/api/course/userCoursePeriod.js
  2. 36 1
      src/views/course/userCoursePeriod/index.vue

+ 9 - 0
src/api/course/userCoursePeriod.js

@@ -148,3 +148,12 @@ export function periodCourseMove(data) {
     params: data
   })
 }
+
+// 结束营期
+export function closePeriod(query) {
+  return request({
+    url: '/course/period/closePeriod',
+    method: 'post',
+    params: query
+  })
+}

+ 36 - 1
src/views/course/userCoursePeriod/index.vue

@@ -196,6 +196,12 @@
                 icon="el-icon-setting"
                 @click="handlePeriodSettings(scope.row)"
               >营期相关设置</el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-circle-close"
+                @click="handleClosePeriod(scope.row)"
+              >结束营期</el-button>
               <el-button
                 size="mini"
                 type="text"
@@ -453,7 +459,19 @@
 </template>
 
 <script>
-import {addPeriod, delPeriod, exportPeriod, getPeriod, pagePeriod, updatePeriod, getDays, addCourse, updateListCourseData, periodCourseMove} from "@/api/course/userCoursePeriod";
+import {
+  addPeriod,
+  delPeriod,
+  exportPeriod,
+  getPeriod,
+  pagePeriod,
+  updatePeriod,
+  getDays,
+  addCourse,
+  updateListCourseData,
+  periodCourseMove,
+  closePeriod
+} from "@/api/course/userCoursePeriod";
 import {getCompanyList} from "@/api/company/company";
 import { listCamp, addCamp, editCamp, delCamp, copyCamp } from "@/api/course/userCourseCamp";
 import { courseList,videoList } from '@/api/course/courseRedPacketLog'
@@ -1183,6 +1201,23 @@ export default {
       // 根据当前激活的tab加载对应数据
       this.handleTabClick({ name: this.activeTab });
     },
+    // 结束营期
+    handleClosePeriod(row) {
+      const msg = `注: 1.确认结束营期,该营期的开营结束时间改为当天24点。2.当天正在播放中的课程不变。3.第二天如有未开始的课程,统一改为已结束。是否确认结束 ${row.periodName} 营期吗?`
+      this.$confirm(msg, "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        closePeriod({id: row.periodId}).then(response => {
+          if (response.code === 200) {
+            this.getList()
+          } else {
+            this.$message.error(response.msg)
+          }
+        })
+      }).catch(() => {})
+    },
     handleBatchRedPacketSuccess() {
       this.batchRedPacketVisible = false;
       this.getCourseList();