学习项目-前端-第三课:ElementUI:paginate and search
一、modify easy-mock-->/api/gathering/search/{page}/{size}
{
"flag": true,
"code": 20000,
"message": "@string",
"data": {
"total": "@integer(60, 100)",
"rows|10": [{
"id": "@string",
"name": "@cword(8,12)",
"summary": "@cword(20,40)",
"detail": "@cword(20,40)",
"sponsor": "@string",
"image": "@image",
"starttime": "@date",
"endtime": "@date",
"address": "@county(true)",
"enrolltime": "@string",
"state": "@string",
"city": "@string"
}]
}
}
二、vueadmin-template-master-->src-->api-->gathering.js
search(page, size, searchMap) {
return request(
{
url: `/api/gathering/search/${page}/${size}`,
method: "post",
data: searchMap
}
);
}
三、vueadmin-template-master-->src-->views-->table-->gathering.vue
<template>
<div>
<br/>
<el-form :inline="true">
<el-form-item label="活动名称" placeholder="活动名称">
<el-input v-model="searchMap.name"></el-input>
</el-form-item>
<el-form-item label="活动日期">
<el-date-picker
v-model="searchMap.starttime_1"
type="date"
placeholder="选择开始日期">
</el-date-picker>
<el-date-picker
v-model="searchMap.starttime_2"
type="date"
placeholder="选择结束日期">
</el-date-picker>
</el-form-item>
<el-button @click="fetchData()" type="primary">查询</el-button>
</el-form>
<el-table
:data="list"
border
style="width: 100%">
<el-table-column
prop="id"
label="活动ID"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="活动名称"
width="180">
</el-table-column>
<el-table-column
prop="sponsor"
label="主办方"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="活动地址"
width="180">
</el-table-column>
<el-table-column
prop="starttime"
label="开始时间"
width="180">
</el-table-column>
<el-table-column
prop="endtime"
label="结束时间"
width="180">
</el-table-column>
<el-table-column
prop="summary"
label="描述"
width="180">
</el-table-column>
</el-table>
<el-pagination
@size-change="fetchData"
@current-change="fetchData"
:current-page.sync="currentPage"
:page-sizes="[5, 10, 20]"
:page-size="10"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</template>
<script>
import gatheringApi from "@/api/gathering"
export default {
data(){
return {
list:[],
total: 0,
currentPage: 1,
pageSize: 10,
searchMap: {}
}
},
created () {
this.fetchData()
},
methods: {
fetchData(){
/* gatheringApi.getList().then( response=>{
this.list = response.data
}), */
gatheringApi.search(this.currentPage,this.pageSize,this.searchMap).then( response=>{
this.list = response.data.rows,
this.total = response.data.total
})
}
}
}
</script>

浙公网安备 33010602011771号