修改售后单部分样式以及逻辑

master
lemon橪 2021-07-22 14:23:31 +08:00
parent 7fbcdafa9b
commit 4809c3839b
8 changed files with 505 additions and 547 deletions

View File

@ -21,10 +21,7 @@ export default {
buyer: "https://buyer-api.pickmall.cn",
seller: "https://store-api.pickmall.cn",
manager: "https://admin-api.pickmall.cn"
// common: 'http://192.168.0.101:8890',
// buyer: 'http://192.168.0.101:8888',
// seller: 'http://192.168.0.101:8889',
// manager: 'http://192.168.0.101:8887'
},
api_prod: {
common: "https://common-api.pickmall.cn",

View File

@ -228,7 +228,7 @@
{
title: "售后状态",
key: "serviceStatus",
width: 110,
width: 200,
render: (h, params) => {
if (params.row.serviceStatus == "APPLY") {
return h('div', [h('tag', {props: {color: "blue"}}, '申请中'),]);

View File

@ -94,7 +94,7 @@
<dl>
<dt>实际退款金额</dt>
<dd>
<Input v-model="params.actualRefundPrice" style="width:260px"/>
<Input v-model="params.actualRefundPrice" style="width:260px" />
</dd>
</dl>
<dl>
@ -174,12 +174,47 @@
{{afterSaleInfo.orderSn}}
</dd>
</dl>
<dl v-if="afterSaleInfo.bankDepositName">
<dt>银行开户行</dt>
<dd>
{{afterSaleInfo.bankDepositName}}
</dd>
</dl>
<dl v-if="afterSaleInfo.bankAccountName">
<dt>银行开户名</dt>
<dd>
{{afterSaleInfo.bankAccountName}}
</dd>
</dl>
<dl v-if="afterSaleInfo.bankAccountNumber">
<dt>银行卡号</dt>
<dd>
{{afterSaleInfo.bankAccountNumber}}
</dd>
</dl>
</div>
<!--"-->
<div class="div-form-default" v-if="afterSaleInfo.afterSaleAllowOperationVO && afterSaleInfo.afterSaleAllowOperationVO.refund">
<h3>平台退款</h3>
<dl>
<dt>银行开户行</dt>
<dd>
{{afterSaleInfo.bankDepositName}}
</dd>
</dl>
<dl>
<dt>银行开户名</dt>
<dd>
{{afterSaleInfo.bankAccountName}}
</dd>
</dl>
<dl>
<dt>银行卡号</dt>
<dd>
{{afterSaleInfo.bankAccountNumber}}
</dd>
</dl>
<dl>
<dt>备注信息</dt>
<dd>
@ -200,15 +235,15 @@
<h3>物流信息</h3>
<dl>
<dt>
收货
收货商家
</dt>
<dd>
{{afterSaleInfo.sconsigneeName}}
{{afterSaleInfo.storeName}}
</dd>
</dl>
<dl>
<dt>
收货手机
收货商家手机
</dt>
<dd>
{{afterSaleInfo.sconsigneeMobile}}
@ -227,7 +262,7 @@
物流公司
</dt>
<dd>
{{afterSaleInfo.slogisticsNo}}
{{afterSaleInfo.mlogisticsName}}
</dd>
</dl>
<dl>
@ -235,7 +270,7 @@
物流单号
</dt>
<dd>
{{afterSaleInfo.slogisticsCode}}
{{afterSaleInfo.mlogisticsNo}}
</dd>
</dl>
<dl>
@ -447,9 +482,14 @@ export default {
this.afterSaleImage = (res.result.afterSaleImage || "").split(",");
//退
if (this.afterSaleInfo.mconsigneeAddressPath)
this.afterSaleInfo.mconsigneeAddressPath = this.afterSaleInfo.mconsigneeAddressPath.replaceAll(","," ");
this.afterSaleInfo.mconsigneeAddressPath =
this.afterSaleInfo.mconsigneeAddressPath.replaceAll(",", " ");
this.$set(this.params,'actualRefundPrice', this.afterSaleInfo.applyRefundPrice)
this.$set(
this.params,
"actualRefundPrice",
this.afterSaleInfo.applyRefundPrice
);
}
});
},
@ -601,10 +641,10 @@ export default {
margin: 0;
border-bottom: dotted 1px #e6e6e6;
overflow: hidden;
display: flex;
dt {
display: inline-block;
width: 13%;
flex: 2;
vertical-align: top;
text-align: right;
padding: 15px 1% 15px 0;
@ -613,8 +653,7 @@ export default {
}
dd {
display: inline-block;
width: 84%;
flex: 10;
padding: 15px 0 15px 1%;
margin: 0;
border-left: 1px solid #f0f0f0;
@ -727,10 +766,10 @@ dl dt {
margin: 0;
border-bottom: dotted 1px #e6e6e6;
overflow: hidden;
display: flex;
dt {
display: inline-block;
width: 13%;
flex: 2;
vertical-align: top;
text-align: right;
padding: 15px 1% 15px 0;
@ -740,7 +779,7 @@ dl dt {
dd {
display: inline-block;
width: 84%;
flex: 10;
padding: 15px 0 15px 1%;
margin: 0;
border-left: 1px solid #f0f0f0;

View File

@ -2,35 +2,18 @@
<div class="search">
<div>
<Col>
<div >
<div>
<Card style="height: 60px">
<div style="">
<Button
v-if="allowOperation.editPrice"
@click="modifyPrice"
type="primary"
>调整价格</Button
>
<Button
v-if="allowOperation.editConsignee"
@click="editAddress"
type="primary"
>修改收货地址</Button
>
<Button
v-if="allowOperation.cancel"
@click="orderCancel"
type="primary"
>订单取消</Button
>
<Button
v-if="orderInfo.order.orderStatus === 'UNPAID'"
@click="confirmPrice"
type="success"
>收款</Button>
<Button @click="orderLog" type="primary"
>订单日志</Button
>
<Button v-if="allowOperation.editPrice" @click="modifyPrice"></Button>
<Button v-if="allowOperation.editConsignee" @click="editAddress" type="primary" ghost>修改收货地址</Button>
<Button v-if="allowOperation.cancel" @click="orderCancel" type="warning" ghost>订单取消</Button>
<Button v-if="orderInfo.order.orderStatus === 'UNPAID'" @click="confirmPrice" type="primary"></Button>
<Button @click="orderLog" type="info" ghost>订单日志</Button>
</div>
</Card>
<Card style="height: 400px">
@ -154,22 +137,12 @@
</div>
</Col>
<Card>
<Table
:loading="loading"
border
:columns="columns"
:data="data"
ref="table"
sortable="custom"
>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom">
<!-- 商品栏目格式化 -->
<template slot="goodsSlot" slot-scope="{row}">
<div style="margin-top: 5px; height: 80px; display: flex">
<div style="">
<img
:src="row.image"
style="height: 60px; margin-top: 1px; width: 60px"
/>
<img :src="row.image" style="height: 60px; margin-top: 1px; width: 60px" />
</div>
<div style="margin-left: 13px">
@ -195,9 +168,7 @@
<ul>
<li>
<span class="label">商品总额</span>
<span class="txt"
>{{ orderInfo.order.priceDetailDTO.goodsPrice | unitPrice('¥') }}</span
>
<span class="txt">{{ orderInfo.order.priceDetailDTO.goodsPrice | unitPrice('¥') }}</span>
</li>
<li>
<span class="label">优惠金额</span>
@ -216,9 +187,7 @@
<li>
<span class="label">应付金额</span>
<span class="txt flowPrice"
>¥{{ orderInfo.order.priceDetailDTO.flowPrice | unitPrice }}</span
>
<span class="txt flowPrice">¥{{ orderInfo.order.priceDetailDTO.flowPrice | unitPrice }}</span>
</li>
</ul>
</div>
@ -231,21 +200,9 @@
<span>修改金额</span>
</p>
<div>
<Form
ref="modifyPriceForm"
:model="modifyPriceForm"
label-position="left"
:label-width="100"
:rules="modifyPriceValidate"
>
<Form ref="modifyPriceForm" :model="modifyPriceForm" label-position="left" :label-width="100" :rules="modifyPriceValidate">
<FormItem label="订单金额" prop="price">
<Input
v-model="modifyPriceForm.price"
size="large"
number
maxlength="9"
><span slot="append"></span></Input
>
<Input v-model="modifyPriceForm.price" size="large" number maxlength="9"><span slot="append"></span></Input>
</FormItem>
</Form>
</div>
@ -261,20 +218,9 @@
<span>订单取消</span>
</p>
<div>
<Form
ref="orderCancelForm"
:model="orderCancelForm"
label-position="left"
:label-width="100"
:rules="orderCancelValidate"
>
<Form ref="orderCancelForm" :model="orderCancelForm" label-position="left" :label-width="100" :rules="orderCancelValidate">
<FormItem label="取消原因" prop="reason">
<Input
v-model="orderCancelForm.reason"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
placeholder="请输入取消原因"
></Input>
<Input v-model="orderCancelForm.reason" type="textarea" :autosize="{ minRows: 2, maxRows: 5 }" placeholder="请输入取消原因"></Input>
</FormItem>
</Form>
</div>
@ -290,55 +236,21 @@
<span>修改收件信息</span>
</p>
<div>
<Form
ref="addressForm"
:model="addressForm"
label-position="left"
:label-width="100"
:rules="addressRule"
>
<Form ref="addressForm" :model="addressForm" label-position="left" :label-width="100" :rules="addressRule">
<FormItem label="收件人" prop="consigneeName">
<Input
v-model="addressForm.consigneeName"
size="large"
maxlength="20"
></Input>
<Input v-model="addressForm.consigneeName" size="large" maxlength="20"></Input>
</FormItem>
<FormItem label="联系方式" prop="consigneeMobile">
<Input
v-model="addressForm.consigneeMobile"
size="large"
maxlength="11"
></Input>
<Input v-model="addressForm.consigneeMobile" size="large" maxlength="11"></Input>
</FormItem>
<FormItem label="地址信息" prop="consigneeAddressPath">
<Input
v-model="region"
disabled
style="width: 305px"
v-if="showRegion == false"
/>
<Button
v-if="showRegion == false"
@click="regionClick"
:loading="submitLoading"
type="primary"
icon="ios-create-outline"
style="margin-left: 8px"
>修改
<Input v-model="region" disabled style="width: 305px" v-if="showRegion == false" />
<Button v-if="showRegion == false" @click="regionClick" :loading="submitLoading" type="primary" icon="ios-create-outline" style="margin-left: 8px">
</Button>
<region
style="width: 400px"
@selected="selectedRegion"
v-if="showRegion == true"
/>
<region style="width: 400px" @selected="selectedRegion" v-if="showRegion == true" />
</FormItem>
<FormItem label="详细地址" prop="consigneeDetail">
<Input
v-model="addressForm.consigneeDetail"
size="large"
maxlength="50"
></Input>
<Input v-model="addressForm.consigneeDetail" size="large" maxlength="50"></Input>
</FormItem>
</Form>
</div>
@ -353,14 +265,7 @@
<span>订单日志</span>
</p>
<div class="order-log-div">
<Table
:loading="loading"
border
:columns="orderLogColumns"
:data="orderInfo.orderLogs"
ref="table"
sortable="custom"
></Table>
<Table :loading="loading" border :columns="orderLogColumns" :data="orderInfo.orderLogs" ref="table" sortable="custom"></Table>
</div>
<div slot="footer" style="text-align: right">
@ -553,14 +458,13 @@ export default {
{
title: "时间",
key: "createTime",
width: 180
width: 180,
},
{
title: "日志",
key: "message",
tooltip: true,
minWidth: 200,
},
],
};
@ -667,8 +571,10 @@ export default {
this.addressForm.consigneeName = this.orderInfo.order.consigneeName;
this.addressForm.consigneeMobile = this.orderInfo.order.consigneeMobile;
this.addressForm.consigneeDetail = this.orderInfo.order.consigneeDetail;
this.addressForm.consigneeAddressPath = this.orderInfo.order.consigneeAddressPath;
this.addressForm.consigneeAddressIdPath = this.orderInfo.order.consigneeAddressIdPath;
this.addressForm.consigneeAddressPath =
this.orderInfo.order.consigneeAddressPath;
this.addressForm.consigneeAddressIdPath =
this.orderInfo.order.consigneeAddressIdPath;
},
//
editAddressSubmit() {

View File

@ -22,10 +22,7 @@ export default {
buyer: "https://buyer-api.pickmall.cn",
seller: "https://store-api.pickmall.cn",
manager: "https://admin-api.pickmall.cn"
// common: 'http://192.168.0.101:8890',
// buyer: 'http://192.168.0.101:8888',
// seller: 'http://192.168.0.101:8889',
// manager: 'http://192.168.0.101:8887'
},
api_prod: {
common: "https://common-api.pickmall.cn",

View File

@ -262,6 +262,7 @@
this.loading = false;
if (res.success) {
this.data = res.result.records;
this.total = res.result.total;
}
});

View File

@ -46,12 +46,14 @@
<Button @click="handleReset" class="search-btn">重置</Button>
</Form>
</Row>
<Table
:loading="loading"
border
class="mt_10"
:columns="columns"
:data="data"
ref="table"
>
@ -142,7 +144,7 @@
title: "申请退款金额",
key: "applyRefundPrice",
width: 130,
sortType: "desc",
render: (h, params) => {
return h(
"div",
@ -258,6 +260,7 @@
this.loading = false;
if (res.success) {
this.data = res.result.records;
console.log(this.data)
this.total = res.result.total;
}
});

View File

@ -46,14 +46,13 @@
暂无凭证
</dd>
<dd v-else>
<div class="div-img" @click="()=>{picFile=item; picVisible = true}"
v-for="(item, index) in afterSaleImage" :key="index">
<div class="div-img" @click="()=>{picFile=item; picVisible = true}" v-for="(item, index) in afterSaleImage" :key="index">
<img class="complain-img" :src="item">
</div>
<Modal footer-hide mask-closable v-model="picVisible">
<img :src="picFile" alt="无效的图片链接" style="width: 100%; margin: 0 auto; display: block"/>
<img :src="picFile" alt="无效的图片链接" style="width: 100%; margin: 0 auto; display: block" />
</Modal>
</dd>
@ -95,14 +94,13 @@
<dl>
<dt>实际退款金额</dt>
<dd>
<Input v-model="params.actualRefundPrice" style="width:260px"/>
<Input v-model="params.actualRefundPrice" style="width:260px" />
</dd>
</dl>
<dl>
<dt>备注信息</dt>
<dd>
<Input v-model="params.remark" type="textarea" maxlength="200" :rows="4" clearable
style="width:260px"/>
<Input v-model="params.remark" type="textarea" maxlength="200" :rows="4" clearable style="width:260px" />
</dd>
</dl>
<dl>
@ -177,10 +175,27 @@
{{ afterSaleInfo.orderSn }}
</dd>
</dl>
<dl v-if="afterSaleInfo.bankDepositName">
<dt>银行开户行</dt>
<dd>
{{afterSaleInfo.bankDepositName}}
</dd>
</dl>
<dl v-if="afterSaleInfo.bankAccountName">
<dt>银行开户名</dt>
<dd>
{{afterSaleInfo.bankAccountName}}
</dd>
</dl>
<dl v-if="afterSaleInfo.bankAccountNumber">
<dt>银行卡号</dt>
<dd>
{{afterSaleInfo.bankAccountNumber}}
</dd>
</dl>
</div>
<div class="div-form-default"
v-if="afterSaleInfo.serviceStatus =='BUYER_RETURN' || afterSaleInfo.serviceStatus =='COMPLETE' && afterSaleInfo.serviceType !='RETURN_MONEY'">
<div class="div-form-default" v-if="afterSaleInfo.serviceStatus =='BUYER_RETURN' || afterSaleInfo.serviceStatus =='COMPLETE' && afterSaleInfo.serviceType !='RETURN_MONEY'">
<h3>回寄物流信息</h3>
<dl>
<dt>
@ -201,12 +216,10 @@
<dl>
<dt>操作</dt>
<dd>
<Button type="info" :loading="submitLoading" @click="sellerConfirmSubmit('PASS')"
style="margin-left: 5px" v-if="afterSaleInfo.afterSaleAllowOperationVO.rog">
<Button type="info" :loading="submitLoading" @click="sellerConfirmSubmit('PASS')" style="margin-left: 5px" v-if="afterSaleInfo.afterSaleAllowOperationVO.rog">
确认收货
</Button>
<Button type="primary" :loading="submitLoading" @click="sellerConfirmSubmit('REFUSE')"
style="margin-left: 5px" v-if="afterSaleInfo.afterSaleAllowOperationVO.rog">
<Button type="primary" :loading="submitLoading" @click="sellerConfirmSubmit('REFUSE')" style="margin-left: 5px" v-if="afterSaleInfo.afterSaleAllowOperationVO.rog">
拒收
</Button>
<Button type="default" :loading="submitLoading" @click="logisticsBuyer()" style="margin-left: 5px">
@ -216,8 +229,7 @@
</dl>
</div>
<div class="div-form-default"
v-if="afterSaleInfo.afterSaleAllowOperationVO.return_goods && afterSaleInfo.serviceType == 'EXCHANGE_GOODS'">
<div class="div-form-default" v-if="afterSaleInfo.afterSaleAllowOperationVO.return_goods && afterSaleInfo.serviceType == 'EXCHANGE_GOODS'">
<h3>换货</h3>
<dl>
<dt>
@ -230,8 +242,7 @@
</dd>
</dl>
</div>
<div class="div-form-default"
v-if=" afterSaleInfo.serviceType == 'EXCHANGE_GOODS' && afterSaleInfo.serviceStatus =='SELLER_RE_DELIVERY'">
<div class="div-form-default" v-if=" afterSaleInfo.serviceType == 'EXCHANGE_GOODS' && afterSaleInfo.serviceStatus =='SELLER_RE_DELIVERY'">
<h3>物流信息</h3>
<dl>
<dt>
@ -280,7 +291,7 @@
</Select>
</FormItem>
<FormItem label="物流单号" prop="logisticsNo">
<Input v-model="form.logisticsNo" style="width:250px"/>
<Input v-model="form.logisticsNo" style="width:250px" />
</FormItem>
</Form>
@ -350,20 +361,22 @@ export default {
sn: "", //
logisticsModal: false, //
logisticsInfo: {}, //
form: { //
form: {
//
logisticsNo: "",
logisticsId: "",
}, //form
formValidate: {
logisticsNo: [
{required: true, message: "发货单号不能为空", trigger: "change"},
{ required: true, message: "发货单号不能为空", trigger: "change" },
],
logisticsId: [
{required: true, message: "请选择物流公司", trigger: "blur"},
{ required: true, message: "请选择物流公司", trigger: "blur" },
],
},
modalVisible: false, //
afterSaleInfo: { //
afterSaleInfo: {
//
afterSaleAllowOperationVO: {
return_goods: false,
},
@ -380,18 +393,18 @@ export default {
},
//
afterSaleStatus: [
{status: 'APPLY', label: '申请售后'},
{status: 'PASS', label: '申请通过'},
{status: 'REFUSE', label: '申请拒绝'},
{status: 'BUYER_RETURN', label: '买家退货,待卖家收货'},
{status: 'SELLER_RE_DELIVERY', label: '商家换货'},
{status: 'SELLER_CONFIRM', label: '卖家确认收货'},
{status: 'SELLER_TERMINATION', label: '卖家终止售后'},
{status: 'BUYER_CONFIRM', label: '买家确认收货'},
{status: 'BUYER_CANCEL', label: '买家取消售后'},
{status: 'WAIT_REFUND', label: '等待平台退款'},
{status: 'COMPLETE', label: '已完成'},
]
{ status: "APPLY", label: "申请售后" },
{ status: "PASS", label: "申请通过" },
{ status: "REFUSE", label: "申请拒绝" },
{ status: "BUYER_RETURN", label: "买家退货,待卖家收货" },
{ status: "SELLER_RE_DELIVERY", label: "商家换货" },
{ status: "SELLER_CONFIRM", label: "卖家确认收货" },
{ status: "SELLER_TERMINATION", label: "卖家终止售后" },
{ status: "BUYER_CONFIRM", label: "买家确认收货" },
{ status: "BUYER_CANCEL", label: "买家取消售后" },
{ status: "WAIT_REFUND", label: "等待平台退款" },
{ status: "COMPLETE", label: "已完成" },
],
};
},
methods: {
@ -493,22 +506,22 @@ export default {
});
},
//
filterStatus (status) {
let label = ''
for (let i = 0; i< this.afterSaleStatus.length; i++) {
const obj = this.afterSaleStatus[i]
filterStatus(status) {
let label = "";
for (let i = 0; i < this.afterSaleStatus.length; i++) {
const obj = this.afterSaleStatus[i];
if (obj.status === status) {
label = obj.label
label = obj.label;
break;
}
}
return label
}
return label;
},
activated () {
},
activated() {
this.sn = this.$route.query.sn;
this.getDetail();
}
},
};
</script>
<style lang="scss" scoped>
@ -546,10 +559,11 @@ export default {
margin: 0;
border-bottom: dotted 1px #e6e6e6;
overflow: hidden;
display: flex;
dt {
display: inline-block;
width: 13%;
flex: 2;
vertical-align: top;
text-align: right;
padding: 15px 1% 15px 0;
@ -558,8 +572,9 @@ export default {
}
dd {
flex: 10;
display: inline-block;
width: 84%;
padding: 15px 0 15px 1%;
margin: 0;
border-left: 1px solid #f0f0f0;