|
@@ -4,14 +4,30 @@
|
|
|
<a-row :gutter="10" style="margin-top:10px">
|
|
|
<a-col :span="24">
|
|
|
<a-card style="width:100%;">
|
|
|
+ <!-- advertiserName -->
|
|
|
+ <a-input
|
|
|
+ placeholder="请输入广告主名称"
|
|
|
+ v-model="advertiserName"
|
|
|
+ style="width:300px;margin:10px 10px 10px 0"
|
|
|
+ ></a-input>
|
|
|
+ <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
|
|
+ <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
|
|
+ <a-button type="primary" @click="exportExcel" style="margin-left: 8px">导出</a-button>
|
|
|
+ <br />
|
|
|
+ 是否展示消耗为0的数据:
|
|
|
+ <a-radio-group buttonStyle="solid" v-model="isHasData" @change="onChageLogin" style="margin:10px">
|
|
|
+ <a-radio-button value="1">是</a-radio-button>
|
|
|
+ <a-radio-button value="0">否</a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
<a-table
|
|
|
:columns="columns"
|
|
|
:dataSource="dataList"
|
|
|
bordered
|
|
|
:loading="loading"
|
|
|
size="middle"
|
|
|
- :scroll="{ x: 1900 }"
|
|
|
+ :scroll="{ x: 2300 }"
|
|
|
>
|
|
|
+ <!-- <span slot="isHasData" slot-scope="text">{{ text == 0 ? '否' : '是' }}</span> -->
|
|
|
<span slot="fengmianClickRate" slot-scope="text">{{ text | getBo }}</span>
|
|
|
<span slot="convertClickRate" slot-scope="text">{{ text | getBo }}</span>
|
|
|
</a-table>
|
|
@@ -35,7 +51,7 @@ import HeadInfo from '@/components/tools/HeadInfo.vue'
|
|
|
|
|
|
import Trend from '@/components/Trend'
|
|
|
|
|
|
-import { getAction, postAction } from '@/api/manage'
|
|
|
+import { getAction, postAction, downFilePost } from '@/api/manage'
|
|
|
import { mapGetters } from 'vuex'
|
|
|
|
|
|
import qs from 'qs'
|
|
@@ -56,6 +72,22 @@ const columns = [
|
|
|
align: 'center',
|
|
|
width: 200
|
|
|
},
|
|
|
+// {
|
|
|
+// title: '是否有数据',
|
|
|
+// dataIndex: 'isHasData',
|
|
|
+// key: 'isHasData',
|
|
|
+// filters: [
|
|
|
+// { text: '是', value: '1' },
|
|
|
+// { text: '否', value: '0' }
|
|
|
+// ],
|
|
|
+// onFilter: (value, record) =>
|
|
|
+// record.isHasData
|
|
|
+// .toString()
|
|
|
+// .toLowerCase()
|
|
|
+// .includes(value.toLowerCase()),
|
|
|
+// scopedSlots: { customRender: 'isHasData' },
|
|
|
+// align: 'center'
|
|
|
+// },
|
|
|
{
|
|
|
title: '快手id',
|
|
|
dataIndex: 'kid',
|
|
@@ -184,12 +216,15 @@ export default {
|
|
|
|
|
|
data: function() {
|
|
|
return {
|
|
|
+ isHasData: '1',
|
|
|
loginfo: {},
|
|
|
barData,
|
|
|
loading: false,
|
|
|
a: '',
|
|
|
columns: columns,
|
|
|
- dataList: []
|
|
|
+ dataList: [],
|
|
|
+ dataListAll: [],
|
|
|
+ advertiserName: ''
|
|
|
}
|
|
|
},
|
|
|
filters: {
|
|
@@ -202,7 +237,62 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- ...mapGetters(['nickname', 'avatar', 'userInfo'])
|
|
|
+ ...mapGetters(['nickname', 'avatar', 'userInfo']),
|
|
|
+ onChageLogin(e) {
|
|
|
+ if (e.target.value == 1) {
|
|
|
+ this.dataList = this.dataListAll
|
|
|
+ } else {
|
|
|
+ this.dataList = this.dataListAll.filter(item => {
|
|
|
+ return item.isHasData == 1
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ exportExcel() {
|
|
|
+ var weekDate = localStorage.getItem('companyDate')
|
|
|
+ var params = {}
|
|
|
+ params.date = weekDate
|
|
|
+ params.isExportNullData = this.isHasData
|
|
|
+ downFilePost('/report/kuaishouReportDailyAgentSum/companyReportAccountDetailListExportExcel', params).then(
|
|
|
+ res => {
|
|
|
+ let blob = new Blob([res], {
|
|
|
+ type: 'application/vnd.ms-excel'
|
|
|
+ })
|
|
|
+ let downloadElement = document.createElement('a')
|
|
|
+ let href = window.URL.createObjectURL(blob) //创建下载的链接
|
|
|
+ downloadElement.href = href
|
|
|
+ downloadElement.download = weekDate + '详情报表' //下载后文件名
|
|
|
+ document.body.appendChild(downloadElement)
|
|
|
+ downloadElement.click() //点击下载
|
|
|
+ document.body.removeChild(downloadElement) //下载完成移除元素
|
|
|
+ window.URL.revokeObjectURL(href) //释放掉blob对象
|
|
|
+ }
|
|
|
+ )
|
|
|
+ },
|
|
|
+ searchReset() {
|
|
|
+ this.advertiserName = ''
|
|
|
+ this.searchQuery()
|
|
|
+ },
|
|
|
+ searchQuery() {
|
|
|
+ var weekDate = localStorage.getItem('companyDate')
|
|
|
+ this.columns = columns
|
|
|
+ this.loading = true
|
|
|
+ postAction('/report/kuaishouReportDailyAgentSum/companyReportAccountDetailList', {
|
|
|
+ date: weekDate,
|
|
|
+ advertiserName: this.advertiserName
|
|
|
+ }).then(res => {
|
|
|
+ this.loading = false
|
|
|
+ if (res.success) {
|
|
|
+ this.dataListAll = this.dataList = res.result.map((item, index) => {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ key: index
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.message)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
created() {
|
|
|
var weekDate = localStorage.getItem('companyDate')
|
|
@@ -211,7 +301,7 @@ export default {
|
|
|
postAction('/report/kuaishouReportDailyAgentSum/companyReportAccountDetailList', { date: weekDate }).then(res => {
|
|
|
this.loading = false
|
|
|
if (res.success) {
|
|
|
- this.dataList = res.result.map((item, index) => {
|
|
|
+ this.dataListAll = this.dataList = res.result.map((item, index) => {
|
|
|
return {
|
|
|
...item,
|
|
|
key: index
|