| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { computed, reactive, ref, watch } from 'vue'; |
| | | import { getSectionList } from '/@/api/ai/chat'; |
| | | import router from '/@/router'; |
| | | import { activeGroupType, sceneGroupList, sectionAList, topGroupId } from '/@/stores/chatRoom'; |
| | | import { computed, reactive, ref } from 'vue'; |
| | | import { activeGroupType, sceneGroupList, topGroupId } from '/@/stores/chatRoom'; |
| | | let state = reactive({ |
| | | applicationScenarios: [], |
| | | scenariosIds: [], |
| | |
| | | return iconList.value[index % iconCount]; |
| | | }; |
| | | const getMainSectionList = async () => { |
| | | const res = await getSectionList(); |
| | | let result = []; |
| | | sceneGroupList.value.forEach((sectionItem, index) => { |
| | | await sceneGroupList.value.forEach((sectionItem, index) => { |
| | | sectionItem.Icon = getIconByIndex(index); |
| | | if (activeGroupType.value == sectionItem.group_type) { |
| | | result.push(sectionItem); |
| | | } |
| | | }); |
| | | state.applicationScenarios = result; |
| | | sectionAList.value = sceneGroupList.value; |
| | | result?.[0] && changeScenarios(result[0]); |
| | | }; |
| | | const groupedArray = computed(() => { |
| | |
| | | } |
| | | return groups; |
| | | }); |
| | | |
| | | // 查看更多 |
| | | const lookMore = () => { |
| | | router.push({ |
| | | name: 'Scenario', |
| | | query: { |
| | | ID: topGroupId.value, |
| | | }, |
| | | }); |
| | | }; |
| | | watch( |
| | | () => activeGroupType.value, |
| | | () => { |
| | | getMainSectionList(); |
| | | }, |
| | | { immediate: true } |
| | | ); |
| | | defineExpose({ |
| | | getMainSectionList, |
| | | }); |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .pc-scenes { |
| | |
| | | &_item { |
| | | width: 50%; |
| | | border-radius: 5px; |
| | | max-height: 100px; |
| | | height: 100px; |
| | | padding: 18px 12px; |
| | | -webkit-transition: background-color 0.1s ease-in-out; |
| | | -o-transition: background-color 0.1s ease-in-out; |