工作代码提交
This commit is contained in:
parent
4ebbbd8b29
commit
ad8fafcec0
|
@ -564,6 +564,45 @@ const shop = {
|
|||
load: true,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 退货退款买家发货
|
||||
* @param {Object} param
|
||||
*/
|
||||
setShopOrderRefundGoods(param) {
|
||||
return util.request({
|
||||
url: `/shopify/refundOrder/dealRefundOrderReturnGoods`,
|
||||
method: 'POST',
|
||||
data: param.data,
|
||||
load: true,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 商家确认收货
|
||||
* @param {Object} param
|
||||
*/
|
||||
setShopRefundOrder(param) {
|
||||
return util.request({
|
||||
url: `/shopify/refundOrder`,
|
||||
method: 'GET',
|
||||
path: param.path,
|
||||
load: true,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 查看退款详情
|
||||
* @param {Object} param
|
||||
*/
|
||||
getRefundOrder(param) {
|
||||
return util.request({
|
||||
url: `/shopify/refundOrder/getInfo`,
|
||||
method: 'GET',
|
||||
query: param.query,
|
||||
load: true,
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default shop
|
|
@ -172,7 +172,12 @@
|
|||
"setting" : {
|
||||
"urlCheck" : false
|
||||
},
|
||||
"usingComponents" : true
|
||||
"usingComponents" : true,
|
||||
"permission" : {
|
||||
"scope.userLocation" : {
|
||||
"desc" : "为了使用服务,需要获取您当前的位置"
|
||||
}
|
||||
}
|
||||
},
|
||||
"mp-alipay" : {
|
||||
"usingComponents" : true
|
||||
|
|
|
@ -1,8 +1,25 @@
|
|||
<script setup>
|
||||
// 售后详情
|
||||
import {
|
||||
reactive
|
||||
} from 'vue';
|
||||
ref,
|
||||
reactive,
|
||||
computed,
|
||||
getCurrentInstance,
|
||||
} from 'vue'
|
||||
import {
|
||||
onLoad,
|
||||
onReady,
|
||||
onPageScroll,
|
||||
} from '@dcloudio/uni-app';
|
||||
// 工具库
|
||||
import util from '@/common/js/util';
|
||||
//
|
||||
import api from '@/api/index.js'
|
||||
|
||||
// 订单id
|
||||
const orderId = ref('')
|
||||
// 订单详情
|
||||
const detail = reactive({})
|
||||
|
||||
// 流程
|
||||
const flow = reactive([{
|
||||
|
@ -15,6 +32,30 @@
|
|||
name: '到账成功',
|
||||
}
|
||||
])
|
||||
|
||||
onLoad((option) => {
|
||||
if (option.orderId) orderId.value = option.orderId
|
||||
// 获取详情
|
||||
getDetail()
|
||||
})
|
||||
|
||||
// 获取详情
|
||||
function getDetail() {
|
||||
api.shop.getRefundOrder({
|
||||
query: {
|
||||
orderId: orderId.value,
|
||||
}
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
Object.assign(detail, rs.data)
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false
|
||||
})
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -106,7 +147,7 @@
|
|||
<!-- 订单信息 -->
|
||||
<view class="order mt30 f26 c999">
|
||||
<view class="line mtb20 rows">
|
||||
<text>订单编号:251547812138</text>
|
||||
<text>订单编号:{{detail.orderNo}}</text>
|
||||
<view class="btn ti closeHollow plr20">复制</view>
|
||||
</view>
|
||||
<view class="line mtb20">
|
||||
|
@ -128,7 +169,7 @@
|
|||
<view class="fill" style="height: 150rpx;"></view>
|
||||
|
||||
<!-- -->
|
||||
<view class="footer df jcr plr30 bfff shadow">
|
||||
<view class="footer df jcr plr30 bfff shadow" v-if="0">
|
||||
<view class="btn sm bar closeHollow plr20">联系商家</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
'1': '商家拒绝',
|
||||
'2': '退款中',
|
||||
'3': '已退款',
|
||||
'4': '待用户退货',
|
||||
'4': '待买家退货',
|
||||
'5': '商家待收货',
|
||||
'6': '已撤销',
|
||||
} [item.afterSaleStatus]
|
||||
|
@ -240,13 +240,33 @@
|
|||
function handleExpressConfirm(param) {
|
||||
let data = {
|
||||
...param,
|
||||
id: orderDetail.id,
|
||||
id: orderDetail.refundOrder.id,
|
||||
}
|
||||
console.log('orderupdateRefund', data)
|
||||
|
||||
order.orderupdateRefund(data).then(res => {
|
||||
api.shop.setShopOrderRefundGoods({
|
||||
data,
|
||||
}).then(res => {
|
||||
if (res.code == 200) {
|
||||
// 重载列表
|
||||
refreshList()
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看售后详情
|
||||
* @param {Object} item
|
||||
*/
|
||||
function handleAfterSalesDetail(item) {
|
||||
uni.navigateTo({
|
||||
url: util.setUrl('/pages/shop/order/afterSales',{
|
||||
orderId: item.id,
|
||||
}),
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
@ -278,16 +298,24 @@
|
|||
<orderItem :item="item" mode="mine" @item="handleItem">
|
||||
<!-- 操作按钮 -->
|
||||
<template #menu="scope">
|
||||
<view class="menu ptb20 df jcr" v-if="[0,1,4,5,6].includes(scope.item.status) || scope.item.refundStatus == 1">
|
||||
<!-- 售后 -->
|
||||
<template v-if="[0,1,2,5,6].includes(scope.item.afterSaleStatus)">
|
||||
</template>
|
||||
<!-- 待买家发货 -->
|
||||
<view class="menu ptb20 df jcr" v-else-if="scope.item.afterSaleStatus == 4">
|
||||
<!-- 售后中 -->
|
||||
<template v-if="scope.item.refundStatus == 1">
|
||||
<template v-if="scope.item.refundStatus == 4">
|
||||
<view class="btn bar warmHollow plr30" @click.stop="handleExpress(scope.item)">
|
||||
填写退货物流信息</view>
|
||||
</template>
|
||||
</template>
|
||||
</view>
|
||||
<!-- 售后 -->
|
||||
<view class="menu ptb20 df jcr" v-else-if="scope.item.afterSaleStatus == 3">
|
||||
<!-- 售后中 -->
|
||||
<view class="btn bar closeHollow plr30"
|
||||
@click.stop="handleAfterSalesDetail(scope.item)">
|
||||
查看售后详情</view>
|
||||
</view>
|
||||
<!-- 非售后 -->
|
||||
<template v-else-if="scope.item.refundStatus == 0">
|
||||
<view class="menu ptb20 df jcr" v-else-if="[0,1,4,5,6].includes(scope.item.status)">
|
||||
<!-- 待支付 -->
|
||||
<template v-if="scope.item.status == 0">
|
||||
<view class="btn bar closeHollow plr30" @click.stop="handleCancel(scope.item)">
|
||||
|
@ -307,8 +335,8 @@
|
|||
@click.stop="order.orderAfterSales(scope.item)">申请退款</view>
|
||||
<!-- <view class="btn bar closeHollow plr30" v-if="scope.item.afterSaleStatus === 1">
|
||||
申请平台介入</view> -->
|
||||
<view class="btn bar closeHollow plr30"
|
||||
@click.stop="order.logistics(scope.item)">查看物流</view>
|
||||
<view class="btn bar closeHollow plr30" @click.stop="order.logistics(scope.item)">
|
||||
查看物流</view>
|
||||
<view class="btn bar warmHollow plr30" @click.stop="handleReceived(scope.item)">
|
||||
确认收货
|
||||
</view>
|
||||
|
@ -319,9 +347,10 @@
|
|||
v-if="scope.item.afterSaleStatus === 1 && scope.item.isGiftPack != 1 && 0">
|
||||
申请平台介入</view>
|
||||
<view class="btn bar closeHollow plr30"
|
||||
@click.stop="order.orderAfterSales(scope.item)" v-if="scope.item.isGiftPack != 1">申请退款</view>
|
||||
<view class="btn bar warmHollow plr30"
|
||||
@click.stop="order.orderComment(scope.item)">评价</view>
|
||||
@click.stop="order.orderAfterSales(scope.item)"
|
||||
v-if="scope.item.isGiftPack != 1">申请退款</view>
|
||||
<view class="btn bar warmHollow plr30" @click.stop="order.orderComment(scope.item)">
|
||||
评价</view>
|
||||
</template>
|
||||
<!-- 已完成 -->
|
||||
<template v-else-if="scope.item.status == 6">
|
||||
|
@ -329,7 +358,6 @@
|
|||
<!-- <view class="btn bar closeHollow plr30">钱款去向</view> -->
|
||||
<!-- <view class="btn bar warmHollow plr30" v-if="scope.item.afterSaleStatus === 1">申请平台介入</view> -->
|
||||
</template>
|
||||
</template>
|
||||
</view>
|
||||
</template>
|
||||
</orderItem>
|
||||
|
|
|
@ -69,6 +69,12 @@
|
|||
const apexBgColor = ref('#ffffff00')
|
||||
// 当前操作的订单
|
||||
const orderDetail = reactive({})
|
||||
// 确认退货的收货地址
|
||||
const address = reactive({
|
||||
real_name: '',
|
||||
user_phone: '',
|
||||
user_address: '',
|
||||
})
|
||||
// 用户信息
|
||||
const userinfo = computed(() => store.state.userinfo)
|
||||
|
||||
|
@ -78,7 +84,7 @@
|
|||
})
|
||||
//
|
||||
onReady(() => {
|
||||
// proxy.$refs.changePriceRef.open()
|
||||
// proxy.$refs.addressRef.open()
|
||||
})
|
||||
|
||||
onPageScroll((ev) => {
|
||||
|
@ -252,7 +258,7 @@
|
|||
function handleUnrefund(item) {
|
||||
api.shop.setShopOrderUnrefund({
|
||||
data: {
|
||||
// 订单id
|
||||
// 售后订单id
|
||||
id: item.refundOrder.id,
|
||||
// 订单编号
|
||||
refundOrderNo: item.orderNo,
|
||||
|
@ -272,6 +278,69 @@
|
|||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 商家同意售后
|
||||
* @param {Object} item 订单项
|
||||
*/
|
||||
function handleRefund(item) {
|
||||
console.log('handleRefund', item)
|
||||
Object.assign(orderDetail, {}, item)
|
||||
// 售后类型:1-仅退款,2-退货退款
|
||||
if (item.refundOrder.afterSalesType == 1) handleOrderRefund()
|
||||
else if (item.refundOrder.afterSalesType == 2) proxy.$refs.addressRef.open()
|
||||
}
|
||||
|
||||
// 填写收货地址确认
|
||||
function handleAddressConfirm() {
|
||||
console.log('address', address)
|
||||
// 验证必填项
|
||||
if (!address.real_name) {
|
||||
util.alert('收货人姓名不能为空')
|
||||
return
|
||||
}
|
||||
if (!address.user_phone) {
|
||||
util.alert('收货人电话不能为空')
|
||||
return
|
||||
}
|
||||
if (!address.user_address) {
|
||||
util.alert('收货地址不能为空')
|
||||
return
|
||||
}
|
||||
//
|
||||
handleOrderRefund()
|
||||
}
|
||||
|
||||
// 确认售后
|
||||
function handleOrderRefund() {
|
||||
//
|
||||
api.shop.setShopOrderRefund({
|
||||
data: {
|
||||
// 售后订单id
|
||||
id: orderDetail.refundOrder.id,
|
||||
// 订单编号
|
||||
refundOrderNo: orderDetail.orderNo,
|
||||
// 订单金额
|
||||
refundPrice: orderDetail.totalPrice,
|
||||
...address,
|
||||
},
|
||||
}).then(res => {
|
||||
if (res.code === 200) {
|
||||
proxy.$refs.addressRef.close()
|
||||
address.real_name = ''
|
||||
address.user_address = ''
|
||||
address.user_phone = ''
|
||||
// 重载列表
|
||||
refreshList()
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 预览图片
|
||||
* @param {Array} urls
|
||||
|
@ -283,6 +352,27 @@
|
|||
current,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 商家确认收货
|
||||
* @param {Object} item 订单项
|
||||
*/
|
||||
function handleRefundOrder(item) {
|
||||
api.shop.setShopRefundOrder({
|
||||
// 售后订单id
|
||||
path: [item.refundOrder.id],
|
||||
}).then(res => {
|
||||
if (res.code === 200) {
|
||||
// 重载列表
|
||||
refreshList()
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false
|
||||
})
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -311,7 +401,7 @@
|
|||
<orderItem :item="item" mode="shop" @item="handleItem">
|
||||
<template #menu="scope">
|
||||
<!-- 售后流程 -->
|
||||
<template v-if="scope.item.refundStatus == 1">
|
||||
<template v-if="scope.item.refundStatus == 1 ">
|
||||
<!-- 退款原因 -->
|
||||
<view class="menu rows ptb20">
|
||||
<view class="key fs0 c333">退款原因</view>
|
||||
|
@ -329,13 +419,21 @@
|
|||
</view>
|
||||
</view>
|
||||
|
||||
<view class="menu ptb20 df jcr">
|
||||
<!-- 待商家审核 -->
|
||||
<view class="menu ptb20 df jcr" v-if="scope.item.afterSaleStatus == 0">
|
||||
<view class="btn bar closeHollow plr30"
|
||||
@click.stop="handleUnrefund(scope.item)">
|
||||
拒绝退款</view>
|
||||
<view class="btn bar closeHollow plr30">同意退款</view>
|
||||
@click.stop="handleUnrefund(scope.item)">拒绝退款</view>
|
||||
<view class="btn bar closeHollow plr30" @click.stop="handleRefund(scope.item)">
|
||||
同意退款</view>
|
||||
<!-- <view class="btn bar warmHollow plr30">联系用户</view> -->
|
||||
</view>
|
||||
|
||||
<!-- 待商家确认收货 -->
|
||||
<view class="menu ptb20 df jcr" v-if="scope.item.afterSaleStatus == 5">
|
||||
<view class="btn bar warmHollow plr30"
|
||||
@click.stop="handleRefundOrder(scope.item)">
|
||||
确认收货</view>
|
||||
</view>
|
||||
</template>
|
||||
<template v-else>
|
||||
<!-- 收货地址 -->
|
||||
|
@ -386,7 +484,7 @@
|
|||
<uni-icons type="closeempty" @click="$refs.changePriceRef.close()" />
|
||||
</view>
|
||||
|
||||
<view class="form ooh mtb30 plr30 c333 f30">
|
||||
<view class="form oh mtb30 plr30 c333 f30">
|
||||
<view class="line df aic">
|
||||
<view class="mr20">输入金额</view>
|
||||
<input type="text" v-model="orderDetail.price" placeholder="输入修改价格"
|
||||
|
@ -397,6 +495,33 @@
|
|||
<view class="btn warm mtb30 mlr30" @click="handlePriceChangeConfirm">确定金额</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
|
||||
<!-- 同意退款 -->
|
||||
<uni-popup ref="addressRef" type="center">
|
||||
<view class="addressAlt popMid bfff">
|
||||
<view class="header rows ptb20 plr20">
|
||||
<view>填写退货地址信息</view>
|
||||
<uni-icons type="closeempty" @click="$refs.addressRef.close()" />
|
||||
</view>
|
||||
|
||||
<view class="form oh plr30 c333 f30">
|
||||
<view class="line mtb20">
|
||||
<input type="text" v-model="address.real_name" placeholder="收货人姓名"
|
||||
placeholder-class="placeholderStyle" />
|
||||
</view>
|
||||
<view class="line mtb20">
|
||||
<input type="text" v-model="address.user_phone" placeholder="收货人电话"
|
||||
placeholder-class="placeholderStyle" />
|
||||
</view>
|
||||
<view class="line mtb20">
|
||||
<input type="text" v-model="address.user_address" placeholder="收货人详细地址"
|
||||
placeholder-class="placeholderStyle" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="btn warm mtb30 mlr30" @click="handleAddressConfirm">确认</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import uni from '@dcloudio/vite-plugin-uni';
|
|||
|
||||
// let target = 'http://91f.xyz:8080'
|
||||
// let target = 'http://liuyd.cpolar.top'
|
||||
let target = 'http://yjggbt.natappfree.cc'
|
||||
let target = 'http://rcq3fm.natappfree.cc'
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [uni()],
|
||||
|
|
Loading…
Reference in New Issue