feat: 新增更多服务弹窗

This commit is contained in:
duanshuwen
2025-10-15 21:35:54 +08:00
parent e9dbb3d44f
commit afb124ee19
7 changed files with 159 additions and 6 deletions

View File

@@ -0,0 +1,99 @@
<template>
<uni-popup ref="popup" type="bottom" :safe-area="false">
<view class="popup-content border-box pt-12 pl-12 pr-12">
<view class="header flex flex-items-center pb-12">
<view class="title flex-full font-size-17 color-000 font-500"
>更多服务</view
>
<uni-icons type="close" size="20" color="#CACFD8" @click="close" />
</view>
<view class="list bg-white border-box pl-20 pr-20">
<view
class="item border-box border-bottom pt-20 pb-20"
v-for="(item, index) in list"
:key="index"
@click="close"
>
<view class="flex flex-items-center flex-justify-center">
<image v-if="item.icon" class="left" :src="item.icon" />
<view class="center flex-full">
<view class="font-size-16 color-000 line-height-24 font-500">
{{ item.title }}
</view>
<view class="font-size-12 color-A3A3A3 line-height-16">
{{ item.content }}
</view>
</view>
<view
class="right border-box font-size-12 color-white line-height-16"
>
{{ item.btnText }}
</view>
</view>
</view>
</view>
</view>
</uni-popup>
</template>
<script setup>
import { ref } from "vue";
const popup = ref(null);
const list = ref([
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/ksyd.png",
title: "快速预定",
content: "预定门票、房间、餐食",
btnText: "去预定",
type: "quickBooking",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/tsfx.png",
title: "探索发现",
content: "发现景点、活动、特色内容",
btnText: "去探索",
type: "discovery",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/mddd.png",
title: "我的订单",
content: "查看门票、住宿、餐饮等订单",
btnText: "去查看",
type: "myOrder",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/wdgd.png",
title: "我的工单",
content: "查看服务工单、进度与处理情况",
btnText: "去查看",
type: "myWorkOrder",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/fkyj.png",
title: "反馈意见",
content: "提交使用问题、建议与需求",
btnText: "去反馈",
type: "feedback",
},
]);
const open = () => {
popup.value && popup.value.open();
};
const close = () => {
popup.value && popup.value.close();
};
// 接收更多服务
uni.$on("SHOW_MORE_POPUP", () => {
open();
});
</script>
<style lang="scss" scoped>
@import "./styles/index.scss";
</style>