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