2
0

2 Commity d6861a0ad8 ... 6b65597ba7

Autor SHA1 Správa Dátum
  liubei@c-top.com.cn 6b65597ba7 Merge branch 'feature/work-test' of http://git.tjyourong.com.cn/ctop/adsp-vue into feature/work-test 3 rokov pred
  liubei@c-top.com.cn 8f056e1937 账户运营修改字段 3 rokov pred

+ 211 - 185
src/views/modules/stockWatch/modules/new-keepManage/account-newkeepManage.vue

@@ -19,9 +19,9 @@
 
             </a-col>
             <a-col :span="10" :pull="14">
-                <div style="margin:20px;" @click="changeAccount">
+                <div style="margin:20px;cursor: pointer;" @click="changeAccount">
                     <p style="font-weight:900;font-size: 18px;">{{accountName}}</p>
-                    <p>账户ID:{{accountId}}</p>
+                    <p>账户ID:{{accountDataId}}</p>
                 </div>
 
             </a-col>
@@ -47,11 +47,12 @@
             </div>
             <a-row>
                 <a-col :span="8">
-                    <a-radio-group v-for="item in indexShowS" :key="item.key" v-model="valueBtn" @change="checkboxonChange">
+                    <a-radio-group v-for="item in indexShowS" :key="item.key" v-model="valueBtn"
+                        @change="checkboxonChange">
                         <a-radio :value="item.dataIndex">
-                          {{item.title}}
+                            {{item.title}}
                         </a-radio>
-                      </a-radio-group>
+                    </a-radio-group>
                     <!-- <a-checkbox-group v-model="valueBtn" name="checkboxgroup" :options="plainOptions"
                         @change="checkboxonChange" /> -->
 
@@ -60,7 +61,7 @@
                     <a-button type="link" @click="indexShowClick" style="float: right;">
                         显示指标
                     </a-button>
-                    
+
                 </a-col>
             </a-row>
             <div id="accountIndexEchart" ref="accountIndexEchart" style="width: 90%;height: 315px;margin: 0 auto;">
@@ -105,19 +106,20 @@
                 <span slot="operationAgree" slot-scope="text,record">
                     <a-popover title="" trigger="hover" v-if="text">
                         <template slot="content">
-                        <div style="width: 150px;margin-top: 10px;">{{record.operationAgreeInfo}}</div> 
+                            <div style="width: 150px;margin-top: 10px;">{{record.operationAgreeInfo}}</div>
                         </template>
                         <a href="javascript:;" type='primary'>{{text}}</a>
-                      </a-popover>
-                      <span v-else>-</span>
-                    <p style="height: 5px;line-height: 25px;color: rgb(157 157 157);">{{record.operationAgreeContent}}</p>
-                   
+                    </a-popover>
+                    <span v-else>-</span>
+                    <p style="height: 5px;line-height: 25px;color: rgb(157 157 157);">{{record.operationAgreeContent}}
+                    </p>
+
                 </span>
 
 
                 <span slot="operator" slot-scope="text,record">
 
-                        <a href="javascript:;" type='primary' @click="modifyPriceClick(record)">调价</a>
+                    <a href="javascript:;" type='primary' @click="modifyPriceClick(record)">调价</a>
 
                     <a-divider type="vertical" />
                     <a-dropdown :trigger="['click']">
@@ -176,20 +178,20 @@
                 </div>
             </div>
             <a-table size="middle" :dataSource="sourceMaterialData" :columns="sourceMaterial" bordered id="outTable"
-                :pagination="echartsIpagination" :loading="echartsLoading" ref="accountTable">
-                <span slot="unitvideoUrl" slot-scope="text,record" >  
+                :pagination="echartsIpagination" :loading="echartsLoading" ref="accountTable" @change="sort">
+                <span slot="coverUrl" slot-scope="text,record">
                     <div style="background:#e8e8e8;text-align:center;border-radius:3px">
                         <a-popover placement="right">
-                        <template slot="content">                                
-                            <video :src="record.videoUrl" style="width:250px" controls  ></video>
-                        </template>
-                        <template slot="title">                            
-                        </template>
-                       <span>图片</span>
-                    </a-popover>
-                    </div>                      
-                    
-                    
+                            <template slot="content">
+                                <video :src="record.videoUrl" style="width:250px" controls></video>
+                            </template>
+                            <template slot="title">
+                            </template>
+                            <img :src="text" alt="" style="width:20px">
+                        </a-popover>
+                    </div>
+
+
                 </span>
                 <!-- <span slot="unitvideoUrl" slot-scope="text, record">
                     <video class="video" :src="text" controls="controls" style="height:200px">
@@ -207,15 +209,15 @@
             <a-row>
                 <a-col :span="12">
                     <a-select v-model="selectValue" style="width:120px;" @change="selectValueChange">
-                        <a-select-option value="totalCost">花费</a-select-option> 
+                        <a-select-option value="cost">花费</a-select-option>
                         <a-select-option value="activation">激活数</a-select-option>
                         <a-select-option value="activationPrice">激活成本</a-select-option>
                         <a-select-option value="eventPayRoi">ROI</a-select-option>
                         <a-select-option value="eventPay">付费次数</a-select-option>
-                        <a-select-option value="">付费金额</a-select-option>
+                        <a-select-option value="eventPayPurchaseAmountFirstDay">付费金额</a-select-option>
                         <a-select-option value="eventPayCost">付费成本</a-select-option>
-                        <a-select-option value="nextDayOpen">次留数</a-select-option>
-                        <a-select-option value="nextDayOpenCost">次留成本</a-select-option>
+                        <a-select-option value="eventNextDayStay">次留数</a-select-option>
+                        <a-select-option value="leave">次留成本</a-select-option>
                     </a-select>
                 </a-col>
                 <a-col :span="12">
@@ -225,27 +227,28 @@
             </a-row>
 
             <div style="display: flex;justify-content:space-around;margin-top: 20px;">
-                <div id="accountIndexEchartThreePie" ref="accountIndexEchartThreePie" style="width: 35%;height: 315px;border-right: 1px solid #ccc;">
+                <div id="accountIndexEchartThreePie" ref="accountIndexEchartThreePie"
+                    style="width: 35%;height: 315px;border-right: 1px solid #ccc;">
                 </div>
                 <div id="accountIndexEchartOnePie" ref="accountIndexEchartOnePie"
                     style="width: 35%;height: 315px;border-right: 1px solid #ccc;"> </div>
 
-                <div id="accountIndexEchartTwoPie" ref="accountIndexEchartTwoPie"
-                    style="width: 35%;height: 315px;"> </div>
-                    
-               
+                <div id="accountIndexEchartTwoPie" ref="accountIndexEchartTwoPie" style="width: 35%;height: 315px;">
+                </div>
+
+
 
             </div>
 
         </a-card>
 
 
-            <!-- 调价 -->
+        <!-- 调价 -->
         <a-modal v-model="modifyPriceVisible" title="调价" @ok="bidChangeOk" @cancel='bidChangeCancel'>
             <div style="margin:5px 0 0;padding: 0 0 15px;">
                 <span>
-                    <a-input-number :min="0" v-model="newBid" :step="0.1" placeholder="请输入出价"
-                        size="small" style='margin-right:20px;width: 300px;' />
+                    <a-input-number :min="0" v-model="newBid" :step="0.1" placeholder="请输入出价" size="small"
+                        style='margin-right:20px;width: 300px;' />
                 </span>
             </div>
 
@@ -298,17 +301,18 @@
                 </a-row>
             </div>
         </a-modal>
-         <!-- 修改账户modal -->
-         <a-modal v-model="accountVisible" title="切换账户" @ok="accounthandleOk" :width='800' @cancel='accountCancel' >
+        <!-- 修改账户modal -->
+        <a-modal v-model="accountVisible" title="切换账户" @ok="accounthandleOk" :width='800' @cancel='accountCancel'>
             <div class="linkBody" style='height:100px;display:flex;'>
                 <div style="height:32px;line-height:32px">选择账户:</div>
-                <Treeselect :appId.sync="selectaccountId" :multiple="false"  request="2,4"   ref="treeSelect" style="margin-bottom:8px;width:600px " />     
+                <Treeselect :appId.sync="selectaccountId" :multiple="false" request="2,4" ref="treeSelect"
+                    style="margin-bottom:8px;width:600px " />
             </div>
         </a-modal>
         <customColumnProject :visible="visible" :listNum="listNum" :fiexColumn="columnsFixd" :mediaType="1"
             @closeCustomColumn="closeCustomColumn" @changeColumn="changeColumn" />
-            <customColumnProject :visible="visibleIndex" :listNum="listNumIndex" :fiexColumn="columnsFixdIndex" :mediaType="1"
-            @closeCustomColumn="closeCustomColumnIndex" @changeColumnIndex="changeColumnIndex" />
+        <customColumnProject :visible="visibleIndex" :listNum="listNumIndex" :fiexColumn="columnsFixdIndex"
+            :mediaType="3" @closeCustomColumn="closeCustomColumnIndex" @changeColumnIndex="changeColumnIndex" />
     </div>
 </template>
 
@@ -331,20 +335,20 @@
     import Treeselect from '@/views/modules/Statistics/components/Treeselect.vue'
     import { mapGetters } from 'vuex'
     export default {
-        components: { customColumnProject, Treeselect},
+        components: { customColumnProject, Treeselect },
         data() {
             return {
                 targetVisible: false,
-                accountVisible:false,
-                visibleIndex:false,
+                accountVisible: false,
+                visibleIndex: false,
                 outTableShow: true,
-                modifyPriceVisible:false,
+                modifyPriceVisible: false,
                 listNum: [],
-                listNumIndex:[],
+                listNumIndex: [],
                 visible: false,
                 scrollX: 1500,
                 columnsFixd: keepPersonData.groupDelivery(),
-                columnsFixdIndex:keepPersonData.groupDeliveryIndexShow(),
+                columnsFixdIndex: keepPersonData.groupDeliveryIndexShow(),
                 valueBtn: 'cost',
                 plainOptions: [
                     { label: '花费', value: '花费' },
@@ -357,14 +361,15 @@
                 dateEchart: [moment(), moment()],
                 dateRanges: keepPersonData.setTimeRange(),
                 dateSource: [moment(), moment()],
-                selectValue: 'totalCost',
+                selectValue: 'cost',
                 datePie: [moment(), moment()],
                 echartsData: [],
                 sourceMaterialData: [],
-                echartsLoadingoutTable:false,
+                echartsLoadingoutTable: false,
                 echartsLoading: false,
-                indexShowS:[
-                {
+                accountDataId: '',
+                indexShowS: [
+                    {
                         title: '消耗(元)',
                         dataIndex: 'cost',
                         key: 'cost',
@@ -428,11 +433,10 @@
                 sourceMaterial: [
                     {
                         title: '素材',
-                        dataIndex: 'videoUrl',
-                        key: 'videoUrl',
+                        dataIndex: 'coverUrl',
+                        key: 'coverUrl',
                         align: 'center',
-                        scopedSlots: { customRender: 'unitvideoUrl' },
-                        width: 200
+                        scopedSlots: { customRender: 'coverUrl' },
                     }, {
                         title: '素材ID',
                         dataIndex: 'signature',
@@ -503,8 +507,8 @@
                 linkVisible: false,
                 newLink: '',
                 accountId: this.$route.query.accountId,
-                unitId:'',
-                bidType:'',
+                unitId: '',
+                bidType: '',
                 accountName: '',
                 balance: '',
                 state: '',
@@ -514,10 +518,10 @@
                 updateRelated: '',
                 accountIndexEchartThreePieShow: true,
                 accountIndexEchartTwoPieShow: true,
-                accountIndexEchartThreePieShowemarks:true,
+                accountIndexEchartThreePieShowemarks: true,
                 accountIndexEchartOnePieShow: true,
-                custNmaeType:'',
-                selectaccountId:'',
+                custNmaeType: '',
+                selectaccountId: '',
             }
         },
         filters: {
@@ -550,6 +554,14 @@
                 return Number(value).toFixed(3).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
             },
         },
+        watch: {
+            // accountId(n,o){
+            //     if(n){
+
+            //         this.getCurrentAccountInfo()
+            //     }
+            // }
+        },
         mounted() {
             this.showColumn();
             this.showIndex();
@@ -562,70 +574,71 @@
             this.getAccountNameData();
             this.getGroupLaunchData();
             this.getEchartOnePieData();
-            console.log(localStorage.getItem('stockWatchAccountId'));
-            if(localStorage.getItem('stockWatchAccountId')) {
-                let data = JSON.parse(localStorage.getItem('stockWatchAccountId'));
-                this.accountId = data.accountId;
-                this.selectaccountId = data.accountId;
-                this.dateValue = [moment(data.timeRange[0]),moment(data.timeRange[1])];
-                
-            }
-            else {
-                console.log(1111);
-                getAction('/etl/reportAccountHourly/getMaxChargeAccountIdByUser',{                
-                    userId:this.userInfo().id,
-                }).then(res=>{
-                    if(res.success){
-                        // this.currentAccount=res.result;
-                        this.accountId=res.result;
-                        this.selectaccountId=res.result;
-                        
-                    }else{
-                        // this.$message.error(res.message)
-                       
-                    }
-                })
-            }
+            // if(localStorage.getItem('stockWatchAccountId')) {
+            //     let data = JSON.parse(localStorage.getItem('stockWatchAccountId'));
+            //     this.accountId = data.accountId;
+            //     this.selectaccountId = data.accountId;
+            //     this.dateValue = [moment(data.timeRange[0]),moment(data.timeRange[1])];
+
+            // }
+            // else {
+            //     getAction('/etl/reportAccountHourly/getMaxChargeAccountIdByUser',{                
+            //         userId:this.userInfo().id,
+            //     }).then(res=>{
+            //         if(res.success){
+            //             // this.currentAccount=res.result;
+            //             this.accountId=res.result;
+            //             this.selectaccountId=res.result;
+
+            //         }else{
+            //             // this.$message.error(res.message)
+
+            //         }
+            //     })
+            // }
         },
 
         methods: {
-            ...mapGetters([ 'userInfo']),
-            accounthandleOk(){
-                this.accountVisible=false;
-                this.dateValue=[moment(),moment()];
-                this.materialDate=[moment().subtract(1,'days'),moment().subtract(1,'days')]
-                this.accountId=this.selectaccountId;
-                
-                this.getCurrentAccountInfo();
-            },
-            getCurrentAccountInfo(val){
-                getAction('/etl/reportAccountHourly/getMaxChargeAccountId',{
-                    accountId:val || this.accountId ||undefined,
-                   
-                }).then(res=>{
-                    if(res.success){
-                        this.currentAccount=res.result;
-                        // this.accountId=res.result.accountId
-                    }else{
-                        this.$message.error(res.message)
-                        this.currentAccount=res.result;
-                    }
-                })
+            ...mapGetters(['userInfo']),
+            accounthandleOk() {
+                this.accountVisible = false;
+                this.accountId = this.selectaccountId;
+                this.getQueryNewlyData();
+                this.getGroupDataList();
+                this.getAccountNameData();
+                this.getGroupLaunchData();
+                this.getEchartOnePieData();
+
             },
-            accountCancel(){                
-                this.accountVisible=false;
-                
+            // getCurrentAccountInfo(val){
+            //     getAction('/etl/reportAccountHourly/getMaxChargeAccountId',{
+            //         accountId:val || this.accountId ||undefined,
+
+            //     }).then(res=>{
+            //         if(res.success){
+            //             this.currentAccount=res.result;
+            //             // this.accountId=res.result.accountId
+            //         }else{
+            //             this.$message.error(res.message)
+            //             this.currentAccount=res.result;
+            //         }
+            //     })
+            // },
+            accountCancel() {
+                this.accountVisible = false;
+
             },
-            changeAccount(){
-                this.accountVisible=true;
-               
+            changeAccount() {
+                this.selectaccountId = this.accountId
+                this.accountVisible = true;
+
             },
-            modifyPriceClick(row){
+            modifyPriceClick(row) {
                 // this.accountId = row.accountId
-                        this.unitId = row.unit_id
-                        console.log(this.unitId);
-                        this.bidType = row.bidType
-                this.modifyPriceVisible= true;
+                this.unitId = row.unit_id
+                console.log(this.unitId);
+                this.bidType = row.bidType
+                this.modifyPriceVisible = true;
             },
             //状态改变
             switchChange(text, record) {
@@ -654,7 +667,7 @@
 
             },
             // 显示指标
-            indexShowClick(){
+            indexShowClick() {
                 this.visibleIndex = true;
                 this.listNumIndex = [...this.indexShowS]
             },
@@ -667,10 +680,10 @@
             closeCustomColumn() {
                 this.visible = false
             },
-            closeCustomColumnIndex(){
+            closeCustomColumnIndex() {
                 this.visibleIndex = false;
             },
-            showIndex(){
+            showIndex() {
                 this.postDataAction('/toutiao/videoReportDaily/getColumnJson', {
                     columnType: 106,
                 }).then((res) => {
@@ -700,24 +713,24 @@
                     }
                 })
             },
-            changeColumnIndex(val){
+            changeColumnIndex(val) {
                 if (val.length > 4) {
-                  return  this.$message.warning('最多只可以选择4个指标');
-                }else{
+                    return this.$message.warning('最多只可以选择4个指标');
+                } else {
                     this.indexShowS = [...val]
-                let arr = JSON.stringify(this.indexShowS)
-                this.postDataAction('/toutiao/videoReportDaily/saveOrUpdateColumnJson', {
-                    json: arr,
-                    columnType: 106,
-                }).then((res) => {
-                    // console.log(res)
-                })
+                    let arr = JSON.stringify(this.indexShowS)
+                    this.postDataAction('/toutiao/videoReportDaily/saveOrUpdateColumnJson', {
+                        json: arr,
+                        columnType: 106,
+                    }).then((res) => {
+                        // console.log(res)
+                    })
                 }
-                
+
             },
             showColumn() {
-               
-                    this.postDataAction('/toutiao/videoReportDaily/getColumnJson', {
+
+                this.postDataAction('/toutiao/videoReportDaily/getColumnJson', {
                     columnType: 103,
                 }).then((res) => {
                     // console.log(res)
@@ -745,20 +758,20 @@
 
                     }
                 })
-                
-                
+
+
             },
-            
+
             changeColumn(val) {
 
                 this.outTableShow = false;
-                val.forEach((item,index) => {
+                val.forEach((item, index) => {
                     if (item.title == '操作') {
                         item.fixed = 'left'
                         item.width = 180
                     }
                 });
-               
+
                 this.$nextTick(() => {
                     this.columns = [...val]
                     if (this.columns.length > this.columnsFixd.length && this.columns.length < 8) {
@@ -824,14 +837,14 @@
                     }
                     this.outTableShow = true;
                     let arr = JSON.stringify(this.columns)
-                this.postDataAction('/toutiao/videoReportDaily/saveOrUpdateColumnJson', {
-                    json: arr,
-                    columnType: 103,
-                }).then((res) => {
-                    // console.log(res)
-                })
+                    this.postDataAction('/toutiao/videoReportDaily/saveOrUpdateColumnJson', {
+                        json: arr,
+                        columnType: 103,
+                    }).then((res) => {
+                        // console.log(res)
+                    })
                 })
-            
+
             },
             //获取echart折线图的值
             initEchart(idName, optionName) {
@@ -973,7 +986,7 @@
 
                         this.initEchart('accountIndexEchartOnePie', this.initPieOneData(pieData, this.accountIndexEchartOnePieShow, center));
                         this.initEchart('accountIndexEchartTwoPie', this.initPieTwoData(pie2d, this.accountIndexEchartTwoPieShow, centerTwo));
-                        this.initEchart('accountIndexEchartThreePie', this.initPieThreeData(pie3p, this.accountIndexEchartThreePieShow, centerthree,this.accountIndexEchartThreePieShowemarks));
+                        this.initEchart('accountIndexEchartThreePie', this.initPieThreeData(pie3p, this.accountIndexEchartThreePieShow, centerthree, this.accountIndexEchartThreePieShowemarks));
 
 
 
@@ -1009,6 +1022,12 @@
                     }
                 })
             },
+            sort(pagination, filters, sorter, { currentDataSource }) {
+                // console.log(pagination, filters, sorter)          
+                this.echartsIpagination.current = pagination.current
+                this.echartsIpagination.pageSize = pagination.pageSize
+                this.getGroupLaunchData()
+            },
             projectAccountChange() {
                 this.echartsIpagination.current = 1;
                 this.getGroupLaunchData();
@@ -1031,6 +1050,7 @@
                 getAction(process.env.VUE_APP_BASE_STARE_URL + '/kuaiShouOpreate/kuaiShouMaterialStareController/getKuaiShouAccountInfo', params).then(res => {
                     if (res.code == 0) {
                         this.accountName = res.result.accountName;
+                        this.accountDataId = res.result.accountId;
                         this.balance = res.result.balance;
                         this.state = res.result.state;
                         this.totalCost = res.result.totalCost;
@@ -1047,7 +1067,8 @@
                 }
                 getAction('http://139.186.29.76:8804/jeecg-boot/kuaishou/realTime/getUnitDateInfo', params).then(res => {
                     if (res.code == 200) {
-                        res.result.forEach((item) => {
+                        if (res.result.length > 0) {
+                            res.result.forEach((item) => {
                             // item.key=item.id;
                             // item.show=false;
                             item.visible = false;
@@ -1056,6 +1077,11 @@
                         this.updateTimeGroup = res.timestamp;
                         this.echartsData = res.result
                         this.totalAll = res.result[0].totalCount
+                        }else{
+                            this.echartsData = [];
+                            this.totalAll = 0;
+                            this.updateTimeGroup = res.timestamp;
+                        }
                         this.echartsLoadingoutTable = false;
                     }
                 })
@@ -1081,7 +1107,7 @@
             // 修改出价
             bidChangeOk(record) {
                 if (this.newBid) {
-                  this.modifyPriceVisible = false
+                    this.modifyPriceVisible = false
                     // record.accountId = this.accountId;
                     getAction('/kuaishou/dingpan/updateBid', {
                         accountId: this.accountId,
@@ -1183,7 +1209,7 @@
                     accountId: this.accountId,
                     startTime: this.dateEchart[0].format('YYYY-MM-DD'),
                     endTime: this.dateEchart[1].format('YYYY-MM-DD'),
-                    type:this.valueBtn
+                    type: this.valueBtn
                 }
                 getAction(process.env.VUE_APP_BASE_STARE_URL + '/kuaiShouOpreate/kuaiShouMaterialStareController/getKuaiShouAccountInfoBrokenLine', params).then(res => {
                     if (res.code == 0) {
@@ -1196,15 +1222,15 @@
                                 return item.yHour
                             })
 
-                                today.data = res.result.map(itemprice => {
-                                    return itemprice.tData
-                                });
-                                today.name = '今天'
-                                yesterday.data = res.result.map(itemyes => {
-                                    return itemyes.yData
-                                });
-                                yesterday.name = '昨天'
-                            this.initEchart('accountIndexEchart', this.initAccountIndexEchart(timeData, today, yesterday,this.valueBtn));
+                            today.data = res.result.map(itemprice => {
+                                return itemprice.tData
+                            });
+                            today.name = '今天'
+                            yesterday.data = res.result.map(itemyes => {
+                                return itemyes.yData
+                            });
+                            yesterday.name = '昨天'
+                            this.initEchart('accountIndexEchart', this.initAccountIndexEchart(timeData, today, yesterday, this.valueBtn));
                         } else if (res.message == '账户日报折线图查询成功') {
                             let timeData = [];
                             let today = {};
@@ -1217,7 +1243,7 @@
                                 return item.data
                             })
                             today.name = '汇总'
-                            this.initEchart('accountIndexEchart', this.initAccountIndexEchart(timeData, today, yesterday,this.valueBtn));
+                            this.initEchart('accountIndexEchart', this.initAccountIndexEchart(timeData, today, yesterday, this.valueBtn));
                         }
                     }
                 })
@@ -1228,14 +1254,14 @@
             },
 
             // 折线图
-            initAccountIndexEchart(timeData, today, yesterday,valueBtn) {
+            initAccountIndexEchart(timeData, today, yesterday, valueBtn) {
                 console.log(valueBtn);
                 let option = {
 
                     tooltip: {
-                        show : true,
+                        show: true,
                         trigger: 'axis',
-                        formatter: valueBtn == 'eventPayRate' || valueBtn == 'leave' || valueBtn == 'eventNewUserPayRate'  || valueBtn == 'keyActionRate' ?'{b}<br/>{a0}: {c0}%<br />{a1}: {c1}%<br />':''
+                        formatter: valueBtn == 'eventPayRate' || valueBtn == 'leave' || valueBtn == 'eventNewUserPayRate' || valueBtn == 'keyActionRate' ? '{b}<br/>{a0}: {c0}%<br />{a1}: {c1}%<br />' : ''
                     },
                     legend: {
                         bottom: '0%',
@@ -1293,7 +1319,7 @@
                                 borderWidth: 2,
                                 borderColor: '#00FF00'
                             },
-                        }, 
+                        },
 
                     ]
                 };
@@ -1303,7 +1329,7 @@
             // 第一个饼图
             initPieOneData(pieData, accountIndexEchartOnePieShow, center) {
                 var iconNone = require('../../../../../assets/nodata.png');
-                const colorList = ['#58D5FF', '#73ACFF', '#FDD56A', '#FDB36A', '#FD866A','#9E87FF']
+                const colorList = ['#58D5FF', '#73ACFF', '#FDD56A', '#FDB36A', '#FD866A', '#9E87FF']
                 let option = {
                     tooltip: {
                         trigger: 'item'
@@ -1352,11 +1378,11 @@
                                 show: false
                             },
                             itemStyle: {
-                            borderRadius: 5,
-                            color: (params) => {
-                                return colorList[params.dataIndex]
-                            }
-                        },
+                                borderRadius: 5,
+                                color: (params) => {
+                                    return colorList[params.dataIndex]
+                                }
+                            },
                             data: pieData
                         }
                     ]
@@ -1365,7 +1391,7 @@
             },
             initPieTwoData(pie2d, accountIndexEchartThreePieShow, centerthree) {
                 var iconNoneThree = require('../../../../../assets/nodata.png');
-                const colorList = ['#58D5FF', '#73ACFF', '#FDD56A', '#FDB36A', '#FD866A','#9E87FF']
+                const colorList = ['#58D5FF', '#73ACFF', '#FDD56A', '#FDB36A', '#FD866A', '#9E87FF']
                 let option = {
                     tooltip: {
                         trigger: 'item'
@@ -1413,11 +1439,11 @@
                                 show: false
                             },
                             itemStyle: {
-                            borderRadius: 5,
-                            color: (params) => {
-                                return colorList[params.dataIndex]
-                            }
-                        },
+                                borderRadius: 5,
+                                color: (params) => {
+                                    return colorList[params.dataIndex]
+                                }
+                            },
                             data: pie2d
                         }
                     ]
@@ -1425,9 +1451,9 @@
                 return option
             },
 
-            initPieThreeData(pie3p, accountIndexEchartTwoPieShow, centerTwo,accountIndexEchartThreePieShowemarks) {
+            initPieThreeData(pie3p, accountIndexEchartTwoPieShow, centerTwo, accountIndexEchartThreePieShowemarks) {
                 var iconNoneTwo = require('../../../../../assets/nodata.png');
-                const colorList = ['#58D5FF', '#73ACFF', '#FDD56A', '#FDB36A', '#FD866A','#9E87FF']
+                const colorList = ['#58D5FF', '#73ACFF', '#FDD56A', '#FDB36A', '#FD866A', '#9E87FF']
                 let option = {
                     tooltip: {
                         trigger: 'item'
@@ -1446,9 +1472,9 @@
                                     }
                                 },
                                 b: {
-                                   fontSize:12,
-                                   color:'#ccc'
-                                   
+                                    fontSize: 12,
+                                    color: '#ccc'
+
                                 }
                             }
 
@@ -1480,11 +1506,11 @@
                                 show: false
                             },
                             itemStyle: {
-                            borderRadius: 5,
-                            color: (params) => {
-                                return colorList[params.dataIndex]
-                            }
-                        },
+                                borderRadius: 5,
+                                color: (params) => {
+                                    return colorList[params.dataIndex]
+                                }
+                            },
                             data: pie3p
                         }
                     ]

+ 167 - 0
src/views/modules/stockWatch/modules/new-keepManage/acountProjectData.js

@@ -1232,5 +1232,172 @@ export const KScustomFields= [
    
   ]
 
+  export const indexCustomIndicator = [
+    {
+      id: 0,
+      title: '展现数据',
+      checkall: false,
+      form:[],
+      specificFields: [
+        {
+          title: '消耗(元)',
+          dataIndex: 'cost',
+          width:150,
+          tip: '广告在投放期间的花费总额',
+          align: 'center',
+          scopedSlots: { customRender: 'cost' },
+          
+        },{
+            title: '激活数',
+            dataIndex: 'activation',
+            width:150,
+            tip: '广告主回传的应用激活次数',
+            align: 'center',
+            scopedSlots: { customRender: 'activation' },
+            sorter:(a, b) => a.activation - b.activation,
+          },{
+            title: '激活单价',
+            dataIndex: 'activationPrice',
+            width:150,
+            tip: '花费/激活数',
+            align: 'center',
+            scopedSlots: { customRender: 'activationPrice' },
+            sorter:(a, b) => a.activationPrice - b.activationPrice,
+          }, {
+            title: '次留率',
+            dataIndex: 'leave',
+            tip: '次留数/激活数',
+            align: 'center',    
+            scopedSlots: { customRender: 'leave' },
+            sorter:(a, b) => a.leave - b.leave,
+          },{
+            title: '付费数',
+            dataIndex: 'eventPay',
+            tip: '当如回传的付费行为次数',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventPay' },
+            sorter:(a, b) => a.eventPay - b.eventPay,
+          },
+          {
+            title: '付费率',
+            dataIndex: 'eventPayRate',
+            tip: '付费数/(激活数+表单数)',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventPayRate' },
+            sorter:(a, b) => a.eventPayRate - b.eventPayRate,
+          },
+          {
+            title: '付费成本',
+            dataIndex: 'eventPayCost',
+            tip: '消耗/付费次数',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventPayCost' },
+            sorter:(a, b) => a.eventPayCost - b.eventPayCost,
+          }, {
+            title: '新增付费数',
+            dataIndex: 'eventNewUserPay',
+            tip: '历史30天内首次产生付费的人数',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventNewUserPay' },
+            sorter:(a, b) => a.eventNewUserPay - b.eventNewUserPay,
+          },{
+            title: '新增付费成本',
+            dataIndex: 'eventNewUserPayCost',
+            tip: '当日消耗/当日新增付费人数',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventNewUserPayCost' },
+            sorter:(a, b) => a.eventNewUserPayCost - b.eventNewUserPayCost,
+          },{
+            title: '新增付费率',
+            dataIndex: 'eventNewUserPayRate',
+            tip: '当日新增付费人数/(当日激活数+表单数)',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventNewUserPayRate' },
+            sorter:(a, b) => a.eventNewUserPayRate - b.eventNewUserPayRate,
+          },{
+            title: '唤起应用数',
+            dataIndex: 'eventAppInvoked',
+            tip: '广告主当日回传的唤起应用次数',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventAppInvoked' },
+            sorter:(a, b) => a.eventAppInvoked - b.eventAppInvoked,
+          },{
+            title: '唤起应用成本',
+            dataIndex: 'eventAppInvokedCost',
+            tip: '当日消耗/唤起应用数',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventAppInvokedCost' },
+            sorter:(a, b) => a.eventAppInvokedCost - b.eventAppInvokedCost,
+          },{
+            title: '注册数',
+            dataIndex: 'eventRegister',
+            tip: '当日回传注册数',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventRegister' },
+            sorter:(a, b) => a.eventRegister - b.eventRegister,
+          },{
+            title: '注册成本',
+            dataIndex: 'eventRegisterCost',
+            tip: '当日消耗/当日回传注册数',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventRegisterCost' },
+            sorter:(a, b) => a.eventRegisterCost - b.eventRegisterCost,
+          },{
+            title: '关键行为数',
+            dataIndex: 'keyAction',
+            tip: '广告主回传的关键行为数',
+            align: 'center',    
+            scopedSlots: { customRender: 'keyAction' },
+            sorter:(a, b) => a.keyAction - b.keyAction,
+          },{
+            title: '关键行为成本',
+            dataIndex: 'keyActionCost',
+            tip: '筛选时间内累计消耗/关键行为数',
+            align: 'center',    
+            scopedSlots: { customRender: 'keyActionCost' },
+            sorter:(a, b) => a.keyActionCost - b.keyActionCost,
+          },{
+            title: '关键行为率',
+            dataIndex: 'keyActionRate',
+            tip: '关键行为数/激活数',
+            align: 'center',    
+            scopedSlots: { customRender: 'keyActionRate' },
+            sorter:(a, b) => a.keyActionRate - b.keyActionRate,
+          },{
+            title: '首日付费金额',
+            dataIndex: 'eventPayPurchaseAmountFirstDay',
+            tip: '当日激活的用户在当天产生的付费行为所带来的付费金额',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventPayPurchaseAmountFirstDay' },
+            sorter:(a, b) => a.eventPayPurchaseAmountFirstDay - b.eventPayPurchaseAmountFirstDay,
+          },{
+            title: '首日ROI',
+            dataIndex: 'eventPayFirstDayRoi',
+            tip: '首日付费金额/当日消耗',
+            align: 'center',    
+            scopedSlots: { customRender: 'eventPayFirstDayRoi' },
+            sorter:(a, b) => a.eventPayFirstDayRoi - b.eventPayFirstDayRoi,
+          },{
+                title: '表单提交数',
+                dataIndex: 'formCount',
+                tip: '当日回传表单数',
+                align: 'center',
+                scopedSlots: { customRender: 'formCount' },
+                sorter:(a, b) => a.formCount - b.formCount,
+            },{
+                title: '表单提交单价',
+                dataIndex: 'formCountPrice',         
+                tip: '当日消耗/当日回传表单数',
+                align: 'center',
+                scopedSlots: { customRender: 'formCountPrice' },
+                sorter: (a, b) => a.formCountPrice - b.formCountPrice,
+              }
 
+
+
+
+ 
+      ]
+      },
+    ]
 //  export default { TTcustomFields, KScustomFields }

+ 7 - 1
src/views/modules/stockWatch/modules/new-keepManage/personal-keepManage.vue

@@ -79,7 +79,7 @@
                                 </span>
                             </li>
                             <li>
-                                <span style="margin-left: 15px;">月消耗: </span>
+                                <span style="margin-left: 15px;">月消耗: </span>{{monthCost | formatNum}}
                             </li>
                             <li>
                                 <span style="margin-left: 15px;">月激励: </span>{{contractCharged  | formatNum}}
@@ -284,6 +284,7 @@
                 directCharged:'',
                 userRankTotalNum:'',
                 userIdRank:'',
+                monthCost:'',
             }
         },
         filters:{
@@ -369,6 +370,11 @@
                         }else{
                             this.userIdRank = '暂无数据'
                         }
+                        if(res.result.monthCost){
+                            this.monthCost = res.result.monthCost
+                        }else{
+                            this.monthCost = '暂无数据'
+                        }
                     }
                 })
             },

+ 3 - 1
src/views/modules/stockWatch/modules/new-keepManage/selectComponentPrject.vue

@@ -31,7 +31,7 @@
   </template>
   
   <script>
-  import  {customFieldsSource ,KScustomFields}  from './acountProjectData.js'
+  import  {customFieldsSource ,KScustomFields,indexCustomIndicator}  from './acountProjectData.js'
   // let customFields=customFields
   export default {
     props: ['showCol','fixedCol','mediaType'],
@@ -95,6 +95,8 @@
       }else if(this.mediaType==2){
         //快手自定义列
         this.customFields=KScustomFields
+      }else if(this.mediaType == 3){
+        this.customFields = indexCustomIndicator
       }
       for (let i = 0; i < this.customFields.length; i++) {
         this.customFields[i].form=[]