From bc4ab46fb5c4cb4435efabfe4b316be4ace5b026 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期一, 22 七月 2024 15:31:04 +0800
Subject: [PATCH] 修改 customDrawer

---
 src/views/project/ch/home/Home.vue                        |   24 +----------
 src/components/drawer/CustomDrawer.vue                    |   60 +++++++++++++++++++++--------
 src/stores/chatRoom.ts                                    |    7 +++
 src/views/project/ch/home/component/waterRight/bottom.vue |    4 +-
 4 files changed, 55 insertions(+), 40 deletions(-)

diff --git a/src/components/drawer/CustomDrawer.vue b/src/components/drawer/CustomDrawer.vue
index 14482cf..d319f8b 100644
--- a/src/components/drawer/CustomDrawer.vue
+++ b/src/components/drawer/CustomDrawer.vue
@@ -30,13 +30,13 @@
 						<el-input v-model="queryParams.sample_title" placeholder="鎼滅储鏇村" class="set-input" :prefix-icon="Search" clearable>
 						</el-input>
 					</div>
-					<div class="mt20 w100 relative" v-show="customTagList.length > 0">
+					<div class="mt20 w100 relative" v-show="state.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 customTagList"
+								v-for="item in state.customTagList"
 								:key="item.section_id"
 								:class="{ 'set-label-active': state.activeLabelName === item.section_id }"
 								@click="handleLabelClick(item)"
@@ -77,13 +77,13 @@
 						<el-input v-model="instructParams.template_title" placeholder="鎼滅储鏇村" class="set-input" :prefix-icon="Search" clearable>
 						</el-input>
 					</div>
-					<div class="mt20 w100 relative" v-show="customOfficeList.length > 0">
+					<div class="mt20 w100 relative" v-show="state.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 customOfficeList"
+								v-for="item in state.customOfficeList"
 								:key="item.section_id"
 								:class="{ 'set-label-active': state.activeInstructName === item.section_id }"
 								@click="handleInstructClick(item)"
@@ -132,8 +132,9 @@
 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';
+import { activeRoomId, activeSampleId, sectionAList, setRoomConfig } from '/@/stores/chatRoom';
 import { debounce } from '/@/utils/util';
+import emitter from '/@/utils/mitt';
 let state = reactive({
 	tabNameList: [
 		{ ID: 1, Name: '鎻愰棶绀轰緥' },
@@ -154,6 +155,8 @@
 	listInstructLoading: false,
 	listSampleExpand: false,
 	listInstructExpand: false,
+	customTagList: [],
+	customOfficeList: [],
 });
 const instructContentList = ref([]); //鎸囦护鍒楄〃
 const exampleList = ref([]); //绀轰緥鍒楄〃
@@ -161,20 +164,9 @@
 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(() => {});
 
 //鑾峰彇妯$増鍒楄〃
 const getSelectListSample = async () => {
@@ -306,6 +298,40 @@
 	}
 );
 //#endregion
+
+//#region ====================== 鑾峰彇tag ======================
+
+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 = [];
+	}
+};
+
+watch(
+	() => sectionAList.value,
+	(val) => {
+		tagListClick(val);
+	},
+	{
+		immediate: true,
+	}
+);
+
+//#endregion
+
 defineExpose({ getTableData });
 </script>
 <style scoped lang="scss">
diff --git a/src/stores/chatRoom.ts b/src/stores/chatRoom.ts
index c947009..2c94b02 100644
--- a/src/stores/chatRoom.ts
+++ b/src/stores/chatRoom.ts
@@ -42,3 +42,10 @@
 export const activeSampleId = ref(null);
 export const activeSectionAId = ref(null);
 export const activeLLMId = ref(null);
+
+
+
+/**
+ * 鍏ㄥ眬浣跨敤鐨� ref
+ */
+export const sectionAList = ref([]);
\ No newline at end of file
diff --git a/src/views/project/ch/home/Home.vue b/src/views/project/ch/home/Home.vue
index c94aabe..acec42b 100644
--- a/src/views/project/ch/home/Home.vue
+++ b/src/views/project/ch/home/Home.vue
@@ -14,7 +14,7 @@
 										ref="waterCenterRef"
 										@updateChatInput="updateChatInput"
 									/>
-									<waterBottom @tagListClick="tagListClick" />
+									<waterBottom  />
 								</div>
 
 								<CustomDrawer
@@ -46,8 +46,7 @@
 import CustomDrawer from '/@/components/drawer/CustomDrawer.vue';
 let state = reactive({
 	isShowAdvanceExample: false,
-	customTagList: [],
-	customOfficeList: [],
+
 });
 
 const topRef = ref(null);
@@ -62,24 +61,7 @@
 		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 cb72e7f..3be8ae6 100644
--- a/src/views/project/ch/home/component/waterRight/bottom.vue
+++ b/src/views/project/ch/home/component/waterRight/bottom.vue
@@ -57,7 +57,7 @@
 import { computed, onMounted, reactive } from 'vue';
 import { getSectionList } from '/@/api/ai/chat';
 import router from '/@/router';
-import { activeRoomId, activeSectionAId, setRoomConfig } from '/@/stores/chatRoom';
+import { activeRoomId, activeSectionAId, setRoomConfig, sectionAList } from '/@/stores/chatRoom';
 
 let state = reactive({
 	applicationScenarios: [],
@@ -88,7 +88,7 @@
 		sectionItem.Icon = iconList[index];
 	});
 	state.applicationScenarios = res.sections;
-	emits('tagListClick', res.sections);
+	sectionAList.value = res.sections;
 	res.sections?.[0] && changeScenarios(res.sections[0]);
 };
 const groupedArray = computed(() => {

--
Gitblit v1.9.3