import { ref, computed, reactive } from 'vue' import { defineStore } from 'pinia' type Menu = { menuCode: string menuName: string } export default defineStore('ChatAiStore', () => { const currentTabName = ref('chat') const activeMenu = ref({ menuCode: '', menuName: '' }) const pageInfo = ref({}) // 最后操作的表格实例 const pageRef = ref(null) const pageData = ref([]) function setCurrentTabName(name: string) { currentTabName.value = name } function getCurrentTabName() { return currentTabName.value } function setPageInfoToChatStore(menuCode: string, info: any) { pageInfo.value[menuCode] = info } function getPageInfo(menuCode: string) { return pageInfo.value[menuCode] || null } function getActiveMenuPageInfo() { return pageInfo.value[activeMenu.value.menuCode] || null } function setPageData(newSelection: any[]) { pageData.value = JSON.parse(JSON.stringify(newSelection)) } function getPageData() { return pageData.value } function clearPageData() { pageData.value = [] } function setActiveMenu(menu: any) { activeMenu.value = menu } function getActiveMenu() { return activeMenu.value } function addListRef(menuCode: string, listRef: any) { const info = getPageInfo(menuCode) || {} info.subTableRefs = info.listRefs || [] info.subTableRefs[listRef.tableName] = { ref: listRef } } function getPageType() {} return { setCurrentTabName, getCurrentTabName, setPageData, getPageData, clearPageData, getActiveMenu, setActiveMenu, getPageType, setPageInfoToChatStore, getPageInfo, getActiveMenuPageInfo, pageData, activeMenu, addListRef } })