This commit is contained in:
parent
f374238e56
commit
0f12de1586
|
@ -3,11 +3,11 @@ ENV = 'development'
|
|||
# http://192.168.1.43:8324/admin
|
||||
# http://mer.crmeb.net/admin
|
||||
# base api
|
||||
VUE_APP_BASE_API = 'http://192.168.1.3:8080'
|
||||
VUE_APP_BASE_API = 'http://192.168.1.24:8080'
|
||||
# VUE_APP_BASE_API = 'https://api.tropjoin.com/'
|
||||
|
||||
# socket 连接地址
|
||||
VUE_APP_WS_URL = 'ws://http://192.168.1.3:8080'
|
||||
VUE_APP_WS_URL = 'ws://http://192.168.1.24:8080'
|
||||
# VUE_APP_WS_URL = 'ws://https://api.tropjoin.com/'
|
||||
|
||||
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
|
||||
|
|
|
@ -7,6 +7,13 @@ import request from './request'
|
|||
export function orderListApi(data) {
|
||||
return request.get('order/lst', data)
|
||||
}
|
||||
/**
|
||||
/**
|
||||
* @description 用户消费统计 -- 列表
|
||||
*/
|
||||
export function orderStatApi(data) {
|
||||
return request.get('order/stat', data)
|
||||
}
|
||||
/**
|
||||
* @description 退款订单 -- 详情
|
||||
*/
|
||||
|
|
|
@ -66,6 +66,12 @@ export const constantRoutes = [
|
|||
component: () => import("@/views/dashboard/index"),
|
||||
name: "Dashboard",
|
||||
meta: { title: "控制台", icon: "dashboard", affix: true }
|
||||
},
|
||||
{
|
||||
path: `${roterPre}/user-consumption`,
|
||||
component: () => import("@/views/user-consumption/index"),
|
||||
name: "user-consumption",
|
||||
meta: { title: "用户消费统计" }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -0,0 +1,215 @@
|
|||
<template>
|
||||
<div class="divBox">
|
||||
<div class="selCard mb14">
|
||||
<el-form size="small" inline :model="tableFrom" ref="searchForm" label-width="85px">
|
||||
<el-form-item label="订单状态:" class="width100" prop="status">
|
||||
<el-radio-group v-model="tableFrom.status" type="button" @change="getList(1)">
|
||||
<el-radio-button label="">全部 {{ '(' +orderChartType.all?orderChartType.all:0 + ')' }}</el-radio-button>
|
||||
<el-radio-button
|
||||
label="1"
|
||||
>待付款 {{ '(' +orderChartType.unpaid?orderChartType.unpaid:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button
|
||||
label="2"
|
||||
>待发货 {{ '(' +orderChartType.unshipped?orderChartType.unshipped:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button
|
||||
label="3"
|
||||
>待收货 {{ '(' +orderChartType.untake?orderChartType.untake:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button
|
||||
label="4"
|
||||
>待评价 {{ '(' +orderChartType.unevaluate?orderChartType.unevaluate:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button
|
||||
label="5"
|
||||
>交易完成 {{ '(' +orderChartType.complete?orderChartType.complete:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button
|
||||
label="6"
|
||||
>已退款 {{ '(' +orderChartType.refund?orderChartType.refund:0+ ')' }}</el-radio-button>
|
||||
<el-radio-button
|
||||
label="7"
|
||||
>已删除 {{ '(' +orderChartType.del?orderChartType.del:0+ ')' }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="时间选择:">
|
||||
<el-date-picker
|
||||
v-model="timeVal"
|
||||
value-format="yyyy/MM/dd HH:mm:ss"
|
||||
format="yyyy/MM/dd HH:mm:ss"
|
||||
size="small"
|
||||
type="datetimerange"
|
||||
placement="bottom-end"
|
||||
placeholder="自定义时间"
|
||||
style="width: 280px;"
|
||||
:picker-options="pickerOptions"
|
||||
@change="onchangeTime"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" size="small" @click="getList(1)">搜索</el-button>
|
||||
<el-button size="small" @click="searchReset()">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-card>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="tableData.data"
|
||||
size="small"
|
||||
class="table"
|
||||
align="center"
|
||||
>
|
||||
<el-table-column label="用户名称" min-width="130" prop="real_name"></el-table-column>
|
||||
<el-table-column label="手机号码" min-width="130" prop="phone"></el-table-column>
|
||||
<el-table-column label="注册日期" min-width="130" prop="create_time"></el-table-column>
|
||||
<el-table-column label="消费金额" min-width="130" prop="price"></el-table-column>
|
||||
</el-table>
|
||||
<div class="block">
|
||||
<el-pagination
|
||||
background
|
||||
:page-size="tableFrom.limit"
|
||||
:current-page="tableFrom.page"
|
||||
layout="total, prev, pager, next, jumper"
|
||||
:total="tableData.total"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { orderListApi, chartApi, cardListApi,orderStatApi } from "@/api/order";
|
||||
import { fromList } from "@/libs/constants.js";
|
||||
import timeOptions from '@/utils/timeOptions';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
pickerOptions: timeOptions,
|
||||
orderId: 0,
|
||||
tableData: {
|
||||
data: [],
|
||||
total: 0,
|
||||
},
|
||||
listLoading: true,
|
||||
tableFrom: {
|
||||
status: this.$route.query.status || '',
|
||||
date: "",
|
||||
page: 1,
|
||||
limit: 20,
|
||||
},
|
||||
orderChartType: {},
|
||||
timeVal: [],
|
||||
fromList: fromList,
|
||||
selectionList: [],
|
||||
ids: "",
|
||||
uid: "",
|
||||
visibleDetail: false,
|
||||
tableFromLog: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
},
|
||||
tableDataLog: {
|
||||
data: [],
|
||||
total: 0,
|
||||
},
|
||||
LogLoading: false,
|
||||
dialogVisible: false,
|
||||
cardLists: [],
|
||||
orderDatalist: null,
|
||||
drawer: false,
|
||||
userDawer: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.headerList();
|
||||
this.getList('');
|
||||
},
|
||||
// 被缓存接收参数
|
||||
activated() {
|
||||
this.headerList();
|
||||
this.getList('');
|
||||
},
|
||||
methods: {
|
||||
/**重置 */
|
||||
searchReset(){
|
||||
this.timeVal = []
|
||||
this.tableFrom.date = ""
|
||||
this.$refs.searchForm.resetFields()
|
||||
this.getList(1)
|
||||
},
|
||||
pageChangeLog(page) {
|
||||
this.tableFromLog.page = page;
|
||||
this.getList('');
|
||||
},
|
||||
handleSizeChangeLog(val) {
|
||||
this.tableFromLog.limit = val;
|
||||
this.getList('');
|
||||
},
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
console.log(e);
|
||||
this.tableFrom.date = e ? this.timeVal.join("-") : "";
|
||||
this.tableFrom.page = 1;
|
||||
this.getList(1);
|
||||
},
|
||||
// 列表
|
||||
getList(num) {
|
||||
this.listLoading = true;
|
||||
this.tableFrom.page = num ? num : this.tableFrom.page;
|
||||
orderStatApi(this.tableFrom)
|
||||
.then((res) => {
|
||||
this.tableData.data = res.data.list;
|
||||
this.tableData.total = res.data.count;
|
||||
this.listLoading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$message.error(res.message);
|
||||
this.listLoading = false;
|
||||
});
|
||||
},
|
||||
pageChange(page) {
|
||||
this.tableFrom.page = page;
|
||||
this.getList('');
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.tableFrom.limit = val;
|
||||
this.getList('');
|
||||
},
|
||||
headerList() {
|
||||
chartApi()
|
||||
.then((res) => {
|
||||
this.orderChartType = res.data;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$message.error(res.message);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.demo-table-expand ::v-deep label {
|
||||
width: 83px !important;
|
||||
}
|
||||
.el-dropdown-link {
|
||||
cursor: pointer;
|
||||
color: var(--prev-color-primary);
|
||||
font-size: 12px;
|
||||
}
|
||||
.el-icon-arrow-down {
|
||||
font-size: 12px;
|
||||
}
|
||||
.tabBox_tit {
|
||||
max-width: 60%;
|
||||
font-size: 12px !important;
|
||||
margin: 0 2px 0 10px;
|
||||
letter-spacing: 1px;
|
||||
padding: 5px 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
::v-deep .row-bg .cell {
|
||||
color: red !important;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue