From fc5832caff5464370dc55470e3408c11c6d6700a Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期二, 29 十月 2024 13:24:15 +0800 Subject: [PATCH] 删除多余的代码 --- src/views/project/ch/home/component/waterRight/center.vue | 155 +++++++++++++++++++++++++++++++++++---------------- 1 files changed, 107 insertions(+), 48 deletions(-) diff --git a/src/views/project/ch/home/component/waterRight/center.vue b/src/views/project/ch/home/component/waterRight/center.vue index e278ee9..089f32c 100644 --- a/src/views/project/ch/home/component/waterRight/center.vue +++ b/src/views/project/ch/home/component/waterRight/center.vue @@ -4,68 +4,96 @@ <div class="flex item-center"> <span>鎻愰棶绀轰緥</span> <span class="split"></span> - <span class="change cursor-pointer">楂樼骇绀轰緥 ></span> + <span class="change cursor-pointer" @click="advanceExampleClick">楂樼骇绀轰緥 ></span> </div> - <div class="cursor-pointer"> + <div class="cursor-pointer" @click="batchChange"> <span class="mr-1 changeBatch">鎹竴鎵�</span> - <i class="iconfont icon-shuaxin"></i> + <i class="myiconfont icon-shuaxin"></i> </div> </div> - <div class="main"> - <div - class="main_item flex items-center cursor-pointer" - v-for="(item, index) in state.exampleContent" - :key="item.ID" - :class="{ main_item_active: item.ID === state.exampleIndex }" - @click="changeExample(item)" - > - <div class="left flex items-center justify-center" :class="['color' + index]"> - <img :src="item.Icon" alt="" /> - </div> - <div class="right"> - <h4>{{ item.Title }}</h4> - <p>{{ item.Content }}</p> - </div> - </div> + <el-carousel height="80" :interval="6000" indicator-position="none"> + <el-carousel-item v-for="(group, index) in state.m_groupArr" :key="index" class="set-carousel-item"> + <div + class="main_item flex items-center cursor-pointer" + v-for="(item, index) in group" + :key="index" + :class="{ main_item_active: item.sample_id === activeSampleId }" + @click="changeExample(item)" + > + <div class="left flex items-center justify-center" :class="['color' + index]"> + <img :src="item.Icon" alt="" /> + </div> + <div class="right"> + <h4>{{ item.sample_title }}</h4> + <p>{{ item.sample_question }}</p> + </div> + </div> + </el-carousel-item> + </el-carousel> </div> </div> </template> <script setup lang="ts"> import { reactive } from 'vue'; +import { activeRoomId, activeSampleId, setRoomConfig } from '/@/stores/chatRoom'; let state = reactive({ - exampleContent: [ - { - ID: 1, - Icon: '/static/images/wave/ChatImg.png', - Title: '瑙h鏉庡洓鐨勫弽搴�', - Content: '寮犱笁鎵撲簡鏉庡洓涓�宸存帉,鏉庡洓瀵瑰紶涓夎:"浣犳槸涓嶆槸娌″悆楗�",鏉庡洓璇磋繖鍙ヨ瘽鍚箟鏄�?', - }, - { - ID: 2, - Icon: '/static/images/wave/ChatImg.png', - Title: '瑙i噴鍔姏涓庡唴鍗风殑鍖哄埆', - Content: '鎬庝箞瑙i噴鍔姏鍜屽唴鍗风殑鍖哄埆?', - }, - { - ID: 3, - Icon: '/static/images/wave/ChatImg.png', - Title: '鍏朵粬闂', - Content: '璇锋悳绱綘鎯崇煡閬撶殑闂', - }, - { - ID: 4, - Icon: '/static/images/wave/ChatImg.png', - Title: '缁欏疂瀹濆彇鏈夋枃鍖栧唴娑电殑鍚嶅瓧', - Content: '璇蜂互璇楃粡涓殑鍏告晠缁欑敺瀹濆疂鍙栧悕锛屽椤撅紝鍚嶅瓧瑕佹眰3涓瓧锛岀粰5涓悕瀛椾緵鎴戦�夋嫨銆�', - }, - ], - exampleIndex: 0, + exampleContent: [], + isShowExample: false, + m_groupArr: [], }); -const changeExample = (item) => { - state.exampleIndex = item.ID; +const emits = defineEmits<{ + (event: 'advanceExampleClick', data): void; + (event: 'updateChatInput', val): void; +}>(); +const props = defineProps(['exampleList']); + +const initGroupedArr = () => { + const groups = []; + let i = 0; + while (state.exampleContent.length > i) { + groups.push(state.exampleContent.slice(i, (i += 4))); + } + + state.m_groupArr = groups; }; + +const changeExample = (item) => { + emits('updateChatInput', item.sample_question); + setRoomConfig(activeRoomId.value, 'isAnswerByLLM', false); + activeSampleId.value = item.sample_id; + // topGroupId.value = item.section_a_id; +}; +//鎹竴鎵� +const batchChange = () => { + let groups = state.m_groupArr; + // 鎵撲贡鎵规椤哄簭 + for (let i = groups.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [groups[i], groups[j]] = [groups[j], groups[i]]; + } + state.m_groupArr = groups; +}; +//鎵撳紑楂樼骇绀轰緥 +const advanceExampleClick = () => { + emits('advanceExampleClick', true); +}; +const tagListClick = (tagList) => { + let result = []; + tagList.forEach((tag) => { + props.exampleList.forEach((sample) => { + if (tag == sample.group_id) { + result.push(sample); + } + }); + }); + state.exampleContent = result; + initGroupedArr(); +}; +defineExpose({ + tagListClick, +}); </script> <style scoped lang="scss"> .pc-prompts { @@ -108,6 +136,7 @@ width: calc(50% - 16px); margin: 8px; padding: 12px; + height: 84px; border: 1px solid #d9dbde; border-radius: 5px; background-color: transparent; @@ -142,6 +171,9 @@ font-weight: 500; height: 16px; transition: background-color 0.2s; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } p { font-size: 12px; @@ -166,6 +198,33 @@ } } } + .set-carousel-item { + display: flex; + flex-wrap: wrap; + } } } + +:deep(.el-drawer__header) { + padding: 30px 20px 26px !important; + box-sizing: border-box; + width: 100%; + background-color: #e0e7fb; + + position: relative; + + height: unset !important; + margin-bottom: unset !important; + border-bottom: unset !important; +} +:deep(.el-drawer__body) { + overflow-x: hidden; +} +:deep(.el-carousel--horizontal) { + width: 100%; +} +:deep(.el-carousel__container) { + width: 100%; + height: 200px !important; +} </style> -- Gitblit v1.9.3