1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/**
* Created by wang on 18/10/31.
*/
<template>
<div class="index">
<el-form ref="searchFrom" :model="searchFrom" label-width="80px">
<el-row>
<el-col :lg="10" :sm="24" :md="24">
<el-form-item label="购买时间">
<el-date-picker
v-model="searchFrom.time"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00','23:59:59']">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :lg="4" :sm="24" :md="12">
<el-form-item label="来源">
<el-input v-model="searchFrom.source" placeholder="名称"
size="small"></el-input>
</el-form-item>
</el-col>
<el-col :lg="4" :sm="24" :md="12">
<el-form-item>
<el-button type="primary" plain size="small" @click="initPage">
搜索
</el-button>
</el-form-item>
</el-col>
<el-col :lg="4" :sm="24" :md="12">
<el-form-item>
<el-button type="primary" plain size="small" @click="doExport">
导出
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
:data="tableData"
style="width: 100%">
<el-table-column
prop="name"
label="宝贝名称">
</el-table-column>
<el-table-column
prop="create_at"
label="添加时间">
</el-table-column>
<el-table-column
prop="source"
label="来源">
</el-table-column>
</el-table>
<page :total="total" :limit="limit" @pageChange="onPageChange" @sizeChange="onSizeChange"/>
</div>
</template>
<script>
import page from '../framework/page'
import CommonJs from '../../util/common';
import {getAdsListApi} from "../../service/api";
export default {
name: "index",
components:{
page
},
data(){
return {
total:0,
nowPage:1,
limit: 10,
searchFrom: {
source:''
},
tableData:[],
}
},
created(){
this.initPage()
},
methods:{
initPage(){
let json = {
limit: this.limit,
page: this.nowPage
}
if (this.searchFrom.time) {
json.time = this.searchFrom.time
}
if (this.searchFrom.source) {
json.source = this.searchFrom.source
}
if(this.searchFrom.time && this.searchFrom.time.length > 0){
json.date_start = CommonJs.dateFmt(this.searchFrom.time[0],"yyyy-MM-dd hh:mm:ss");
json.date_end = CommonJs.dateFmt(this.searchFrom.time[1],"yyyy-MM-dd hh:mm:ss")
}
getAdsListApi(json).then((res)=>{
this.tableData = res.list;
this.total = res.total
})
},
onPageChange(val){
this.nowPage = val
this.initPage()
},
onSizeChange(val){
this.nowPage = 1
this.limit = val
this.initPage()
},
doExport(){
let query = `?type=export`;
if(this.searchFrom.source){
query = query + '&source=' + this.searchFrom.source
}
if(this.searchFrom.time && this.searchFrom.time.length > 0){
query = query + '&date_start=' + CommonJs.dateFmt(this.searchFrom.time[0],"yyyy-MM-dd hh:mm:ss");
query = query + '&date_end=' + CommonJs.dateFmt(this.searchFrom.time[1],"yyyy-MM-dd hh:mm:ss")
}
window.open(`/api/public/ads/export/all${query}`)
}
}
}
</script>
<style scoped lang="less">
.index {
padding: 20px 0;
}
</style>