|
@@ -19,7 +19,6 @@
|
|
|
display: flex;
|
|
|
flex-wrap: wrap;
|
|
|
margin-right: -10px;
|
|
|
- justify-content: space-between;
|
|
|
::v-deep .ant-card-body {
|
|
|
padding: 0;
|
|
|
}
|
|
@@ -27,13 +26,13 @@
|
|
|
padding: 0 5px;
|
|
|
}
|
|
|
.card-item {
|
|
|
- width: calc(25% - 10px);
|
|
|
- margin-bottom: 10px;
|
|
|
+ width: calc(20% - 10px);
|
|
|
+ margin: 10px 5px;
|
|
|
float: left;
|
|
|
}
|
|
|
.card-item-else {
|
|
|
width: calc(20% - 10px);
|
|
|
- margin-bottom: 10px;
|
|
|
+ margin: 10px 5px;
|
|
|
float: left;
|
|
|
}
|
|
|
}
|
|
@@ -208,11 +207,7 @@
|
|
|
<a-row :gutter="24" v-if="tabKey === 1">
|
|
|
<a-col :md="8" :sm="8" :xxl="6">
|
|
|
<a-form-item label="策略名称">
|
|
|
- <a-input
|
|
|
- v-decorator="['strategyName']"
|
|
|
- type="text"
|
|
|
- placeholder="请输入需要搜索的策略名称"
|
|
|
- />
|
|
|
+ <a-input v-decorator="['name']" type="text" placeholder="请输入需要搜索的策略名称" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<!-- -->
|
|
@@ -248,7 +243,6 @@
|
|
|
:loading="dataLoading"
|
|
|
bordered
|
|
|
@change="tableChange"
|
|
|
- :scroll="{ x: 2500 }"
|
|
|
size="middle"
|
|
|
style="word-break: break-all;font-size:16px;font-weight:600"
|
|
|
id="outTable"
|
|
@@ -270,50 +264,14 @@
|
|
|
</span>
|
|
|
<span slot="action" slot-scope="text, record">
|
|
|
<div v-if="record.projectName !== '-'">
|
|
|
- <a @click="editPrice(record)">出价</a>
|
|
|
- <a-divider type="vertical" />
|
|
|
<a @click="newCreat(record.id)">编辑</a>
|
|
|
<a-divider type="vertical" />
|
|
|
- <a @click="matchingAccount(record)">变量条件</a>
|
|
|
- <a-divider type="vertical" />
|
|
|
<a @click="selectMaterial(record)">选择素材</a>
|
|
|
- <a-divider type="vertical" />
|
|
|
- <a @click="lookPreview(record)">预览</a>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
-
|
|
|
</div>
|
|
|
</span>
|
|
|
- <span slot="charge" slot-scope="text, record">{{
|
|
|
- record.reportData.charge | decimalsHandle
|
|
|
- }}</span>
|
|
|
- <span slot="play3sRate" slot-scope="text, record">{{ record.reportData.play3sRate }}</span>
|
|
|
- <span slot="impression1kCost" slot-scope="text, record">{{
|
|
|
- record.reportData.impression1kCost
|
|
|
- }}</span>
|
|
|
- <span slot="photoClick" slot-scope="text, record">{{
|
|
|
- record.reportData.photoClick | formatCurrency
|
|
|
- }}</span>
|
|
|
- <span slot="bclick" slot-scope="text, record">{{
|
|
|
- record.reportData.bclick | formatCurrency
|
|
|
- }}</span>
|
|
|
- <span slot="eventRegister" slot-scope="text, record">{{
|
|
|
- record.reportData.eventRegister | decimalsHandle
|
|
|
- }}</span>
|
|
|
- <span slot="bclickPrice" slot-scope="text, record">{{
|
|
|
- record.reportData.bclickPrice | decimalsHandle
|
|
|
- }}</span>
|
|
|
- <span slot="photoShow" slot-scope="text, record">{{
|
|
|
- record.reportData.photoShow | formatCurrency
|
|
|
- }}</span>
|
|
|
- <span slot="aclick" slot-scope="text, record">{{
|
|
|
- record.reportData.aclick | formatCurrency
|
|
|
- }}</span>
|
|
|
- <span slot="activation" slot-scope="text, record">{{ record.reportData.activation }}</span>
|
|
|
- <span slot="eventRegisterPrice" slot-scope="text, record">{{
|
|
|
- record.reportData.eventRegisterPrice | decimalsHandle
|
|
|
- }}</span>
|
|
|
- <span slot="bclickRate" slot-scope="text, record">{{ record.reportData.bclickRate }}</span>
|
|
|
</a-table>
|
|
|
<a-pagination
|
|
|
size="small"
|
|
@@ -558,7 +516,19 @@
|
|
|
"
|
|
|
>
|
|
|
<div style="width:100%;display:flex; justify-content: space-between;">
|
|
|
- <span>已选择:{{ sumContent }}</span>
|
|
|
+ <!-- <span>已选择:{{ sumContent }}</span> -->
|
|
|
+ <div style="display:flex">
|
|
|
+ <a-input v-model="ipaginationVideo.name" type="text" placeholder="请输入需要搜索的素材名称" />
|
|
|
+ <!-- -->
|
|
|
+ <a-range-picker
|
|
|
+ :disabled-date="disabledDate"
|
|
|
+ format="YYYY-MM-DD"
|
|
|
+ v-model="ipaginationVideo.dateValue"
|
|
|
+ style="margin:0 5px"
|
|
|
+ />
|
|
|
+ <a-button type="primary" @click="searchMaterial" :loading="searchLoading"> 搜索</a-button>
|
|
|
+ <a-button type="primary" @click="setAllData" style="margin:0 5px"> 全选</a-button>
|
|
|
+ </div>
|
|
|
<a-button slot="tabBarExtraContent" type="primary" @click="tongbu()" :loading="tongbuLoading">
|
|
|
刷新素材</a-button
|
|
|
>
|
|
@@ -637,18 +607,18 @@ function tqFun(qcArr1) {
|
|
|
}
|
|
|
let TTcolumns = [
|
|
|
{
|
|
|
- title: '开关',
|
|
|
- dataIndex: 'strategyStatus',
|
|
|
- scopedSlots: { customRender: 'strategyStatus' },
|
|
|
+ title: '策略名称',
|
|
|
+ dataIndex: 'name',
|
|
|
+ scopedSlots: { customRender: 'name' },
|
|
|
align: 'center',
|
|
|
- key: 'strategyStatus'
|
|
|
+ key: 'name'
|
|
|
},
|
|
|
{
|
|
|
- title: '策略名称',
|
|
|
- dataIndex: 'strategyName',
|
|
|
- scopedSlots: { customRender: 'strategyName' },
|
|
|
+ title: '账户ID',
|
|
|
+ dataIndex: 'accountId',
|
|
|
+ scopedSlots: { customRender: 'accountId' },
|
|
|
align: 'center',
|
|
|
- key: 'strategyName'
|
|
|
+ key: 'accountId'
|
|
|
},
|
|
|
{
|
|
|
title: '策略日期',
|
|
@@ -664,86 +634,6 @@ let TTcolumns = [
|
|
|
align: 'center',
|
|
|
key: 'action',
|
|
|
width: '300px'
|
|
|
- },
|
|
|
- {
|
|
|
- title: '消耗',
|
|
|
- dataIndex: 'charge',
|
|
|
- scopedSlots: { customRender: 'charge' },
|
|
|
- align: 'center',
|
|
|
- key: 'charge',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '封面曝光数',
|
|
|
- dataIndex: 'photoShow',
|
|
|
- scopedSlots: { customRender: 'photoShow' },
|
|
|
- align: 'center',
|
|
|
- key: 'photoShow',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '封面点击数',
|
|
|
- dataIndex: 'photoClick',
|
|
|
- scopedSlots: { customRender: 'photoClick' },
|
|
|
- align: 'center',
|
|
|
- key: 'photoClick',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '素材曝光数',
|
|
|
- dataIndex: 'aclick',
|
|
|
- scopedSlots: { customRender: 'aclick' },
|
|
|
- align: 'center',
|
|
|
- key: 'aclick',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '行为数',
|
|
|
- dataIndex: 'bclick',
|
|
|
- scopedSlots: { customRender: 'bclick' },
|
|
|
- align: 'center',
|
|
|
- key: 'bclick',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '行为率',
|
|
|
- dataIndex: 'bclickRate',
|
|
|
- scopedSlots: { customRender: 'bclickRate' },
|
|
|
- align: 'center',
|
|
|
- key: 'bclickRate',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '平均千次封面曝光花费(元)',
|
|
|
- dataIndex: 'impression1kCost',
|
|
|
- scopedSlots: { customRender: 'impression1kCost' },
|
|
|
- align: 'center',
|
|
|
- key: 'impression1kCost',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '平均行为单价(元)',
|
|
|
- dataIndex: 'bclickPrice',
|
|
|
- scopedSlots: { customRender: 'bclickPrice' },
|
|
|
- align: 'center',
|
|
|
- key: 'bclickPrice',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '注册数',
|
|
|
- dataIndex: 'eventRegister',
|
|
|
- scopedSlots: { customRender: 'eventRegister' },
|
|
|
- align: 'center',
|
|
|
- key: 'eventRegister',
|
|
|
- sorter: () => {}
|
|
|
- },
|
|
|
- {
|
|
|
- title: '注册单价',
|
|
|
- dataIndex: 'eventRegisterPrice',
|
|
|
- scopedSlots: { customRender: 'eventRegisterPrice' },
|
|
|
- align: 'center',
|
|
|
- key: 'eventRegisterPrice',
|
|
|
- sorter: () => {}
|
|
|
}
|
|
|
]
|
|
|
|
|
@@ -760,6 +650,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
tongbuLoading: false,
|
|
|
+ searchLoading: false,
|
|
|
appIds: [],
|
|
|
appOptions: [],
|
|
|
materialVisible: false,
|
|
@@ -803,9 +694,11 @@ export default {
|
|
|
},
|
|
|
ipaginationVideo: {
|
|
|
current: 1,
|
|
|
- pageSize: 8,
|
|
|
+ pageSize: 20,
|
|
|
id: '',
|
|
|
accountId: '',
|
|
|
+ dateValue: [],
|
|
|
+ name: '',
|
|
|
// pageSizeOptions: ['10', '20', '30'],
|
|
|
showTotal: (total, range) => {
|
|
|
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
|
@@ -886,7 +779,7 @@ export default {
|
|
|
if (res.success) {
|
|
|
this.$message.success(res.message)
|
|
|
this.tongbuLoading = false
|
|
|
- postAction('/dimension/kuaiShouDimensionMaterial/getVideoList', {
|
|
|
+ postAction('/hosting/kuaishouHostingTemplate/getVideoList', {
|
|
|
id: this.ipaginationVideo.id,
|
|
|
accountId: this.ipaginationVideo.accountId,
|
|
|
pageSize: this.ipaginationVideo.pageSize,
|
|
@@ -904,6 +797,22 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ searchMaterial() {
|
|
|
+ this.searchLoading = true
|
|
|
+ var data = {
|
|
|
+ id: this.ipaginationVideo.id,
|
|
|
+ accountId: this.ipaginationVideo.accountId
|
|
|
+ }
|
|
|
+ this.selectMaterial(data)
|
|
|
+ },
|
|
|
+ setAllData() {
|
|
|
+ this.checkVideo.push(...this.dataVideoList.map(item=>{return item.photoId}))
|
|
|
+ this.checkPersonElse.push(...this.dataVideoList.map(item=>{return item.photoId}))
|
|
|
+ this.checkPersonElse = [...new Set(this.checkPersonElse)]
|
|
|
+ this.checkVideo = [...new Set(this.checkVideo)]
|
|
|
+ this.sumContent = this.checkPersonElse.length
|
|
|
+ console.log(this.checkVideo)
|
|
|
+ },
|
|
|
setData(e, type) {
|
|
|
if (type == 'region') {
|
|
|
if (e.includes('1') || e.includes('2')) {
|
|
@@ -1277,26 +1186,29 @@ export default {
|
|
|
)
|
|
|
},
|
|
|
selectMaterial(item) {
|
|
|
- getAction('/dimension/kuaiShouDimensionAccount/getStrategyBindAccount', {
|
|
|
- strategyId: item.id
|
|
|
- }).then(res => {
|
|
|
- if (res.success) {
|
|
|
- this.ipaginationVideo.id = item.id
|
|
|
- this.ipaginationVideo.accountId = res.result
|
|
|
- this.ipaginationVideo.current = 1
|
|
|
- postAction('/dimension/kuaiShouDimensionMaterial/getVideoList', {
|
|
|
- id: this.ipaginationVideo.id,
|
|
|
- accountId: this.ipaginationVideo.accountId,
|
|
|
- pageSize: this.ipaginationVideo.pageSize,
|
|
|
- pageNo: this.ipaginationVideo.current
|
|
|
- }).then(resNei => {
|
|
|
- if (resNei.success) {
|
|
|
- this.materialVisible = true
|
|
|
- this.dataVideoList = resNei.result.list
|
|
|
- this.ipaginationVideo.total = resNei.result.total
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
+ this.ipaginationVideo.id = item.id
|
|
|
+ this.ipaginationVideo.accountId = item.accountId
|
|
|
+ this.ipaginationVideo.current = 1
|
|
|
+ this.getAction('/hosting/kuaishouHostingTemplate/getVideoList', {
|
|
|
+ id: this.ipaginationVideo.id,
|
|
|
+ accountId: this.ipaginationVideo.accountId,
|
|
|
+ pageSize: this.ipaginationVideo.pageSize,
|
|
|
+ pageNo: this.ipaginationVideo.current,
|
|
|
+ startDate:
|
|
|
+ this.ipaginationVideo.dateValue && this.ipaginationVideo.dateValue.length === 2
|
|
|
+ ? moment(this.ipaginationVideo.dateValue[0]).format('YYYY-MM-DD')
|
|
|
+ : null,
|
|
|
+ endDate:
|
|
|
+ this.ipaginationVideo.dateValue && this.ipaginationVideo.dateValue.length === 2
|
|
|
+ ? moment(this.ipaginationVideo.dateValue[1]).format('YYYY-MM-DD')
|
|
|
+ : null,
|
|
|
+ name: this.ipaginationVideo.name
|
|
|
+ }).then(resNei => {
|
|
|
+ this.searchLoading = false
|
|
|
+ if (resNei.success) {
|
|
|
+ this.materialVisible = true
|
|
|
+ this.dataVideoList = resNei.result.records
|
|
|
+ this.ipaginationVideo.total = resNei.result.total
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -1314,15 +1226,24 @@ export default {
|
|
|
this.ipaginationVideo.pageSize = pageSize
|
|
|
this.checkVideo = this.checkPersonElse
|
|
|
this.dataVideoList = []
|
|
|
- postAction('/dimension/kuaiShouDimensionMaterial/getVideoList', {
|
|
|
+ this.getAction('/hosting/kuaishouHostingTemplate/getVideoList', {
|
|
|
id: this.ipaginationVideo.id,
|
|
|
accountId: this.ipaginationVideo.accountId,
|
|
|
pageSize: this.ipaginationVideo.pageSize,
|
|
|
- pageNo: this.ipaginationVideo.current
|
|
|
+ pageNo: this.ipaginationVideo.current,
|
|
|
+ startDate:
|
|
|
+ this.ipaginationVideo.dateValue && this.ipaginationVideo.dateValue.length === 2
|
|
|
+ ? moment(this.ipaginationVideo.dateValue[0]).format('YYYY-MM-DD')
|
|
|
+ : null,
|
|
|
+ endDate:
|
|
|
+ this.ipaginationVideo.dateValue && this.ipaginationVideo.dateValue.length === 2
|
|
|
+ ? moment(this.ipaginationVideo.dateValue[1]).format('YYYY-MM-DD')
|
|
|
+ : null,
|
|
|
+ name: this.ipaginationVideo.name
|
|
|
}).then(resNei => {
|
|
|
this.spinning = false
|
|
|
if (resNei.success) {
|
|
|
- this.dataVideoList = resNei.result.list
|
|
|
+ this.dataVideoList = resNei.result.records
|
|
|
this.ipaginationVideo.total = resNei.result.total
|
|
|
}
|
|
|
})
|
|
@@ -1339,9 +1260,9 @@ export default {
|
|
|
let dataAll = this.checkPersonElse
|
|
|
this.checkVideo = dataAll
|
|
|
this.materialLoading = true
|
|
|
- this.postDataAction('/dimension/kuaiShouDimensionStrategy/create', {
|
|
|
- id: this.ipaginationVideo.id,
|
|
|
- materialArray: this.checkVideo
|
|
|
+ this.postDataAction('/task/kuaishouHostingTask/submitTask', {
|
|
|
+ templateId: this.ipaginationVideo.id,
|
|
|
+ videoArray: this.checkVideo
|
|
|
}).then(res => {
|
|
|
this.materialLoading = false
|
|
|
if (res.success) {
|