Browse Source

营期导出 ipad下架视频拦截

xgb 2 days ago
parent
commit
1387642c5e

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

@@ -148,6 +148,13 @@ export function periodCountSelect(data) {
   })
 }
 
+export function exportInfo(query) {
+  return request({
+    url: '/course/period/exportInfo',
+    method: 'post',
+    data: query
+  })
+}
 // 获取营期选项列表
 export function getPeriodListLikeName(query) {
   return request({

+ 16 - 0
src/views/components/course/userCourseCatalogDetails.vue

@@ -83,6 +83,12 @@
       <el-table-column label="红包金额" align="center" prop="redPacketMoney"/>
       <el-table-column label="排序" align="center" prop="courseSort"/>
       <el-table-column label="上传时间" align="center" prop="createTime"/>
+      <el-table-column label="是否上架" align="center" prop="isOnPut">
+        <template slot-scope="{ row }">
+          <el-tag v-if="row.isOnPut == 0">是</el-tag>
+          <el-tag type="danger" v-if="row.isOnPut == 1">否</el-tag>
+        </template>
+      </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@@ -257,6 +263,12 @@
             <el-radio :label="0">否</el-radio>
           </el-radio-group>
         </el-form-item>
+        <el-form-item label="是否上架" prop="isOnPut">
+          <el-radio-group v-model="form.isOnPut">
+            <el-radio :label="0">上架</el-radio>
+            <el-radio :label="1">下架</el-radio>
+          </el-radio-group>
+        </el-form-item>
         <el-form-item label="商品选择" v-if="form.isProduct === 1">
           <el-button size="small" type="primary" @click="chooseCourseProduct">选取商品</el-button>
           <el-table border width="100%" style="margin-top:5px;" :data="form.courseProducts">
@@ -554,6 +566,7 @@ export default {
       openVideoSort: false,
       // 表单参数
       form: {
+        isOnPut: 0,
         courseProducts: [],
         randomRedPacketRules:null,
         randomRedPacketRulesArr:[
@@ -833,6 +846,7 @@ export default {
         isProduct: 0,
         isFirst: 0,
         isSpeed: 0,
+        isOnPut: 0,
         listingStartTime: null,
         listingEndTime: null,
         randomRedPacketRules:null,
@@ -895,11 +909,13 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
+      this.form.isOnPut=row.isOnPut
       this.packageList = [];
       const videoId = row.videoId || this.ids
       getUserCourseVideo(videoId).then(response => {
         console.log(response);
         this.form = response.data;
+        this.$set(this.form, 'isOnPut', response.data.isOnPut !== undefined ? response.data.isOnPut : 0);
         if(!!this.form.randomRedPacketRules){
            this.$set(this.form, 'randomRedPacketRulesArr', JSON.parse(this.form.randomRedPacketRules)) ;
           // this.form.randomRedPacketRulesArr = JSON.parse(this.form.randomRedPacketRules);

+ 18 - 1
src/views/course/userCoursePeriod/statistics.vue

@@ -48,6 +48,7 @@
         </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="handleQuery">查询</el-button>
+          <el-button type="info" :loading="exportLoading" @click="exportHandle">导出</el-button>
         </el-form-item>
       </el-form>
 
@@ -140,7 +141,7 @@
 </template>
 
 <script>
-import {getDays, periodCountSelect, getPeriodCompanyList} from "@/api/course/userCoursePeriod";
+import {getDays, periodCountSelect, getPeriodCompanyList,exportInfo} from "@/api/course/userCoursePeriod";
 
 export default {
   name: "CourseStatistics",
@@ -156,6 +157,7 @@ export default {
   },
   data() {
     return {
+      exportLoading: false,
       // 遮罩层
       loading: false,
       courseLoading: false,
@@ -300,6 +302,21 @@ export default {
       this.getCountList();
     },
 
+    /** 导出 */
+    exportHandle(){
+      this.$confirm('是否确认导出所有课程统计信息数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.exportLoading = true;
+        return exportInfo(this.queryParams);
+      }).then(response => {
+        this.download(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {});
+    },
+
     /** 获取列表数据 */
     getCountList() {
       this.loading = true;