<template>
|
<GlobalWindow
|
:title="title"
|
width="100%"
|
:visible.sync="visible"
|
>
|
<div class="detail-box">
|
<div class="header">
|
<div class="header-b">订单详情</div>
|
<div v-if="info.status ==0" class="header-orange">待支付</div>
|
<div v-if="info.status ==1" class="header-orange">{{info.receiveType==1?'待自提':'待发货'}}</div>
|
<div v-if="info.status ==2" class="header-orange">待收货</div>
|
<span v-if="info.status ==3" class="header-grey ">交易完成</span>
|
<div v-if="info.status ==4" class="header-grey">已关闭</div>
|
<div v-if="info.status ==6" class="header-grey">已退款</div>
|
<div style="text-align: right;">
|
<div class="header-red-btn" v-if="info.status == 0" @click="$refs.OperaOrderCancelWindow.open('取消订单', info)">取消订单</div>
|
<div class="header-red-btn" v-if="info.status == 3" @click="$refs.OperaOrderCancelWindow.open('订单退款', info)">订单退款</div>
|
<div class="header-blue-btn" @click="showChangeRecord">变更记录</div>
|
</div>
|
</div>
|
<div class="info-item">
|
<div class="info-item-a">订单编号:<span>{{info.code}}</span></div>
|
<div class="info-item-a">创建时间:<span>{{info.createDate}}</span></div>
|
<div class="info-item-a">支付时间:<span>{{info.payDate }}</span></div>
|
</div>
|
<div class="info-item">
|
<div class="info-item-a">实付金额:<span class="orange">¥{{(info.price||0).toFixed(2)}}</span></div>
|
<div class="info-item-a">支付方式:<span>{{info.payMethod==0?'微信支付':'积分抵扣'}}</span></div>
|
<div class="info-item-a">取货方式:<span>{{info.receiveType==1?'门店自提':'快递配送'}}</span>
|
</div>
|
</div>
|
<div class="info-item">
|
<div class="info-item-a" style="flex: 3">归属经销商:<span >{{ info.shopName }}</span></div>
|
</div>
|
<div class="info-item">
|
<div class="info-item-a" style="flex: 3">备注:<span v-if="info.sysInfo" class="red">{{info.sysInfo}}</span>
|
<span style="margin-left: 20px;" >
|
<el-button type="text" @click="$refs.operaOrderMarkWindow.open(info.sysInfo && info.sysInfo.length?'编辑备注':'添加备注', info)">
|
{{ info.sysInfo && info.sysInfo.length?'修改备注':'添加备注' }}</el-button>
|
</span></div>
|
</div>
|
<div class="info-item"></div>
|
<div class="header">
|
<div class="header-b">会员信息</div>
|
</div>
|
<div class="info-item">
|
<div class="info-item-a">姓名:<span class="el-icon-user">{{info.memberName}}</span></div>
|
<div class="info-item-a">手机号:<span class="el-icon-phone-outline">{{info.phone}}</span></div>
|
<div class="info-item-a">用户昵称:<span>{{info.nickName }}</span></div>
|
</div>
|
<div class="info-item"></div>
|
<template v-if="info.receiveType!=1">
|
<div class="header">
|
<div class="header-b">快递信息</div>
|
<div class="header-blue-btn" v-if="info.status==1 && info.receiveType!=1" @click="$refs.operaShipmentsWindow.open('发货',info)">发货</div>
|
<div class="header-blue-btn" v-if="info.status==2 && info.receiveType!=1" @click="$refs.operaShipmentsWindow.open('快递变更',info)">快递变更</div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">收货人:<span class="el-icon-user">{{info.linkname}}</span></div>
|
<div class="info-item-a">联系电话:<span class="el-icon-phone-outline">{{info.linkphone}}</span></div>
|
<div class="info-item-a">所在位置:<span class="el-icon-location-outline">{{info.linkaddr }}</span></div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">快递公司:<span >{{info.kdName}}</span></div>
|
<div class="info-item-a">快递单号:<span >{{info.kdCode}}</span></div>
|
<div class="info-item-a" >发货人:<span>{{info.kdUserName }}</span></div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">发货时间:<span>{{info.kdDate }}</span></div>
|
<div class="info-item-a" style="flex: 2;">快递备注:<span>{{info.kdInfo }}</span></div>
|
</div>
|
<div class="info-item"></div>
|
</template>
|
<template v-if="info.status ==6">
|
<div class="header">
|
<div class="header-b">退款信息</div>
|
<div class="header-blue-btn" v-if="info.status==1 && info.receiveType!=1" @click="$refs.operaShipmentsWindow.open('发货',info)">发货</div>
|
<div class="header-blue-btn" v-if="info.status==2 && info.receiveType!=1" @click="$refs.operaShipmentsWindow.open('快递变更',info)">快递变更</div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">退款金额:<span class="orange">¥{{(info.refundMoney||0).toFixed(2)}}</span></div>
|
<div class="info-item-a" >操作人:<span>{{info.refundUserName }}</span></div>
|
<div class="info-item-a" >退款时间:<span>{{info.refundTime }}</span></div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a" >退款备注:<span>{{info.kdInfo }}</span></div>
|
</div>
|
<div class="info-item"></div>
|
</template>
|
<template v-if="info.status == 4">
|
<div class="header">
|
<div class="header-b">取消信息</div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">取消时间:<span >{{info.cancelDate}}</span></div>
|
<div class="info-item-a">取消人员:<span>{{info.cancelUserName }}</span></div>
|
<div class="info-item-a">取消说明:<span>{{info.cancelInfo }}</span></div>
|
</div>
|
<div class="info-item"></div>
|
</template>
|
<div class="header">
|
<div class="header-b">返积分信息</div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">返还用户积分:<span class="orange"> {{(info.returnMemberIntegral||0)}}</span></div>
|
<div class="info-item-a">返还经销商积分:<span class="orange">{{info.returnCustomerIntegral || 0 }}</span></div>
|
<div class="info-item-a"></div>
|
</div>
|
<div class="info-item"></div>
|
<div class="header">
|
<div class="header-b">商品信息</div>
|
</div>
|
<div class="info-item" >
|
<el-table :data="info.goodsorderDetailList||[]" stripe border >
|
<el-table-column prop="imgurl" label="商品图" min-width="80px" align="center">
|
<template slot-scope="{row}">
|
<el-image style="width: 50px;height: 50px;" v-if="row.imgurl && row.imgurl!=''" :src="row.imgurl" :preview-src-list="[row.imgurl]"></el-image>
|
</template>
|
</el-table-column>
|
<el-table-column prop="name" label="商品名称" align="center" min-width="150px"> </el-table-column>
|
<el-table-column prop="categoryName" label="商品分类" align="center" min-width="150px"> </el-table-column>
|
<el-table-column prop="goodsWeight" label="重量(kg)" align="center" min-width="150px"></el-table-column>
|
<el-table-column prop="price" label="销售价(元)" align="center" min-width="100px"></el-table-column>
|
<el-table-column prop="goodsNum" label="数量" align="center" min-width="150px"></el-table-column>
|
<el-table-column prop="totalPrice" label="小计" align="center" min-width="150px"></el-table-column>
|
</el-table>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">商品总价:<span> ¥{{((info.totalPrice||0)-(info.mailPrice || 0)).toFixed(2)}}</span></div>
|
<div class="info-item-a">快递费:<span>¥{{(info.mailPrice||0).toFixed(2)}}</span></div>
|
<div class="info-item-a">订单总价:<span > ¥{{(info.totalPrice||0).toFixed(2)}}</span></div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">优惠共减:<span> -¥{{((info.integral||0) + (info.couponPrice||0)).toFixed(2) }}</span>
|
<span style="margin-left: 20px;" >
|
<el-button type="text" @click="showCouponPrice">查看</el-button>
|
</span>
|
</div>
|
</div>
|
<div class="info-item" >
|
<div class="info-item-a">实付金额:<span class="red"> ¥{{(info.price||0).toFixed(2)}}</span></div>
|
</div>
|
</div>
|
<template v-slot:footer>
|
<el-button @click="visible=false">返回</el-button>
|
</template>
|
<OperaChangeOrderRecordWindow ref="OperaChangeOrderRecordWindow"/>
|
<OperaShipmentsWindow ref="operaShipmentsWindow" @success="successBiz"/>
|
<OperaChangeIntegralWindow ref="OperaChangeIntegralWindow" @success="successBiz"/>
|
<OperaOrderMarkWindow ref="operaOrderMarkWindow" @success="successBiz"/>
|
<OperaOrderCancelWindow ref="OperaOrderCancelWindow" @success="successBiz"/>
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import BaseOpera from '@/components/base/BaseOpera'
|
import OperaChangeOrderRecordWindow from '@/components/business/OperaChangeOrderRecordWindow'
|
import OperaChangeIntegralWindow from '@/components/business/OperaChangeIntegralWindow'
|
import OperaOrderCancelWindow from '@/components/business/OperaOrderCancelWindow'
|
import OperaOrderMarkWindow from '@/components/business/OperaOrderMarkWindow'
|
import OperaShipmentsWindow from '@/components/business/OperaShipmentsWindow'
|
export default {
|
name: 'OperaShopGoodsWindow',
|
extends: BaseOpera,
|
components: { GlobalWindow, OperaChangeOrderRecordWindow, OperaChangeIntegralWindow,OperaOrderMarkWindow,OperaShipmentsWindow ,OperaOrderCancelWindow},
|
data () {
|
return {
|
title: '',
|
visible: false,
|
tabelHeight: null,
|
info: {},
|
// 搜索
|
searchForm: {
|
memberId: '',
|
userType: 0,
|
type: null
|
}
|
}
|
},
|
created () {
|
this.config({
|
module: '用户信息表',
|
api: '/business/goodsorder',
|
'field.id': 'id',
|
'field.main': 'id'
|
})
|
},
|
methods: {
|
successBiz () {
|
this.loadInfo()
|
this.$emit('success')
|
},
|
showCouponPrice(){
|
|
},
|
loadInfo () {
|
this.api.detail(this.info.id).then(res => {
|
this.info = res || this.info
|
})
|
},
|
showChangeRecord () {
|
if (this.info) {
|
this.$refs.OperaChangeOrderRecordWindow.open('订单变更记录', this.info)
|
}
|
},
|
changeIntegral () {
|
if (this.info) {
|
this.$refs.OperaChangeIntegralWindow.open('客户积分调整', this.info, 0)
|
}
|
},
|
open (title, info) {
|
this.title = title
|
this.visible = true
|
this.info = info || {}
|
this.loadInfo()
|
},
|
handleClick (val) {
|
}
|
}
|
}
|
</script>
|
<style scoped lang="scss">
|
.table-pagination{
|
position: fixed !important;
|
bottom: 50px;
|
}
|
.header-b{
|
display: inline-block;
|
font-size: 16px;
|
font-weight: bold;
|
}
|
.header-red-btn{
|
display: inline-block;
|
font-size: 12px;
|
background-color: red;
|
padding: 2px 10px 3px 10px;
|
margin-left: 20px;
|
color: white;
|
cursor: pointer;
|
border-radius: 5px ;
|
}
|
.header-blue-btn{
|
display: inline-block;
|
font-size: 12px;
|
background-color: #216EEE;
|
padding: 2px 10px 3px 10px;
|
margin-left: 20px;
|
color: white;
|
cursor: pointer;
|
border-radius: 5px ;
|
}
|
.header-grey{
|
display: inline-block;
|
font-size: 12px;
|
border: 1px solid grey;
|
padding: 2px 10px;
|
margin-left: 20px;
|
color: grey;
|
border-radius: 5px ;
|
}
|
.header-orange{
|
display: inline-block;
|
font-size: 12px;
|
border: 1px solid orange;
|
padding: 2px 10px;
|
margin-left: 20px;
|
color: orange;
|
border-radius: 5px ;
|
}
|
.header-btn{
|
display: inline-block;
|
border: none;
|
padding: 2px 10px;
|
margin-left: 20px;
|
}
|
.info-item{
|
display: flex;
|
width: 100%;
|
margin: 15px;
|
}
|
.info-item-a{
|
flex: 1;
|
font-size: 14px;
|
|
}
|
.info-item-a span{
|
font-weight: 600;
|
}
|
.info-item-a .btn{
|
font-size: 12px !important;
|
cursor: pointer !important;
|
}
|
</style>
|