| | |
| | | <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)" |
| | |
| | | <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)" |
| | |
| | | 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: '提问示例' }, |
| | |
| | | listInstructLoading: false, |
| | | listSampleExpand: false, |
| | | listInstructExpand: false, |
| | | customTagList: [], |
| | | customOfficeList: [], |
| | | }); |
| | | const instructContentList = ref([]); //指令列表 |
| | | const exampleList = ref([]); //示例列表 |
| | |
| | | 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 () => { |
| | |
| | | } |
| | | ); |
| | | //#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"> |