优化功能
This commit is contained in:
8
env/.env.development
vendored
8
env/.env.development
vendored
@ -8,10 +8,10 @@ VITE_DELETE_CONSOLE = false
|
|||||||
VITE_SHOW_SOURCEMAP = true
|
VITE_SHOW_SOURCEMAP = true
|
||||||
|
|
||||||
# 请求地址
|
# 请求地址
|
||||||
VITE_SERVER_BASEURL = 'https://cz.stnav.com'
|
VITE_SERVER_BASEURL = 'https://76458.com'
|
||||||
# 图片上传路径
|
# 图片上传路径
|
||||||
VITE_UPLOAD_BASEURL = 'https://cz.stnav.com/upload'
|
VITE_UPLOAD_BASEURL = 'https://76458.com/upload'
|
||||||
|
|
||||||
# 上传图片请求地址
|
# 上传图片请求地址
|
||||||
VITE_UPLOAD_BASEURL = 'https://cz.stnav.com/api/upload/image'
|
VITE_UPLOAD_BASEURL = 'https://76458.com/api/upload/image'
|
||||||
VITE_UPLOAD_IMAGE_URL = 'https://cz.stnav.com/'
|
VITE_UPLOAD_IMAGE_URL = 'https://76458.com/'
|
||||||
@ -17,3 +17,10 @@ export function getHomeBannerList() {
|
|||||||
export function getHomeCouponPopup() {
|
export function getHomeCouponPopup() {
|
||||||
return http.Post<any>('api/UserCoupon/isCoupin')
|
return http.Post<any>('api/UserCoupon/isCoupin')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 首页领取88元优惠券
|
||||||
|
*/
|
||||||
|
export function claimIndexCoupon() {
|
||||||
|
return http.Post('/api/UserCoupon/shouyeCoupon', {})
|
||||||
|
}
|
||||||
@ -95,7 +95,7 @@ export interface IGetMyCouponsParams {
|
|||||||
type_id: number
|
type_id: number
|
||||||
}
|
}
|
||||||
export function getMyCoupons(data: IGetMyCouponsParams) {
|
export function getMyCoupons(data: IGetMyCouponsParams) {
|
||||||
return http.Post('/api/UserCoupon/orderCoupinList', data)
|
return http.Post('/api/UserCoupon/UserCoupinList', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -189,3 +189,10 @@ export function getMobileByMnp(code: string) {
|
|||||||
export function openLock(order_id: number, type: number) {
|
export function openLock(order_id: number, type: number) {
|
||||||
return http.Post('/api/Common/ce_ttlock', {order_id, type})
|
return http.Post('/api/Common/ce_ttlock', {order_id, type})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门店余额记录
|
||||||
|
*/
|
||||||
|
export function getStoreBalanceLog() {
|
||||||
|
return http.Post<any>('/api/user/userStoreMoneyList', {})
|
||||||
|
}
|
||||||
|
|||||||
172
src/bundle/components/DouYinExcharge.vue
Normal file
172
src/bundle/components/DouYinExcharge.vue
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
<template>
|
||||||
|
<view class="pb-254rpx">
|
||||||
|
|
||||||
|
<!-- 兑换码 -->
|
||||||
|
<view class="mt-46rpx pb-86rpx">
|
||||||
|
<view class="flex items-center justify-center">
|
||||||
|
<view class="mr-30rpx w-72rpx h-72rpx">
|
||||||
|
<wd-img width="72rpx" height="72rpx" :src="`${OSS}icon/icon_douyin.png`"></wd-img>
|
||||||
|
</view>
|
||||||
|
<view class="text-40rpx text-[#303133] leading-56rpx">抖音兑换</view>
|
||||||
|
</view>
|
||||||
|
<view class="mt-42rpx">
|
||||||
|
<wd-input
|
||||||
|
type="text"
|
||||||
|
placeholder="输入兑换码"
|
||||||
|
v-model="code"
|
||||||
|
no-border
|
||||||
|
custom-class="!bg-[#F6F7F8] !rounded-16rpx"
|
||||||
|
custom-input-class="!h-104rpx">
|
||||||
|
<template #prefix>
|
||||||
|
<view class="ml-38rpx flex items-center" @click="DouYinExcharge.handleScan">
|
||||||
|
<view class="w-36rpx h-36rpx">
|
||||||
|
<wd-img width="36rpx" height="36rpx" :src="`${OSS}icon/icon_scan.png`"></wd-img>
|
||||||
|
</view>
|
||||||
|
<wd-divider vertical />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</wd-input>
|
||||||
|
</view>
|
||||||
|
<view class="bg-[#4C9F44] text-[#fff] h-90rpx leading-90rpx text-center rounded-8rpx mt-80rpx" @click="DouYinExcharge.handleConfirm">确定</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 间隔线 -->
|
||||||
|
<!-- <view>
|
||||||
|
<wd-gap bg-color="#F4F5F6" height="20rpx"></wd-gap>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
<!-- 兑换记录 -->
|
||||||
|
<!-- <view class="px-30rpx">
|
||||||
|
<view class="text-32rpx text-[#303133] leading-144rpx h-144rpx border-b-2rpx border-b-solid border-b-[#E5E5E5]">兑换记录</view>
|
||||||
|
<view class="w-full">
|
||||||
|
<view class="h-144rpx border-b-2rpx border-b-solid border-b-[#E5E5E5] flex justify-between items-center" v-for="(item, index) in 3" :key="index">
|
||||||
|
<view>
|
||||||
|
<view class="text-[#303133] text-28rpx leading-40rpx">这是团购套餐的名字</view>
|
||||||
|
<view class="text-[#909399] text-24rpx leading-32rpx mt-10rpx">2025-03-01 11:20</view>
|
||||||
|
</view>
|
||||||
|
<view class="font-bold text-36rpx text-[#303133] leading-50rpx">¥129</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
<wd-message-box selector="wd-message-box-slot"></wd-message-box>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup name="DouYinExcharge">
|
||||||
|
import { useMessage, useToast } from 'wot-design-uni'
|
||||||
|
import { checkDouyinCoupon } from '@/api/user'
|
||||||
|
import { router } from '@/utils/tools'
|
||||||
|
|
||||||
|
const OSS = inject('OSS')
|
||||||
|
const code = ref<string>('')
|
||||||
|
const message = useMessage('wd-message-box-slot')
|
||||||
|
const toast = useToast()
|
||||||
|
|
||||||
|
// 茶室ID
|
||||||
|
const props = defineProps({
|
||||||
|
storeId: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const emit = defineEmits(['success'])
|
||||||
|
|
||||||
|
const DouYinExcharge = {
|
||||||
|
/**
|
||||||
|
* 扫码
|
||||||
|
*/
|
||||||
|
handleScan: () => {
|
||||||
|
uni.scanCode({
|
||||||
|
success: async (res) => {
|
||||||
|
if(res.result) {
|
||||||
|
toast.loading({
|
||||||
|
loadingType: 'ring',
|
||||||
|
loadingColor: '#4C9F44',
|
||||||
|
msg: '兑换中...'
|
||||||
|
})
|
||||||
|
code.value = res.result
|
||||||
|
try {
|
||||||
|
const params = {
|
||||||
|
store_id: props.storeId,
|
||||||
|
code: res.result.trim(),
|
||||||
|
type: 2
|
||||||
|
}
|
||||||
|
|
||||||
|
await checkDouyinCoupon(params)
|
||||||
|
toast.close()
|
||||||
|
|
||||||
|
// 跳转页面
|
||||||
|
emit('success', true)
|
||||||
|
DouYinExcharge.handleToExcharge()
|
||||||
|
} catch (error) {
|
||||||
|
toast.close()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
console.log('scanCode err', err);
|
||||||
|
},
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确认兑换
|
||||||
|
*/
|
||||||
|
handleConfirm: async () => {
|
||||||
|
if(!code.value) {
|
||||||
|
toast.info('兑换失败 请检查兑换码')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
toast.loading({
|
||||||
|
loadingType: 'ring',
|
||||||
|
loadingColor: '#4C9F44',
|
||||||
|
msg: '兑换中...'
|
||||||
|
})
|
||||||
|
try {
|
||||||
|
const params = {
|
||||||
|
store_id: props.storeId,
|
||||||
|
code: code.value.replace(/\s+/g, ''),
|
||||||
|
type: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
await checkDouyinCoupon(params)
|
||||||
|
toast.close()
|
||||||
|
|
||||||
|
// 跳转页面
|
||||||
|
emit('success', true)
|
||||||
|
DouYinExcharge.handleToExcharge()
|
||||||
|
} catch (error) {
|
||||||
|
toast.close()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跳转兑换成功提示
|
||||||
|
*/
|
||||||
|
handleToExcharge: () => {
|
||||||
|
code.value = ''
|
||||||
|
|
||||||
|
message.confirm({
|
||||||
|
title: '兑换成功',
|
||||||
|
msg: '您的抖音券已经兑换成功',
|
||||||
|
confirmButtonText: '好的',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
cancelButtonProps: {
|
||||||
|
customClass: '!bg-[#F6F7F8] !text-[#303133] !text-32rpx !leading-44rpx !rounded-8rpx',
|
||||||
|
},
|
||||||
|
confirmButtonProps: {
|
||||||
|
customClass: '!bg-[#4C9F44] !text-[#fff] !text-32rpx !leading-44rpx !rounded-8rpx',
|
||||||
|
}
|
||||||
|
}).then((res) => {}).catch(() => {})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
export default {}
|
||||||
|
</script>
|
||||||
51
src/bundle/contact/contact.vue
Normal file
51
src/bundle/contact/contact.vue
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
<route lang="jsonc" type="page">
|
||||||
|
{
|
||||||
|
"needLogin": true,
|
||||||
|
"layout": "default",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view class="pb-100rpx">
|
||||||
|
<navbar title="专属客服" custom-class='!bg-[#FCEDDC]'></navbar>
|
||||||
|
|
||||||
|
<view class="mt-32rpx">
|
||||||
|
<view class="relative flex justify-center">
|
||||||
|
<wd-img :src="`${OSS}images/contact/image1.png`" width="690rpx" height="1232rpx"></wd-img>
|
||||||
|
<view class="absolute top-96rpx left-238rpx flex items-center w-full" @click="Conatct.handleCall">
|
||||||
|
<view class="font-400 text-28rpx leading-40rpx text-[#AD7A56] mr-24rpx">电话:400-6245-123</view>
|
||||||
|
<view class="font-bold text-28rpx leading-40rpx text-[#4C9F44]">拨打</view>
|
||||||
|
</view>
|
||||||
|
<view class="absolute top-284rpx left-180rpx z-2">
|
||||||
|
<image :src="`${OSS}images/contact/image2.jpg`" style="width: 400rpx; height: 400rpx;" show-menu-by-longpress />
|
||||||
|
<!-- <wd-img :src="`${OSS}images/contact/image2.jpg`" width="400rpx" height="400rpx"></wd-img> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
const OSS = inject('OSS')
|
||||||
|
|
||||||
|
const Conatct = {
|
||||||
|
/**
|
||||||
|
* 拨打电话
|
||||||
|
*/
|
||||||
|
handleCall() {
|
||||||
|
uni.makePhoneCall({
|
||||||
|
phoneNumber: '4006245123'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
page {
|
||||||
|
background-color: #FCEDDC;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -23,7 +23,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="text-40rpx text-[#303133] leading-56rpx">抖音兑换</view>
|
<view class="text-40rpx text-[#303133] leading-56rpx">抖音兑换</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="mt-42rpx mx-60rpx">
|
<view class="mt-42rpx">
|
||||||
<wd-input
|
<wd-input
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="输入兑换码"
|
placeholder="输入兑换码"
|
||||||
@ -41,7 +41,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</wd-input>
|
</wd-input>
|
||||||
</view>
|
</view>
|
||||||
<view class="bg-[#4C9F44] text-[#fff] mx-60rpx h-90rpx leading-90rpx text-center rounded-8rpx mt-80rpx" @click="Excharge.handleConfirm">确定</view>
|
<view class="bg-[#4C9F44] text-[#fff] h-90rpx leading-90rpx text-center rounded-8rpx mt-80rpx" @click="Excharge.handleConfirm">确定</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 间隔线 -->
|
<!-- 间隔线 -->
|
||||||
@ -184,10 +184,4 @@
|
|||||||
page {
|
page {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.coupon-bg {
|
|
||||||
background-image: url(#{$OSS}images/order/order_image2.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: 100% 100%;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -113,7 +113,7 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center text-[#303133] mt-112rpx pb-66rpx">
|
<view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center text-[#303133] mt-112rpx pb-66rpx">
|
||||||
<view class="w-330rpx h-90rpx bg-[#FFFFFF] rounded-8rpx mr-30rpx">联系我们</view>
|
<view class="w-330rpx h-90rpx bg-[#FFFFFF] rounded-8rpx mr-30rpx" @click="router.navigateTo('/bundle/contact/contact')">联系我们</view>
|
||||||
<view class="w-330rpx h-90rpx bg-[#4C9F44] rounded-8rpx text-#fff">提交申请</view>
|
<view class="w-330rpx h-90rpx bg-[#4C9F44] rounded-8rpx text-#fff">提交申请</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -121,6 +121,7 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useColPickerData } from '@/hooks/useColPickerData'
|
import { useColPickerData } from '@/hooks/useColPickerData'
|
||||||
|
import { router } from '@/utils/tools'
|
||||||
|
|
||||||
const OSS = inject('OSS')
|
const OSS = inject('OSS')
|
||||||
|
|
||||||
|
|||||||
@ -162,7 +162,7 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center text-[#303133] mt-112rpx pb-66rpx">
|
<view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center text-[#303133] mt-112rpx pb-66rpx">
|
||||||
<view class="w-330rpx h-90rpx bg-[#FFFFFF] rounded-8rpx mr-30rpx">联系我们</view>
|
<view class="w-330rpx h-90rpx bg-[#FFFFFF] rounded-8rpx mr-30rpx" @click="router.navigateTo('/bundle/contact/contact')">联系我们</view>
|
||||||
<view class="w-330rpx h-90rpx bg-[#4C9F44] rounded-8rpx text-#fff">提交申请</view>
|
<view class="w-330rpx h-90rpx bg-[#4C9F44] rounded-8rpx text-#fff">提交申请</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -170,6 +170,7 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useColPickerData } from '@/hooks/useColPickerData'
|
import { useColPickerData } from '@/hooks/useColPickerData'
|
||||||
|
import { router } from '@/utils/tools'
|
||||||
|
|
||||||
const OSS = inject('OSS')
|
const OSS = inject('OSS')
|
||||||
|
|
||||||
|
|||||||
@ -236,7 +236,7 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center text-[#303133] mt-112rpx pb-66rpx">
|
<view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center text-[#303133] mt-112rpx pb-66rpx">
|
||||||
<view class="w-330rpx h-90rpx bg-[#FFFFFF] rounded-8rpx mr-30rpx">联系我们</view>
|
<view class="w-330rpx h-90rpx bg-[#FFFFFF] rounded-8rpx mr-30rpx" @click="router.navigateTo('/bundle/contact/contact')">联系我们</view>
|
||||||
<view class="w-330rpx h-90rpx bg-[#4C9F44] rounded-8rpx text-#fff">提交申请</view>
|
<view class="w-330rpx h-90rpx bg-[#4C9F44] rounded-8rpx text-#fff">提交申请</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -244,6 +244,7 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useColPickerData } from '@/hooks/useColPickerData'
|
import { useColPickerData } from '@/hooks/useColPickerData'
|
||||||
|
import { router } from '@/utils/tools'
|
||||||
|
|
||||||
const OSS = inject('OSS')
|
const OSS = inject('OSS')
|
||||||
|
|
||||||
|
|||||||
@ -120,7 +120,7 @@
|
|||||||
<view class="bg-white rounded-16rpx py-26rpx px-30rpx mt-24rpx mx-30rpx">
|
<view class="bg-white rounded-16rpx py-26rpx px-30rpx mt-24rpx mx-30rpx">
|
||||||
<view class="text-[#303133] text-32rpx leading-44rpx font-bold mb-24rpx">其他说明</view>
|
<view class="text-[#303133] text-32rpx leading-44rpx font-bold mb-24rpx">其他说明</view>
|
||||||
<view class="">
|
<view class="">
|
||||||
<rich-text :nodes="teaRoom.other_describe"></rich-text>
|
<rich-text :nodes="teaRoom.room.other_describe"></rich-text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|||||||
@ -113,9 +113,17 @@
|
|||||||
<view>已预约</view>
|
<view>已预约</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<mescroll-body @init="mescrollInit" @down="downCallback" :down="downOption" :up="upOption" @up="Room.upCallback">
|
|
||||||
<room-list :is-reserve="tabIndexs === 0" :is-group-buying="tabIndexs === 1" :list="list"></room-list>
|
<view v-if="tab < 2">
|
||||||
</mescroll-body>
|
<mescroll-body @init="mescrollInit" @down="downCallback" :down="downOption" :up="upOption" @up="Room.upCallback">
|
||||||
|
<room-list :is-reserve="tabIndexs === 0" :is-group-buying="tabIndexs === 1" :list="list"></room-list>
|
||||||
|
</mescroll-body>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 抖音兑换 -->
|
||||||
|
<view v-if="storeType == StoreType.Direct && tab === 2">
|
||||||
|
<dou-yin-excharge :store-id="teaRoomId" @success="Room.handleExchargeSuccess"/>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -146,6 +154,7 @@
|
|||||||
import { useUserStore } from '@/store'
|
import { useUserStore } from '@/store'
|
||||||
import { router } from '@/utils/tools'
|
import { router } from '@/utils/tools'
|
||||||
import { StoreType } from '@/utils/tea'
|
import { StoreType } from '@/utils/tea'
|
||||||
|
import DouYinExcharge from '@/bundle/components/DouYinExcharge.vue'
|
||||||
|
|
||||||
const rightPadding = inject('capsuleOffset')
|
const rightPadding = inject('capsuleOffset')
|
||||||
const OSS = inject('OSS')
|
const OSS = inject('OSS')
|
||||||
@ -372,23 +381,6 @@
|
|||||||
* tab切换获取index
|
* tab切换获取index
|
||||||
*/
|
*/
|
||||||
handleChangeTab: (item: { index: number }) => {
|
handleChangeTab: (item: { index: number }) => {
|
||||||
console.log("🚀 ~ item.index:", item.index)
|
|
||||||
if (item.index == 2) {
|
|
||||||
uni.showLoading({ title: '跳转中...' })
|
|
||||||
|
|
||||||
// 直营店抖音兑换,强制切回第一个tab
|
|
||||||
nextTick(() => {
|
|
||||||
if (tabsRef.value && typeof tabsRef.value.setActive === 'function') {
|
|
||||||
tabsRef.value.setActive(0, false, true)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
tab.value = 0
|
|
||||||
tabIndexs.value = 0
|
|
||||||
|
|
||||||
router.navigateTo(`/bundle/order/douyin/excharge?storeId=${teaRoomId.value}`, 200)
|
|
||||||
uni.hideLoading()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
tabIndexs.value = item.index
|
tabIndexs.value = item.index
|
||||||
list.value = []
|
list.value = []
|
||||||
getMescroll().resetUpScroll()
|
getMescroll().resetUpScroll()
|
||||||
|
|||||||
69
src/bundle/user/store-balance.vue
Normal file
69
src/bundle/user/store-balance.vue
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<route lang="jsonc" type="page">{
|
||||||
|
"layout": "default",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"navigationBarBackgroundColor": "#fff"
|
||||||
|
}
|
||||||
|
}</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<navbar title="门店余额" custom-class='!bg-[#F6F7F8]'></navbar>
|
||||||
|
|
||||||
|
<view class="">
|
||||||
|
<view class="mx-30rpx mt-20rpx">
|
||||||
|
<view class="bg-white rounded-16rpx px-36rpx py-32rpx mb-20rpx" v-for="item in list" :key="item.id">
|
||||||
|
<view class="flex items-center justify-between mb-32rpx">
|
||||||
|
<view class="flex items-center">
|
||||||
|
<wd-img :src="`${OSS}icon/icon_tea3.png`" width="40rpx" height="40rpx"></wd-img>
|
||||||
|
<view class="font-bold text-34rpx leading-48rpx text-[#303133] ml-12rpx w-300rpx line-1">{{ item.store_name }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="text-[#303133] flex items-center">
|
||||||
|
<view class="font-400 text-26rpx mr-18rpx">余额</view>
|
||||||
|
<view class="font-bold text-24rpx">
|
||||||
|
<price-format color="#303133" weight="bold" :first-size="30" :second-size="24" :subscript-size="22" :price="item.money"></price-format>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="flex items-center">
|
||||||
|
<wd-img :src="`${OSS}icon/icon_location4.png`" width="30rpx" height="30rpx"></wd-img>
|
||||||
|
<view class="font-400 text-26rpx leading-36rpx line-1 ml-16rpx">{{ item.address }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { getStoreBalanceLog } from '@/api/user'
|
||||||
|
|
||||||
|
const OSS = inject('OSS')
|
||||||
|
const list = ref<Array<any>>([])
|
||||||
|
|
||||||
|
onLoad((args) => {
|
||||||
|
RechargeList.handleInit()
|
||||||
|
})
|
||||||
|
|
||||||
|
const RechargeList = {
|
||||||
|
handleInit: async () => {
|
||||||
|
const res = await getStoreBalanceLog()
|
||||||
|
list.value = res
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
page {
|
||||||
|
background-color: $cz-page-background;
|
||||||
|
}
|
||||||
|
|
||||||
|
.datetime-picker {
|
||||||
|
:deep() {
|
||||||
|
.wd-cell {
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -57,10 +57,10 @@
|
|||||||
|
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { PayList, PayCategory, PayValue, PayOrderType, PayOrderSource } from '@/utils/pay'
|
import { PayList, PayCategory, PayValue, PayOrderType, PayOrderSource, PayValueMap } from '@/utils/pay'
|
||||||
import { teaRoomRecharge, getRechargeActivity } from '@/api/tea-room'
|
import { teaRoomRecharge, getRechargeActivity } from '@/api/tea-room'
|
||||||
import { wechatPay } from '@/hooks/usePay'
|
import { wechatPay } from '@/hooks/usePay'
|
||||||
import { prePay, createRechargeOrder } from '@/api/pay'
|
import { createRechargeOrder, newPrePay } from '@/api/pay'
|
||||||
import { useToast } from 'wot-design-uni'
|
import { useToast } from 'wot-design-uni'
|
||||||
|
|
||||||
const toast = useToast()
|
const toast = useToast()
|
||||||
@ -109,39 +109,41 @@
|
|||||||
try {
|
try {
|
||||||
// 先请求充值接口
|
// 先请求充值接口
|
||||||
const res = await createRechargeOrder({id: rechargeValue.value})
|
const res = await createRechargeOrder({id: rechargeValue.value})
|
||||||
console.log("🚀 ~ res:", res)
|
|
||||||
|
|
||||||
// 预支付
|
if (res.order_id) {
|
||||||
const pay = await prePay({
|
// 预支付
|
||||||
from: 'recharge',
|
const pay = await newPrePay({
|
||||||
order_id: res.order_id,
|
from: PayValueMap[PayValue.WeChatPay],
|
||||||
pay_way: 2,
|
order_id: res.order_id, //如果是续单的话,则用续单的订单ID
|
||||||
order_source: PayOrderSource.MINI, //订单来源:1-小程序; 2-h5; 3app
|
pay_way: PayValue.WeChatPay,
|
||||||
order_type: PayOrderType.Recharge,
|
order_source: PayOrderSource.MINI, //订单来源:1-小程序; 2-h5; 3app
|
||||||
store_id: 0
|
order_type: PayOrderType.TeaRoomRecharge, // 茶艺师订单
|
||||||
})
|
})
|
||||||
|
|
||||||
wechatPay(pay.pay.config).then((res) => {
|
wechatPay(pay.config).then((res) => {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
if (res === 'success') {
|
if (res === 'success') {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
toast.success('支付成功')
|
toast.success('支付成功')
|
||||||
}, 100);
|
}, 100);
|
||||||
return
|
return
|
||||||
} else if (res === 'cancel') {
|
} else if (res === 'cancel') {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
toast.show('已取消支付')
|
toast.show('已取消支付')
|
||||||
}, 100);
|
}, 100);
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
toast.show('支付失败,请重试')
|
toast.show('支付失败,请重试')
|
||||||
}, 100);
|
}, 100);
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
|
toast.close()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
toast.close()
|
toast.close()
|
||||||
})
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
toast.close()
|
toast.close()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -182,20 +182,18 @@
|
|||||||
const orderStatus = ref<string>('')
|
const orderStatus = ref<string>('')
|
||||||
const list = ref<Array<any>>([]) // 茶室列表
|
const list = ref<Array<any>>([]) // 茶室列表
|
||||||
const keywords = ref<string>('') // 搜索关键词
|
const keywords = ref<string>('') // 搜索关键词
|
||||||
const canReset = ref<boolean>(false) // 避免onShow重复加载
|
|
||||||
|
|
||||||
onShow(() => {
|
|
||||||
if (canReset.value) {
|
|
||||||
list.value = []
|
|
||||||
getMescroll().resetUpScroll()
|
|
||||||
}
|
|
||||||
canReset.value = true
|
|
||||||
})
|
|
||||||
|
|
||||||
onLoad(async () => {
|
onLoad(async () => {
|
||||||
|
uni.$on('refreshTeaSpecialist', () => {
|
||||||
|
list.value = []
|
||||||
|
getMescroll().resetUpScroll()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
onUnload(() => {
|
||||||
|
uni.$off('refreshTeaSpecialist')
|
||||||
|
})
|
||||||
|
|
||||||
// 茶室分享(仅页面右上角分享,无需按钮分享)
|
// 茶室分享(仅页面右上角分享,无需按钮分享)
|
||||||
onShareAppMessage(() => {
|
onShareAppMessage(() => {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
<wd-img width="100%" height="100%" :src="item.img"
|
<wd-img width="100%" height="100%" :src="item.img"
|
||||||
radius="10rpx"/>
|
radius="10rpx"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex-1 ml-32rpx relative" v-if="!isGroupBuying">
|
<view class="flex-1 ml-32rpx relative" v-if="!isGroupBuying" @click="RoomList.handleToRoomPage(ReserveServiceCategory.ReserveRoom, item.status, item.store_id, item.id, item.price)">
|
||||||
<view class="text-28rpx text-[#303133] leading-40rpx line-1 w-420rpx">{{ item.title }}</view>
|
<view class="text-28rpx text-[#303133] leading-40rpx line-1 w-420rpx">{{ item.title }}</view>
|
||||||
<view class="mt-22rpx flex">
|
<view class="mt-22rpx flex">
|
||||||
<template v-for="(label, labelIndex) in item.label" :key="labelIndex">
|
<template v-for="(label, labelIndex) in item.label" :key="labelIndex">
|
||||||
@ -35,13 +35,31 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-if="!isUseCoupon" class="flex flex-col justify-end items-end">
|
<view v-if="!isUseCoupon" class="flex flex-col justify-end items-end">
|
||||||
<!-- 预定状态 -->
|
<!-- 预定状态-空闲中 -->
|
||||||
<view class="flex flex-col justify-center items-center w-108rpx" @click="RoomList.handleToPage(ReserveServiceCategory.ReserveRoom, item.store_id, item.id, item.price)" v-if="item.status === RoomStatus.AVAILABLE">
|
<view class="flex flex-col justify-center items-center w-108rpx" v-if="item.status === RoomStatus.AVAILABLE">
|
||||||
<view class="font-bold text-26rpx leading-36rpx text-[#4C9F44] h-40rpx wait1-border">空闲中</view>
|
<view class="font-bold text-26rpx leading-36rpx text-[#4C9F44] h-40rpx wait1-border">空闲中</view>
|
||||||
<view class="bg-[#4C9F44] font-400 text-26rpx text-[#fff] h-40rpx wait2-border">预定</view>
|
<view class="bg-[#4C9F44] font-400 text-26rpx text-[#fff] h-40rpx wait2-border">预定</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<!-- 预定状态-使用中 -->
|
||||||
|
<view class="flex flex-col justify-center items-center w-108rpx" v-if="item.status === RoomStatus.IN_USE">
|
||||||
|
<view class="font-bold text-26rpx leading-36rpx text-[#F29747] h-40rpx use1-border">使用中</view>
|
||||||
|
<view class="bg-[#F29747] font-400 text-26rpx text-[#fff] h-40rpx use2-border">预定</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 预定状态-待打扫 -->
|
||||||
|
<view class="flex flex-col justify-center items-center w-108rpx" v-if="item.status === RoomStatus.WAIT_CLEANING">
|
||||||
|
<view class="font-bold text-26rpx leading-36rpx text-[#818CA9] h-40rpx wait1-clear-border">未打扫</view>
|
||||||
|
<view class="bg-[#818CA9] font-400 text-26rpx text-[#fff] h-40rpx wait2-clear-border">预定</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="w-108rpx h-52rpx leading-52rpx border-2rpx border-solid border-[#FF5951] rounded-8rpx text-[#FF5951] font-bold text-26rpx text-center" v-if="item.status === RoomStatus.MAINTENANCE">维护中</view>
|
<view class="w-108rpx h-52rpx leading-52rpx border-2rpx border-solid border-[#FF5951] rounded-8rpx text-[#FF5951] font-bold text-26rpx text-center" v-if="item.status === RoomStatus.MAINTENANCE">维护中</view>
|
||||||
<view class="w-108rpx h-52rpx leading-52rpx border-2rpx border-solid border-[#F29747] rounded-8rpx text-[#F29747] font-bold text-26rpx text-center" v-if="item.status === RoomStatus.IN_USE">使用中</view>
|
|
||||||
|
<!-- <view class="w-108rpx h-52rpx leading-52rpx border-2rpx border-solid border-[#F29747] rounded-8rpx text-[#F29747] font-bold text-26rpx text-center"
|
||||||
|
@click="RoomList.handleToPage(ReserveServiceCategory.ReserveRoom, item.store_id, item.id, item.price)"
|
||||||
|
v-if="item.status === RoomStatus.IN_USE">
|
||||||
|
使用中
|
||||||
|
</view> -->
|
||||||
<view class="font-400 text-22rpx text-[#6A6363] leading-32rpx w-200rpx text-right mt-8rpx" v-if="item.people_number">{{ item.people_number }}</view>
|
<view class="font-400 text-22rpx text-[#6A6363] leading-32rpx w-200rpx text-right mt-8rpx" v-if="item.people_number">{{ item.people_number }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -173,6 +191,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
const RoomList = {
|
const RoomList = {
|
||||||
|
/**
|
||||||
|
* 跳转茶室详情页面
|
||||||
|
* @param type 跳转类型:ReserveRoom-预定包间、GroupBuying-团购套餐
|
||||||
|
* @param storeId 茶室ID
|
||||||
|
* @param id 包间ID
|
||||||
|
* @param price 包间价格
|
||||||
|
*/
|
||||||
|
handleToRoomPage: (type: string, status: number, storeId: number, id: number, price: number) => {
|
||||||
|
if (status !== RoomStatus.MAINTENANCE && status !== RoomStatus.CLEANING) {
|
||||||
|
router.navigateTo(`/bundle/tea-room/detail?storeId=${storeId}&id=${id}&type=${type}&price=${price}`)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跳转页面
|
* 跳转页面
|
||||||
* @param type 跳转类型:ReserveRoom-预定包间、GroupBuying-团购套餐
|
* @param type 跳转类型:ReserveRoom-预定包间、GroupBuying-团购套餐
|
||||||
@ -230,4 +261,32 @@
|
|||||||
border-radius: 0rpx 0rpx 8rpx 8rpx;
|
border-radius: 0rpx 0rpx 8rpx 8rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.use1-border {
|
||||||
|
border: 2rpx solid #F29747;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 8rpx 8rpx 0rpx 0rpx;
|
||||||
|
width: 108rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use2-border {
|
||||||
|
border: 2rpx solid #F29747;
|
||||||
|
width: 108rpx;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 0rpx 0rpx 8rpx 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wait1-clear-border {
|
||||||
|
border: 2rpx solid #818CA9;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 8rpx 8rpx 0rpx 0rpx;
|
||||||
|
width: 108rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wait2-clear-border {
|
||||||
|
border: 2rpx solid #818CA9;
|
||||||
|
width: 108rpx;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 0rpx 0rpx 8rpx 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@ -199,6 +199,15 @@
|
|||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "contact/contact",
|
||||||
|
"type": "page",
|
||||||
|
"needLogin": true,
|
||||||
|
"layout": "default",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "coupon/coupon",
|
"path": "coupon/coupon",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
@ -306,6 +315,15 @@
|
|||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "user/store-balance",
|
||||||
|
"type": "page",
|
||||||
|
"layout": "default",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"navigationBarBackgroundColor": "#fff"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "vip/benefits",
|
"path": "vip/benefits",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
|
|||||||
@ -142,12 +142,14 @@
|
|||||||
import { onPageScroll, onReachBottom } from '@dcloudio/uni-app'
|
import { onPageScroll, onReachBottom } from '@dcloudio/uni-app'
|
||||||
import useMescroll from "@/uni_modules/mescroll-uni/hooks/useMescroll.js"
|
import useMescroll from "@/uni_modules/mescroll-uni/hooks/useMescroll.js"
|
||||||
import { LOCATION_DENY_TIME_KEY, handleEnsureLocationAuthHooks, LOCATION_DEFAULT_CITY, handleGetLocationCity, LOCATION_CITY_KEY, handleForceGetLocation } from '@/hooks/useLocation'
|
import { LOCATION_DENY_TIME_KEY, handleEnsureLocationAuthHooks, LOCATION_DEFAULT_CITY, handleGetLocationCity, LOCATION_CITY_KEY, handleForceGetLocation } from '@/hooks/useLocation'
|
||||||
import { getHomeBannerList, getHomeCouponPopup } from '@/api/home'
|
import { getHomeBannerList, getHomeCouponPopup, claimIndexCoupon } from '@/api/home'
|
||||||
import { getHomeTeaStoreList } from '@/api/tea-room'
|
import { getHomeTeaStoreList } from '@/api/tea-room'
|
||||||
import { useUserStore } from '@/store'
|
import { useUserStore } from '@/store'
|
||||||
|
import { useToast } from 'wot-design-uni'
|
||||||
|
|
||||||
const OSS = inject('OSS')
|
const OSS = inject('OSS')
|
||||||
const navbarHeight = inject('navbarHeight')
|
const navbarHeight = inject('navbarHeight')
|
||||||
|
const toast = useToast()
|
||||||
|
|
||||||
// 轮播图
|
// 轮播图
|
||||||
const swiperList = ref<string[]>([])
|
const swiperList = ref<string[]>([])
|
||||||
@ -354,9 +356,9 @@
|
|||||||
/**
|
/**
|
||||||
* 跳转领取优惠券页面
|
* 跳转领取优惠券页面
|
||||||
*/
|
*/
|
||||||
handleToGetCoupon: () => {
|
handleToGetCoupon: async () => {
|
||||||
|
await claimIndexCoupon()
|
||||||
showCoupon.value = false
|
showCoupon.value = false
|
||||||
router.switchTab('/pages/my/my')
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -158,15 +158,20 @@
|
|||||||
*/
|
*/
|
||||||
handleToLogin: () => {
|
handleToLogin: () => {
|
||||||
const decoded = decodeURIComponent(redirectUrl.value)
|
const decoded = decodeURIComponent(redirectUrl.value)
|
||||||
console.log("🚀 ~ decoded:", decoded)
|
|
||||||
console.log("🚀 ~ decoded:", uni.getStorageSync('refreshTeaSpecialistDetailsParams'))
|
|
||||||
if (decoded == '/bundle/order/tea-room/order-detail') {
|
if (decoded == '/bundle/order/tea-room/order-detail') {
|
||||||
|
// 茶室订单转让
|
||||||
const transferOrderParams = uni.getStorageSync('transferOrderParams')
|
const transferOrderParams = uni.getStorageSync('transferOrderParams')
|
||||||
uni.$emit('transferOrder', transferOrderParams)
|
uni.$emit('transferOrder', transferOrderParams)
|
||||||
} else if (decoded == '/bundle_b/pages/tea-specialist/detail') {
|
} else if (decoded == '/bundle_b/pages/tea-specialist/detail') {
|
||||||
|
// 刷新茶艺师详情页
|
||||||
uni.$emit('refreshTeaSpecialistDetails')
|
uni.$emit('refreshTeaSpecialistDetails')
|
||||||
} else if (decoded == '/bundle/tea-room/room') {
|
} else if (decoded == '/bundle/tea-room/room') {
|
||||||
|
// 刷新茶室列表页
|
||||||
uni.$emit('refreshShareTeaRoomLists')
|
uni.$emit('refreshShareTeaRoomLists')
|
||||||
|
} else if (decoded == '/bundle_b/pages/tea-specialist/list') {
|
||||||
|
// 刷新茶艺师列表页
|
||||||
|
uni.$emit('refreshTeaSpecialist')
|
||||||
}
|
}
|
||||||
|
|
||||||
toast.info('登录成功')
|
toast.info('登录成功')
|
||||||
|
|||||||
@ -53,7 +53,8 @@
|
|||||||
<!-- 余额显示 -->
|
<!-- 余额显示 -->
|
||||||
<view class="mt-16rpx mx-30rpx flex justify-between">
|
<view class="mt-16rpx mx-30rpx flex justify-between">
|
||||||
<view class="flex items-center">
|
<view class="flex items-center">
|
||||||
<view class="w-160rpx text-[#303133] text-center" @click="router.navigateTo('/bundle/coupon/my-coupon')">
|
<!-- <view class="w-160rpx text-[#303133] text-center" @click="router.navigateTo('/bundle/coupon/my-coupon')"> -->
|
||||||
|
<view class="w-160rpx text-[#303133] text-center">
|
||||||
<view class="font-bold text-36rpx leading-50rpx"> {{ isLogin ? user.coupon_count : '- -' }}</view>
|
<view class="font-bold text-36rpx leading-50rpx"> {{ isLogin ? user.coupon_count : '- -' }}</view>
|
||||||
<view class="text-24rpx leading-34rpx">优惠券</view>
|
<view class="text-24rpx leading-34rpx">优惠券</view>
|
||||||
</view>
|
</view>
|
||||||
@ -62,13 +63,23 @@
|
|||||||
<view class="text-24rpx leading-34rpx">收藏</view>
|
<view class="text-24rpx leading-34rpx">收藏</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="relative" @click="router.navigateTo('/bundle/wallet/wallet')">
|
<view class="relative">
|
||||||
<view class="w-300rpx h-148rpx">
|
<view class="w-378rpx h-148rpx">
|
||||||
<wd-img width="100%" height="100%" :src="`${OSS}images/my/my_image3.png`" mode="aspectFill"></wd-img>
|
<wd-img width="100%" height="100%" :src="`${OSS}images/my/my_image8.png`" mode="aspectFill"></wd-img>
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[#303133] absolute bottom-12rpx left-24rpx text-center">
|
<view class="text-[#303133] absolute bottom-12rpx text-center flex items-center justify-center w-full">
|
||||||
<view class="text-30rpx leading-36rpx font-bold">{{ isLogin ? user.user_money : '- -' }}</view>
|
<view class="" @click="router.navigateTo('/bundle/wallet/wallet')">
|
||||||
<view class="text-20rpx leading-28rpx ml-10rpx">平台余额</view>
|
<view class="text-30rpx leading-36rpx font-bold">{{ isLogin ? user.user_money : '- -' }}</view>
|
||||||
|
<view class="text-20rpx leading-28rpx ml-10rpx">平台余额</view>
|
||||||
|
</view>
|
||||||
|
<view class="border-dashed border-2rpx border-[#FFBC01] h-62rpx w-2rpx mx-28rpx"></view>
|
||||||
|
<view @click="router.navigateTo('/bundle/user/store-balance')">
|
||||||
|
<view class="text-30rpx leading-36rpx font-bold">{{ isLogin ? user.store_money : '- -' }}</view>
|
||||||
|
<view class="flex itemsc-center">
|
||||||
|
<view class="text-20rpx leading-28rpx ml-10rpx">门店余额</view>
|
||||||
|
<wd-icon name="chevron-right" color="#C78C4A" size="28rpx" custom-class="!mt-2rpx"></wd-icon>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -269,7 +280,7 @@
|
|||||||
|
|
||||||
// 登录信息相关
|
// 登录信息相关
|
||||||
const userInfo = ref<any>(null)
|
const userInfo = ref<any>(null)
|
||||||
const user = ref<IUserResult>({
|
const user = ref({
|
||||||
id: 0,
|
id: 0,
|
||||||
sn: 0,
|
sn: 0,
|
||||||
sex: "未知",
|
sex: "未知",
|
||||||
@ -285,6 +296,7 @@
|
|||||||
member: 0,
|
member: 0,
|
||||||
mobile: "",
|
mobile: "",
|
||||||
user_money: "0.00",
|
user_money: "0.00",
|
||||||
|
store_money: "0.00",
|
||||||
version: "",
|
version: "",
|
||||||
last_month: 0
|
last_month: 0
|
||||||
})
|
})
|
||||||
|
|||||||
@ -90,6 +90,14 @@
|
|||||||
*/
|
*/
|
||||||
handleToUse: () => {
|
handleToUse: () => {
|
||||||
router.redirectTo(`/bundle/tea-room/room?id=${storeId.value}&type=${storeType.value}`)
|
router.redirectTo(`/bundle/tea-room/room?id=${storeId.value}&type=${storeType.value}`)
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 完成
|
||||||
|
*/
|
||||||
|
handleRoomDone: () => {
|
||||||
|
router.redirectTo('/bundle_b/pages/tea-specialist/list')
|
||||||
|
// router.switchTab('/pages/index/index')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -63,6 +63,7 @@ export enum PayOrderType {
|
|||||||
ComboRefund = 5, // 套餐退款
|
ComboRefund = 5, // 套餐退款
|
||||||
TeaRoomRefund = 6, // 茶室退款
|
TeaRoomRefund = 6, // 茶室退款
|
||||||
RenewRoom = 7, // 续订包间
|
RenewRoom = 7, // 续订包间
|
||||||
|
TeaRoomRecharge = 9, // 茶室充值
|
||||||
TeaSpecialis = 10, // 茶艺师
|
TeaSpecialis = 10, // 茶艺师
|
||||||
RenewTeaSpecialist = 11, // 续订茶艺师服务
|
RenewTeaSpecialist = 11, // 续订茶艺师服务
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user