feat(store): 优化门店中心订单管理和Checkout订单创建
- Checkout创建订单时直接传递payStatus和payTime字段防止未付款订单被删除 - 门店中心Tab改为三个(全部、待处理、已完成),并合并多个statusFilter查询 - 操作按钮逻辑调整为根据订单状态判断,已完成及已关闭订单无操作和删除按钮 - 状态文案和颜色适配完善,添加订单送达凭证照片预览功能 - 确认完成操作强制上传配送凭证照片,凭证支持JSON数组格式存储 - 收款操作支持上传凭证照片并追加至备注中 - 优化订单列表加载逻辑,多个请求结果合并去重并按创建时间降序排序 - 代码格式调整及UI细节优化,提升代码一致性和用户体验
This commit is contained in:
@@ -9,7 +9,6 @@ import { getMyAvailableCoupons } from '@/api/shop/shopUserCoupon'
|
||||
import AddressCard from '@/components/business/AddressCard'
|
||||
import CouponCard from '@/components/business/CouponCard'
|
||||
import { createOrder } from '@/api/shop/shopOrder'
|
||||
import type { ShopOrder } from '@/api/shop/shopOrder/model'
|
||||
import { listShopGoods } from '@/api/shop/shopGoods'
|
||||
import type { ShopGoods } from '@/api/shop/shopGoods/model'
|
||||
import type { ShopUserCoupon } from '@/api/shop/shopUserCoupon/model'
|
||||
@@ -258,11 +257,19 @@ const CheckoutPage: React.FC = () => {
|
||||
specInfo: item.skuSpec || item.sku?.sku || item.product?.specName,
|
||||
}))
|
||||
|
||||
// 格式化当前时间:yyyy-MM-dd HH:mm:ss(与后端 LocalDateTime 兼容)
|
||||
const now = new Date()
|
||||
const pad = (n: number) => n.toString().padStart(2, '0')
|
||||
const payTime = `${now.getFullYear()}-${pad(now.getMonth() + 1)}-${pad(now.getDate())} ${pad(now.getHours())}:${pad(now.getMinutes())}:${pad(now.getSeconds())}`
|
||||
|
||||
// 创建订单
|
||||
// 货到付款:直接设置 payStatus=true + payTime,防止后端定时任务自动删除未付款订单
|
||||
const orderParams: OrderCreateRequest = {
|
||||
goodsItems,
|
||||
addressId: defaultAddress.id,
|
||||
payType,
|
||||
payStatus: true,
|
||||
payTime,
|
||||
couponId: selectedCoupon?.id ? Number(selectedCoupon.id) : undefined,
|
||||
comments: remarks,
|
||||
deliveryType: 0, // 快递配送
|
||||
@@ -270,9 +277,6 @@ const CheckoutPage: React.FC = () => {
|
||||
|
||||
const res = await createOrder(orderParams)
|
||||
|
||||
// 货到付款 - 只需创建订单,无需调用支付接口
|
||||
console.log('订单创建成功', res)
|
||||
|
||||
// 清理数据
|
||||
if (fromBuyNow) {
|
||||
Taro.removeStorageSync('buy_now')
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user