Commit 2e3d1c77 by crushh

udpate: dist

parent 566ddd1d
......@@ -114,3 +114,9 @@ export const aiStoreGroupTransferStatistics = params => requests('/api-marketing
// 活动转换分组维度导出
export const exportAiStoreGroupTransfer = '/api-marketing/statistics/export-ai-store-group-transfer';
// AI外呼门店分组数据
export const aiOutboundStoreGroupSplit = params => requests('/api-marketing/statistics/ai-outbound-store-group-split', params, true, false, 'get');
// 活动转换门店分组数据
export const aiTransformStoreGroupSplit = params => requests('/api-marketing/statistics/ai-transform-store-group-split', params, true, false, 'get');
......@@ -59,15 +59,15 @@
</el-table-column>
</el-table>
<dm-pagination v-show="tableData.length" background class="dm-pagination" @size-change="handleSizeChange" @current-change="getListData" :current-page.sync="form.pageNum" :page-sizes="[20, 40, 60, 80]" :page-size.sync="form.pageSize" layout="total, sizes, prev, pager, next" :total="total"></dm-pagination>
<vue-gic-export-excel :dialogVisible.sync="dialogVisible" :dataArr="tableData" :type="2" :excelUrl="excelUrl" :params="activityData" projectName="marketing"></vue-gic-export-excel>
<vue-gic-export-excel :dialogVisible.sync="dialogVisible" :dataArr="tableData" :type="2" :excelUrl="excelUrl" :params="exportParams" projectName="marketing"></vue-gic-export-excel>
</div>
</template>
<script>
import { getActivityDetail, aiStoreTransfer, aiStoreTransferNoBelong, aiStoreTransferStatistics, exportAiStoreTransfer, aiStoreGroupTransfer, aiStoreGroupTransferStatistics, exportAiStoreGroupTransfer } from '@/service/api/aiApi.js';
import { aiTransformStoreGroupSplit, getActivityDetail, aiStoreTransfer, aiStoreTransferNoBelong, aiStoreTransferStatistics, exportAiStoreTransfer, aiStoreGroupTransfer, aiStoreGroupTransferStatistics, exportAiStoreGroupTransfer } from '@/service/api/aiApi.js';
import TargetGroup from '@/views/ai/ai-data-report/target-group.vue';
import { numFormat } from '@/utils/index.js';
import { storeGroupList } from '@/service/api/commonApi.js';
const tableHead = [
{
label: '上级分组',
......@@ -99,7 +99,10 @@ const tableHead = [
label: '触达率',
prop: 'reachRate',
minWidth: '100',
sortable: 'custom'
sortable: 'custom',
formatter: function(row) {
return `<span>${!isNaN(row.reachRate) ? row.reachRate + '%' : '- -'}</span>`;
}
},
{
label: '转换人数',
......@@ -114,7 +117,10 @@ const tableHead = [
label: '转化率',
prop: 'conversionRate',
minWidth: '160',
sortable: 'custom'
sortable: 'custom',
formatter: function(row) {
return `<span>${!isNaN(row.conversionRate) ? row.conversionRate + '%' : '- -'}</span>`;
}
},
{
label: '销售额(元)',
......@@ -270,15 +276,14 @@ export default {
],
activityData: {},
targetData: {},
tableHeader: [],
exportParams: {}
tableHeader: []
};
},
components: {
TargetGroup
},
mounted() {
this.storeGroupList();
this.aiTransformStoreGroupSplit();
this.getActivityDetail();
this.aiStoreTransfer();
this.aiStoreTransferStatistics();
......@@ -306,13 +311,17 @@ export default {
item.value = numFormat(value) + '元';
break;
case 'rate':
item.value = value;
item.value = !isNaN(value) ? value + '%' : '- -';
break;
}
return true;
});
})
.filter(el => el.length > 0);
},
exportParams() {
const { search, storeGroupId, storeGroupLevel } = this.form;
return { ...this.activityData, search, storeGroupId, storeGroupLevel };
}
},
methods: {
......@@ -413,8 +422,8 @@ export default {
this.cardLoading = false;
}
},
async storeGroupList() {
let res = await storeGroupList();
async aiTransformStoreGroupSplit() {
let res = await aiTransformStoreGroupSplit();
this.options.treeOptions.data = res.result || [];
},
async getActivityDetail() {
......@@ -497,7 +506,8 @@ export default {
} else {
this.form.orderBy = undefined;
}
this.aiStoreTransfer();
this.form.pageNum = 1;
this.getListData();
}
}
};
......
......@@ -59,15 +59,15 @@
</el-table-column>
</el-table>
<dm-pagination v-show="tableData.length" background class="dm-pagination" @size-change="handleSizeChange" @current-change="getListData" :current-page.sync="form.pageNum" :page-sizes="[20, 40, 60, 80]" :page-size.sync="form.pageSize" layout="total, sizes, prev, pager, next" :total="total"></dm-pagination>
<vue-gic-export-excel :dialogVisible.sync="dialogVisible" :dataArr="tableData" :type="2" :excelUrl="excelUrl" :params="activityData" projectName="marketing"></vue-gic-export-excel>
<vue-gic-export-excel :dialogVisible.sync="dialogVisible" :dataArr="tableData" :type="2" :excelUrl="excelUrl" :params="exportParams" projectName="marketing"></vue-gic-export-excel>
</div>
</template>
<script>
import { getActivityDetail, aiStoreOutboundRank, aiStoreOutboundRankNoBelong, aiStoreOutboundStatistics, exportAiStoreOutbound, aiStoreGroupOutboundRank, aiStoreGroupOutboundStatistics, exportAiStoreGroupOutbound } from '@/service/api/aiApi.js';
import { aiOutboundStoreGroupSplit, getActivityDetail, aiStoreOutboundRank, aiStoreOutboundRankNoBelong, aiStoreOutboundStatistics, exportAiStoreOutbound, aiStoreGroupOutboundRank, aiStoreGroupOutboundStatistics, exportAiStoreGroupOutbound } from '@/service/api/aiApi.js';
import TargetGroup from '@/views/ai/ai-data-report/target-group.vue';
import { numFormat } from '@/utils/index.js';
import { storeGroupList } from '@/service/api/commonApi.js';
let tableHead = [
{
label: '上级分组',
......@@ -158,6 +158,9 @@ export default {
return {
numFormat,
form: {
search: '',
storeGroupId: '',
storeGroupLevel: '',
activityId: this.$route.params.id,
pageNum: 1,
pageSize: 20
......@@ -282,8 +285,7 @@ export default {
],
activityData: {},
targetData: {},
tableHeader: [],
exportParams: {}
tableHeader: []
};
},
components: {
......@@ -291,7 +293,7 @@ export default {
},
mounted() {
this.aiStoreOutboundStatistics();
this.storeGroupList();
this.aiOutboundStoreGroupSplit();
this.getActivityDetail();
},
computed: {
......@@ -317,7 +319,7 @@ export default {
item.value = numFormat(value);
break;
case 'rate':
item.value = value == null ? '--' : value;
item.value = !isNaN(value) ? value + '%' : '- -';
break;
}
// 活动不发送挂机短信时,数据指标不展示短信发送总数和发送成功数的字段
......@@ -326,6 +328,11 @@ export default {
});
})
.filter(el => el.length > 0);
},
exportParams() {
const { search, storeGroupId, storeGroupLevel } = this.form;
console.log(search, storeGroupId, storeGroupLevel);
return { ...this.activityData, search, storeGroupId, storeGroupLevel };
}
},
methods: {
......@@ -434,8 +441,8 @@ export default {
this.cardLoading = false;
}
},
async storeGroupList() {
let res = await storeGroupList();
async aiOutboundStoreGroupSplit() {
let res = await aiOutboundStoreGroupSplit();
this.options.treeOptions.data = res.result || [];
},
async getActivityDetail() {
......@@ -496,6 +503,9 @@ export default {
}
},
onChange(data) {
if (!data) {
this.aiOutboundStoreGroupSplit();
}
this.form.storeGroupId = data ? data.storeGroupId : undefined;
this.getStaticListData();
},
......@@ -517,7 +527,8 @@ export default {
} else {
this.form.orderBy = undefined;
}
this.aiStoreOutboundRank();
this.form.pageNum = 1;
this.getListData();
}
}
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment