物流公司切换禁用无效问题,pc退货添加物流信息回填,保存发票回显错误

master
mabo 2021-07-20 18:00:35 +08:00
parent 0a248d89d5
commit eee0258061
10 changed files with 437 additions and 150 deletions

View File

@ -96,3 +96,22 @@ export function communication (params) {
params params
}); });
} }
// 退换货服务 提交物流
export function afterSaleDelivery (params) {
return request({
url: `/buyer/afterSale/delivery/${params.afterSaleSn}`,
method: Method.POST,
needToken: true,
params
});
}
// 获取退货可选物流公司
export function getLogisticsCompany () {
return request({
url: `/buyer/logistics`,
method: Method.GET,
needToken: true,
params: { pageNumber: 1, pageSize: 200, disabled: 'OPEN' }
});
}

View File

@ -4,11 +4,6 @@
<p slot="header"> <p slot="header">
<span>发票信息</span> <span>发票信息</span>
</p> </p>
<!-- <div>
<div>为响应环保自营全面启用电子普通发票非自营发票由第三方商家实际开具</div>
<div>电子普通发票是税务机关认可的有效收付款凭证与纸质普通发票具有同等法律效力可用于报销入账售后维权等</div>
<div>如商品由第三方卖家销售发票类型及内容将由该卖家决定</div>
</div> -->
<!-- 普通发票 --> <!-- 普通发票 -->
<div class="nav-content"> <div class="nav-content">
<Form :model="invoiceForm" ref="form" label-position="left" :rules="ruleInline" :label-width="110"> <Form :model="invoiceForm" ref="form" label-position="left" :rules="ruleInline" :label-width="110">
@ -55,15 +50,14 @@ export default {
name: 'invoiceModal', name: 'invoiceModal',
data () { data () {
return { return {
invoice: 1, invoice: 1, //
invoiceAvailable: false, // invoiceAvailable: false, //
loading: false, // loading: false, //
invoiceForm: { invoiceForm: {
//
// //
receiptTitle: '', // receiptTitle: '', //
taxpayerId: '', // taxpayerId: '', //
receiptContent: '商品明细', // receiptContent: '商品明细' //
}, },
type: 1, // 1 2 type: 1, // 1 2
ruleInline: { ruleInline: {
@ -107,10 +101,9 @@ export default {
let flage = true; let flage = true;
// //
const { type, receiptTitle, receiptContent } = JSON.parse( const { receiptTitle } = JSON.parse(
JSON.stringify(this.invoiceForm) JSON.stringify(this.invoiceForm)
); );
// //
if (!receiptTitle) { if (!receiptTitle) {
this.$Message.error('请填写发票抬头!'); this.$Message.error('请填写发票抬头!');
@ -118,7 +111,7 @@ export default {
return false; return false;
} }
if (type === 2) { if (this.type === 2) {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (!valid) { if (!valid) {
flage = false; flage = false;

View File

@ -17,15 +17,15 @@ export default {
* @description api请求基础路径 * @description api请求基础路径
*/ */
api_dev: { api_dev: {
// common: 'http://192.168.0.106:8890', common: 'http://192.168.0.101:8890',
// buyer: 'http://192.168.0.106:8888', buyer: 'http://192.168.0.101:8888',
// seller: 'http://192.168.0.106:8889', seller: 'http://192.168.0.101:8889',
// manager: 'http://192.168.0.106:8887' manager: 'http://192.168.0.101:8887'
common: 'https://common-api.pickmall.cn', // common: 'https://common-api.pickmall.cn',
buyer: 'https://buyer-api.pickmall.cn', // buyer: 'https://buyer-api.pickmall.cn',
seller: 'https://store-api.pickmall.cn', // seller: 'https://store-api.pickmall.cn',
manager: 'https://admin-api.pickmall.cn' // manager: 'https://admin-api.pickmall.cn'
}, },
api_prod: { api_prod: {
common: 'https://common-api.pickmall.cn', common: 'https://common-api.pickmall.cn',

View File

@ -74,11 +74,11 @@ export default {
}) })
}, },
changePage (val) { // changePage (val) { //
this.pageNumber = val this.params.pageNumber = val
this.getHistory() this.getHistory()
}, },
changePageSize (val) { // changePageSize (val) { //
this.param.pageSize = val this.params.pageSize = val
this.params.pageNumber = 1 this.params.pageNumber = 1
this.getHistory() this.getHistory()
} }

View File

@ -55,11 +55,14 @@
<div> <div>
<!-- 订单基础操作 --> <!-- 订单基础操作 -->
<Button @click="goDetail(order.sn)" size="small">售后详情</Button> <Button @click="goDetail(order.sn)" size="small">售后详情</Button>
<Button @click="openModal(order)" v-if="order.serviceStatus == 'PASS' &&
order.serviceType != 'RETURN_MONEY'" size="small">提交物流</Button>
<Button @click="cancel(order.sn)" v-if="order.afterSaleAllowOperationVO.cancel" size="small"></Button> <Button @click="cancel(order.sn)" v-if="order.afterSaleAllowOperationVO.cancel" size="small"></Button>
</div> </div>
</div> </div>
</div> </div>
</template> </template>+
<Spin size="large" fix v-if="spinShow"></Spin> <Spin size="large" fix v-if="spinShow"></Spin>
</div> </div>
<!-- 分页 --> <!-- 分页 -->
@ -70,11 +73,47 @@
show-sizer> show-sizer>
</Page> </Page>
</div> </div>
<Modal v-model="logisticsShow" width="530">
<p slot="header">
<span>提交物流信息</span>
</p>
<div>
<div class="goods-list modal-goods">
<img @click="goodsDetail(singleOrder.skuId, singleOrder.goodsId)" class="hover-color" :src="singleOrder.goodsImage" alt="" />
<div>
<div class="hover-color" @click="goodsDetail(singleOrder.skuId, singleOrder.goodsId)">{{ singleOrder.goodsName }}</div>
<div class="mt_10">
<span class="global_color"
>{{ singleOrder.flowPrice | unitPrice("¥") }} </span
>x {{ singleOrder.num }}
</div>
</div>
</div>
<Form ref="form" :model="form" label-position="left" :label-width="100" :rules="rules">
<FormItem label="物流公司" prop="logisticsId">
<Select v-model="form.logisticsId" placeholder="请选择物流公司">
<Option v-for="item in companyList" :value="item.id" :key="item.id">{{ item.name }}</Option>
</Select>
</FormItem>
<FormItem label="快递单号" prop="logisticsNo">
<Input v-model="form.logisticsNo" placeholder="请填写快递单号"></Input>
</FormItem>
<FormItem label="发货时间" prop="mDeliverTime">
<DatePicker type="date" style="width:100%" v-model="form.mDeliverTime" @on-change="changeTime" format="yyyy-MM-dd" placeholder="选择发货时间"></DatePicker>
</FormItem>
</Form>
</div>
<div slot="footer" style="text-align: right">
<Button @click="logisticsShow = false">关闭</Button>
<Button type="primary" :loading="submitLoading" @click="submitDelivery"></Button>
</div>
</Modal>
</div> </div>
</template> </template>
<script> <script>
import { afterSaleList, cancelAfterSale } from '@/api/member.js'; import { afterSaleList, cancelAfterSale } from '@/api/member.js';
import { afterSaleDelivery, getLogisticsCompany } from '@/api/order.js';
import { afterSaleStatusList } from '../enumeration.js' import { afterSaleStatusList } from '../enumeration.js'
export default { export default {
name: 'AfterSale', name: 'AfterSale',
@ -91,7 +130,22 @@ export default {
// //
afterSaleStatusList, afterSaleStatusList,
total: 0, // total: 0, //
spinShow: false // spinShow: false, //
companyList: [], //
logisticsShow: false, // modal
singleOrder: {}, //
form: { //
afterSaleSn: '',
logisticsId: '',
logisticsNo: '',
mDeliverTime: ''
},
rules: { //
logisticsId: [{ required: true, message: '请选择物流公司' }],
logisticsNo: [{ required: true, message: '请填写物流编号' }],
mDeliverTime: [{ required: true, message: '请选择发货时间' }]
},
submitLoading: false //
}; };
}, },
mounted () { mounted () {
@ -158,6 +212,42 @@ export default {
filterOrderStatus (status) { // filterOrderStatus (status) { //
const ob = this.afterSaleStatusList.filter(e => { return e.status === status }); const ob = this.afterSaleStatusList.filter(e => { return e.status === status });
return ob[0].name return ob[0].name
},
//
getCompany () {
getLogisticsCompany().then(res => {
if (res.success) {
this.companyList = res.result
}
})
},
//
submitDelivery () {
this.submitLoading = true
afterSaleDelivery(this.form).then(res => {
if (res.success) {
this.logisticsShow = false;
this.$Message.success('提交成功')
this.getList()
}
this.submitLoading = false
}).catch(() => {
this.submitLoading = false
})
},
openModal (row) {
console.log(row);
this.singleOrder = row;
this.form.afterSaleSn = row.sn
this.logisticsShow = true;
this.$refs.form.resetFields()
if (!this.companyList.length) {
this.getCompany()
}
},
//
changeTime (time) {
this.form.mDeliverTime = time;
} }
} }
}; };
@ -207,20 +297,6 @@ export default {
color: #999; color: #999;
padding: 10px; padding: 10px;
.goods-list {
width: 500px;
display: flex;
margin-bottom: 10px;
img {
width: 60px;
height: 60px;
margin-right: 10px;
}
> div {
flex: 1;
}
}
> div:nth-child(2) { > div:nth-child(2) {
width: 150px; width: 150px;
text-align: center; text-align: center;
@ -248,4 +324,21 @@ export default {
} }
} }
} }
.goods-list {
width: 500px;
display: flex;
margin-bottom: 10px;
img {
width: 60px;
height: 60px;
margin-right: 10px;
}
> div {
flex: 1;
}
}
.modal-goods{
padding: 5px;
background-color: #eee;
}
</style> </style>

View File

@ -397,8 +397,9 @@ export default {
this.priceDetailDTO = res.result.priceDetailDTO; this.priceDetailDTO = res.result.priceDetailDTO;
this.skuList = res.result.skuList; this.skuList = res.result.skuList;
res.result.receiptVO ? (this.invoiceData = res.result.receiptVO) : ''; if (res.result.receiptVO) {
this.invoiceData = res.result.receiptVO
}
let notSupArea = res.result.notSupportFreight; let notSupArea = res.result.notSupportFreight;
this.selectedCoupon = {}; this.selectedCoupon = {};
if (res.result.platformCoupon) this.selectedCoupon.platformCoupon = res.result.platformCoupon; if (res.result.platformCoupon) this.selectedCoupon.platformCoupon = res.result.platformCoupon;
@ -589,6 +590,7 @@ export default {
this.$Spin.hide(); this.$Spin.hide();
}); });
}, },
//
useScope (type) { useScope (type) {
let goods = '全部商品'; let goods = '全部商品';
switch (type) { switch (type) {

View File

@ -17,14 +17,14 @@ export default {
* @description api请求基础路径 * @description api请求基础路径
*/ */
api_dev: { api_dev: {
common: "https://common-api.pickmall.cn", // common: "https://common-api.pickmall.cn",
buyer: "https://buyer-api.pickmall.cn", // buyer: "https://buyer-api.pickmall.cn",
seller: "https://store-api.pickmall.cn", // seller: "https://store-api.pickmall.cn",
manager: "https://admin-api.pickmall.cn" // manager: "https://admin-api.pickmall.cn"
// common: 'http://192.168.0.103:8890', common: 'http://192.168.0.101:8890',
// buyer: 'http://192.168.0.103:8888', buyer: 'http://192.168.0.101:8888',
// seller: 'http://192.168.0.103:8889', seller: 'http://192.168.0.101:8889',
// manager: 'http://192.168.0.103:8887' manager: 'http://192.168.0.101:8887'
}, },
api_prod: { api_prod: {
common: "https://common-api.pickmall.cn", common: "https://common-api.pickmall.cn",

View File

@ -18,10 +18,14 @@ export default {
* @description api请求基础路径 * @description api请求基础路径
*/ */
api_dev: { api_dev: {
common: "https://common-api.pickmall.cn", // common: "https://common-api.pickmall.cn",
buyer: "https://buyer-api.pickmall.cn", // buyer: "https://buyer-api.pickmall.cn",
seller: "https://store-api.pickmall.cn", // seller: "https://store-api.pickmall.cn",
manager: "https://admin-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: { api_prod: {
common: "https://common-api.pickmall.cn", common: "https://common-api.pickmall.cn",

View File

@ -2,16 +2,35 @@
<div class="search"> <div class="search">
<Card style="height: 60px"> <Card style="height: 60px">
<div style=""> <div style="">
<Button v-if="allowOperation.editPrice" @click="modifyPrice" type="primary"></Button> <Button
<Button v-if="allowOperation.editConsignee" @click="editAddress" type="primary"></Button> v-if="allowOperation.editPrice"
<Button v-if="allowOperation.showLogistics" @click="logistics" type="primary"></Button> @click="modifyPrice"
type="primary"
>调整价格</Button
>
<Button
v-if="allowOperation.editConsignee"
@click="editAddress"
type="primary"
>修改收货地址</Button
>
<Button
v-if="allowOperation.showLogistics"
@click="logistics"
type="primary"
>查看物流</Button
>
<Button @click="orderLogModal = true" type="primary">订单日志</Button> <Button @click="orderLogModal = true" type="primary">订单日志</Button>
<Button v-if="allowOperation.take" @click="orderTake" type="primary"></Button> <Button v-if="allowOperation.take" @click="orderTake" type="primary"
<Button v-if="allowOperation.ship" @click="orderDeliver" type="primary"></Button> >订单核销</Button
>
<Button v-if="allowOperation.ship" @click="orderDeliver" type="primary"
>发货</Button
>
</div> </div>
</Card> </Card>
<Card style="height: 400px"> <Card style="height: 400px" class="mt_10">
<div style="width: 30%; float: left; margin-left: 20px"> <div style="width: 30%; float: left; margin-left: 20px">
<div class="div-item"> <div class="div-item">
<div class="div-item-left">订单号</div> <div class="div-item-left">订单号</div>
@ -20,7 +39,7 @@
<div class="div-item"> <div class="div-item">
<div class="div-item-left">订单来源</div> <div class="div-item-left">订单来源</div>
<div class="div-item-right"> <div class="div-item-right">
{{ orderInfo.order.clientType | clientTypeWay }} {{ orderInfo.order.clientType | clientTypeWay }}
</div> </div>
</div> </div>
</div> </div>
@ -39,96 +58,156 @@
</div> </div>
</div> </div>
<div style="width: 30%; float: left; margin-left: 20px"> <div style="width: 30%; float: left; margin-left: 20px">
<div class="div-item" v-if="orderInfo.order.needReceipt == false"> <div class="div-item" v-if="orderInfo.order.needReceipt == false">
<div class="div-item-left">发票信息</div> <div class="div-item-left">发票信息</div>
<div class="div-item-right">暂无发票信息</div> <div class="div-item-right">暂无发票信息</div>
</div> </div>
<template v-if="orderInfo.order.needReceipt == true && orderInfo.receipt">
<div class="div-item">
<div class="div-item-left">发票抬头</div>
<div class="div-item-right">
{{
orderInfo.receipt.receiptTitle
? orderInfo.receipt.receiptTitle
: "暂无"
}}
</div>
</div>
<div class="div-item" v-if="orderInfo.order.needReceipt == true"> <div class="div-item" v-if="orderInfo.receipt.taxpayerId">
<div class="div-item-left">发票抬头</div> <div class="div-item-left">发票税号</div>
<div class="div-item-right">{{ orderInfo.receipt.receiptTitle ? orderInfo.receipt.receiptTitle : '暂无' }}</div> <div class="div-item-right">
</div> {{
orderInfo.receipt.taxpayerId
? orderInfo.receipt.taxpayerId
: "暂无"
}}
</div>
</div>
<div class="div-item" v-if="orderInfo.order.needReceipt == true && orderInfo.receipt.taxpayerId"> <div class="div-item">
<div class="div-item-left">发票税号</div> <div class="div-item-left">发票内容</div>
<div class="div-item-right">{{ orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : '暂无' }}</div> <div class="div-item-right">
</div> {{
orderInfo.receipt.receiptContent
? orderInfo.receipt.receiptContent
: "暂无"
}}
</div>
</div>
<div class="div-item" v-if="orderInfo.order.needReceipt == true"> <div class="div-item">
<div class="div-item-left">发票内容</div> <div class="div-item-left">发票金额</div>
<div class="div-item-right">{{ orderInfo.receipt.receiptContent ? orderInfo.receipt.receiptContent : '暂无' }}</div> <div class="div-item-right">
</div> <span v-if="orderInfo.receipt.receiptPrice"></span
>{{
orderInfo.receipt.receiptPrice
? orderInfo.receipt.receiptPrice
: "暂无" | unitPrice
}}
</div>
</div>
<div class="div-item" v-if="orderInfo.order.needReceipt == true"> <div class="div-item">
<div class="div-item-left">发票金额</div>
<div class="div-item-right"><span v-if="orderInfo.receipt.receiptPrice"></span>{{ orderInfo.receipt.receiptPrice ? orderInfo.receipt.receiptPrice : '' | unitPrice}}</div>
</div>
<div class="div-item" v-if="orderInfo.order.needReceipt == true">
<div class="div-item-left">是否开票</div> <div class="div-item-left">是否开票</div>
<div class="div-item-right">{{ orderInfo.receipt.receiptStatus == 0 ? '未开' : '已开' }}</div> <div class="div-item-right">
{{ orderInfo.receipt.receiptStatus == 0 ? "未开" : "已开" }}
</div>
</div>
</template>
</div>
<div style="width: 36%; float: left">
<div class="div-item">
<div class="div-item-left">收货信息</div>
<div class="div-item-right">
{{ orderInfo.order.consigneeName }}
{{ orderInfo.order.consigneeMobile }}
{{ orderInfo.order.consigneeAddressPath }}
{{ orderInfo.order.consigneeDetail }}
</div> </div>
</div> </div>
<div style="width: 36%; float: left"> <div class="div-item">
<div class="div-item"> <div class="div-item-left">支付方式</div>
<div class="div-item-left">收货信息</div> <div class="div-item-right">
<div class="div-item-right"> {{ orderInfo.paymentMethodValue }}
{{ orderInfo.order.consigneeName }}
{{ orderInfo.order.consigneeMobile }}
{{ orderInfo.order.consigneeAddressPath }}
{{ orderInfo.order.consigneeDetail }}
</div>
</div>
<div class="div-item">
<div class="div-item-left">支付方式</div>
<div class="div-item-right">
{{ orderInfo.paymentMethodValue }}
</div>
</div> </div>
</div>
<div class="div-item"> <div class="div-item">
<div class="div-item-left">买家留言</div> <div class="div-item-left">买家留言</div>
<div class="div-item-right">{{ orderInfo.order.remark }}</div> <div class="div-item-right">{{ orderInfo.order.remark }}</div>
</div> </div>
<div class="div-item" v-if="orderInfo.order.orderType != 'VIRTUAL'"> <div class="div-item" v-if="orderInfo.order.orderType != 'VIRTUAL'">
<div class="div-item-left">配送方式</div> <div class="div-item-left">配送方式</div>
<div class="div-item-right"> <div class="div-item-right">
{{ {{
orderInfo.deliveryMethodValue orderInfo.deliveryMethodValue
? orderInfo.deliveryMethodValue ? orderInfo.deliveryMethodValue
: "暂无配送方式" : "暂无配送方式"
}} }}
</div> </div>
</div> </div>
</div> </div>
</Card> </Card>
<Card> <Card class="mt_10">
<Table class="mt_10" :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}"> <template slot="goodsSlot" slot-scope="{ row }">
<div style="margin-top: 5px; height: 80px; display: flex"> <div style="margin-top: 5px; height: 80px; display: flex">
<div style=""> <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>
<div style="margin-left: 13px"> <div style="margin-left: 13px">
<div class="div-zoom"> <div class="div-zoom">
<a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> <a @click="linkTo(row.goodsId, row.skuId)">{{
row.goodsName
}}</a>
</div> </div>
<span v-for="(item, key) in JSON.parse(row.specs)" :key="key"> <span v-for="(item, key) in JSON.parse(row.specs)" :key="key">
<span v-show="key!='images'" style="font-size: 12px;color: #999999;"> <span
{{key}} : {{item}} v-show="key != 'images'"
style="font-size: 12px; color: #999999"
>
{{ key }} : {{ item }}
</span> </span>
</span> </span>
<Poptip trigger="hover" style="display: block;" title="扫码在手机中查看" transfer> <Poptip
trigger="hover"
style="display: block"
title="扫码在手机中查看"
transfer
>
<div slot="content"> <div slot="content">
<vue-qr :text="wapLinkTo(row.goodsId,row.skuId)" :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> <vue-qr
:text="wapLinkTo(row.goodsId, row.skuId)"
:margin="0"
colorDark="#000"
colorLight="#fff"
:size="150"
></vue-qr>
</div> </div>
<img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> <img
src="../../../assets/qrcode.svg"
class="hover-pointer"
width="20"
height="20"
alt=""
/>
</Poptip> </Poptip>
</div> </div>
</div> </div>
@ -138,20 +217,25 @@
<ul> <ul>
<li> <li>
<span class="label">商品总额</span> <span class="label">商品总额</span>
<span class="txt">{{ orderInfo.order.priceDetailDTO.goodsPrice | unitPrice('¥')}}</span> <span class="txt">{{
orderInfo.order.priceDetailDTO.goodsPrice | unitPrice("¥")
}}</span>
</li> </li>
<li> <li>
<span class="label">优惠金额</span> <span class="label">优惠金额</span>
<span class="txt"> <span class="txt">
{{ {{
orderInfo.order.priceDetailDTO.couponPrice + (orderInfo.order.priceDetailDTO.couponPrice +
orderInfo.order.priceDetailDTO.discountPrice orderInfo.order.priceDetailDTO.discountPrice)
| unitPrice('¥')}} | unitPrice("¥")
}}
</span> </span>
</li> </li>
<li> <li>
<span class="label">运费</span> <span class="label">运费</span>
<span class="txt">{{ orderInfo.order.freightPrice | unitPrice('¥')}}</span> <span class="txt">{{
orderInfo.order.freightPrice | unitPrice("¥")
}}</span>
</li> </li>
<li v-if="orderInfo.order.priceDetailDTO.payPoint != 0"> <li v-if="orderInfo.order.priceDetailDTO.payPoint != 0">
<span class="label">使用积分</span> <span class="label">使用积分</span>
@ -162,7 +246,9 @@
<li> <li>
<span class="label">应付金额</span> <span class="label">应付金额</span>
<span class="txt flowPrice">¥{{ orderInfo.order.flowPrice | unitPrice }}</span> <span class="txt flowPrice"
>¥{{ orderInfo.order.flowPrice | unitPrice }}</span
>
</li> </li>
</ul> </ul>
</div> </div>
@ -173,9 +259,22 @@
<span>修改金额</span> <span>修改金额</span>
</p> </p>
<div> <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="orderPrice"> <FormItem label="订单金额" prop="orderPrice">
<InputNumber style="width:100%;" v-model="modifyPriceForm.orderPrice" size="large" :min="0.01" :max="99999"><span slot="append"></span></InputNumber> <InputNumber
style="width: 100%"
v-model="modifyPriceForm.orderPrice"
size="large"
:min="0.01"
:max="99999"
><span slot="append"></span></InputNumber
>
</FormItem> </FormItem>
</Form> </Form>
</div> </div>
@ -191,21 +290,55 @@
<span>修改收件信息</span> <span>修改收件信息</span>
</p> </p>
<div> <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"> <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>
<FormItem label="联系方式" prop="consigneeMobile"> <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>
<FormItem label="地址信息" prop="consigneeAddressPath"> <FormItem label="地址信息" prop="consigneeAddressPath">
<Input v-model="addressForm.consigneeAddressPath" disabled style="width: 325px" v-if="showRegion == false" /> <Input
<Button v-if="showRegion == false" size="small" @click="regionClick" :loading="submitLoading" type="primary" style="margin-left: 8px"> v-model="addressForm.consigneeAddressPath"
disabled
style="width: 325px"
v-if="showRegion == false"
/>
<Button
v-if="showRegion == false"
size="small"
@click="regionClick"
:loading="submitLoading"
type="primary"
style="margin-left: 8px"
>修改
</Button> </Button>
<region style="width: 400px" @selected="selectedRegion" v-if="showRegion == true" /> <region
style="width: 400px"
@selected="selectedRegion"
v-if="showRegion == true"
/>
</FormItem> </FormItem>
<FormItem label="详细地址" prop="consigneeDetail"> <FormItem label="详细地址" prop="consigneeDetail">
<Input v-model="addressForm.consigneeDetail" size="large" maxlength="11"></Input> <Input
v-model="addressForm.consigneeDetail"
size="large"
maxlength="11"
></Input>
</FormItem> </FormItem>
</Form> </Form>
</div> </div>
@ -221,9 +354,19 @@
<span>订单核销</span> <span>订单核销</span>
</p> </p>
<div> <div>
<Form ref="orderTakeForm" :model="orderTakeForm" label-position="left" :label-width="100" :rules="orderTakeValidate"> <Form
ref="orderTakeForm"
:model="orderTakeForm"
label-position="left"
:label-width="100"
:rules="orderTakeValidate"
>
<FormItem label="核销码" prop="qrCode"> <FormItem label="核销码" prop="qrCode">
<Input v-model="orderTakeForm.qrCode" size="large" maxlength="10"></Input> <Input
v-model="orderTakeForm.qrCode"
size="large"
maxlength="10"
></Input>
</FormItem> </FormItem>
</Form> </Form>
</div> </div>
@ -238,7 +381,14 @@
<span>订单日志</span> <span>订单日志</span>
</p> </p>
<div class="order-log-div"> <div class="order-log-div">
<Table :loading="loading" border :columns="orderLogColumns" :data="orderLogData" ref="table" sortable="custom"></Table> <Table
:loading="loading"
border
:columns="orderLogColumns"
:data="orderLogData"
ref="table"
sortable="custom"
></Table>
</div> </div>
<div slot="footer" style="text-align: right"> <div slot="footer" style="text-align: right">
@ -291,21 +441,38 @@
<span>订单发货</span> <span>订单发货</span>
</p> </p>
<div> <div>
<Form ref="orderDeliveryForm" :model="orderDeliveryForm" :label-width="90" :rules="orderDeliverFormValidate" style="position: relative"> <Form
ref="orderDeliveryForm"
:model="orderDeliveryForm"
:label-width="90"
:rules="orderDeliverFormValidate"
style="position: relative"
>
<FormItem label="物流公司" prop="logisticsId"> <FormItem label="物流公司" prop="logisticsId">
<Select v-model="orderDeliveryForm.logisticsId" placeholder="请选择" style="width: 250px"> <Select
<Option v-for="(item, i) in checkedLogistics" :key="i" :value="item.id">{{ item.name }} v-model="orderDeliveryForm.logisticsId"
placeholder="请选择"
style="width: 250px"
>
<Option
v-for="(item, i) in checkedLogistics"
:key="i"
:value="item.id"
>{{ item.name }}
</Option> </Option>
</Select> </Select>
</FormItem> </FormItem>
<FormItem label="物流单号" prop="logisticsNo"> <FormItem label="物流单号" prop="logisticsNo">
<Input v-model="orderDeliveryForm.logisticsNo" style="width: 250px" /> <Input
v-model="orderDeliveryForm.logisticsNo"
style="width: 250px"
/>
</FormItem> </FormItem>
</Form> </Form>
</div> </div>
<div slot="footer" style="text-align: right"> <div slot="footer" style="text-align: right">
<Button @click="orderDeliverModal = false">关闭</Button> <Button @click="orderDeliverModal = false">关闭</Button>
<Button type="primary" @click="orderDeliverySubmit"></Button> <Button type="primary" @click="orderDeliverySubmit"></Button>
</div> </div>
</Modal> </Modal>
@ -340,7 +507,8 @@ export default {
shipper: "", shipper: "",
}, // }, //
sn: "", // sn: "", //
orderInfo: { // orderInfo: {
//
order: { order: {
priceDetailDTO: {}, priceDetailDTO: {},
}, },
@ -518,20 +686,22 @@ export default {
}, },
// //
orderTake() { orderTake() {
this.orderTakeForm.qrCode = this.orderInfo.order.verificationCode this.orderTakeForm.qrCode = this.orderInfo.order.verificationCode;
this.orderTakeModal = true; this.orderTakeModal = true;
}, },
// //
orderTakeSubmit() { orderTakeSubmit() {
this.$refs.orderTakeForm.validate((valid) => { this.$refs.orderTakeForm.validate((valid) => {
if (valid) { if (valid) {
API_Order.orderTake(this.sn, this.orderTakeForm.qrCode).then((res) => { API_Order.orderTake(this.sn, this.orderTakeForm.qrCode).then(
if (res.success) { (res) => {
this.$Message.success("订单核销成功"); if (res.success) {
this.orderTakeModal = false; this.$Message.success("订单核销成功");
this.getDataDetail(); this.orderTakeModal = false;
this.getDataDetail();
}
} }
}); );
} }
}); });
}, },
@ -597,13 +767,15 @@ export default {
orderDeliverySubmit() { orderDeliverySubmit() {
this.$refs.orderDeliveryForm.validate((valid) => { this.$refs.orderDeliveryForm.validate((valid) => {
if (valid) { if (valid) {
API_Order.orderDelivery(this.sn, this.orderDeliveryForm).then((res) => { API_Order.orderDelivery(this.sn, this.orderDeliveryForm).then(
if (res.success) { (res) => {
this.$Message.success("订单发货成功"); if (res.success) {
this.orderDeliverModal = false; this.$Message.success("订单发货成功");
this.getDataDetail(); this.orderDeliverModal = false;
this.getDataDetail();
}
} }
}); );
} }
}); });
}, },
@ -616,8 +788,10 @@ export default {
this.addressForm.consigneeName = this.orderInfo.order.consigneeName; this.addressForm.consigneeName = this.orderInfo.order.consigneeName;
this.addressForm.consigneeMobile = this.orderInfo.order.consigneeMobile; this.addressForm.consigneeMobile = this.orderInfo.order.consigneeMobile;
this.addressForm.consigneeDetail = this.orderInfo.order.consigneeDetail; this.addressForm.consigneeDetail = this.orderInfo.order.consigneeDetail;
this.addressForm.consigneeAddressPath = this.orderInfo.order.consigneeAddressPath; this.addressForm.consigneeAddressPath =
this.addressForm.consigneeAddressIdPath = this.orderInfo.order.consigneeAddressIdPath; this.orderInfo.order.consigneeAddressPath;
this.addressForm.consigneeAddressIdPath =
this.orderInfo.order.consigneeAddressIdPath;
}, },
// //
editAddressSubmit() { editAddressSubmit() {

View File

@ -277,6 +277,8 @@ export default {
res.result[i].consigneeAddressPath.replace(/,/g, "") + res.result[i].consigneeDetail res.result[i].consigneeAddressPath.replace(/,/g, "") + res.result[i].consigneeDetail
} }
return res.result return res.result
} else {
this.$Message.warning('暂无待发货订单')
} }
}, },