From d68fb476c248c6c3ab974ea6b18d6bba638f12d8 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 06 十一月 2025 12:35:37 +0800
Subject: [PATCH] 页面优化
---
pages/order/myOrder.vue | 170 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 143 insertions(+), 27 deletions(-)
diff --git a/pages/order/myOrder.vue b/pages/order/myOrder.vue
index 1a0e7e0..25c3d35 100644
--- a/pages/order/myOrder.vue
+++ b/pages/order/myOrder.vue
@@ -101,8 +101,30 @@
@click="waitPay(order)"
>绔嬪嵆浠樻</view
>
+ <!-- 鏂板锛氫紭鎯犲埜鍗″寘鎸夐挳 -->
+ <view
+ ripple
+ shape="circle"
+ class="cancel-btn"
+ size="mini"
+ v-if="order.couponFlag === 'COUPON'&& order.orderStatus ==='COMPLETED'"
+ @click="openCouponPackage(order)"
+ >
+ 浼樻儬鍒稿崱鍖�
+ </view>
+ <!-- 鏂板锛氬畾鍒跺晢鍝佹牱寮� -->
+ <view
+ ripple
+ shape="circle"
+ class="cancel-btn"
+ size="mini"
+ v-if="order.customizeFlag === 'CUSTOMIZE'"
+ @click="opencustomize(order)"
+ >
+ 瀹氬埗鍟嗗搧
+ </view>
<!-- 鍙栨秷璁㈠崟 -->
- <view
+<!-- <view
ripple
class="cancel-btn"
shape="circle"
@@ -111,7 +133,7 @@
@click="onCancel(order.sn)"
>
鍙栨秷璁㈠崟
- </view>
+ </view> -->
<!-- 绛夊緟鏀惰揣 -->
<view
ripple
@@ -138,13 +160,25 @@
shape="circle"
class="cancel-btn"
size="mini"
- v-if="order.groupAfterSaleStatus && ( order.groupAfterSaleStatus.includes('NOT_APPLIED') || order.groupAfterSaleStatus.includes('PART_AFTER_SALE'))"
+ v-if="order.groupAfterSaleStatus &&
+ ( order.groupAfterSaleStatus.includes('NOT_APPLIED')
+ || order.groupAfterSaleStatus.includes('PART_AFTER_SALE')||order.orderStatus === 'UNDELIVERED')"
@click="applyService(order)"
>
閫�娆�/鍞悗
</view>
+ <view
+ ripple
+ shape="circle"
+ class="cancel-btn"
+ size="mini"
+ v-if="order.orderStatus === 'COMPLETED'&& order.orderType !=='VIRTUAL'&& order.customizeFlag !=='CUSTOMIZE'"
+ @click="buyBack(order)"
+ >
+ 鍐嶆潵涓�鍗�
+ </view>
<!-- TODO 鍚庣画瀹屽杽 -->
- <!-- <u-button ripple shape="circle" class="rebuy-btn" size="mini" v-if="
+<!-- <u-button ripple shape="circle" class="rebuy-btn" size="mini" v-if="
order.orderStatus === 'CANCELLED' ||
order.orderStatus === 'COMPLETE'
" @click="reBuy(order)">
@@ -152,6 +186,14 @@
</u-button> -->
</view>
</view>
+ <view style="display: flex;justify-content: space-around;">
+ <view class="" @click="callPhone">
+ 瀹㈡湇鐑嚎: 19980834650
+ </view>
+ <view class="" @click="copyToClipboard">
+ 瀹㈡湇寰俊: meiyikuang
+ </view>
+ </view>
</view>
</view>
<uni-load-more :status="tabItem.loadStatus"></uni-load-more>
@@ -213,22 +255,14 @@
</template>
<script>
-import UEmpty from '@/uview-components/uview-ui/components/u-empty/u-empty.vue';
-import UImage from '@/uview-components/uview-ui/components/u-image/u-image.vue';
-import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue';
-import URadioGroup from '@/uview-components/uview-ui/components/u-radio-group/u-radio-group.vue';
-import URadio from '@/uview-components/uview-ui/components/u-radio/u-radio.vue';
-import UButton from '@/uview-components/uview-ui/components/u-button/u-button.vue';
-import UToast from '@/uview-components/uview-ui/components/u-toast/u-toast.vue';
-import UModal from '@/uview-components/uview-ui/components/u-modal/u-modal.vue';
-import uniLoadMore from "@/components/uni-load-more/uni-load-more.vue";
-import { getOrderList, cancelOrder, confirmReceipt } from "@/api/order.js";
+import '@/components/uview-components/uview-ui';
+import { getOrderXcxList, cancelOrder, confirmReceipt } from "@/api/order.js";
import { getClearReason } from "@/api/after-sale.js";
import LiLiWXPay from "@/js_sdk/lili-pay/wx-pay.js";
+import {buyBack} from "@/api/trade.js";
+import { getSessionId, userAction } from "@/api/userAction.js";
export default {
- components: {
- uniLoadMore,UEmpty,UImage,UPopup,URadioGroup,URadio,UButton,UToast,UModal
- },
+
data() {
return {
lightColor: this.$lightColor,
@@ -313,6 +347,16 @@
reason: "", //鍙栨秷鍘熷洜
cancelList: "", //鍙栨秷鍒楄〃
rogShow: false, //鏄剧ず鏄惁鏀惰揣
+ pageSessionNo:"",
+ actionParam:{
+ sessionId:'',
+ actionType:"PAGE",
+ joinType:"SELF",
+ pageCode:"ORDER_LIST",
+ pageParams:"{}",
+ pageStatus:"JOIN",
+ pageType:"DETAIL"
+ }
};
},
@@ -335,7 +379,28 @@
}
// this.loadData(this.status);
},
+ onUnload() {
+ let param = Object.assign({}, this.actionParam);
+ if (this.sendOnShow)return
+ param.pageStatus = "LEAVE"
+ userAction(param)
+ },
+ onHide() {
+ this.startHidenTime = Date.now()
+ let param = Object.assign({}, this.actionParam);
+ this.sendOnShow = true;
+ param.pageStatus = "LEAVE"
+ userAction(param)
+ },
onShow() {
+ getSessionId().then(res=>{
+ this.pageSessionNo = res.data.data
+ this.actionParam.sessionId = this.pageSessionNo
+ if(this.pageSessionNo){
+ let param = Object.assign({}, this.actionParam);
+ userAction(param)
+ }
+ })
if(this.$options.filters.tipsToLogin()){
if (!this.tabCurrentIndex) {
this.initData(0);
@@ -345,6 +410,7 @@
},
onLoad(options) {
+ this.actionParam.pageParams = JSON.stringify(options)
/**
* 淇app绔偣鍑婚櫎鍏ㄩ儴璁㈠崟澶栫殑鎸夐挳杩涘叆鏃朵笉鍔犺浇鏁版嵁鐨勯棶棰�
* 鏇挎崲onLoad涓嬩唬鐮佸嵆鍙�
@@ -372,6 +438,61 @@
},
},
methods: {
+ copyToClipboard(){
+ uni.setClipboardData({
+ data:'meiyikuang',
+ success() {
+ uni.showToast({
+ title: '澶嶅埗鎴愬姛',
+ icon: 'none'
+ })
+ }
+ })
+ },
+ callPhone(){
+ uni.showModal({
+ title:'纭鑱旂郴瀹㈡湇鍚�?',
+ success(e) {
+ if(e.confirm){
+ uni.makePhoneCall({
+ phoneNumber:'19980834650'
+ })
+ }
+ }
+ })
+ },
+ openCouponPackage(order){
+ console.log(order)
+ uni.navigateTo({
+ url:"/pages/order/cardPack?sn=" + order.sn
+ })
+ },
+ opencustomize(order){
+ console.log(order)
+ uni.navigateTo({
+ url:"/pages/order/constomize/constomize?sn=" + order.sn
+ })
+ },
+ //鍐嶆潵涓�鍗�
+ buyBack(order){
+ console.log(JSON.stringify(order))
+ const param = order.orderItems.map(item => {
+ return {
+ skuId: item.skuId,
+ num: item.num
+ }
+ })
+ console.log('------------------>',JSON.stringify(param))
+ buyBack(param).then(res=>{
+ console.log('------------------->',res)
+ if(res.data.code==200){
+ uni.navigateTo({
+ url: "/pages/order/fillorder?way=CART"
+ })
+ }
+ })
+
+ },
// 鍞悗
applyService(order) {
uni.navigateTo({
@@ -425,18 +546,9 @@
*/
pay(val) {
if (val.sn) {
- // #ifdef MP-WEIXIN
- new LiLiWXPay({
- sn: val.sn,
- price: val.flowPrice,
- orderType: "ORDER",
- }).pay();
- // #endif
- // #ifndef MP-WEIXIN
uni.navigateTo({
url: "/pages/cart/payment/payOrder?order_sn=" + val.sn,
});
- // #endif
}
},
@@ -446,7 +558,7 @@
loadData(index) {
this.params.pageNumber = this.navList[index].pageNumber;
// this.params.tag = this.orderStatus[index].orderStatus;
- getOrderList(this.params).then((res) => {
+ getOrderXcxList(this.params).then((res) => {
uni.stopPullDownRefresh();
if (!res.data.success) {
this.navList[index].loadStatus = "noMore";
@@ -623,6 +735,10 @@
url:
"/pages/mine/msgTips/packageMsg/logisticsDetail?order_sn=" + order.sn,
});
+ // uni.navigateTo({
+ // url:
+ // `/pages/order/deliverDetail?order_sn=${order.sn}`,
+ // });
},
},
};
--
Gitblit v1.8.0