|
@@ -4,17 +4,17 @@
|
|
<div class="app-title">订单详情</div>
|
|
<div class="app-title">订单详情</div>
|
|
<el-button type="primary" icon="el-icon-back" style="float: right;" @click="backToList">返回</el-button>
|
|
<el-button type="primary" icon="el-icon-back" style="float: right;" @click="backToList">返回</el-button>
|
|
</div>
|
|
</div>
|
|
- <el-card v-if="order" class="box-card">
|
|
|
|
|
|
+ <el-card v-if="listLoading" class="box-card">
|
|
<div class="refund-item">
|
|
<div class="refund-item">
|
|
<el-row :gutter="24" class="box-row">
|
|
<el-row :gutter="24" class="box-row">
|
|
- <el-col :span="6"><b>下单时间:</b> {{ order.orderTime | parseTime('{y}-{m}-{d} {h}:{i}:{s}') }}</el-col>
|
|
|
|
|
|
+ <el-col :span="6"><b>下单时间:</b> {{ order.orderTime }}</el-col>
|
|
<el-col :span="6"><b>订单编号(ID):</b> {{ order.orderNo + '(' + order.orderId + ')' }}</el-col>
|
|
<el-col :span="6"><b>订单编号(ID):</b> {{ order.orderNo + '(' + order.orderId + ')' }}</el-col>
|
|
<el-col :span="6"><b>订单状态:</b>
|
|
<el-col :span="6"><b>订单状态:</b>
|
|
<template v-if="['11','12','13','21','22','23','31','32','33'].indexOf(order.status)>=0">
|
|
<template v-if="['11','12','13','21','22','23','31','32','33'].indexOf(order.status)>=0">
|
|
- <el-tag type="success" size="small">{{ '交易中('+statusObj[order.status]+')' }}</el-tag>
|
|
|
|
|
|
+ <el-tag type="success" size="small">交易中({{ order.status | orderStatusFilter }})</el-tag>
|
|
</template>
|
|
</template>
|
|
<template v-else>
|
|
<template v-else>
|
|
- <el-tag :type="order.status*1===6?'info':''" size="small">{{ statusObj[order.status] }}</el-tag>
|
|
|
|
|
|
+ <el-tag :type="order.status*1===6?'info':''" size="small">{{ order.status | orderStatusFilter }}</el-tag>
|
|
</template>
|
|
</template>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
@@ -29,10 +29,10 @@
|
|
<el-dropdown-item v-if="order.checkFlag === 1">
|
|
<el-dropdown-item v-if="order.checkFlag === 1">
|
|
<div @click="handeleDialogFormVisible"> 更改收款状态</div>
|
|
<div @click="handeleDialogFormVisible"> 更改收款状态</div>
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
- <el-dropdown-item v-if="['13','33'].indexOf(order.status)<0">
|
|
|
|
|
|
+ <el-dropdown-item v-if="['11','12','21','22','31','32'].indexOf(order.status) !== -1">
|
|
<div @click="handeleDropdown(1,order.orderId)">发货</div>
|
|
<div @click="handeleDropdown(1,order.orderId)">发货</div>
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
- <el-dropdown-item v-if="['4','5','12', '22', '23', '32', '33'].indexOf(order.status)<0">
|
|
|
|
|
|
+ <el-dropdown-item v-if="['4','5','12','13', '22', '23', '32', '33'].indexOf(order.status) !== -1">
|
|
<div @click="handeleDropdown(2,order.orderId)">发货记录</div>
|
|
<div @click="handeleDropdown(2,order.orderId)">发货记录</div>
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
<el-dropdown-item>
|
|
<el-dropdown-item>
|
|
@@ -91,10 +91,7 @@
|
|
<el-col :span="6"><b>退款金额(已完成):</b> ¥{{ returnValue | toThousandFloatFilter }}
|
|
<el-col :span="6"><b>退款金额(已完成):</b> ¥{{ returnValue | toThousandFloatFilter }}
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="6"><b>运费:</b>
|
|
<el-col :span="6"><b>运费:</b>
|
|
- <template v-if="order.freight*1===0">包邮</template>
|
|
|
|
- <template v-else-if="order.freight*1===-1">到付</template>
|
|
|
|
- <template v-else-if="order.freight*1===-2">仪器到付-产品包邮</template>
|
|
|
|
- <template v-else>¥{{ order.freight }}</template>
|
|
|
|
|
|
+ <span>{{ order.postageInfo }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
@@ -159,33 +156,67 @@
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- </el-card>
|
|
|
|
- <el-dialog title="更改收款状态" :visible.sync="dialogFormVisible" width="600px">
|
|
|
|
- <el-form ref="dataForm" :rules="rules" :model="chengeOrder" label-position="right" label-width="150px">
|
|
|
|
- <el-row :gutter="24" class="box-row" style="margin-bottom: 40px;">
|
|
|
|
- <el-col :span="8"><b>应收金额:</b> ¥{{ order.payableAmount | amountfilters }}</el-col>
|
|
|
|
- <el-col :span="8"><b>已收金额:</b>¥{{ receiptAmount | amountfilters }}</el-col>
|
|
|
|
- <el-col :span="8"><b>未收金额:</b> ¥{{ (order.payableAmount - receiptAmount) | amountfilters }}</el-col>
|
|
|
|
|
|
+ <div class="refund-item">
|
|
|
|
+ <template v-if="order.invoiceFlag === '0'">
|
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
|
+ <el-col :span="6"><b>发票信息:</b>不需要发票</el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-else>
|
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
|
+ <el-col :span="6"><b>发票信息:</b> {{ orderInvoice.type | invoiceFilters }}</el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
|
+ <el-col :span="6"><b>单位名称:</b> {{ orderInvoice.invoiceTitle }}</el-col>
|
|
|
|
+ <el-col :span="6"><b>纳税人识别号:</b> {{ orderInvoice.corporationTaxNum }}</el-col>
|
|
|
|
+ <el-col :span="8"><b>注册地址:</b> {{ orderInvoice.registeredAddress }}</el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row :gutter="24" class="box-row">
|
|
|
|
+ <el-col :span="6"><b>注册电话:</b> {{ orderInvoice.registeredPhone }}</el-col>
|
|
|
|
+ <el-col :span="6"><b>开户银行:</b> {{ orderInvoice.openBank }}</el-col>
|
|
|
|
+ <el-col :span="8"><b>银行账号:</b> {{ orderInvoice.bankAccountNo }}</el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </template>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="refund-item">
|
|
|
|
+ <h1 style="font-size: 14px;color: #409EFF;">线下支付凭证:</h1>
|
|
|
|
+ <el-row v-for="(vouch,index) in voucher" :key="index" style="padding:5px 0">
|
|
|
|
+ <p class="refund-item-p">{{ vouch.addTime }}</p>
|
|
|
|
+ <div class="refund-item-imgs">
|
|
|
|
+ <div v-for="(imgage,imgIndex) in vouch.images" :key="imgIndex" class="item-image">
|
|
|
|
+ <img :src="imgage" alt="">
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <p class="refund-item-p">备注:{{ vouch.remarks }}</p>
|
|
</el-row>
|
|
</el-row>
|
|
- <el-form-item label="订单本次收款金额:" prop="auditStatus">
|
|
|
|
- <el-input v-model="chengeOrder.amount" style="width: 200px">
|
|
|
|
- <template slot="prepend">¥</template>
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="修改订单收款状态:" prop="sataus">
|
|
|
|
- <el-select v-model="chengeOrder.status" placeholder="请选择">
|
|
|
|
- <el-option label="请选择" value="" />
|
|
|
|
- <el-option label="部分收款" :value="2" />
|
|
|
|
- <el-option label="已收款" :value="3" />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
|
- <el-button @click="dialogFormVisible = false">取消</el-button>
|
|
|
|
- <el-button type="primary" @click="handleChangOrder">确定</el-button>
|
|
|
|
</div>
|
|
</div>
|
|
- </el-dialog>
|
|
|
|
- <Remarks dialog-title="订单备注信息" :is-visible.sync="dialogRemarksVisible" :order-id="dialogRemarksorderId" :remark-list="dialogRemarkList" />
|
|
|
|
|
|
+ <el-dialog title="更改收款状态" :visible.sync="dialogFormVisible" width="600px">
|
|
|
|
+ <el-form ref="dataForm" :rules="rules" :model="chengeOrder" label-position="right" label-width="150px">
|
|
|
|
+ <el-row :gutter="24" class="box-row" style="margin-bottom: 40px;">
|
|
|
|
+ <el-col :span="8"><b>应收金额:</b> ¥{{ order.payableAmount | amountfilters }}</el-col>
|
|
|
|
+ <el-col :span="8"><b>已收金额:</b>¥{{ receiptAmount | amountfilters }}</el-col>
|
|
|
|
+ <el-col :span="8"><b>未收金额:</b> ¥{{ (order.payableAmount - receiptAmount) | amountfilters }}</el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-form-item label="订单本次收款金额:" prop="auditStatus">
|
|
|
|
+ <el-input v-model="chengeOrder.amount" style="width: 200px">
|
|
|
|
+ <template slot="prepend">¥</template>
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="修改订单收款状态:" prop="sataus">
|
|
|
|
+ <el-select v-model="chengeOrder.status" placeholder="请选择">
|
|
|
|
+ <el-option label="请选择" value="" />
|
|
|
|
+ <el-option label="部分收款" :value="2" />
|
|
|
|
+ <el-option label="已收款" :value="3" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button @click="dialogFormVisible = false">取消</el-button>
|
|
|
|
+ <el-button type="primary" @click="handleChangOrder">确定</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <Remarks dialog-title="订单备注信息" :is-visible.sync="dialogRemarksVisible" :order-id="dialogRemarksorderId" :remark-list="dialogRemarkList" />
|
|
|
|
+ </el-card>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -194,6 +225,16 @@ import { getDetail, getRemarks, orderCheckReceipt } from '@/api/order'
|
|
import Remarks from './components/remarks'
|
|
import Remarks from './components/remarks'
|
|
export default {
|
|
export default {
|
|
components: { Remarks },
|
|
components: { Remarks },
|
|
|
|
+ filters: {
|
|
|
|
+ invoiceFilters(value) {
|
|
|
|
+ const map = {
|
|
|
|
+ 0: '不开发票',
|
|
|
|
+ 1: '普通发票',
|
|
|
|
+ 2: '增值税发票'
|
|
|
|
+ }
|
|
|
|
+ return map[value]
|
|
|
|
+ }
|
|
|
|
+ },
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
activeIndex: '2',
|
|
activeIndex: '2',
|
|
@@ -206,32 +247,19 @@ export default {
|
|
dialogRemarksVisible: false,
|
|
dialogRemarksVisible: false,
|
|
dialogRemarksorderId: 0,
|
|
dialogRemarksorderId: 0,
|
|
dialogFormVisible: false,
|
|
dialogFormVisible: false,
|
|
- statusObj: {
|
|
|
|
- '0': '待确认',
|
|
|
|
- '4': '交易完成',
|
|
|
|
- '5': '订单完成',
|
|
|
|
- '6': '已关闭',
|
|
|
|
- '7': '交易全退',
|
|
|
|
- '11': '待收款、待发货',
|
|
|
|
- '12': '待收款、部分发货',
|
|
|
|
- '13': '待收款、全部发货',
|
|
|
|
- '21': '部分收款、待发货',
|
|
|
|
- '22': '部分收款、部分发货',
|
|
|
|
- '23': '部分收款、全部发货',
|
|
|
|
- '31': '全部收款、待发货',
|
|
|
|
- '32': '全部收款、部分发货',
|
|
|
|
- '33': '全部收款、全部发货'
|
|
|
|
- },
|
|
|
|
chengeOrder: {
|
|
chengeOrder: {
|
|
orderId: this.$route.query.id * 1,
|
|
orderId: this.$route.query.id * 1,
|
|
amount: '',
|
|
amount: '',
|
|
status: ''// 2部分收款 3已收款
|
|
status: ''// 2部分收款 3已收款
|
|
},
|
|
},
|
|
|
|
+ orderInvoice: {},
|
|
|
|
+ voucher: [],
|
|
rules: {
|
|
rules: {
|
|
sataus: [{ required: true, message: '请选择机构类型', trigger: 'blur' }],
|
|
sataus: [{ required: true, message: '请选择机构类型', trigger: 'blur' }],
|
|
account: [{ required: true, message: '请选择审核状态', trigger: 'blur' }],
|
|
account: [{ required: true, message: '请选择审核状态', trigger: 'blur' }],
|
|
auditNote: [{ required: true, message: '请填写原因', trigger: 'blur' }]
|
|
auditNote: [{ required: true, message: '请填写原因', trigger: 'blur' }]
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ listLoading: false
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -244,16 +272,17 @@ export default {
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
fetchData() {
|
|
fetchData() {
|
|
- this.listLoading = true
|
|
|
|
getDetail({ id: this.orderId }).then(response => {
|
|
getDetail({ id: this.orderId }).then(response => {
|
|
this.order = response.data.order
|
|
this.order = response.data.order
|
|
this.bpClauses = response.data.bpClauses
|
|
this.bpClauses = response.data.bpClauses
|
|
this.receiptAmount = response.data.receiptAmount
|
|
this.receiptAmount = response.data.receiptAmount
|
|
this.returnValue = response.data.returnValue
|
|
this.returnValue = response.data.returnValue
|
|
this.returnedPurchaseFee = response.data.returnedPurchaseFee
|
|
this.returnedPurchaseFee = response.data.returnedPurchaseFee
|
|
- this.listLoading = false
|
|
|
|
|
|
+ this.orderInvoice = this.order.orderInvoice
|
|
|
|
+ this.voucher = response.data.voucher
|
|
|
|
+ this.listLoading = true
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
- this.listLoading = false
|
|
|
|
|
|
+ this.listLoading = true
|
|
})
|
|
})
|
|
},
|
|
},
|
|
RemarksOrder: function(id) {
|
|
RemarksOrder: function(id) {
|
|
@@ -328,6 +357,30 @@ export default {
|
|
padding: 10px 0;
|
|
padding: 10px 0;
|
|
border-bottom:1px dashed #E4E7ED;
|
|
border-bottom:1px dashed #E4E7ED;
|
|
}
|
|
}
|
|
|
|
+ .refund-item-p{
|
|
|
|
+ width: 100%;
|
|
|
|
+ line-height: 18px;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: #666666;
|
|
|
|
+ float: left;
|
|
|
|
+ }
|
|
|
|
+ .refund-item-imgs{
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: auto;
|
|
|
|
+ margin: 5px 0;
|
|
|
|
+ }
|
|
|
|
+ .refund-item-imgs .item-image{
|
|
|
|
+ width: 148px;
|
|
|
|
+ height: 148px;
|
|
|
|
+ margin-right: 10px;
|
|
|
|
+ border: 1px dashed #E1E1E1;
|
|
|
|
+ float: left;
|
|
|
|
+ }
|
|
|
|
+ .refund-item-imgs .item-image img{
|
|
|
|
+ width: 148px;
|
|
|
|
+ height: 148px;
|
|
|
|
+ display: block;
|
|
|
|
+ }
|
|
.order-item{
|
|
.order-item{
|
|
background:#f7f7f7;
|
|
background:#f7f7f7;
|
|
margin-bottom: 20px;
|
|
margin-bottom: 20px;
|