Browse Source

Merge remote-tracking branch 'origin/master'

syh 4 years ago
parent
commit
91cc7e6759

+ 26 - 13
src/views/modules/BatchCreate/components/material.vue

@@ -63,7 +63,7 @@
                         :bucket="bucket" :accept="acceptImage" :size="102400" :accessKeyId="accessKeyId"
                         :bucket="bucket" :accept="acceptImage" :size="102400" :accessKeyId="accessKeyId"
                         :accessKeySecret="accessKeySecret"></upload-to-ali> -->
                         :accessKeySecret="accessKeySecret"></upload-to-ali> -->
                       <a @click="getImageList(item)" v-if="item.imageUrl==''">选择图片</a>
                       <a @click="getImageList(item)" v-if="item.imageUrl==''">选择图片</a>
-                      <img :src="item.imageUrl" alt="" v-else>
+                      <img :src="item.imageUrl" alt="" v-else style="width:120px">
                     </a-form-item>
                     </a-form-item>
 
 
                     <a-form-item label="创意标题" :labelCol="labelCol" :wrapperCol="wrapperCol"
                     <a-form-item label="创意标题" :labelCol="labelCol" :wrapperCol="wrapperCol"
@@ -103,11 +103,14 @@
     </div>
     </div>
     <!-- 创建大图横图创意 -->
     <!-- 创建大图横图创意 -->
 
 
-    <a-modal :maskClosable="false" title="选择素材" v-model="visibleMatemal" @ok="handleOkShow" :width="1000">
+    <a-modal :maskClosable="false" title="选择素材" v-model="visibleMatemal" @ok="handleOkShow" :width="1000" :height='500'>
+      <div >
+
+     
       <a-range-picker name="buildTime" style="width: 400px;margin:10px 0" v-model="time" />
       <a-range-picker name="buildTime" style="width: 400px;margin:10px 0" v-model="time" />
-      <ul v-if="dataSource.length>0" style="overflow:auto;padding-left:0">
+      <ul v-if="dataSource.length>0" :style="{height:materialType == 'CREATIVE_IMAGE_MODE_VIDEO'?'200px':'380px'}">
         <a-checkbox-group v-model="checkVideo" @change="onChangeVideo" style="width:100%">
         <a-checkbox-group v-model="checkVideo" @change="onChangeVideo" style="width:100%">
-          <li v-for="(item,index) of dataSource" :key="index" class="chouzhen" style="height:350px;">
+          <li v-for="(item,index) of dataSource" :key="index" class="chouzhen" >
 
 
             <!-- <video class="video" :src="item.url" controls="controls" style="width:100%">
             <!-- <video class="video" :src="item.url" controls="controls" style="width:100%">
                   您的浏览器不支持 video 标签。
                   您的浏览器不支持 video 标签。
@@ -147,12 +150,14 @@
           showQuickJumper :pageSize.sync="ipagination.pageSize" :total="ipagination.total" v-model="ipagination.current"
           showQuickJumper :pageSize.sync="ipagination.pageSize" :total="ipagination.total" v-model="ipagination.current"
           @change="getDataSource" />
           @change="getDataSource" />
       </div>
       </div>
+       </div>
+
     </a-modal>
     </a-modal>
     <a-modal :maskClosable="false" title="选择素材" v-model="visibleMatemalImage" @ok="handleOkShowImage" :width="1000">
     <a-modal :maskClosable="false" title="选择素材" v-model="visibleMatemalImage" @ok="handleOkShowImage" :width="1000">
       <a-range-picker name="buildTime" style="width: 400px;margin:10px 0" v-model="time" />
       <a-range-picker name="buildTime" style="width: 400px;margin:10px 0" v-model="time" />
-      <ul v-if="dataSource.length>0" style="overflow:auto;padding-left:0">
+      <ul v-if="dataSource.length>0" style="overflow:auto;padding-left:0;">
         <a-checkbox-group v-model="checkVideo" @change="onChangeVideo" style="width:100%">
         <a-checkbox-group v-model="checkVideo" @change="onChangeVideo" style="width:100%">
-          <li v-for="(item,index) of dataSource" :key="index" class="chouzhen" style="height:350px;">
+          <li v-for="(item,index) of dataSource" :key="index" class="chouzhen" style="height:350px">
 
 
             <!-- <video class="video" :src="item.url" controls="controls" style="width:100%">
             <!-- <video class="video" :src="item.url" controls="controls" style="width:100%">
                   您的浏览器不支持 video 标签。
                   您的浏览器不支持 video 标签。
@@ -315,10 +320,12 @@
             this.ipagination.current = current
             this.ipagination.current = current
           }
           }
         },
         },
+        isImg:false,
       }
       }
     },
     },
     methods: {
     methods: {
       getDataSource(page, pageSize) {
       getDataSource(page, pageSize) {
+        console.log(this.isImg)
         this.ipagination.current = page
         this.ipagination.current = page
         var params = {}
         var params = {}
         params.accountId = "1649600126891015"
         params.accountId = "1649600126891015"
@@ -328,15 +335,16 @@
           params.startDate = moment(this.time[0]).format('YYYY-MM-DD')
           params.startDate = moment(this.time[0]).format('YYYY-MM-DD')
           params.endDate = moment(this.time[1]).format('YYYY-MM-DD')
           params.endDate = moment(this.time[1]).format('YYYY-MM-DD')
         }
         }
-        if (this.materialType == 'CREATIVE_IMAGE_MODE_VIDEO' || this.materialType ==
-          'CREATIVE_IMAGE_MODE_VIDEO_VERTICAL') {
+        if ((this.materialType == 'CREATIVE_IMAGE_MODE_VIDEO' || this.materialType ==
+          'CREATIVE_IMAGE_MODE_VIDEO_VERTICAL')&&!this.isImg) {
           if (this.materialType == 'CREATIVE_IMAGE_MODE_VIDEO') {
           if (this.materialType == 'CREATIVE_IMAGE_MODE_VIDEO') {
             params.type = 2
             params.type = 2
           } else {
           } else {
             params.type = 1
             params.type = 1
           }
           }
           this.showVideoList('/bytedance/batch/getVideoList', params)
           this.showVideoList('/bytedance/batch/getVideoList', params)
-        } else {
+        } else if(this.isImg){
+          console.log(this.isImg)
           this.showVideoList('/bytedance/batch/getImageList', params)
           this.showVideoList('/bytedance/batch/getImageList', params)
         }
         }
       },
       },
@@ -346,6 +354,8 @@
         this.visibleMatemalImage = true
         this.visibleMatemalImage = true
 
 
         this.ipagination.current = 1
         this.ipagination.current = 1
+
+        this.isImg=true;
         var params = {}
         var params = {}
         params.accountId = '1649600126891015'
         params.accountId = '1649600126891015'
         params.pageSize = this.ipagination.pageSize
         params.pageSize = this.ipagination.pageSize
@@ -386,7 +396,7 @@
         this.checkVideo = []
         this.checkVideo = []
         this.nowItem = item
         this.nowItem = item
         this.visibleMatemal = true
         this.visibleMatemal = true
-
+        this.isImg=false
         this.ipagination.current = 1
         this.ipagination.current = 1
         var params = {}
         var params = {}
         params.accountId = '1649600126891015'
         params.accountId = '1649600126891015'
@@ -399,9 +409,9 @@
         if (this.materialType == 'CREATIVE_IMAGE_MODE_VIDEO' || this.materialType ==
         if (this.materialType == 'CREATIVE_IMAGE_MODE_VIDEO' || this.materialType ==
           'CREATIVE_IMAGE_MODE_VIDEO_VERTICAL') {
           'CREATIVE_IMAGE_MODE_VIDEO_VERTICAL') {
           if (this.materialType == 'CREATIVE_IMAGE_MODE_VIDEO') {
           if (this.materialType == 'CREATIVE_IMAGE_MODE_VIDEO') {
-            params.type = 1
+            params.type = 2
           } else {
           } else {
-            params.type = 0
+            params.type = 1
           }
           }
 
 
           this.showVideoList('/bytedance/batch/getVideoList', params)
           this.showVideoList('/bytedance/batch/getVideoList', params)
@@ -961,7 +971,10 @@
   .opt {
   .opt {
     text-align: right;
     text-align: right;
   }
   }
-
+  ul{
+    overflow:auto;
+    padding-left:0
+  }
   .chouzhen {
   .chouzhen {
     border-style: solid;
     border-style: solid;
     border-width: 1px;
     border-width: 1px;

+ 33 - 12
src/views/modules/BatchCreate/newCreate.vue

@@ -356,7 +356,16 @@
         </div>
         </div>
       </div>
       </div>
     </a-form>
     </a-form>
-
+      <div class="infoModal">
+         <a-modal v-model="visible" title="提示
+         "  @ok="handleOk">
+            <ul>
+              <li v-for="(item,index) in errorInfo" :key="index">
+                  <span>第{{index+1}}条:</span>{{item.message}}
+              </li>
+            </ul>
+          </a-modal>
+      </div>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -433,13 +442,20 @@
         },
         },
         thirdIndustryId:undefined,
         thirdIndustryId:undefined,
         adposition:'smartInventorys',
         adposition:'smartInventorys',
-        sceneInventory:'VIDEO_SCENE'
+        sceneInventory:'VIDEO_SCENE',
+
+        errorInfo:[],
+        visible:false,
       }
       }
     },
     },
     components: {
     components: {
       material
       material
     },
     },
     methods: {
     methods: {
+      handleOk(e) {
+        // console.log(e);
+        this.visible = false;
+      },
       handleClose(removedTag) {
       handleClose(removedTag) {
         const tags = this.createTipList.filter(tag => tag !== removedTag)
         const tags = this.createTipList.filter(tag => tag !== removedTag)
         this.createTipList = tags
         this.createTipList = tags
@@ -609,24 +625,27 @@
                   values.sceneInventory=this.sceneInventory
                   values.sceneInventory=this.sceneInventory
                   
                   
                 }
                 }
+                values.adKeywords=this.createTipList;
 
 
+                let adIds=[];
+                this.planInfo.forEach(item=>{
+                    adIds.push(item.id)
+                })
                 postAction('/bytedance/batch/create/creative', {
                 postAction('/bytedance/batch/create/creative', {
                   accountId:this.accountInfo.value,
                   accountId:this.accountInfo.value,
-                  adIds: ["1673732908509245"],
+                  adIds,
                   ...values,
                   ...values,
                   creatives: dataCreatives
                   creatives: dataCreatives
                 }).then((res) => {
                 }).then((res) => {
                   console.log(res)
                   console.log(res)
                   if (res.success) {
                   if (res.success) {
-                     console.log(res)
-                    if (res.code == 0) {
-                     
-                    } else {
-                      this.$message.error(res.message)
-                    }
-
+                    this.errorInfo=res.data;
+                    this.visible=true;
+                    // res.data.forEach((item)=>{
+                    //   this.$message.error(item.message)
+                    // })
                   } else {
                   } else {
-                    this.$message.error('网络开小差了,等会再试试')
+
                   }
                   }
                 })
                 })
             } else {
             } else {
@@ -635,7 +654,8 @@
           })
           })
 
 
         })
         })
-      }
+      },
+      
     },
     },
     mounted() {
     mounted() {
       this.initFormValue();
       this.initFormValue();
@@ -651,6 +671,7 @@
       if (planInfo) {
       if (planInfo) {
         this.planInfo = JSON.parse(planInfo)
         this.planInfo = JSON.parse(planInfo)
       }
       }
+      
       console.log(this.planInfo)
       console.log(this.planInfo)
       let groupInfo = localStorage.getItem('groupInfo')
       let groupInfo = localStorage.getItem('groupInfo')
    
    

+ 1 - 1
src/views/modules/BatchCreate/newPlan.vue

@@ -1121,7 +1121,7 @@ export default {
                 console.log(res)
                 console.log(res)
                 if (res.success) {
                 if (res.success) {
                   if(res.code==0){
                   if(res.code==0){
-                     this.$message.success('广告计划创建成功,2s后将跳转到新建计划页面')
+                     this.$message.success('广告计划创建成功,2s后将跳转到新建创意页面')
                     let planInfo=JSON.stringify(res.result)
                     let planInfo=JSON.stringify(res.result)
                     localStorage.setItem('planInfo',planInfo);
                     localStorage.setItem('planInfo',planInfo);
                     setTimeout(()=>{
                     setTimeout(()=>{

+ 216 - 55
src/views/modules/Statistics/effectReport.vue

@@ -27,6 +27,7 @@
             <a-tab-pane :key="5" tab="广告创意"> </a-tab-pane>
             <a-tab-pane :key="5" tab="广告创意"> </a-tab-pane>
         </a-tabs>
         </a-tabs>
         <div class="tableBody">
         <div class="tableBody">
+          <a-spin :spinning="spinning">
             <a-table :columns="columns" 
             <a-table :columns="columns" 
             :data-source="tableData" 
             :data-source="tableData" 
             :scroll="{ x: 3500 }"  
             :scroll="{ x: 3500 }"  
@@ -36,6 +37,15 @@
              @change="tableChange"
              @change="tableChange"
             >
             >
                 <a slot="projectName" slot-scope="text,records" @click="goAccount(records)">{{text}}</a>
                 <a slot="projectName" slot-scope="text,records" @click="goAccount(records)">{{text}}</a>
+                <a slot="authName" slot-scope="text,records" @click="goCampaign(records)">{{text}}</a>
+                <a slot="campaignName" slot-scope="text,records" @click="goUnit(records)">{{text}}</a>
+                <a slot="unitName" slot-scope="text,records" @click="goCreative(records)">{{text}}</a>
+                <a slot="creativeName" slot-scope="creativeName" >{{creativeName}}</a>
+
+                <a slot="coverUrl" slot-scope="text,records" >
+                  <img :src="text" alt="" style="width:100px" @click="openVideo(records)">
+                </a>
+
                 <span slot="charge" slot-scope="charge"> {{charge|decimalsHandle}}</span>
                 <span slot="charge" slot-scope="charge"> {{charge|decimalsHandle}}</span>
                 <span slot="activationCost" slot-scope="activationCost"> {{activationCost|decimalsHandle}}</span>
                 <span slot="activationCost" slot-scope="activationCost"> {{activationCost|decimalsHandle}}</span>
                 <span slot="eventNextDayStayCost" slot-scope="eventNextDayStayCost"> {{eventNextDayStayCost|decimalsHandle}}</span>
                 <span slot="eventNextDayStayCost" slot-scope="eventNextDayStayCost"> {{eventNextDayStayCost|decimalsHandle}}</span>
@@ -68,11 +78,25 @@
                 <span slot="photoClickRatio" slot-scope="photoClickRatio"> {{photoClickRatio|toPercentage}}</span>
                 <span slot="photoClickRatio" slot-scope="photoClickRatio"> {{photoClickRatio|toPercentage}}</span>
                 <span slot="actionRate" slot-scope="actionRate"> {{actionRate|toPercentage}}</span>
                 <span slot="actionRate" slot-scope="actionRate"> {{actionRate|toPercentage}}</span>
 
 
-
-                
             </a-table>
             </a-table>
+          </a-spin>  
         </div>
         </div>
     </div>
     </div>
+    <div >
+      <a-modal v-model="visible" title="视频详情" @ok="handleOk" :width='currentRecords.materialType==1?"350px" :"600px"'>
+        <div style="display:flex;justify-content:center">
+          <div style="margin-right:15px">
+            <video :src="imgSrc" style="width:250px" controls  v-if="currentRecords.materialType==1"></video>
+            <video :src="imgSrc" style="width:500px" controls v-if="currentRecords.materialType==2"></video>
+          </div>
+          <div>
+            <!-- <p> 标题:{{currentRecords.creativeName}}</p> -->
+            <!-- <p> 标题:{{currentRecords.creativeName}}</p> -->
+          </div>
+        </div>
+        
+      </a-modal>
+    </div>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -244,7 +268,7 @@ const projectColumns = [
   {
   {
     title: '项目名称',
     title: '项目名称',
     dataIndex: 'projectName',
     dataIndex: 'projectName',
-    width: 200,
+    width: 150,
     align:'center',
     align:'center',
     scopedSlots: { customRender: 'projectName' },
     scopedSlots: { customRender: 'projectName' },
     fixed: 'left'
     fixed: 'left'
@@ -271,7 +295,7 @@ const projectColumns = [
   {
   {
     title: '时间',
     title: '时间',
     dataIndex: 'statDate',
     dataIndex: 'statDate',
-    width:200,
+    // width:200,
     scopedSlots: { customRender: 'statDate' },
     scopedSlots: { customRender: 'statDate' },
     align:'center',
     align:'center',
   },
   },
@@ -280,23 +304,24 @@ const projectColumns = [
 const accountColumns = [
 const accountColumns = [
   {
   {
     title: '账户名称',
     title: '账户名称',
-    dataIndex: 'authNAme',
-    width: 200,
+    dataIndex: 'authName',
+    width: 130,
     align:'center',
     align:'center',
-    scopedSlots: { customRender: 'authNAme' },
+    scopedSlots: { customRender: 'authName' },
     fixed: 'left'
     fixed: 'left'
   },
   },
   {
   {
     title: '账户id',
     title: '账户id',
     dataIndex: 'accountId',
     dataIndex: 'accountId',
     align:'center',
     align:'center',
+    width:90,
     scopedSlots: { customRender: 'accountId' },
     scopedSlots: { customRender: 'accountId' },
     fixed: 'left'
     fixed: 'left'
   },
   },
   {
   {
     title: '项目名称',
     title: '项目名称',
     dataIndex: 'projectName',
     dataIndex: 'projectName',
-    width: 200,
+    width: 130,
     align:'center',
     align:'center',
     scopedSlots: { customRender: 'projectName' },
     scopedSlots: { customRender: 'projectName' },
     fixed: 'left'
     fixed: 'left'
@@ -305,7 +330,7 @@ const accountColumns = [
   {
   {
     title: '时间',
     title: '时间',
     dataIndex: 'statDate',
     dataIndex: 'statDate',
-    width:200,
+    // width:200,
     scopedSlots: { customRender: 'statDate' },
     scopedSlots: { customRender: 'statDate' },
     align:'center',
     align:'center',
   },
   },
@@ -316,7 +341,7 @@ const campaignColumns = [
   {
   {
     title: '广告计划名称',
     title: '广告计划名称',
     dataIndex: 'campaignName',
     dataIndex: 'campaignName',
-    width: 200,
+    width: 130,
     align:'center',
     align:'center',
     scopedSlots: { customRender: 'campaignName' },
     scopedSlots: { customRender: 'campaignName' },
     fixed: 'left'
     fixed: 'left'
@@ -326,21 +351,22 @@ const campaignColumns = [
     dataIndex: 'campaignId',
     dataIndex: 'campaignId',
     align:'center',
     align:'center',
     scopedSlots: { customRender: 'campaignId' },
     scopedSlots: { customRender: 'campaignId' },
-    fixed: 'left'
+    fixed: 'left',
+    width:100,
   },
   },
   {
   {
     title: '账户名称',
     title: '账户名称',
-    dataIndex: 'authNAme',
-    width: 200,
+    dataIndex: 'authName',
+    width: 120,
     align:'center',
     align:'center',
-    scopedSlots: { customRender: 'authNAme' },
+    scopedSlots: { customRender: 'authName' },
     fixed: 'left'
     fixed: 'left'
   },
   },
   
   
   {
   {
     title: '时间',
     title: '时间',
     dataIndex: 'statDate',
     dataIndex: 'statDate',
-    width:200,
+    // width:200,
     scopedSlots: { customRender: 'statDate' },
     scopedSlots: { customRender: 'statDate' },
     align:'center',
     align:'center',
   },
   },
@@ -351,22 +377,24 @@ const campaignColumns = [
 const unitColumns = [
 const unitColumns = [
   {
   {
     title: '广告组名称',
     title: '广告组名称',
-    dataIndex: 'campaignId',
+    dataIndex: 'unitName',
     align:'center',
     align:'center',
-    scopedSlots: { customRender: 'campaignId' },
-    fixed: 'left'
+    scopedSlots: { customRender: 'unitName' },
+    fixed: 'left',
+    width:130,
   },
   },
   {
   {
     title: '广告组id',
     title: '广告组id',
-    dataIndex: 'campaignId',
+    dataIndex: 'unitId',
     align:'center',
     align:'center',
-    scopedSlots: { customRender: 'campaignId' },
+    width:90,
+    scopedSlots: { customRender: 'unitId' },
     fixed: 'left'
     fixed: 'left'
   },
   },
   {
   {
     title: '计划名称',
     title: '计划名称',
     dataIndex: 'campaignName',
     dataIndex: 'campaignName',
-    width: 200,
+    width: 130,
     align:'center',
     align:'center',
     scopedSlots: { customRender: 'campaignName' },
     scopedSlots: { customRender: 'campaignName' },
     fixed: 'left'
     fixed: 'left'
@@ -375,7 +403,7 @@ const unitColumns = [
   {
   {
     title: '时间',
     title: '时间',
     dataIndex: 'statDate',
     dataIndex: 'statDate',
-    width:200,
+    // width:200,
     scopedSlots: { customRender: 'statDate' },
     scopedSlots: { customRender: 'statDate' },
     align:'center',
     align:'center',
   },
   },
@@ -384,36 +412,43 @@ const unitColumns = [
 ]
 ]
 
 
 const ideaColumns = [
 const ideaColumns = [
+    {
+      title: '创意',
+      dataIndex: 'coverUrl',
+      align:'center',
+      scopedSlots: { customRender: 'coverUrl' },
+      fixed: 'left',
+      width:120,
+    },
    {
    {
-    title: '创意',
-    dataIndex: 'coverUrl',
+    title: '创意名称',
+    dataIndex: 'creativeName',
     align:'center',
     align:'center',
-    scopedSlots: { customRender: 'coverUrl' },
-    fixed: 'left'
+    scopedSlots: { customRender: 'creativeName' },
+    fixed: 'left',
+    width:130,
   },
   },
+
   {
   {
     title: '广告组名称',
     title: '广告组名称',
-    dataIndex: 'campaignId',
+    dataIndex: 'unitName',
     align:'center',
     align:'center',
-    scopedSlots: { customRender: 'campaignId' },
-    fixed: 'left'
+    scopedSlots: { customRender: 'unitName' },
+    fixed: 'left',
+    width:130,
   },
   },
- 
- 
 
 
   {
   {
     title: '时间',
     title: '时间',
     dataIndex: 'statDate',
     dataIndex: 'statDate',
-    width:200,
+    // width:200,
     scopedSlots: { customRender: 'statDate' },
     scopedSlots: { customRender: 'statDate' },
     align:'center',
     align:'center',
   },
   },
  
  
 ]
 ]
 
 
-
-
-  export default {
+export default {
     mixins:[JeecgListMixin],
     mixins:[JeecgListMixin],
     data() {
     data() {
       return {
       return {
@@ -424,10 +459,27 @@ const ideaColumns = [
         columns:[...projectColumns,...publicColumns],
         columns:[...projectColumns,...publicColumns],
         loading:false,
         loading:false,
         tabKey:1,
         tabKey:1,
-        currentid:undefined
+        currentid:undefined,
+        accountId:undefined,
+        projectId:undefined,
+        campaignId:undefined,
+        unitId:undefined,    
+        spinning:false,  
+        visible:false,
+        imgSrc:undefined,
+        currentRecords:{},
       }
       }
     },
     },
     methods: {
     methods: {
+      handleOk(e) {
+        // console.log(e);
+        this.visible = false;
+      },
+      openVideo(records){
+        this.visible=true;
+        this.imgSrc=records.url;
+        this.currentRecords=records
+      },
       // 过滤事件
       // 过滤事件
       filterOption(input, option) {
       filterOption(input, option) {
         return (
         return (
@@ -442,27 +494,32 @@ const ideaColumns = [
         console.log(val)
         console.log(val)
       },
       },
       dateChange(date,dateString){
       dateChange(date,dateString){
-        console.log(data,dateString)
+        console.log(date,dateString)
       },
       },
       // tab切换事件
       // tab切换事件
       tabKeyChange(key){
       tabKeyChange(key){
-        console.log(key)
-        if(key==1){
-          this.getTableProjectList()
-        }else if(key==2){
-          this.getTableAccountList();
-        }
+        // console.log(key)
+        // if(key==1){
+        //   this.getTableProjectList()
+        // }else if(key==2){
+        //   this.getTableAccountList();
+        // }else if(){
+
+        // }
+        this.search();
       },
       },
       // x项目的table值
       // x项目的table值
       getTableProjectList(paramse){   
       getTableProjectList(paramse){   
         this.loading=true;     
         this.loading=true;     
-        this.tabKey=1;
-        this.loading=true; 
+        this.spinning=true;
+        this.ipagination.current=0;
         this.columns= [...projectColumns,...publicColumns]  
         this.columns= [...projectColumns,...publicColumns]  
         postAction('/kuaishou/getKuaishouProjectInfo',paramse).then(res=>{
         postAction('/kuaishou/getKuaishouProjectInfo',paramse).then(res=>{
           console.log(res);
           console.log(res);
-          if(res.success){
-              this.loading=false;
+          this.tabKey=1;
+          this.loading=false;
+          this.spinning=false;
+          if(res.success){             
               res.result.list.forEach((item,index)=>{
               res.result.list.forEach((item,index)=>{
                 item.key=index
                 item.key=index
               })
               })
@@ -475,29 +532,118 @@ const ideaColumns = [
       // 从项目跳转到账户,并获取账户的table值
       // 从项目跳转到账户,并获取账户的table值
       goAccount(records){
       goAccount(records){
         console.log(records);
         console.log(records);
-        this.currentid=records.projectId
+        this.projectId=records.projectId
         this.getTableAccountList()
         this.getTableAccountList()
 
 
       },
       },
-      getTableAccountList(){
-          this.tabKey=2;
+      // 从账户到计划
+      goCampaign(records){
+        this.accountId=records.accountId;
+        this.getTableCampaignList()
+      },
+      // 从计划到组
+      goUnit(records){
+        this.campaignId=records.campaignId;
+        this.getTableUnitList()
+      },
+      // 从组到创意
+      goCreative(records){
+          this.unitId=records.unitId;
+          this.getTableCreativeList()
+      },
+      getTableAccountList(){         
           this.loading=true; 
           this.loading=true; 
-          this.columns= [...accountColumns,...publicColumns]   
+          this.spinning=true;
+          this.ipagination.current=0;           
           postAction('/kuaishou/getKuaishouAccountInfoByProjectId',{
           postAction('/kuaishou/getKuaishouAccountInfoByProjectId',{
             startDate:this.dateRange[0].format('YYYY-MM-DD'),
             startDate:this.dateRange[0].format('YYYY-MM-DD'),
             endDate:this.dateRange[1].format('YYYY-MM-DD'),
             endDate:this.dateRange[1].format('YYYY-MM-DD'),
-            projectId:this.currentid,
+            projectId:this.projectId,
             pageNum:this.ipagination.current,
             pageNum:this.ipagination.current,
             pageSize:'10'
             pageSize:'10'
           }).then(res=>{
           }).then(res=>{
               console.log(res)
               console.log(res)
+               this.tabKey=2;
+               this.loading=false; 
+               this.spinning=false;  
+               this.columns= [...accountColumns,...publicColumns] 
               if(res.success){
               if(res.success){
-                this.loading=false;    
-                // this.tableData= 
+                 
+                this.tableData= res.result.list
+                this.ipagination.total=res.result.total
               }
               }
           })
           })
       },
       },
+      getTableCampaignList(){        
+        this.loading=true; 
+        this.ipagination.current=0; 
+        this.spinning=true;       
+        postAction('/kuaishou/getKuaishouCampaignInfoByAccountId',{
+          startDate:this.dateRange[0].format('YYYY-MM-DD'),
+          endDate:this.dateRange[1].format('YYYY-MM-DD'),
+          accountId:this.accountId,
+          pageNum:this.ipagination.current,
+          pageSize:'10'
+        }).then(res=>{
+            console.log(res)
+            this.tabKey=3;
+            this.loading=false; 
+            this.spinning=false;
+            this.columns= [...campaignColumns,...publicColumns]      
+            if(res.success){             
+              this.tableData= res.result.list
+              this.ipagination.total=res.result.total
+            }
+        })
+      },
+      getTableUnitList(){        
+        this.loading=true; 
+        this.ipagination.current=0;   
+        this.spinning=true;      
+        postAction('/kuaishou/getKuaishouUnitInfoByCampaignId',{
+          startDate:this.dateRange[0].format('YYYY-MM-DD'),
+          endDate:this.dateRange[1].format('YYYY-MM-DD'),
+          campaignId:this.campaignId,
+          pageNum:this.ipagination.current,
+          pageSize:'10'
+        }).then(res=>{
+            console.log(res)
+            this.tabKey=4;
+            this.loading=false;  
+            this.spinning=false;
+            this.columns= [...unitColumns,...publicColumns]   
+            if(res.success){
+              
+              this.tableData= res.result.list
+              this.ipagination.total=res.result.total
+            }
+        })
+      },
+      getTableCreativeList(){        
+        this.loading=true; 
+        this.ipagination.current=0;      
+        this.spinning=true; 
+        postAction('/kuaishou/getKuaishouCreativeInfoByUnitId',{
+          startDate:this.dateRange[0].format('YYYY-MM-DD'),
+          endDate:this.dateRange[1].format('YYYY-MM-DD'),
+          unitId:this.unitId,
+          pageNum:this.ipagination.current,
+          pageSize:'10'
+        }).then(res=>{
+            console.log(res)
+            this.tabKey=5;
+            this.loading=false; 
+            this.spinning=false;  
+            this.columns= [...ideaColumns,...publicColumns]    
+            if(res.success){ 
+              this.tableData= res.result.list
+              this.ipagination.total=res.result.total
+            }
+        })
+      },
+
       search(){
       search(){
+        if(this.tabKey==1){
           this.getTableProjectList({
           this.getTableProjectList({
             startDate:this.dateRange[0].format('YYYY-MM-DD'),
             startDate:this.dateRange[0].format('YYYY-MM-DD'),
             endDate:this.dateRange[1].format('YYYY-MM-DD'),
             endDate:this.dateRange[1].format('YYYY-MM-DD'),
@@ -505,6 +651,16 @@ const ideaColumns = [
             pageNum:this.ipagination.current,
             pageNum:this.ipagination.current,
             pageSize:'10'
             pageSize:'10'
           })
           })
+        }else if(this.tabKey==2){
+          this.getTableAccountList();
+        }else if(this.tabKey==3){
+          this.getTableCampaignList();
+        }else if(this.tabKey==4){
+          this.getTableUnitList();
+        }else if(this.tabKey==5){
+          this.getTableCreativeList();
+        }
+          
       },
       },
     },
     },
     mounted() {
     mounted() {
@@ -623,7 +779,7 @@ const ideaColumns = [
           
           
       }
       }
     }
     }
-  }
+}
 </script>
 </script>
 <style lang="less">
 <style lang="less">
 .resize-table-th {
 .resize-table-th {
@@ -713,5 +869,10 @@ const ideaColumns = [
       margin-top: 10px;
       margin-top: 10px;
     }
     }
   }
   }
+  .spin-content {
+    border: 1px solid #91d5ff;
+    background-color: #e6f7ff;
+    padding: 30px;
+  }
 }
 }
 </style>
 </style>

+ 3 - 2
src/views/modules/kuaishouapp/account/advertisingGroup.vue

@@ -116,7 +116,7 @@
               <span slot="reviewDetail" slot-scope="text">
               <span slot="reviewDetail" slot-scope="text">
                 <span
                 <span
                   :title="text"
                   :title="text"
-                  style="margin:0;display:block;width:300px !important;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;">
+                  style="margin:0;display:block;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;">
                   {{ text }}</span>
                   {{ text }}</span>
               </span>
               </span>
               <span slot="bidType" slot-scope="text, record">
               <span slot="bidType" slot-scope="text, record">
@@ -415,7 +415,8 @@
       dataIndex: 'reviewDetail',
       dataIndex: 'reviewDetail',
       scopedSlots: {
       scopedSlots: {
         customRender: 'reviewDetail'
         customRender: 'reviewDetail'
-      }
+      },
+      width:300
     },
     },
     {
     {
       title: '出价类型',
       title: '出价类型',

+ 3 - 2
vue.config.js

@@ -57,16 +57,17 @@ module.exports = {
     proxy: {
     proxy: {
       '/jeecg-boot': {
       '/jeecg-boot': {
         // target: 'http://192.168.1.90:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.1.90:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
-        target: 'http://192.168.1.72:8088', //请求本地 需要jeecg-boot后台项目  英豪
+        // target: 'http://192.168.1.72:8088', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云
         // target: 'http://192.168.1.94:8804', //请求本地 需要jeecg-boot后台项目  孙震
         // target: 'http://192.168.1.94:8804', //请求本地 需要jeecg-boot后台项目  孙震
         // target: 'http://192.168.0.230:8088', //请求本地 需要jeecg-boot后台项目  孙震
         // target: 'http://192.168.0.230:8088', //请求本地 需要jeecg-boot后台项目  孙震
         // target: 'http://192.168.1.51:8088', //请求本地 需要jeecg-boot后台项目  毕洁泉
         // target: 'http://192.168.1.51:8088', //请求本地 需要jeecg-boot后台项目  毕洁泉
         // target: 'http://192.168.1.165:8848', //请求本地 需要jeecg-boot后台项目  毕洁泉
         // target: 'http://192.168.1.165:8848', //请求本地 需要jeecg-boot后台项目  毕洁泉
-        // target: 'http://api.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目 
+        target: 'http://api.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目 
         // target: 'https://trac.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目 
         // target: 'https://trac.tjyourong.com.cn', //请求本地 需要jeecg-boot后台项目 
         // target: 'http://39.106.184.70:8088/', //请求本地 需要jeecg-boot后台项目 
         // target: 'http://39.106.184.70:8088/', //请求本地 需要jeecg-boot后台项目 
         // target: 'http://adsp.tjyourong.com.cn/', //请求本地 需要jeecg-boot后台项目 
         // target: 'http://adsp.tjyourong.com.cn/', //请求本地 需要jeecg-boot后台项目 
+        target: 'http://192.168.1.251/', //请求本地 需要jeecg-boot后台项目 
 
 
 
 
         ws: false,
         ws: false,