|
|
@@ -8,7 +8,8 @@
|
|
|
<view class="o-orderlist-card" v-for="item in orderList" :key="item.orderId"
|
|
|
@click="RouterUtils.to_page(`/pages/index/toBeUsed/index?orderId=${item.orderId}&orderType=${item.orderType}&isPayOrder=1`)">
|
|
|
<view class="o-order-name">
|
|
|
- <view class="order-name" v-if="item?.orderProInfoList && item.orderProInfoList.length > 0">{{ item.orderType == 5 ? '上课地点' : '场地' }}:{{ item?.orderProInfoList[0].address || '--'
|
|
|
+ <view class="order-name" v-if="item?.orderProInfoList && item.orderProInfoList.length > 0">{{
|
|
|
+ item.orderType == 5 ? '上课地点' : '场地' }}:{{ item?.orderProInfoList[0].address || '--'
|
|
|
}}</view>
|
|
|
<!-- 待付款 -->
|
|
|
<view class="order-status" v-if="item.orderStatus == 0">待支付(剩余{{ item.downTime }})</view>
|
|
|
@@ -47,11 +48,15 @@
|
|
|
<!-- 没保险 -->
|
|
|
<view class="item-order-single" v-else>
|
|
|
<view class="single-img">
|
|
|
- <image :src="item?.orderProInfoList && item.orderProInfoList.length > 0 ? item?.orderProInfoList[0]?.productImage.split(',')[0] : ''" mode=""></image>
|
|
|
+ <image
|
|
|
+ :src="item?.orderProInfoList && item.orderProInfoList.length > 0 ? item?.orderProInfoList[0]?.productImage.split(',')[0] : ''"
|
|
|
+ mode=""></image>
|
|
|
</view>
|
|
|
<view class="single-name">
|
|
|
- <view class="item-single-name textHidden" v-if="item.orderType != 1 && item?.orderProInfoList && item.orderProInfoList.length > 0">{{
|
|
|
- item?.orderProInfoList[0].productName }}</view>
|
|
|
+ <view class="item-single-name textHidden"
|
|
|
+ v-if="item.orderType != 1 && item?.orderProInfoList && item.orderProInfoList.length > 0">
|
|
|
+ {{
|
|
|
+ item?.orderProInfoList[0].productName }}</view>
|
|
|
<view class="item-single-name" v-else-if="item.orderType == 1 && item?.orderProInfoList">
|
|
|
<!-- {{ item.orderProInfoList[0].productName }} -->
|
|
|
<view class="textHidden" v-for="name in item.orderProInfoList" :key="name.id">{{
|
|
|
@@ -71,7 +76,8 @@
|
|
|
<view class="cancel-btn" v-if="item?.orderStatus == 0" @click.stop="cancelOrder(item)">取消订单</view>
|
|
|
<view class="pay-btn" v-if="item?.orderStatus == 0" @click.stop="submitPay(item)">付款</view>
|
|
|
<!-- 售后/退款 -->
|
|
|
- <view class="pay-btn" v-if="item?.orderStatus == 2&&item.orEvaluate==0&&item.orderType!=3&&item.orderType!=4 && item?.orderProInfoList && item.orderProInfoList.length > 0"
|
|
|
+ <view class="pay-btn"
|
|
|
+ v-if="item?.orderStatus == 2 && item.orEvaluate == 0 && item.orderType != 3 && item.orderType != 4 && item?.orderProInfoList && item.orderProInfoList.length > 0"
|
|
|
@click.stop="RouterUtils.to_page(`/pages/index/writeComments/index?siteId=${item.addressSiteId}&orderId=${item.orderId}&siteName=${item.orderProInfoList[0].address}`)">
|
|
|
评价</view>
|
|
|
<!-- 已使用 -->
|
|
|
@@ -79,8 +85,11 @@
|
|
|
<view class="pay-btn" v-if="selected == 4">凭证</view>
|
|
|
</view>
|
|
|
<!-- 待使用 -->
|
|
|
- <view class="o-order-tips" v-if="item.orderStatus == 1&&item.orderType != 3&&item.orderType != 4 && item?.orderProInfoList && item.orderProInfoList.length > 0">
|
|
|
- <text v-if="item.orderProInfoList[0].frameTimeStr&&item.orderProInfoList[0].frameTimeStr!='00:00-00:00'">限{{ item.orderProInfoList[0].frameTimeStr }}使用,过期作废</text>
|
|
|
+ <view class="o-order-tips"
|
|
|
+ v-if="item.orderStatus == 1 && item.orderType != 3 && item.orderType != 4 && item?.orderProInfoList && item.orderProInfoList.length > 0">
|
|
|
+ <text
|
|
|
+ v-if="item.orderProInfoList[0].frameTimeStr && item.orderProInfoList[0].frameTimeStr != '00:00-00:00'">限{{
|
|
|
+ item.orderProInfoList[0].frameTimeStr }}使用,过期作废</text>
|
|
|
<text v-if="item.earlyRefundTime">请按时到场,退款需提前{{ item.earlyRefundTime }}分钟</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -91,32 +100,34 @@
|
|
|
<script lang="ts" setup>
|
|
|
import { ref, onMounted, onUnmounted } from 'vue'
|
|
|
import { http } from '@/utils/http'
|
|
|
-import { onLoad, onReachBottom,onShow } from '@dcloudio/uni-app';
|
|
|
-import zsEmpty from '@/components/zs-empty/index.vue'
|
|
|
-import { RouterUtils, TipsUtils } from '@/utils/util'
|
|
|
+import { onLoad, onReachBottom, onShow } from '@dcloudio/uni-app';
|
|
|
+import zsEmpty from '@/components/zs-empty/index.vue';
|
|
|
+import { RouterUtils, TipsUtils } from '@/utils/util';
|
|
|
+import { useCacheStore } from '@/stores/cache'
|
|
|
+const cache = useCacheStore()
|
|
|
const selected = ref(0)
|
|
|
const orderTypeList = ref(['全部', '待付款', '待使用', '已使用', '退款/售后'])
|
|
|
-
|
|
|
onLoad((option) => {
|
|
|
- selected.value = option.selIndex
|
|
|
- if (selected.value == 0) {
|
|
|
- orderFormData.value.orderStatus = null
|
|
|
- orderFormData.value.orAfterSale = 0
|
|
|
- } else if (selected.value == 1) {
|
|
|
- orderFormData.value.orderStatus = 0
|
|
|
- orderFormData.value.orAfterSale = 0
|
|
|
- } else if (selected.value == 2) {
|
|
|
- orderFormData.value.orderStatus = 1
|
|
|
- orderFormData.value.orAfterSale = 0
|
|
|
- } else if (selected.value == 3) {
|
|
|
- orderFormData.value.orderStatus = 2
|
|
|
- orderFormData.value.orAfterSale = 0
|
|
|
- } else if (selected.value == 4) {
|
|
|
- orderFormData.value.orderStatus = null
|
|
|
- orderFormData.value.orAfterSale = 1
|
|
|
- }
|
|
|
+
|
|
|
})
|
|
|
-onShow(()=>{
|
|
|
+onShow(() => {
|
|
|
+ // selected.value = cache.get('ORDER_SEL_INDEX') || 0
|
|
|
+ const statusMap:any = {
|
|
|
+ 0: { orderStatus: null, orAfterSale: 0 },
|
|
|
+ 1: { orderStatus: 0, orAfterSale: 0 },
|
|
|
+ 2: { orderStatus: 1, orAfterSale: 0 },
|
|
|
+ 3: { orderStatus: 2, orAfterSale: 0 },
|
|
|
+ 4: { orderStatus: null, orAfterSale: 1 }
|
|
|
+ }
|
|
|
+
|
|
|
+ const selectedIndex = cache.get('ORDER_SEL_INDEX')
|
|
|
+ selected.value = selectedIndex||0
|
|
|
+
|
|
|
+ if (statusMap[selectedIndex]) {
|
|
|
+ Object.assign(orderFormData.value, statusMap[selectedIndex])
|
|
|
+ }
|
|
|
+ // 使用完成后移除缓存
|
|
|
+ cache.remove('ORDER_SEL_INDEX')
|
|
|
getOrderList()
|
|
|
})
|
|
|
onReachBottom(() => {
|
|
|
@@ -128,6 +139,7 @@ onMounted(() => {
|
|
|
// getOrderList()
|
|
|
})
|
|
|
const selectedItem = (i) => {
|
|
|
+ orderFormData.value.pageNo = 1
|
|
|
selected.value = i
|
|
|
if (selected.value == 0) {
|
|
|
orderFormData.value.orderStatus = null
|
|
|
@@ -149,12 +161,12 @@ const selectedItem = (i) => {
|
|
|
}
|
|
|
|
|
|
// 提交支付start
|
|
|
-const orderCode=ref()
|
|
|
-const orderId=ref()
|
|
|
+const orderCode = ref()
|
|
|
+const orderId = ref()
|
|
|
const submitPay = (e: any) => {
|
|
|
http.put(`/order/payOrder?appOrderId=${e.orderId}`, {}, { loading: true }).then((res) => {
|
|
|
- orderCode.value=res.result.orderCode
|
|
|
- orderId.value=res.result.orderId
|
|
|
+ orderCode.value = res.result.orderCode
|
|
|
+ orderId.value = res.result.orderId
|
|
|
paymentOrder(res.result.params)
|
|
|
})
|
|
|
}
|
|
|
@@ -166,9 +178,9 @@ const paymentOrder = (payInfo: object) => {
|
|
|
...payInfo,
|
|
|
success: function (res) {
|
|
|
console.log('支付成功', res);
|
|
|
- setTimeout(()=>{
|
|
|
- getOrderQuery(orderCode.value, orderId.value)
|
|
|
- },500)
|
|
|
+ setTimeout(() => {
|
|
|
+ getOrderQuery(orderCode.value, orderId.value)
|
|
|
+ }, 500)
|
|
|
},
|
|
|
fail: function (err) {
|
|
|
console.log('支付失败', err);
|
|
|
@@ -224,10 +236,11 @@ const getOrderList = () => {
|
|
|
orderList.value = [...orderList.value, ...res.result.records]
|
|
|
}
|
|
|
orderList.value.forEach((item) => {
|
|
|
- const [datePart, timePart] = item.createTime.split(' ');
|
|
|
- const [year, month, day] = datePart.split('-').map(Number);
|
|
|
- const [hours, minutes, seconds] = timePart.split(':').map(Number);
|
|
|
- item.createTime = new Date(year, month - 1, day, hours, minutes, seconds);
|
|
|
+ // const [datePart, timePart] = item.createTime.split(' ');
|
|
|
+ // const [year, month, day] = datePart.split('-').map(Number);
|
|
|
+ // const [hours, minutes, seconds] = timePart.split(':').map(Number);
|
|
|
+ // item.createTime = new Date(year, month - 1, day, hours, minutes, seconds);
|
|
|
+ console.log(item.createTime);
|
|
|
if (item.orderStatus == 0) {
|
|
|
item.downTime = "";
|
|
|
item.timer = null;
|
|
|
@@ -235,7 +248,7 @@ const getOrderList = () => {
|
|
|
}
|
|
|
})
|
|
|
console.log(orderList.value, '订单列表');
|
|
|
-
|
|
|
+
|
|
|
})
|
|
|
}
|
|
|
// 倒计时
|
|
|
@@ -258,7 +271,9 @@ const startCountdown = (item) => {
|
|
|
item.downTime = "00:00";
|
|
|
if (callCount < 3) {
|
|
|
callCount++;
|
|
|
+ setTimeout(()=>{
|
|
|
getOrderList();
|
|
|
+ },500)
|
|
|
}
|
|
|
return;
|
|
|
}
|