From 812604beb14f16164bfab00fdcef610803b4b5af Mon Sep 17 00:00:00 2001 From: zh <972939975@qq.com> Date: Mon, 10 Nov 2025 15:24:34 +0800 Subject: [PATCH 1/4] =?UTF-8?q?number=E8=BE=93=E5=85=A5=E6=A1=86=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E5=80=BC=E6=9C=80=E5=B0=8F=E5=80=BC=E9=99=90=E5=88=B6?= =?UTF-8?q?=EF=BC=9B=E5=A2=9E=E5=8A=A0tab=E3=80=81mif=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/index.ts | 23 +- src/renderer/public/sdk/custom/css/index.css | 249 +- src/renderer/src/assets/styles/global.css | 20 +- src/renderer/src/icons/svg/mif.svg | 1 + src/renderer/src/icons/svg/tab.svg | 1 + src/renderer/src/main.ts | 2 + src/renderer/src/utils/index.ts | 13 + .../components/bottomSide/bottomSide.vue | 10 +- .../components/propertyBox/addStandText.vue | 3 +- .../components/propertyBox/attackArrow.vue | 12 +- .../components/propertyBox/groundText.vue | 60 +- .../views/components/propertyBox/layer.vue | 99 +- .../src/views/components/tree/index.vue | 2 +- src/shims-vue.d.ts | 12 + tsconfig.node.json | 2 +- tsconfig.web.json | 3 +- yarn.lock | 7370 +++++++++++++++++ 17 files changed, 7677 insertions(+), 205 deletions(-) create mode 100644 src/renderer/src/icons/svg/mif.svg create mode 100644 src/renderer/src/icons/svg/tab.svg create mode 100644 src/shims-vue.d.ts create mode 100644 yarn.lock diff --git a/src/main/index.ts b/src/main/index.ts index 6e8aeeb..a90a9c3 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -472,7 +472,7 @@ function windowAllClosed() { console.log('所有窗口已关闭,执行清理脚本...'); getServer().close(() => { // 执行批处理文件 - const cleanupProcess = exec('D:/project/electron-4.0/electron-4/resources/java/stop.bat', (error, stdout, stderr) => { + const cleanupProcess = exec(stopBatPath.substring(1, 200), (error, stdout, stderr) => { if (error) { console.error(`清理脚本执行失败: ${error.message}`); } @@ -573,6 +573,27 @@ if (!gotTheLock) { } console.log(`批处理输出: ${stdout}`); }); + // const batProcess = spawn('cmd.exe', ['/c', startBatPath.substring(1, 200)]); + // // 实时监听标准输出(stdout) + // batProcess.stdout.on('data', (data) => { + // // data 是 Buffer 类型,转为字符串后输出 + // console.log(`批处理输出: ${data.toString().trim()}`); + // }); + + // // 监听错误输出(stderr) + // batProcess.stderr.on('data', (data) => { + // console.error(`错误输出: ${data.toString().trim()}`); + // }); + + // // 监听进程执行出错(如文件不存在、权限问题等) + // batProcess.on('error', (error) => { + // console.error(`执行错误: ${error.message}`); + // }); + + // // 监听进程退出事件(执行结束后触发) + // batProcess.on('close', (code) => { + // console.log(`批处理执行完毕,退出码: ${code}`); + // }); // Set app user model id for windows electronApp.setAppUserModelId('com.electron') diff --git a/src/renderer/public/sdk/custom/css/index.css b/src/renderer/public/sdk/custom/css/index.css index 23e7778..491ccbf 100644 --- a/src/renderer/public/sdk/custom/css/index.css +++ b/src/renderer/public/sdk/custom/css/index.css @@ -34,7 +34,7 @@ } :root { - --color-sdk-base-rgb: 0, 255, 255; + --color-base1: 0, 255, 255; --color-sdk-auxiliary: 0, 66, 66; --color-sdk-auxiliary-public: #ffffff; --color-sdk-warning-0: #1BF8C3; @@ -44,9 +44,9 @@ --color-sdk-text-head: #FFFFFF; --color-sdk-text-head-1: #E6F7FF; --color-sdk-text-head-2: #ADF1FF; - --color-sdk-gradual: rgb(0, 255, 255) 6.25%, rgb(0, 200, 255) 100%; - --color-sdk-bg-gradual: #00ffff33 0%, #00ffff00 100%; - --color-sdk-text-shadow: rgba(20, 118, 255, 1); + --color-sdk-gradual: rgb(var(--color-base1)) 6.25%, var(--color-border1) 100%; + --color-sdk-bg-gradual: rgba(var(--color-base1), 0.2) 0%, rgba(var(--color-base1), 0) 100%; + --color-text-shadow: rgba(20, 118, 255, 1); } .cesium-viewer-cesiumWidgetContainer { @@ -88,7 +88,7 @@ width: 70.5px; height: 6px; opacity: 1; - background: rgba(var(--color-sdk-base-rgb), 1); + background: rgba(var(--color-base1), 1); clip-path: polygon(0 0, calc(100% - 3px) 0, 100% 6px, 0 6px); } @@ -158,8 +158,8 @@ border-radius: 4px; white-space: nowrap; border-radius: 4px; - background: rgba(var(--color-sdk-base-rgb), 0.2); - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + background: rgba(var(--color-base1), 0.2); + border: 1px solid rgba(var(--color-base1), 0.5); display: flex; justify-content: flex-start; align-items: center; @@ -170,7 +170,7 @@ } .YJ-custom-base-dialog button:not(button[disabled]):hover { - border-color: rgba(var(--color-sdk-base-rgb), 1) !important; + border-color: rgba(var(--color-base1), 1) !important; cursor: pointer; } @@ -224,7 +224,7 @@ line-height: 0px; color: rgba(255, 255, 255, 1); text-align: left; - text-shadow: 0px 0px 9px var(--color-sdk-text-shadow); + text-shadow: 0px 0px 9px var(--color-text-shadow); -webkit-pointer-events: none; -moz-pointer-events: none; -ms-pointer-events: none; @@ -244,7 +244,7 @@ line-height: 0px; color: rgba(255, 255, 255, 1); text-align: left; - text-shadow: 0px 0px 9px var(--color-sdk-text-shadow) + text-shadow: 0px 0px 9px var(--color-text-shadow) } .YJ-custom-base-dialog>.title-box>.close-box { @@ -262,7 +262,7 @@ display: block; width: 100%; height: 100%; - background: rgba(var(--color-sdk-base-rgb), 1); + background: rgba(var(--color-base1), 1); opacity: 0.5; } @@ -336,7 +336,7 @@ .YJ-custom-base-dialog>.content textarea { font-size: 16px; background-color: rgba(0, 0, 0, 0.5); - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border: 1px solid rgba(var(--color-base1), 0.5); border-radius: 5px; line-height: 32px; height: 32px; @@ -351,13 +351,13 @@ } .YJ-custom-base-dialog>.content input[type=checkbox]:read-only { - background-color: rgba(var(--color-sdk-base-rgb), 0.2); + background-color: rgba(var(--color-base1), 0.2); } .YJ-custom-base-dialog>.content input:focus-visible, .YJ-custom-base-dialog>.content textarea:focus-visible { outline: none; - border-color: rgba(var(--color-sdk-base-rgb), 0.8); + border-color: rgba(var(--color-base1), 0.8); } .YJ-custom-base-dialog>.content select:focus-visible { @@ -366,7 +366,7 @@ } .YJ-custom-base-dialog>.content select { - background-color: rgba(var(--color-sdk-base-rgb), 0.2); + background-color: rgba(var(--color-base1), 0.2); border: 1px solid rgba(0, 255, 255, 0); border-radius: 5px; line-height: 32px; @@ -454,14 +454,14 @@ background-color: #ffffff00; color: #000; overflow: hidden; - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border: 1px solid rgba(var(--color-base1), 0.5); } .YJ-custom-base-dialog>.content .table input {} .YJ-custom-base-dialog>.content .table .tr { display: flex; - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border: 1px solid rgba(var(--color-base1), 0.5); border-right: none; } @@ -545,13 +545,13 @@ .YJ-custom-base-dialog>.content *::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); - background-color: rgba(var(--color-sdk-base-rgb)); + background-color: rgba(var(--color-base1)); } .YJ-custom-base-dialog>.content *::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); border-radius: 5px; - background-color: rgba(var(--color-sdk-base-rgb), 0.1); + background-color: rgba(var(--color-base1), 0.1); } .YJ-custom-base-dialog>.content .table .table-body .tr:last-child {} @@ -559,7 +559,7 @@ .YJ-custom-base-dialog>.content .table .tr .th, .YJ-custom-base-dialog>.content .table .tr .td { flex: 1; - border-right: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border-right: 1px solid rgba(var(--color-base1), 0.5); padding: 5px 10px; display: flex; align-items: center; @@ -639,7 +639,7 @@ .YJ-custom-base-dialog>.content .table.camera-table .tr:last-child, .YJ-custom-base-dialog>.content .table.isc-table .tr:last-child { - border-bottom: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border-bottom: 1px solid rgba(var(--color-base1), 0.5); } .YJ-custom-base-dialog>.content .table.camera-table .tr .td span, @@ -692,7 +692,7 @@ height: 6px; border: 0; margin-top: 20px; - background: rgba(var(--color-sdk-base-rgb), 0.2); + background: rgba(var(--color-base1), 0.2); -webkit-appearance: none; } */ .YJ-custom-base-dialog>.content [type="range"] { @@ -709,7 +709,7 @@ .YJ-custom-base-dialog>.content [type="range"]::-webkit-slider-runnable-track { height: 6px; - background: rgba(var(--color-sdk-base-rgb), 0.2); + background: rgba(var(--color-base1), 0.2); } .YJ-custom-base-dialog>.content [type="range" i]::-webkit-slider-container { @@ -723,10 +723,10 @@ width: 20px; height: 20px; border-radius: 50%; - background-color: rgba(var(--color-sdk-base-rgb), 1); - border: 1px solid rgba(var(--color-sdk-base-rgb), 1); + background-color: rgba(var(--color-base1), 1); + border: 1px solid rgba(var(--color-base1), 1); margin-top: -7px; - border-image: linear-gradient(rgba(var(--color-sdk-base-rgb), 1), rgba(var(--color-sdk-base-rgb), 1)) 0 fill / 8 20 8 0 / 0px 0px 0 2000px; + border-image: linear-gradient(rgba(var(--color-base1), 1), rgba(var(--color-base1), 1)) 0 fill / 8 20 8 0 / 0px 0px 0 2000px; } @@ -757,11 +757,12 @@ font-weight: 700; font-family: 'D-Din-Bold'; font-size: 18px; */ - font-size: 12px; + font-family: 'ddin'; + font-size: 18px; font-weight: 400; letter-spacing: 0px; line-height: 24px; - color: rgba(204, 204, 204, 1); + color: rgb(255, 255, 255); text-align: left; vertical-align: top; } @@ -800,6 +801,15 @@ margin-right: -15px; } +.YJ-custom-base-dialog>.content .input-number-unit input[type=number] { + padding: 0 16px 0 10px; +} +.YJ-custom-base-dialog>.content .input-number-unit input[type=number]::-webkit-outer-spin-button, +.YJ-custom-base-dialog>.content .input-number-unit input[type=number]::-webkit-inner-spin-button { + margin-left: 5px; + margin-right: -12px; +} + .YJ-custom-base-dialog>.content .input-number-unit-1 input[type=number] { padding: 0 26px 0 10px; } @@ -916,11 +926,11 @@ } .fly-roam>.content .table .table-body .tr.active { - background: rgba(var(--color-sdk-base-rgb), 0.15); + background: rgba(var(--color-base1), 0.15); } .fly-roam>.content .table .table-body .tr:last-child { - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border: 1px solid rgba(var(--color-base1), 0.5); border-left: none; border-right: none; } @@ -935,7 +945,7 @@ cursor: no-drop; } .YJ-custom-base-dialog>.content .fly-roam .table .table-body .tr:last-child .play:hover { - border-color: rgba(var(--color-sdk-base-rgb), 0.5) !important; + border-color: rgba(var(--color-base1), 0.5) !important; } */ .fly-roam>.content .table .action { @@ -1065,7 +1075,7 @@ margin-top: 1px; font-size: 14px; background-color: rgba(0, 0, 0, 0.5); - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border: 1px solid rgba(var(--color-base1), 0.5); border-radius: 5px; line-height: 32px; height: 32px; @@ -1092,7 +1102,7 @@ } .YJ-custom-base-dialog .ew-color-picker .icon-pen-box:hover .icon-pen { - fill: rgba(var(--color-sdk-base-rgb), 1); + fill: rgba(var(--color-base1), 1); margin: 0; } @@ -1154,14 +1164,14 @@ .YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color.add, .YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color.subtract { - border-color: rgba(var(--color-sdk-base-rgb), 0.2); + border-color: rgba(var(--color-base1), 0.2); background: unset; line-height: 22px; } .YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color.add:hover, .YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color.subtract:hover { - border-color: rgba(var(--color-sdk-base-rgb), 0.4); + border-color: rgba(var(--color-base1), 0.4); } .YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container svg, @@ -1445,13 +1455,13 @@ .DIV-cy-tabs .DIV-cy-tab-top::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); - background-color: rgba(var(--color-sdk-base-rgb)); + background-color: rgba(var(--color-base1)); } .DIV-cy-tabs .DIV-cy-tab-top::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); border-radius: 5px; - background-color: rgba(var(--color-sdk-base-rgb), 0.1); + background-color: rgba(var(--color-base1), 0.1); } .DIV-cy-tabs .DIV-cy-tab-top::after { @@ -1474,11 +1484,11 @@ } .DIV-cy-tabs .DIV-cy-tab-pane-title .DIV-cy-tab-pane-title-p:hover { - border-bottom-color: rgba(var(--color-sdk-base-rgb)); + border-bottom-color: rgba(var(--color-base1)); } .DIV-cy-tabs .DIV-cy-tab-pane-title .DIV-cy-tab-pane-title-p:hover span { - text-shadow: 0px 0px 9px var(--color-sdk-text-shadow); + text-shadow: 0px 0px 9px var(--color-text-shadow); } .DIV-cy-tabs .DIV-cy-tab-pane-title:first-child { @@ -1515,11 +1525,11 @@ } .DIV-cy-tabs .DIV-cy-tab-pane-title-p.is-active { - border-bottom-color: rgba(var(--color-sdk-base-rgb)); + border-bottom-color: rgba(var(--color-base1)); } .DIV-cy-tabs .DIV-cy-tab-pane-title-p.is-active span { - text-shadow: 0px 0px 9px var(--color-sdk-text-shadow); + text-shadow: 0px 0px 9px var(--color-text-shadow); } /* 开关按钮样式 */ @@ -1530,8 +1540,8 @@ height: 20px; padding: 0; position: relative; - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.2); - background-color: rgba(var(--color-sdk-base-rgb), 0.2); + border: 1px solid rgba(var(--color-base1), 0.2); + background-color: rgba(var(--color-base1), 0.2); border-radius: 20px; background-clip: content-box; display: inline-block; @@ -1555,9 +1565,9 @@ .YJ-custom-base-dialog>.content .btn-switch:checked, .YJ-custom-base-dialog>.foot .btn-switch:checked { - border-color: rgba(var(--color-sdk-base-rgb), 1); - box-shadow: rgba(var(--color-sdk-base-rgb)) 0 0 0 16px inset; - background-color: rgba(var(--color-sdk-base-rgb)); + border-color: rgba(var(--color-base1), 1); + box-shadow: rgba(var(--color-base1)) 0 0 0 16px inset; + background-color: rgba(var(--color-base1)); } .YJ-custom-base-dialog>.content .btn-switch:checked:before, @@ -1709,12 +1719,12 @@ .YJ-custom-base-dialog>.content .cy_datalist input.datalist { border-color: #00000000; - background-color: rgba(var(--color-sdk-base-rgb), 0.2) !important; + background-color: rgba(var(--color-base1), 0.2) !important; } .YJ-custom-base-dialog>.content .cy_datalist dl { min-width: 100%; - border-color: rgba(var(--color-sdk-base-rgb), 0.5); + border-color: rgba(var(--color-base1), 0.5); } .YJ-custom-base-dialog>.content .cy_datalist dl dd { @@ -1727,17 +1737,17 @@ } .YJ-custom-base-dialog>.content .cy_datalist dl dd:hover { - background-color: rgba(var(--color-sdk-base-rgb), 0.2); + background-color: rgba(var(--color-base1), 0.2); color: white; } .YJ-custom-base-dialog>.content .cy_datalist dl dd.active { - color: rgba(var(--color-sdk-base-rgb)) !important; - /* background-color: rgba(var(--color-sdk-base-rgb), 0.2); */ + color: rgba(var(--color-base1)) !important; + /* background-color: rgba(var(--color-base1), 0.2); */ } .YJ-custom-base-dialog>.content .cy_datalist dl dd.active svg { - fill: rgba(var(--color-sdk-base-rgb)) + fill: rgba(var(--color-base1)) } .YJ-custom-base-dialog>.content .cy_datalist dl dd.active::before { @@ -1745,8 +1755,8 @@ display: inline-block; width: 8px; height: 4px; - border-bottom: 2px solid rgba(var(--color-sdk-base-rgb)); - border-left: 2px solid rgba(var(--color-sdk-base-rgb)); + border-bottom: 2px solid rgba(var(--color-base1)); + border-left: 2px solid rgba(var(--color-base1)); transform: rotate(-45deg); position: absolute; right: 6px; @@ -1808,7 +1818,7 @@ width: 23px; height: 26px; cursor: pointer; - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.2); + border: 1px solid rgba(var(--color-base1), 0.2); display: flex; align-items: center; justify-content: center; @@ -1942,13 +1952,13 @@ } .YJ-custom-base-dialog.trajectory-motion>.content .btn.is-active { - border-color: rgba(var(--color-sdk-base-rgb)); + border-color: rgba(var(--color-base1)); } .YJ-custom-base-dialog.trajectory-motion>.content .btn-group .btn.is-active>span { color: #fff; font-size: 16px; - text-shadow: 0px 0px 9px var(--color-sdk-text-shadow); + text-shadow: 0px 0px 9px var(--color-text-shadow); font-weight: 400; } @@ -2029,7 +2039,7 @@ .YJ-custom-base-dialog.sun-shine-surface>.content>div .progress { height: 100%; width: 0; - background: rgba(var(--color-sdk-base-rgb), 1); + background: rgba(var(--color-base1), 1); border-radius: 15px; position: relative; } @@ -2039,7 +2049,7 @@ height: 16px; background: white; /* border: 3px solid #4285f4; */ - background: rgba(var(--color-sdk-base-rgb), 1); + background: rgba(var(--color-base1), 1); border-radius: 50%; position: absolute; right: -8px; @@ -2255,7 +2265,7 @@ } .YJ-custom-base-dialog.submerge>.content .table-body .tr:last-child { - border-bottom: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border-bottom: 1px solid rgba(var(--color-base1), 0.5); } .YJ-custom-base-dialog.submerge>.content .table-empty { @@ -2331,7 +2341,7 @@ } .YJ-custom-base-dialog.view-shed>.content .range-box .range-bg { - background: rgba(var(--color-sdk-base-rgb), 0.2); + background: rgba(var(--color-base1), 0.2); height: 100%; width: 100%; mask: url(../img/range.svg); @@ -2353,7 +2363,7 @@ .YJ-custom-base-dialog.view-shed>.content .range-box .range-bg .range-process { width: 0; height: 100%; - background: rgba(var(--color-sdk-base-rgb), 1); + background: rgba(var(--color-base1), 1); } .YJ-custom-base-dialog.view-shed>.content .range-box .range-node-box { @@ -2399,7 +2409,7 @@ height: 20px; background: #ffffff; border-radius: 50%; - border: 2px solid rgba(var(--color-sdk-base-rgb), 1); + border: 2px solid rgba(var(--color-base1), 1); } .YJ-custom-base-dialog.view-shed>.content .range-box .range-node-box .range-node-active-text { @@ -2418,7 +2428,7 @@ .YJ-custom-base-dialog.view-shed>.content .range-box input[type="range"]::-webkit-slider-runnable-track { height: 6px; - background: rgba(var(--color-sdk-base-rgb), 0); + background: rgba(var(--color-base1), 0); } .YJ-custom-base-dialog.view-shed>.content .range-box input[type="range"]::-webkit-slider-thumb { @@ -2427,10 +2437,10 @@ width: 20px; height: 20px; border-radius: 50%; - background-color: rgba(var(--color-sdk-base-rgb), 0); - border: 1px solid rgba(var(--color-sdk-base-rgb), 0); + background-color: rgba(var(--color-base1), 0); + border: 1px solid rgba(var(--color-base1), 0); margin-top: -7px; - border-image: linear-gradient(rgba(var(--color-sdk-base-rgb), 0), rgba(var(--color-sdk-base-rgb), 0)) 0 fill / 8 20 8 0 / 0px 0px 0 2000px; + border-image: linear-gradient(rgba(var(--color-base1), 0), rgba(var(--color-base1), 0)) 0 fill / 8 20 8 0 / 0px 0px 0 2000px; } /* 通视分析 */ @@ -2473,7 +2483,7 @@ } .el-slider { - --el-slider-main-bg-color: rgba(var(--color-sdk-base-rgb), 1) + --el-slider-main-bg-color: rgba(var(--color-base1), 1) } /* 地形可视域分析 */ @@ -2704,6 +2714,11 @@ flex: 0 0 160px; } +.YJ-custom-base-dialog>.content>div .spatial-info-table .table-body .td input[type=number] { + font-family: 'ddin'; + font-size: 14px; +} + /* 集结地 */ .YJ-custom-base-dialog.assemble>.content { width: 600px; @@ -2930,33 +2945,33 @@ } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit .datalist { - background-color: rgba(var(--color-sdk-base-rgb), 0.1) !important; + background-color: rgba(var(--color-base1), 0.1) !important; border-radius: 4px 0px 0px 4px !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit:nth-of-type(1) .datalist { - background-color: rgba(var(--color-sdk-base-rgb), 0.1) !important; + background-color: rgba(var(--color-base1), 0.1) !important; border-radius: 4px 0px, 0px, 4px !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit:nth-of-type(2) .datalist { - background-color: rgba(var(--color-sdk-base-rgb), 0.1) !important; + background-color: rgba(var(--color-base1), 0.1) !important; border-radius: 0px 4px 4px 0px !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit:nth-of-type(1) input { - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5) !important; + border: 1px solid rgba(var(--color-base1), 0.5) !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit:nth-of-type(2) input { - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5) !important; + border: 1px solid rgba(var(--color-base1), 0.5) !important; } .YJ-custom-base-dialog.polyline>.content input.input-text { background-color: rgba(0, 0, 0, 0.5) !important; border-radius: unset !important; - border-top: 1px solid rgba(var(--color-sdk-base-rgb), 0.5) !important; - border-bottom: 1px solid rgba(var(--color-sdk-base-rgb), 0.5) !important; + border-top: 1px solid rgba(var(--color-base1), 0.5) !important; + border-bottom: 1px solid rgba(var(--color-base1), 0.5) !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist input { @@ -3057,33 +3072,33 @@ } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit .datalist { - background-color: rgba(var(--color-sdk-base-rgb), 0.1) !important; + background-color: rgba(var(--color-base1), 0.1) !important; border-radius: 4px 0px 0px 4px !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit:nth-of-type(1) .datalist { - background-color: rgba(var(--color-sdk-base-rgb), 0.1) !important; + background-color: rgba(var(--color-base1), 0.1) !important; border-radius: 4px 0px, 0px, 4px !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit:nth-of-type(2) .datalist { - background-color: rgba(var(--color-sdk-base-rgb), 0.1) !important; + background-color: rgba(var(--color-base1), 0.1) !important; border-radius: 0px 4px 4px 0px !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit:nth-of-type(1) input { - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5) !important; + border: 1px solid rgba(var(--color-base1), 0.5) !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-unit:nth-of-type(2) input { - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5) !important; + border: 1px solid rgba(var(--color-base1), 0.5) !important; } .YJ-custom-base-dialog.polyline>.content input.input-text { background-color: rgba(0, 0, 0, 0.5) !important; border-radius: unset !important; - border-top: 1px solid rgba(var(--color-sdk-base-rgb), 0.5) !important; - border-bottom: 1px solid rgba(var(--color-sdk-base-rgb), 0.5) !important; + border-top: 1px solid rgba(var(--color-base1), 0.5) !important; + border-bottom: 1px solid rgba(var(--color-base1), 0.5) !important; } .YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist input { @@ -3109,19 +3124,19 @@ } .YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.line { - border: 1px solid rgba(var(--color-sdk-base-rgb), 1); + border: 1px solid rgba(var(--color-base1), 1); height: 0px; margin-top: 4px; } .YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.dash-line { - border: 1px dashed rgba(var(--color-sdk-base-rgb), 1); + border: 1px dashed rgba(var(--color-base1), 1); height: 0px; margin-top: 4px; } .YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.light-line { - border: 1px solid rgba(var(--color-sdk-base-rgb), 1); + border: 1px solid rgba(var(--color-base1), 1); height: 0px; margin-top: 4px; box-shadow: 0 0 3px #fff @@ -3138,13 +3153,13 @@ } .YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.flow-dash-line1 { - border: 1px dashed rgba(var(--color-sdk-base-rgb), 1); + border: 1px dashed rgba(var(--color-base1), 1); height: 0px; margin-top: 4px; } .YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.flow-dash-line2 { - border: 1px dashed rgba(var(--color-sdk-base-rgb), 1); + border: 1px dashed rgba(var(--color-base1), 1); height: 0px; margin-top: 4px; } @@ -3213,13 +3228,13 @@ .popup-textarea textarea::-webkit-scrollbar-thumb { border-radius: 5px!important; -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2)!important; - background-color: rgba(var(--color-sdk-base-rgb))!important; + background-color: rgba(var(--color-base1))!important; } .popup-textarea textarea::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2)!important; border-radius: 5px!important; - background-color: rgba(var(--color-sdk-base-rgb), 0.1)!important; + background-color: rgba(var(--color-base1), 0.1)!important; } /* 贴地图片 */ @@ -3292,19 +3307,19 @@ .YJ-custom-base-dialog.proj-convert>.content>div .top-line { top: 5px; border-radius: 0 4px 0 0; - border-top: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); - border-right: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border-top: 1px solid rgba(var(--color-base1), 0.5); + border-right: 1px solid rgba(var(--color-base1), 0.5); } .YJ-custom-base-dialog.proj-convert>.content>div .bottom-line { bottom: 5px; border-radius: 0 0 4px 0; - border-bottom: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); - border-right: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border-bottom: 1px solid rgba(var(--color-base1), 0.5); + border-right: 1px solid rgba(var(--color-base1), 0.5); } .YJ-custom-base-dialog.proj-convert>.content>div .icon-copy-box:hover .icon-copy { - fill: rgba(var(--color-sdk-base-rgb)); + fill: rgba(var(--color-base1)); } /* 高清截图 */ @@ -3325,7 +3340,7 @@ .YJ-custom-base-dialog.screenShotHD>.content>div .progress { width: 200px; height: 6px; - background: rgba(var(--color-sdk-base-rgb), 0.2); + background: rgba(var(--color-base1), 0.2); border-radius: 3px; position: relative; } @@ -3334,7 +3349,7 @@ width: 0%; height: 6px; border-radius: 3px; - background: rgba(var(--color-sdk-base-rgb), 1); + background: rgba(var(--color-base1), 1); } .YJ-custom-base-dialog.screenShotHD>.content>div .progress>.progress-text { @@ -3369,7 +3384,7 @@ } .YJ-custom-base-dialog.screenShotHD>.content>div .range-box .range-bg { - background: rgba(var(--color-sdk-base-rgb), 0.2); + background: rgba(var(--color-base1), 0.2); border-radius: 3px; height: 100%; width: 100%; @@ -3390,13 +3405,13 @@ .YJ-custom-base-dialog.screenShotHD>.content>div .range-box .range-bg .range-process { width: 0; height: 100%; - background: rgba(var(--color-sdk-base-rgb), 1); + background: rgba(var(--color-base1), 1); } .YJ-custom-base-dialog.screenShotHD>.content>div .range-box .range-bg .range-process { width: 0; height: 100%; - background: rgba(var(--color-sdk-base-rgb), 1); + background: rgba(var(--color-base1), 1); } .YJ-custom-base-dialog.screenShotHD>.content>div .range-box .range-node-box { @@ -3431,7 +3446,7 @@ height: 13px; background: #ffffff; border-radius: 50%; - border: 2px solid rgba(var(--color-sdk-base-rgb), 1); + border: 2px solid rgba(var(--color-base1), 1); } .YJ-custom-base-dialog.screenShotHD>.content>div .range-box .range-node-box .range-node-active-text { @@ -3450,7 +3465,7 @@ .YJ-custom-base-dialog.screenShotHD>.content>div .range-box input[type="range"]::-webkit-slider-runnable-track { height: 6px; - background: rgba(var(--color-sdk-base-rgb), 0); + background: rgba(var(--color-base1), 0); } .YJ-custom-base-dialog.screenShotHD>.content>div .range-box input[type="range"]::-webkit-slider-thumb { @@ -3459,10 +3474,10 @@ width: 20px; height: 20px; border-radius: 50%; - background-color: rgba(var(--color-sdk-base-rgb), 0); - border: 1px solid rgba(var(--color-sdk-base-rgb), 0); + background-color: rgba(var(--color-base1), 0); + border: 1px solid rgba(var(--color-base1), 0); margin-top: -7px; - border-image: linear-gradient(rgba(var(--color-sdk-base-rgb), 0), rgba(var(--color-sdk-base-rgb), 0)) 0 fill / 8 20 8 0 / 0px 0px 0 2000px; + border-image: linear-gradient(rgba(var(--color-base1), 0), rgba(var(--color-base1), 0)) 0 fill / 8 20 8 0 / 0px 0px 0 2000px; } /* 地图打印 */ @@ -3577,7 +3592,7 @@ flex: 0 0 25px; padding: 0; border-radius: 5px; - border: 1px solid rgba(var(--color-sdk-base-rgb), 1); + border: 1px solid rgba(var(--color-base1), 1); -webkit-appearance: none; vertical-align: middle; background: rgba(0, 0, 0, 0.5); @@ -3598,7 +3613,7 @@ .YJ-custom-checkbox-left:checked::after, .YJ-custom-checkbox-right:checked::after { content: "✔"; - background-color: rgba(var(--color-sdk-base-rgb), 1); + background-color: rgba(var(--color-base1), 1); color: rgba(var(--color-sdk-auxiliary), 1); width: 25px; height: 25px; @@ -3613,7 +3628,7 @@ flex: 0 0 14px; padding: 0; border-radius: 2px; - border: 1px solid rgba(var(--color-sdk-base-rgb), 1); + border: 1px solid rgba(var(--color-base1), 1); -webkit-appearance: none; vertical-align: middle; background-color: rgba(0, 0, 0, 0.5); @@ -3633,7 +3648,7 @@ .YJ-custom-base-dialog>.content input.YJ-custom-checkbox[type=checkbox]:checked::after { content: "✔"; - background-color: rgba(var(--color-sdk-base-rgb), 1); + background-color: rgba(var(--color-base1), 1); color: rgba(var(--color-sdk-auxiliary), 1); width: 12px; height: 12px; @@ -3727,13 +3742,13 @@ .billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-content::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); - background-color: rgba(var(--color-sdk-base-rgb)); + background-color: rgba(var(--color-base1)); } .billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-content::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); border-radius: 5px; - background-color: rgba(var(--color-sdk-base-rgb), 0.1); + background-color: rgba(var(--color-base1), 0.1); } .billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-content-pane { @@ -3748,8 +3763,8 @@ .billboard-attribute-box .billboard-attribute-box-line { position: absolute; width: 0px; - /* border-left: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); */ - border-left: 1px solid rgba(var(--color-sdk-base-rgb), 1); + /* border-left: 1px solid rgba(var(--color-base1), 0.5); */ + border-left: 1px solid rgba(var(--color-base1), 1); /* transform: rotate(45deg); */ transform-origin: 0px 0px; -webkit-pointer-events: none; @@ -3797,7 +3812,7 @@ background-color: #ffffff00; color: #ffffff; overflow: hidden; - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border: 1px solid rgba(var(--color-base1), 0.5); } .billboard-attribute-box .table .table-head .tr { @@ -3808,11 +3823,11 @@ .billboard-attribute-box .table .tr { display: flex; - border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border: 1px solid rgba(var(--color-base1), 0.5); border-right: none; } .billboard-attribute-box .table .tr .th, .billboard-attribute-box .table .tr .td { - border-right: 1px solid rgba(var(--color-sdk-base-rgb), 0.5); + border-right: 1px solid rgba(var(--color-base1), 0.5); display: flex; justify-content: center; } @@ -3862,8 +3877,8 @@ } #YJ-custom-message.success { - /* background-color: #f0f9eb; */ - /* color: rgb(82, 196, 26); */ + /* background-color: #f0f9eb; + color: rgb(82, 196, 26); */ background: linear-gradient(180deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), linear-gradient(0deg, rgba(27, 248, 195, 0.5) 0%, rgba(27, 248, 195, 0) 100%); diff --git a/src/renderer/src/assets/styles/global.css b/src/renderer/src/assets/styles/global.css index 3eea871..b5dfd2a 100644 --- a/src/renderer/src/assets/styles/global.css +++ b/src/renderer/src/assets/styles/global.css @@ -415,11 +415,11 @@ img { .ztree li span.button.chk { background: none; } -.ztree li span.button.roots_open, .ztree li span.button.bottom_open { +.ztree li span.button.roots_open, .ztree li span.button.bottom_open, .ztree li span.button.center_open { background: url(../images/tree/roots-open.png) 0 0 no-repeat; background-position: center !important; } -.ztree li span.button.roots_close, .ztree li span.button.bottom_close { +.ztree li span.button.roots_close, .ztree li span.button.bottom_close, .ztree li span.button.center_close{ background: url(../images/tree/roots-close.png) 0 0 no-repeat; background-position: center !important; } @@ -626,6 +626,22 @@ img { } } +.custom-slider-tooltip { + display: block !important; + opacity: 1 !important; + background: none !important; + border: none !important; + >span:nth-child(1) { + position: relative; + top: -18px; + pointer-events: none; + } +} + +.el-slider__runway { + background: rgba(var(--color-base1), 0.2) !important; +} + @media (max-height: 850px) { #distanceLegendDiv { .compass { diff --git a/src/renderer/src/icons/svg/mif.svg b/src/renderer/src/icons/svg/mif.svg new file mode 100644 index 0000000..0dd5c16 --- /dev/null +++ b/src/renderer/src/icons/svg/mif.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/tab.svg b/src/renderer/src/icons/svg/tab.svg new file mode 100644 index 0000000..500b0fe --- /dev/null +++ b/src/renderer/src/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/main.ts b/src/renderer/src/main.ts index 995027f..72ed250 100644 --- a/src/renderer/src/main.ts +++ b/src/renderer/src/main.ts @@ -27,6 +27,7 @@ import '../public/tree/jquery.ztree.exhide.js' import '../public/tree/fuzzysearch.js' import '../public/tree/newFuzzySearch' import theme from "@/utils/theme"; +import { handleInputLimit } from '@/utils/index' import Pagination from './components/Pagination/index.vue' import dispatchEventStorage from '@/utils/watchLocalStorage' @@ -94,6 +95,7 @@ const setApp = createApp(App) // 定义全局方法 // setApp.config.globalProperties.$md5 = md5 +setApp.config.globalProperties.$handleInputLimit = handleInputLimit setApp.component('Pagination', Pagination) setupStore(setApp) setupSvgIcon(setApp) diff --git a/src/renderer/src/utils/index.ts b/src/renderer/src/utils/index.ts index 5761668..d2081d5 100644 --- a/src/renderer/src/utils/index.ts +++ b/src/renderer/src/utils/index.ts @@ -65,3 +65,16 @@ export function getNamefromPath(path) { return name; } + +export function handleInputLimit(e) { + const minValue = parseFloat(e.target.min); + const maxValue = parseFloat(e.target.max); + if (!isNaN(maxValue) && e.target.value > maxValue) { + e.target.value = maxValue + e.target.dispatchEvent(new Event('input')) + } + else if (!isNaN(minValue) && e.target.value < minValue) { + e.target.value = minValue + e.target.dispatchEvent(new Event('input')) + } +} diff --git a/src/renderer/src/views/components/bottomSide/bottomSide.vue b/src/renderer/src/views/components/bottomSide/bottomSide.vue index 2f48792..f1fdf98 100644 --- a/src/renderer/src/views/components/bottomSide/bottomSide.vue +++ b/src/renderer/src/views/components/bottomSide/bottomSide.vue @@ -545,7 +545,7 @@ const fold = () => { }, index * itemDelay) }) // 同步bottom_left的位置和旋转 - bottom_left.style.right = '18vw' + bottom_left.style.right = '-35px' bottom_left.style.transform = 'rotate(270deg)' } else { // 折叠状态 @@ -558,7 +558,7 @@ const fold = () => { // 同步bottom_left的位置和旋转 setTimeout( () => { - bottom_left.style.right = '50%' + bottom_left.style.right = '48.5%' bottom_left.style.transform = 'rotate(90deg)' }, (itemCount - 1) * itemDelay @@ -750,9 +750,9 @@ document.addEventListener('click', (e: any) => { } .bottom_left { - position: fixed; - right: 13.5vw; - bottom: 1.5em; + position: absolute; + right: -35px; + bottom: 8px; height: 1.5vw; width: 1.5vw; // background: url('../../../assets/images/hongse/shou.png') no-repeat; diff --git a/src/renderer/src/views/components/propertyBox/addStandText.vue b/src/renderer/src/views/components/propertyBox/addStandText.vue index e4f24d8..b4670c1 100644 --- a/src/renderer/src/views/components/propertyBox/addStandText.vue +++ b/src/renderer/src/views/components/propertyBox/addStandText.vue @@ -45,10 +45,11 @@ const confirm = () => { let id = new YJ.Tools().randomString() let options: any = await initMapData('standText', { id: id, - name: name, + text: name, positions: positions }, null) delete options.host + delete options.name console.log('options', options) let selectedNodes = window.treeObj.getSelectedNodes() let node = selectedNodes && selectedNodes[selectedNodes.length - 1] diff --git a/src/renderer/src/views/components/propertyBox/attackArrow.vue b/src/renderer/src/views/components/propertyBox/attackArrow.vue index 2d9f37d..68b4310 100644 --- a/src/renderer/src/views/components/propertyBox/attackArrow.vue +++ b/src/renderer/src/views/components/propertyBox/attackArrow.vue @@ -28,7 +28,7 @@
动画时长
- + ms
@@ -66,7 +66,7 @@
Z值统一增加
- + m
@@ -89,18 +89,18 @@
{{ i + 1 }}
+ v-model="item.lng" min="-180" max="180" v-if="activeTd.index == i && activeTd.name == 'lng'" @input="$handleInputLimit"> {{ (item.lng).toFixed(8) }}
+ v-model="item.lat" min="-180" max="180" v-if="activeTd.index == i && activeTd.name == 'lat'" @input="$handleInputLimit"> {{ (item.lat).toFixed(8) }}
+ v-if="activeTd.index == i && activeTd.name == 'alt'" @input="$handleInputLimit"> {{ (entityOptions.height).toFixed(2) }}
@@ -121,7 +121,7 @@
描边宽度
- + px
diff --git a/src/renderer/src/views/components/propertyBox/groundText.vue b/src/renderer/src/views/components/propertyBox/groundText.vue index f8ec34f..451ef26 100644 --- a/src/renderer/src/views/components/propertyBox/groundText.vue +++ b/src/renderer/src/views/components/propertyBox/groundText.vue @@ -47,10 +47,10 @@
调整大小 - +
- +
@@ -102,7 +102,6 @@ let originalOptions: any let that: any const colorRef = ref(null) const open = async (id: any) => { - console.log('id', id) that = window.earth.entityMap.get(id) originalOptions = structuredClone(that.options) entityOptions.value = that @@ -130,6 +129,7 @@ const confirm = () => { // 删除不必要的属性 delete params.host delete params.name + delete params.positions let params2 = { "id": params.id, "sourceName": params.text, @@ -143,33 +143,33 @@ const close = () => { baseDialog.value?.close() } const remove = () => { - close() - ElMessageBox.confirm('此操作将永久删除节点及所有子节点, 是否继续?', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' + close() + ElMessageBox.confirm('此操作将永久删除节点及所有子节点, 是否继续?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' }) - .then(async () => { - let node = window.treeObj.getNodeByParam('id', that.options.id, null) - let source_ids = cusRemoveNode(window.treeObj, [node]) - const res = await TreeApi.removeDirectory({ ids: source_ids }) - if (res.code == 0 || res.code == 200) { - ElMessage({ - message: '删除成功', - type: 'success' - }) - that.remove() - (window as any)._entityMap.delete(source_ids[0]) - } else { - ElMessage({ - message: res.msg || '删除失败', - type: 'error' - }) - } - }) - .catch(() => { - // 用户点击取消,不执行任何操作 - }) + .then(async () => { + let node = window.treeObj.getNodeByParam('id', that.options.id, null) + let source_ids = cusRemoveNode(window.treeObj, [node]) + const res = await TreeApi.removeDirectory({ ids: source_ids }) + if (res.code == 0 || res.code == 200) { + ElMessage({ + message: '删除成功', + type: 'success' + }) + that.remove() + (window as any)._entityMap.delete(source_ids[0]) + } else { + ElMessage({ + message: res.msg || '删除失败', + type: 'error' + }) + } + }) + .catch(() => { + // 用户点击取消,不执行任何操作 + }) } const translate = () => { entityOptions.value.positionEditing = true diff --git a/src/renderer/src/views/components/propertyBox/layer.vue b/src/renderer/src/views/components/propertyBox/layer.vue index d9e85af..033cae8 100644 --- a/src/renderer/src/views/components/propertyBox/layer.vue +++ b/src/renderer/src/views/components/propertyBox/layer.vue @@ -2,23 +2,31 @@