182 lines
6.7 KiB
Vue
Raw Normal View History

2023-04-03 20:25:57 +08:00
<template>
<div class="conent">
<el-card :body-style="{ padding: '20px 20px 0 20px' }">
<el-form ref="form" :inline="true" :model="form">
<el-form-item label="店铺:">
<el-select v-model="form.shop_id" placeholder="店铺">
<el-option v-for="item in shops" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="活动名称:">
<el-select v-model="form.activity_no" placeholder="活动名称">
<el-option v-for="item in groupActivity" :key="item.activity_no" :label="item.activity_title" :value="item.activity_no">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="发货状态:">
<el-select v-model="form.shipping_status" placeholder="发货状态">
<el-option value="" label="全部"></el-option>
<el-option value="0" label="未发货"></el-option>
<el-option value="2" label="部分发货"></el-option>
<el-option value="1" label="已发货"></el-option>
</el-select>
</el-form-item>
<el-form-item label="选择时间:">
<el-input v-model="form.confirm_at" placeholder="选择时间">
</el-input>
</el-form-item>
<el-form-item label="订单类型:">
<el-select v-model="form.is_help" placeholder="订单类型">
<el-option value="" label="全部订单"></el-option>
<el-option value="0" label="自卖团订单"></el-option>
<el-option value="1" label="帮忙团订单"></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单状态:">
<el-select v-model="form.cancel_status" placeholder="订单状态">
<el-option value="" label="全部"></el-option>
<el-option value="0" label="未取消"></el-option>
<el-option value="1" label="已取消"></el-option>
</el-select>
</el-form-item>
<el-form-item label="售后状态:">
<el-select v-model="form.after_sales_status" placeholder="售后状态">
<el-option value="" label="全部"></el-option>
<el-option value="0" label="未售后"></el-option>
<el-option value="1" label="有售后"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleChoose()">筛选</el-button>
<el-button plain @click="handleReChoose()">重置筛选</el-button>
</el-form-item>
</el-form>
</el-card>
<el-card style="margin-top: 10px">
<el-table v-loading="loading" ref="multipleTable" :data="tableData" style="width: 100%">
<el-table-column label="店铺名称">
<template slot-scope="scope">
{{ scope.row.shop.name }}
</template>
</el-table-column>
<el-table-column prop="activity_title" label="活动名称"></el-table-column>
<el-table-column prop="participate_no" label="跟团号"></el-table-column>
<el-table-column prop="items_info" label="商品信息"></el-table-column>
<el-table-column prop="confirm_at" label="下单时间"></el-table-column>
</el-table>
<!-- 分页功能 -->
<div class="block">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="current_page" :page-sizes="[15, 50, 100]" :page-size="per_page"
layout="total, sizes, prev, pager, next, jumper" :total="Paginationdata.total">
</el-pagination>
</div>
</el-card>
</div>
</template>
<script>
import { platOrderList, activityList } from "../../api/plat";
import { storeList } from "../../api/shop";
export default {
data() {
return {
form: {
shop_id: "",
activity_no: "",
shipping_status: "",
confirm_at: "",
is_help: "",
cancel_status: "",
after_sales_status: "",
},
loading: true,
tableData: [],
Paginationdata: {}, //分页相关数据
current_page: 1, //当前页
per_page: 10, //每页显示数量
shops: [],
groupActivity: [],
};
},
mounted() {
// 展示店铺列表
this.getPlatOrderList();
this.getShopsList();
},
methods: {
// 店铺列表
getPlatOrderList(params = {}) {
params.page = this.current_page;
params.per_page = this.per_page;
platOrderList(params).then((res) => {
this.tableData = res.data.data;
this.Paginationdata = res.data.meta;
});
},
getShopsList() {
let page = {
page: 0,
per_page: 99,
};
storeList(page).then((res) => {
this.shops = res.data.data;
});
this.loading = false;
},
//分页功能
handleSizeChange(val) {
//当前条数
this.current_page = 1;
this.per_page = val;
this.getPlatOrderList();
},
handleCurrentChange(val) {
//当前页
this.current_page = val;
this.getPlatOrderList();
},
// 筛选
handleChoose() {
this.form = {
...this.form,
page: 1,
per_page: this.per_page,
};
this.getPlatOrderList(this.form);
},
// 重置筛选
handleReChoose() {
this.form = {
shop_id: "",
activity_no: "",
shipping_status: "",
confirm_at: "",
is_help: "",
cancel_status: "",
after_sales_status: "",
};
this.getPlatOrderList();
},
},
};
</script>
<style lang="scss" scoped>
.block {
margin-top: 20px;
}
</style>