From 7166af32bfa8638c93fb5c655e1404746e1d503e Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期一, 22 七月 2024 13:51:38 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/WI/Web.V1.0

---
 src/views/project/ch/home/Home.vue                        |   30 +++++++++
 src/components/drawer/CustomDrawer.vue                    |  108 ++++++++---------------------------
 src/views/project/ch/home/component/waterRight/bottom.vue |    4 +
 3 files changed, 58 insertions(+), 84 deletions(-)

diff --git a/src/components/drawer/CustomDrawer.vue b/src/components/drawer/CustomDrawer.vue
index a7bd177..14482cf 100644
--- a/src/components/drawer/CustomDrawer.vue
+++ b/src/components/drawer/CustomDrawer.vue
@@ -30,19 +30,19 @@
 						<el-input v-model="queryParams.sample_title" placeholder="鎼滅储鏇村" class="set-input" :prefix-icon="Search" clearable>
 						</el-input>
 					</div>
-					<div class="mt20 w100 relative">
+					<div class="mt20 w100 relative" v-show="customTagList.length > 0">
 						<div
 							class="overflow-hidden max-h-[36px] transition-[max-height 0.2s] w100 flex flex-wrap text-xs leading-[14px] m-[-5px]"
 							:class="{ 'set-expand-active': state.isShowExpand }"
 						>
 							<div
-								v-for="item in state.exampleTabList"
-								:key="item.ID"
-								:class="{ 'set-label-active': state.activeLabelName === item.ID }"
+								v-for="item in customTagList"
+								:key="item.section_id"
+								:class="{ 'set-label-active': state.activeLabelName === item.section_id }"
 								@click="handleLabelClick(item)"
 								class="cursor-pointer m-[5px] py-[5px] px-[10px] rounded-xl border border-solid border-[#b2b2b2] bg-[#e0e7f] text-[#4c4c4c] transition-[background-color .1s, color .1s, border-color .1s]"
 							>
-								{{ item.Title }}
+								{{ item.section_name }}
 							</div>
 						</div>
 						<div class="bg-[#e0e7fb] absolute right-0 top-0 text-[#131313] w-[30px] h-[26px] cursor-pointer flex items-center">
@@ -77,19 +77,19 @@
 						<el-input v-model="instructParams.template_title" placeholder="鎼滅储鏇村" class="set-input" :prefix-icon="Search" clearable>
 						</el-input>
 					</div>
-					<div class="mt20 w100 relative">
+					<div class="mt20 w100 relative" v-show="customOfficeList.length > 0">
 						<div
 							class="overflow-hidden max-h-[36px] transition-[max-height 0.2s] w100 flex flex-wrap text-xs leading-[14px] m-[-5px]"
 							:class="{ 'set-expand-active': state.isShowExpand }"
 						>
 							<div
-								v-for="item in state.instructList"
-								:key="item.ID"
-								:class="{ 'set-label-active': state.activeInstructName === item.ID }"
+								v-for="item in customOfficeList"
+								:key="item.section_id"
+								:class="{ 'set-label-active': state.activeInstructName === item.section_id }"
 								@click="handleInstructClick(item)"
 								class="cursor-pointer m-[5px] py-[5px] px-[10px] rounded-xl border border-solid border-[#b2b2b2] bg-[#e0e7f] text-[#4c4c4c] transition-[background-color .1s, color .1s, border-color .1s]"
 							>
-								{{ item.Title }}
+								{{ item.section_name }}
 							</div>
 						</div>
 						<div class="bg-[#e0e7fb] absolute right-0 top-0 text-[#131313] w-[30px] h-[26px] cursor-pointer flex items-center">
@@ -129,7 +129,7 @@
 
 <script setup lang="ts">
 import { Search } from '@element-plus/icons-vue';
-import { computed, onMounted, reactive, ref, watch } from 'vue';
+import { computed, onMounted, reactive, ref, toRefs, watch } from 'vue';
 import { getSelectSample, getUserTemplateList } from '/@/api/ai/chat';
 import { useSearch } from '/@/hooks/useSearch';
 import { activeRoomId, activeSampleId, setRoomConfig } from '/@/stores/chatRoom';
@@ -140,74 +140,8 @@
 		{ ID: 2, Name: '鎸囦护妯℃澘' },
 	],
 	activeName: 1,
-	exampleTabList: [
-		{
-			ID: 1,
-			Title: '宸ヤ綔',
-		},
-		{
-			ID: 2,
-			Title: '鑱屽満',
-		},
-		{
-			ID: 3,
-			Title: '绉戝',
-		},
-		{
-			ID: 4,
-			Title: '姹傝亴',
-		},
-		{
-			ID: 5,
-			Title: '鏂拌兘婧�,姹借溅,鏁版嵁',
-		},
-		{
-			ID: 6,
-			Title: '鍐欎綔',
-		},
-		{
-			ID: 7,
-			Title: '瀛︿範',
-		},
-		{
-			ID: 8,
-			Title: '鍒涗綔',
-		},
-	],
-	instructList: [
-		{
-			ID: 1,
-			Title: '鏂囧鏋勬��',
-		},
-		{
-			ID: 2,
-			Title: '璇█缈昏瘧',
-		},
-		{
-			ID: 3,
-			Title: '楂樻晥绛栧垝',
-		},
-		{
-			ID: 4,
-			Title: '椤鹃棶涓撳',
-		},
-		{
-			ID: 5,
-			Title: '浠g爜缂栫▼',
-		},
-		{
-			ID: 6,
-			Title: '鍔炲叕鍐欎綔',
-		},
-		{
-			ID: 7,
-			Title: '鍋ュ悍绠″',
-		},
-		{
-			ID: 8,
-			Title: '鍙戠幇鎺㈢储',
-		},
-	],
+	exampleTabList: [],
+	instructList: [],
 	activeLabelName: 0,
 	activeInstructName: 0,
 	isShowExpand: false,
@@ -227,7 +161,17 @@
 const isShow = defineModel('isShow', {
 	type: Boolean,
 });
-
+const props = defineProps({
+	customTagList: {
+		type: Array,
+		default: () => [],
+	},
+	customOfficeList: {
+		type: Array,
+		default: () => [],
+	},
+});
+let { customTagList, customOfficeList } = toRefs(props);
 const emit = defineEmits(['updateChatInput']);
 const rightBox = computed(() => (isShow.value ? 354 : 0));
 onMounted(() => {});
@@ -281,11 +225,11 @@
 };
 //鏍囩鐐瑰嚮浜嬩欢(鎻愰棶绀轰緥)
 const handleLabelClick = (item) => {
-	state.activeLabelName = item.ID;
+	state.activeLabelName = item.section_id;
 };
 //鏍囩鐐瑰嚮浜嬩欢(鎸囦护妯℃澘)
 const handleInstructClick = (item) => {
-	state.activeInstructName = item.ID;
+	state.activeInstructName = item.section_id;
 };
 
 //灞曞紑鏀惰捣
diff --git a/src/views/project/ch/home/Home.vue b/src/views/project/ch/home/Home.vue
index e041074..c94aabe 100644
--- a/src/views/project/ch/home/Home.vue
+++ b/src/views/project/ch/home/Home.vue
@@ -14,10 +14,16 @@
 										ref="waterCenterRef"
 										@updateChatInput="updateChatInput"
 									/>
-									<waterBottom />
+									<waterBottom @tagListClick="tagListClick" />
 								</div>
 
-								<CustomDrawer v-model:isShow="state.isShowAdvanceExample" ref="customDrawerrRef" @updateChatInput="updateChatInput" />
+								<CustomDrawer
+									v-model:isShow="state.isShowAdvanceExample"
+									ref="customDrawerrRef"
+									@updateChatInput="updateChatInput"
+									:customTagList="state.customTagList"
+									:customOfficeList="state.customOfficeList"
+								/>
 							</div>
 						</div>
 						<!-- <p class="declare">
@@ -40,6 +46,8 @@
 import CustomDrawer from '/@/components/drawer/CustomDrawer.vue';
 let state = reactive({
 	isShowAdvanceExample: false,
+	customTagList: [],
+	customOfficeList: [],
 });
 
 const topRef = ref(null);
@@ -54,6 +62,24 @@
 		customDrawerrRef.value.getTableData();
 	}
 };
+const tagListClick = (val) => {
+	if (val.length > 0) {
+		const selectTagList = [];
+		const officeList = [];
+		val.forEach((item) => {
+			if (item.section_id != 'office_assistant') {
+				selectTagList.push(item);
+			} else {
+				officeList.push(item);
+			}
+		});
+		state.customTagList = selectTagList;
+		state.customOfficeList = officeList;
+	} else {
+		state.customTagList = [];
+		state.customOfficeList = [];
+	}
+};
 </script>
 <style scoped lang="scss">
 .pc-chat_room {
diff --git a/src/views/project/ch/home/component/waterRight/bottom.vue b/src/views/project/ch/home/component/waterRight/bottom.vue
index a92e7aa..cb72e7f 100644
--- a/src/views/project/ch/home/component/waterRight/bottom.vue
+++ b/src/views/project/ch/home/component/waterRight/bottom.vue
@@ -63,6 +63,9 @@
 	applicationScenarios: [],
 	scenariosIds: [],
 });
+const emits = defineEmits<{
+	(event: 'tagListClick', data): void;
+}>();
 const changeScenarios = async (item) => {
 	activeSectionAId.value = item.section_id;
 	setRoomConfig(activeRoomId.value, 'isAnswerByLLM', false);
@@ -85,6 +88,7 @@
 		sectionItem.Icon = iconList[index];
 	});
 	state.applicationScenarios = res.sections;
+	emits('tagListClick', res.sections);
 	res.sections?.[0] && changeScenarios(res.sections[0]);
 };
 const groupedArray = computed(() => {

--
Gitblit v1.9.3