完成consumer端同步
This commit is contained in:
@@ -102,6 +102,7 @@
|
||||
<script setup lang="uts">
|
||||
import { ref, onMounted, watch } from 'vue'
|
||||
import { supabaseService } from '@/utils/supabaseService.uts'
|
||||
import { goToLogin } from '@/utils/utils.uts'
|
||||
|
||||
type RefundStatusHistoryItem = {
|
||||
status: number
|
||||
@@ -177,9 +178,7 @@ const loadRefunds = async (loadMore: boolean): Promise<void> => {
|
||||
try {
|
||||
const userId = getCurrentUserId()
|
||||
if (userId == '') {
|
||||
uni.navigateTo({
|
||||
url: '/pages/user/login'
|
||||
})
|
||||
goToLogin('/pages/mall/consumer/refund')
|
||||
return
|
||||
}
|
||||
|
||||
@@ -206,7 +205,7 @@ const loadRefunds = async (loadMore: boolean): Promise<void> => {
|
||||
for (let j: number = 0; j < dbItems.length; j++) {
|
||||
const di = dbItems[j] as UTSJSONObject
|
||||
const imgRaw = di.get('image_url')
|
||||
const imgUrl = (imgRaw != null) ? (imgRaw as string) : '/static/default-product.png'
|
||||
const imgUrl = (imgRaw != null) ? (imgRaw as string) : '/static/images/default.png'
|
||||
const productInfo: RefundProductInfo = {
|
||||
images: [imgUrl]
|
||||
} as RefundProductInfo
|
||||
@@ -306,23 +305,26 @@ const getStatusClass = (status: number): string => {
|
||||
|
||||
// 获取商品图片
|
||||
const getProductImage = (refund: RefundType): string => {
|
||||
const firstItem = refund.order?.order_items?.[0]
|
||||
if (firstItem?.product?.images == null || firstItem?.product?.images.length == 0) {
|
||||
return '/static/default-product.png'
|
||||
if (refund.order == null || refund.order.order_items == null || refund.order.order_items.length === 0) {
|
||||
return '/static/images/default.png'
|
||||
}
|
||||
return firstItem.product!.images[0]
|
||||
const firstItem = refund.order.order_items[0]
|
||||
if (firstItem == null || firstItem.product == null || firstItem.product.images == null || firstItem.product.images.length === 0) {
|
||||
return '/static/images/default.png'
|
||||
}
|
||||
return firstItem.product.images[0]
|
||||
}
|
||||
|
||||
// 获取商品名称
|
||||
const getProductName = (refund: RefundType): string => {
|
||||
const items = refund.order?.order_items ?? []
|
||||
if (items.length === 0) return '未知商品'
|
||||
|
||||
if (refund.order == null || refund.order.order_items == null || refund.order.order_items.length === 0) {
|
||||
return '未知商品'
|
||||
}
|
||||
const items = refund.order.order_items
|
||||
if (items.length === 1) {
|
||||
return items[0].product_name
|
||||
} else {
|
||||
return `${items[0].product_name}等${items.length}件商品`
|
||||
}
|
||||
return `${items[0].product_name}等${items.length}件商品`
|
||||
}
|
||||
|
||||
// 格式化时间
|
||||
@@ -409,10 +411,10 @@ const viewOrder = (orderId: string) => {
|
||||
|
||||
const doCancelRefund = async (refund: RefundType) => {
|
||||
try {
|
||||
const result = await supabaseService.createRefund({
|
||||
id: refund.id,
|
||||
status: 4
|
||||
} as any)
|
||||
const refundObj = new UTSJSONObject()
|
||||
refundObj.set('id', refund.id)
|
||||
refundObj.set('status', 4)
|
||||
const result = await supabaseService.createRefund(refundObj)
|
||||
|
||||
if (result.success) {
|
||||
refund.status = 4
|
||||
@@ -450,6 +452,11 @@ const cancelRefund = (refund: RefundType) => {
|
||||
|
||||
// 联系客服
|
||||
const contactService = (refund: RefundType) => {
|
||||
const userId = getCurrentUserId()
|
||||
if (userId === '') {
|
||||
goToLogin('/pages/mall/consumer/refund')
|
||||
return
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: `/pages/mall/service/chat?refundId=${refund.id}`
|
||||
})
|
||||
@@ -508,6 +515,11 @@ const deleteRefund = (refund: RefundType) => {
|
||||
|
||||
// 申请售后
|
||||
const applyRefund = () => {
|
||||
const userId = getCurrentUserId()
|
||||
if (userId === '') {
|
||||
goToLogin('/pages/mall/consumer/refund')
|
||||
return
|
||||
}
|
||||
uni.navigateTo({
|
||||
url: '/pages/mall/consumer/apply-refund'
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user