对接订单相关接口
This commit is contained in:
@ -13,20 +13,20 @@
|
||||
|
||||
<view class="mt-38rpx">
|
||||
<mescroll-body ref="mescrollItem0" @init="mescrollInit" @down="downCallback" @up="Renew.upCallback" :down="downOption" :up="upOption">
|
||||
<view class="bg-white rounded-16rpx p-30rpx mx-32rpx relative">
|
||||
<view class="absolute top-0 right-0 bg-[#4C9F44] text-[#fff] w-160rpx h-64rpx leading-64rpx text-center xd" @click="showRenewTimePopup = true">
|
||||
<view class="bg-white rounded-16rpx p-30rpx mx-32rpx relative mb-20rpx" v-for="item in list" :key="item.id">
|
||||
<view class="absolute top-0 right-0 bg-[#4C9F44] text-[#fff] w-160rpx h-64rpx leading-64rpx text-center xd" @click="selectRenewOrderId = item.id; showRenewTimePopup = true">
|
||||
续单
|
||||
</view>
|
||||
<view class="flex items-center">
|
||||
<view class="mr-28rpx">
|
||||
<wd-img width="200rpx" height="200rpx" :src="`${OSS}images/home/home_image5.png`"></wd-img>
|
||||
<wd-img width="200rpx" height="200rpx" :src="item.img"></wd-img>
|
||||
</view>
|
||||
<view class="flex-1">
|
||||
<view @click="ComboCard.handleToOrderDetail">
|
||||
<view class="font-bold text-28rpx text-[#303133] leading-40rpx line-2 w-260rpx">这是茶室包间名称换行效果这是茶室包间名称换行效果</view>
|
||||
<view class="font-bold text-28rpx text-[#303133] leading-40rpx line-2 w-260rpx">{{ item.room_name }}</view>
|
||||
<view class="font-400 leading-36rpx text-26rpx text-[#606266] mt-10rpx">
|
||||
<view>预约时间:03/18 08:00-12:00</view>
|
||||
<view class="mt-18rpx">预约时长:2小时</view>
|
||||
<view>预约时间:{{ item.day_time }} {{ item.start_time }}-{{ item.end_time }}</view>
|
||||
<view class="mt-18rpx">预约时长:{{ item.hours }}小时</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -35,7 +35,7 @@
|
||||
</mescroll-body>
|
||||
</view>
|
||||
|
||||
<view class="bg-[#4C9F44] w-630rpx h-90rpx text-[#fff] text-center leading-90rpx rounded-8rpx mx-auto mt-50rpx">确定</view>
|
||||
<!-- <view class="bg-[#4C9F44] w-630rpx h-90rpx text-[#fff] text-center leading-90rpx rounded-8rpx mx-auto mt-50rpx">确定</view> -->
|
||||
|
||||
<!-- 选择续订时间 -->
|
||||
<renew-time v-model="showRenewTimePopup" @selectedTime="Renew.handleChooseRenewTime"></renew-time>
|
||||
@ -44,18 +44,16 @@
|
||||
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { OrderSource, OrderStatus, TeaRoomOrderStatusText, TeaRoomOrderStatusValue } from '@/utils/order'
|
||||
import ComboCard from '@/components/order/ComboCard.vue'
|
||||
import { onPageScroll, onReachBottom } from '@dcloudio/uni-app'
|
||||
import useMescroll from "@/uni_modules/mescroll-uni/hooks/useMescroll.js"
|
||||
import { getTeaRoomOrderList } from '@/api/tea-room'
|
||||
import { router } from '@/utils/tools'
|
||||
import type { ITeaSpecialistFuture7DaysResult } from '@/api/types/tea'
|
||||
import { getNext7Days, renewTeaRoomOrder } from '@/api/tea-room'
|
||||
|
||||
// 续单
|
||||
const showRenewTimePopup = ref<boolean>(false)
|
||||
import { getStoreOrderList, renewOrder} from '@/api/order'
|
||||
import { useStoreStore } from '@/store'
|
||||
import { toast } from '@/utils/toast'
|
||||
|
||||
const OSS = inject('OSS')
|
||||
const useStore = useStoreStore()
|
||||
|
||||
// mescroll
|
||||
const { mescrollInit, downCallback, getMescroll } = useMescroll(onPageScroll, onReachBottom) // 调用mescroll的hook
|
||||
@ -66,40 +64,12 @@
|
||||
auto: true,
|
||||
textNoMore: '~ 已经到底啦 ~', //无更多数据的提示
|
||||
}
|
||||
const orderStatus = ref<string>('')
|
||||
const list = ref<Array<any>>([]) // 茶室列表
|
||||
const keywords = ref<string>('') // 搜索关键词
|
||||
|
||||
const OSS = inject('OSS')
|
||||
|
||||
const checked = ref<boolean>(false)
|
||||
|
||||
const columns = ref<Array<{label: string, id: number}>>([
|
||||
{ label: '包厢A', id: 1 },
|
||||
{ label: '包厢B', id: 2 },
|
||||
{ label: '包厢C', id: 3 },
|
||||
])
|
||||
|
||||
// tab
|
||||
const tab = ref<string>('list')
|
||||
const tabList = ref<Array<{title: string, num: number, name: string}>>([
|
||||
{ title: '已上架', num: 10, name: 'list'},
|
||||
{ title: '已下架', num: 11, name: 'delist' },
|
||||
// { title: '草稿箱', num: 0, name: 'draft' }
|
||||
])
|
||||
|
||||
// 选择预定时间
|
||||
const showBookTimePopup = ref<boolean>(false)
|
||||
const sevenDay = reactive<ITeaSpecialistFuture7DaysResult>({
|
||||
minimum_time: 0,
|
||||
time: []
|
||||
})
|
||||
// 续单
|
||||
const reserveTime = ref<Array<any>>([])
|
||||
|
||||
const form = ref({
|
||||
name: '',
|
||||
price: '',
|
||||
})
|
||||
const showRenewTimePopup = ref<boolean>(false)
|
||||
const selectRenewOrderId = ref<number>(0)
|
||||
|
||||
onLoad(async (args) => {
|
||||
|
||||
@ -118,46 +88,49 @@
|
||||
*/
|
||||
upCallback: (mescroll) => {
|
||||
// 需要留一下数据为空的时候显示的空数据图标内容
|
||||
// const filter = {
|
||||
// page: mescroll.num,
|
||||
// size: mescroll.size,
|
||||
// order_status: orderStatus.value,
|
||||
// search: keywords.value
|
||||
// }
|
||||
const filter = {
|
||||
page: mescroll.num,
|
||||
size: mescroll.size,
|
||||
store_id: useStore.defaultStore.id,
|
||||
order_status: '',
|
||||
}
|
||||
|
||||
// getTeaRoomOrderList(filter).then((res) => {
|
||||
// const curPageData = res.list || [] // 当前页数据
|
||||
// if(mescroll.num == 1) list.value = [] // 第一页需手动制空列表
|
||||
// list.value = list.value.concat(curPageData) //追加新数据
|
||||
// mescroll.endSuccess(curPageData.length, Boolean(res.more))
|
||||
// }).catch(() => {
|
||||
getStoreOrderList(filter).then((res) => {
|
||||
const curPageData = res.list || [] // 当前页数据
|
||||
if(mescroll.num == 1) list.value = [] // 第一页需手动制空列表
|
||||
list.value = list.value.concat(curPageData) //追加新数据
|
||||
mescroll.endSuccess(curPageData.length, Boolean(res.more))
|
||||
}).catch(() => {
|
||||
mescroll.endErr() // 请求失败, 结束加载
|
||||
// })
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 开锁
|
||||
*/
|
||||
handleOpenLock: () => {
|
||||
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* 选中预定时间
|
||||
*/
|
||||
handleChooseReserveTime: (params: any) => {
|
||||
reserveTime.value = params
|
||||
console.log("🚀 ~ reserveTime:", reserveTime)
|
||||
|
||||
// 一键续订的金额
|
||||
// totalReserveMoney.value = Number(toTimes(params[3], order.value.room_price))
|
||||
},
|
||||
|
||||
/**
|
||||
* 一键续订时间
|
||||
*/
|
||||
handleChooseRenewTime: (item) => {
|
||||
handleChooseRenewTime: async (item) => {
|
||||
uni.showLoading({
|
||||
title: '操作中...',
|
||||
mask: true
|
||||
})
|
||||
|
||||
try {
|
||||
uni.hideLoading()
|
||||
await renewOrder({
|
||||
id: selectRenewOrderId.value,
|
||||
renew_hour: item.value
|
||||
})
|
||||
|
||||
list.value = []
|
||||
getMescroll().resetUpScroll()
|
||||
|
||||
toast.success('续订成功')
|
||||
} catch (error) {
|
||||
uni.hideLoading()
|
||||
toast.info('续订失败,请稍后重试')
|
||||
return
|
||||
}
|
||||
|
||||
console.log("🚀 ~ item:", item)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user