diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 41a226c..5586151 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,6 +11,9 @@ importers:
'@vueuse/core':
specifier: ^13.2.0
version: 13.2.0(vue@3.5.14(typescript@5.8.3))
+ echarts:
+ specifier: ^5.6.0
+ version: 5.6.0
devDependencies:
'@ease-forge/runtime':
specifier: ^1.0.15
@@ -1050,6 +1053,9 @@ packages:
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ echarts@5.6.0:
+ resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==}
+
electron-to-chromium@1.5.155:
resolution: {integrity: sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng==}
@@ -1729,6 +1735,9 @@ packages:
troika-worker-utils@0.52.0:
resolution: {integrity: sha512-W1CpvTHykaPH5brv5VHLfQo9D1OYuo0cSBEUQFFT/nBUzM8iD6Lq2/tgG/f1OelbAS1WtaTPQzE5uM49egnngw==}
+ tslib@2.3.0:
+ resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
+
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
@@ -1898,6 +1907,9 @@ packages:
resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
engines: {node: '>=18'}
+ zrender@5.6.1:
+ resolution: {integrity: sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==}
+
snapshots:
'@ampproject/remapping@2.3.0':
@@ -2808,6 +2820,11 @@ snapshots:
eastasianwidth@0.2.0: {}
+ echarts@5.6.0:
+ dependencies:
+ tslib: 2.3.0
+ zrender: 5.6.1
+
electron-to-chromium@1.5.155: {}
element-plus@2.9.10(vue@3.5.14(typescript@5.8.3)):
@@ -3469,6 +3486,8 @@ snapshots:
troika-worker-utils@0.52.0: {}
+ tslib@2.3.0: {}
+
tslib@2.8.1: {}
typescript@5.8.3: {}
@@ -3621,3 +3640,7 @@ snapshots:
yallist@3.1.1: {}
yoctocolors@2.1.1: {}
+
+ zrender@5.6.1:
+ dependencies:
+ tslib: 2.3.0
diff --git a/src/editor/ModelMain.vue b/src/editor/ModelMain.vue
index df5af9c..c60df39 100644
--- a/src/editor/ModelMain.vue
+++ b/src/editor/ModelMain.vue
@@ -10,9 +10,12 @@
-
-
-
+
+
+
+
+
+
@@ -60,7 +63,7 @@
-
+
@@ -117,6 +120,7 @@ import CatalogDefine from './CatalogDefine.vue'
import Logo from '@/assets/images/logo.png'
import './ModelMain.less'
import EventBus from '@/runtime/EventBus.js'
+import { useRouter } from 'vue-router'
export default {
components: { Model2DEditor, Model3DViewer, Split, SplitArea, CatalogDefine },
@@ -188,9 +192,9 @@ export default {
}
},
computed: {
- isModelOpen() {
- return this.worldModel.state.isOpened;
- },
+ isModelOpen() {
+ return this.worldModel.state.isOpened
+ },
worldModel() {
return window['worldModel']
},
@@ -241,6 +245,9 @@ export default {
methods: {
renderIcon,
getWidgetBySide,
+ toHome() {
+ system.router.push({ name: 'home' })
+ },
setCurrentViewport(viewport) {
this.currentViewport = viewport
},
diff --git a/src/main.ts b/src/main.ts
index e970839..53d707e 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -5,27 +5,27 @@ import router from './router'
import * as webIndex from '@/components/webindex'
import { directive, menusEvent, Vue3Menus } from 'vue3-menus'
import ElementPlus from 'element-plus'
-import { globalConfig } from "@/config.ts";
+import { globalConfig } from '@/config.ts'
import System from '@/runtime/System'
-import { getCurrentUser } from "@/currentUser.ts";
+import { getCurrentUser } from '@/currentUser.ts'
import 'ag-grid-community/styles/ag-grid.css'
import 'ag-grid-community/styles/ag-theme-alpine.css'
import 'element-plus/dist/index.css'
import './main.less'
async function main() {
- const app = createApp(App)
- app.use(createPinia())
- app.use(ElementPlus)
- app.component('vue3-menus', Vue3Menus)
- app.directive('menus', directive)
- app.config.globalProperties.$menusEvent = menusEvent
- window['system'] = new System(app)
- app.use(router)
- app.use(webIndex)
- app.mount('#app')
- globalConfig();
- await getCurrentUser();
+ const app = createApp(App)
+ app.use(createPinia())
+ app.use(ElementPlus)
+ app.component('vue3-menus', Vue3Menus)
+ app.directive('menus', directive)
+ app.config.globalProperties.$menusEvent = menusEvent
+ window['system'] = new System(app, router)
+ app.use(router)
+ app.use(webIndex)
+ app.mount('#app')
+ globalConfig()
+ await getCurrentUser()
}
-main().finally();
+main().finally()
diff --git a/src/router/index.ts b/src/router/index.ts
index 3315653..4c8cd5f 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -20,15 +20,12 @@ const router = createRouter({
{
path: '/modelingSimulation',
name: 'modelingSimulation',
- meta: {
- title: '建模仿真控制平台'
- },
- component: () => import('@/views/modelingSimulation/index.vue')
+ redirect: '/editor'
},
{
path: '/taskManagement',
name: 'taskManagement',
- children:[
+ children: [
{
path: '/taskQuery',
name: 'taskQuery',
@@ -50,7 +47,7 @@ const router = createRouter({
{
path: '/log',
name: 'log',
- children:[
+ children: [
{
path: '/upstream',
name: 'upstream',
@@ -72,7 +69,7 @@ const router = createRouter({
{
path: '/device',
name: 'device',
- children:[
+ children: [
{
path: '/points',
name: 'points',
@@ -110,7 +107,7 @@ const router = createRouter({
{
path: '/inventory',
name: 'inventory',
- children:[
+ children: [
{
path: '/query',
name: 'query',
@@ -132,7 +129,7 @@ const router = createRouter({
{
path: '/user',
name: 'user',
- children:[
+ children: [
{
path: '/users',
name: 'users',
@@ -182,7 +179,7 @@ const router = createRouter({
path: '/JsDemo',
name: 'JsDemo',
component: () => import('@/pages/JsDemo.vue')
- },
+ }
]
})
diff --git a/src/runtime/System.ts b/src/runtime/System.ts
index bae7321..480a866 100644
--- a/src/runtime/System.ts
+++ b/src/runtime/System.ts
@@ -10,6 +10,7 @@ import { createShortUUID, getQueryParams, renderIcon, setQueryParam } from '@/ut
import type { showDialogOption } from '@/SystemOption'
import ShowDialogWrap from '@/components/ShowDialogWrap.vue'
import LoadingDialog from '@/components/LoadingDialog.vue'
+import type { Router } from 'vue-router'
export default class System {
_ = _
@@ -41,9 +42,11 @@ export default class System {
createUUID = createShortUUID
setQueryParam = setQueryParam
getQueryParams = getQueryParams
+ router: Router
- constructor(app: App) {
+ constructor(app: App, router: Router) {
this.app = app
+ this.router = router
window['_'] = _
window['$'] = $
window['JSON5'] = JSON5
@@ -290,5 +293,5 @@ export interface ShowDialogOption {
showOkButton?: boolean
cancelButtonText?: string
okButtonText?: string
- onMounted?: (dialog:any)=> void;
+ onMounted?: (dialog: any) => void;
}