|
@@ -184,8 +184,8 @@ th div {
|
|
|
|
|
|
<span slot="costInfo" slot-scope="text,record">
|
|
|
<div v-for="(item,index) in record.costArray" :key="index">
|
|
|
- <p> {{ item.name }} 考核:{{ item.setCost }} 实际:
|
|
|
- <font v-if="!!item.compare && item.compare == 0"> {{ item.cost }}</font>
|
|
|
+ <p> {{ item.name }} 考核:{{ item.setCost }} 实际:<font
|
|
|
+ v-if="!!item.compare && item.compare == 0">{{ item.cost }}</font>
|
|
|
<font v-if="!!item.compare && item.compare < 0" color="green"> ↓{{ item.cost }}</font>
|
|
|
<font v-if="!!item.compare && item.compare > 0" color="red"> ↑{{ item.cost }}</font>
|
|
|
</p>
|
|
@@ -203,8 +203,8 @@ th div {
|
|
|
|
|
|
<a-modal title="设置预算及成本" v-model="visible" @ok="handleOkAdd" @cancel="handleCancel"
|
|
|
:confirmLoading="confirmLoading"
|
|
|
- :width="800">
|
|
|
- <a-form :form="form">
|
|
|
+ :width="800" >
|
|
|
+ <a-form :form="form" >
|
|
|
<a-form-item
|
|
|
label="设置预算"
|
|
|
:labelCol="labelCol" :wrapperCol="wrapperCol"
|
|
@@ -212,7 +212,6 @@ th div {
|
|
|
<a-input @input="maxValueInput"
|
|
|
placeholder="请输入预算" v-model="submitForm.budget"/>
|
|
|
</a-form-item>
|
|
|
-
|
|
|
<div>
|
|
|
<div>
|
|
|
<a-form-item label="转化目标" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
@@ -241,10 +240,8 @@ th div {
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
</a-form>
|
|
|
</a-modal>
|
|
|
-
|
|
|
</div>
|
|
|
|
|
|
|
|
@@ -285,7 +282,7 @@ const ksColumns = [
|
|
|
key: 'updateData',
|
|
|
scopedSlots: {customRender: 'updateData'},
|
|
|
align: 'left',
|
|
|
- width: 50
|
|
|
+ width: 80
|
|
|
},
|
|
|
{
|
|
|
title: '预算情况',
|
|
@@ -303,7 +300,7 @@ const ksColumns = [
|
|
|
key: 'costInfo',
|
|
|
scopedSlots: {customRender: 'costInfo'},
|
|
|
align: 'left',
|
|
|
- width: 260
|
|
|
+ width: 300
|
|
|
},
|
|
|
|
|
|
|
|
@@ -311,6 +308,7 @@ const ksColumns = [
|
|
|
title: '激活数',
|
|
|
dataIndex: 'activation',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -323,6 +321,7 @@ const ksColumns = [
|
|
|
title: '激活成本',
|
|
|
dataIndex: 'activationCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -335,6 +334,7 @@ const ksColumns = [
|
|
|
title: '次留',
|
|
|
dataIndex: 'eventNextDayStay',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -347,6 +347,7 @@ const ksColumns = [
|
|
|
title: '次留率',
|
|
|
dataIndex: 'eventNextDayStayRate',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -360,6 +361,7 @@ const ksColumns = [
|
|
|
title: '次留成本',
|
|
|
dataIndex: 'eventNextDayStayCost',
|
|
|
align: 'left',
|
|
|
+ width: 100,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -372,6 +374,7 @@ const ksColumns = [
|
|
|
title: '表单数',
|
|
|
dataIndex: 'formCount',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -384,6 +387,7 @@ const ksColumns = [
|
|
|
title: '表单成本',
|
|
|
dataIndex: 'formCountCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -396,6 +400,7 @@ const ksColumns = [
|
|
|
title: '付费数',
|
|
|
dataIndex: 'eventPay',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -408,6 +413,7 @@ const ksColumns = [
|
|
|
title: '付费成本',
|
|
|
dataIndex: 'eventCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -420,6 +426,7 @@ const ksColumns = [
|
|
|
title: '关键行为数',
|
|
|
dataIndex: 'keyAction',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -432,6 +439,7 @@ const ksColumns = [
|
|
|
title: '关键行为成本',
|
|
|
dataIndex: 'keyActionCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -444,6 +452,7 @@ const ksColumns = [
|
|
|
title: '唤起数',
|
|
|
dataIndex: 'eventAppInvoked',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -456,6 +465,7 @@ const ksColumns = [
|
|
|
title: '唤起成本',
|
|
|
dataIndex: 'eventAppInvokedCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -468,6 +478,7 @@ const ksColumns = [
|
|
|
title: 'roi',
|
|
|
dataIndex: 'eventPayPurchaseAmountFirstDayCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -480,6 +491,7 @@ const ksColumns = [
|
|
|
title: '3留',
|
|
|
dataIndex: 'eventThreeDayStayByConversionCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -492,6 +504,7 @@ const ksColumns = [
|
|
|
title: '7留',
|
|
|
dataIndex: 'eventWeekStayByConversionCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -524,7 +537,7 @@ const bytedanceColumns = [
|
|
|
key: 'updateData',
|
|
|
scopedSlots: {customRender: 'updateData'},
|
|
|
align: 'left',
|
|
|
- width: 50
|
|
|
+ width: 80
|
|
|
},
|
|
|
|
|
|
{
|
|
@@ -542,13 +555,14 @@ const bytedanceColumns = [
|
|
|
key: 'costInfo',
|
|
|
scopedSlots: {customRender: 'costInfo'},
|
|
|
align: 'left',
|
|
|
- width: 260
|
|
|
+ width: 300
|
|
|
},
|
|
|
|
|
|
{
|
|
|
title: '激活数',
|
|
|
dataIndex: 'active',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -561,6 +575,7 @@ const bytedanceColumns = [
|
|
|
title: '激活成本',
|
|
|
dataIndex: 'activeCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -573,7 +588,7 @@ const bytedanceColumns = [
|
|
|
title: '次留',
|
|
|
dataIndex: 'attributionNextDayOpenCnt',
|
|
|
align: 'left',
|
|
|
-
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -586,6 +601,7 @@ const bytedanceColumns = [
|
|
|
title: '次留率',
|
|
|
dataIndex: 'attributionNextDayOpenRate',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -599,6 +615,7 @@ const bytedanceColumns = [
|
|
|
title: '次留成本',
|
|
|
dataIndex: 'attributionNextDayOpenCost',
|
|
|
align: 'left',
|
|
|
+ width: 100,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -611,6 +628,7 @@ const bytedanceColumns = [
|
|
|
title: '表单数',
|
|
|
dataIndex: 'form',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -623,6 +641,7 @@ const bytedanceColumns = [
|
|
|
title: '表单成本',
|
|
|
dataIndex: 'formCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -635,6 +654,7 @@ const bytedanceColumns = [
|
|
|
title: '付费数',
|
|
|
dataIndex: 'payCount',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -647,6 +667,7 @@ const bytedanceColumns = [
|
|
|
title: '付费成本',
|
|
|
dataIndex: 'payCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -659,6 +680,7 @@ const bytedanceColumns = [
|
|
|
title: '关键行为数',
|
|
|
dataIndex: 'gameAddiction',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -671,6 +693,7 @@ const bytedanceColumns = [
|
|
|
title: '关键行为成本',
|
|
|
dataIndex: 'gameAddictionCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -683,6 +706,7 @@ const bytedanceColumns = [
|
|
|
title: '注册数',
|
|
|
dataIndex: 'register',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -695,6 +719,7 @@ const bytedanceColumns = [
|
|
|
title: '注册成本',
|
|
|
dataIndex: 'registerCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -709,6 +734,7 @@ const bytedanceColumns = [
|
|
|
title: '完件数',
|
|
|
dataIndex: 'loanCompletion',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -722,6 +748,7 @@ const bytedanceColumns = [
|
|
|
title: '完件成本',
|
|
|
dataIndex: 'loanCompletionCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -735,6 +762,7 @@ const bytedanceColumns = [
|
|
|
title: '授信数',
|
|
|
dataIndex: 'preLoanCredit',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -748,6 +776,7 @@ const bytedanceColumns = [
|
|
|
title: '授信成本',
|
|
|
dataIndex: 'preLoanCreditCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -761,6 +790,7 @@ const bytedanceColumns = [
|
|
|
title: 'app内访问数',
|
|
|
dataIndex: 'inAppUv',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -774,6 +804,7 @@ const bytedanceColumns = [
|
|
|
title: 'app内访问成本',
|
|
|
dataIndex: 'inAppUvCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -786,6 +817,7 @@ const bytedanceColumns = [
|
|
|
title: 'app内付费数',
|
|
|
dataIndex: 'inAppPay',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -798,6 +830,7 @@ const bytedanceColumns = [
|
|
|
title: 'app内付费成本',
|
|
|
dataIndex: 'inAppPayCost',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -810,6 +843,7 @@ const bytedanceColumns = [
|
|
|
title: '首日roi',
|
|
|
dataIndex: 'statPayAmount',
|
|
|
align: 'left',
|
|
|
+ width: 80,
|
|
|
customRender: function (t) {
|
|
|
if (t && t != 0) {
|
|
|
return t
|
|
@@ -935,7 +969,6 @@ export default {
|
|
|
item.forEach(element => {
|
|
|
this.ocpxList.find((par) => {
|
|
|
if (par.ocpxActionType == element) {
|
|
|
-
|
|
|
this.submitForm.ruleDetails.push({
|
|
|
ocpxCode: par.ocpxActionType,
|
|
|
ocpxName: par.ocpxActionName,
|
|
@@ -1006,20 +1039,19 @@ export default {
|
|
|
handleEdit: function (record, sign) {
|
|
|
this.submitForm.projectId = record.projectId;
|
|
|
this.visible = true;
|
|
|
- /* this.getAction('/budget/getById', {
|
|
|
- projectId: record.projectId,
|
|
|
- }).then((res) => {
|
|
|
- if (res.success) {
|
|
|
- this.visible = true;
|
|
|
- this.submitForm.budget = res.data.budget;
|
|
|
- this.submitForm.ruleDetails = res.data.ruleDetails;
|
|
|
- this.form.setFieldsValue(pick(this.submitForm.ruleDetails, 'ocpxActionType'))
|
|
|
-
|
|
|
-
|
|
|
- } else {
|
|
|
- this.$message.error(res.message);
|
|
|
- }
|
|
|
- })*/
|
|
|
+ this.getAction('/budget/getById', {
|
|
|
+ projectId: record.projectId,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.success) {
|
|
|
+ this.visible = true;
|
|
|
+ this.submitForm.budget = res.data.budget;
|
|
|
+ this.submitForm.ruleDetails = res.data.ruleDetails;
|
|
|
+
|
|
|
+
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.message);
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
|
|
|
|
|
@@ -1031,6 +1063,8 @@ export default {
|
|
|
},
|
|
|
|
|
|
typeChange() {
|
|
|
+ this.ipagination.current = 1
|
|
|
+ this.ipagination.pageSize = 10
|
|
|
this.getSaleData();
|
|
|
this.getOcpxList();
|
|
|
},
|