添加充值功能、优化内容

This commit is contained in:
wangxiaowei
2026-01-10 19:09:01 +08:00
parent d12651fe8a
commit 59859a2363
17 changed files with 959 additions and 105 deletions

View File

@ -80,6 +80,8 @@
</view>
</view>
<!-- 团购视频 -->
<!-- <view class="mt-28rpx">
<view class="mb-28rpx flex items-center">
@ -122,20 +124,47 @@
</view>
</view>
<view class="text-26rpx text-[#9CA3AF] font-400 leading-36rpx">
可添加1张图片
可添加1-9张图片
</view>
</view>
<view class="flex flex-wrap items-center gap-16rpx">
<wd-upload
:header="{'token': token}"
:file-list="fileList"
:limit="1"
v-model:file-list="fileList"
:limit="9"
multiple
image-mode="scaleToFill"
:action="action"
@success="RoomDetail.handleUploadSuccess">
:action="action">
</wd-upload>
</view>
</view>
<!-- 排序 -->
<view class="mt-28rpx add-textarea">
<view class="flex items-center justify-between mb-20rpx">
<view class="mr-10rpx text-32rpx text-[#303133] font-bold leading-44rpx">
包间排序
</view>
<view class="text-24rpx text-[#9CA3AF] font-400 leading-34rpx">
数字越大排名越靠前
</view>
</view>
<wd-input v-model="form.weight" no-border placeholder="请输入包间排序" :maxlength="10"
custom-class="!bg-[#F6F7F8] !rounded-16rpx !px-28rpx !py-20rpx" />
</view>
<!-- 推荐人数 -->
<view class="mt-28rpx add-textarea">
<view class="flex items-center justify-between mb-20rpx">
<view class="mr-10rpx text-32rpx text-[#303133] font-bold leading-44rpx">
推荐人数
</view>
</view>
<wd-input v-model="form.people_number" no-border placeholder="推荐人数1-5人" :maxlength="10"
custom-class="!bg-[#F6F7F8] !rounded-16rpx !px-28rpx !py-20rpx" />
</view>
</view>
<!-- 规格与价格 -->
@ -397,7 +426,7 @@
<script lang="ts" setup>
import { getRoomDetails, getRoomLabelList, handleCreateTag, handleDeleteTag, editRoom } from '@/api/store'
import { updateUserInfo } from '@/api/user'
import { router } from '@/utils/tools'
import { router, removeImageUrlPrefix } from '@/utils/tools'
import { toast } from '@/utils/toast'
import { useStoreStore } from '@/store'
@ -431,12 +460,15 @@
// 表单
const form = reactive({
title: '',
image: '',
image_arr: [] as string[],
img: '',
tags: [] as string[],
price: '',
hours: '',
video: null as any,
other_describe: '',
weight: 0,
people_number: ''
})
const tags = ref<Array<{ id: number, label_name: string, index: number }>>([])
const roomLabelId = ref<string>('')
@ -455,21 +487,25 @@
*/
handleGetRoomDetails: async () => {
const res = await getRoomDetails(roomId.value)
fileList.value = [{url: res.details.room.img, name: res.details.room.img }]
fileList.value =res.details.room.room_arr.map((url: string) => ({
url,
}))
roomLabelId.value = res.details.room.label_id
form.title = res.details.room.title
form.image = res.details.room.img
form.img = res.details.room.img
form.price = res.details.room.price.toString()
form.hours = res.details.room.hours.toString()
form.other_describe = res.details.room.other_describe || ''
form.weight = res.details.room.weight || 0
form.people_number = res.details.room.people_number || ''
},
/**
* 获取包间标签列表
*/
handleGetRoomLabels: async () => {
const res = await getRoomLabelList(useStore.defaultStore.id)
availableTags.value = res.list
@ -494,8 +530,6 @@
}
})
}
console.log("🚀 ~ availableTags.value:", availableTags.value)
},
/**
@ -514,23 +548,6 @@
showTagSelectPopup.value = true
},
/**
* 上传图片
*/
handleUploadSuccess: async (e: any) => {
try {
const response = JSON.parse(e.file.response)
if (response.code) {
const avatarUrl = response.data.url
form.image = avatarUrl
} else {
throw new Error('上传失败')
}
} catch (error) {
toast.info('上传失败')
}
},
/**
* 关闭选择标签弹窗
*/
@ -712,8 +729,8 @@
return
}
if (!form.image) {
toast.info('请上传团购图片')
if (fileList.value.length === 0) {
toast.info('请上传包间图片')
return
}
@ -727,14 +744,18 @@
return
}
const imgArr = removeImageUrlPrefix(fileList.value)
let params = {
id: roomId.value,
img: form.image.replace(import.meta.env.VITE_UPLOAD_IMAGE_URL, ''),
img: imgArr[0],
img_arr: imgArr.join(','),
title: form.title,
label_id: tags.value.map(tag => tag.id).join(','),
price: Number(form.price),
hours: Number(form.hours),
other_describe: form.other_describe,
weight: Number(form.weight),
people_number: form.people_number
}
uni.showLoading({
@ -745,13 +766,13 @@
await editRoom(params)
uni.hideLoading()
toast.info('修改成功')
router.navigateBack(1, 500)
// router.navigateBack(1, 500)
} catch (e) {
toast.info('修改失败,请稍后重试')
uni.hideLoading()
return
}
},
}
}
</script>