积分
This commit is contained in:
parent
3c1a0c7ca9
commit
9e2b9068a2
@ -766,9 +766,6 @@ export default {
|
||||
},
|
||||
|
||||
submitForm: function() {
|
||||
console.log("dataForm",this.dataForm)
|
||||
console.log("dialogImageUrl",this.giftImages)
|
||||
|
||||
let this_ = this
|
||||
if (Array.isArray(this_.giftImages)) {
|
||||
this_.dataForm.giftImages = JSON.stringify(this_.giftImages);
|
||||
@ -858,6 +855,7 @@ export default {
|
||||
},
|
||||
// 修改按钮
|
||||
handleUpdate(data) {
|
||||
|
||||
let fileList = JSON.parse(data.giftImages);
|
||||
this.giftImages = [],
|
||||
|
||||
@ -869,6 +867,7 @@ export default {
|
||||
let sp = image.url.split('//')
|
||||
image.url = this.imagePath + '/'+sp[2]
|
||||
})
|
||||
console.log("data",data.deliveryMethod);
|
||||
|
||||
|
||||
data.deliveryMethod = JSON.parse(data.deliveryMethod);
|
||||
@ -1073,7 +1072,6 @@ export default {
|
||||
},
|
||||
// 上传详情图
|
||||
handleUploadSuccessGift(file) {
|
||||
console.log("aaa",file)
|
||||
let newImage = {
|
||||
name: file.data.original,
|
||||
url: process.env.VUE_APP_SERVER_URL + file.data.fileName,
|
||||
|
@ -1,43 +1,90 @@
|
||||
<template>
|
||||
<div class="">
|
||||
<el-descriptions class="margin-top" title="带边框列表" :column="3" border>
|
||||
<template slot="extra">
|
||||
<el-button type="primary" size="small">操作</el-button>
|
||||
</template>
|
||||
<el-descriptions class="margin-top" title="用户信息" :column="1" border>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
<i class="el-icon-user"></i>
|
||||
用户名
|
||||
用户手机号
|
||||
</template>
|
||||
kooriookami
|
||||
{{dataForm.mobile}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
<i class="el-icon-mobile-phone"></i>
|
||||
手机号
|
||||
用户名称
|
||||
</template>
|
||||
18100000000
|
||||
{{dataForm.name}}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions class="margin-top" style="margin-top:10px" title="订单信息" :column="1" border>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
商品名称
|
||||
</template>
|
||||
{{ dataForm.giftName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
<i class="el-icon-location-outline"></i>
|
||||
居住地
|
||||
交易数量
|
||||
</template>
|
||||
苏州市
|
||||
{{ dataForm.exchangeQuantity }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
<i class="el-icon-tickets"></i>
|
||||
备注
|
||||
配送类型
|
||||
</template>
|
||||
<el-tag size="small">学校</el-tag>
|
||||
<el-tag size="small"> {{ dataForm.shippingType }} </el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
<i class="el-icon-office-building"></i>
|
||||
联系地址
|
||||
付款信息
|
||||
</template>
|
||||
江苏省苏州市吴中区吴中大道 1188 号
|
||||
{{ dataForm.orderStatus }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
订单编号
|
||||
</template>
|
||||
{{ dataForm.orderNumber }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
创建时间
|
||||
</template>
|
||||
{{ dataForm.createTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
更新时间
|
||||
</template>
|
||||
{{ dataForm.updateTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
付款备注
|
||||
</template>
|
||||
{{ dataForm.notes }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions class="margin-top" title="收货信息" :column="1" border>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
收货人
|
||||
</template>
|
||||
{{dataForm.mobile}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
收货电话
|
||||
</template>
|
||||
{{dataForm.name}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template slot="label">
|
||||
收货地址
|
||||
</template>
|
||||
{{dataForm.name}}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
@ -48,6 +95,15 @@ export default {
|
||||
name: "detail",
|
||||
props: {
|
||||
dataForm:{},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
created(){
|
||||
console.log("dataForm",this.dataForm)
|
||||
}
|
||||
|
||||
}
|
||||
|
201
fuintAdmin/src/views/integral/order/outcome.vue
Normal file
201
fuintAdmin/src/views/integral/order/outcome.vue
Normal file
@ -0,0 +1,201 @@
|
||||
<template>
|
||||
<div class="">
|
||||
<el-card>
|
||||
<el-row style="margin-bottom: 10px;">
|
||||
<span style=";font-size: 20px;">兑换详情</span>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="7">
|
||||
<el-image
|
||||
style="width: 100px; height: 100px"
|
||||
:src="imagePath+dataForm.coverImage"
|
||||
fit="cover"></el-image>
|
||||
</el-col>
|
||||
<el-col :span="15">
|
||||
<el-descriptions title="" :colon=false :column="1">
|
||||
<el-descriptions-item label="礼品名称:">{{ dataForm.giftName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="兑换数量:">{{dataForm.exchangeQuantity}}</el-descriptions-item>
|
||||
<el-descriptions-item ></el-descriptions-item>
|
||||
<el-descriptions-item label="用户手机号:">
|
||||
<el-tag size="small">{{ dataForm.mobile }}</el-tag>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 20px;">
|
||||
<el-form :model="editForm" ref="form" :rules="rules" size="small" :inline="true" label-width="100px">
|
||||
<el-row v-if="flag">
|
||||
<el-form-item label="处理结果" prop="processingResult" >
|
||||
<el-radio-group :disabled="!flagOrderStart" v-model="editForm.processingResult">
|
||||
<el-radio label='0'>快递发货</el-radio>
|
||||
<el-radio label='1'>拒绝</el-radio>
|
||||
</el-radio-group>
|
||||
|
||||
<span style="display: block; width: 400px; color: red;font-size: 10px;">用户的收货地址请在订单详情中查看
|
||||
如当前实物礼品关联商品信息,将会在发货完成后直接更新对应的商品库存</span>
|
||||
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row v-if="!flag">
|
||||
<el-form-item label="处理结果2" prop="processingResult" >
|
||||
<el-radio-group :disabled="!flagOrderStart" v-model="editForm.processingResult">
|
||||
<el-radio label='0'>快递发货</el-radio>
|
||||
<el-radio label='1'>拒绝</el-radio>
|
||||
</el-radio-group>
|
||||
|
||||
<span style="display: block; width: 400px; color: red;font-size: 10px;">用户的收货地址请在订单详情中查看
|
||||
如当前实物礼品关联商品信息,将会在发货完成后直接更新对应的商品库存</span>
|
||||
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<template v-if="editForm.processingResult == 0 " && flag>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="快递公司" prop="courierCompanies">
|
||||
<el-select v-model="editForm.courierCompanies" style="width: 150px" placeholder="全部">
|
||||
<el-option
|
||||
v-for="dict in dict.type.courier_companies"
|
||||
:key="dict.label"
|
||||
:label="dict.label"
|
||||
:value="dict.label"
|
||||
/>
|
||||
<el-option value="0" label="其他快递"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="editForm.courierCompanies == '0'" :span="12">
|
||||
<el-form-item label="快递名称" label-width="80px" prop="name">
|
||||
<el-input v-model="editForm.name" style="width: 150px"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item label="快递单号" prop="theTrackingNumber">
|
||||
<el-input v-model="editForm.theTrackingNumber" style="width: 250px"></el-input>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</template>
|
||||
<el-row>
|
||||
<el-form-item label="处理备注">
|
||||
<el-input type="textarea" v-model="editForm.notes" style="width: 250px"></el-input>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div style="float: right; margin-bottom: 20px;">
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {updateOrderApi} from "@/api/integral/order";
|
||||
|
||||
export default {
|
||||
|
||||
name: "outcome",
|
||||
dicts: ['zhzt','lplx','courier_companies',],
|
||||
|
||||
props: {
|
||||
dataForm:{},
|
||||
flagOrderStart:false,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
editForm:{
|
||||
processingResult:'0', //处理结果
|
||||
courierCompanies:'', //
|
||||
name:'', //
|
||||
theTrackingNumber:'', //单号
|
||||
notes:'', //溃堤单号
|
||||
},
|
||||
flag:true,
|
||||
stateFlag: true,
|
||||
// 图片根目录
|
||||
imagePath: process.env.VUE_APP_SERVER_URL,
|
||||
|
||||
rules:{
|
||||
processingResult: [
|
||||
{ required: true, message: "请选择处理结果", trigger: "change" },
|
||||
],
|
||||
courierCompanies: [
|
||||
{ required: true, message: "请选择快递公司", trigger: "blur" },
|
||||
],
|
||||
name: [
|
||||
{ required: true, message: "快递名称不能为空", trigger: "blur" },
|
||||
],
|
||||
noites: [
|
||||
{ required: true, message: "快递单号不能为空", trigger: "blur" },
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
created(){
|
||||
console.log("dataForm",this.dataForm)
|
||||
console.log("flagOrderStart",this.flagOrderStart)
|
||||
if (this.dataForm.shippingType=="物流配送") {
|
||||
this.flag == true
|
||||
}else {
|
||||
this.flag == false
|
||||
}
|
||||
|
||||
|
||||
// 回显
|
||||
if (!this.flagOrderStart) {
|
||||
this.editForm.courierCompanies = this.dataForm.courierCompanies
|
||||
this.editForm.theTrackingNumber = this.dataForm.theTrackingNumber
|
||||
this.editForm.notes = this.dataForm.notes
|
||||
}
|
||||
if (this.dataForm.orderStatus == '已拒绝') {
|
||||
this.editForm.processingResult='1' //处理结果
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
submit: function() {
|
||||
let this_ = this
|
||||
|
||||
this_.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
let file = {
|
||||
id : this_.dataForm.id,
|
||||
orderStatus: '',
|
||||
courierCompanies:this_.editForm.courierCompanies,
|
||||
theTrackingNumber:this_.editForm.theTrackingNumber, //单号
|
||||
notes:this_.editForm.notes, //溃堤单号
|
||||
}
|
||||
|
||||
if (this.editForm.processingResult == '1') {
|
||||
file.orderStatus='已拒绝'
|
||||
}else if (this.flag) {
|
||||
file.orderStatus='已发货'
|
||||
} else {
|
||||
file.orderStatus='已完成'
|
||||
}
|
||||
if (this_.editForm.courierCompanies == 0) {
|
||||
file.courierCompanies = file.name
|
||||
}
|
||||
updateOrderApi(file).then(res=>{
|
||||
this.$modal.msgSuccess("处理成功");
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
this.$emit('send-data', 'Data from child');
|
||||
},
|
||||
cancel() {
|
||||
this.$emit('send-data', 'Data from child');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
@ -2,18 +2,17 @@
|
||||
<div class="app-container">
|
||||
<el-card >
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
|
||||
<el-form-item label="礼品名称" prop="giftName">
|
||||
<el-form-item label="交易单号" prop="giftName">
|
||||
<el-input
|
||||
v-model="queryParams.giftName"
|
||||
placeholder="请输入供应商名称"
|
||||
v-model="queryParams.orderNumber"
|
||||
placeholder="请输入交易单号"
|
||||
clearable
|
||||
style="width: 240px;"
|
||||
style="width: 220px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select v-model="queryParams.status" style="width: 217px" placeholder="全部" clearable
|
||||
>
|
||||
<el-form-item label="兑换状态">
|
||||
<el-select v-model="queryParams.status" style="width: 150px" placeholder="兑换状态" clearable>
|
||||
<el-option
|
||||
v-for="dict in dict.type.zhzt"
|
||||
:key="dict.label"
|
||||
@ -22,14 +21,35 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="giftName">
|
||||
<el-input
|
||||
v-model="queryParams.mobile"
|
||||
placeholder="请输入用户手机号"
|
||||
clearable
|
||||
style="width: 160px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="注册时间">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
style="width: 240px"
|
||||
size="medium"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
clearable
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
|
||||
<el-card style="margin-top: 20px;" >
|
||||
<div style="margin-bottom : 10px">
|
||||
<span class="font-number">统计</span>
|
||||
@ -38,26 +58,30 @@
|
||||
<el-col :span="2.5">
|
||||
<div class="box">
|
||||
<span class="font-chinese">笔数</span>
|
||||
<span class="font-number">1234</span>
|
||||
|
||||
<span class="font-number">{{statisticsForm.num}}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="2.5">
|
||||
<div class="box">
|
||||
<span class="font-chinese">商品数量</span>
|
||||
<span class="font-number">12334</span>
|
||||
<span class="font-number">{{statisticsForm.exchangeQuantity}}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="2.5">
|
||||
<div class="box">
|
||||
<span class="font-chinese">积分</span>
|
||||
<span class="font-number">0</span>
|
||||
<span class="font-number">{{statisticsForm.integral}}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<div class="box">
|
||||
<span class="font-chinese">支付总额</span>
|
||||
<span class="font-number">0</span>
|
||||
<span class="font-chinese">支付总额
|
||||
<el-tooltip class="item" effect="dark" content="实际支付订单详细信息请在增值订单页面查看
|
||||
" placement="top-start">
|
||||
<i class="el-icon-info"></i>
|
||||
</el-tooltip>
|
||||
</span>
|
||||
<span class="font-number">{{statisticsForm.amount}}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -109,7 +133,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getOrderApi} from "@/api/integral/order";
|
||||
import {getOrderApi,getStatisticsApi } from "@/api/integral/order";
|
||||
|
||||
export default {
|
||||
name: "pointsCashier",
|
||||
@ -121,28 +145,59 @@ export default {
|
||||
queryParams: {
|
||||
giftName: '',
|
||||
status: '',
|
||||
mobile: '',
|
||||
orderNumber: '',
|
||||
page:null,
|
||||
pageSize:null
|
||||
},
|
||||
loading: false,
|
||||
dateRange: [],
|
||||
defaultSort: {prop: 'createTime', order: 'descending'},
|
||||
|
||||
total: 0,
|
||||
|
||||
statisticsForm: {
|
||||
num:0,
|
||||
exchangeQuantity:0,
|
||||
integral:0,
|
||||
amount:0
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getStatistics();
|
||||
|
||||
},
|
||||
methods: {
|
||||
getList(){
|
||||
getOrderApi().then(res=>{
|
||||
getOrderApi(this.addDateRange(this.queryParams, this.dateRange)).then(res=>{
|
||||
this.dataList = res.data.records
|
||||
})
|
||||
},
|
||||
getStatistics() {
|
||||
getStatisticsApi().then(res=>{
|
||||
this.statisticsForm = res.data
|
||||
})
|
||||
console.log("123123123",this.statisticsForm)
|
||||
},
|
||||
|
||||
handleUpdate(){},
|
||||
handleQuery(){},
|
||||
resetQuery(){},
|
||||
handleQuery(){
|
||||
this.getList();
|
||||
|
||||
},
|
||||
resetQuery(){
|
||||
this.queryParams = {
|
||||
giftName: '',
|
||||
status: '',
|
||||
mobile: '',
|
||||
orderNumber: '',
|
||||
page:1,
|
||||
pageSize:10
|
||||
},
|
||||
this.dateRange = []
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -5,23 +5,48 @@
|
||||
<el-form-item label="礼品名称" prop="giftName">
|
||||
<el-input
|
||||
v-model="queryParams.giftName"
|
||||
placeholder="请输入供应商名称"
|
||||
placeholder="请输入礼品名称"
|
||||
clearable
|
||||
style="width: 240px;"
|
||||
style="width: 200px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select v-model="queryParams.status" style="width: 217px" placeholder="全部" clearable
|
||||
>
|
||||
|
||||
<el-form-item label="手机号码" prop="mobile">
|
||||
<el-input
|
||||
v-model="queryParams.mobile"
|
||||
placeholder="请输入用户手机号"
|
||||
clearable
|
||||
style="width: 160px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="配送方式">
|
||||
<el-select v-model="queryParams.shippingType" style="width: 150px" placeholder="全部" clearable>
|
||||
<el-option
|
||||
v-for="dict in dict.type.zhzt"
|
||||
v-for="dict in dict.type.shippingMethod"
|
||||
:key="dict.label"
|
||||
:label="dict.label"
|
||||
:value="dict.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="注册时间">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
style="width: 240px"
|
||||
size="medium"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
clearable
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
@ -29,29 +54,23 @@
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
|
||||
<el-card style="margin-top: 20px" >
|
||||
|
||||
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
|
||||
|
||||
<el-tab-pane label="全部订单" name="first">
|
||||
<el-tab-pane label="全部订单" name="0">
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="待处理/待发货" name="second">
|
||||
<span slot="label">待处理/待发货<el-badge class="mark" :value="12" /></span>
|
||||
<el-tab-pane label="待处理/待发货" name="1">
|
||||
<span slot="label">待处理/待发货<el-badge class="mark" v-show="statisticsForm.await!=0" :value="statisticsForm.await" /></span>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="已完成/已发货" name="third">
|
||||
<span slot="label">已完成/已发货<el-badge class="mark" :value="12" /></span>
|
||||
<el-tab-pane label="已完成/已发货" name="2">
|
||||
<span slot="label">已完成/已发货<el-badge class="mark" v-show="statisticsForm.dispose!=0" :value="statisticsForm.dispose" /></span>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="已拒绝/已退款" name="fourth">
|
||||
<span slot="label">已拒绝/已退款<el-badge class="mark" :value="12" /></span>
|
||||
<el-tab-pane label="已拒绝/已退款" name="3">
|
||||
<span slot="label">已拒绝/已退款<el-badge class="mark" v-show="statisticsForm.refuse!=0" :value="statisticsForm.refuse" /></span>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="未付款订单" name="five">
|
||||
<el-tab-pane label="未付款订单" name="4">
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
|
||||
<el-table ref="tables"
|
||||
style="margin-top: 15px"
|
||||
v-loading="loading"
|
||||
@ -89,16 +108,28 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="配送类型" align="center" prop="shippingType"/>
|
||||
<el-table-column label="配送类型" align="center" prop="shippingType">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.shippingType=='门店自提'">{{scope.row.shippingType}}</el-tag>
|
||||
<el-tag type="success" v-else>{{scope.row.shippingType}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="实付信息" align="center" prop="categoryName" >
|
||||
<el-table-column label="积分" align="center" prop="integral" width=""/>
|
||||
<el-table-column label="金额" align="center" prop="amount" width=""/>
|
||||
</el-table-column>
|
||||
<el-table-column label="兑换数量" align="center" prop="exchangeQuantity" width=""/>
|
||||
<el-table-column label="订单状态" align="center" prop="orderStatus" width=""/>
|
||||
<el-table-column label="订单状态" align="center" prop="orderStatus" width="">
|
||||
<template slot-scope="scope">
|
||||
<el-tag effect="plain" v-if="scope.row.orderStatus=='待处理' || scope.row.orderStatus=='待发货'">{{scope.row.orderStatus}}</el-tag>
|
||||
<el-tag type="success" effect="plain" v-else-if="scope.row.orderStatus=='已完成' || scope.row.orderStatus=='已发货'">{{scope.row.orderStatus}}</el-tag>
|
||||
<el-tag type="danger" effect="plain" v-else-if="scope.row.orderStatus=='已拒绝' || scope.row.orderStatus=='已退款'">{{scope.row.orderStatus}}</el-tag>
|
||||
<el-tag type="warning" effect="plain" v-else>{{scope.row.orderStatus}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单时间信息" align="center" prop="categoryName" width="">
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width=""/>
|
||||
<el-table-column label="更新时间" align="center" prop="updateTime" width=""/>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="150px"/>
|
||||
<el-table-column label="更新时间" align="center" prop="updateTime" width="150px"/>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
@ -107,25 +138,43 @@
|
||||
type="text"
|
||||
@click="handleDetail(scope.row)"
|
||||
>订单详情</el-button>
|
||||
<el-button
|
||||
|
||||
<template v-if="scope.row.orderStatus=='待支付' ||scope.row.orderStatus=='待处理' || scope.row.orderStatus=='待发货'">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>处理订单</el-button>
|
||||
@click="handleUpdate(scope.row,true)"
|
||||
>
|
||||
处理订单
|
||||
</el-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="handleUpdate(scope.row,false)"
|
||||
>
|
||||
处理变更
|
||||
</el-button>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.page"
|
||||
:page.sync="queryParams.pageNo"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
<el-dialog title="订单详情" :visible.sync="openDetail" width="500px" append-to-body :close-on-click-modal="false">
|
||||
<detail></detail>
|
||||
<detail :dataForm = "dataForm"></detail>
|
||||
</el-dialog>
|
||||
<el-dialog title="处理兑换结果" :visible.sync="openOutcome" width="650px" append-to-body :close-on-click-modal="false">
|
||||
<Outcome :dataForm = "dataForm" :flagOrderStart="flagOrderStart" @send-data="handleDataFromChild"></Outcome>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
@ -134,56 +183,106 @@
|
||||
<script>
|
||||
import {getOrderApi,getStatisticsApi} from "@/api/integral/order";
|
||||
import Detail from '@/views/integral/order/detail'
|
||||
import Outcome from "./outcome.vue";
|
||||
|
||||
export default {
|
||||
name: "pointsMall",
|
||||
components: {Detail},
|
||||
components: { Detail, Outcome },
|
||||
dicts: ['zhzt','lplx','redemptionMethod','expressShippingCosts','shippingMethod'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
dataList:[],
|
||||
dataFrom:{},
|
||||
dataForm:{},
|
||||
// 图片根目录
|
||||
imagePath: process.env.VUE_APP_SERVER_URL,
|
||||
queryParams: {
|
||||
giftName: '',
|
||||
status: '',
|
||||
page:null,
|
||||
mobile:'',
|
||||
shippingType: '',
|
||||
orderStatus:'',
|
||||
pageNo:null,
|
||||
pageSize:null
|
||||
},
|
||||
total: 0,
|
||||
loading: false,
|
||||
openDetail: false, // 订单详情
|
||||
openOutcome: false, // 订单详情
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
defaultSort: {prop: 'createTime', order: 'descending'},
|
||||
|
||||
activeName: 'first',
|
||||
statisticsForm: {
|
||||
await:0,
|
||||
dispose:0,
|
||||
refuse:0,
|
||||
},
|
||||
flagOrderStart : true, // true 代表未处理订单
|
||||
activeName: '0',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getStatistics();
|
||||
},
|
||||
methods: {
|
||||
getList(){
|
||||
getOrderApi().then(res=>{
|
||||
getOrderApi(this.addDateRange(this.queryParams, this.dateRange)).then(res=>{
|
||||
this.dataList = res.data.records
|
||||
})
|
||||
},
|
||||
|
||||
getStatistics() {
|
||||
getStatisticsApi().then(res=>{
|
||||
|
||||
this.statisticsForm = res.data
|
||||
})
|
||||
},
|
||||
handleUpdate(){},
|
||||
handleUpdate(data,flag){
|
||||
this.openOutcome = true
|
||||
this.flagOrderStart = flag
|
||||
this.dataForm = data;
|
||||
|
||||
},
|
||||
handleDetail(data){
|
||||
this.openDetail = true
|
||||
this.dataForm = data;
|
||||
},
|
||||
handleQuery(){
|
||||
this.getList();
|
||||
},
|
||||
|
||||
// 重置搜索条件
|
||||
resetQuery(){
|
||||
this.queryParams = {
|
||||
giftName: '',
|
||||
shippingType: '',
|
||||
mobile:'',
|
||||
orderStatus:'',
|
||||
pageNo:1,
|
||||
pageSize:10
|
||||
},
|
||||
this.dateRange = []
|
||||
},
|
||||
resetQuery2(){
|
||||
this.queryParams = {
|
||||
pageNo:1,
|
||||
pageSize:10
|
||||
}
|
||||
},
|
||||
handleQuery(){},
|
||||
resetQuery(){},
|
||||
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
this.resetQuery2()
|
||||
this.queryParams.orderStatus = tab.name
|
||||
console.log(tab.name);
|
||||
this.getList();
|
||||
},
|
||||
handleDataFromChild(data) {
|
||||
this.openOutcome = false
|
||||
|
||||
console.log('Received data in parent:', data);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -2,6 +2,7 @@ package com.fuint.business.integral.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.fuint.business.integral.dto.IntegralOrdersDTO;
|
||||
import com.fuint.business.integral.entity.IntegralOrders;
|
||||
import com.fuint.business.integral.service.IntegralOrdersService;
|
||||
import com.fuint.business.integral.vo.IntegralOrdersVO;
|
||||
@ -39,7 +40,7 @@ public class IntegralOrdersController extends BaseController {
|
||||
@GetMapping("queryByPage")
|
||||
public ResponseObject queryByPage(@RequestParam(value = "pageNo",defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
|
||||
@Param("integralOrders") IntegralOrders integralOrders) {
|
||||
@Param("integralOrders") IntegralOrdersDTO integralOrders) {
|
||||
Page page = new Page(pageNo, pageSize);
|
||||
IPage<IntegralOrdersVO> integralOrdersIPage = this.integralOrdersService.queryByPage(page, integralOrders);
|
||||
return getSuccessResult(integralOrdersIPage);
|
||||
@ -64,7 +65,7 @@ public class IntegralOrdersController extends BaseController {
|
||||
* @return 新增结果
|
||||
*/
|
||||
@PostMapping
|
||||
public ResponseObject add(IntegralOrders integralOrders) {
|
||||
public ResponseObject add(@RequestBody IntegralOrders integralOrders) {
|
||||
return getSuccessResult(this.integralOrdersService.insert(integralOrders));
|
||||
}
|
||||
|
||||
@ -75,10 +76,20 @@ public class IntegralOrdersController extends BaseController {
|
||||
* @return 编辑结果
|
||||
*/
|
||||
@PutMapping
|
||||
public ResponseObject edit(IntegralOrders integralOrders) {
|
||||
public ResponseObject edit(@RequestBody IntegralOrders integralOrders) {
|
||||
return getSuccessResult(this.integralOrdersService.update(integralOrders));
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 处理发货 修改该快递单号
|
||||
// * @param integralOrders
|
||||
// * @return
|
||||
// */
|
||||
// @PutMapping
|
||||
// public ResponseObject editExpressDelivery(IntegralOrders integralOrders) {
|
||||
// return getSuccessResult(this.integralOrdersService.update(integralOrders));
|
||||
// }
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
*
|
||||
@ -91,6 +102,10 @@ public class IntegralOrdersController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 统计数据
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/statistics")
|
||||
public ResponseObject statistics() {
|
||||
return getSuccessResult(this.integralOrdersService.statistics());
|
||||
|
@ -0,0 +1,17 @@
|
||||
package com.fuint.business.integral.dto;
|
||||
|
||||
|
||||
import com.fuint.business.integral.entity.IntegralOrders;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 查询参数
|
||||
*/
|
||||
@Data
|
||||
public class IntegralOrdersDTO extends IntegralOrders {
|
||||
private String mobile;
|
||||
private String userNo;
|
||||
private String name;
|
||||
private String giftName;
|
||||
private String coverImage;
|
||||
}
|
@ -79,6 +79,14 @@ public class IntegralOrders extends BaseEntity {
|
||||
* 店铺ID
|
||||
*/
|
||||
private Integer storeId;
|
||||
/**
|
||||
* 快递公司
|
||||
*/
|
||||
private String courierCompanies;
|
||||
/**
|
||||
* 快递号
|
||||
*/
|
||||
private String theTrackingNumber;
|
||||
|
||||
}
|
||||
|
||||
|
@ -2,10 +2,12 @@ package com.fuint.business.integral.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.fuint.business.integral.dto.IntegralOrdersDTO;
|
||||
import com.fuint.business.integral.entity.IntegralGift;
|
||||
import com.fuint.business.integral.entity.IntegralOrders;
|
||||
import com.fuint.business.integral.vo.IntegralGiftVO;
|
||||
import com.fuint.business.integral.vo.IntegralOrdersVO;
|
||||
import io.swagger.models.auth.In;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import java.util.List;
|
||||
@ -34,7 +36,7 @@ public interface IntegralOrdersMapper {
|
||||
* @param page 分页对象
|
||||
* @return 对象列表
|
||||
*/
|
||||
IPage<IntegralOrdersVO> queryAllByLimit(@Param("page") Page page, @Param("integralOrders") IntegralOrders integralOrders);
|
||||
IPage<IntegralOrdersVO> queryAllByLimit(@Param("page") Page page, @Param("integralOrders") IntegralOrdersDTO integralOrders);
|
||||
|
||||
/**
|
||||
* 统计总行数
|
||||
@ -89,7 +91,7 @@ public interface IntegralOrdersMapper {
|
||||
* 统计数据
|
||||
* @return
|
||||
*/
|
||||
Map<String, String> statistics();
|
||||
Map<String, String> statistics(@Param("storeId") Integer storeId);
|
||||
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,8 @@
|
||||
<result property="orderType" column="order_type" jdbcType="VARCHAR"/>
|
||||
<result property="processingResult" column="processing_result" jdbcType="VARCHAR"/>
|
||||
<result property="notes" column="notes" jdbcType="VARCHAR"/>
|
||||
<result property="courierCompanies" column="courier_companies" jdbcType="VARCHAR"/>
|
||||
<result property="theTrackingNumber" column="the_tracking_number" jdbcType="VARCHAR"/>
|
||||
<result property="storeId" column="store_id" jdbcType="INTEGER"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
@ -61,6 +63,8 @@
|
||||
io.store_id,
|
||||
io.create_time,
|
||||
io.update_time,
|
||||
io.courier_companies,
|
||||
io.the_tracking_number,
|
||||
mu.mobile,
|
||||
mu.user_no,
|
||||
mu.name,
|
||||
@ -70,27 +74,47 @@
|
||||
left join mt_user mu ON io.user_id = mu.id
|
||||
left join integral_gift ig ON io.gift_id = ig.id
|
||||
<where>
|
||||
io.store_id = #{integralOrders.storeId}
|
||||
|
||||
<if test="integralOrders.giftName != null">
|
||||
and ig.gift_name like CONCAT ('%',#{integralOrders.giftName},'%')
|
||||
</if>
|
||||
<if test="integralOrders.mobile != null">
|
||||
and mu.mobile like CONCAT ('%',#{integralOrders.mobile},'%')
|
||||
</if>
|
||||
<if test="integralOrders.params.beginTime != null and integralOrders.params.beginTime != ''">
|
||||
and date_format(io.create_time,'%y%m%d') >= date_format(#{integralOrders.params.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="integralOrders.params.endTime != null and integralOrders.params.endTime != ''">
|
||||
and date_format(io.create_time,'%y%m%d') <= date_format(#{integralOrders.params.endTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="integralOrders.orderNumber != null and integralOrders.orderNumber != ''">
|
||||
and io.order_number like CONCAT ('%',#{integralOrders.orderNumber},'%')
|
||||
</if>
|
||||
<if test="integralOrders.shippingType != null and integralOrders.shippingType != ''">
|
||||
and io.shipping_type = #{integralOrders.shippingType}
|
||||
</if>
|
||||
<if test="integralOrders.orderStatus != null and integralOrders.orderStatus != '' and integralOrders.orderStatus != 0 ">
|
||||
and (
|
||||
(#{integralOrders.orderStatus} = 1 and (io.order_status = '待处理' or io.order_status = '待发货')) or
|
||||
(#{integralOrders.orderStatus} = 2 and (io.order_status = '已完成' or io.order_status = '已发货')) or
|
||||
(#{integralOrders.orderStatus} = 3 and (io.order_status = '已退款' or io.order_status = '已拒绝')) or
|
||||
(#{integralOrders.orderStatus} = 4 and io.order_status = '未支付')
|
||||
)
|
||||
</if>
|
||||
<if test="integralOrders.id != null">
|
||||
and io.id = #{integralOrders.id}
|
||||
</if>
|
||||
<if test="integralOrders.userId != null">
|
||||
and io.user_id = #{integralOrders.userId}
|
||||
</if>
|
||||
<if test="integralOrders.orderNumber != null and integralOrders.orderNumber != ''">
|
||||
and io.order_number = #{integralOrders.orderNumber}
|
||||
</if>
|
||||
<if test="integralOrders.giftId != null">
|
||||
and io.gift_id = #{integralOrders.giftId}
|
||||
</if>
|
||||
<if test="integralOrders.shippingType != null and integralOrders.shippingType != ''">
|
||||
and io.shipping_type = #{integralOrders.shippingType}
|
||||
</if>
|
||||
<if test="integralOrders.exchangeQuantity != null">
|
||||
and io.exchange_quantity = #{integralOrders.exchangeQuantity}
|
||||
</if>
|
||||
<if test="integralOrders.orderStatus != null and integralOrders.orderStatus != ''">
|
||||
and io.order_status = #{integralOrders.orderStatus}
|
||||
</if>
|
||||
|
||||
<if test="integralOrders.status != null and integralOrders.status != ''">
|
||||
and io.status = #{integralOrders.status}
|
||||
</if>
|
||||
@ -100,9 +124,6 @@
|
||||
<if test="integralOrders.processingResult != null and integralOrders.processingResult != ''">
|
||||
and io.processing_result = #{integralOrders.processingResult}
|
||||
</if>
|
||||
<if test="integralOrders.storeId != null">
|
||||
and io.store_id = #{integralOrders.storeId}
|
||||
</if>
|
||||
<if test="integralOrders.createTime != null">
|
||||
and io.create_time = #{integralOrders.createTime}
|
||||
</if>
|
||||
@ -180,9 +201,15 @@
|
||||
</where>
|
||||
</select>
|
||||
<select id="statistics" resultType="java.util.Map">
|
||||
select count(0) a,
|
||||
count(*) b
|
||||
from integral_orders
|
||||
select count(0) num,
|
||||
sum(exchange_quantity) exchangeQuantity,
|
||||
sum(integral) integral,
|
||||
sum(amount) amount,
|
||||
SUM(CASE WHEN order_status IN ('待处理', '待发货') THEN 1 ELSE 0 END) AS await,
|
||||
SUM(CASE WHEN order_status IN ('已完成', '已发货') THEN 1 ELSE 0 END) AS dispose,
|
||||
SUM(CASE WHEN order_status IN ('已拒绝', '已退款') THEN 1 ELSE 0 END) AS refuse
|
||||
from integral_orders
|
||||
where store_id = #{storeId}
|
||||
</select>
|
||||
|
||||
<!--新增所有列-->
|
||||
@ -276,11 +303,8 @@ from integral_orders
|
||||
<if test="storeId != null">
|
||||
store_id = #{storeId},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time = #{createTime},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time = #{updateTime},
|
||||
update_time = NOW(),
|
||||
</if>
|
||||
<if test="createBy != null">
|
||||
create_by = #{createBy},
|
||||
@ -288,6 +312,12 @@ from integral_orders
|
||||
<if test="updateBy != null">
|
||||
update_by = #{updateBy},
|
||||
</if>
|
||||
<if test="courierCompanies != null">
|
||||
courier_companies = #{courierCompanies},
|
||||
</if>
|
||||
<if test="theTrackingNumber != null">
|
||||
the_tracking_number = #{theTrackingNumber},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
@ -2,6 +2,7 @@ package com.fuint.business.integral.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.fuint.business.integral.dto.IntegralOrdersDTO;
|
||||
import com.fuint.business.integral.entity.IntegralOrders;
|
||||
import com.fuint.business.integral.vo.IntegralOrdersVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -31,7 +32,7 @@ public interface IntegralOrdersService {
|
||||
* @param page 分页对象
|
||||
* @return 查询结果
|
||||
*/
|
||||
IPage<IntegralOrdersVO> queryByPage(@Param("page") Page page, @Param("integralGift") IntegralOrders integralOrders);
|
||||
IPage<IntegralOrdersVO> queryByPage(@Param("page") Page page, @Param("integralGift") IntegralOrdersDTO integralOrders);
|
||||
|
||||
/**
|
||||
* 新增数据
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.fuint.business.integral.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.fuint.business.integral.dto.IntegralOrdersDTO;
|
||||
import com.fuint.business.integral.entity.IntegralGift;
|
||||
import com.fuint.business.integral.entity.IntegralOrders;
|
||||
import com.fuint.business.integral.mapper.IntegralOrdersMapper;
|
||||
@ -49,7 +50,7 @@ public class IntegralOrdersServiceImpl implements IntegralOrdersService {
|
||||
* @return 查询结果
|
||||
*/
|
||||
@Override
|
||||
public IPage<IntegralOrdersVO> queryByPage(@Param("page") Page page, @Param("integralOrders") IntegralOrders integralOrders) {
|
||||
public IPage<IntegralOrdersVO> queryByPage(@Param("page") Page page, @Param("integralOrders") IntegralOrdersDTO integralOrders) {
|
||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||
integralOrders.setStoreId(nowAccountInfo.getStoreId());
|
||||
return integralOrdersDao.queryAllByLimit(page, integralOrders);
|
||||
@ -74,6 +75,8 @@ public class IntegralOrdersServiceImpl implements IntegralOrdersService {
|
||||
*/
|
||||
@Override
|
||||
public IntegralOrders update(IntegralOrders integralOrders) {
|
||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||
integralOrders.setUpdateBy(nowAccountInfo.getStaffId().toString());
|
||||
this.integralOrdersDao.update(integralOrders);
|
||||
return this.queryById(integralOrders.getId());
|
||||
}
|
||||
@ -91,6 +94,7 @@ public class IntegralOrdersServiceImpl implements IntegralOrdersService {
|
||||
|
||||
@Override
|
||||
public Map<String, String> statistics() {
|
||||
return this.integralOrdersDao.statistics();
|
||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||
return this.integralOrdersDao.statistics(nowAccountInfo.getStoreId());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user