diff --git a/package.json b/package.json
index 4edda1b..b47b83a 100644
--- a/package.json
+++ b/package.json
@@ -12,37 +12,38 @@
"format": "prettier --write src/"
},
"dependencies": {
+ "@vicons/antd": "^0.13.0",
+ "ag-grid-enterprise": "^28.2.1",
+ "ag-grid-vue3": "^28.2.1",
"axios": "^1.9.0",
+ "codemirror": "^5.65.19",
"dat.gui": "^0.7.9",
+ "decimal.js": "^10.5.0",
"element-plus": "^2.9.10",
+ "jquery": "^3.6.0",
+ "less": "^4.2.1",
+ "localforage": "^1.10.0",
"lodash": "^4.17.21",
"pinia": "^3.0.1",
+ "rimraf": "^3.0.2",
+ "sortablejs": "1.15.6",
+ "split.js": "^1.6.4",
"three": "^0.176.0",
"vue": "^3.5.13",
- "vue-router": "^4.5.0",
- "less": "^4.2.1",
- "split.js": "^1.6.4",
- "localforage": "^1.10.0",
- "rimraf": "^3.0.2",
"vue-i18n": "9.2.2",
- "codemirror": "^5.65.19",
- "vue3-menus": "^1.1.2",
- "jquery": "^3.6.0",
- "ag-grid-enterprise": "^28.2.1",
- "sortablejs": "1.15.6",
- "ag-grid-vue3": "^28.2.1",
- "decimal.js": "^10.5.0"
+ "vue-router": "^4.5.0",
+ "vue3-menus": "^1.1.2"
},
"devDependencies": {
"@tsconfig/node22": "^22.0.1",
+ "@types/jquery": "^3.3.31",
+ "@types/lodash-es": "^4.17.7",
"@types/node": "^22.14.0",
+ "@types/three": "^0.176.0",
+ "@vicons/fa": "^0.12.0",
"@vitejs/plugin-vue": "^5.2.3",
"@vitejs/plugin-vue-jsx": "^4.1.2",
"@vue/tsconfig": "^0.7.0",
- "@types/lodash-es": "^4.17.7",
- "@types/three": "^0.176.0",
- "@types/jquery": "^3.3.31",
- "@vicons/fa": "^0.12.0",
"npm-run-all2": "^7.0.2",
"prettier": "3.5.3",
"typescript": "~5.8.0",
diff --git a/src/components/viewWidgets/alarm/AlarmMeta.ts b/src/components/viewWidgets/alarm/AlarmMeta.ts
index 846c9ea..56cd72e 100644
--- a/src/components/viewWidgets/alarm/AlarmMeta.ts
+++ b/src/components/viewWidgets/alarm/AlarmMeta.ts
@@ -5,7 +5,7 @@ import AlarmView from './AlarmView.vue'
export default defineWidget({
name: 'alarm',
title: '告警',
- icon: renderIcon('element BellFilled'),
+ icon: renderIcon('antd AlertOutlined'),
side: 'right',
order: 2,
component: AlarmView
diff --git a/src/components/viewWidgets/modeltree/ModeltreeMeta.ts b/src/components/viewWidgets/modeltree/ModeltreeMeta.ts
index dc7f1c3..09b1363 100644
--- a/src/components/viewWidgets/modeltree/ModeltreeMeta.ts
+++ b/src/components/viewWidgets/modeltree/ModeltreeMeta.ts
@@ -5,7 +5,7 @@ import ModeltreeView from './ModeltreeView.vue'
export default defineWidget({
name: 'modeltree',
title: '模型',
- icon: renderIcon('fa Tree'),
+ icon: renderIcon('antd ClusterOutlined'),
side: 'left',
order: 1,
component: ModeltreeView
diff --git a/src/components/viewWidgets/monitor/MonitorMeta.ts b/src/components/viewWidgets/monitor/MonitorMeta.ts
index e25dac7..07cddde 100644
--- a/src/components/viewWidgets/monitor/MonitorMeta.ts
+++ b/src/components/viewWidgets/monitor/MonitorMeta.ts
@@ -5,7 +5,7 @@ import MonitorView from './MonitorView.vue'
export default defineWidget({
name: 'monitor',
title: '监控',
- icon: renderIcon('element Monitor'),
+ icon: renderIcon('antd DashboardOutlined'),
side: 'left',
order: 2,
component: MonitorView
diff --git a/src/components/viewWidgets/script/ScriptMeta.ts b/src/components/viewWidgets/script/ScriptMeta.ts
index ac296c8..aaebd89 100644
--- a/src/components/viewWidgets/script/ScriptMeta.ts
+++ b/src/components/viewWidgets/script/ScriptMeta.ts
@@ -5,7 +5,7 @@ import ScriptView from './ScriptView.vue'
export default defineWidget({
name: 'script',
title: '脚本',
- icon: renderIcon('element Film'),
+ icon: renderIcon('antd CodeOutlined'),
side: 'bottom',
order: 3,
component: ScriptView
diff --git a/src/components/viewWidgets/toolbox/ToolboxMeta.ts b/src/components/viewWidgets/toolbox/ToolboxMeta.ts
new file mode 100644
index 0000000..9ccd171
--- /dev/null
+++ b/src/components/viewWidgets/toolbox/ToolboxMeta.ts
@@ -0,0 +1,12 @@
+import { defineWidget } from '@/runtime/DefineWidget.ts'
+import { renderIcon } from '@/utils/webutils.ts'
+import ToolboxView from './ToolboxView.vue'
+
+export default defineWidget({
+ name: 'toolbox',
+ title: '工具箱',
+ icon: renderIcon('antd CodepenOutlined'),
+ side: 'left',
+ order: 3,
+ component: ToolboxView
+})
\ No newline at end of file
diff --git a/src/components/viewWidgets/toolbox/ToolboxView.vue b/src/components/viewWidgets/toolbox/ToolboxView.vue
new file mode 100644
index 0000000..4cdb0a7
--- /dev/null
+++ b/src/components/viewWidgets/toolbox/ToolboxView.vue
@@ -0,0 +1,22 @@
+
+ ToolboxView1
+ ToolboxView2
+ ToolboxView3
+ ToolboxView4
+ ToolboxView5
+ ToolboxView6
+ ToolboxView7
+ ToolboxView8
+ ToolboxView9
+ ToolboxView10
+ ToolboxView11
+ ToolboxView12
+ ToolboxView13
+ ToolboxView14
+ ToolboxView15
+ ToolboxView16
+ ToolboxView17
+ ToolboxView18
+ ToolboxView19
+ ToolboxView20
+
\ No newline at end of file
diff --git a/src/utils/webutils.ts b/src/utils/webutils.ts
index b21a069..a959642 100644
--- a/src/utils/webutils.ts
+++ b/src/utils/webutils.ts
@@ -1,6 +1,7 @@
import _ from 'lodash'
-import {type Component, h, toRaw} from 'vue'
-import {ElIcon} from "element-plus"
+import { type Component, h, toRaw } from 'vue'
+import * as AntdIcon from '@vicons/antd'
+import { ElIcon } from 'element-plus'
import * as FaIcon from '@vicons/fa'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
@@ -9,30 +10,34 @@ import * as ElementPlusIconsVue from '@element-plus/icons-vue'
*/
export function renderIcon(icon: string, props = {}): any {
if (!icon) {
- return undefined;
+ return undefined
}
- let component: any = undefined;
+ let component: any = undefined
if (typeof icon === 'string') {
- if (icon.startsWith("element ")) {
- icon = icon.substring("element ".length);
- component = ElementPlusIconsVue[icon];
+ if (icon.startsWith('element ')) {
+ icon = icon.substring('element '.length)
+ component = ElementPlusIconsVue[icon]
- } else if (icon.startsWith("fa ")) {
- icon = icon.substring("fa ".length);
- component = FaIcon[icon];
+ } else if (icon.startsWith('antd ')) {
+ icon = icon.substring('antd '.length)
+ component = AntdIcon[icon]
+
+ } else if (icon.startsWith('fa ')) {
+ icon = icon.substring('fa '.length)
+ component = FaIcon[icon]
// } else if (icon.startsWith('tb ')) {
// icon = icon.substring("fa ".length);
// component = Tabler[icon];
} else {
- component = ElementPlusIconsVue[icon];
- if (!component) component = FaIcon[icon];
+ component = ElementPlusIconsVue[icon]
+ if (!component) component = FaIcon[icon]
}
}
if (!component) {
// component = AntdIcon["ProfileOutlined"];
- return undefined;
+ return undefined
}
- return () => h(ElIcon, props, {default: () => h(component)});
+ return () => h(ElIcon, props, { default: () => h(component) })
}
\ No newline at end of file
diff --git a/src/views/ModelMain.vue b/src/views/ModelMain.vue
index 2803634..a304c81 100644
--- a/src/views/ModelMain.vue
+++ b/src/views/ModelMain.vue
@@ -19,7 +19,7 @@