| | |
| | | <div class="w100 h100 overflow-hidden"> |
| | | <div class="pc-chatRoom w100 h100"> |
| | | <div class="homeBox w100 h-full"> |
| | | <div class="flex items-center h-full overflow-hidden"> |
| | | <div class="flex items-center flex-column"> |
| | | <waterTop ref="topRef"/> |
| | | <div class="flex items-center h-full"> |
| | | <div class="flex items-center flex-column" style="overflow: unset !important"> |
| | | <waterTop ref="topRef" /> |
| | | <waterCenter |
| | | @advanceExampleClick="advanceExampleClick" |
| | | :isShowAdvanceExample="state.isShowAdvanceExample" |
| | | ref="waterCenterRef" |
| | | @updateChatInput="updateChatInput" |
| | | :exampleList="exampleList" |
| | | /> |
| | | <waterBottom /> |
| | | <waterBottom @tagListClick="tagListClick" /> |
| | | </div> |
| | | |
| | | <CustomDrawer |
| | | v-model:isShow = "state.isShowAdvanceExample" |
| | | @updateChatInput="updateChatInput" |
| | | /> |
| | | <CustomDrawer v-model:isShow="state.isShowAdvanceExample" ref="customDrawerRef" @updateChatInput="updateChatInput" /> |
| | | </div> |
| | | </div> |
| | | <!-- <p class="declare"> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { reactive, ref } from 'vue'; |
| | | import { onMounted, reactive, ref } from 'vue'; |
| | | import waterBottom from './component/waterRight/bottom.vue'; |
| | | import waterCenter from './component/waterRight/center.vue'; |
| | | import waterTop from './component/waterRight/top.vue'; |
| | | import { exampleSceneList } from '/@/stores/chatRoom'; |
| | | |
| | | import CustomDrawer from '/@/components/drawer/CustomDrawer.vue'; |
| | | let state = reactive({ |
| | | isShowAdvanceExample: false, |
| | | }); |
| | | |
| | | const topRef = ref(null); |
| | | const waterCenterRef = ref(null); |
| | | |
| | | const customDrawerRef = ref(null); |
| | | const exampleList = ref([]); |
| | | const updateChatInput = (val) => { |
| | | topRef.value.updateChatInput(val) |
| | | topRef.value.updateChatInput(val); |
| | | }; |
| | | const advanceExampleClick = (status: boolean) => { |
| | | state.isShowAdvanceExample = status; |
| | | if (status) { |
| | | customDrawerRef.value.getTableData(); |
| | | } |
| | | }; |
| | | |
| | | //获取模版列表 |
| | | const getSelectListSample = async () => { |
| | | exampleList.value = exampleSceneList.value; |
| | | }; |
| | | const tagListClick = (tag) => { |
| | | isFinishPromise?.then(() => { |
| | | waterCenterRef.value.tagListClick(tag); |
| | | }); |
| | | }; |
| | | let isFinishPromise = null; |
| | | onMounted(() => { |
| | | isFinishPromise = new Promise(async (resolve) => { |
| | | await getSelectListSample(); |
| | | resolve(true); |
| | | }); |
| | | }); |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .pc-chat_room { |
| | |
| | | .homeBox { |
| | | font-size: 14px; |
| | | line-height: 18px; |
| | | overflow-y: auto; |
| | | } |
| | | .declare { |
| | | position: absolute; |