# Conflicts:
#	src/pages/index/components/chat/ChatQuickAccess/index.vue
This commit is contained in:
2025-10-16 19:19:16 +08:00
9 changed files with 159 additions and 11 deletions

View File

@@ -17,6 +17,4 @@ defineProps({
});
</script>
<style lang="scss" scoped>
@import "./styles/index.scss";
</style>
<style lang="scss" scoped></style>

View File

@@ -275,7 +275,7 @@ const handleReply = (text) => {
const handleReplyInstruct = async (item) => {
await checkToken();
if (item.type === "MyOrder") {
if (item.type === "Command.myOrder") {
// 订单
uni.navigateTo({
url: "/pages-order/order/list",
@@ -775,6 +775,4 @@ const resetConfig = () => {
};
</script>
<style lang="scss" scoped>
@import "./styles/index.scss";
</style>
<style lang="scss" scoped></style>

View File

@@ -35,8 +35,8 @@ const itemList = ref([
},
{
icon: "",
title: "反馈意见",
type: "Command.feedbackCard",
title: "呼叫服务",
type: "Command.createWorkOrderCard",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/more.png",
@@ -48,6 +48,10 @@ const itemList = ref([
const emits = defineEmits(["replySent"]);
const sendReply = (item) => {
if (item.type === "Command.more") {
uni.$emit("SHOW_MORE_POPUP");
return;
}
emits("replySent", item); // 向父组件传递数据
};
@@ -85,7 +89,7 @@ const initData = () => {
showIcon: false,
title: "订单/工单",
content: "我的订单/工单",
type: "MyOrder",
type: "Command.myOrder",
},
]
: [
@@ -108,7 +112,7 @@ const initData = () => {
showIcon: false,
title: "订单/工单",
content: "我的订单/工单",
type: "MyOrder",
type: "Command.myOrder",
},
{
icon: "https://oss.nianxx.cn/mp/static/quick/quick_icon_call.png",

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: "Command.quickBooking",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/tsfx.png",
title: "探索发现",
content: "发现景点、活动、特色内容",
btnText: "去探索",
type: "Command.discovery",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/mddd.png",
title: "我的订单",
content: "查看门票、住宿、餐饮等订单",
btnText: "去查看",
type: "Command.myOrder",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/wdgd.png",
title: "我的工单",
content: "查看服务工单、进度与处理情况",
btnText: "去查看",
type: "Command.myWorkOrder",
},
{
icon: "https://oss.nianxx.cn/mp/static/version_101/home/fkyj.png",
title: "反馈意见",
content: "提交使用问题、建议与需求",
btnText: "去反馈",
type: "Command.feedbackCard",
},
]);
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>

View File

@@ -0,0 +1,29 @@
.popup-content {
background-color: #f5f7fa;
border-radius: 15px 15px 0 0;
padding-bottom: Max(env(safe-area-inset-bottom), 12px) !important;
}
.list {
border-radius: 15px;
}
.item {
gap: 20px;
&:last-child {
border-bottom: none;
}
}
.left {
width: 24px;
height: 24px;
margin-right: 12px;
}
.right {
background-color: #2d91ff;
border-radius: 5px;
padding: 6px;
}

View File

@@ -11,6 +11,9 @@
@close="handleCalendarClose"
@select="handleDateSelect"
/>
<!-- 更多服务 -->
<MoreService />
</template>
<script setup>
@@ -20,6 +23,7 @@ import { getUrlParams } from "@/utils/UrlParams";
import { useAppStore } from "@/store";
import ChatMainList from "./components/chat/ChatMainList/index.vue";
import Calender from "@/components/Calender/index.vue";
import MoreService from "./components/module/MoreService/index.vue";
const appStore = useAppStore();

View File

@@ -2,3 +2,7 @@
.border {
border: 1px solid #000;
}
.border-bottom {
border-bottom: 1px solid #e5e8ee;
}

View File

@@ -20,6 +20,10 @@
color: #999;
}
.color-A3A3A3 {
color: #a3a3a3;
}
.color-525866 {
color: #525866;
}

View File

@@ -1,4 +1,8 @@
// 行高
.line-height-16 {
line-height: 16px;
}
.line-height-17 {
line-height: 17px;
}
@@ -18,3 +22,7 @@
.line-height-22 {
line-height: 22px;
}
.line-height-24 {
line-height: 24px;
}