import { initData } from '@/common/methods'; import APP from '@/services'; import { OperationTabMenu, OperationTabMenuAuth } from '@/services/go/commonService/interface'; import { ref } from 'vue'; // 单据菜单数据 const orderList = ref([]) // 选中的具体tab下的数据 const recordItemTab = ref([]) const isBottom = ref(false) // 处理页面下半部分数据 export function handleOrderData() { const componentId = ref() initData(() => { const menuList = APP.getRef('menus'); const findResult = menuList.value.find((e: OperationTabMenu) => e.code === 'bottom'); if (findResult) { isBottom.value = true const list = findResult.children; orderList.value = list if (list.length) { componentId.value = list[0].code } } }); return { isBottom, orderList, componentId } } export function getHasBottom() { return isBottom } // 根据 code 获取单据对应子菜单配置数据 export function handleOrderDetailList(code: string) { // 选中的组件,默认第一个 const componentId = ref() const tabList = ref([]) // 过滤,获取当前tab页配置数据 function filerAction() { const temp = orderList.value.find(e => e.code === code) if (temp) { tabList.value = temp.children // 判断是否有底部切换菜单 if (temp.children.length) { const { code, auth } = temp.children[0] recordItemTab.value = auth ?? [] componentId.value = code } } } // 切换tab组件 function changeTab(index: number, item: OperationTabMenu) { recordItemTab.value = item.auth ?? [] console.log('当前底部组件名:', item.code) componentId.value = item.code } filerAction() return { tabList, componentId, changeTab } } export function getRecordItemTab(): OperationTabMenuAuth[] { return recordItemTab.value }