From b39af0f5e4e440f87ed40a03bd5e5cba255fe405 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周三, 30 4月 2025 17:13:02 +0800 Subject: [PATCH] 前端页面修改 --- HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx | 81 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 81 insertions(+), 0 deletions(-) diff --git a/HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx b/HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx new file mode 100644 index 0000000..7e8b462 --- /dev/null +++ b/HIAWms/web/src/widgets/HIAWms/Views/HIAWms.tsx @@ -0,0 +1,81 @@ +import { + Component, + DefineComponent, + defineComponent, + markRaw, + ref, + SetupContext, + onMounted, +} from 'vue' +import styles from './HIAWms.module.scss' +// import WmsContainer from './Pages/HIAWms/WmsContainer' +import Tab from '@/components/Tab/Tab' +import { useProvideModels } from '@/libs/Provider/app' +import { usePermission } from '@/libs/Permission/Permission' +import { permissionCodes } from '../enum' +import { ModuleType, TabItem } from '../type/Type' +import { getEntityNames } from '@/hooks/hook' +import TabPane from '@/components/Tab/TabPane' + +const Models: ModuleType = import.meta.glob('./config/*.json', { + eager: true, +}) + +const entityNames = getEntityNames(Models) + +const nameToLabelMap = [{ name: 'WmsMaterial', label: '鐗╂枡鍩虹' }] + +export default defineComponent({ + name: 'HIAWms', + + setup(props, ctx: SetupContext) { + useProvideModels() + usePermission(props, permissionCodes) + + const rf = ref<{ + [key: string]: any + }>({}) + + const tabData = ref<TabItem[]>([]) + + const onTabChange = (v: string) => { + rf.value?.[v]?.reloadList() + } + + const initTableData = async () => { + for (const i in entityNames) { + const name = entityNames[i] + const module = await import(`./Pages/${name}/${name}.tsx`) + const WmsMaterial = markRaw(module.default) + const foundLabel = + nameToLabelMap.find((item) => item.name === name)?.label || name + tabData.value.push({ + label: foundLabel, + name, + component: WmsMaterial, + }) + } + } + + initTableData() + + return () => { + return ( + <div class={styles.HIAWms}> + <Tab data={tabData.value} type="list" onTab={onTabChange}> + {tabData.value.map((widgetInfo) => { + const Widget: any = widgetInfo.component + return ( + <TabPane label={widgetInfo.label} name={widgetInfo.name}> + <Widget + ref={(r: any) => (rf.value['WmsMaterial'] = r)} + ></Widget> + </TabPane> + ) + })} + </Tab> + </div> + ) + } + }, +}) -- Gitblit v1.9.3