feat:订单详情页面组件封装

This commit is contained in:
duanshuwen committed 2025-07-13 12:17:41 +08:00
1 parent 34a62d2f3e
commit 8766bb3720
88 files changed
+1021 -47

No files matched your search

@@ -1 +1 @@
{"version":3,"file":"ChatMainList.js","sources":["pages/chat/ChatMainList.vue","C:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovd3d3L1lHQ2hhdENTL3BhZ2VzL2NoYXQvQ2hhdE1haW5MaXN0LnZ1ZQ"],"sourcesContent":["<template>\r\n\t<view class=\"chat-container\" @touchend=\"handleTouchEnd\">\r\n\t\t<!-- 顶部的背景 -->\r\n\t\t<chat-top-bg-img class=\"chat-container-bg\"></chat-top-bg-img>\r\n\t\t\r\n\t\t<!-- 顶部自定义导航栏 -->\r\n\t\t<view class=\"nav-bar-container\" :style=\"{\r\n\t\t paddingTop: statusBarHeight + 'px',\r\n\t\t backgroundColor: navBgColor,\r\n\t\t }\">\r\n\t\t\t<chat-top-nav-bar @openDrawer=\"openDrawer\"></chat-top-nav-bar>\r\n\t\t</view>\r\n\t\t\r\n\t\t<view class=\"chat-container-msg-list\">\r\n\t\t\t<!-- logo栏 -->\r\n\t\t\t<chat-top-banner class=\"chat-container-top-bannar\"></chat-top-banner>\r\n\t\t\t\r\n\t\t\t<!-- 消息列表(可滚动区域) -->\r\n\t\t\t<scroll-view\r\n\t\t\t scroll-y\r\n\t\t\t :scroll-into-view=\"lastMsgId\"\r\n\t\t\t :scroll-with-animation=\"true\"\r\n\t\t\t class=\"area-msg-list\"\r\n\t\t\t>\r\n\r\n\t\t\t<TagsGroup />\r\n\t\t\t\r\n\t\t\t<view style=\"padding: 6px 12px;\">\r\n\t\t\t\t<OneFeelMK001></OneFeelMK001>\r\n\t\t\t</view>\r\n\t\t\t<view style=\"padding: 6px 12px;\">\r\n\t\t\t\t<OneFeelMK001></OneFeelMK001>\r\n\t\t\t</view>\r\n\t\t\t<view style=\"padding: 6px 12px;\">\r\n\t\t\t\t<OneFeelMK001></OneFeelMK001>\r\n\t\t\t</view>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t <view class=\"area-msg-list-content\" v-for=\"item in chatMsgList\" :key=\"item.msgId\" :id=\"item.msgId\">\r\n\t\t\t\t <template v-if=\"item.msgType === MessageRole.AI\">\r\n\t\t\t\t\t <ChatCardAI class=\"message-item message-item-ai\" :text=\"item.msg\"> \r\n\t\t\t\t\t \t<image v-if=\"item.msgContent && item.msgContent.type === MessageType.IMAGE\" src=\"/static/logo.png\" style=\"width: 100px;height: 100px;\"></image>\r\n\t\t\t\t\t\t<OneFeelMK001></OneFeelMK001>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t </ChatCardAI>\t\t\t \r\n\t\t\t\t </template>\r\n\t\t\t\t \r\n\t\t\t\t <template v-else-if=\"item.msgType === MessageRole.ME\">\r\n\t\t\t\t\t <ChatCardMine class=\"message-item message-item-mine\" :text=\"item.msg\">\r\n\t\t\t\t\t </ChatCardMine> \r\n\t\t\t\t </template>\r\n\t\t\t\t <template v-else>\r\n\t\t\t\t\t <text class=\"message-item message-item-other\">{{item.msg}}</text>\r\n\t\t\t\t </template>\t \r\n\t\t\t </view>\r\n\t\t\t <!-- 底部锚点(用于滚动到底部) -->\r\n\t\t\t <view :id=\"lastMsgId\"></view>\r\n\t\t\t</scroll-view>\r\n\t\t\t\t\r\n\t\t\t<!-- 输入框区域 -->\r\n\t\t\t<view class=\"footer-area\">\r\n\t\t\t\t<ChatMoreTips @replySent=\"handleReply\"></ChatMoreTips>\r\n\t\t\t\t<ChatQuickAccess @replySent=\"handleReply\"></ChatQuickAccess>\r\n\t\t\t\t\r\n\t\t\t\t<view class=\"area-input\">\r\n\t\t\t\t <!-- 发送语音 -->\r\n\t\t\t\t <view class=\"input-container-voice\">\r\n\t\t\t\t \t<image src='/static/input_voice_icon.png'></image>\r\n\t\t\t\t </view>\r\n\t\t\t\t <!-- 输入框 -->\r\n\t\t\t\t <textarea\r\n\t\t\t\t class=\"textarea\"\r\n\t\t\t\t type=\"text\"\r\n\t\t\t\t\tplaceholder=\"快速订票,呼叫服务\"\r\n\t\t\t\t cursor-spacing=\"65\"\r\n\t\t\t\t confirm-type='done'\r\n\t\t\t\t v-model=\"inputMessage\"\r\n\t\t\t\t @confirm=\"sendMessage\"\r\n\t\t\t\t @touchend=\"handleNoHideKeyboard\"\r\n\t\t\t\t :confirm-hold=\"true\"\r\n\t\t\t\t auto-height\r\n\t\t\t\t :show-confirm-bar='false'\r\n\t\t\t\t :hold-keyboard=\"holdKeyboard\"\r\n\t\t\t\t maxlength=\"300\"\r\n\t\t\t\t />\r\n\t\t\t\t <view class=\"input-container-send\" @click=\"sendMessage\">\r\n\t\t\t\t \t<image src='/static/input_send_icon.png'></image>\r\n\t\t\t\t </view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n\timport { onMounted, getCurrentInstance, nextTick } from 'vue'\r\n\timport { ref, watch } from 'vue'\r\n\timport { defineEmits } from 'vue'\r\n\timport { onLoad } from '@dcloudio/uni-app';\r\n\timport ChatTopBanner from './ChatTopBanner.vue';\r\n\timport ChatTopBgImg from './ChatTopBgImg.vue';\r\n\timport ChatTopNavBar from './ChatTopNavBar.vue';\r\n\timport ChatCardAI from './ChatCardAI.vue';\r\n\timport ChatCardMine from './ChatCardMine.vue';\r\n\timport ChatQuickAccess from './ChatQuickAccess.vue';\r\n\timport ChatMoreTips from './ChatMoreTips.vue';\r\n\t\r\n\timport { MessageRole, ChatModel, MessageType } from '../../model/ChatModel';\r\n\t\r\n\timport OneFeelMK001 from '../module/OneFeelMK001.vue';\r\n\timport TagsGroup from '@/components/TagsGroup/index.vue'\r\n\t\r\n\t\r\n\tconst instance = getCurrentInstance(); // 获取当前组件实例\r\n\t\r\n\t// 导航栏相关\r\n\tconst statusBarHeight = ref(20);\r\n\tconst navBgColor = ref('rgba(66, 173, 249, 0)');\r\n\tconst navOpacity = ref(0);\r\n\r\n\tconst timer = ref(null)\r\n\tconst holdKeyboard = ref(false) // focus时,点击页面的时候不收起键盘\r\n\tconst holdLine truncated
{"version":3,"file":"ChatMainList.js","sources":["pages/chat/ChatMainList.vue","C:/Program Files/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovd3d3L1lHQ2hhdENTL3BhZ2VzL2NoYXQvQ2hhdE1haW5MaXN0LnZ1ZQ"],"sourcesContent":["<template>\r\n\t<view class=\"chat-container\" @touchend=\"handleTouchEnd\">\r\n\t\t<!-- 顶部的背景 -->\r\n\t\t<chat-top-bg-img class=\"chat-container-bg\"></chat-top-bg-img>\r\n\t\t\r\n\t\t<!-- 顶部自定义导航栏 -->\r\n\t\t<view class=\"nav-bar-container\" :style=\"{\r\n\t\t paddingTop: statusBarHeight + 'px',\r\n\t\t backgroundColor: navBgColor,\r\n\t\t }\">\r\n\t\t\t<chat-top-nav-bar @openDrawer=\"openDrawer\"></chat-top-nav-bar>\r\n\t\t</view>\r\n\t\t\r\n\t\t<view class=\"chat-container-msg-list\">\r\n\t\t\t<!-- logo栏 -->\r\n\t\t\t<chat-top-banner class=\"chat-container-top-bannar\"></chat-top-banner>\r\n\t\t\t\r\n\t\t\t<!-- 消息列表(可滚动区域) -->\r\n\t\t\t<scroll-view\r\n\t\t\t scroll-y\r\n\t\t\t :scroll-into-view=\"lastMsgId\"\r\n\t\t\t :scroll-with-animation=\"true\"\r\n\t\t\t class=\"area-msg-list\"\r\n\t\t\t>\r\n\t\t\t\r\n\t\t\t<view style=\"padding: 6px 12px;\">\r\n\t\t\t\t<OneFeelMK001></OneFeelMK001>\r\n\t\t\t</view>\r\n\t\t\t<view style=\"padding: 6px 12px;\">\r\n\t\t\t\t<OneFeelMK001></OneFeelMK001>\r\n\t\t\t</view>\r\n\t\t\t<view style=\"padding: 6px 12px;\">\r\n\t\t\t\t<OneFeelMK001></OneFeelMK001>\r\n\t\t\t</view>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t <view class=\"area-msg-list-content\" v-for=\"item in chatMsgList\" :key=\"item.msgId\" :id=\"item.msgId\">\r\n\t\t\t\t <template v-if=\"item.msgType === MessageRole.AI\">\r\n\t\t\t\t\t <ChatCardAI class=\"message-item message-item-ai\" :text=\"item.msg\"> \r\n\t\t\t\t\t \t<image v-if=\"item.msgContent && item.msgContent.type === MessageType.IMAGE\" src=\"/static/logo.png\" style=\"width: 100px;height: 100px;\"></image>\r\n\t\t\t\t\t\t<OneFeelMK001></OneFeelMK001>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t </ChatCardAI>\t\t\t \r\n\t\t\t\t </template>\r\n\t\t\t\t \r\n\t\t\t\t <template v-else-if=\"item.msgType === MessageRole.ME\">\r\n\t\t\t\t\t <ChatCardMine class=\"message-item message-item-mine\" :text=\"item.msg\">\r\n\t\t\t\t\t </ChatCardMine> \r\n\t\t\t\t </template>\r\n\t\t\t\t <template v-else>\r\n\t\t\t\t\t <text class=\"message-item message-item-other\">{{item.msg}}</text>\r\n\t\t\t\t </template>\t \r\n\t\t\t </view>\r\n\t\t\t <!-- 底部锚点(用于滚动到底部) -->\r\n\t\t\t <view :id=\"lastMsgId\"></view>\r\n\t\t\t</scroll-view>\r\n\t\t\t\t\r\n\t\t\t<!-- 输入框区域 -->\r\n\t\t\t<view class=\"footer-area\">\r\n\t\t\t\t<ChatMoreTips @replySent=\"handleReply\"></ChatMoreTips>\r\n\t\t\t\t<ChatQuickAccess @replySent=\"handleReply\"></ChatQuickAccess>\r\n\t\t\t\t\r\n\t\t\t\t<view class=\"area-input\">\r\n\t\t\t\t <!-- 发送语音 -->\r\n\t\t\t\t <view class=\"input-container-voice\">\r\n\t\t\t\t \t<image src='/static/input_voice_icon.png'></image>\r\n\t\t\t\t </view>\r\n\t\t\t\t <!-- 输入框 -->\r\n\t\t\t\t <textarea\r\n\t\t\t\t class=\"textarea\"\r\n\t\t\t\t type=\"text\"\r\n\t\t\t\t\tplaceholder=\"快速订票,呼叫服务\"\r\n\t\t\t\t cursor-spacing=\"65\"\r\n\t\t\t\t confirm-type='done'\r\n\t\t\t\t v-model=\"inputMessage\"\r\n\t\t\t\t @confirm=\"sendMessage\"\r\n\t\t\t\t @touchend=\"handleNoHideKeyboard\"\r\n\t\t\t\t :confirm-hold=\"true\"\r\n\t\t\t\t auto-height\r\n\t\t\t\t :show-confirm-bar='false'\r\n\t\t\t\t :hold-keyboard=\"holdKeyboard\"\r\n\t\t\t\t maxlength=\"300\"\r\n\t\t\t\t />\r\n\t\t\t\t <view class=\"input-container-send\" @click=\"sendMessage\">\r\n\t\t\t\t \t<image src='/static/input_send_icon.png'></image>\r\n\t\t\t\t </view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\t</view>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n\timport { onMounted, getCurrentInstance, nextTick } from 'vue'\r\n\timport { ref, watch } from 'vue'\r\n\timport { defineEmits } from 'vue'\r\n\timport { onLoad } from '@dcloudio/uni-app';\r\n\timport ChatTopBanner from './ChatTopBanner.vue';\r\n\timport ChatTopBgImg from './ChatTopBgImg.vue';\r\n\timport ChatTopNavBar from './ChatTopNavBar.vue';\r\n\timport ChatCardAI from './ChatCardAI.vue';\r\n\timport ChatCardMine from './ChatCardMine.vue';\r\n\timport ChatQuickAccess from './ChatQuickAccess.vue';\r\n\timport ChatMoreTips from './ChatMoreTips.vue';\r\n\t\r\n\timport { MessageRole, ChatModel, MessageType } from '../../model/ChatModel';\r\n\t\r\n\timport OneFeelMK001 from '../module/OneFeelMK001.vue';\r\n\t\r\n\t\r\n\tconst instance = getCurrentInstance(); // 获取当前组件实例\r\n\t\r\n\t// 导航栏相关\r\n\tconst statusBarHeight = ref(20);\r\n\tconst navBgColor = ref('rgba(66, 173, 249, 0)');\r\n\tconst navOpacity = ref(0);\r\n\r\n\tconst timer = ref(null)\r\n\tconst holdKeyboard = ref(false) // focus时,点击页面的时候不收起键盘\r\n\tconst holdKeyboardFlag = ref(true) // 是否在键盘弹出,点击界面时关闭键盘\r\n\t\r\nLine truncated