diff --git a/src/renderer/src/assets/styles/global.css b/src/renderer/src/assets/styles/global.css index 62c95d9..d97689f 100644 --- a/src/renderer/src/assets/styles/global.css +++ b/src/renderer/src/assets/styles/global.css @@ -863,3 +863,6 @@ img { .el-popup-parent--hidden { width: 100% !important; } +.ts-zyl svg:focus { + outline: none; +} diff --git a/src/renderer/src/views/TS/cabin.vue b/src/renderer/src/views/TS/cabin.vue index 8aaab6a..a202f68 100644 --- a/src/renderer/src/views/TS/cabin.vue +++ b/src/renderer/src/views/TS/cabin.vue @@ -50,6 +50,7 @@ import {useTreeNode} from "../components/tree/hooks/treeNode"; import {$changeComponentShow} from "../../utils/communication"; import {debounce} from '@/utils' +let canCheckType: Array = ['directory', 'gdslImagery', 'terrain', 'tileset', 'arcgisWximagery', 'arcgisBlueImagery', 'gdlwImagery'] const {getSelectedNodes, cusSelectNode, getSameLevel, cusNodeIcon, nodeType} = useTreeNode() import {showRightMenuTs} from "./tree" import {TsApi} from "../../api/ts"; @@ -238,7 +239,7 @@ const onCheck = (event: any, treeId: any, treeNode: any) => { if (parentNode) { checkChildNodes(parentNode); } - let canCheckType: Array = ['directory', 'gdslImagery', 'terrain', 'tileset', 'arcgisWximagery', 'arcgisBlueImagery', 'gdlwImagery'] + // 检查子节点状态,更新父节点 function checkChildNodes(parentNode) { @@ -342,7 +343,14 @@ let rightClick = (event: MouseEvent, treeId: string, treeNode: any) => { }) if (!event.ctrlKey && (selectNodes.length < 2 || isnewSelect)) cusSelectNode(treeObj.value, treeNode) - const menus = showRightMenuTs(event, treeObj.value, getSelectedNodes(treeObj.value), nodeType) + let menus = showRightMenuTs(event, treeObj.value, getSelectedNodes(treeObj.value), nodeType) + if (canCheckType.includes(treeNode.sourceType) && treeNode.sourceType != 'directory') { + let customView + let entity = window['_entityMap'].get(treeNode.id) + customView = Boolean(entity.customView && entity.customView.orientation) + + menus = [...menus, customView ? 'resetView' : 'setView'] + } console.log('menus', menus) if (menus.length == 0) { // $changeComponentShow('.rightMenu', false) diff --git a/src/renderer/src/views/TS/components/eventParams.vue b/src/renderer/src/views/TS/components/eventParams.vue index d8e9635..ce6c193 100644 --- a/src/renderer/src/views/TS/components/eventParams.vue +++ b/src/renderer/src/views/TS/components/eventParams.vue @@ -5,14 +5,14 @@ {{ eventObj.name }}
@@ -35,11 +35,12 @@ + diff --git a/src/renderer/src/views/TS/edit.vue b/src/renderer/src/views/TS/edit.vue index 0a7d7ef..5d1fa98 100644 --- a/src/renderer/src/views/TS/edit.vue +++ b/src/renderer/src/views/TS/edit.vue @@ -124,6 +124,7 @@ import * as domain from "domain"; import {TsApi} from "../../api/ts"; import {ElMessage} from "element-plus"; import {addMapSource} from "../../common/addMapSource"; +import {$changeComponentShow} from "../../utils/communication"; const planInfo = ref({}) const isShowPup = ref(false) @@ -227,6 +228,7 @@ let getEventList = () => { eventBus.on('delete-event', (ids) => { console.log(ids) tsOBJ.value._Store._tasks = tsOBJ.value._Store._tasks.filter(item => !ids.includes(item.id)) + }) eventBus.on('add-event', (task) => { tsOBJ.value._Store._tasks = [...tsOBJ.value._Store._tasks, task] @@ -317,6 +319,8 @@ const handleClick = (e) => { console.log('点击事件触发', e) let dom = $('.MouseRight')[0] if (dom) dom.style.display = "none" + + $changeComponentShow('.rightMenuTs', false) } diff --git a/src/renderer/src/views/TS/element.vue b/src/renderer/src/views/TS/element.vue index a7aa328..c493a1f 100644 --- a/src/renderer/src/views/TS/element.vue +++ b/src/renderer/src/views/TS/element.vue @@ -163,6 +163,8 @@ const getModelListByType = (id) => { GraphApi.showModelByType(formData).then((res) => { res.data.forEach(item => { item.funName = 'DrawPoint' + item.type = 'military' + }) elementList.value = res.data }) @@ -202,6 +204,10 @@ let addMarker = (item) => { obj.modelDataUrl = item.modelDataUrl obj.name = item.modelName break + case 'military': + obj.militaryDataUrl = item.militaryDataUrl + obj.name = item.militaryName + break case 'line': case 'panel': case 'attackArrow': diff --git a/src/renderer/src/views/TS/entity.ts b/src/renderer/src/views/TS/entity.ts index 0bd42b4..d356370 100644 --- a/src/renderer/src/views/TS/entity.ts +++ b/src/renderer/src/views/TS/entity.ts @@ -18,6 +18,12 @@ export function initMapData(type, data, cb: any = null) { entityObject = new YJ.Obj.Model(window['earth_ts'], data) break + case 'military': + data.url = baseURL + data.militaryDataUrl + entityObject = new YJ.Obj.GroundSvg(window['earth_ts'], data) + entityObject.load(() => { + }) + break case 'line': entityObject = new YJ.Obj.PolylineObject(window['earth_ts'], data) break diff --git a/src/renderer/src/views/TS/list.vue b/src/renderer/src/views/TS/list.vue index 51efd8e..0a82b9f 100644 --- a/src/renderer/src/views/TS/list.vue +++ b/src/renderer/src/views/TS/list.vue @@ -595,10 +595,3 @@ background-color: transparent; } - diff --git a/src/renderer/src/views/TS/newEvent.vue b/src/renderer/src/views/TS/newEvent.vue index e04d0d9..a01e79e 100644 --- a/src/renderer/src/views/TS/newEvent.vue +++ b/src/renderer/src/views/TS/newEvent.vue @@ -29,6 +29,7 @@ +
+ 确定 + 取消 +
-
- 确定 - 取消 -
+
@@ -99,6 +101,8 @@ const currentKey = ref("flicker"); interface Tree { label: string children?: Tree[] + id: any + name: any } const eventBus: any = inject('bus') @@ -119,7 +123,8 @@ const positions = ref([])//机动事件的轨迹点 form['datetime'] = new Date(window['tsObj']._Store._currentTimestamp) const isShowPup = ref(false) -const eventTree: { children: ({ label: string } | { label: string })[]; id: string; label: string }[] = [ +// : { children: ({ label: string } | { label: string })[]; id: string; label: string }[] +const eventTree = ref([ { id: "normal", label: '常用推演事件', @@ -134,25 +139,17 @@ const eventTree: { children: ({ label: string } | { label: string })[]; id: stri label: '隐藏事件', name: '隐藏' }, - { - id: "flicker", - label: '闪烁事件', - name: '闪烁' - }, - { - id: "move", - label: '机动事件', - name: '机动' - }, + ], - }, -] + } +]) const defaultProps = { children: 'children', label: 'label', } const handleNodeClick = (data: Tree, node, TreeNode, event) => { + console.log(data) reset() currentKey.value = data.id; // data.id 为节点的唯一 key(需与 tree 的 node-key 对应) form.name = data.name + '-' + zNode.value.sourceName @@ -166,19 +163,19 @@ const drawLine = () => { const addEvent = () => { console.log(zNode.value) let startTime = form.datetime.getTime() - let obj = {} + let obj: any = {} + let duration_S = (hour.value * 3600 + minute.value * 60 + second.value) * 1 + switch (currentKey.value) { case 'flicker': - obj = { - times: times.value, - numbers: numbers.value - } + obj.numbers = numbers.value + obj.times = Number((duration_S / obj.numbers).toFixed(2)) break case 'move': let detail = typeof zNode.value.detail == 'string' ? JSON.parse(zNode.value.detail) : JSON.parse(JSON.stringify(zNode.value.detail)) let position = [...positions.value] if (isContainModelPosition.value) { - position.unshift(detail.positions || detail.position) + position.unshift(detail.positions || detail.position || detail.center) } positions.value = position; obj = { @@ -200,7 +197,7 @@ const addEvent = () => { ElMessage({message: "机动事件的路径不合法", type: "warning"}) return } - let duration_S = hour.value * 3600 + minute.value * 60 + second.value + let dbParams = { id: new YJ.Tools().randomString(), planId: window.planId, @@ -212,6 +209,7 @@ const addEvent = () => { "detail": JSON.stringify(obj) } console.log("dbParams", dbParams) + // return; TsApi.addTsEvent(dbParams).then(res => { if (res.code == 200) { ElMessage({ @@ -253,12 +251,26 @@ const reset = () => { } eventBus.on('openAddEvent', (data, cb, type) => { + if (['point', "model", "military"].includes(data.sourceType)) + eventTree.value[0].children = [...eventTree.value[0].children, { + id: "flicker", + label: '闪烁事件', + name: '闪烁' + }, + { + id: "move", + label: '机动事件', + name: '机动' + },] console.log("openAddEvent", data) + console.log("openAddEvent", eventTree.value[0].children[0]) // selectCallback = cb // addType.value = type zNode.value = data isShowPup.value = true - form.name = '闪烁-' + data.sourceName + form.name = eventTree.value[0].children[0].name + '-' + data.sourceName + currentKey.value = eventTree.value[0].children[0].id + // if (data) { // getModelList() // getSetting() diff --git a/src/renderer/src/views/components/tree/index.vue b/src/renderer/src/views/components/tree/index.vue index dfaab39..8a4061c 100644 --- a/src/renderer/src/views/components/tree/index.vue +++ b/src/renderer/src/views/components/tree/index.vue @@ -38,8 +38,8 @@ y2="-6.678619384765625" gradientUnits="userSpaceOnUse" > - - + + - - + + - + - - - + + + - + - - + + - - + + @@ -197,7 +197,7 @@ size="small" @click="searchPlace" :loading="loading" - >{{ t('btn.search') }} + >{{ t('btn.search') }}
@@ -248,22 +248,22 @@