From 185e11aaef26fe6691e9b3cfa4d300093332e96c Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期四, 18 七月 2024 11:46:09 +0800
Subject: [PATCH] 无权限获取首页两个东西

---
 src/views/project/ch/home/component/waterRight/top.vue |  148 ++++++++++++++++++++++++++++---------------------
 1 files changed, 84 insertions(+), 64 deletions(-)

diff --git a/src/views/project/ch/home/component/waterRight/top.vue b/src/views/project/ch/home/component/waterRight/top.vue
index ab63246..9f4e757 100644
--- a/src/views/project/ch/home/component/waterRight/top.vue
+++ b/src/views/project/ch/home/component/waterRight/top.vue
@@ -4,82 +4,102 @@
 		<p class="set-waterTitle"><strong>WI 姘村姟鏅鸿兘涓撳</strong>鏅烘収姘村姟鍔╂墜</p>
 	</div>
 	<div class="flex items-center pc-roleList">
-		<div v-for="(item, index) in state.roleList" :key="index" class="flex items-center pl-6" @click="handleClick(item)">
-			<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 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>
 		</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> -->
 	</div>
-	<div class="playInput hl_input">
-		<div class="assembly flex">
-			<el-button title="鎻掍欢鑿滃崟" class="label flex items-center cursor-pointer" link>
-				<img src="/static/images/wave/PlugIn.png" class="set-icon box-border" />
-			</el-button>
-		</div>
-		<div class="set-input">
-			<el-input v-model="state.inputAnswer" placeholder="鍦ㄨ繖閲岃緭鍏ユ偍鐨勯棶棰樺紑濮嬪拰AI瀵硅瘽" class="set-inputAnswer" />
-		</div>
-		<div class="h100 flex items-center">
-			<div class="upload_img space-y">
-				<div class="imgbox cursor-pointer flex items-center">
-					<el-button title="AI鐪嬪浘" class="cursor-pointer" link style="margin-left: unset">
-						<img src="/static/images/wave/LookImg.png" class="set-img-icon box-border" />
-					</el-button>
-					<el-button title="AI璇煶瀵硅瘽" class="cursor-pointer" link style="margin-left: unset">
-						<img src="/static/images/wave/HeadImg.png" class="set-img-icon box-border" />
-					</el-button>
-
-					<el-button title="AI鐪嬪浘" class="cursor-pointer" link>
-						<div class="send">
-							<img src="/static/images/wave/QueryImg.png" />
-						</div>
-					</el-button>
-				</div>
-			</div>
-		</div>
-	</div>
+	<PlayBar v-model="inputValue" @send-click="sendClick" />
 </template>
 
 <script setup lang="ts">
-import { reactive } from 'vue';
-let state = reactive({
-	roleList: [
-		{
-			ID: 1,
-			Icon: '/static/images/wave/Glm.jpg',
-			Title: '姘村姟GLM',
-			Content: '浣跨敤鏈�涓哄箍娉涚殑鐭ュ悕AI妯″瀷锛屽搷搴旈�熷害蹇紝鏅鸿兘鍖栫▼搴﹂珮锛屾搮闀垮棰嗗煙闂瑙e喅锛屽寘鎷垱浣溿�佺炕璇戙�佸璇鐧剧鐭ヨ瘑銆佹暟瀛﹂棶棰樼瓑銆�',
+import { ElMessage } from 'element-plus';
+import { onMounted, 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, activeLLMId, activeSectionAId } from '/@/stores/chatRoom';
+import emitter from '/@/utils/mitt';
+import { handleNormalAuth } from '/@/utils/request';
+const emits = defineEmits(['sendClick']);
+const inputValue = ref('浣犳槸璋侊紵');
+
+const sendClick = async () => {
+	if (!inputValue.value) 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,
 		},
-		{
-			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,
-	inputAnswer: '',
-});
-const handleClick = (item) => {
-	state.activeRole = item.id;
+	});
 };
+
+const llmList = ref([]);
+const iconList = ['/static/images/wave/Glm.jpg', '/static/images/wave/Glm.jpg', '/static/images/wave/Glm.jpg'];
+const getLLMList = async () => {
+	const res = await GetLLMList();
+
+	const resData = (res?.llm_list || []) as any[];
+	llmList.value = resData.map((item, index) => ({
+		get logicId() {
+			return this.logicModel.id;
+		},
+		get logicTitle() {
+			return this.logicModel.title;
+		},
+		icon: iconList[index],
+		logicModel: {
+			...item,
+		},
+	}));
+	const first = llmList.value?.[0];
+	first && setLLm(first.logicId);
+};
+
+const setLLm = async (llmId: string) => {
+	// const res = await SetLLM({
+	// 	llm: llmId,
+	// });
+	activeLLMId.value = llmId;
+
+	return true;
+};
+const handleClick = (item) => {
+	setLLm(item.logicId);
+};
+
+onMounted(() => {
+	// getLLMList();
+	emitter.on('updateChatInput', (value) => {
+		inputValue.value = value;
+	});
+});
 </script>
 <style scoped lang="scss">
 .set-waterTitle {

--
Gitblit v1.9.3