2912 lines
97 KiB
Vue
2912 lines
97 KiB
Vue
<template>
|
||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||
<el-tab-pane label="短剧列表" name="first">
|
||
<div style="display: inline-block;" v-if="showFl"> <!-- -->
|
||
<span>类别:</span>
|
||
<el-select v-model="fenleiIdT" style="width:150px;margin-left: 10px;" @change="select()">
|
||
<el-option v-for="item in statesnum1" :key="item.classificationId"
|
||
:label="item.classificationName" :value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
</div>
|
||
<!-- <div style="display: inline-block;">
|
||
<span>类别:</span>
|
||
<el-select v-model="fenleiIdT" style="width:150px;margin-left: 10px;" @change="animeDat(fenleiIdT)">
|
||
<el-option v-for="item in statesnum" :key="item.classificationId" :label="item.classificationName"
|
||
:value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
</div> -->
|
||
<!-- <div style="position: relative;display: inline-block;margin: 5px;">
|
||
<span>是否推荐:</span>
|
||
<el-select v-model="isRecommends" style="width:150px;margin-left: 10px;"
|
||
@change="animeDat2(isRecommends)">
|
||
<el-option v-for="item in isRecommendNum" :key="item.classificationId"
|
||
:label="item.classificationName" :value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
|
||
</div> -->
|
||
<!-- <div style="position: relative;display: inline-block;margin: 5px;">
|
||
<span>上下架:</span>
|
||
<el-select v-model="statuss" style="width:150px;margin-left: 10px;" @change="animeDat3(statuss)">
|
||
<el-option v-for="item in statusNum" :key="item.classificationId" :label="item.classificationName"
|
||
:value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
</div> -->
|
||
<div style="position: relative;display: inline-block;margin: 5px;">
|
||
<span>标题:</span>
|
||
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入标题" v-model="contentT">
|
||
</el-input>
|
||
</div>
|
||
<div style="position: relative;display: inline-block;margin: 5px;">
|
||
<span>是否收费:</span>
|
||
<el-select v-model="isPriceT" style="width:150px;margin-left: 10px;" @change="animeDat2()">
|
||
<el-option v-for="item in isPriceName" :key="item.classificationId" :label="item.classificationName"
|
||
:value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
|
||
</div>
|
||
<div style="position: relative;display: inline-block;margin: 5px;">
|
||
<span>是否完结:</span>
|
||
<el-select v-model="overT" style="width:150px;margin-left: 10px;" @change="animeDat2()">
|
||
<el-option v-for="item in isPriceName" :key="item.classificationId" :label="item.classificationName"
|
||
:value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
|
||
</div>
|
||
<div style="position: relative;display: inline-block;margin: 5px;">
|
||
<span>微信是否显示:</span>
|
||
<el-select v-model="wxShowT" style="width:150px;margin-left: 10px;" @change="animeDat3()">
|
||
<el-option v-for="item in isPriceName" :key="item.classificationId" :label="item.classificationName"
|
||
:value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
</div>
|
||
<div style="position: relative;display: inline-block;margin: 5px;">
|
||
<span>抖音是否显示:</span>
|
||
<el-select v-model="dyShowT" style="width:150px;margin-left: 10px;" @change="animeDat3()">
|
||
<el-option v-for="item in isPriceName" :key="item.classificationId" :label="item.classificationName"
|
||
:value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
</div>
|
||
<div style="position: relative;display: inline-block;margin: 5px;">
|
||
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="select">查询
|
||
</el-button>
|
||
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="cleans">重置
|
||
</el-button>
|
||
<!-- <el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="tianjia"
|
||
:disabled="!isAuth('mission:add')">添加
|
||
</el-button>
|
||
<el-button style='margin:0 0 20px 20px;' size="mini" type="primary" icon="document"
|
||
@click="shangxiajiaClcik()" :disabled="checkBoxData.length <= 0 || !isAuth('mission:update')">
|
||
批量上下架
|
||
</el-button>
|
||
<el-button style='margin:0 0 20px 20px;' size="mini" type="warning" icon="document"
|
||
@click="deleteClcik()" :disabled="checkBoxData.length <= 0 || !isAuth('mission:update')">
|
||
批量删除
|
||
</el-button>
|
||
<el-button style="margin-left:15px;" size="mini" plain type="primary" icon="document" @click="tongbu"
|
||
v-if="show">同步短剧
|
||
</el-button> -->
|
||
</div>
|
||
<el-table v-loading="tableDataLoading" :data="tableData.list" @selection-change="changeFun" height="600px">
|
||
<el-table-column type="selection">
|
||
</el-table-column>
|
||
<el-table-column prop="courseId" label="编号" fixed="left"></el-table-column>
|
||
|
||
<el-table-column prop="classificationName" label="类别" v-if="showFl">
|
||
</el-table-column>
|
||
<el-table-column prop="title" label="标题" width="180" fixed="left"></el-table-column>
|
||
<el-table-column prop="details" label="短剧介绍" width="120">
|
||
<template slot-scope="scope">
|
||
<!-- <div
|
||
style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden; height: 70px;">
|
||
{{scope.row.details}}
|
||
</div> -->
|
||
<el-button size="mini" type="primary" plain @click="chakan(scope.row,1)">查看
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="titleImg" label="封面图" width="150">
|
||
<template slot-scope="scope">
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img style="width: 50px; height: 50px" :src="scope.row.titleImg" alt="" slot="reference">
|
||
<img style="width: 200px; height: 200px" :src="scope.row.titleImg" alt="">
|
||
</el-popover>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="bannerImg" label="轮播图" width="150">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.bannerImg == null || scope.row.bannerImg == ''">
|
||
暂无图片
|
||
</div>
|
||
<div v-else-if="scope.row.bannerImg" style="display:flex;flex-wrap: wrap;">
|
||
<div v-for="item in scope.row.bannerImg.split(',')" style="margin: 2px;">
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img style="width: 50px; height: 50px" :src="item" alt="" slot="reference">
|
||
<img style="width: 200px; height: 200px" :src="item" alt="">
|
||
</el-popover>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="img" label="详情图" width="150">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.img == null || scope.row.img == ''">
|
||
暂无图片
|
||
</div>
|
||
<div v-else-if="scope.row.img" style="display:flex;flex-wrap: wrap;">
|
||
<div v-for="item in scope.row.img.split(',')" style="margin: 2px;">
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img style="width: 50px; height: 50px" :src="item" alt="" slot="reference">
|
||
<img style="width: 200px; height: 200px" :src="item" alt="">
|
||
</el-popover>
|
||
</div>
|
||
</div>
|
||
<div v-else>
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img style="width: 50px; height: 50px" :src="scope.row.studentImg" alt=""
|
||
slot="reference">
|
||
<img style="width: 200px; height: 200px" :src="scope.row.studentImg" alt="">
|
||
</el-popover>
|
||
</div>
|
||
</template>
|
||
</el-table-column> -->
|
||
<el-table-column prop="isPrice" label="是否收费" width="100">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.isPrice == 1 ">是</span>
|
||
<span v-else>免费</span>
|
||
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column prop="isRecommend" label="是否推荐" width="160">
|
||
<template slot-scope="scope">
|
||
<el-switch v-model="scope.row.isRecommend" @change="change(scope.row)" :active-value="openValue"
|
||
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
|
||
</el-switch>
|
||
</template>
|
||
</el-table-column> -->
|
||
<el-table-column prop="courseLabel" label="短剧标签" width="160"></el-table-column>
|
||
<el-table-column prop="price" label="购买剧价格" width="60"></el-table-column>
|
||
<el-table-column prop="payNum" label="购买次数" width="60"></el-table-column>
|
||
|
||
<el-table-column prop="viewCounts" label="播放量" width="60"></el-table-column>
|
||
<el-table-column prop="sort" label="排序"></el-table-column>
|
||
<el-table-column prop="dyShow" label="微信是否显示" align="center">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.wxShow == 1 ">是</div>
|
||
<div v-else>否</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="isPrice" label="抖音是否显示" align="center">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.dyShow == 1 ">是</div>
|
||
<div v-else>否</div>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="isRecommend" label="上下架" width="100">
|
||
<template slot-scope="scope">
|
||
<!-- <el-switch v-model="scope.row.status" @change="change1(scope.row.status,scope.row.courseId)"
|
||
:active-value="openValue1" :inactive-value="closeValue1" active-color="#13ce66"
|
||
inactive-color="#ff4949">
|
||
</el-switch> -->
|
||
<span v-if="scope.row.status == 1 ">是</span>
|
||
<span v-else>否</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="over" label="是否完结" align="center">
|
||
<template slot-scope="scope">
|
||
<!-- <el-switch v-model="scope.row.over" @change="changeW(scope.row)" :active-value="openValue"
|
||
:inactive-value="closeValue" active-color="#13ce66" inactive-color="#ff4949">
|
||
</el-switch> -->
|
||
<span v-if="scope.row.isPrice == 1 ">是</span>
|
||
<span v-else>否</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column fixed="right" prop="isDelete" label="状态" width="100">
|
||
<template slot-scope="scope">
|
||
<span style="color: #4f9dec;" v-if="scope.row.isDelete === 0 ">使用中</span>
|
||
<span v-if="scope.row.isDelete === 1 ">已删除</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="updateTime" label="更新时间" width="160"></el-table-column>
|
||
<el-table-column fixed="right" label="操作" width="200" align="center">
|
||
<template slot-scope="scope">
|
||
<el-button class="btns" size="mini" type="primary" @click="refund1(scope.row)">视频资源
|
||
</el-button>
|
||
|
||
<!-- <el-button class="btns" size="mini" type="primary" :disabled="!isAuth('mission:update')"
|
||
@click="xiugai(scope.row)">修改</el-button> -->
|
||
<el-button class="btns" size="mini" type="warning" @click="shouru(scope.row)">收入统计
|
||
</el-button>
|
||
<el-button size="mini" type="primary" style="margin: 5px;" @click="share(scope.row)">渠道分享
|
||
</el-button>
|
||
<!-- <el-button class="btns" size="mini" type="danger" :disabled="!isAuth('mission:delete')"
|
||
@click="deles(scope.row)">删除</el-button> -->
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<div style="text-align: center;margin-top: 10px;">
|
||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||
:page-sizes="[10, 20, 30, 40, 100, 200, 500]" :page-size="limit" :current-page="page"
|
||
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
|
||
</el-pagination>
|
||
</div>
|
||
<!-- 添加/修改短剧列表 -->
|
||
<el-dialog :title="titles" :visible.sync="dialogFormVisible1" center width="80%">
|
||
<div style="margin-bottom: 10px;" v-if="showFl">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">类别:</span>
|
||
<el-select v-model="fenleiId1" style="width:50%;">
|
||
<el-option v-for="item in statesnum1" :key="item.classificationId"
|
||
:label="item.classificationName" :value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
</div>
|
||
<!-- <div style="margin-bottom: 10px;clear: both;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">分类:</span>
|
||
<el-select v-model="fenleiId2" style="width:50%;" @change="animeDat1(fenleiId2)">
|
||
<el-option v-for="item in statesnum2" :key="item.id" :label="item.name" :value="item.id">
|
||
</el-option>
|
||
</el-select>
|
||
</div> -->
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">标题:</span>
|
||
<el-input v-model="title" style="width:50%;" placeholder="请输入标题"></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;display:flex;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">封面图:</span>
|
||
<div
|
||
style=" width:148px;height:148px;border: 1px dashed #c0ccda;border-radius: 6px;text-align: center;line-height: 148px;">
|
||
<el-upload class="avatar-uploader" v-model="titleImg" :action="$http.adornUrl('alioss/upload')"
|
||
:show-file-list="false" :on-success="handleAvatarSuccess5">
|
||
<img v-if="titleImg" :src="titleImg" class="avatar"
|
||
style="border-radius: 6px;width: 148px;height: 148px;" />
|
||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<!-- <div style="margin-bottom: 10px;display:flex;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">轮播图:</span>
|
||
<div class="imgs" v-for="(item,index) in bannerImg" :key="index">
|
||
<img width="100%" class="images" height="100%" :src="item" alt="">
|
||
<span class="dels">
|
||
<i class="el-icon-delete" @click="delsB(index)"></i>
|
||
</span>
|
||
</div>
|
||
<div class="imgs">
|
||
<el-upload :action="$http.adornUrl('alioss/upload')"
|
||
list-type="picture-card" :show-file-list="false" :on-success="handleRemoveB">
|
||
<i class="el-icon-plus"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px;display:flex;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">详情图:</span>
|
||
<div class="imgs" v-for="(item,index) in img" :key="index">
|
||
<img width="100%" class="images" height="100%" :src="item" alt="">
|
||
<span class="dels">
|
||
<i class="el-icon-delete" @click="dels(index)"></i>
|
||
</span>
|
||
</div>
|
||
<div class="imgs">
|
||
<el-upload :action="$http.adornUrl('alioss/upload')"
|
||
list-type="picture-card" :show-file-list="false" :on-success="handleRemove">
|
||
<i class="el-icon-plus"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div> -->
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">购买剧价格:</span>
|
||
<el-input v-model="price" type="number" style="width:50%;" placeholder="请输入购买剧价格"></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">购买次数:</span>
|
||
<el-input v-model="payNum" type="number" style="width:50%;" placeholder="请输入购买次数"></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">播放量:</span>
|
||
<el-input v-model="viewCounts" type="number" style="width:50%;" placeholder="请输入播放量"></el-input>
|
||
</div>
|
||
|
||
<div style="margin-bottom: 10px;position: relative;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;position: absolute;top: 0;">标签:</span>
|
||
<div style="display: inline-block;margin-left: 200px;">
|
||
<el-checkbox-group v-model="privilege" size="small" @change="laberBtn()">
|
||
<el-checkbox style="margin: 5px;" v-for="(item,index) in privilegeList" :key="index" :label="item.label"
|
||
border>{{item.label}}</el-checkbox>
|
||
</el-checkbox-group>
|
||
<el-button type="warning" class="tj" size="mini" plain @click="btnQk">清空标签
|
||
</el-button>
|
||
</div>
|
||
|
||
<!-- <span class="bqList" v-for="(item,index) in privilege" :key="index">{{item}}
|
||
<span class="delss">
|
||
<i class="el-icon-delete" @click="dels2(index)"></i>
|
||
</span>
|
||
</span>
|
||
<el-input v-model="bq" style="width:200px;" placeholder="请输入标签"
|
||
onkeyup="this.value=this.value.replace(/[, ]/g,'')" @keydown.enter.native="btnTj"></el-input>
|
||
<el-button type="primary" class="tj" size="mini" icon="el-icon-edit" circle @click="btnTj">
|
||
</el-button> -->
|
||
</div>
|
||
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">是否收费:</span>
|
||
<el-radio-group v-model="isPrice">
|
||
<el-radio :label="1">是</el-radio>
|
||
<el-radio :label="2">免费</el-radio>
|
||
</el-radio-group>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">是否完结:</span>
|
||
<el-radio-group v-model="over">
|
||
<el-radio :label="1">是</el-radio>
|
||
<el-radio :label="2">否</el-radio>
|
||
</el-radio-group>
|
||
</div>
|
||
|
||
<!-- <div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">是否推荐:</span>
|
||
<el-radio-group v-model="isRecommend">
|
||
<el-radio :label="1">推荐</el-radio>
|
||
<el-radio :label="0">普通</el-radio>
|
||
</el-radio-group>
|
||
</div> -->
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">上下架:</span>
|
||
<el-radio-group v-model="statusType">
|
||
<el-radio :label="1">上架</el-radio>
|
||
<el-radio :label="2">下架</el-radio>
|
||
</el-radio-group>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">视频介绍:</span>
|
||
<el-input v-model="details" style="width:200px;display: none;" placeholder="请输入视频介绍"></el-input>
|
||
<quill-editor ref="myTextEditor" v-model="details" :options="quillOption"
|
||
style="padding-bottom: 50px;height: 300px;width: 72%;display: inline-table;margin-bottom: 60px;">
|
||
</quill-editor>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisible1 = false">取 消</el-button>
|
||
<el-button type="primary" @click="addDetails()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 视频详情列表 -->
|
||
<el-dialog title="视频详情列表" :visible.sync="dialogVisible" width="90%" center="">
|
||
<div style="display: inline-block;">
|
||
<div style="display: inline-block;">
|
||
<span>是否推荐:</span>
|
||
<el-select v-model="goods" style="width:150px;margin-left: 10px;" @change="chaxun()">
|
||
<el-option v-for="item in goodsList" :key="item.classificationId" :label="item.classificationName"
|
||
:value="item.classificationId">
|
||
</el-option>
|
||
</el-select>
|
||
</div>
|
||
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="chaxun">
|
||
查询</el-button>
|
||
<!-- <el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="addVideo">
|
||
添加视频</el-button>
|
||
<el-button style='margin:0 0 20px 20px;' size="mini" type="primary" icon="document"
|
||
@click="transferClcik()" :disabled="checkBoxData.length <= 0 || !isAuth('mission:update')">
|
||
批量修改
|
||
</el-button>
|
||
<el-button style='margin:0 0 20px 20px;' size="mini" type="warning" icon="document"
|
||
@click="deleteClcikJj()" :disabled="checkBoxData.length <= 0 || !isAuth('mission:update')">
|
||
批量删除
|
||
</el-button> -->
|
||
</div>
|
||
<el-table v-loading="tableDataLoadingJj" :data="curriList.list" @selection-change="changeFun">
|
||
<el-table-column type="selection">
|
||
</el-table-column>
|
||
<el-table-column prop="courseDetailsId" label="编号" width="80" fixed="left"></el-table-column>
|
||
<el-table-column prop="courseDetailsName" label="名称" fixed="left"></el-table-column>
|
||
<el-table-column prop="titleImg" label="封面图">
|
||
<template slot-scope="scope">
|
||
<el-popover placement="top-start" title="" trigger="hover">
|
||
<img style="width: 50px; height: 50px" :src="scope.row.titleImg" alt="" slot="reference">
|
||
<img style="width: 200px; height: 200px" :src="scope.row.titleImg" alt="">
|
||
</el-popover>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="content" label="介绍" width="120">
|
||
<template slot-scope="scope">
|
||
<el-button size="mini" type="primary" plain @click="chakan(scope.row,2)">查看
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="goodNum" label="点赞数"></el-table-column>
|
||
<el-table-column prop="price" label="集价格"></el-table-column>
|
||
<el-table-column prop="sort" label="排序"></el-table-column>
|
||
<el-table-column prop="isPrice" label="是否收费" align="center">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.isPrice == 1 ">是</div>
|
||
<div v-else>免费</div>
|
||
<!-- <el-switch v-model="scope.row.isPrice" @change="changeD(scope.row)"
|
||
:active-value="openValue1" :inactive-value="closeValue1" active-color="#13ce66"
|
||
inactive-color="#ff4949">
|
||
</el-switch> -->
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="videoUrl" label="视频链接" width="150">
|
||
<template slot-scope="scope">
|
||
<el-button size="mini" type="primary" :disabled="!isAuth('mission:update')" style="margin: 5px;"
|
||
@click="playVideo(scope.row.videoUrl,scope.row)">播放视频
|
||
</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
|
||
<el-table-column prop="good" label="是否推荐" align="center">
|
||
<template slot-scope="scope">
|
||
<div v-if="scope.row.good == 1 ">是</div>
|
||
<div v-else>否</div>
|
||
<!-- <el-switch v-model="scope.row.good" @change="changeT(scope.row)" :active-value="openValue1"
|
||
:inactive-value="closeValue1" active-color="#13ce66" inactive-color="#ff4949">
|
||
</el-switch> -->
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column label="操作" width="80" fixed="right">
|
||
<template slot-scope="scope">
|
||
|
||
<el-button size="mini" type="primary" :disabled="!isAuth('mission:update')"
|
||
style="margin: 5px;" @click="compileVideo(scope.row)">编辑
|
||
</el-button>
|
||
<el-button size="mini" type="danger" :disabled="!isAuth('mission:delete')"
|
||
style="margin: 5px;" @click="deleteVideo(scope.row)">删除
|
||
</el-button>
|
||
</template>
|
||
</el-table-column> -->
|
||
</el-table>
|
||
<div style="text-align: center;margin-top: 10px;">
|
||
<el-pagination @size-change="handleSizeChange3" @current-change="handleCurrentChange3"
|
||
:page-sizes="[10, 20, 30, 40, 100, 200, 500]" :page-size="limitS" :current-page="pageS"
|
||
layout="total,sizes, prev, pager, next,jumper" :total="curriList.totalCount">
|
||
</el-pagination>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 添加视频 -->
|
||
<el-dialog title="添加视频" :visible.sync="dialogFormVisible3" width="80%" center="">
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">标题:</span>
|
||
<el-input v-model="title" style="width:50%;" placeholder="请输入视频标题"></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;display:flex;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">封面图:</span>
|
||
<div
|
||
style=" width:148px;height:148px;border: 1px dashed #c0ccda;border-radius: 6px;text-align: center;line-height: 148px;">
|
||
<el-upload class="avatar-uploader" v-model="titleImg" :action="$http.adornUrl('alioss/upload')"
|
||
:show-file-list="false" :on-success="handleAvatarSuccess5">
|
||
<img v-if="titleImg" :src="titleImg" class="avatar"
|
||
style="border-radius: 6px;width: 148px;height: 148px;" />
|
||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px;display:flex;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">上传视频:</span>
|
||
<div
|
||
style=" width:200px;height:148px;border: 1px dashed #c0ccda;border-radius: 6px;text-align: center;line-height: 148px;">
|
||
<el-upload class="avatar-uploader" v-model="url" :action="$http.adornUrl('alioss/upload')"
|
||
:show-file-list="false" multiple :on-success="handleAvatarSuccess3" :before-upload="beforeUploadVideo"
|
||
:on-progress="beforeUpload">
|
||
<video v-if="url" :src="url" class="avatar" controls="controls"
|
||
style="width: 200px;height:148px;">您的浏览器不支持视频播放</video>
|
||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
<el-progress type="circle" v-if="percentage>0 && percentage<=100" :percentage="percentage"
|
||
color="#efefef"></el-progress>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">视频链接:</span>
|
||
<el-input v-model="url" style="width:50%;" placeholder="请输入视频链接"></el-input>
|
||
</div>
|
||
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">集价格:</span>
|
||
<el-input v-model="price" type="number" style="width:50%;" placeholder="请输入集价格"></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">点赞数:</span>
|
||
<el-input v-model="goodNum" type="number" style="width:50%;" placeholder="请输入点赞数"></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">是否收费:</span>
|
||
<el-radio-group v-model="isPrice">
|
||
<el-radio :label="1">是</el-radio>
|
||
<el-radio :label="2">免费</el-radio>
|
||
</el-radio-group>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">视频介绍:</span>
|
||
<el-input v-model="content" style="width:50%;display: none;" placeholder="请输入视频介绍"></el-input>
|
||
<quill-editor ref="myTextEditor" v-model="content" :options="quillOption"
|
||
style="padding-bottom: 50px;height: 300px;width: 50%;display: inline-table;margin-bottom: 60px;">
|
||
</quill-editor>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisible3 = false">取 消</el-button>
|
||
<el-button type="primary" @click="addVideos()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 批量导入视频 -->
|
||
<el-dialog title="批量导入视频" :visible.sync="dialogFormVisiblePl" width="80%" center="">
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">标题:</span>
|
||
<el-input v-model="title" style="width:50%;" placeholder="请输入视频标题"></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;display:flex;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">封面图:</span>
|
||
<div
|
||
style=" width:148px;height:148px;border: 1px dashed #c0ccda;border-radius: 6px;text-align: center;line-height: 148px;">
|
||
<el-upload class="avatar-uploader" v-model="titleImg" :action="$http.adornUrl('alioss/upload')"
|
||
:show-file-list="false" :on-success="handleAvatarSuccess5">
|
||
<img v-if="titleImg" :src="titleImg" class="avatar"
|
||
style="border-radius: 6px;width: 148px;height: 148px;" />
|
||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px;display:flex;align-items: center;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">上传视频:</span>
|
||
<div style="display: flex;flex-wrap: wrap;">
|
||
<div v-if="urlList.length>0">
|
||
<video v-for="(item,index) in urlList" :key="index" :src="item" class="avatar" controls="controls"
|
||
style="width: 200px;height:148px;">您的浏览器不支持视频播放</video>
|
||
</div>
|
||
<el-upload class="avatar-uploader" v-model="url"
|
||
style=" width:200px;height:148px;border: 1px dashed #c0ccda;border-radius: 6px;text-align: center;line-height: 148px;"
|
||
:action="$http.adornUrl('alioss/upload')" :show-file-list="false" multiple
|
||
:on-success="handleAvatarSuccessPl" :before-upload="beforeUploadVideo">
|
||
<i class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
</el-upload>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">视频链接:</span>
|
||
<el-input v-model="url" style="width:50%;" placeholder="请输入视频链接"></el-input>
|
||
</div>
|
||
</el-dialog>
|
||
|
||
</el-tab-pane>
|
||
<el-tab-pane label="视频类别" name="third" v-if="showFl">
|
||
<!-- <div style="display: inline-block;float: right;">
|
||
<el-button style="margin:0 0 20px 20px;" :disabled="!isAuth('mission:add')" size="mini" type="primary"
|
||
icon="document" @click="classifyStair()">添加类别</el-button>
|
||
</div> -->
|
||
<el-table v-loading="tableDataLoading" :data="classifyData.list">
|
||
<el-table-column prop="classificationId" label="编号" width="80"></el-table-column>
|
||
<el-table-column prop="classificationName" label="类别名称">
|
||
</el-table-column>
|
||
<el-table-column prop="sort" label="排序">
|
||
</el-table-column>
|
||
<el-table-column prop="isDelete" label="状态">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.isDelete==0">使用中</span>
|
||
<span v-if="scope.row.isDelete==1">已下架</span>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column label="操作" width="150">
|
||
<template slot-scope="scope">
|
||
<el-button size="mini" type="danger" :disabled="!isAuth('mission:delete')"
|
||
@click="deleteStair(scope.row)">删除
|
||
</el-button>
|
||
<el-button size="mini" type="primary" :disabled="!isAuth('mission:update')"
|
||
@click="compile(scope.$index, scope.row)">编辑
|
||
</el-button>
|
||
</template>
|
||
</el-table-column> -->
|
||
</el-table>
|
||
<div style="text-align: center;margin-top: 10px;">
|
||
<el-pagination @size-change="handleSizeChange2" @current-change="handleCurrentChange2"
|
||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
|
||
layout="total,sizes, prev, pager, next,jumper" :total="classifyData.totalCount">
|
||
</el-pagination>
|
||
</div>
|
||
|
||
</el-tab-pane>
|
||
<!-- 添加分类 -->
|
||
<el-dialog title="添加类别" :visible.sync="dialogFormVisible" center>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">类别名称:</span>
|
||
<el-input style="width:50%;" v-model="classificationName" type="text" placeholder="请输入类别名称">
|
||
</el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">排序:</span>
|
||
<el-input style="width:50%;" v-model="sort" type="number" placeholder="请输入排序">
|
||
</el-input>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||
<el-button type="primary" @click="StairNoticeTo()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 修改分类 -->
|
||
<el-dialog title="编辑类别" :visible.sync="dialogFormVisible2" center>
|
||
<el-form :model="form">
|
||
<el-form-item label="类别名称:" :label-width="formLabelWidth">
|
||
<el-input v-model="form.classificationName" style="width:65%;"></el-input>
|
||
</el-form-item>
|
||
<el-form :model="form">
|
||
<el-form-item label="排序:" :label-width="formLabelWidth">
|
||
<el-input v-model="form.sort" style="width:65%;"></el-input>
|
||
</el-form-item>
|
||
</el-form>
|
||
</el-form>
|
||
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisible2 = false">取 消</el-button>
|
||
<el-button type="primary" @click="CompileNoticeTo()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<el-dialog title="视频" :visible.sync="tableDateUrl" center width="600px">
|
||
<video v-if="videoUrls!=''" :src="videoUrls" ref="videoRef" width="400" controls
|
||
style="margin: 30px 70px;"></video>
|
||
<video v-else ref="videoRef" width="400" style="margin: 30px 70px;" type="audio/wav" controls="controls"></video>
|
||
<div style="text-align: center;">
|
||
<el-button type="primary" @click="chakanVideo()">打开窗口查看下载</el-button>
|
||
</div>
|
||
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="tableDateUrl = false">取 消</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 批量修改 -->
|
||
<el-dialog title="批量修改" :visible.sync="dialogFormVisiblePltk" center>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">集价格:</span>
|
||
<el-input v-model="price" type="number" style="width:50%;" placeholder="请输入集价格,0为不收费"></el-input>
|
||
</div>
|
||
<div style="margin-bottom: 10px;display:flex;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">封面图:</span>
|
||
<div
|
||
style=" width:148px;height:148px;border: 1px dashed #c0ccda;border-radius: 6px;text-align: center;line-height: 148px;">
|
||
<el-upload class="avatar-uploader" v-model="titleImg" :action="$http.adornUrl('alioss/upload')"
|
||
:show-file-list="false" :on-success="handleAvatarSuccess5">
|
||
<img v-if="titleImg" :src="titleImg" class="avatar"
|
||
style="border-radius: 6px;width: 148px;height: 148px;" />
|
||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||
</el-upload>
|
||
</div>
|
||
</div>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">视频介绍:</span>
|
||
<el-input v-model="content" style="width:200px;display: none;" placeholder="请输入视频介绍"></el-input>
|
||
<quill-editor ref="myTextEditor" v-model="content" :options="quillOption"
|
||
style="padding-bottom: 50px;height: 300px;width: 50%;display: inline-table;margin-bottom: 60px;">
|
||
</quill-editor>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisiblePltk = false">取 消</el-button>
|
||
<el-button type="primary" @click="updateVideos()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 批量上下架 -->
|
||
<el-dialog title="批量上下架" :visible.sync="dialogFormVisiblePlsxj" center>
|
||
<div style="margin-bottom: 10px;">
|
||
<span style="width: 200px;display: inline-block;text-align: right;">修改状态:</span>
|
||
<el-radio-group v-model="isPrice">
|
||
<el-radio :label="1">上架</el-radio>
|
||
<el-radio :label="2">下架</el-radio>
|
||
</el-radio-group>
|
||
</div>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="dialogFormVisiblePlsxj = false">取 消</el-button>
|
||
<el-button type="primary" @click="updateVideosSxj()">确 定</el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 收入统计 -->
|
||
<el-dialog title="收入统计" :visible.sync="dialogVisibleTj" width="90%" center="">
|
||
<el-row>
|
||
<el-col :span="6" class="cards">
|
||
<div class="box">
|
||
<div class="box_num">
|
||
<div class="box_color">总收入 </div>
|
||
<div class="text_color">
|
||
<span>{{tongjidata.sumMoney ? tongjidata.sumMoney : 0}}</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="6" class="cards">
|
||
<div class="box">
|
||
<div class="box_num">
|
||
<div class="box_color">今日收入</div>
|
||
<div class="text_color">
|
||
<span>{{tongjidata.dayMoney ? tongjidata.dayMoney : 0 }}</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="6" class="cards">
|
||
<div class="box">
|
||
<div class="box_num">
|
||
<div class="box_color">本月收入 </div>
|
||
<div class="text_color">
|
||
<span>{{tongjidata.monthMoney ? tongjidata.monthMoney : 0}}</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="6" class="cards">
|
||
<div class="box">
|
||
<div class="box_num">
|
||
<div class="box_color">本年收入</div>
|
||
<div class="text_color"><span>{{tongjidata.yearMoney ? tongjidata.yearMoney : 0}}</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
|
||
</el-row>
|
||
<div style="display: inline-block;">
|
||
<el-select v-model="flag" style="width:150px;margin-left: 10px;" @change="chaxunTj">
|
||
<el-option v-for="item in flags" :key="item.value" :label="item.label" :value="item.value">
|
||
</el-option>
|
||
</el-select>
|
||
<el-date-picker style="width: 200px;margin-left: 10px;" v-model="info.stockDate" align="right" type="date"
|
||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间" @change="chaxunTj">
|
||
</el-date-picker>
|
||
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="chaxunTj">
|
||
查询</el-button>
|
||
|
||
</div>
|
||
<el-table v-loading="tableDataLoadingSr" :data="tongjiListdata.list">
|
||
|
||
<el-table-column prop="ordersId" label="编号" width="80" fixed="left"></el-table-column>
|
||
<el-table-column prop="userName" label="购买用户" width="120" align="center">
|
||
<template slot-scope="scope">
|
||
<span style="color: #4f9dec;cursor: pointer;" @click="updates(scope.row)">
|
||
{{ scope.row.userName}}
|
||
</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="ordersNo" label="订单编号" width="200"></el-table-column>
|
||
<el-table-column prop="payWay" label="支付方式" width="120">
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.payWay == null">暂无</span>
|
||
<span v-if="scope.row.payWay == 1">微信APP</span>
|
||
<span v-if="scope.row.payWay == 2">微信公众号</span>
|
||
<span v-if="scope.row.payWay == 3">微信小程序</span>
|
||
<span v-if="scope.row.payWay == 4">支付宝</span>
|
||
<span v-if="scope.row.payWay == 5">会员免费</span>
|
||
<span v-if="scope.row.payWay == 6">零钱</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column prop="payMoney" label="支付金额"></el-table-column>
|
||
<el-table-column prop="createTime" label="购买时间"></el-table-column>
|
||
</el-table>
|
||
<div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">
|
||
本页累计收入统计:{{totalMoney.toFixed(2)}}; </div>
|
||
<div style="text-align: center;margin-top: 10px;">
|
||
<el-pagination @size-change="handleSizeChangeTjlist" @current-change="handleCurrentChangeTjlist"
|
||
:page-sizes="[10, 20, 30, 40, 100, 200, 500]" :page-size="limitS" :current-page="pageS"
|
||
layout="total,sizes, prev, pager, next,jumper" :total="tongjiListdata.totalCount">
|
||
</el-pagination>
|
||
</div>
|
||
|
||
</el-dialog>
|
||
<!-- 渠道分享 -->
|
||
<el-dialog title="渠道分享" :visible.sync="dialogVisibleFx" width="80%" center="">
|
||
<el-row>
|
||
<el-col :span="24" class="cards">
|
||
<div class="box">
|
||
<div class="box_num">
|
||
<div class="box_color">H5分享</div>
|
||
<div class="text_color">
|
||
<div style="word-wrap: break-word;width:100%">
|
||
分享链接:<span>{{h5shareUrl}}</span>
|
||
</div>
|
||
<div style="margin-top: 20px;">
|
||
分享二维码:<img :src="h5erweimaImg" style="width: 100px;height: 100px;" />
|
||
</div>
|
||
|
||
</div>
|
||
<!--
|
||
<el-button size="mini" type="primary" @click="compile()">编辑
|
||
</el-button> -->
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="24" class="cards">
|
||
<div class="box">
|
||
<div class="box_num">
|
||
<div class="box_color">微信小程序分享</div>
|
||
|
||
<div class="text_color">
|
||
<div style="word-wrap: break-word;width:100%">
|
||
分享链接:<span>{{h5shareUrl}}</span>
|
||
</div>
|
||
<div style="margin-top: 20px;">
|
||
分享二维码:<img :src="xcxerweimaImg" style="width: 100px;height: 100px;" />
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="24" class="cards">
|
||
<div class="box">
|
||
<div class="box_num">
|
||
<div class="box_color">抖音小程序分享</div>
|
||
|
||
<div class="text_color">
|
||
<div style="word-wrap: break-word;width:100%">
|
||
分享链接:<span>{{h5shareUrl}}</span>
|
||
</div>
|
||
<div style="margin-top: 20px;">
|
||
分享二维码:<img :src="dyxerweimaImg" style="width: 100px;height: 100px;" />
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="24" class="cards">
|
||
<div class="box">
|
||
<div class="box_num">
|
||
<div class="box_color">APP分享</div>
|
||
<div class="text_color">
|
||
<div style="word-wrap: break-word;width:100%">
|
||
分享链接:<span>{{appshareUrl}}</span>
|
||
</div>
|
||
<div style="margin-top: 20px;">
|
||
分享二维码:<img src="../../assets/img/avatar.png" style="width: 100px;height: 100px;" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
</el-dialog>
|
||
<!-- 介绍详情 -->
|
||
<el-dialog title="介绍详情" :visible.sync="dialogFormVisible6" center>
|
||
<div class="htmlDiv">{{remark}}</div>
|
||
</el-dialog>
|
||
</el-tabs>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
quillEditor
|
||
} from 'vue-quill-editor'
|
||
import 'quill/dist/quill.core.css'
|
||
import 'quill/dist/quill.snow.css'
|
||
import 'quill/dist/quill.bubble.css'
|
||
import quillConfig from '../locality/quill-config.js'
|
||
// import videojs from "video.js";
|
||
// import "video.js/dist/video-js.css";
|
||
import Hls from 'hls.js';
|
||
export default {
|
||
components: {
|
||
quillEditor
|
||
},
|
||
data() {
|
||
return {
|
||
openValue: 1,
|
||
closeValue: 0,
|
||
openValue1: 1,
|
||
closeValue1: 2,
|
||
contentT: '',
|
||
courseType: 1, //资源类型 1:资源 2:链接
|
||
isRecommend: 0, //是否推荐 1:推荐 0:不推荐
|
||
statusType: 1, //上下架 1:上架 2:下架
|
||
remark: '', //资源网盘地址
|
||
title: '', //资源列表名称
|
||
titleImg: '', //资源列表图片
|
||
|
||
img: [], //详情图合集
|
||
bannerImg: [], //轮播图
|
||
privilege: [], //标签集合
|
||
bq: '', //标签
|
||
price: '', //价格
|
||
payNum: '', //购买次数
|
||
viewCounts: 0, //播放量
|
||
details: '', //短剧介绍
|
||
courseId: '', //短剧id
|
||
curriList: {}, //短剧详情
|
||
url: '', //视频链接
|
||
isPrice: 1, //是否收费
|
||
goodNum: '', //点赞数
|
||
content: '', //视频简介
|
||
over: 2,
|
||
videoId: '',
|
||
quillOption: quillConfig,
|
||
fenleiId: '',
|
||
fenleiIdT: '',
|
||
fenleiId1: '',
|
||
fenleiId2: '',
|
||
limit: 10,
|
||
page: 1,
|
||
limitS: 10,
|
||
pageS: 1,
|
||
goods: '',
|
||
goodsList: [{
|
||
classificationName: '全部',
|
||
classificationId: ''
|
||
},
|
||
{
|
||
classificationName: '推荐',
|
||
classificationId: 1
|
||
}, {
|
||
classificationName: '不推荐',
|
||
classificationId: 2
|
||
}
|
||
],
|
||
phone: '',
|
||
status: 0,
|
||
statesnum: [{ //短剧管理分类
|
||
classificationName: '全部',
|
||
classificationId: ''
|
||
}],
|
||
statesnum1: [],
|
||
statesnum2: [],
|
||
isRecommends: -1,
|
||
isRecommendNum: [ //短剧管理分类
|
||
{
|
||
classificationName: '全部',
|
||
classificationId: -1
|
||
},
|
||
{
|
||
classificationName: '推荐',
|
||
classificationId: 1
|
||
}, {
|
||
classificationName: '普通',
|
||
classificationId: 0
|
||
}
|
||
],
|
||
statuss: 1,
|
||
statusNum: [ //上下架分类
|
||
{
|
||
classificationName: '全部',
|
||
classificationId: 0
|
||
},
|
||
{
|
||
classificationName: '上架',
|
||
classificationId: 1
|
||
}, {
|
||
classificationName: '下架',
|
||
classificationId: 2
|
||
}
|
||
],
|
||
classificationId: '', //分类id
|
||
content: '', //短剧搜索标题 拒绝理由
|
||
classificationName: '', //分类名称
|
||
formLabelWidth: '200px',
|
||
activeName: 'first',
|
||
dialogVisible: false,
|
||
tableDataLoading: false,
|
||
dialogFormVisible: false,
|
||
dialogFormVisible1: false,
|
||
dialogFormVisible2: false,
|
||
dialogFormVisible3: false,
|
||
tableData: {}, //短剧信息集合
|
||
form: {
|
||
classificationId: '',
|
||
classificationName: ''
|
||
},
|
||
classifyData: [], //分类管理集合
|
||
xg: 0,
|
||
classifyId: 0,
|
||
userIds: [], //用户列表
|
||
nickName: '',
|
||
percentage: 0,
|
||
titles: '',
|
||
types: '',
|
||
tableDataLoadingUrl: false,
|
||
dialogFormVisiblePl: false,
|
||
urlList: [],
|
||
show: false,
|
||
// ------
|
||
tableDateUrl: false,
|
||
videoUrls: '',
|
||
checkBoxData: [], //多选框选择的值
|
||
dialogFormVisiblePltk: false,
|
||
dialogFormVisiblePlsxj: false,
|
||
|
||
dialogVisibleTj: false,
|
||
tongjidata: {},
|
||
tongjiListdata: {},
|
||
info: {
|
||
stockDate: this.getNowTime(), //日期
|
||
},
|
||
flag: 3,
|
||
flags: [{
|
||
value: 1,
|
||
label: '按天查询'
|
||
}, {
|
||
value: 2,
|
||
label: '按月查询'
|
||
}, {
|
||
value: 3,
|
||
label: '按年查询'
|
||
}],
|
||
totalMoney: 0,
|
||
tableDataLoadingJj: false,
|
||
tableDataLoadingSr: false,
|
||
isPriceT: '',
|
||
overT: '',
|
||
isPriceName: [{
|
||
classificationName: '全部',
|
||
classificationId: ''
|
||
},
|
||
{
|
||
classificationName: '是',
|
||
classificationId: 1
|
||
}, {
|
||
classificationName: '否',
|
||
classificationId: 2
|
||
}
|
||
],
|
||
privilegeList: [ //标签
|
||
{
|
||
id: 1,
|
||
label: '医神'
|
||
}, {
|
||
id: 2,
|
||
label: '赘婿'
|
||
}, {
|
||
id: 3,
|
||
label: '鉴宝'
|
||
}, {
|
||
id: 4,
|
||
label: '战神'
|
||
}, {
|
||
id: 5,
|
||
label: '娱乐明星'
|
||
},
|
||
{
|
||
id: 6,
|
||
label: '神医'
|
||
}, {
|
||
id: 7,
|
||
label: '重生'
|
||
}, {
|
||
id: 8,
|
||
label: '职场'
|
||
}, {
|
||
id: 9,
|
||
label: '逆袭'
|
||
}, {
|
||
id: 10,
|
||
label: '复仇'
|
||
},
|
||
{
|
||
id: 11,
|
||
label: '青春'
|
||
}, {
|
||
id: 12,
|
||
label: '官场'
|
||
}, {
|
||
id: 13,
|
||
label: '家庭情感'
|
||
}, {
|
||
id: 14,
|
||
label: '乡村'
|
||
}, {
|
||
id: 15,
|
||
label: '正能量'
|
||
},
|
||
{
|
||
id: 16,
|
||
label: '成长'
|
||
}, {
|
||
id: 17,
|
||
label: '伦理'
|
||
}, {
|
||
id: 18,
|
||
label: '都市情感'
|
||
}, {
|
||
id: 19,
|
||
label: '社会话题'
|
||
}, {
|
||
id: 20,
|
||
label: '灵异'
|
||
},
|
||
{
|
||
id: 21,
|
||
label: '悬疑推理'
|
||
}, {
|
||
id: 22,
|
||
label: '虐恋'
|
||
}, {
|
||
id: 23,
|
||
label: '甜宠'
|
||
}, {
|
||
id: 24,
|
||
label: '高干军婚'
|
||
}, {
|
||
id: 25,
|
||
label: '年代'
|
||
},
|
||
{
|
||
id: 26,
|
||
label: '萌宝'
|
||
}, {
|
||
id: 27,
|
||
label: '腹黑'
|
||
}, {
|
||
id: 28,
|
||
label: '总裁'
|
||
}, {
|
||
id: 29,
|
||
label: '宫斗宅斗'
|
||
}, {
|
||
id: 30,
|
||
label: '穿越'
|
||
},
|
||
{
|
||
id: 31,
|
||
label: '种田经商'
|
||
}, {
|
||
id: 33,
|
||
label: '民俗'
|
||
}, {
|
||
id: 34,
|
||
label: '古装'
|
||
}, {
|
||
id: 35,
|
||
label: '穿越战争'
|
||
},
|
||
{
|
||
id: 36,
|
||
label: '现代军事'
|
||
}, {
|
||
id: 37,
|
||
label: '奇幻'
|
||
}, {
|
||
id: 38,
|
||
label: '科幻'
|
||
}, {
|
||
id: 39,
|
||
label: '架空玄幻'
|
||
}, {
|
||
id: 40,
|
||
label: '热血'
|
||
},
|
||
{
|
||
id: 41,
|
||
label: '历史'
|
||
}, {
|
||
id: 42,
|
||
label: '搞笑'
|
||
}, {
|
||
id: 43,
|
||
label: '仙侠'
|
||
}, {
|
||
id: 44,
|
||
label: '武侠'
|
||
}, {
|
||
id: 45,
|
||
label: '二次元'
|
||
},
|
||
{
|
||
id: 46,
|
||
label: '其他'
|
||
},
|
||
],
|
||
courseLabelIds: [], //标签Id
|
||
dialogVisibleFx: false,
|
||
shareUrl: '',
|
||
|
||
h5erweimaImg: '', //h5分享码
|
||
xcxerweimaImg: '', //微信小程序分享码
|
||
dyxerweimaImg: '', //抖音小程序分享码
|
||
h5Url: '', //h5域名
|
||
guanfangCode: '', //官方邀请码
|
||
invitationCode: '',
|
||
invitationCodeDy: '',
|
||
h5shareUrl: '', //h5分享链接
|
||
appshareUrl: '', //app分享链接
|
||
tt_album_id: '',
|
||
tt_episode_id: '',
|
||
dialogFormVisible6: false,
|
||
remark: '',
|
||
dyShowT:'',
|
||
wxShowT:'',
|
||
showFl:false,
|
||
}
|
||
},
|
||
methods: {
|
||
//处理默认选中当前日期
|
||
getNowTime() {
|
||
var now = new Date();
|
||
var year = now.getFullYear(); //得到年份
|
||
var month = now.getMonth(); //得到月份
|
||
var date = now.getDate(); //得到日期
|
||
var hh = now.getHours() < 10 ? "0" + now.getHours() : now.getHours();
|
||
var mm = now.getMinutes() < 10 ? "0" + now.getMinutes() : now.getMinutes();
|
||
var ss = now.getSeconds() < 10 ? "0" + now.getSeconds() : now.getSeconds();
|
||
month = month + 1;
|
||
month = month.toString().padStart(2, "0");
|
||
date = date.toString().padStart(2, "0");
|
||
var defaultDate = `${year}-${month}-${date}`;
|
||
return defaultDate;
|
||
this.$set(this.info, "stockDate", defaultDate);
|
||
},
|
||
// 详情跳转
|
||
updates(row) {
|
||
if (row.userId) {
|
||
this.$router.push({
|
||
path: '/userDetail',
|
||
query: {
|
||
userId: row.userId
|
||
}
|
||
})
|
||
}
|
||
|
||
},
|
||
handleSizeChange(val) {
|
||
this.limit = val
|
||
this.dataSelect()
|
||
},
|
||
handleCurrentChange(val) {
|
||
this.page = val
|
||
this.dataSelect()
|
||
},
|
||
handleSizeChange2(val) {
|
||
this.limit = val
|
||
this.classifySelect()
|
||
},
|
||
handleCurrentChange2(val) {
|
||
this.page = val
|
||
this.classifySelect()
|
||
},
|
||
handleSizeChange3(val) {
|
||
this.limitS = val
|
||
this.curriculumList(this.courseId);
|
||
},
|
||
handleCurrentChange3(val) {
|
||
this.pageS = val
|
||
this.curriculumList(this.courseId);
|
||
},
|
||
|
||
handleSizeChangeTjlist(val) {
|
||
this.limitS = val
|
||
this.shourutongjiList(this.courseId);
|
||
},
|
||
handleCurrentChangeTjlist(val) {
|
||
this.pageS = val
|
||
this.shourutongjiList(this.courseId);
|
||
},
|
||
handleSizeChange5(val) {
|
||
this.limit = val
|
||
this.userClass();
|
||
},
|
||
handleCurrentChange5(val) {
|
||
this.page = val
|
||
this.userClass();
|
||
},
|
||
// tabs切换
|
||
handleClick(tab, event) {
|
||
if (tab._props.label == '短剧列表') {
|
||
this.page = 1
|
||
this.limit = 10
|
||
this.dataSelect()
|
||
}
|
||
if (tab._props.label == '视频类别') {
|
||
this.page = 1
|
||
this.limit = 10
|
||
this.classifySelect()
|
||
}
|
||
},
|
||
// 查询短剧列表
|
||
select() {
|
||
this.page = 1
|
||
this.limit = 10
|
||
this.dataSelect()
|
||
},
|
||
// 重置短剧列表
|
||
cleans() {
|
||
this.phone = ''
|
||
this.status = 0
|
||
this.contentT = ''
|
||
this.fenleiIdT = ''
|
||
this.isRecommends = -1
|
||
this.isPriceT = ''
|
||
this.statuss = 1
|
||
this.overT = ''
|
||
this.dyShowT = ''
|
||
this.wxShowT = ''
|
||
this.dataSelect()
|
||
},
|
||
// 添加短剧列表
|
||
tianjia() {
|
||
this.titles = '添加短剧'
|
||
this.xg = 0
|
||
this.fenleiId1 = '';
|
||
this.privilege = []
|
||
this.courseLabelIds = []
|
||
this.img = []
|
||
this.bannerImg = []
|
||
this.details = '';
|
||
this.viewCounts = 0
|
||
this.isPrice = 2
|
||
this.over = 2
|
||
this.payNum = '';
|
||
this.price = '';
|
||
this.fenleiId2 = '';
|
||
this.title = '';
|
||
this.titleImg = '';
|
||
this.courseId = ''
|
||
this.remark = ''
|
||
this.courseType = 1
|
||
this.dialogFormVisible1 = true
|
||
this.classifySelect1()
|
||
|
||
},
|
||
// 修改资源列表
|
||
xiugai(row) {
|
||
this.titles = '修改资源'
|
||
this.xg = 1
|
||
console.log(row)
|
||
this.fenleiId1 = row.classifyId;
|
||
if (row.bannerId) {
|
||
this.fenleiId2 = row.bannerId;
|
||
}
|
||
if (row.courseLabel) {
|
||
this.privilege = row.courseLabel.split(',');
|
||
}
|
||
if (row.courseLabelIds) {
|
||
this.courseLabelIds = row.courseLabelIds.split(',');
|
||
}
|
||
|
||
if (row.img) {
|
||
this.img = row.img.split(',');
|
||
}
|
||
if (row.bannerImg) {
|
||
this.bannerImg = row.bannerImg.split(',');
|
||
} else {
|
||
this.bannerImg = []
|
||
}
|
||
this.courseType = row.courseType
|
||
this.remark = row.remark
|
||
this.isRecommend = row.isRecommend
|
||
this.statusType = row.status
|
||
this.details = row.details;
|
||
this.viewCounts = row.viewCounts;
|
||
|
||
this.payNum = row.payNum;
|
||
if (row.isPrice) {
|
||
this.isPrice = row.isPrice
|
||
} else {
|
||
this.isPrice = 2
|
||
}
|
||
if (row.over) {
|
||
this.over = row.over
|
||
} else {
|
||
this.over = 2
|
||
}
|
||
|
||
this.price = row.price;
|
||
this.title = row.title;
|
||
this.titleImg = row.titleImg;
|
||
this.courseId = row.courseId
|
||
this.dialogFormVisible1 = true
|
||
this.curriculumList(row.courseId)
|
||
this.classifySelect1()
|
||
},
|
||
// 封面图片上传
|
||
handleAvatarSuccess5(file) {
|
||
this.titleImg = file.data;
|
||
},
|
||
// 详情图片上传
|
||
handleRemove(file) {
|
||
console.log(file, this.img)
|
||
this.img.push(file.data);
|
||
},
|
||
// 轮播图上传
|
||
handleRemoveB(file) {
|
||
console.log(file, this.bannerImg)
|
||
this.bannerImg.push(file.data);
|
||
},
|
||
|
||
// 上传文档
|
||
handleAvatarSuccessWd(file) {
|
||
this.remark = file.data;
|
||
},
|
||
// 删除标签
|
||
dels2(index) {
|
||
this.privilege.splice(index, 1);
|
||
console.log(this.privilege)
|
||
},
|
||
// 添加标签
|
||
btnTj() {
|
||
if (this.bq == '' || this.bq == ' ') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入标签',
|
||
type: 'warning'
|
||
});
|
||
return
|
||
} else {
|
||
console.log('this.bq', this.bq)
|
||
this.privilege.push(this.bq)
|
||
this.bq = ''
|
||
}
|
||
},
|
||
// 确认添加列表
|
||
addDetails() {
|
||
if (this.courseType == 2) {
|
||
if (this.remark == '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入链接备注',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
}
|
||
// if (this.fenleiId1 === '' || this.fenleiId1 == null) {
|
||
// this.$notify({
|
||
// title: '提示',
|
||
// duration: 1800,
|
||
// message: '请选择类别',
|
||
// type: 'warning'
|
||
// })
|
||
// return
|
||
// }
|
||
// if (this.fenleiId2 === ''||this.fenleiId2 ==null) {
|
||
// this.$notify({
|
||
// title: '提示',
|
||
// duration: 1800,
|
||
// message: '请选择分类',
|
||
// type: 'warning'
|
||
// })
|
||
// return
|
||
// }
|
||
if (this.title == '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入名称',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
if (this.titleImg == '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请上传封面图',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
|
||
// if (this.bannerImg.length == 0) {
|
||
// this.$notify({
|
||
// title: '提示',
|
||
// duration: 1800,
|
||
// message: '请上传轮播图',
|
||
// type: 'warning'
|
||
// })
|
||
// return
|
||
// }
|
||
// if (this.img.length == 0) {
|
||
// this.$notify({
|
||
// title: '提示',
|
||
// duration: 1800,
|
||
// message: '请上传详情图',
|
||
// type: 'warning'
|
||
// })
|
||
// return
|
||
// }
|
||
if (this.price === '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入购买剧价格',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
if (this.payNum === '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入购买次数',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
if (this.viewCounts === '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入播放量',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
if (this.privilege.length == 0) {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '添加标签',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
if (this.xg == 0) {
|
||
var url = 'course/insertCourse'
|
||
} else {
|
||
var url = 'course/updateCourse'
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl(url),
|
||
method: 'post',
|
||
data: this.$http.adornData({
|
||
'classifyId': this.fenleiId1,
|
||
'courseLabel': this.privilege.toString(),
|
||
'courseLabelIds': this.courseLabelIds.toString(),
|
||
'details': this.details,
|
||
'img': this.img.toString(),
|
||
'bannerImg': this.bannerImg.toString(),
|
||
'payNum': this.payNum,
|
||
'price': this.price,
|
||
'viewCounts': this.viewCounts,
|
||
|
||
'title': this.title,
|
||
'titleImg': this.titleImg,
|
||
'msgUrl': '',
|
||
'courseId': this.courseId,
|
||
'courseType': this.courseType,
|
||
'isRecommend': this.isRecommend,
|
||
'status': this.statusType,
|
||
'remark': this.remark,
|
||
'bannerId': this.fenleiId2,
|
||
'isPrice': this.isPrice,
|
||
'over': this.over,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
var that = this
|
||
if (data.code == 0) {
|
||
|
||
that.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
that.dialogFormVisible1 = false
|
||
that.fenleiId1 = '';
|
||
that.fenleiId2 = '';
|
||
that.privilege = [];
|
||
that.img = [];
|
||
that.bannerImg = []
|
||
that.details = '';
|
||
that.payNum = '';
|
||
that.viewCounts = 0
|
||
that.isPrice = 2
|
||
that.price = '';
|
||
that.title = '';
|
||
that.remark = '';
|
||
that.titleImg = '';
|
||
that.dataSelect()
|
||
}
|
||
})
|
||
} else {
|
||
that.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {}
|
||
})
|
||
}
|
||
|
||
})
|
||
},
|
||
// select选择事件
|
||
animeDat(state) {
|
||
this.page = 1
|
||
console.log(state)
|
||
this.dataSelect()
|
||
},
|
||
animeDat1(state) {
|
||
this.fenleiId2 = state
|
||
},
|
||
animeDat2(state) {
|
||
this.page = 1
|
||
this.isRecommends = state
|
||
this.dataSelect()
|
||
},
|
||
animeDat3(state) {
|
||
this.page = 1
|
||
this.statuss = state
|
||
this.dataSelect()
|
||
},
|
||
// 获取派单数据列表
|
||
dataSelect() {
|
||
var sysUserId = ''
|
||
var userId = ''
|
||
if (this.$cookie.get('sysUserId') && this.$cookie.get('sysUserId') != 'null') {
|
||
sysUserId = this.$cookie.get('sysUserId')
|
||
} else {
|
||
sysUserId = this.$cookie.get('userId')
|
||
}
|
||
|
||
|
||
console.log('sysUserId:' + typeof sysUserId, '-0---userId:' + userId)
|
||
this.tableDataLoading = true
|
||
this.$http({
|
||
url: this.$http.adornUrl('course/selectCourse'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'page': this.page,
|
||
'limit': this.limit,
|
||
'classifyId': this.fenleiIdT,
|
||
'title': this.contentT,
|
||
'isRecommend': this.isRecommends,
|
||
'status': this.statuss,
|
||
'isPrice': this.isPriceT,
|
||
'over': this.overT,
|
||
'sysUserId': sysUserId,
|
||
'userId': userId,
|
||
'dyShow': this.dyShowT,
|
||
'wxShow': this.wxShowT,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
this.tableDataLoading = false
|
||
let returnData = data.data
|
||
|
||
this.tableData = returnData
|
||
console.log(this.tableData)
|
||
})
|
||
},
|
||
// 删除短剧列表
|
||
deles(row) {
|
||
let delid = row.courseId
|
||
this.$confirm(`确定删除此条信息?`, '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl(`course/updateDelete/?id=${delid}`),
|
||
method: 'get',
|
||
params: this.$http.adornParams({})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
this.$message({
|
||
message: '删除成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
}
|
||
})
|
||
})
|
||
}).catch(() => {})
|
||
},
|
||
// 查看资源详情
|
||
refund1(row) {
|
||
this.pageS = 1
|
||
this.types = row.courseType
|
||
this.courseId = row.courseId
|
||
this.curriculumList(this.courseId);
|
||
this.dialogVisible = true
|
||
|
||
},
|
||
|
||
// 查询
|
||
chaxun() {
|
||
this.pageS = 1
|
||
this.curriculumList(this.courseId);
|
||
},
|
||
// 获取短剧详情列表
|
||
curriculumList(id) {
|
||
this.tableDataLoadingJj = true
|
||
this.$http({
|
||
url: this.$http.adornUrl('course/selectCourseById'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'id': id,
|
||
'page': this.pageS,
|
||
'limit': this.limitS,
|
||
'good': this.goods
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.tableDataLoadingJj = false
|
||
this.curriList = data.data
|
||
this.remark = data.data.list[0].videoUrl
|
||
this.videoId = data.data.list[0].courseDetailsId
|
||
}
|
||
|
||
})
|
||
},
|
||
// 添加视频
|
||
addVideo() {
|
||
this.title = ''
|
||
this.url = ''
|
||
this.videoId = ''
|
||
this.price = ''
|
||
this.titleImg = ''
|
||
this.goodNum = ''
|
||
this.content = ''
|
||
this.isPrice = 1
|
||
this.dialogFormVisible3 = true
|
||
},
|
||
// 修改视频
|
||
compileVideo(row) {
|
||
this.title = row.courseDetailsName
|
||
this.url = row.videoUrl
|
||
this.videoId = row.courseDetailsId
|
||
this.isPrice = row.isPrice
|
||
this.price = row.price
|
||
this.titleImg = row.titleImg
|
||
this.goodNum = row.goodNum
|
||
this.content = row.content
|
||
|
||
this.dialogFormVisible3 = true
|
||
},
|
||
// 确认添加视频
|
||
addVideos() {
|
||
if (this.title == '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入视频标题',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
if (this.url == '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请上传视频',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
if (this.isPrice == 1) {
|
||
if (Number(this.price) === '' || Number(this.price) <= 0) {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '集价格不能为空或不能小于0',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
} else {
|
||
if (Number(this.price) === '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '集价格不能为空',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
}
|
||
if (Number(this.goodNum) < 0) {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '点赞数不能小于0',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
if (this.videoId == '') {
|
||
var urls = 'courseDetails/insertCourseDetails'
|
||
} else {
|
||
var urls = 'courseDetails/updateCourseDetails'
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl(urls),
|
||
method: 'post',
|
||
data: this.$http.adornData({
|
||
'courseId': this.courseId,
|
||
'courseDetailsName': this.title,
|
||
'videoUrl': this.url,
|
||
'courseDetailsId': this.videoId,
|
||
'isPrice': this.isPrice,
|
||
'price': this.price,
|
||
'titleImg': this.titleImg,
|
||
'goodNum': this.goodNum,
|
||
'content': this.content,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
console.log('添加短剧视频', data)
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '添加成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.title = ''
|
||
this.url = ''
|
||
this.videoId = ''
|
||
this.dialogFormVisible3 = false
|
||
this.curriculumList(this.courseId);
|
||
}
|
||
})
|
||
} else {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: 'warning'
|
||
})
|
||
}
|
||
|
||
})
|
||
},
|
||
// 删除视频
|
||
deleteVideo(row) {
|
||
let delid = row.courseDetailsId.toString()
|
||
this.$confirm(`确定删除此条信息?`, '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl(`courseDetails/deleteCourseDetails?ids=${delid}`),
|
||
method: 'post',
|
||
params: this.$http.adornParams({})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '删除成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.curriculumList(this.courseId)
|
||
}
|
||
})
|
||
} else {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: data.msg,
|
||
type: 'warning'
|
||
})
|
||
}
|
||
})
|
||
}).catch(() => {})
|
||
},
|
||
// 视频上传
|
||
handleAvatarSuccess3(file) {
|
||
this.url = file.data;
|
||
this.percentage = 0
|
||
},
|
||
// 限制上传格式
|
||
beforeUploadVideo(file) {
|
||
const isLt10M = file.size / 1024 / 1024 < 1024;
|
||
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) == -
|
||
1) {
|
||
this.$message.error('请上传正确的视频格式');
|
||
return false;
|
||
}
|
||
if (!isLt10M) {
|
||
this.$message.error('上传视频大小不能超过1G哦!');
|
||
return false;
|
||
}
|
||
},
|
||
beforeUpload(file) {
|
||
this.url = ''
|
||
this.percentage = Math.ceil(file.percent)
|
||
},
|
||
// 批量导入视频弹框
|
||
addVideoPl() {
|
||
this.dialogFormVisiblePl = true
|
||
},
|
||
handleAvatarSuccessPl(file) {
|
||
console.log('多个视频', file)
|
||
this.urlList.push(file.data)
|
||
},
|
||
// 分类管理
|
||
classifySelect() {
|
||
this.$http({
|
||
url: this.$http.adornUrl('courseClassification/selectCourseClassification'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'page': this.page,
|
||
'limit': this.limit,
|
||
'classificationName': ''
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
let returnData = data.data
|
||
this.classifyData = returnData
|
||
|
||
})
|
||
},
|
||
// 分类管理 不分页
|
||
classifySelect3() {
|
||
this.$http({
|
||
url: this.$http.adornUrl('courseClassification/selectCourseClassification'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'page': 1,
|
||
'limit': 50,
|
||
'classificationName': ''
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
let returnData = data.data
|
||
this.statesnum1 = data.data.list
|
||
|
||
})
|
||
},
|
||
// 添加分类弹框
|
||
classifyStair() {
|
||
this.dialogFormVisible = true
|
||
},
|
||
// 添加分类确定
|
||
StairNoticeTo() {
|
||
if (this.classificationName == '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入分类名称',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl('courseClassification/insertCourseClassification'),
|
||
method: 'post',
|
||
data: this.$http.adornData({
|
||
'classificationName': this.classificationName
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
this.dialogFormVisible = false
|
||
this.$message({
|
||
message: '分类添加成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classificationName = ''
|
||
this.classifySelect()
|
||
}
|
||
})
|
||
})
|
||
},
|
||
// 修改分类
|
||
compile(index, rows) {
|
||
this.dialogFormVisible2 = true
|
||
this.form.classificationId = rows.classificationId
|
||
this.form.classificationName = rows.classificationName
|
||
},
|
||
// 修改分类确定
|
||
CompileNoticeTo() {
|
||
if (this.form.classificationName == '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入分类名称',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl('courseClassification/updateCourseClassification'),
|
||
method: 'post',
|
||
data: this.$http.adornData({
|
||
'classificationId': this.form.classificationId,
|
||
'classificationName': this.form.classificationName
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
this.dialogFormVisible2 = false
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.classifySelect()
|
||
}
|
||
})
|
||
})
|
||
},
|
||
//删除分类
|
||
deleteStair(row) {
|
||
let delid = row.classificationId
|
||
this.$confirm(`确定删除此条信息?`, '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl(`courseClassification/updateDelete?id=${delid}`),
|
||
method: 'get',
|
||
params: this.$http.adornParams({})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
this.$message({
|
||
message: '删除成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.name = ''
|
||
this.classifySelect()
|
||
}
|
||
})
|
||
})
|
||
}).catch(() => {})
|
||
},
|
||
// 详情跳转
|
||
// updates (row) {
|
||
// this.$router.push({path: '/userDetail', query: {userId: row.userId}})
|
||
// },
|
||
// 删除详情图
|
||
dels(index) {
|
||
this.img.splice(index, 1);
|
||
console.log(this.img)
|
||
},
|
||
// 删除轮播图
|
||
delsB(index) {
|
||
this.bannerImg.splice(index, 1);
|
||
console.log(this.bannerImg)
|
||
},
|
||
|
||
// 推荐与否
|
||
change(row) {
|
||
this.$http({
|
||
url: this.$http.adornUrl(`course/updateCourse`),
|
||
method: 'post',
|
||
data: this.$http.adornData({
|
||
'isRecommend': row.isRecommend,
|
||
'courseId': row.courseId,
|
||
|
||
'classifyId': row.classifyId,
|
||
'courseLabel': row.courseLabel,
|
||
'details': row.details,
|
||
'img': row.img.toString(),
|
||
'payNum': row.payNum,
|
||
'price': row.price,
|
||
|
||
'viewCounts': row.viewCounts,
|
||
'title': row.title,
|
||
'titleImg': row.titleImg,
|
||
'msgUrl': '',
|
||
'courseType': row.courseType,
|
||
'status': row.status,
|
||
'remark': row.remark,
|
||
'bannerId': row.bannerId,
|
||
// 'isPrice':row.isPrice,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
}
|
||
})
|
||
}
|
||
|
||
})
|
||
},
|
||
// 上下架
|
||
change1(status, courseId) {
|
||
this.$http({
|
||
url: this.$http.adornUrl(`course/updateCourse`),
|
||
method: 'get',
|
||
// data: this.$http.adornData({
|
||
params: this.$http.adornParams({
|
||
'status': status,
|
||
'courseId': courseId
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
}
|
||
})
|
||
}
|
||
|
||
})
|
||
},
|
||
handleSuccess(file) {
|
||
console.log(file)
|
||
this.url = file.data;
|
||
console.log(file.data, this.url)
|
||
this.tableDataLoadingUrl = false
|
||
},
|
||
handlePreview(file) {
|
||
this.tableDataLoadingUrl = true
|
||
},
|
||
// 验证只能上传音频
|
||
beforeAvatarUpload(file) {
|
||
var testmsg = file.name.substring(file.name.lastIndexOf('.') + 1)
|
||
const extension = testmsg === 'mp3'
|
||
if (!extension) {
|
||
this.$message({
|
||
message: "上传文件只能是mp3格式!",
|
||
type: 'error'
|
||
})
|
||
}
|
||
return extension;
|
||
},
|
||
// 是否免费
|
||
changeD(row) {
|
||
if (row.price != null) {
|
||
var price = row.price
|
||
} else {
|
||
var price = 0
|
||
}
|
||
|
||
if (row.isPrice == 1 && price == 0) {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '当前集价格为空或者为0,设置为收费前,请先设置集价格',
|
||
type: 'warning'
|
||
})
|
||
this.curriculumList(this.courseId)
|
||
return
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl('courseDetails/updateCourseDetails'),
|
||
method: 'post',
|
||
data: this.$http.adornData({
|
||
'courseId': row.courseId,
|
||
'courseDetailsName': row.courseDetailsName,
|
||
'videoUrl': row.videoUrl,
|
||
'courseDetailsId': row.courseDetailsId,
|
||
'isPrice': row.isPrice,
|
||
'price': row.price,
|
||
'titleImg': row.titleImg,
|
||
'goodNum': row.goodNum,
|
||
'content': row.content,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.curriculumList(this.courseId)
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.curriculumList(this.courseId)
|
||
}
|
||
})
|
||
}
|
||
|
||
})
|
||
},
|
||
// 是否推荐
|
||
changeT(row) {
|
||
if (row.isPrice == 1 && row.good == 1) {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '推荐视频应为免费观看,请先设置视频为免费',
|
||
type: 'warning'
|
||
})
|
||
this.curriculumList(this.courseId)
|
||
return
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl('courseDetails/updateCourseDetails'),
|
||
method: 'post',
|
||
data: this.$http.adornData({
|
||
'courseDetailsId': row.courseDetailsId,
|
||
'good': row.good,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.curriculumList(this.courseId)
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.curriculumList(this.courseId)
|
||
}
|
||
})
|
||
}
|
||
|
||
})
|
||
},
|
||
// 是否完结
|
||
changeW(row) {
|
||
this.$http({
|
||
url: this.$http.adornUrl('course/updateCourse'),
|
||
method: 'post',
|
||
data: this.$http.adornData({
|
||
// params: this.$http.adornParams({
|
||
'over': row.over,
|
||
'courseId': row.courseId
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
}
|
||
})
|
||
}
|
||
|
||
})
|
||
},
|
||
// 是否展示同步短剧按钮
|
||
xianshi() {
|
||
this.$http({
|
||
url: this.$http.adornUrl('common/type/247'),
|
||
method: 'get',
|
||
data: this.$http.adornData({})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
if (data.data.value == '是') {
|
||
this.show = true
|
||
}
|
||
}
|
||
})
|
||
},
|
||
// 同步短剧
|
||
tongbu() {
|
||
this.$confirm(`确定要同步短剧?`, '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl('course/synCourse'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {}
|
||
})
|
||
}
|
||
|
||
})
|
||
}).catch(() => {})
|
||
},
|
||
|
||
playVideo(url,row) {
|
||
if(row.isPrice==1){
|
||
this.$message({
|
||
message: '当前为收费视频不可查看',
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {}
|
||
})
|
||
}else{
|
||
this.videoUrls = ''
|
||
if (url.indexOf("m3u8") != -1) {
|
||
var hls = new Hls();
|
||
hls.loadSource(url);
|
||
hls.attachMedia(this.$refs.videoRef);
|
||
hls.on(Hls.Events.MANIFEST_PARSED, function() {
|
||
this.$refs.videoRef.play();
|
||
});
|
||
this.tableDateUrl = true
|
||
} else {
|
||
this.tableDateUrl = true
|
||
this.videoUrls = url;
|
||
}
|
||
}
|
||
|
||
},
|
||
// 多选
|
||
changeFun(val) {
|
||
console.log('val---------', val)
|
||
this.checkBoxData = val
|
||
},
|
||
// 批量修改弹框
|
||
transferClcik(id) {
|
||
this.price = ''
|
||
this.content = ''
|
||
this.titleImg = ''
|
||
this.dialogFormVisiblePltk = true
|
||
|
||
},
|
||
// 批量修改
|
||
updateVideos() {
|
||
if (this.price === '') {
|
||
this.$notify({
|
||
title: '提示',
|
||
duration: 1800,
|
||
message: '请输入集价格',
|
||
type: 'warning'
|
||
})
|
||
return
|
||
}
|
||
// if (Number(this.price)<0) {
|
||
// this.$notify({
|
||
// title: '提示',
|
||
// duration: 1800,
|
||
// message: '集价格不能小于0',
|
||
// type: 'warning'
|
||
// })
|
||
// return
|
||
// }
|
||
var ids = this.checkBoxData.map(item => {
|
||
return item.courseDetailsId
|
||
})
|
||
var datas = {
|
||
ids: ids.toString(),
|
||
price: this.price,
|
||
titleImg: this.titleImg,
|
||
content: this.content
|
||
}
|
||
if (this.titleImg === '') {
|
||
datas.titleImg = null
|
||
}
|
||
if (this.content === '') {
|
||
datas.content = null
|
||
}
|
||
this.$http({
|
||
url: this.$http.adornUrl('course/updateCourseDetails'),
|
||
method: 'post',
|
||
params: this.$http.adornParams(datas)
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.curriculumList(this.courseId)
|
||
this.dialogFormVisiblePltk = false
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {}
|
||
})
|
||
}
|
||
})
|
||
},
|
||
// 批量上下架弹框
|
||
shangxiajiaClcik() {
|
||
this.isPrice = ''
|
||
this.dialogFormVisiblePlsxj = true
|
||
},
|
||
// 批量上下架
|
||
updateVideosSxj() {
|
||
var ids = this.checkBoxData.map(item => {
|
||
return item.courseId
|
||
})
|
||
this.$http({
|
||
url: this.$http.adornUrl('course/updateCourseStatus'),
|
||
method: 'post',
|
||
params: this.$http.adornParams({
|
||
'ids': ids.toString(),
|
||
'status': this.isPrice,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
this.dialogFormVisiblePlsxj = false
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {}
|
||
})
|
||
}
|
||
})
|
||
},
|
||
// 批量删除
|
||
deleteClcik() {
|
||
var ids = this.checkBoxData.map(item => {
|
||
return item.courseId
|
||
})
|
||
this.$confirm(`确定要批量删除信息?`, '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl('course/deleteCourseByIds'),
|
||
method: 'post',
|
||
params: this.$http.adornParams({
|
||
'ids': ids.toString(),
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.dataSelect()
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {}
|
||
})
|
||
}
|
||
})
|
||
}).catch(() => {})
|
||
},
|
||
// 批量删除剧集
|
||
deleteClcikJj() {
|
||
var ids = this.checkBoxData.map(item => {
|
||
return item.courseDetailsId
|
||
})
|
||
this.$confirm(`确定要批量删除剧集?`, '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
this.$http({
|
||
url: this.$http.adornUrl('course/deleteCourseDetailsByIds'),
|
||
method: 'post',
|
||
params: this.$http.adornParams({
|
||
'ids': ids.toString(),
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: '操作成功',
|
||
type: 'success',
|
||
duration: 1500,
|
||
onClose: () => {
|
||
this.curriculumList(this.courseId)
|
||
}
|
||
})
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'warning',
|
||
duration: 1500,
|
||
onClose: () => {}
|
||
})
|
||
}
|
||
})
|
||
}).catch(() => {})
|
||
},
|
||
// 查看收入统计
|
||
shouru(row) {
|
||
this.pageS = 1
|
||
this.flag = 3
|
||
this.types = row.courseType
|
||
this.courseId = row.courseId
|
||
this.shourutongji();
|
||
this.shourutongjiList()
|
||
this.dialogVisibleTj = true
|
||
|
||
},
|
||
// 获取短剧收入统计
|
||
shourutongji(id) {
|
||
var sysUserId = this.$cookie.get('userId')
|
||
this.$http({
|
||
url: this.$http.adornUrl('order/selectCourseOrdersMoneyCount'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'courseId': this.courseId,
|
||
'sysUserId':sysUserId,
|
||
// 'page': this.pageS,
|
||
// 'limit': this.limitS,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.tongjidata = data.data
|
||
}
|
||
})
|
||
},
|
||
// 获取短剧收入统计列表
|
||
shourutongjiList(id) {
|
||
this.totalMoney = 0
|
||
var sysUserId = this.$cookie.get('userId')
|
||
this.tableDataLoadingSr = true
|
||
this.$http({
|
||
url: this.$http.adornUrl('order/selectOrders'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({
|
||
'courseId': this.courseId,
|
||
'page': this.pageS,
|
||
'limit': this.limitS,
|
||
'time': this.info.stockDate,
|
||
'flag': this.flag,
|
||
'status': 1,
|
||
'sysUserId':sysUserId,
|
||
})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.tableDataLoadingSr = false
|
||
for (var i in data.data.list) {
|
||
if (data.data.list[i].payMoney) {
|
||
this.totalMoney = this.totalMoney + Number(data.data.list[i].payMoney)
|
||
}
|
||
}
|
||
this.tongjiListdata = data.data
|
||
}
|
||
})
|
||
},
|
||
chaxunTj() {
|
||
this.pageS = 1
|
||
this.shourutongjiList()
|
||
},
|
||
// 标签选择
|
||
laberBtn() {
|
||
if (this.privilege.length > 0) {
|
||
this.courseLabelIds = []
|
||
for (var i in this.privilegeList) {
|
||
for (var j in this.privilege) {
|
||
if (this.privilege[j] == this.privilegeList[i].label) {
|
||
this.courseLabelIds.push(this.privilegeList[i].id)
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
// 清空标签
|
||
btnQk() {
|
||
this.privilege = []
|
||
this.courseLabelIds = []
|
||
},
|
||
// 渠道分享
|
||
share(row) {
|
||
this.xianshi(row)
|
||
this.dialogVisibleFx = true
|
||
},
|
||
// 配置信息
|
||
xianshi(row) {
|
||
var qdCode = this.$cookie.get('qdCode')
|
||
// 获取h5域名
|
||
// this.$http({
|
||
// url: this.$http.adornUrl('common/type/19'),
|
||
// method: 'get',
|
||
// data: this.$http.adornData({})
|
||
// 是否开启分类
|
||
this.$http({
|
||
url: this.$http.adornUrl('common/type/849'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
if (data.data.value == '是') {
|
||
this.showFl = true
|
||
}
|
||
|
||
}
|
||
})
|
||
|
||
this.$http({
|
||
url: this.$http.adornUrl('urlAddress/selectUrlAddress'),
|
||
method: 'get',
|
||
params: this.$http.adornParams({})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
|
||
this.h5Url = data.data.urlAddress
|
||
this.xianshi2(row)
|
||
}
|
||
})
|
||
},
|
||
xianshi2(row) {
|
||
var qdCode = this.$cookie.get('qdCode')
|
||
if (row.courseDetailsId) {
|
||
var courseDetailsId = row.courseDetailsId
|
||
} else {
|
||
var courseDetailsId = ''
|
||
}
|
||
if (row.dyCourseId) {
|
||
var dyCourseId = row.dyCourseId
|
||
|
||
} else {
|
||
var dyCourseId = ''
|
||
}
|
||
if (row.dyEpisodeId) {
|
||
var dyEpisodeId = row.dyEpisodeId
|
||
|
||
} else {
|
||
var dyEpisodeId = ''
|
||
}
|
||
// 获取官方邀请码
|
||
this.$http({
|
||
url: this.$http.adornUrl('common/type/88'),
|
||
method: 'get',
|
||
data: this.$http.adornData({})
|
||
}).then(({
|
||
data
|
||
}) => {
|
||
if (data.code == 0) {
|
||
this.guanfangCode = data.data.value
|
||
this.invitationCode = this.guanfangCode + ',' + row.courseId + ',' + ',' + qdCode,
|
||
this.invitationCodeDy = this.guanfangCode + ',' + row.courseId + ',' + courseDetailsId + ',' +
|
||
qdCode + ',' + dyCourseId + ',' + dyEpisodeId
|
||
//'/me/detail/detail?id=' + item.courseId + '&courseDetailsId=' + item.courseDetailsId + &tt_album_id=' + item.dyCourseId + '&tt_episode_id=' + item.dyEpisodeId
|
||
|
||
this.h5erweimaImg = this.$http.adornUrl('app/invite/insertQrCode?content=' + qdCode + '&courseId=' + row
|
||
.courseId)
|
||
this.xcxerweimaImg = this.$http.adornUrl('app/invite/mpCreateQr?invitationCode=' + this.invitationCode)
|
||
this.dyxerweimaImg = this.$http.adornUrl('app/invite/dyCreateQr?invitationCode=' + this
|
||
.invitationCodeDy)
|
||
this.h5shareUrl = this.h5Url + '/me/detail/detail?invitation=' + this.guanfangCode + '&qdCode=' +
|
||
qdCode + '&id=' + row.courseId
|
||
this.appshareUrl = this.h5Url + '/me/detail/detail?invitation=' + this.guanfangCode + '&qdCode=' +
|
||
qdCode + '&id=' + row.courseId
|
||
}
|
||
})
|
||
},
|
||
// 查看
|
||
chakan(row, index) {
|
||
if (index == 1) {
|
||
this.remark = row.details
|
||
} else {
|
||
this.remark = row.content
|
||
}
|
||
|
||
this.dialogFormVisible6 = true
|
||
},
|
||
chakanVideo() {
|
||
window.open(this.videoUrls, '_blank');
|
||
},
|
||
},
|
||
mounted() {
|
||
|
||
this.classifySelect()
|
||
this.classifySelect3()
|
||
this.dataSelect()
|
||
this.xianshi()
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.el-dialog {
|
||
/* width: 65% !important; */
|
||
}
|
||
|
||
.imgs {
|
||
position: relative;
|
||
border-radius: 6px;
|
||
width: 148px;
|
||
height: 148px;
|
||
margin-right: 10px;
|
||
display: inline-block;
|
||
}
|
||
|
||
.dels {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
display: none;
|
||
}
|
||
|
||
.dels .el-icon-delete {
|
||
line-height: 148px;
|
||
padding-left: 58px;
|
||
font-size: 25px;
|
||
color: #fff;
|
||
}
|
||
|
||
.imgs:hover .dels {
|
||
width: 100%;
|
||
height: 100%;
|
||
background: #000;
|
||
display: block;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.bqList {
|
||
padding: 4px 14px;
|
||
margin: 4px;
|
||
border: 1px solid #efefef;
|
||
font-size: 12px;
|
||
color: #999;
|
||
border-radius: 4px;
|
||
margin-right: 15px;
|
||
}
|
||
|
||
.delss {
|
||
display: none;
|
||
position: relative;
|
||
}
|
||
|
||
.delss .el-icon-delete {
|
||
position: absolute;
|
||
top: 0;
|
||
}
|
||
|
||
.bqList:hover .delss {
|
||
display: initial;
|
||
opacity: 0.5;
|
||
|
||
}
|
||
|
||
.tj {
|
||
padding: 4px;
|
||
margin: 4px;
|
||
font-size: 12px;
|
||
border: 1px solid #ccc;
|
||
border-radius: 4px;
|
||
}
|
||
|
||
.btns {
|
||
margin: 4px 0 !important;
|
||
}
|
||
|
||
|
||
.video-box {
|
||
width: 100%;
|
||
max-width: 500px;
|
||
max-height: 500px;
|
||
}
|
||
|
||
::v-deep .video-js .vjs-big-play-button {
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
}
|
||
|
||
.box {
|
||
padding: 44px;
|
||
border: 1px solid #eee;
|
||
margin: 15px 10px;
|
||
}
|
||
|
||
.box_num {
|
||
font-size: 14px;
|
||
color: #66b1ff;
|
||
}
|
||
|
||
.box_num .box_color {
|
||
color: #333;
|
||
font-size: 14px;
|
||
margin-bottom: 15px;
|
||
}
|
||
|
||
.box_num div span {
|
||
font-size: 20px;
|
||
margin-left: 5px;
|
||
}
|
||
|
||
.text_color {
|
||
color: #4f9dec;
|
||
}
|
||
|
||
.text_color span {
|
||
margin-right: 5px;
|
||
}
|
||
|
||
.htmlDiv {
|
||
width: 100%;
|
||
|
||
}
|
||
|
||
.htmlDiv img {
|
||
width: 100%;
|
||
}
|
||
</style>
|