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