From 5d7b63225ca327aee2650fd6d36c3a7fc8f11cf1 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期一, 28 十月 2024 15:40:51 +0800 Subject: [PATCH] Merge branch 'test' of http://47.103.154.90:83/r/WI/Web.V1.0 into test --- src/views/project/ch/home/component/waterRight/top.vue | 176 ++++++++++++++-------------------------------------------- 1 files changed, 43 insertions(+), 133 deletions(-) diff --git a/src/views/project/ch/home/component/waterRight/top.vue b/src/views/project/ch/home/component/waterRight/top.vue index d261cee..440d8fe 100644 --- a/src/views/project/ch/home/component/waterRight/top.vue +++ b/src/views/project/ch/home/component/waterRight/top.vue @@ -1,74 +1,52 @@ <template> <div class="flex items-center"> - <img src="/static/images/logo/logo-mini.svg" alt="logo" class="layout-logo-medium-img" /> - <p class="set-waterTitle"><strong>WI 姘村姟鏅鸿兘涓撳</strong>鏅烘収姘村姟鍔╂墜</p> + <img src="/static/images/logo/logoWithNoName.png" alt="logo" class="layout-logo-medium-img" /> + <p class="set-waterTitle"><strong>WI 姘村姟鏅鸿兘绠″</strong>鏅烘収姘村姟鍔╂墜</p> </div> - <div class="flex items-center pc-roleList"> - <div v-for="(item, index) in llmList" :key="item.logicId" class="flex items-center pl-6" @click="handleClick(item)"> - <div class="modelItem cursor-pointer flex items-center" :class="{ modelItemActive: item.logicId === activeLLMId }"> - <img :src="item.icon" alt="icon" class="set-icon box-border" /> - <span>{{ item.logicTitle }}</span> - </div> - <!-- <el-tooltip :content="item.Content" placement="top" effect="light" popper-class="my-pop"> - <div class="modelItem cursor-pointer flex items-center " :class="{ modelItemActive: item.ID === state.activeRole }"> - <img :src="item.Icon" alt="icon" class="set-icon box-border" /> - <span>{{ item.Title }}</span> - </div> - </el-tooltip> --> - </div> - <div class="flex items-center cursor-pointer pl-5"> - <div class="modelItem cursor-pointer flex items-center"> - <img src="/static/images/wave/More.png" alt="icon" class="set-icon-more box-border" /> - <span>鏇村</span> - </div> - </div> - </div> - <PlayBar v-model="inputValue" @send-click="sendClick" /> + <div class="flex items-center pc-roleList"></div> + <PlayBar v-model="inputValue" @send-click="sendClick" :is-home="true" /> </template> <script setup lang="ts"> -import { onMounted, reactive, ref } from 'vue'; -import { GetLLMList, SetLLM } from '/@/api/ai/chat'; +import { ElMessage } from 'element-plus'; +import { ref } from 'vue'; +import { GetLLMList, setHistoryGroupTitle } from '/@/api/ai/chat'; import PlayBar from '/@/components/chat/components/playBar/PlayBar.vue'; import router from '/@/router'; -import { activeChatRoom } from '/@/stores/chatRoom'; -const emits = defineEmits(['sendClick']); -const inputValue = ref(''); +import { activeChatRoom, activeLLMId, activeSectionAId } from '/@/stores/chatRoom'; +import { handleNormalAuth } from '/@/utils/request'; -const sendClick = () => { - if (!inputValue.value) return; +const emits = defineEmits(['sendClick']); +const inputValue = ref('鏂板缓瀵硅瘽寮�濮�'); + +const sendClick = async (cb) => { + if (!inputValue.value.trim()) return; + if (!activeSectionAId.value) { + ElMessage.warning('璇烽�夋嫨搴旂敤鍦烘櫙'); + return; + } + if (!handleNormalAuth()) { + return; + } + + const res = await setHistoryGroupTitle({ + history_group_id: activeChatRoom.value.id, + title: inputValue.value, + }); + if (!res.json_ok) { + return ElMessage.error('淇敼鑱婂ぉ瀹ゅ悕绉板け璐�'); + } + activeChatRoom.value.title = inputValue.value; + activeChatRoom.value.isInitial = false; router.push({ name: 'AskAnswer', + query: { + id: activeChatRoom.value.id, + }, }); }; -let state = reactive({ - roleList: [ - { - ID: 1, - Icon: '/static/images/wave/Glm.jpg', - Title: '姘村姟GLM', - Content: '浣跨敤鏈�涓哄箍娉涚殑鐭ュ悕AI妯″瀷锛屽搷搴旈�熷害蹇紝鏅鸿兘鍖栫▼搴﹂珮锛屾搮闀垮棰嗗煙闂瑙e喅锛屽寘鎷垱浣溿�佺炕璇戙�佸璇鐧剧鐭ヨ瘑銆佹暟瀛﹂棶棰樼瓑銆�', - }, - { - ID: 2, - Icon: '/static/images/wave/Glm.jpg', - Title: '姘村姟-3.5', - Content: - '鐩墠涓氱晫鏈�寮哄ぇ鐨勬ā鍨嬶紝鍦ㄩ渶瑕侀珮绾ф帹鐞嗐�佹繁搴︽寚浠ょ悊瑙e拰鏇村叿鍒涢�犲姏鐨勪换鍔′腑锛岃〃鐜版瘮鍏朵粬妯″瀷鏇村己锛屼緥濡傚鏉傜殑鏂囨湰鍜岄�昏緫鍒嗘瀽銆佸鏉傜殑鏁板闂绛夈��', - }, - { - ID: 3, - Icon: '/static/images/wave/Glm.jpg', - Title: '姘村姟-4.0', - Content: - '鐩墠涓氱晫鏈�寮哄ぇ鐨勬ā鍨嬶紝鍦ㄩ渶瑕侀珮绾ф帹鐞嗐�佹繁搴︽寚浠ょ悊瑙e拰鏇村叿鍒涢�犲姏鐨勪换鍔′腑锛岃〃鐜版瘮鍏朵粬妯″瀷鏇村己锛屼緥濡傚鏉傜殑鏂囨湰鍜岄�昏緫鍒嗘瀽銆佸鏉傜殑鏁板闂绛夈��', - }, - ], - activeRole: 0, -}); -const activeLLMId = ref(); const llmList = ref([]); const iconList = ['/static/images/wave/Glm.jpg', '/static/images/wave/Glm.jpg', '/static/images/wave/Glm.jpg']; const getLLMList = async () => { @@ -92,10 +70,9 @@ }; const setLLm = async (llmId: string) => { - - const res = await SetLLM({ - llm: llmId, - }); + // const res = await SetLLM({ + // llm: llmId, + // }); activeLLMId.value = llmId; return true; @@ -104,8 +81,12 @@ setLLm(item.logicId); }; -onMounted(() => { - getLLMList(); +const updateChatInput = (val) => { + inputValue.value = val; +}; + +defineExpose({ + updateChatInput, }); </script> <style scoped lang="scss"> @@ -157,77 +138,6 @@ background-color: #1c86ff; border-color: #1c86ff; color: #fff; -} -.playInput { - align-items: flex-start; - width: 760px; - position: relative; - padding: 4px 4px 4px 12px; - - display: flex; - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 22px; - border: 1px solid #00000030; - -webkit-box-shadow: 0 0 0 1px transparent, 0 3px 16px 0 #dee0f3; - box-shadow: 0 0 0 1px transparent, 0 3px 16px 0 #dee0f3; - -webkit-transition: border-color 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out; - transition: border-color 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out; - -o-transition: border-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out; - transition: border-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out; - transition: border-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out; - background-color: #fff; - .assembly { - position: relative; - align-self: flex-end; - margin-right: 12px; - .label { - height: 38px; - } - } - .set-input { - position: relative; - vertical-align: bottom; - font-size: 14px; - display: inline-block; - width: 100%; - .set-inputAnswer { - min-height: 36px; - height: 36px; - padding: 3px 0; - line-height: 20px; - border: none; - background-color: transparent; - color: #333; - font-size: 15px; - } - :deep(.el-input__wrapper) { - box-shadow: unset; - } - } - .upload_img { - .imgbox { - height: 38px; - .set-img-icon { - width: 38px; - height: 38px; - border-radius: 5px; - transition: background-color 0.1s ease-in-out; - } - .send { - width: 36px; - height: 36px; - border-radius: 50%; - background-color: #2c1e1d; - img { - margin: 4px 0 0 -2px; - } - } - } - } } </style> <style lang="scss"> -- Gitblit v1.9.3