Bläddra i källkod

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/views/course/userCoursePeriod/index.vue
吴树波 1 månad sedan
förälder
incheckning
ed4710274e
2 ändrade filer med 37 tillägg och 1 borttagningar
  1. 9 0
      src/api/course/userCoursePeriod.js
  2. 28 1
      src/views/course/userCoursePeriod/index.vue

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

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

+ 28 - 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"
@@ -253,6 +259,7 @@
         </el-form-item>
         <el-form-item label="开营日期" prop="periodStartingTime">
           <el-date-picker
+            :disabled = "isDisabledDateRange"
             :style="{display: form.periodType == 1 ? '' : 'none !important'}"
             v-model="form.dateRange"
             @change="timeChange(1)"
@@ -547,7 +554,7 @@
 </template>
 
 <script>
-import {addPeriod, delPeriod, exportPeriod, getPeriod, pagePeriod, updatePeriod, getDays, addCourse, updateCourseTime, updateCourseDate, updateListCourseData, periodCourseMove} from "@/api/course/userCoursePeriod";
+import {addPeriod, delPeriod, exportPeriod, getPeriod, pagePeriod, updatePeriod, getDays, addCourse, updateCourseTime, updateCourseDate, 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'
@@ -588,6 +595,7 @@ export default {
       videoList: [],
       // 弹出层标题
       title: "",
+      isDisabledDateRange: false, //是否禁用开营日期
       // 是否显示弹出层
       open: false,
       // 查询参数
@@ -770,6 +778,7 @@ export default {
       this.reset();
       this.open = true;
       this.title = "添加会员营期";
+      this.isDisabledDateRange = false;
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -792,6 +801,7 @@ export default {
         }
         this.open = true;
         this.title = "修改会员营期";
+        this.isDisabledDateRange = true;
       });
     },
     /** 提交按钮 */
@@ -1335,6 +1345,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();