zhuxinbo il y a 5 ans
Parent
commit
8c55b7129d

+ 1 - 0
src/components/layouts/TabLayout.vue

@@ -140,6 +140,7 @@
         }
         if(key == "/account/stepForm"){
             localStorage.removeItem("step")
+            localStorage.removeItem("pans")
         }
         if(key == "/account/originality"){
             localStorage.removeItem("originality")

+ 0 - 10
src/views/modules/advertiser/ProjectMemberList.vue

@@ -283,16 +283,6 @@ export default {
           scopedSlots: { customRender: 'maxBid' }
         },
         {
-          title: '预警金额',
-          align: 'center',
-          dataIndex: 'warningAmount'
-        },
-        {
-          title: '预警比例',
-          align: 'center',
-          dataIndex: 'warningProportion'
-        },
-        {
           title: '操作',
           dataIndex: 'action',
           align: 'center',

+ 86 - 83
src/views/modules/advertiser/UserAllocationList.vue

@@ -1,6 +1,5 @@
 <template>
   <a-card :bordered="false">
-
     <!-- 查询区域 -->
     <div class="table-page-search-wrapper">
       <a-form layout="inline">
@@ -10,28 +9,26 @@
               <a-input placeholder="请输入所属人" v-model="queryParam.userName"></a-input>
             </a-form-item>
           </a-col>
-        <template>
-          <a-col :md="8" :sm="8">
-            <a-form-item label="广告主名称">
-              <a-input placeholder="请输入广告主名称" v-model="queryParam.advertiserName"></a-input>
-            </a-form-item>
-          </a-col>
+          <template>
+            <a-col :md="8" :sm="8">
+              <a-form-item label="广告主名称">
+                <a-input placeholder="请输入广告主名称" v-model="queryParam.advertiserName"></a-input>
+              </a-form-item>
+            </a-col>
           </template>
-          <a-col :md="6" :sm="8" >
+          <a-col :md="6" :sm="8">
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
               <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
             </span>
           </a-col>
-
         </a-row>
       </a-form>
     </div>
     <!-- 操作按钮区域 -->
-    <br>
+    <br />
     <!-- table区域-begin -->
     <div>
-
       <a-table
         ref="table"
         size="middle"
@@ -41,9 +38,9 @@
         :dataSource="dataSource"
         :pagination="ipagination"
         :loading="loading"
-        @change="handleTableChange">
-
-        <span slot="mediaId" slot-scope="text">{{text==1?'头条':"快手"}}</span>
+        @change="handleTableChange"
+      >
+        <span slot="mediaId" slot-scope="text">{{ text == 1 ? '头条' : '快手' }}</span>
         <span slot="action" slot-scope="text, record">
           <a @click="handleEdit(record)">编辑</a>
 
@@ -51,9 +48,7 @@
           <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
             <a>删除</a>
           </a-popconfirm>
-
         </span>
-
       </a-table>
     </div>
     <!-- table区域-end -->
@@ -64,82 +59,90 @@
 </template>
 
 <script>
-  import UserAllocationModal from './modules/UserAllocationModal'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import UserAllocationModal from './modules/UserAllocationModal'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 
-  export default {
-    name: "UserAllocationList",
-    mixins:[JeecgListMixin],
-    components: {
-      UserAllocationModal
-    },
-    data () {
-      return {
-        description: '账号绑定管理页面',
-        // 表头
-        columns: [
-		   {
-            title: '账号所属人',
-            align:"center",
-            dataIndex: 'userName'
-           },
-		   {
-            title: '授权',
-            align:"center",
-            dataIndex: 'accountId'
-           },
-		   {
-            title: '广告主名称',
-            align:"center",
-            dataIndex: 'advertiserName'
-           },
-		   {
-            title: '项目名称',
-            align:"center",
-            dataIndex: 'projectName'
-           },
-		//    {
+export default {
+  name: 'UserAllocationList',
+  mixins: [JeecgListMixin],
+  components: {
+    UserAllocationModal
+  },
+  data() {
+    return {
+      description: '账号绑定管理页面',
+      // 表头
+      columns: [
+        {
+          title: '账号所属人',
+          align: 'center',
+          dataIndex: 'userName'
+        },
+        {
+          title: '授权',
+          align: 'center',
+          dataIndex: 'accountId'
+        },
+        {
+          title: '广告主名称',
+          align: 'center',
+          dataIndex: 'advertiserName'
+        },
+        {
+          title: '项目名称',
+          align: 'center',
+          dataIndex: 'projectName'
+        },
+        //    {
         //     title: '输入账号  --登陆',
         //     align:"center",
         //     dataIndex: 'accountName'
         //    },
-		   {
-            title: '授权名称',
-            align:"center",
-            dataIndex: 'authName'
-           },
-		   {
-            title: '平台类型',
-            align:"center",
-            dataIndex: 'mediaId',
-            scopedSlots: { customRender: 'mediaId' },
-           },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            scopedSlots: { customRender: 'action' },
-          }
-        ],
-		url: {
-          list: "/ctop/userAllocation/list",
-          delete: "/ctop/userAllocation/delete",
-          deleteBatch: "/ctop/userAllocation/deleteBatch",
-          exportXlsUrl: "ctop/userAllocation/exportXls",
-          importExcelUrl: "ctop/userAllocation/importExcel",
-       },
+        {
+          title: '授权名称',
+          align: 'center',
+          dataIndex: 'authName'
+        },
+        {
+          title: '平台类型',
+          align: 'center',
+          dataIndex: 'mediaId',
+          scopedSlots: { customRender: 'mediaId' }
+        },
+        {
+          title: '预警金额',
+          align: 'center',
+          dataIndex: 'warningAmount'
+        },
+        {
+          title: '预警比例',
+          align: 'center',
+          dataIndex: 'warningProportion'
+        },
+        {
+          title: '操作',
+          dataIndex: 'action',
+          align: 'center',
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      url: {
+        list: '/ctop/userAllocation/list',
+        delete: '/ctop/userAllocation/delete',
+        deleteBatch: '/ctop/userAllocation/deleteBatch',
+        exportXlsUrl: 'ctop/userAllocation/exportXls',
+        importExcelUrl: 'ctop/userAllocation/importExcel'
+      }
     }
   },
   computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+    importExcelUrl: function() {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
     }
   },
-    methods: {
-     
-    }
-  }
+  methods: {}
+}
 </script>
 <style scoped>
-  @import '~@assets/less/common.less'
-</style>
+@import '~@assets/less/common.less';
+</style>

+ 2 - 1
src/views/modules/kuaishouapp/account/originality.vue

@@ -202,7 +202,8 @@ export default {
     this.title = JSON.parse(localStorage.getItem('originality')).map(item => {
       return {
         key: item.unitId + '',
-        tab: '广告组:' + item.unitName
+        tab: '广告组:' + item.unitName,
+        sceneId: item.sceneId
       }
     })
     this.getDataList(localStorage.getItem('originalityKey'))

+ 2 - 2
src/views/modules/kuaishouapp/account/stepForm/Step2.vue

@@ -880,12 +880,12 @@ export default {
               this.allForm.success = res.result.success
 
               if (res.result.success.length > 0) {
-                var data = JSON.parse(
+                var dataJson = JSON.stringify(
                   res.result.success.map(item => {
                     return { tab: item.unit_name, key: item.unit_id }
                   })
                 )
-                // localStorage.setItem('pans', data)
+                localStorage.setItem('pans', dataJson)
               }
             }
           })

+ 153 - 117
src/views/modules/kuaishouapp/account/stepForm/Step3.vue

@@ -1,17 +1,99 @@
+<style scoped></style>
+
 <template>
   <a-card :body-style="{ padding: '24px 32px' }" :bordered="false">
     <a-tabs style="width:50%;margin:0 auto">
       <a-tab-pane v-for="pane in pans" :tab="pane.tab" :key="pane.key">
-        <a-form @submit="handleSubmit" :form="form"> 
-            
-
+        <a-form @submit="handleSubmit" :form="form" style="margin-top:20px" :hideRequiredMark="true">
+          <a-form-item
+            label="素材类型"
+            :labelCol="{ lg: { span: 2 }, sm: { span: 4 } }"
+            :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
+          >
+            <a-radio-group buttonStyle="solid" v-decorator="['creative_material_type', { initialValue: '1' }]">
+              <a-radio-button value="1">竖版视频</a-radio-button>
+              <a-radio-button value="2">横版视频</a-radio-button>
+            </a-radio-group>
+          </a-form-item>
+          <a-form-item label="创意内容">
+            <a-layout>
+              <a-layout-content style="padding:10px;">
+                <div :style="{ marginBottom: '16px' }">
+                  <a-button @click="addCreative()">添加创意</a-button>
+                </div>
+                <a-row>
+                  <a-col :span="24" v-for="(item, index) of list" :key="index">
+                    <a-card title :ref="item">
+                      <a-icon type="close" style="float:right;cursor: pointer;" @click="deleteCreative(index)" />
+                      <div style="clear:both"></div>
+                      <div class="dynamically_add_form_item">
+                        <a-form-item label="">
+                          <a @click="getVideoList('video', index, item)">选择视频</a>
+                          <br />
+                          <video
+                            :src="item.videoList.url"
+                            controls="controls"
+                            style="width:25%"
+                            v-if="item.videoList"
+                          ></video>
+                        </a-form-item>
+                        <a-form-item label="">
+                          <a @click="getVideoList('image', index, item)">选择封面</a>
+                          <br />
+                          <img
+                            :src="item.url"
+                            style="width:18%;margin:1%;"
+                            v-for="item of item.imageList"
+                            :key="item.url"
+                          />
+                        </a-form-item>
+                        <a-form-item label="广告语">
+                          <a-textarea
+                            class="rending"
+                            placeholder="请输入广告语"
+                            v-model="item.description"
+                            :autosize="{ minRows: 2, maxRows: 6 }"
+                          ></a-textarea>
+                        </a-form-item>
+                        <a-form-item label="创意标题">
+                          <a-input class="rending" v-model="item.name"></a-input>
+                        </a-form-item>
+                      </div>
+                    </a-card>
+                  </a-col>
+                </a-row>
+              </a-layout-content>
+            </a-layout>
+          </a-form-item>
+          <a-form-item
+            label="素材类型"
+            :labelCol="{ lg: { span: 2 }, sm: { span: 4 } }"
+            :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
+          >
+            <!-- <a-radio-group buttonStyle="solid" v-decorator="['action_bar_text', { initialValue: '1' }]">
+              <a-radio-button value="1">竖版视频</a-radio-button>
+              <a-radio-button value="2">横版视频</a-radio-button>
+            </a-radio-group> -->
+            <a-select
+              v-decorator="['action_bar_text', { rules: [{ required: true, message: '行动号召按钮文案' }] }]"
+              showSearch
+              allowClear
+              placeholder="选择行动号召按钮文案"
+              optionFilterProp="children"
+              :filterOption="filterOption"
+            >
+              <a-select-option v-for="appModel in appList" :key="appModel.id" :value="appModel.actionBarText">
+                {{ appModel.actionBarText }}
+              </a-select-option>
+            </a-select>
+          </a-form-item>
         </a-form>
       </a-tab-pane>
     </a-tabs>
     <a-form-item :wrapperCol="{ span: 24 }" style="text-align: center">
-      <a-button type="primary" :loading="loading" @click="handleSubmit">提交</a-button>
-      <a-button style="margin-left: 8px" @click="prevStep">上一步</a-button>
+      <a-button type="primary" @click="handleSubmit">提交</a-button>
     </a-form-item>
+    <checkMatemal ref="check" @showVideo="showData"></checkMatemal>
   </a-card>
 </template>
 
@@ -23,124 +105,75 @@ import moment from 'moment'
 import VuePreview from 'vue-preview'
 import jq from 'jquery'
 import { stopOtherVideo, closeAllVideoFun } from '@/utils/videoControl' // 停止除当前外的其他视频播放,及停止所有视频播放的方法
-import { fileCheck, fileInsert } from '@/api/actor'
-import BMF from 'browser-md5-file'
+import checkMatemal from './stepModule/checkMatemal'
 export default {
   name: 'BaseForm',
   components: {
     UploadToAli,
-    VuePreview
+    VuePreview,
+    checkMatemal
   },
   data() {
     return {
       pans: [],
-      allForm: { sceneId: '' },
+      allForm: { videoList: '', imageList: [] },
       form: this.$form.createForm(this),
-      accountId: '', // 快手 accountId
-      accountList: {},
-      campaignId: '', //广告计划id
-      targetPopulation: '',
-      changeOnSelectValue: true,
-      ids: [],
-      showDeliveryType: false,
-      deliveryType: '1',
-      creativeMaterialType: '1',
-      singlePicture: false, // 展示单张图片
-      videoUploadType: '1',
-      showSinglePicTiepianType: false, // 贴片类型
-      showSinglePicType: false, //
-      singlePicTiepianType: '1', // 贴片方式
-      singlePicType: '1', //
-      localUpload: false,
-      localUrl: '', // 本地上传地址
-      selectVideoUpload: true,
-      hasSinglePicVideoUpload: false, // 有单张图片的作品上传
-      hasSinglePicCoverUpload: false, // 有单张图片的封面上传
-      videoUrl: '', // 视频id
-      haveSinglePicVideoUrl: [], // 有单张图片的视频id集合
-      haveSinglePicimagesList: [], // // 有单张图片的图片集合
-      tiepianVideoLocalUpload: false, // 贴片视频本地上传
-      tiepianVideoLocalUploadList: [], // 贴片视频本地上传id集合
-      tiepianImageLocalUpload: false, // 贴片视频本地上传
-      tiepianImageLocalUploadList: [], // 贴片视频本地上传id集合
-      videoList: [],
-      radioStyle: {
-        // 视频单选样式
-        display: 'block',
-        height: '30px',
-        lineHeight: '30px'
-      },
-      showUploadType: true,
-      localImageUrl: [], //图片地址
-      showImageUpload: false,
-      imageList: [],
-      imageUrl: [],
-      sceneId: '', // 资源位置
-      showCover: true,
-      imageType: '1',
-      actionBarTextList: [],
-      actionBarTextDesc: '',
-      description: '', // 作品广告语
-      creativeName: '', //创意名称
-      clickTrackUrl: '', // 第三方检测链接
-      showLocalImageUpload: false,
-      showUploadImageRadio: true,
-      showUploadSinglePicType: false, // 单张图片上传类型
-      changeSinglePicType: '1', // 单张图片上传方式
-      visible: false,
-      visibleVideo: false,
-      visibleSinglePicVideo: false,
-      visibleSinglePicCover: false,
-      isAllChecked: false,
-      showClickTrackUrl: true,
-      showImpressionUrl: false,
-      loading: false,
-      impressionUrl: '',
-      positionType: '',
-      checkeds: [],
-      customDomain: '',
-      acceptVideo: 'video/mpeg,video/mp4',
-      acceptImage: 'image/jpeg,image,jpg/png',
-      accessKeyId: 'LTAIbNbqWzSOklQV',
-      accessKeySecret: '1rkPz7JNoXk8sJevPaeYHWqfkQXBGh',
-      region: 'oss-cn-beijing',
-      bucket: 'ctop-media',
-      options: [],
-      labelCol: {
-        xs: {
-          span: 7
-        },
-        sm: {
-          span: 7
-        }
-      },
-      wrapperCol: {
-        xs: {
-          span: 10
-        },
-        sm: {
-          span: 17
-        }
-      },
-
-      url: {
-        userAllocationList: '/ctop/userAllocation/list',
-        getOptionsUrl: '/kuaishou/create/getOptions',
-        getChildrenUrl: '/kuaishou/create/getChildren',
-        videoListUrl: '/kuaishou/kuaiShouVideo/list',
-        imageListUrl: '/kuaishou/kuaiShouImage/image/list',
-        actionBarTextListUrl: '/kuaishou/kuaiShouActionBarText/list',
-        getDescriptionUrl: '/kuaishou/kuaiShouVideo/queryShouVideo',
-
-        creativeUrl: '/kuaishou/create/createCreative',
-        selectGroupCreate: '/kuaishou/kuaiShouGroupCreateLog/select/group'
-      }
+      list: [],
+      vertical: 'vertical',
+      appList: []
     }
   },
   methods: {
+    showData(item, type) {
+      this.list[item.key].imageList = []
+      if (type == 'video') {
+        this.list[item.key].videoList = item.video
+        getAction('/kuaishou/batch/getCreativeCopywriter', { code: item.video.signature }).then(res => {
+          console.log(res)
+          if (res.success) {
+            this.list[item.key].description = res.result.creativeCopywriter
+          }
+        })
+      } else {
+        this.list[item.key].imageList.push(...item.image)
+      }
+    },
+    getData(className) {
+      return this.form.getFieldValue(className)
+    },
+    getVideoList(type, index, item) {
+      if (type == 'video') {
+        this.$refs.check.showCheck(
+          this.getData('creative_material_type'),
+          '/kuaishou/batch/getVideoList',
+          item.videoList,
+          type,
+          index
+        )
+      } else {
+        this.$refs.check.showCheck(
+          this.getData('creative_material_type'),
+          '/kuaishou/batch/getImageList',
+          item.imageList,
+          type,
+          index
+        )
+      }
+    },
     handleSubmit(e) {
       //   e.preventDefault()
-      this.nextStep()
+      //   this.nextStep()
+
+      var dataJson = this.list.map(item => {
+        return {
+          description: item.description,
+          imageList: item.imageList.map((ele, index) => {
+            return { image: ele.imageToken, name: index + 1 + '-' + item.name }
+          }),
+          videoList: item.videoList.photoId
+        }
+      })
+      console.log(dataJson)
     },
     nextStep() {
       var that = this
@@ -150,6 +183,15 @@ export default {
     },
     prevStep() {
       this.$emit('prevStep')
+    },
+    addCreative() {
+      this.list.push({ videoList: '', imageList: [], name: '', description: '' })
+    },
+    deleteCreative(index) {
+      this.list.splice(index, 1)
+    },
+    filterOption(input, option) {
+      return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
     }
   },
   computed: {
@@ -176,15 +218,9 @@ export default {
   },
   mounted: function() {
     this.pans = JSON.parse(localStorage.getItem('pans'))
-    var params = {}
-    params.campaignId = localStorage.getItem('campaignId')
-    params.accountId = localStorage.getItem('accountId')
-    params.pageNo = 1
-    params.pageSize = 10
-    getAction('/kuaishou/batch/getUnitList', params).then(res => {
-      console.log(res)
+    getAction('/kuaishou/batch/getActionBarText', { campaignId: localStorage.getItem('campaignId') }).then(res => {
       if (res.success) {
-        this.allForm.sceneId = JSON.parse(res.result.record[0].sceneId)[0]
+        this.appList = res.result
       }
     })
   }

+ 180 - 0
src/views/modules/kuaishouapp/account/stepForm/stepModule/checkMatemal.vue

@@ -0,0 +1,180 @@
+<style lang="scss" scoped>
+.actor-photo-list {
+  display: flex;
+  padding-left: 0;
+  li {
+    width: 25%;
+    margin: 10px;
+    position: relative;
+    height: 380px;
+    border: 1px solid #f2f2f2;
+    list-style: none;
+    padding: 10px;
+    img,
+    video {
+      width: 100%;
+      //   margin-top: auto;
+      //   margin-bottom: auto;
+      //   top: 0;
+      //   bottom: 0;
+      //   position: absolute;
+      //   max-height: 350px;
+    }
+  }
+}
+</style>
+<template>
+  <div>
+    <a-modal title="选择素材" v-model="visibleMatemal" @ok="handleOk" @cancel="close" :width="1000">
+      <div>
+        <ul class="actor-photo-list">
+          <a-checkbox-group
+            v-model="checkArr"
+            style="width:100%;  display: flex;padding-left: 0;"
+            @change="onChangeCheck"
+          >
+            <li v-for="(item, index) of dataSource" :key="index">
+              <a-checkbox :value="item" style="position:absolute;z-index:100;padding-right:30px">
+                <video
+                  class="video"
+                  v-if="active == 'video'"
+                  :src="item.url"
+                  controls="controls"
+                  style="min-height:160px"
+                >
+                  您的浏览器不支持 video 标签。
+                </video>
+                <img :src="item.url" v-else alt="" />
+              </a-checkbox>
+            </li>
+          </a-checkbox-group>
+        </ul>
+      </div>
+      <div style="text-align:right">
+        <a-pagination
+          size="small"
+          :showTotal="ipagination.showTotal"
+          style="float:right"
+          v-if="dataSource.length > 0"
+          showQuickJumper
+          :pageSize.sync="ipagination.pageSize"
+          :total="ipagination.total"
+          v-model="ipagination.current"
+          @change="getDataSource"
+        />
+      </div>
+    </a-modal>
+  </div>
+</template>
+
+<script>
+import { getAction, postAction, postFile } from '@/api/manage'
+import { mapGetters } from 'vuex'
+import { stopOtherVideo, closeAllVideoFun } from '@/utils/videoControl' // 停止除当前外的其他视频播放,及停止所有视频播放的方法
+export default {
+  name: 'check-matemal',
+  components: {},
+
+  data() {
+    return {
+      url: {
+        list: '/kuaishou/batch/getVideoList'
+      },
+      visibleMatemal: false,
+      dataSource: [],
+      columns: [],
+      checkArr: [],
+      active: '',
+      joinVideo: {
+        video: '',
+        image: [],
+        key: 1
+      },
+      ipagination: {
+        current: 1,
+        pageSize: 4,
+        //   pageSizeOptions: ['10', '20', '30'],
+        showTotal: (total, range) => {
+          return range[0] + '-' + range[1] + ' 共' + total + '条'
+        },
+        showQuickJumper: true,
+        //   showSizeChanger: true,
+        total: 0,
+        onChange: current => {
+          // 切换分页时的回调,
+          // 当在页面定义change事件时,切记要把此处的事件清除,因为这两个事件重叠了,可能到时候会导致一些莫名的bug
+          this.ipagination.current = current
+        }
+      }
+    }
+  },
+  watch: {},
+  updated() {
+    stopOtherVideo()
+  },
+  methods: {
+    showCheck(typeName, url, item, typeString, key) {
+      this.dataSource = []
+      this.visibleMatemal = true
+      this.joinVideo.key = key
+      var params = {}
+      params.accountId = localStorage.getItem('accountId')
+      params.materialType = typeName
+      params.pageSize = this.ipagination.pageSize
+      params.pageNo = this.ipagination.current
+      this.active = typeString
+      this.numberType = typeName
+      this.url.list = url
+      this.getData(url, params)
+    },
+    getData(url, params) {
+      getAction(url, params).then(res => {
+        if (res.success) {
+          this.dataSource = res.result.records
+          this.ipagination.total = res.result.total
+        }
+      })
+    },
+    ...mapGetters(['nickname', 'avatar', 'userInfo']),
+    handleOk() {
+      this.visibleMatemal = false
+      this.checkArr = []
+      this.ipagination.current = 1
+      this.$emit('showVideo', this.joinVideo, this.active)
+    },
+    close() {},
+    getDataSource(page, pageSize) {
+      this.ipagination.current = page
+      var params = {}
+      params.accountId = localStorage.getItem('accountId')
+      params.materialType = this.numberType
+      params.pageSize = this.ipagination.pageSize
+      params.pageNo = page
+      this.getData(this.url.list, params)
+    },
+    onChangeCheck(checkedList) {
+      console.log(checkedList)
+      //  { value: 'VIDEO_HEAD', tab: '片头' },
+      // { value: 'VIDEO_PART', tab: '片段' },
+      // { value: 'VIDEO_TAIL', tab: '片尾' }
+      if (this.active == 'video') {
+        //片头
+        if (this.checkArr.length > 1) {
+          this.checkArr.shift()
+          this.joinVideo.video = checkedList[0]
+        } else if (this.checkArr.length == 1) {
+          this.joinVideo.video = checkedList[0]
+        } else if (this.checkArr.length == 0) {
+          this.joinVideo.video = ''
+        }
+      } else {
+        //内容
+        this.joinVideo.image = checkedList
+      }
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>