修改bug
This commit is contained in:
60
electron.vite.config.1764295754509.mjs
Normal file
60
electron.vite.config.1764295754509.mjs
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
// electron.vite.config.ts
|
||||||
|
import { resolve } from "path";
|
||||||
|
import { defineConfig, externalizeDepsPlugin } from "electron-vite";
|
||||||
|
import vue from "@vitejs/plugin-vue";
|
||||||
|
import AutoImport from "unplugin-auto-import/vite";
|
||||||
|
import Components from "unplugin-vue-components/vite";
|
||||||
|
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
|
||||||
|
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
|
||||||
|
import path from "path";
|
||||||
|
var electron_vite_config_default = defineConfig({
|
||||||
|
main: {
|
||||||
|
plugins: [externalizeDepsPlugin()]
|
||||||
|
},
|
||||||
|
preload: {
|
||||||
|
plugins: [externalizeDepsPlugin()]
|
||||||
|
},
|
||||||
|
renderer: {
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
"@renderer": resolve("src/renderer/src"),
|
||||||
|
"@": resolve("src/renderer/src")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
vue(),
|
||||||
|
AutoImport({
|
||||||
|
imports: ["vue"],
|
||||||
|
dts: "src/auto-imports.d.ts",
|
||||||
|
// 自动生成类型声明文件
|
||||||
|
resolvers: [ElementPlusResolver()]
|
||||||
|
}),
|
||||||
|
Components({
|
||||||
|
resolvers: [ElementPlusResolver()]
|
||||||
|
}),
|
||||||
|
// SVG图标插件配置
|
||||||
|
// 配置SVG图标插件
|
||||||
|
createSvgIconsPlugin({
|
||||||
|
iconDirs: [path.resolve(process.cwd(), "src/renderer/src/icons/svg")],
|
||||||
|
symbolId: "icon-[name]",
|
||||||
|
// 自动清除 SVG 中的 fill 和 stroke 属性
|
||||||
|
svgoOptions: {
|
||||||
|
plugins: [{ name: "removeAttrs", params: { attrs: ["fill", "stroke", "stroke-width"] } }]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
]
|
||||||
|
/*server: {
|
||||||
|
port: 8848,
|
||||||
|
proxy: {
|
||||||
|
'/api': {
|
||||||
|
target: localStorage.getItem('ip') || 'http://127.0.0.1:8848',
|
||||||
|
changeOrigin: true,
|
||||||
|
rewrite: (path) => path.replace(/^\/api/, '')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
});
|
||||||
|
export {
|
||||||
|
electron_vite_config_default as default
|
||||||
|
};
|
||||||
@ -33,7 +33,7 @@
|
|||||||
>搜索
|
>搜索
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="treeBox">
|
<div class="treeBox custom_scroll_bar_ts">
|
||||||
<ul id="treeDemos" class="ztree"></ul>
|
<ul id="treeDemos" class="ztree"></ul>
|
||||||
<rightMenuTs ref="rightMenuRef" class="absolute zIndex99"></rightMenuTs>
|
<rightMenuTs ref="rightMenuRef" class="absolute zIndex99"></rightMenuTs>
|
||||||
</div>
|
</div>
|
||||||
@ -336,6 +336,10 @@ const onMouseDown = (event: MouseEvent, treeId: string, treeNode: any) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
let rightClick = (event: MouseEvent, treeId: string, treeNode: any) => {
|
let rightClick = (event: MouseEvent, treeId: string, treeNode: any) => {
|
||||||
|
if (window['tsObj']._Clock._status == 'play') {
|
||||||
|
ElMessage({message: "态势推演中,暂停或停止后再试"})
|
||||||
|
return;
|
||||||
|
}
|
||||||
let selectNodes = getSelectedNodes(treeObj.value)
|
let selectNodes = getSelectedNodes(treeObj.value)
|
||||||
let isnewSelect = true //是否为新选中
|
let isnewSelect = true //是否为新选中
|
||||||
selectNodes.forEach((item: any) => {
|
selectNodes.forEach((item: any) => {
|
||||||
@ -462,6 +466,7 @@ defineExpose({
|
|||||||
.treeBox {
|
.treeBox {
|
||||||
//border: 1px solid red;
|
//border: 1px solid red;
|
||||||
flex: auto;
|
flex: auto;
|
||||||
|
overflow-y: auto;
|
||||||
|
|
||||||
.ztree {
|
.ztree {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
@ -4,14 +4,12 @@
|
|||||||
<div v-for="item in columns" :style="item.style">{{ item.name }}</div>
|
<div v-for="item in columns" :style="item.style">{{ item.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-body">
|
<div class="grid-body">
|
||||||
<template v-for="item in 10">
|
<div :class="['row',(eventObj&&event.id==eventObj.id)?'selectedRow':'']" :style="getStyle"
|
||||||
<div :class="['row',(eventObj&&event.id==eventObj.id)?'selectedRow':'']" :style="getStyle"
|
v-for="(event) in eventList" @click.right="(e)=>{rightClick(e,event)}">
|
||||||
v-for="(event) in eventList" @click.right="(e)=>{rightClick(e,event)}">
|
|
||||||
<span v-for="item in columns" :class="item.key" :style="item.style">{{
|
<span v-for="item in columns" :class="item.key" :style="item.style">{{
|
||||||
format(item.key, event[item.key])
|
format(item.key, event[item.key])
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
|
||||||
|
|
||||||
<div :style="style">
|
<div :style="style">
|
||||||
<!--aa-->
|
<!--aa-->
|
||||||
@ -137,9 +135,9 @@ const rightClick = (e, eventObj) => {
|
|||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
let parentHeight = parseInt(window.getComputedStyle($(".grid-body")[0]).height)//203
|
let parentHeight = parseInt(window.getComputedStyle($(".grid-body")[0]).height)//203
|
||||||
let height = parseInt(window.getComputedStyle($(".gridRightMenu")[0]).height)//65
|
let height = parseInt(window.getComputedStyle($(".gridRightMenu")[0]).height)//65
|
||||||
|
|
||||||
let maxTop = parentHeight - height//138
|
let maxTop = parentHeight - height//138
|
||||||
$(".gridRightMenu")[0].style.top = e.layerY > maxTop ? maxTop : e.layerY + "px"
|
let offset = e.layerY > maxTop ? maxTop : e.layerY
|
||||||
|
$(".gridRightMenu")[0].style.top = offset + "px"
|
||||||
$(".gridRightMenu")[0].style.left = e.layerX + "px"
|
$(".gridRightMenu")[0].style.left = e.layerX + "px"
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -66,27 +66,27 @@ export const useRightOperate = () => {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
let name = getLastPathComponent(item, ['clt', 'json', 'pak', 'kml', 'kmz', 'shp', 'geojson', 'geoJson', 'czml', 'jct', 'mif', 'tab', 'csv']);
|
let name = getLastPathComponent(item, ['clt', 'json', 'pak', 'kml', 'kmz', 'shp', 'geojson', 'geoJson', 'czml', 'jct', 'mif', 'tab', 'csv']);
|
||||||
let sourceType = "layer";
|
let sourceType = "layer";
|
||||||
if (item.endsWith(".clt") || item.endsWith(".json")) {
|
/* if (item.endsWith(".clt") || item.endsWith(".json")) {
|
||||||
sourceType = "tileset";
|
sourceType = "tileset";
|
||||||
} else if (item.endsWith(".pak")) {
|
} else if (item.endsWith(".pak")) {
|
||||||
sourceType = "Terrain";
|
sourceType = "terrain";
|
||||||
} else if (item.endsWith(".kml") || item.endsWith(".kmz")) {
|
} else if (item.endsWith(".kml") || item.endsWith(".kmz")) {
|
||||||
sourceType = "kml";
|
sourceType = "kml";
|
||||||
} else if (item.endsWith(".shp")) {
|
} else if (item.endsWith(".shp")) {
|
||||||
sourceType = "shp";
|
sourceType = "shp";
|
||||||
} else if (item.endsWith(".geojson") || item.endsWith(".geoJson")) {
|
} else if (item.endsWith(".geojson") || item.endsWith(".geoJson")) {
|
||||||
sourceType = "geojson";
|
sourceType = "geojson";
|
||||||
} else if (item.endsWith(".czml")) {
|
} else if (item.endsWith(".czml")) {
|
||||||
sourceType = "czml";
|
sourceType = "czml";
|
||||||
} else if (item.endsWith(".jct")) {
|
} else if (item.endsWith(".jct")) {
|
||||||
sourceType = "bim";
|
sourceType = "bim";
|
||||||
} else if (item.endsWith(".mif")) {
|
} else if (item.endsWith(".mif")) {
|
||||||
sourceType = "shp";
|
sourceType = "shp";
|
||||||
} else if (item.endsWith(".tab")) {
|
} else if (item.endsWith(".tab")) {
|
||||||
sourceType = "shp";
|
sourceType = "shp";
|
||||||
} else if (item.endsWith(".csv")) {
|
} else if (item.endsWith(".csv")) {
|
||||||
sourceType = "csv";
|
sourceType = "csv";
|
||||||
}
|
}*/
|
||||||
// 获取最后一个点的位置
|
// 获取最后一个点的位置
|
||||||
const lastDotIndex = filePaths[0].lastIndexOf('.');
|
const lastDotIndex = filePaths[0].lastIndexOf('.');
|
||||||
|
|
||||||
@ -135,6 +135,7 @@ export const useRightOperate = () => {
|
|||||||
|
|
||||||
let selectedNode = window.treeObj.getNodeByParam('id', parentId)
|
let selectedNode = window.treeObj.getNodeByParam('id', parentId)
|
||||||
//
|
//
|
||||||
|
console.log("添加到树上")
|
||||||
cusAddNodes(window.treeObj, selectedNode, [res.data], true)
|
cusAddNodes(window.treeObj, selectedNode, [res.data], true)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,16 +18,18 @@
|
|||||||
<el-icon :size="20" @click="stopCallBack('stop')">
|
<el-icon :size="20" @click="stopCallBack('stop')">
|
||||||
<RefreshLeft/>
|
<RefreshLeft/>
|
||||||
</el-icon>
|
</el-icon>
|
||||||
|
<!--:before-show="handleBeforeShow"-->
|
||||||
<el-popover
|
<el-popover
|
||||||
ref="multiplierPopover"
|
ref="multiplierPopover"
|
||||||
placement="top"
|
placement="top"
|
||||||
:width="92"
|
:width="92"
|
||||||
trigger="click"
|
trigger="manual"
|
||||||
:teleported="false"
|
:teleported="false"
|
||||||
|
v-model:visible="isPopoverShow"
|
||||||
popper-style="background: transparent !important;color:#fff;padding:0;min-width:50px"
|
popper-style="background: transparent !important;color:#fff;padding:0;min-width:50px"
|
||||||
>
|
>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<span class="">{{ TSOBJ._Store._multiplier }}×</span>
|
<span class="" @click="handleReferenceClick">{{ TSOBJ._Store._multiplier }}×</span>
|
||||||
</template>
|
</template>
|
||||||
<div class="multiplierBox">
|
<div class="multiplierBox">
|
||||||
<span v-for="item in multipliers"
|
<span v-for="item in multipliers"
|
||||||
@ -89,7 +91,7 @@ import Grid from "./components/grid.vue"
|
|||||||
import TimeScale from "./components/timeScale.vue"
|
import TimeScale from "./components/timeScale.vue"
|
||||||
import Chart from "./components/chart.vue"
|
import Chart from "./components/chart.vue"
|
||||||
import {ref, onBeforeUnmount, getCurrentInstance} from "vue"
|
import {ref, onBeforeUnmount, getCurrentInstance} from "vue"
|
||||||
import {ElPopover} from 'element-plus'; // 确保导入ElPopover(按需导入时)
|
import {ElMessage, ElPopover} from 'element-plus'; // 确保导入ElPopover(按需导入时)
|
||||||
// import {dragElement} from "./util/drag.js";
|
// import {dragElement} from "./util/drag.js";
|
||||||
import dragLeftRight from './util/dragLeftRight.js';
|
import dragLeftRight from './util/dragLeftRight.js';
|
||||||
|
|
||||||
@ -103,7 +105,10 @@ if (instance) {
|
|||||||
}
|
}
|
||||||
// 注册拖拽指令
|
// 注册拖拽指令
|
||||||
// 1. 创建ref引用,绑定到el-popover组件
|
// 1. 创建ref引用,绑定到el-popover组件
|
||||||
const multiplierPopover = ref<InstanceType<typeof ElPopover> | null>(null);
|
// const multiplierPopover = ref<InstanceType<typeof ElPopover> | null>(null);
|
||||||
|
const multiplierPopover = ref(null);
|
||||||
|
// 控制 popover 显示/隐藏的核心变量(替代实例方法)
|
||||||
|
const isPopoverShow = ref(false);
|
||||||
let multipliers = [16, 8, 4, 2, 1, 0.5, 0.25]
|
let multipliers = [16, 8, 4, 2, 1, 0.5, 0.25]
|
||||||
let currentStamp = ref(window['tsObj']._Store._startTimestamp)
|
let currentStamp = ref(window['tsObj']._Store._startTimestamp)
|
||||||
let maxLevel = ref(24)
|
let maxLevel = ref(24)
|
||||||
@ -148,6 +153,21 @@ let handleMultiplierChange = (multiplier) => {
|
|||||||
props.TSOBJ._Store._multiplier = multiplier
|
props.TSOBJ._Store._multiplier = multiplier
|
||||||
multiplierPopover.value?.hide();
|
multiplierPopover.value?.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleReferenceClick = async () => {
|
||||||
|
// 执行校验逻辑(支持同步/异步)
|
||||||
|
const canShow = window['tsObj']._Clock._status !== 'play';
|
||||||
|
console.log(multiplierPopover.value)
|
||||||
|
if (canShow) {
|
||||||
|
// 校验通过:手动显示 popover
|
||||||
|
isPopoverShow.value = true; // 校验通过:显示
|
||||||
|
} else {
|
||||||
|
// 校验不通过:提示或不操作
|
||||||
|
ElMessage.warning("态势推演中,暂停或停止后再试");
|
||||||
|
// 可选:如果之前显示了,手动隐藏
|
||||||
|
isPopoverShow.value = false; // 校验通过:显示
|
||||||
|
}
|
||||||
|
};
|
||||||
let formatTime = (timeStamp) => {
|
let formatTime = (timeStamp) => {
|
||||||
return props.TSOBJ.parseTime(timeStamp)
|
return props.TSOBJ.parseTime(timeStamp)
|
||||||
}
|
}
|
||||||
@ -337,7 +357,10 @@ const handleDrag = (newLeft: number) => {
|
|||||||
};
|
};
|
||||||
let add = (num) => {
|
let add = (num) => {
|
||||||
// 大格12个取值,小格间距3个取值,level,8-1
|
// 大格12个取值,小格间距3个取值,level,8-1
|
||||||
|
if (window['tsObj']._Clock._status == 'play') {
|
||||||
|
ElMessage({message: "态势推演中,暂停或停止后再试"})
|
||||||
|
return;
|
||||||
|
}
|
||||||
let res = level.value + num
|
let res = level.value + num
|
||||||
if (res <= maxLevel.value && res >= minLevel.value) {
|
if (res <= maxLevel.value && res >= minLevel.value) {
|
||||||
level.value += num
|
level.value += num
|
||||||
@ -352,6 +375,7 @@ let add = (num) => {
|
|||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
// props.TSOBJ._Clock.stopAnimation()
|
// props.TSOBJ._Clock.stopAnimation()
|
||||||
})
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@ -486,7 +510,7 @@ onBeforeUnmount(() => {
|
|||||||
|
|
||||||
&::-webkit-scrollbar-thumb {
|
&::-webkit-scrollbar-thumb {
|
||||||
border-radius: 1em;
|
border-radius: 1em;
|
||||||
background-color: rgb(0 255 255 / 100%);
|
background-color: rgba(0, 255, 255, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
&::-webkit-scrollbar-track {
|
&::-webkit-scrollbar-track {
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<div class="treeOrList" :style="currentTypeId!=''?'height: calc(100% - 300px);':''">
|
<div class="treeOrList custom_scroll_bar_ts" :style="currentTypeId!=''?'height: calc(100% - 300px);':''">
|
||||||
<template v-if="dataType=='tree'">
|
<template v-if="dataType=='tree'">
|
||||||
<el-tree
|
<el-tree
|
||||||
:data="treeData"
|
:data="treeData"
|
||||||
@ -44,7 +44,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="list" v-if="currentTypeId!=''">
|
<div class="list custom_scroll_bar_ts" v-if="currentTypeId!=''">
|
||||||
<div v-for="item in elementList" class="itemBox" @click="addMarker(item)">
|
<div v-for="item in elementList" class="itemBox" @click="addMarker(item)">
|
||||||
<div class="imgbg">
|
<div class="imgbg">
|
||||||
<img :src="service + (item.posterDataUrl||item.militaryDataUrl)"/>
|
<img :src="service + (item.posterDataUrl||item.militaryDataUrl)"/>
|
||||||
@ -72,6 +72,7 @@ import {GraphApi} from "../../api/graphLabel";
|
|||||||
|
|
||||||
import {addMapSource} from "./entity";
|
import {addMapSource} from "./entity";
|
||||||
import {useTreeNode} from "../components/tree/hooks/treeNode";
|
import {useTreeNode} from "../components/tree/hooks/treeNode";
|
||||||
|
import {ElMessage} from "element-plus";
|
||||||
|
|
||||||
const {getSelectedNodes} = useTreeNode()
|
const {getSelectedNodes} = useTreeNode()
|
||||||
const service = ref(localStorage.getItem('ip'))
|
const service = ref(localStorage.getItem('ip'))
|
||||||
@ -185,6 +186,10 @@ let getGraphTypeList = async () => {
|
|||||||
}
|
}
|
||||||
// 添加标绘
|
// 添加标绘
|
||||||
let addMarker = (item) => {
|
let addMarker = (item) => {
|
||||||
|
if (window['tsObj']._Clock._status == 'play') {
|
||||||
|
ElMessage({message: "态势推演中,暂停或停止后再试"})
|
||||||
|
return;
|
||||||
|
}
|
||||||
let nodes = getSelectedNodes(window['treeObj'])
|
let nodes = getSelectedNodes(window['treeObj'])
|
||||||
console.log("绘制", item)
|
console.log("绘制", item)
|
||||||
console.log("获取选中的节点", nodes)
|
console.log("获取选中的节点", nodes)
|
||||||
|
|||||||
@ -42,6 +42,7 @@ export function initMapData(type, data, cb: any = null) {
|
|||||||
case 'terrain':
|
case 'terrain':
|
||||||
data.host = baseURL
|
data.host = baseURL
|
||||||
entityObject = new YJ.Obj.Terrain(window['earth_ts'], data)
|
entityObject = new YJ.Obj.Terrain(window['earth_ts'], data)
|
||||||
|
cb && cb(entityObject)
|
||||||
break
|
break
|
||||||
case 'tileset':
|
case 'tileset':
|
||||||
data.host = baseURL
|
data.host = baseURL
|
||||||
|
|||||||
@ -75,7 +75,7 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
<div class="optionbtn">
|
<div class="optionbtn">
|
||||||
<el-button @click="addEvent">确定</el-button>
|
<el-button @click="addEvent">确定</el-button>
|
||||||
<el-button @click="isShowPup=false">取消</el-button>
|
<el-button @click="()=>{isShowPup=false,reset()}">取消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -150,7 +150,7 @@ const defaultProps = {
|
|||||||
}
|
}
|
||||||
const handleNodeClick = (data: Tree, node, TreeNode, event) => {
|
const handleNodeClick = (data: Tree, node, TreeNode, event) => {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
reset()
|
reset(true)
|
||||||
currentKey.value = data.id; // data.id 为节点的唯一 key(需与 tree 的 node-key 对应)
|
currentKey.value = data.id; // data.id 为节点的唯一 key(需与 tree 的 node-key 对应)
|
||||||
form.name = data.name + '-' + zNode.value.sourceName
|
form.name = data.name + '-' + zNode.value.sourceName
|
||||||
}
|
}
|
||||||
@ -165,17 +165,32 @@ const addEvent = () => {
|
|||||||
let startTime = form.datetime.getTime()
|
let startTime = form.datetime.getTime()
|
||||||
let obj: any = {}
|
let obj: any = {}
|
||||||
let duration_S = (hour.value * 3600 + minute.value * 60 + second.value) * 1
|
let duration_S = (hour.value * 3600 + minute.value * 60 + second.value) * 1
|
||||||
|
// 数据是否合法有效
|
||||||
|
let isRight = true
|
||||||
|
let errorFields = []//数据错误的字段
|
||||||
|
let minPositionLength = 2
|
||||||
switch (currentKey.value) {
|
switch (currentKey.value) {
|
||||||
case 'flicker':
|
case 'flicker':
|
||||||
obj.numbers = numbers.value
|
|
||||||
obj.times = Number((duration_S / obj.numbers).toFixed(2))
|
if (duration_S == 0) {
|
||||||
|
isRight = false
|
||||||
|
errorFields.push("持续时间")
|
||||||
|
}
|
||||||
|
if (obj.numbers == 0) {
|
||||||
|
isRight = false
|
||||||
|
errorFields.push("闪烁次数")
|
||||||
|
}
|
||||||
|
if (isRight) {
|
||||||
|
obj.numbers = numbers.value
|
||||||
|
obj.times = Number((duration_S / obj.numbers).toFixed(2))
|
||||||
|
}
|
||||||
break
|
break
|
||||||
case 'move':
|
case 'move':
|
||||||
let detail = typeof zNode.value.detail == 'string' ? JSON.parse(zNode.value.detail) : JSON.parse(JSON.stringify(zNode.value.detail))
|
let detail = typeof zNode.value.detail == 'string' ? JSON.parse(zNode.value.detail) : JSON.parse(JSON.stringify(zNode.value.detail))
|
||||||
let position = [...positions.value]
|
let position = [...positions.value]
|
||||||
if (isContainModelPosition.value) {
|
if (isContainModelPosition.value) {
|
||||||
position.unshift(detail.positions || detail.position || detail.center)
|
position.unshift(detail.positions || detail.position || detail.center)
|
||||||
|
minPositionLength = 3
|
||||||
}
|
}
|
||||||
positions.value = position;
|
positions.value = position;
|
||||||
obj = {
|
obj = {
|
||||||
@ -190,13 +205,27 @@ const addEvent = () => {
|
|||||||
},
|
},
|
||||||
isContainModelPosition: isContainModelPosition.value
|
isContainModelPosition: isContainModelPosition.value
|
||||||
}
|
}
|
||||||
|
if (!obj.line['positions'] || (obj.line['positions'] && obj.line['positions'].length < minPositionLength)) {
|
||||||
|
// ElMessage({message: "机动事件的路径不合法", type: "warning"})
|
||||||
|
isRight = false
|
||||||
|
errorFields.push("路径点位")
|
||||||
|
}
|
||||||
|
if (duration_S == 0) {
|
||||||
|
isRight = false
|
||||||
|
errorFields.push("持续时间")
|
||||||
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
// 当事件为机动事件且轨迹点的长度为0时,终止
|
|
||||||
if (obj['positions'] && obj['positions'].length == 0) {
|
|
||||||
ElMessage({message: "机动事件的路径不合法", type: "warning"})
|
if (!isRight) {
|
||||||
return
|
// ElMessage({message: "机动事件的路径不合法", type: "warning"})
|
||||||
|
let eventType = form.name.split("-")[0] + "事件"
|
||||||
|
|
||||||
|
ElMessage({message: eventType + errorFields.join("、") + "数据不合法", type: "warning"})
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
// console.log("数据校验通过")
|
||||||
|
|
||||||
let dbParams = {
|
let dbParams = {
|
||||||
id: new YJ.Tools().randomString(),
|
id: new YJ.Tools().randomString(),
|
||||||
@ -237,7 +266,7 @@ const addEvent = () => {
|
|||||||
})
|
})
|
||||||
console.log(dbParams)
|
console.log(dbParams)
|
||||||
}
|
}
|
||||||
const reset = () => {
|
const reset = (changeEventType = false) => {
|
||||||
hour.value = 0
|
hour.value = 0
|
||||||
minute.value = 0
|
minute.value = 0
|
||||||
second.value = 0
|
second.value = 0
|
||||||
@ -248,7 +277,27 @@ const reset = () => {
|
|||||||
|
|
||||||
form['datetime'] = new Date(window['tsObj']._Store._currentTimestamp)
|
form['datetime'] = new Date(window['tsObj']._Store._currentTimestamp)
|
||||||
currentKey.value = "flicker"
|
currentKey.value = "flicker"
|
||||||
|
console.log("changeEventType", changeEventType)
|
||||||
|
if (!changeEventType)
|
||||||
|
eventTree.value = [
|
||||||
|
{
|
||||||
|
id: "normal",
|
||||||
|
label: '常用推演事件',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
id: "display",
|
||||||
|
label: '显示事件',
|
||||||
|
name: '显示'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "hide",
|
||||||
|
label: '隐藏事件',
|
||||||
|
name: '隐藏'
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
eventBus.on('openAddEvent', (data, cb, type) => {
|
eventBus.on('openAddEvent', (data, cb, type) => {
|
||||||
if (['point', "model", "military"].includes(data.sourceType))
|
if (['point', "model", "military"].includes(data.sourceType))
|
||||||
@ -262,8 +311,8 @@ eventBus.on('openAddEvent', (data, cb, type) => {
|
|||||||
label: '机动事件',
|
label: '机动事件',
|
||||||
name: '机动'
|
name: '机动'
|
||||||
},]
|
},]
|
||||||
console.log("openAddEvent", data)
|
// console.log("openAddEvent", data)
|
||||||
console.log("openAddEvent", eventTree.value[0].children[0])
|
// console.log("openAddEvent", eventTree.value[0].children[0])
|
||||||
// selectCallback = cb
|
// selectCallback = cb
|
||||||
// addType.value = type
|
// addType.value = type
|
||||||
zNode.value = data
|
zNode.value = data
|
||||||
|
|||||||
Reference in New Issue
Block a user