diff --git a/io.sc.platform.core.frontend/src/components/index.ts b/io.sc.platform.core.frontend/src/components/index.ts
index 0a6f0395..e9e64953 100644
--- a/io.sc.platform.core.frontend/src/components/index.ts
+++ b/io.sc.platform.core.frontend/src/components/index.ts
@@ -14,6 +14,7 @@ import grid from '@/views/likm/Grid.vue';
import toolbar from '@/views/likm/Toolbar.vue';
import quasarGrid from '@/views/likm/QuasarGrid.vue';
import gridLayout from '@/views/likm/GridLayout.vue';
+import likmTreeGrid from '@/views/likm/TreeGrid.vue';
const localComponents = {
'component.testcase.dialog': dialog,
@@ -28,6 +29,7 @@ const localComponents = {
'component.testcase.toolbar': toolbar,
'component.testcase.quasarGrid': quasarGrid,
'component.testcase.gridLayout': gridLayout,
+ 'component.testcase.likmTreeGrid': likmTreeGrid,
};
export default localComponents;
diff --git a/io.sc.platform.core.frontend/src/menus/menus.json b/io.sc.platform.core.frontend/src/menus/menus.json
index 96cf44a7..6ff1dd88 100644
--- a/io.sc.platform.core.frontend/src/menus/menus.json
+++ b/io.sc.platform.core.frontend/src/menus/menus.json
@@ -135,5 +135,14 @@
"titleI18nKey": "grid布局测试",
"icon": "bi-palette",
"routeName": "route.testcase.likm.gridLayout"
+ },
+ {
+ "type": "ROUTE",
+ "order": 800,
+ "parentId": "menu.testcase.likm",
+ "id": "menu.testcase.likm.likmTreeGrid",
+ "titleI18nKey": "treeGrid测试",
+ "icon": "bi-palette",
+ "routeName": "route.testcase.likm.likmTreeGrid"
}
]
diff --git a/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue b/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue
index 8449692e..03c245cd 100644
--- a/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue
+++ b/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue
@@ -13,8 +13,14 @@
: ' col-span-1')
"
>
-
-
+
+
@@ -48,6 +54,16 @@ const formModel: any = {};
const formFieldsMap = new Map();
// 不同屏幕尺寸下 colsNum 为 0 时一行显示的字段个数
const screenCols = { xs: 1, sm: 2, md: 3, lg: 4, xl: 6 };
+const fiedType = {
+ checkbox: 'w-checkbox',
+ date: 'w-date',
+ number: 'w-number',
+ select: 'w-select',
+ text: 'w-text',
+ textarea: 'w-textarea',
+ 'text-btn': 'w-text-btn',
+ password: 'w-password',
+};
const defaultValueHandler = (field) => {
if (field.hasOwnProperty('defaultValue') && field.defaultValue !== null && field.defaultValue !== undefined) {
diff --git a/io.sc.platform.core.frontend/src/platform/components/form/elements/WPassword.vue b/io.sc.platform.core.frontend/src/platform/components/form/elements/WPassword.vue
new file mode 100644
index 00000000..a3ed9c92
--- /dev/null
+++ b/io.sc.platform.core.frontend/src/platform/components/form/elements/WPassword.vue
@@ -0,0 +1,75 @@
+
+
+
+ * {{ attrs.label }}
+
+
+
+
+
diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/TableRow.vue b/io.sc.platform.core.frontend/src/platform/components/grid/TableRow.vue
index 523ac549..ca612980 100644
--- a/io.sc.platform.core.frontend/src/platform/components/grid/TableRow.vue
+++ b/io.sc.platform.core.frontend/src/platform/components/grid/TableRow.vue
@@ -42,9 +42,9 @@ const props = defineProps({
},
},
data: {
- type: Array,
+ type: Object,
default: () => {
- return [];
+ return {};
},
},
});
diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue b/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue
index 73945ab4..07f1582c 100644
--- a/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue
+++ b/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue
@@ -24,8 +24,8 @@
-
-
{{ title }}
+
+
{{ title }}
-
-
-
+
{{ col.label }}
@@ -90,8 +88,8 @@
-
-
+
+
diff --git a/io.sc.platform.core.frontend/src/views/likm/TreeGrid.vue b/io.sc.platform.core.frontend/src/views/likm/TreeGrid.vue
new file mode 100644
index 00000000..4703d7f1
--- /dev/null
+++ b/io.sc.platform.core.frontend/src/views/likm/TreeGrid.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+