Compare commits

...

3 Commits

  1. 25
      src/api/order/orderInfo.js
  2. 214
      src/views/dashboard/admin/index.vue
  3. 10
      src/views/order/orderListDetail.vue
  4. 2
      src/views/order/orderRefundList.vue
  5. 8
      src/views/order/orderRefundListDetail.vue

@ -76,6 +76,22 @@ export default {
data: orderInfo
})
},
getMainDataOne() {
// 首页订单数据
return request({
url: `/${service_name}/${group_name}/getMainData1`,
method: 'post'
// data: orderInfo
})
},
getMainDataTwo(time) {
// 首页订单统计
return request({
url: `/${service_name}/${group_name}/getMainData2`,
method: 'post',
data: time
})
},
exportExcel(page) {
// 导出
return request({
@ -85,6 +101,15 @@ export default {
responseType: 'blob'
})
},
RefundexportExcel(page) {
// 导出
return request({
url: `/${service_name}/${group_name}/getRefundOrderExport`,
method: 'post',
data: page,
responseType: 'blob'
})
},
deleteById(id) {
// 根据id删除
return request({

@ -12,25 +12,25 @@
<i style="font-size: 40px; color:#1ABC9C" class="el-icon-tickets"></i>
<div>
<div>今日订单总数</div>
<div>200</div>
<div>{{ orderData.total }}</div>
</div>
</div>
<div class="orderData-right oneflex flex jw ae">
<div class="orderData-right-item">
<span>核销订单</span>
<span>(10)</span>
<span>退款订单</span>
<span>({{ orderData.daiTuiKuan }})</span>
</div>
<div class="orderData-right-item">
<span>核销订单</span>
<span>(10)</span>
<span>核销订单</span>
<span>({{ orderData.daiHeXiao }})</span>
</div>
<div class="orderData-right-item mt">
<span>完成订单</span>
<span>(10)</span>
<span>核销订单</span>
<span>({{ orderData.yiHeXiao }})</span>
</div>
<div class="orderData-right-item mt">
<span>退款订单</span>
<span>(10)</span>
<span>退款订单</span>
<span>({{ orderData.yiTuiKuan }})</span>
</div>
</div>
</div>
@ -104,12 +104,12 @@
<div class="orderStatistics-card-left flex column jc">
<div class="orderStatistics-card-left-item">
<div class="orderStatistics-card-left-item-title">本月订单总数</div>
<div class="orderStatistics-card-left-item-number">10000</div>
<div class="orderStatistics-card-left-item-number">{{ month }}</div>
<div class="orderStatistics-card-left-item-title">10% 同比上周</div>
</div>
<div class="orderStatistics-card-left-item mt">
<div class="orderStatistics-card-left-item-title">本周订单数量</div>
<div class="orderStatistics-card-left-item-number">10000</div>
<div class="orderStatistics-card-left-item-number">{{ week }}</div>
<div class="orderStatistics-card-left-item-title">10% 同比上周</div>
</div>
</div>
@ -128,7 +128,7 @@
:picker-options="pickerOptions"
>
</el-date-picker>
<el-button type="primary" @click="userSearchs" style="margin-left:10px">查询</el-button>
<el-button type="primary" @click="userSearchs" style="margin-left:10px">查询</el-button>
</div>
<div style="width: 100%; height:500px;margin-top:20px" id="chart"></div>
@ -142,6 +142,7 @@
<script>
import echarts from 'echarts'
import orderInfoApi from '@/api/order/orderInfo.js'
export default {
filters: {},
@ -149,16 +150,67 @@ export default {
return {
myChart: null,
createTime: '',
orderData: {},
startTime: null,
endTime: null,
week: null,
month: null,
option: {
color: ['#DBEEFC'],
grid: {
x: 50,
y: 25,
x2: 30,
y2: 35
},
tooltip: {
trigger: 'item'
},
xAxis: {
type: 'category',
boundaryGap: false
// data: ['07-01', '07-02', '07-03', '07-04', '07-05', '07-06', '07-07']
},
yAxis: {
type: 'value'
},
series: [
{
// data: [820, 932, 901, 934, 1290, 1330, 1320],
type: 'line',
smooth: true,
itemStyle: {
color: '#49A9EE',
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: '#49A9EE' //
},
{
offset: 1,
color: '#DBEEFC' //
}
]),
lineStyle: {
width: 2 // 线
}
}
},
areaStyle: {}
}
]
},
pickerOptions: {
shortcuts: [
{
text: '今天',
onClick(picker) {
const end = new Date()
const start = new Date()
picker.$emit('pick', [start, end])
}
},
// {
// text: '',
// onClick(picker) {
// const end = new Date()
// const start = new Date()
// picker.$emit('pick', [start, end])
// }
// },
{
text: '最近一周',
onClick(picker) {
@ -182,41 +234,105 @@ export default {
}
},
created() {
this.init()
// this.init()
},
mounted() {
this.initChart('chart')
this.myChart = echarts.init(document.getElementById('chart'))
var DaysAgo = this.timeBefore()
var sevenDaysAgo = this.timeBefore7()
this.createTime = [new Date(sevenDaysAgo), new Date(DaysAgo)]
this.getMainDataOne()
this.getMainDataTwo(sevenDaysAgo, DaysAgo)
},
methods: {
initChart(id = 'chart') {
this.myChart = echarts.init(document.getElementById(id))
this.myChart.setOption({
color: ['#4370da'],
grid: {
x: 50,
y: 25,
x2: 30,
y2: 35
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['07-01周六', '07-02周日', '07-03周一', '07-04周二', '07-05周三', '07-06周四', '07-07周五']
},
yAxis: {
type: 'value'
},
series: [
{
data: [820, 932, 901, 934, 1290, 1330, 1320],
type: 'line',
smooth: true,
areaStyle: {}
}
]
//
userSearchs() {
if (this.createTime !== null && this.createTime.length !== 0) {
if (this.isDate(this.createTime[0])) {
this.startTime = this.createTime[0]
this.endTime = this.createTime[1]
} else {
var time1 = this.getSimpleDate(this.createTime[0])
var time2 = this.getSimpleDate(this.createTime[1])
this.startTime = time1
this.endTime = time2
}
this.getMainDataTwo(this.startTime, this.endTime)
} else {
this.$message.error('请选择要查询的时间段!')
}
},
//
async getMainDataOne() {
await orderInfoApi.getMainDataOne().then(res => {
if ((res.code = 20000)) {
this.orderData = res.data
}
})
},
async getMainDataTwo(startTime, endTime) {
await orderInfoApi.getMainDataTwo({ createTimeStart: startTime, createTimeEnd: endTime }).then(res => {
if ((res.code = 20000)) {
this.week = res.data.week
this.month = res.data.month
this.option.xAxis.data = res.data.date
this.option.series[0].data = res.data.value
this.myChart.setOption(this.option)
}
})
},
init() {}
timeBefore(date) {
if (!date) {
date = new Date()
}
var y = date.getFullYear()
var m = date.getMonth() + 1
var d = date.getDate()
if (d < 0) {
m = date.getMonth()
var d1 = new Date(y, m, 0)
var d2 = d1.getDate()
return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d2 + d)
} else {
return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d)
}
},
timeBefore7(date) {
if (!date) {
date = new Date()
}
var y = date.getFullYear()
var m = date.getMonth() + 1
var d = date.getDate() - 7
if (d < 0) {
m = date.getMonth()
var d1 = new Date(y, m, 0)
var d2 = d1.getDate()
return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d2 + d)
} else {
return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d)
}
},
isDate(dateStr) {
var pattern = /^\d{4}-\d{2}-\d{2}$/
return pattern.test(dateStr)
},
getSimpleDate(date) {
var y = date.getFullYear()
var m = date.getMonth() + 1
m = m < 10 ? '0' + m : m
var d = date.getDate()
d = d < 10 ? '0' + d : d
// var h = date.getHours()
// var minute = date.getMinutes()
// minute = minute < 10 ? '0' + minute : minute
// var s = date.getSeconds()
// s = s < 10 ? '0' + s : s
return y + '-' + m + '-' + d
}
}
}
</script>

@ -4,7 +4,7 @@
<div style="background: #f3f3f3;height:60px">
<span style="line-height:60px;margin:0px 30px;color:red; font-size:16px"> 当前订单状态{{ detailData.orderStatus | orderStatus }}</span>
</div>
<el-descriptions title="基本信息" class="text" direction="vertical" :column="6" border>
<el-descriptions title="基本信息" class="orderText" direction="vertical" :column="6" border>
<el-descriptions-item label="订单编号">{{ detailData.orderCode }}</el-descriptions-item>
<el-descriptions-item label="用户账号">{{ detailData.customerPhone }}</el-descriptions-item>
<el-descriptions-item label="支付积分">{{ detailData.integral }}</el-descriptions-item>
@ -13,13 +13,13 @@
<el-descriptions-item label="提货码">{{ detailData.takeCode }}</el-descriptions-item>
</el-descriptions>
<el-descriptions title="收货人信息" class="text" direction="vertical" :column="3" border>
<el-descriptions title="收货人信息" class="orderText" direction="vertical" :column="3" border>
<el-descriptions-item label="收货人">{{ detailData.customerName }}</el-descriptions-item>
<el-descriptions-item label="手机号码">{{ detailData.customerPhone }}</el-descriptions-item>
<el-descriptions-item label="订单备注">{{ detailData.remark || '暂无' }}</el-descriptions-item>
</el-descriptions>
<div class="text">商品信息</div>
<div class="orderText">商品信息</div>
<el-table
:data="detailData.mallOrderInfoDetails"
class="ivu-mt mt14"
@ -55,7 +55,7 @@
<el-table-column label="小计" min-width="120" align="center" prop="allMarketPrice"> </el-table-column>
</el-table>
<div class="text">操作信息</div>
<div class="orderText">操作信息</div>
<el-table :data="detailData.mallOrderInfoRecords" class="ivu-mt mt14" v-loading="loading" border highlight-current-row empty-text="暂无数据">
<el-table-column label="操作者" min-width="120" align="center">
<template slot-scope="scope">
@ -291,7 +291,7 @@ export default {
.label_width {
width: 400px;
}
.text {
.orderText {
font-size: 16px;
font-weight: bold;
margin-top: 20px;

@ -247,7 +247,7 @@ export default {
const searchParam = { ...this.page }
searchParam.pageSize = endIndex
searchParam.currentPage = this.output.startPage
orderInfoApi.getRefundOrder(searchParam).then(res => {
orderInfoApi.RefundexportExcel(searchParam).then(res => {
const link = document.createElement('a')
// Blob
const blob = new Blob([res], { type: 'application/vnd.ns-excel' }) // MIME

@ -1,7 +1,7 @@
<template>
<div class="article-manager">
<el-card :bordered="false" shadow="never" class="ivu-mt mt16 mb30" :body-style="{ padding: '0 20px 20px' }">
<div class="text">退货商品</div>
<div class="orderText">退货商品</div>
<el-table
:data="detailData.mallOrderInfoDetails"
class="ivu-mt mt14"
@ -37,7 +37,7 @@
<el-table-column label="小计" min-width="120" align="center" prop="allMarketPrice"> </el-table-column>
</el-table>
<el-descriptions title="基本信息" class="text" :column="1" border>
<el-descriptions title="基本信息" class="orderText" :column="1" border>
<el-descriptions-item label="订单id">{{ detailData.id }}</el-descriptions-item>
<el-descriptions-item label="申请状态">{{ detailData.refundStatus | refundStatus }}</el-descriptions-item>
<el-descriptions-item label="订单编号">{{ detailData.orderCode }} </el-descriptions-item>
@ -49,7 +49,7 @@
<el-descriptions-item label="退款原因">{{ detailData.refundMark }}</el-descriptions-item>
</el-descriptions>
<el-descriptions title="" class="text" :column="1" border>
<el-descriptions title="" class="orderText" :column="1" border>
<el-descriptions-item label="处理人员">{{ OrderInfoRecord.customerName }}</el-descriptions-item>
<el-descriptions-item label="处理时间">{{ OrderInfoRecord.createTime }}</el-descriptions-item>
<el-descriptions-item label="操作备注">{{ OrderInfoRecord.remark }} </el-descriptions-item>
@ -275,7 +275,7 @@ export default {
.label_width {
width: 400px;
}
.text {
.orderText {
font-size: 16px;
font-weight: bold;
margin-top: 20px;

Loading…
Cancel
Save