diff --git a/src/designer/Designer.ts b/src/designer/Designer.ts
index 6c868d1..1c91c3b 100644
--- a/src/designer/Designer.ts
+++ b/src/designer/Designer.ts
@@ -1,3 +1,27 @@
+import Example1 from './example1'
+import { markRaw, reactive } from 'vue'
+
+/**
+ * 全局设计器
+ */
export default class Designer {
+ data: any = null
+ allLevels: any = null
+ currentFloor: string = null
+
+ constructor() {
+ this.init()
+ this.open()
+ }
+
+ init() {
+ window['designer'] = this
+ }
+
+ open() {
+ system.msg('打开成功')
+ this.data = markRaw(Example1)
+ this.allLevels = reactive(this.data.allLevels)
+ }
}
\ No newline at end of file
diff --git a/src/designer/ModelEditor.vue b/src/designer/ModelEditor.vue
index b9ca4f0..a517723 100644
--- a/src/designer/ModelEditor.vue
+++ b/src/designer/ModelEditor.vue
@@ -3,13 +3,7 @@
-
清空选择
+
+
+
+
+
+
+
1
+
+
0
X=14.091,Y=12.397
@@ -43,6 +45,8 @@ export default {
},
data() {
return {
+ currentLevel: '',
+ searchKeyword: '',
sectionLeftSearch: '',
sectionRightSize: 0,
sectionBottomSize: 0,
@@ -54,6 +58,11 @@ export default {
},
methods: {
renderIcon
+ },
+ computed: {
+ allLevels() {
+ return designer.allLevels
+ }
}
}
\ No newline at end of file
diff --git a/src/designer/example1.js b/src/designer/example1.js
new file mode 100644
index 0000000..b7ac2da
--- /dev/null
+++ b/src/designer/example1.js
@@ -0,0 +1,67 @@
+export default {
+ Tool: {
+ Group: [],
+ GlobalVariables: [],
+ UserCommand: [],
+ ProcessFlow: [],
+ Dashboard: [],
+ DataTable: [],
+ Trigger: [
+ { name: 'OnOpen', fn: '' },
+ { name: 'OnReset', fn: '' },
+ { name: 'OnStart', fn: '' },
+ { name: 'OnStop', fn: '' }
+ ]
+ },
+ item: [
+ {
+ name: 'f1',
+ items: []
+ }
+ ],
+ elevator: [],
+ wall: [],
+ pillar: [],
+ allLevels: [
+ {
+ value: 'F', label: '仓库楼层',
+ children: [
+ { value: '-f1', label: '地下室 (-f1)' },
+ { value: 'f1', label: '一楼 (f1)' },
+ { value: 'f2', label: '二楼 (f2)' },
+ { value: 'OUT', label: '外场 (OUT)' },
+ { value: 'fe', label: '楼层电梯 (fe)' }
+ ]
+ },
+ {
+ value: 'M', label: '密集库区域',
+ children: [
+ { value: 'm1', label: 'M1 (m1)' },
+ { value: 'm2', label: 'M2 (m2)' },
+ { value: 'm3', label: 'M3 (m3)' },
+ { value: 'm4', label: 'M4 (m4)' },
+ { value: 'me', label: '提升机 (me)' }
+ ]
+ },
+ {
+ value: 'D', label: '多穿库A',
+ children: [
+ { value: 'd1', label: 'D1 (d1)' },
+ { value: 'd2', label: 'D2 (d2)' },
+ { value: 'd3', label: 'D3 (d3)' },
+ { value: 'd4', label: 'D4 (d4)' },
+ { value: 'de1', label: '提升机 (de1)' }
+ ]
+ },
+ {
+ value: 'E', label: '多穿库B',
+ children: [
+ { value: 'e1', label: 'E1 (e1)' },
+ { value: 'e2', label: 'E2 (e2)' },
+ { value: 'e3', label: 'E3 (e3)' },
+ { value: 'e4', label: 'E4 (e4)' },
+ { value: 'ee1', label: '提升机 (ee1)' }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/designer/viewWidgets/modeltree/ModeltreeView.vue b/src/designer/viewWidgets/modeltree/ModeltreeView.vue
index a286bd3..084cc18 100644
--- a/src/designer/viewWidgets/modeltree/ModeltreeView.vue
+++ b/src/designer/viewWidgets/modeltree/ModeltreeView.vue
@@ -1,6 +1,6 @@
- 模型树
+
@@ -58,8 +58,10 @@ import { renderIcon } from '@/utils/webutils.js'
export default {
name: 'ModeltreeView',
+ emits: ['close'],
data() {
return {
+ currentLevel: '',
searchKeyword: ''
}
},
@@ -68,6 +70,11 @@ export default {
closeMe(name) {
this.$emit('close', name)
}
+ },
+ computed: {
+ allLevels() {
+ return designer.allLevels
+ }
}
}
\ No newline at end of file
diff --git a/src/designer/viewWidgets/monitor/MonitorView.vue b/src/designer/viewWidgets/monitor/MonitorView.vue
index 042ab18..99ae190 100644
--- a/src/designer/viewWidgets/monitor/MonitorView.vue
+++ b/src/designer/viewWidgets/monitor/MonitorView.vue
@@ -58,6 +58,7 @@ import { renderIcon } from '@/utils/webutils.js'
export default {
name: 'MonitorView',
+ emits: ['close'],
data() {
return {
searchKeyword: ''
diff --git a/src/designer/viewWidgets/toolbox/ToolboxView.vue b/src/designer/viewWidgets/toolbox/ToolboxView.vue
index bea8231..8df6daf 100644
--- a/src/designer/viewWidgets/toolbox/ToolboxView.vue
+++ b/src/designer/viewWidgets/toolbox/ToolboxView.vue
@@ -36,6 +36,7 @@ import { renderIcon } from '@/utils/webutils.js'
export default {
name: 'ToolboxView',
+ emits: ['close'],
data() {
return {
searchKeyword: '',
@@ -51,7 +52,7 @@ export default {
]
},
{
- name: 'line', icon: 'antd LineOutlined', label: '线',
+ name: 'line', icon: 'fa GripLines', label: '线',
children: [
{ name: 'line', icon: 'antd SmallDashOutlined', label: '辅助线' },
{ name: 'conveyor', icon: 'antd FontSizeOutlined', label: '输送线' },
diff --git a/src/types/global.d.ts b/src/types/global.d.ts
index 91cc49f..7eadb54 100644
--- a/src/types/global.d.ts
+++ b/src/types/global.d.ts
@@ -1,9 +1,11 @@
import _ from 'lodash'
import $ from 'jquery'
import type System from '@/runtime/System'
+import type Designer from '@/designer/Designer'
declare global {
const $: $
const _: _
const system: System
+ const designer: Designer
}
\ No newline at end of file
diff --git a/src/views/ModelMain.vue b/src/views/ModelMain.vue
index 7917553..45e0c40 100644
--- a/src/views/ModelMain.vue
+++ b/src/views/ModelMain.vue
@@ -123,19 +123,18 @@ import SplitArea from '@/components/split/split-area.vue'
import Logo from '@/assets/images/logo.png'
import './ModelMain.less'
-import { ModelMainInit, ModelMainCreated, ModelMainMounted, ModelMainUnmounted } from '@/views/ModelMainInit.js'
+import { ModelMainInit, ModelMainMounted, ModelMainUnmounted } from '@/views/ModelMainInit.js'
import { getRootMenu } from '@/runtime/DefineMenu.js'
import { getWidgetByName, getWidgetBySide, getAllWidget } from '@/runtime/DefineWidget.js'
import ModelEditor from '@/designer/ModelEditor.vue'
import ModelView from '@/designer/ModelView.vue'
import { normalizeShortKey } from '@/utils/webutils.ts'
-ModelMainInit()
export default {
components: { ModelEditor, ModelView, Split, SplitArea },
created() {
- ModelMainCreated()
+ ModelMainInit()
},
mounted() {
ModelMainMounted()
diff --git a/src/views/ModelMainInit.ts b/src/views/ModelMainInit.ts
index 271dcb6..ec4d84f 100644
--- a/src/views/ModelMainInit.ts
+++ b/src/views/ModelMainInit.ts
@@ -15,6 +15,7 @@ import ToolsMenu from '@/designer/menus/Tools.ts'
import Model3DView from '@/designer/menus/Model3DView.ts'
import { forEachMenu } from '@/runtime/DefineMenu.ts'
import { normalizeShortKey } from '@/utils/webutils.ts'
+import Designer from '@/designer/Designer.ts'
/**
* 初始化模型编辑器的基础控件
@@ -34,33 +35,7 @@ export function ModelMainInit() {
ToolsMenu.install()
Model3DView.install()
- // hotkeys('ctrl+s', (event) => {
- // system.msg('ctrl+s')
- // event.preventDefault()
- // })
- // hotkeys('ctrl+c', (event) => {
- // system.msg('ctrl+c')
- // event.preventDefault()
- // })
- // hotkeys('ctrl+v', (event) => {
- // system.msg('ctrl+v')
- // event.preventDefault()
- // })
- // hotkeys('ctrl+a', (event) => {
- // system.msg('ctrl+a')
- // event.preventDefault()
- // })
- // hotkeys('up', (event) => {
- // system.msg('ArrowUp')
- // event.preventDefault()
- // })
- // hotkeys('left', (event) => {
- // system.msg('ArrowLeft')
- // event.preventDefault()
- // })
-}
-
-export function ModelMainCreated() {
+ new Designer().init()
}
export function ModelMainMounted() {