diff --git a/installer.nsh b/installer.nsh index 4cc2aee..fcab700 100644 --- a/installer.nsh +++ b/installer.nsh @@ -8,7 +8,7 @@ Var defaultInstallDir IfFileExists "D:\*.*" DDriveExists CDriveDefault CDriveDefault: - StrCpy $defaultInstallDir "$PROGRAMFILES\${APP_ID}" + StrCpy $defaultInstallDir "D:\ProgramFiles\${APP_ID}" Goto doneDetect DDriveExists: diff --git a/resources/java/app/target/graphhopper/edgekv_keys b/resources/java/app/target/graphhopper/edgekv_keys index 22b0b71..ead14ab 100644 Binary files a/resources/java/app/target/graphhopper/edgekv_keys and b/resources/java/app/target/graphhopper/edgekv_keys differ diff --git a/resources/java/app/target/graphhopper/edgekv_vals b/resources/java/app/target/graphhopper/edgekv_vals index 034a0b8..0150a44 100644 Binary files a/resources/java/app/target/graphhopper/edgekv_vals and b/resources/java/app/target/graphhopper/edgekv_vals differ diff --git a/resources/java/app/target/graphhopper/edges b/resources/java/app/target/graphhopper/edges index e72045a..cdb281f 100644 Binary files a/resources/java/app/target/graphhopper/edges and b/resources/java/app/target/graphhopper/edges differ diff --git a/resources/java/app/target/graphhopper/geometry b/resources/java/app/target/graphhopper/geometry index b6eb143..3601605 100644 Binary files a/resources/java/app/target/graphhopper/geometry and b/resources/java/app/target/graphhopper/geometry differ diff --git a/resources/java/app/target/graphhopper/location_index b/resources/java/app/target/graphhopper/location_index index 7691ef2..7151cd8 100644 Binary files a/resources/java/app/target/graphhopper/location_index and b/resources/java/app/target/graphhopper/location_index differ diff --git a/resources/java/app/target/graphhopper/nodes b/resources/java/app/target/graphhopper/nodes index be765bc..a2ea71d 100644 Binary files a/resources/java/app/target/graphhopper/nodes and b/resources/java/app/target/graphhopper/nodes differ diff --git a/resources/java/app/target/graphhopper/properties b/resources/java/app/target/graphhopper/properties index 7454d8e..231a1b2 100644 Binary files a/resources/java/app/target/graphhopper/properties and b/resources/java/app/target/graphhopper/properties differ diff --git a/src/renderer/components.d.ts b/src/renderer/components.d.ts index 257698b..abc516c 100644 --- a/src/renderer/components.d.ts +++ b/src/renderer/components.d.ts @@ -16,6 +16,7 @@ declare module 'vue' { ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] ElCol: typeof import('element-plus/es')['ElCol'] + ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElForm: typeof import('element-plus/es')['ElForm'] @@ -27,6 +28,7 @@ declare module 'vue' { ElOption: typeof import('element-plus/es')['ElOption'] ElPagination: typeof import('element-plus/es')['ElPagination'] ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm'] + ElPopover: typeof import('element-plus/es')['ElPopover'] ElRow: typeof import('element-plus/es')['ElRow'] ElSelect: typeof import('element-plus/es')['ElSelect'] ElSlider: typeof import('element-plus/es')['ElSlider'] diff --git a/src/renderer/public/sdk/custom/css/index.css b/src/renderer/public/sdk/custom/css/index.css index 7791dc4..b01d897 100644 --- a/src/renderer/public/sdk/custom/css/index.css +++ b/src/renderer/public/sdk/custom/css/index.css @@ -49,13 +49,8 @@ --color-text-shadow: rgba(20, 118, 255, 1); } -/* .cesium-viewer.\32 d{ - opacity: 0; -} */ - .cesium-viewer-cesiumWidgetContainer { position: relative; - overflow: hidden; } .cesium-viewer-cesiumWidgetContainer .cesium-widget:nth-of-type(1) { @@ -176,14 +171,9 @@ .YJ-custom-base-dialog button:not(button[disabled]):hover { border-color: rgba(var(--color-base1), 1) !important; - color: rgba(var(--color-base1), 1) !important; cursor: pointer; } -.YJ-custom-base-dialog button:not(button[disabled]):hover svg { - fill: rgba(var(--color-base1), 1) !important; -} - .YJ-custom-base-dialog button:focus-visible { outline: none; } @@ -289,10 +279,6 @@ padding: 0px 24px; } -.YJ-custom-base-dialog>.content .el-tabs .el-tabs__header { - margin-bottom: 0; -} - .YJ-custom-base-dialog>.content .div-item { /* border-top: 1px solid rgba(204, 204, 204, 0.2); */ padding: 12px 0; @@ -343,7 +329,7 @@ .YJ-custom-base-dialog>.content input, .YJ-custom-base-dialog>.content textarea { - font-size: 14px; + font-size: 16px; background-color: rgba(0, 0, 0, 0.5); border: 1px solid rgba(var(--color-base1), 0.5); border-radius: 5px; @@ -487,9 +473,6 @@ .YJ-custom-base-dialog>.content .table .table-body .tr:first-child { border-top: none; } -.YJ-custom-base-dialog>.content .table .table-body .tr:last-child { - border-bottom: 1px solid rgba(var(--color-base1), 0.5); -} .YJ-custom-base-dialog>.content .table .table-empty { display: flex; @@ -1792,7 +1775,7 @@ /* 轨迹运动 */ .YJ-custom-base-dialog.trajectory-motion>.content { - width: 562px; + width: 550px; } .YJ-custom-base-dialog.trajectory-motion>.content .div-item>.row>.col { @@ -1821,10 +1804,6 @@ .YJ-custom-base-dialog.trajectory-motion>.content .btn.is-active { border-color: rgba(var(--color-base1)); - color: rgba(var(--color-base1)); -} -.YJ-custom-base-dialog.trajectory-motion>.content .btn.is-active svg { - fill: rgba(var(--color-base1)); } .YJ-custom-base-dialog.trajectory-motion>.content .btn-group .btn.is-active>span { @@ -1850,6 +1829,7 @@ .YJ-custom-base-dialog.trajectory-motion>.content .icon-rubric { width: 16px; height: 16px; + margin-left: 12px; } .YJ-custom-base-dialog.trajectory-motion>.content .custom__popper__arrow::after { @@ -2539,8 +2519,8 @@ .YJ-custom-base-dialog.polygon>.content .attribute-content-vr .table .tr .td:nth-child(3), .YJ-custom-base-dialog.polygon>.content .attribute-content-rtmp .table .tr .th:nth-child(3), .YJ-custom-base-dialog.polygon>.content .attribute-content-rtmp .table .tr .td:nth-child(3) { - flex: 0 0 175px; - width: 175px; + flex: 0 0 165px; + width: 165px; justify-content: center; } @@ -2623,8 +2603,8 @@ .YJ-custom-base-dialog.assemble>.content .attribute-content-vr .table .tr .td:nth-child(3), .YJ-custom-base-dialog.assemble>.content .attribute-content-rtmp .table .tr .th:nth-child(3), .YJ-custom-base-dialog.assemble>.content .attribute-content-rtmp .table .tr .td:nth-child(3) { - flex: 0 0 175px; - width: 175px; + flex: 0 0 165px; + width: 165px; justify-content: center; } @@ -2683,8 +2663,8 @@ .YJ-custom-base-dialog.pincerArrow>.content .attribute-content-vr .table .tr .td:nth-child(3), .YJ-custom-base-dialog.pincerArrow>.content .attribute-content-rtmp .table .tr .th:nth-child(3), .YJ-custom-base-dialog.pincerArrow>.content .attribute-content-rtmp .table .tr .td:nth-child(3) { - flex: 0 0 175px; - width: 175px; + flex: 0 0 165px; + width: 165px; justify-content: center; } @@ -2766,7 +2746,7 @@ /* 折线 */ .YJ-custom-base-dialog.polyline>.content { - width: 600px; + width: 580px; } .YJ-custom-base-dialog.polyline>.content>div #dashTextureDom { @@ -3801,7 +3781,7 @@ .yj-custom-icon { display: inline-block; width: 22px; - height: 18px; + height: 10px; margin-right: 5px; } diff --git a/src/renderer/src/I18n/zh-CN.ts b/src/renderer/src/I18n/zh-CN.ts index aac4c1f..8065901 100644 --- a/src/renderer/src/I18n/zh-CN.ts +++ b/src/renderer/src/I18n/zh-CN.ts @@ -352,5 +352,66 @@ export default { show: '文字显示', }, }, + }, +// 态势部分 + ts: { + historyDeduce: "历史推演", + deduceName: "推演名称", + deduceNamePlaceholder: "请输入推演名称", + creator: "创建人", + creatorPlaceholder: "请输入创建人姓名", + creationTime: "创建日期", + startPlaceholder: "开始日期", + endPlaceholder: "结束日期", + search: "搜索", + reset: "重置", + deduceDesc: "推演描述", + operation: "操作", + tooltipEdit: "编辑推演", + tooltipDetail: "详情", + tooltipDelete: "删除", + createPlan: "新建推演", + deduceDetail: "推演详情", + startTime: "仿真开始时间", + startTimePlaceholder: "请选择日期时间", + deduceDescPlaceholder: "请输入内容描述", + operationalTime: "作战时间", + enterTuiyan: "进入推演页面", + ersanwei: "二三维模式", + back: "返回", + exitTs: "退出方案库", + save: "保存", + cancel: "取消", + confirm: "确定", + standText: "立体文字", + layerCabin: "仿真演练图层指挥舱", + unfoldCabin: "展开指挥舱", + unfoldElement: "展开元素库", + fold: "收起", + element: "元素库", + model: "人工模型", + graph: "军事标绘", + baseLabel: "基础标绘", + effects: "特效", + "事件名称": "事件名称", + "开始时间": "开始时间", + "持续时间": "持续时间", + "删除": "删除", + "定位": "定位", + popconfirmTitle: "确定要删除吗?", + numberOfFlicker: "闪烁次数", + numberPlaceholder: "请输入闪烁次数", + selectEventToUpdate: "选中事件调整属性", + situationEvent: "态势事件", + hour: "时", + minute: "分", + second: "秒", + isContainModelPosition: "路径是否包含元素点位", + drawPath: "绘制路径", + directoryNamePlaceholder: "请输入文件夹名称", + name: "名称", + "添加态势事件": "添加态势事件", + "视角设定": "视角设定", + "重置视角": "重置视角", } } as const diff --git a/src/renderer/src/I18n/zh-EN.ts b/src/renderer/src/I18n/zh-EN.ts index 53eb044..b876776 100644 --- a/src/renderer/src/I18n/zh-EN.ts +++ b/src/renderer/src/I18n/zh-EN.ts @@ -353,5 +353,66 @@ export default { show: 'Text show', }, }, + }, + // 态势部分 + ts: { + historyDeduce: "History Deduction", + deduceName: "Deduction Name", + deduceNamePlaceholder: "Please enter the name of the deduction", + creator: "creator", + creatorPlaceholder: "Please enter the name of the creator", + creationTime: "creation time", + startPlaceholder: "start time", + endPlaceholder: "end time", + search: "search", + reset: "reset", + deduceDesc: "Deduction Description", + operation: "operation", + tooltipEdit: "Edit Deduction", + tooltipDetail: "Detail", + tooltipDelete: "Delete", + createPlan: "Create Plan", + deduceDetail: "Deduction Detail", + startTime: "Start Time", + startTimePlaceholder: "Please select Time", + deduceDescPlaceholder: "Please enter the description of the deduction", + operationalTime: "Operational Time", + enterTuiyan: "Enter play page", + ersanwei: "Two-dimensional and three-dimensional", + back: "back", + exitTs: "exit", + save: "save", + cancel: "cancel", + confirm: "confirm", + standText: "Stand Text", + layerCabin: "Layer Cabin", + unfoldCabin: "Unfold Cabin", + unfoldElement: "Unfold Element", + fold: "fold", + element: "element", + model: "model", + graph: "Military plotting", + baseLabel: "Base Label", + effects: "Effects", + "事件名称": "Event Name", + "开始时间": "Start Time", + "持续时间": "time of duration", + "删除": "delete", + "定位": "location", + popconfirmTitle: "Are you sure you want to delete it?", + numberOfFlicker: "Number Of Flicker", + numberPlaceholder: "Place enter number of flicker", + selectEventToUpdate: "Select Event To Update it", + situationEvent: "Situation Event", + hour: "hour", + minute: "minute", + second: "second", + isContainModelPosition: "Is Contain Position Of Model", + drawPath: "Draw Path", + directoryNamePlaceholder: "Place enter name of directory", + name: "name", + "添加态势事件": "Add situation event", + "视角设定": "Set View", + "重置视角": "Reset View", } } as const diff --git a/src/renderer/src/I18n/zh-TW.ts b/src/renderer/src/I18n/zh-TW.ts index f762107..c52cf8e 100644 --- a/src/renderer/src/I18n/zh-TW.ts +++ b/src/renderer/src/I18n/zh-TW.ts @@ -351,5 +351,65 @@ export default { show: '文字顯示', }, }, + }, + ts: { + historyDeduce: "歷史推演", + deduceName: "推演名稱", + deduceNamePlaceholder: "請輸入推演名稱", + creator: "建立人", + creatorPlaceholder: "請輸入建立人姓名", + creationTime: "建立日期", + startPlaceholder: "開始日期", + endPlaceholder: "結束日期", + search: "搜尋", + reset: "重置", + deduceDesc: "推演描述", + operation: "操作", + tooltipEdit: "編輯推演", + tooltipDetail: "詳情", + tooltipDelete: "刪除", + createPlan: "新增推演", + deduceDetail: "推演詳情", + startTime: "模擬開始時間", + startTimePlaceholder: "請選擇日期時間", + deduceDescPlaceholder: "請輸入內容描述", + operationalTime: "作戰時間", + enterTuiyan: "進入推演頁面", + ersanwei: "二三維模式", + back: "返回", + exitTs: "退出方案庫", + save: "儲存", + cancel: "取消", + confirm: "確定", + standText: "立體文字", + layerCabin: "模擬演練圖層指揮艙", + unfoldCabin: "展開指揮艙", + unfoldElement: "展開元素庫", + fold: "收起", + element: "元素庫", + model: "人工模型", + graph: "軍事標繪", + baseLabel: "基礎標繪", + effects: "特效", + "事件名称": "事件名稱", + "开始时间": "開始時間", + "持续时间": "持續時間", + "删除": "刪除", + "定位": "定位", + popconfirmTitle: "確定要刪除嗎?", + numberOfFlicker: "閃爍次數", + numberPlaceholder: "請輸入閃爍次數", + selectEventToUpdate: "選中事件調整屬性", + situationEvent: "態勢事件", + hour: "時", + minute: "分", + second: "秒", + isContainModelPosition: "路徑是否包含元素點位", + drawPath: "繪製路徑", + directoryNamePlaceholder: "請輸入資料夾名稱", + name: "名稱", + "添加态势事件": "新增態勢事件", + "视角设定": "視角設定", + "重置视角": "重置視角", } } as const diff --git a/src/renderer/src/components/upload/uploadFiles.vue b/src/renderer/src/components/upload/uploadFiles.vue index a419421..4726904 100644 --- a/src/renderer/src/components/upload/uploadFiles.vue +++ b/src/renderer/src/components/upload/uploadFiles.vue @@ -8,21 +8,22 @@ :on-success="handleSuccess" :on-error="handleError" class="simple-upload" + accept=".YJ" > - + {{ t('auths.upload') }} diff --git a/src/renderer/src/views/TS/edit/billboardObjectTs.vue b/src/renderer/src/views/TS/edit/billboardObjectTs.vue new file mode 100644 index 0000000..62c605d --- /dev/null +++ b/src/renderer/src/views/TS/edit/billboardObjectTs.vue @@ -0,0 +1,922 @@ + + + + + diff --git a/src/renderer/src/views/TS/edit/polygonObjectTs.vue b/src/renderer/src/views/TS/edit/polygonObjectTs.vue new file mode 100644 index 0000000..4b6900a --- /dev/null +++ b/src/renderer/src/views/TS/edit/polygonObjectTs.vue @@ -0,0 +1,393 @@ + + + + + diff --git a/src/renderer/src/views/TS/edit/polylineObjectTs.vue b/src/renderer/src/views/TS/edit/polylineObjectTs.vue new file mode 100644 index 0000000..d003de0 --- /dev/null +++ b/src/renderer/src/views/TS/edit/polylineObjectTs.vue @@ -0,0 +1,574 @@ + + + + + diff --git a/src/renderer/src/views/TS/element.vue b/src/renderer/src/views/TS/element.vue index 39d7166..3d5f8c3 100644 --- a/src/renderer/src/views/TS/element.vue +++ b/src/renderer/src/views/TS/element.vue @@ -3,29 +3,30 @@
- 展开元素库 + {{ t('ts.unfoldElement') }}
- 元素库 + {{ t("ts.element") }} - 收起 + {{ t("ts.fold") }}
-
- {{ item.name }} +
+ {{ t('ts.' + item.name) }}
@@ -75,10 +76,12 @@ import {GraphApi} from "../../api/graphLabel"; import {addMapSource} from "./entity"; import {useTreeNode} from "../components/tree/hooks/treeNode"; import {ElMessage, TreeInstance} from "element-plus"; +import {useI18n} from "vue-i18n"; const {getSelectedNodes} = useTreeNode() const service = ref(localStorage.getItem('ip')) let mini = ref(false) +const {t} = useI18n() interface Tree { name: string @@ -94,10 +97,10 @@ const defaultProps = { const activIndex = ref(0) const tabs = [ - {name: "人工模型", dataType: 'tree', key: "model",}, - {name: "军事标绘", dataType: 'tree', key: "graph", funName: 'DrawPoint',}, + {name: "model", dataType: 'tree', key: "model",}, + {name: "graph", dataType: 'tree', key: "graph", funName: 'DrawPoint',}, { - name: "基础标绘", dataType: 'list', children: + name: "baseLabel", dataType: 'list', children: [ {name: "点", source_name: "点标注", funName: 'DrawPoint', type: "point"}, {name: "线", source_name: "线标注", funName: 'DrawPolyline', type: "line", positionLength: 2}, @@ -108,7 +111,7 @@ const tabs = [ ] }, { - name: "特效", dataType: 'list', children: [ + name: "effects", dataType: 'list', children: [ {name: "火焰", source_name: "火焰", funName: 'DrawPoint', type: "fire"}, {name: "喷射水柱", source_name: "喷射水柱", funName: 'DrawPolyline', type: "waterL", option: {number: 2}}, {name: "立体文字", source_name: "", funName: 'DrawPolyline', type: "standText", positionLength: 2} diff --git a/src/renderer/src/views/TS/list.vue b/src/renderer/src/views/TS/list.vue index bfc811e..9a6c15b 100644 --- a/src/renderer/src/views/TS/list.vue +++ b/src/renderer/src/views/TS/list.vue @@ -5,7 +5,7 @@ {{ date.hms }}
{{ date.ymd }} - 星期{{ date.week }} + {{ t(`week.${date.week}`) }}
实景三维态势推演系统
@@ -17,44 +17,45 @@
- 历史推演 + {{ t('ts.historyDeduce') }}
- 新建推演 - 导入 - 导出 + {{ t('ts.createPlan') }} +
- - + + - - - + + + diff --git a/src/renderer/src/views/components/propertyBox/CircleViewShed.vue b/src/renderer/src/views/components/propertyBox/CircleViewShed.vue index 9af869b..9b71096 100644 --- a/src/renderer/src/views/components/propertyBox/CircleViewShed.vue +++ b/src/renderer/src/views/components/propertyBox/CircleViewShed.vue @@ -157,7 +157,6 @@ const precisionInput = () => { // precision.value = dom.max * 1 // } visibility.precisions = precision.value - console.log('precision.value', visibility.precisions, precision.value) } const precisionChange = () => {} const draw = (e) => { @@ -179,7 +178,6 @@ const updateDataAttr = async () => { } const precisionMaxInput = () => { let dom: any = document.getElementById('precision') - console.log('maxNum.value', maxNum.value, dom.min, dom.max) if (maxNum.value < dom.min * 1) { maxNum.value = dom.min * 1 } else if (maxNum.value > dom.max * 1) { @@ -190,7 +188,6 @@ const precisionMaxInput = () => { watch( () => maxNum.value, (x, j) => { - console.log('maxNum.value11111', 'x:' + x, 'y:' + j) if (!x) { maxNum.value = 1 } diff --git a/src/renderer/src/views/components/propertyBox/CoorLocation.vue b/src/renderer/src/views/components/propertyBox/CoorLocation.vue index 81050d0..d71d2e4 100644 --- a/src/renderer/src/views/components/propertyBox/CoorLocation.vue +++ b/src/renderer/src/views/components/propertyBox/CoorLocation.vue @@ -17,7 +17,13 @@
地理坐标系 @@ -25,14 +31,26 @@ v-if="isHotGroupOpen" name="arrow2" :size="10" - color="rgba(0, 255, 255, 1)" + :color=" + name_map1.filter((item) => { + return item.epsg == coordinate + }).length > 0 + ? 'rgba(0, 255, 255, 1)' + : 'rgba(255, 255, 255, 1)' + " style="margin-left: 10px" >
@@ -46,7 +64,13 @@
投影坐标系 @@ -54,14 +78,26 @@ v-if="isHotGroupOpen2" name="arrow2" :size="10" - color="rgba(0, 255, 255, 1)" + :color=" + name_map2.filter((item) => { + return item.epsg == coordinate + }).length > 0 + ? 'rgba(0, 255, 255, 1)' + : 'rgba(255, 255, 255, 1)' + " style="margin-left: 10px" >
@@ -122,9 +158,9 @@
经度 - + - +
@@ -132,9 +168,9 @@
纬度 - + - +
@@ -155,11 +191,11 @@
经度 - + - + - +
@@ -167,11 +203,11 @@
纬度 - + - + - +
@@ -365,6 +401,7 @@ const turnToPosition = async () => { } break case 'second': + console.log(longitude.value, lngMin.value, 'klklkl') // @ts-ignore (define in dts) var lng = Math.abs(longitude.value) + Math.abs(lngMin.value) / 60 // @ts-ignore (define in dts) @@ -379,8 +416,8 @@ const turnToPosition = async () => { window.earth ) position = { - lng: lng, - lat: lat, + lng: longitude.value != null && lngMin.value != null ? lng : null, + lat: latitude.value != null && latMin.value != null ? lat : null, alt: point2[0].height < 0 ? 0 : point2[0].height } @@ -403,8 +440,8 @@ const turnToPosition = async () => { window.earth ) position = { - lng: lng, - lat: lat, + lng: longitude.value != null && lngMin.value != null && lngSec.value != null ? lng : null, + lat: latitude.value != null && latMin.value != null && latSec.value != null ? lat : null, alt: point3[0].height < 0 ? 0 : point3[0].height } break @@ -444,6 +481,7 @@ const getPosition = async () => { } const flyto = async (e) => { await getPosition() + console.log(pointPosi.lng, pointPosi.lng !== 0, pointPosi.lat, 'ooppp') if ((!pointPosi.lng && pointPosi.lng !== 0) || (!pointPosi.lat && pointPosi.lng !== 0)) { ElMessage({ message: '请正确填写坐标信息!', @@ -474,7 +512,7 @@ const flyto = async (e) => { await initMapData('point', params, null) } -var pointPosi:any = {} +var pointPosi: any = {} const draw = async (e) => { if (!pointPosi.lng) { await getPosition() diff --git a/src/renderer/src/views/components/propertyBox/GoodsSearchCircle.vue b/src/renderer/src/views/components/propertyBox/GoodsSearchCircle.vue index 8d9f6f6..ed497c9 100644 --- a/src/renderer/src/views/components/propertyBox/GoodsSearchCircle.vue +++ b/src/renderer/src/views/components/propertyBox/GoodsSearchCircle.vue @@ -1,5 +1,5 @@