feat: 订单详情交互调整

This commit is contained in:
duanshuwen
2025-10-30 21:21:05 +08:00
parent 2b9afb936e
commit 90723fa277
10 changed files with 230 additions and 308 deletions

View File

@@ -6,32 +6,35 @@
class="order-detail-wrapper border-box flex-full overflow-hidden scroll-y"
>
<OrderStatusInfo :orderData="orderData" />
<OrderQrcode
v-if="orderData.orderStatus === '2'"
size="132"
unit="px"
:val="orderData.orderId"
/>
<AmtSection :orderData="orderData" @click="refundVisible = true" />
<GoodsInfo :orderData="orderData" />
<UserInfo :orderData="orderData" />
<UserInfo
v-if="orderData.commodityTypeCode === '0'"
:orderData="orderData"
/>
<OrderInfo :orderData="orderData" />
</view>
<FooterSection
:orderData="orderData"
@show-refund-popup="showRefundPopup"
@pay-success="handlePaySuccess"
@refund="handleRefundConfirm"
@refresh="handlePaySuccess"
/>
</view>
<!-- 退款状态显示 -->
<RefundPopup
v-model="refundVisible"
:orderData="orderData"
@confirm="handleRefundConfirm"
/>
<RefundPopup v-model="refundVisible" :orderData="orderData" />
</template>
<script setup>
@@ -43,7 +46,7 @@ import OrderQrcode from "./components/OrderQrcode/index.vue";
import OrderStatusInfo from "./components/OrderStatusInfo/index.vue";
import GoodsInfo from "./components/GoodsInfo/index.vue";
import UserInfo from "./components/UserInfo/index.vue";
import NoticeInfo from "./components/NoticeInfo/index.vue";
import AmtSection from "./components/AmtSection/index.vue";
import OrderInfo from "./components/OrderInfo/index.vue";
import FooterSection from "./components/FooterSection/index.vue";
import RefundPopup from "@/components/RefundPopup/index.vue";
@@ -57,12 +60,6 @@ onLoad(({ orderId }) => getOrderDetail(orderId));
const getOrderDetail = async (orderId) => {
const res = await userOrderDetail({ orderId });
orderData.value = res.data;
console.log(res);
};
// 显示退款弹窗
const showRefundPopup = () => {
refundVisible.value = true;
};
// 确认退款
@@ -71,20 +68,13 @@ const handleRefundConfirm = async ({ orderId }) => {
// 调用退款API
await orderRefund({ orderId });
uni.showToast({
title: "退款申请已提交",
icon: "success",
});
uni.showToast({ title: "退款申请已提交", icon: "success" });
// 刷新订单状态
const res = await userOrderDetail({ orderId });
orderData.value = res.data;
} catch (error) {
console.error("退款失败:", error);
uni.showToast({
title: "退款申请失败,请重试",
icon: "none",
});
uni.showToast({ title: "退款申请失败,请重试", icon: "none" });
}
};