import { useMessage } from '@/hooks/web/useMessage'; import { useUserStore } from '@/store/modules/user'; // utils.ts let c_formModalVisible: Boolean = false; let c_isUpdate = true; let c_isDetail = true; let c_getTitle = ''; let c_primaryQuery = ''; let c_addQuery: any = []; let c_formColumns: any = []; let c_tabsColumns: any = []; let c_flowCode = ''; let c_formData = {}; let c_subTableId = null; let c_subTableColumns: any = []; let c_subTableData: any = []; let c_subTableList: any = []; let c_scrollValue = ''; let c_cardLayout: any = []; let c_createOrModifyList: any = []; let c_buttonLayout: any = []; const { createMessage } = useMessage(); const userStore = useUserStore(); const userInfo: any = userStore.getUserInfo; // 通过field获取组件 function getComponentByFiled(data: string): any { return c_formColumns.find(item => item.field === data); }; export const utils = { setCallModalData: function setCallModalData(data: any) { c_formModalVisible = data.formModalVisible.value; c_isUpdate = data.isUpdate.value; c_isDetail = data.isDetail.value; c_getTitle = data.getTitle.value; c_primaryQuery = data.primaryQuery.value; c_addQuery = data.addQuery.value; c_formColumns = data.formColumns.value; c_tabsColumns = data.tabsColumns.value; c_flowCode = data.flowCode.value; c_formData = data.formData; c_subTableId = data.subTableId.value; c_subTableColumns = data.subTableColumns.value; c_subTableData = data.subTableData.value; c_subTableList = data.subTableList.value; c_scrollValue = data.scrollValue.value; c_cardLayout = data.cardLayout.value; c_createOrModifyList = data.createOrModifyList.value; c_buttonLayout = data.buttonLayout.value; }, formModalVisible: (): Boolean => { return c_formModalVisible; }, isUpdate: (): Boolean => { return c_isUpdate; }, isDetail: (): Boolean => { return c_isDetail; }, getTitle: (): string => { return c_getTitle; }, primaryQuery: (): string => { return c_primaryQuery; }, addQuery: (): any => { return c_addQuery; }, formColumns: (): any => { return c_formColumns; }, tabsColumns: (): any => { return c_tabsColumns; }, flowCode: (): string => { return c_flowCode; }, formData: (): {} => { return c_formData; }, subTableId: (): any => { return c_subTableId; }, subTableColumns: (): any => { return c_subTableColumns; }, subTableData: (): any => { return c_subTableData; }, subTableList: (): any => { return c_subTableList; }, scrollValue: (): string => { return c_scrollValue; }, cardLayout: (): any => { return c_cardLayout; }, createOrModifyList: (): any => { return c_createOrModifyList; }, buttonLayout: (): any => { return c_buttonLayout; }, // 数据----------------------------- // 获取数据 // 组件----------------------------- // 获取组件 getComponent: (field: any): any => { return getComponentByFiled(field); }, // 隐藏与否 setHide: (field: any, hideStatus: Boolean): any => { const componet: any = getComponentByFiled(field); if (componet) { componet.ifShow = hideStatus; c_formColumns.forEach((item, index) => { if (item.filed == field) { c_formColumns[index] = componet; } }); } return c_formColumns; }, // 禁用与否 setDisabled: (field: any, disabledStatus: Boolean): any => { const componet: any = getComponentByFiled(field); if (componet) { componet.dynamicDisabled = disabledStatus; c_formColumns.forEach((item, index) => { if (item.filed == field) { c_formColumns[index] = componet; } }); } return c_formColumns; }, // 必填与否 setRequired: (field: any, requiredStatus: Boolean): any => { const componet: any = getComponentByFiled(field); if (componet) { componet.required = requiredStatus; c_formColumns.forEach((item, index) => { if (item.filed == field) { c_formColumns[index] = componet; } }); } return c_formColumns; }, // 功能----------------------------- // 提示消息 message: (message: string, type: string = 'info') => { if (type == 'success') { createMessage.success(message); } else if (type == 'error') { createMessage.error(message); } else if (type == 'warn') { createMessage.warn(message); } else { createMessage.info(message); } }, // 获取登录者信息 loginUser: () => { return { account: userInfo.account, name: userInfo.name }; }, };