Merge branch 'zyl' of http://xny.yj-3d.com:3000/zhouyulong/electron-4 into zyl
@ -7,6 +7,11 @@ files:
|
||||
- 'out/**/*'
|
||||
- 'package.json'
|
||||
- 'resources/**/*'
|
||||
- '!resources/java/app/license/*'
|
||||
- '!resources/java/app/lib/*'
|
||||
- '!resources/java/app/logs/*'
|
||||
- '!resources/java/app/poi/*'
|
||||
- '!resources/java/app/upload/*'
|
||||
- '!node_modules/**/*'
|
||||
- '!**/.vscode/*'
|
||||
- '!src/*'
|
||||
@ -41,6 +46,7 @@ nsis:
|
||||
perMachine: true
|
||||
allowToChangeInstallationDirectory: true
|
||||
language: "2052"
|
||||
deleteAppDataOnUninstall: true
|
||||
mac:
|
||||
entitlementsInherit: build/entitlements.mac.plist
|
||||
extendInfo:
|
||||
|
||||
14
install.txt
@ -7,3 +7,17 @@
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "installurl"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "installurl"
|
||||
!macroend
|
||||
|
||||
!macro customUnInstall
|
||||
SetRegView 64
|
||||
DeleteRegKey HKLM "${INSTALL_REGISTRY_KEY}" ;
|
||||
DeleteRegKey HKCU "${INSTALL_REGISTRY_KEY}" ;
|
||||
SetRegView 32
|
||||
DeleteRegKey HKLM "${INSTALL_REGISTRY_KEY}"
|
||||
DeleteRegKey HKCU "${INSTALL_REGISTRY_KEY}"
|
||||
|
||||
Delete "$APPDATA\${APP_ID}\*.*"
|
||||
RMDir /r "$APPDATA\${APP_ID}"
|
||||
Delete "$LOCALAPPDATA\${APP_ID}\*.*"
|
||||
RMDir /r "$LOCALAPPDATA\${APP_ID}"
|
||||
!macroend
|
||||
@ -1,9 +1,9 @@
|
||||
!macro preInit
|
||||
SetRegView 64
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_shijingjun_offline_Y_save"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_shijingjun_offline_Y_save"
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "$PROGRAMFILES\${APP_ID}"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "$PROGRAMFILES\${APP_ID}"
|
||||
#writeUninstaller $INSTDIR\uninstaller.exe
|
||||
SetRegView 32
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_shijingjun_offline_Y_save"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_shijingjun_offline_Y_save"
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "$PROGRAMFILES\${APP_ID}"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "$PROGRAMFILES\${APP_ID}"
|
||||
!macroend
|
||||
@ -1,7 +1,7 @@
|
||||
server:
|
||||
host: 127.0.0.1
|
||||
port: 8848
|
||||
path: C:\Users\Administrator\AppData\Roaming\dzsp_shijingjun_offline_Y_save
|
||||
path: C:\Users\takeshita\AppData\Roaming\dzsp_shijingjun_offline_Y_save
|
||||
poi:
|
||||
global:
|
||||
enabled: false
|
||||
|
||||
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 5.8 MiB |
|
Before Width: | Height: | Size: 8.7 MiB |
|
Before Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 6.8 MiB |
|
Before Width: | Height: | Size: 8.7 MiB |
|
Before Width: | Height: | Size: 5.8 MiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 6.8 MiB |
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 818 B |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 5.8 MiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 5.8 MiB |
|
Before Width: | Height: | Size: 8.7 MiB |
|
Before Width: | Height: | Size: 6.8 MiB |
|
Before Width: | Height: | Size: 6.8 MiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 7.1 MiB |
|
Before Width: | Height: | Size: 8.7 MiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 6.7 MiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 6.8 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 8.7 MiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 5.8 MiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 5.8 MiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 6.9 MiB |
|
Before Width: | Height: | Size: 5.8 MiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 7.0 MiB |
|
Before Width: | Height: | Size: 11 KiB |
1
src/renderer/components.d.ts
vendored
@ -23,6 +23,7 @@ declare module 'vue' {
|
||||
ElIcon: typeof import('element-plus/es')['ElIcon']
|
||||
ElImage: typeof import('element-plus/es')['ElImage']
|
||||
ElInput: typeof import('element-plus/es')['ElInput']
|
||||
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
|
||||
ElOption: typeof import('element-plus/es')['ElOption']
|
||||
ElPagination: typeof import('element-plus/es')['ElPagination']
|
||||
ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm']
|
||||
|
||||
@ -49,6 +49,10 @@
|
||||
--color-text-shadow: rgba(20, 118, 255, 1);
|
||||
}
|
||||
|
||||
/* .cesium-viewer.\32 d{
|
||||
opacity: 0;
|
||||
} */
|
||||
|
||||
.cesium-viewer-cesiumWidgetContainer {
|
||||
position: relative;
|
||||
}
|
||||
@ -171,8 +175,12 @@
|
||||
|
||||
.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;
|
||||
@ -279,6 +287,10 @@
|
||||
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;
|
||||
@ -473,6 +485,9 @@
|
||||
.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;
|
||||
@ -1772,7 +1787,7 @@
|
||||
|
||||
/* 轨迹运动 */
|
||||
.YJ-custom-base-dialog.trajectory-motion>.content {
|
||||
width: 550px;
|
||||
width: 562px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.trajectory-motion>.content .div-item>.row>.col {
|
||||
@ -1801,6 +1816,10 @@
|
||||
|
||||
.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 {
|
||||
@ -1826,7 +1845,6 @@
|
||||
.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 {
|
||||
|
||||
@ -1492,7 +1492,6 @@
|
||||
html.push('</a>')
|
||||
},
|
||||
makeDOMNodeNameBefore: function (html, setting, node) {
|
||||
console.log('=================', setting, node)
|
||||
var title = data.nodeTitle(setting, node),
|
||||
url = view.makeNodeUrl(setting, node),
|
||||
fontcss = view.makeNodeFontCss(setting, node),
|
||||
|
||||
@ -21,7 +21,7 @@ export default {
|
||||
pictureLocation: '带定位照片',
|
||||
importPanorama: '带定位全景',
|
||||
addBIM: '添加BIM',
|
||||
edit: '编辑节点',
|
||||
edit: '图层属性',
|
||||
del: '删除节点',
|
||||
setView: '设置视角',
|
||||
resetView: '重置视角',
|
||||
@ -249,6 +249,7 @@ export default {
|
||||
视野缩放: '视野缩放',
|
||||
最近距离: '最近距离',
|
||||
最远距离: '最远距离',
|
||||
基础信息: '基础信息',
|
||||
属性信息: '属性信息',
|
||||
空间信息: '空间信息',
|
||||
标注风格: '标注风格',
|
||||
|
||||
@ -20,7 +20,7 @@ export default {
|
||||
pictureLocation: 'add photo data',
|
||||
importPanorama: 'add panoramic data',
|
||||
addBIM: 'add BIM',
|
||||
edit: 'edit Node',
|
||||
edit: 'Properties',
|
||||
del: 'delete Node',
|
||||
setView: 'set View',
|
||||
resetView: 'reset View',
|
||||
@ -248,6 +248,7 @@ export default {
|
||||
视野缩放: 'Field of view zoom',
|
||||
最近距离: 'Shortest distance',
|
||||
最远距离: 'Farthest distance',
|
||||
基础信息: 'Basic info',
|
||||
属性信息: 'Attribute',
|
||||
空间信息: 'Spatial info',
|
||||
标注风格: 'Mark style',
|
||||
|
||||
@ -20,7 +20,7 @@ export default {
|
||||
pictureLocation: '帶定位照片',
|
||||
importPanorama: '帶定位全景',
|
||||
addBIM: '添加BIM',
|
||||
edit: '編輯節點',
|
||||
edit: '圖層屬性',
|
||||
del: '刪除節點',
|
||||
setView: '設置視角',
|
||||
resetView: '重置視角',
|
||||
@ -247,6 +247,7 @@ export default {
|
||||
视野缩放: '視野縮放',
|
||||
最近距离: '最近距離',
|
||||
最远距离: '最遠距離',
|
||||
基础信息: '基礎信息',
|
||||
属性信息: '屬性信息',
|
||||
空间信息: '空間信息',
|
||||
标注风格: '標注風格',
|
||||
|
||||
@ -27,6 +27,7 @@ export const TsApi = {
|
||||
data
|
||||
})
|
||||
},
|
||||
|
||||
delPlan: async (data: any) => {
|
||||
return await request.post({
|
||||
url: '/tsPlan/delete',
|
||||
@ -45,6 +46,19 @@ export const TsApi = {
|
||||
data
|
||||
})
|
||||
},
|
||||
//树的隐藏显示
|
||||
updateTreeShow: async (data: any) => {
|
||||
let datas = []
|
||||
data.forEach(item => {
|
||||
let obj = {id: item.id, show: item.isShow}
|
||||
// @ts-ignore
|
||||
datas.push(obj)
|
||||
})
|
||||
return await request.post({
|
||||
url: `/tsSource/batchUpdateShowStatus`,
|
||||
data: datas
|
||||
})
|
||||
},
|
||||
///tsSource/addModelSource
|
||||
addTsModelSource: async (data: any) => {
|
||||
return await request.post({
|
||||
|
||||
@ -426,7 +426,6 @@ img {
|
||||
.ztree li span.button.switch {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#app {
|
||||
.ztree * {
|
||||
font-size: 14px;
|
||||
@ -438,6 +437,9 @@ img {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.ztree .checkbox_false_full + a,.ztree .checkbox_false_full_focus + a {
|
||||
color: #d7d7d7;
|
||||
}
|
||||
.ztree li a.curSelectedNode {
|
||||
background-color: #ffffff00;
|
||||
border: none;
|
||||
@ -683,6 +685,18 @@ img {
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1640px) {
|
||||
#app .left .menus .menus_itemBox .item_text {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1450px) {
|
||||
#app .left .menus .menus_itemBox .item_text {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 提示 */
|
||||
/* .el-message--info {
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
import { leftClick, rightClick } from '../../src/views/components/tree/entityClick'
|
||||
import { renderVector } from '../views/components/tree/components/hooks/renderVector'
|
||||
import { TreeApi } from '@/api/tree'
|
||||
import { useTreeNode } from '@/views/components/tree/hooks/treeNode'
|
||||
const { cusUpdateNode } = useTreeNode()
|
||||
|
||||
export const initMapData = async (type, data, cd) => {
|
||||
let entityObject
|
||||
@ -115,6 +118,18 @@ export const initMapData = async (type, data, cd) => {
|
||||
})
|
||||
break
|
||||
case 'path':
|
||||
data.customView = {
|
||||
"orientation": {
|
||||
"heading": 0.7281022757737154,
|
||||
"pitch": -40.42354263534561,
|
||||
"roll": 0.00021604950860490326
|
||||
},
|
||||
"relativePosition": {
|
||||
"lng": 0.0002095400000001746,
|
||||
"lat": -0.000447990000001397,
|
||||
"alt": 45.65
|
||||
}
|
||||
}
|
||||
entityObject = new YJ.Obj.TrajectoryMotion(window.earth, data)
|
||||
break
|
||||
case 'wallStereoscopic':
|
||||
@ -196,7 +211,7 @@ export const initMapData = async (type, data, cd) => {
|
||||
console.log('--------------------onClick')
|
||||
//鼠标左键点击事件
|
||||
entityObject.onClick = () => {
|
||||
// console.log('onClick')
|
||||
console.log('onClick')
|
||||
leftClick(getOptions());
|
||||
};
|
||||
//鼠标右键点击事件
|
||||
@ -204,6 +219,24 @@ export const initMapData = async (type, data, cd) => {
|
||||
rightClick(getOptions());
|
||||
};
|
||||
|
||||
// 文本框回调
|
||||
if(type === 'textBox') {
|
||||
entityObject.callback = (options) => {
|
||||
let params = structuredClone(options)
|
||||
let sourceName = '文本框'
|
||||
delete params.name
|
||||
delete params.host
|
||||
let params2 = {
|
||||
id: params.id,
|
||||
sourceName:sourceName,
|
||||
params: params,
|
||||
isShow: params.show ? 1 : 0
|
||||
}
|
||||
TreeApi.updateDirectoryInfo(params2)
|
||||
cusUpdateNode({ id: params.id, sourceName: sourceName, params: JSON.stringify(params) })
|
||||
}
|
||||
}
|
||||
|
||||
if (entityObject.options.id) {
|
||||
(window as any)._entityMap.set(entityObject.options.id, entityObject)
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 1.9 KiB |
@ -1,4 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10.5" height="10.5" viewBox="0 0 10.5 10.5" fill="none">
|
||||
<path d="M8.25 5.39063L7.4625 4.59844C7.3875 4.52344 7.27031 4.52344 7.19531 4.59844L6.92812 4.86563C6.85312 4.94063 6.85312 5.05782 6.92812 5.13282L8.47031 6.675C8.55937 6.74532 8.68125 6.74532 8.77031 6.675L10.3125 5.13282C10.3875 5.0625 10.3922 4.94063 10.3172 4.86563L10.05 4.59844C9.975 4.52344 9.85781 4.52344 9.78281 4.59844L9 5.39063L9 1.6875C9 1.58438 8.91562 1.5 8.8125 1.5L3.75 1.5L3.75 0.1875C3.75 0.0843751 3.66562 0 3.5625 0L0.1875 0C0.084375 0 0 0.0843751 0 0.1875L0 3.5625C0 3.66563 0.084375 3.75 0.1875 3.75L3.5625 3.75C3.66562 3.75 3.75 3.66563 3.75 3.5625L3.75 2.25L8.25 2.25L8.25 5.39063ZM3 3L0.75 3L0.75 0.75L3 0.75L3 3ZM10.3125 6.75L6.9375 6.75C6.83437 6.75 6.75 6.83438 6.75 6.9375L6.75 10.3125C6.75 10.4156 6.83437 10.5 6.9375 10.5L10.3125 10.5C10.4156 10.5 10.5 10.4156 10.5 10.3125L10.5 6.9375C10.5 6.83438 10.4156 6.75 10.3125 6.75ZM9.75 9.75001L7.5 9.75001L7.5 7.5L9.75 7.5L9.75 9.75001Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12" viewBox="0 0 12 12" fill="none"><g clip-path="url(#clip-path-2256_333)"><path d="M3.74078 6.58137C3.73295 6.59133 3.72512 6.60176 3.72163 6.61434L3.11787 8.8213C3.0826 8.94978 3.11874 9.08822 3.21408 9.18586C3.28548 9.2553 3.3795 9.29351 3.47962 9.29351C3.5127 9.29351 3.54579 9.2896 3.57843 9.2809L5.77629 8.68328C5.77979 8.68328 5.78154 8.68631 5.78414 8.68631C5.80937 8.68631 5.83421 8.6772 5.85294 8.65807L11.73 2.79937C11.9046 2.62513 12.0004 2.38772 12.0004 2.12947C12.0004 1.83674 11.8759 1.54422 11.6578 1.32742L11.1027 0.773191C10.8851 0.555745 10.5913 0.431396 10.2979 0.431396C10.0389 0.431396 9.80075 0.526895 9.62573 0.700699L3.74948 6.56097C3.74341 6.56659 3.74515 6.57485 3.74078 6.58137ZM11.155 2.22562L10.5712 2.8072L9.62485 1.84869L10.2004 1.27491C10.2913 1.18379 10.4676 1.19703 10.5721 1.3016L11.1275 1.85585C11.1855 1.91358 11.2185 1.99038 11.2185 2.06633C11.2181 2.12862 11.1959 2.18505 11.155 2.22562ZM4.78596 6.67338L9.02674 2.44501L9.97356 3.40418L5.74061 7.62428L4.78596 6.67338ZM4.01329 8.38773L4.31975 7.26623L5.13725 8.08132L4.01329 8.38773Z" fill="#FFFFFF" ></path><path d="M11.5268 4.54734C11.3043 4.54734 11.1219 4.72766 11.1211 4.95248L11.1211 10.4147C11.1211 10.7012 10.8878 10.9338 10.6 10.9338L1.33227 10.9338C1.04496 10.9338 0.810751 10.7012 0.810751 10.4147L0.810751 1.49926C0.810751 1.21257 1.04496 0.979735 1.33227 0.979735L7.30122 0.979735C7.52496 0.979735 7.70653 0.798549 7.70653 0.575451C7.70653 0.352806 7.52496 0.171387 7.30122 0.171387L1.27046 0.171387C0.570049 0.171387 0 0.739297 0 1.43806L0 10.4764C0 11.1751 0.570049 11.7428 1.27046 11.7428L10.6614 11.7428C11.3623 11.7428 11.9321 11.1751 11.9321 10.4764L11.9321 4.94988C11.9312 4.72766 11.7492 4.54734 11.5268 4.54734Z" fill="#FFFFFF" ></path></g><defs><clipPath id="clip-path-2256_333"><path d="M0 12L12 12L12 0L0 0L0 12Z" fill="white"/></clipPath></defs></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.9 KiB |
@ -1,4 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="9.857177734375" viewBox="0 0 12 9.857177734375" fill="none">
|
||||
<path d="M8.28042 1.6024L11.585 1.6024C11.8114 1.6024 12 1.41411 12 1.18816C12 0.962208 11.8114 0.773909 11.585 0.773909L8.28042 0.773909C8.05408 0.773909 7.86545 0.962208 7.86545 1.18816C7.86545 1.42164 8.04652 1.6024 8.28042 1.6024ZM8.28042 4.9013L11.585 4.9013C11.8114 4.9013 12 4.713 12 4.48705C12 4.26111 11.8114 4.07281 11.585 4.07281L8.28042 4.07281C8.05408 4.07281 7.86545 4.26111 7.86545 4.48705C7.86545 4.72054 8.04652 4.9013 8.28042 4.9013ZM8.28042 8.20019L11.585 8.20019C11.8114 8.20019 12 8.0119 12 7.78595C12 7.55999 11.8114 7.37171 11.585 7.37171L8.28042 7.37171C8.05408 7.37171 7.86545 7.55999 7.86545 7.78595C7.86545 8.01943 8.04652 8.20019 8.28042 8.20019ZM7.23168 3.25185L3.97987 0.118647C3.81389 -0.0395079 3.54227 -0.0395079 3.37629 0.118647L0.124492 3.25185C-0.0414896 3.41002 -0.0414896 3.67363 0.124492 3.83179C0.207422 3.91464 0.320646 3.9523 0.42627 3.9523C0.531894 3.9523 0.64507 3.91464 0.728061 3.83179L3.24803 1.39905L3.24803 9.44293C3.24803 9.66888 3.43665 9.85718 3.67054 9.85718C3.90442 9.85718 4.10059 9.67642 4.10059 9.44293L4.10059 1.39905L6.62056 3.83179C6.78654 3.98996 7.05816 3.98996 7.22414 3.83179C7.39768 3.67363 7.39768 3.41002 7.23168 3.25185Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M3.71958 2.71666L0.414964 2.71666C0.188621 2.71666 0 2.52837 0 2.30241C0 2.07646 0.188621 1.88816 0.414964 1.88816L3.71958 1.88816C3.94592 1.88816 4.13455 2.07646 4.13455 2.30241C4.13455 2.5359 3.95348 2.71666 3.71958 2.71666ZM3.71958 6.01556L0.414964 6.01556C0.188621 6.01556 0 5.82726 0 5.60131C0 5.37536 0.188621 5.18706 0.414964 5.18706L3.71958 5.18706C3.94592 5.18706 4.13455 5.37536 4.13455 5.60131C4.13455 5.8348 3.95348 6.01556 3.71958 6.01556ZM3.71958 9.31445L0.414964 9.31445C0.188621 9.31445 0 9.12616 0 8.90021C0 8.67425 0.188621 8.48596 0.414964 8.48596L3.71958 8.48596C3.94592 8.48596 4.13455 8.67425 4.13455 8.90021C4.13455 9.13369 3.95348 9.31445 3.71958 9.31445ZM4.76832 4.36611L8.02013 1.2329C8.18611 1.07475 8.45773 1.07475 8.62371 1.2329L11.8755 4.36611C12.0415 4.52428 12.0415 4.78788 11.8755 4.94605C11.7926 5.0289 11.6794 5.06656 11.5737 5.06656C11.4681 5.06656 11.3549 5.0289 11.2719 4.94605L8.75197 2.51331L8.75197 10.5572C8.75197 10.7831 8.56335 10.9714 8.32946 10.9714C8.09558 10.9714 7.89941 10.7907 7.89941 10.5572L7.89941 2.51331L5.37944 4.94605C5.21346 5.10422 4.94184 5.10422 4.77586 4.94605C4.60232 4.78788 4.60232 4.52428 4.76832 4.36611Z" fill="#FFFFFF" ></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
@ -67,7 +67,7 @@ export function getNamefromPath(path) {
|
||||
}
|
||||
|
||||
export function handleInputLimit(e) {
|
||||
if (e.data === '-') {
|
||||
if (e.data === '-' || e.data === '.') {
|
||||
}
|
||||
else {
|
||||
e.target.value = e.target.value || 0
|
||||
|
||||
@ -157,7 +157,8 @@ const initTreeCallBack = () => {
|
||||
if (!detail && !params) {
|
||||
detail = {
|
||||
id: arr[i].id,
|
||||
name: arr[i].sourceName
|
||||
name: arr[i].sourceName,
|
||||
isShow: arr[i].isShow
|
||||
}
|
||||
}
|
||||
layers.push(
|
||||
@ -168,7 +169,7 @@ const initTreeCallBack = () => {
|
||||
)
|
||||
} else {
|
||||
console.log({...detail, ...params})
|
||||
initMapData(arr[i].sourceType, {...detail, ...params})
|
||||
initMapData(arr[i].sourceType, {...detail, ...params},)
|
||||
|
||||
}
|
||||
}
|
||||
@ -195,7 +196,9 @@ const initTreeCallBack = () => {
|
||||
});
|
||||
if ((window as any).earth_ts) {
|
||||
for (let i = 0; i < layers.length; i++) {
|
||||
initMapData(layers[i].sourceType, layers[i].detail, null)
|
||||
initMapData(layers[i].sourceType, layers[i].detail, (layer) => {
|
||||
layer.show = Boolean(layers[i].isShow)
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -232,7 +235,7 @@ const onClick = (event: MouseEvent, treeId: string, treeNode: any) => {
|
||||
* @param treeId
|
||||
* @param treeNode
|
||||
*/
|
||||
const onCheck = (event: any, treeId: any, treeNode: any) => {
|
||||
const onCheck = async (event: any, treeId: any, treeNode: any) => {
|
||||
console.log(treeNode, 'treeNode')
|
||||
let p_ids: any = []
|
||||
let parentNode = treeNode.getParentNode();
|
||||
@ -262,7 +265,7 @@ const onCheck = (event: any, treeId: any, treeNode: any) => {
|
||||
p_ids.push(
|
||||
{
|
||||
id: parentNode.id,
|
||||
isShow: 0
|
||||
isShow: 0,
|
||||
}
|
||||
)
|
||||
window['treeObj'].checkNode(parentNode, false, true);
|
||||
@ -270,7 +273,7 @@ const onCheck = (event: any, treeId: any, treeNode: any) => {
|
||||
p_ids.push(
|
||||
{
|
||||
id: parentNode.id,
|
||||
isShow: 1
|
||||
isShow: 1,
|
||||
}
|
||||
)
|
||||
}
|
||||
@ -286,7 +289,7 @@ const onCheck = (event: any, treeId: any, treeNode: any) => {
|
||||
|
||||
function sourceStatus(node) {
|
||||
if (canCheckType.includes(node.sourceType)) {
|
||||
ids.push({id: node.id, isShow: node.isShow ? 1 : 0})
|
||||
ids.push({id: node.id, isShow: node.isShow ? 1 : 0,})
|
||||
console.log(node)
|
||||
let entityObject
|
||||
entityObject = (window as any)._entityMap.get(node.id)
|
||||
@ -308,6 +311,18 @@ const onCheck = (event: any, treeId: any, treeNode: any) => {
|
||||
|
||||
sourceStatus(treeNode)
|
||||
console.log("ids", ids)
|
||||
const res = await TsApi.updateTreeShow(ids)
|
||||
if (res.code == 0 || res.code == 200) {
|
||||
ElMessage({
|
||||
message: '操作成功',
|
||||
type: 'success'
|
||||
})
|
||||
} else {
|
||||
ElMessage({
|
||||
message: '操作失败',
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
}
|
||||
const onMouseDown = (event: MouseEvent, treeId: string, treeNode: any) => {
|
||||
console.log("onMouseDown")
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<!--:style="'left:'+(index*Store.scales.distanceOfTicTiny+Store.scales.originOffset)+'px'"-->
|
||||
<template>
|
||||
<div class="timeScale">
|
||||
<div class="timeScale" @click="clickTime">
|
||||
<!-- 循环数组,确保key唯一 -->
|
||||
<template v-for="(_, index) in ticTiny" :key="index">
|
||||
<span
|
||||
@ -24,7 +24,12 @@ import {ref, watchEffect} from 'vue'
|
||||
|
||||
const props = defineProps(['ticTiny', 'ticMain', 'distanceOfTicTiny', 'distanceOfTicMain', 'originOffset', 'originMainOffset'])
|
||||
|
||||
|
||||
const clickTime = (e) => {
|
||||
console.log("点击时间轴", e)
|
||||
let offset = window['tsObj']._Store._scales.scrollLeft + (e.screenX - 400)
|
||||
window['tsObj']._Store.currentTimestamp = window['tsObj']._Store._startTimestamp + (offset / window['tsObj']._Store._scales.preSecondPx) * 1000
|
||||
window['tsObj']._Store.setCursorLeft(window['tsObj']._Store._currentTimestamp)
|
||||
}
|
||||
let ticLabel = (val) => {
|
||||
let timeLabels = []
|
||||
/* console.log("timeLabels", this.Store.scales.ticMain)
|
||||
|
||||
@ -141,6 +141,7 @@ const propsMap = {
|
||||
}
|
||||
// 更新数值触发视图更新
|
||||
window['updateProp'] = (key: string, val: any) => {
|
||||
console.log("window['updateProp']", key, val)
|
||||
if (propsMap[key])
|
||||
propsMap[key].value = val
|
||||
}
|
||||
|
||||
@ -316,7 +316,7 @@ onUnmounted(() => {
|
||||
|
||||
// 定义可复用的回调函数
|
||||
const handleClick = (e) => {
|
||||
console.log('点击事件触发', e)
|
||||
// console.log('点击事件触发', e)
|
||||
let dom = $('.MouseRight')[0]
|
||||
if (dom) dom.style.display = "none"
|
||||
|
||||
|
||||
@ -14,14 +14,14 @@
|
||||
<svg-icon :size="15" class="icon-svg-item" name="closeLeftTs"/>收起
|
||||
</span>
|
||||
</div>
|
||||
<!-- <div>
|
||||
<el-input
|
||||
v-model="input2"
|
||||
class="responsive-input"
|
||||
placeholder="搜索"
|
||||
:prefix-icon="Search"
|
||||
/>
|
||||
</div>-->
|
||||
<div>
|
||||
<el-input
|
||||
v-model="input2"
|
||||
class="responsive-input"
|
||||
placeholder="搜索"
|
||||
:prefix-icon="Search"
|
||||
/>
|
||||
</div>
|
||||
<div class="tabsBox">
|
||||
<div class="tabs">
|
||||
<div v-for="(item,index) in tabs" @click="handleTabClick(item,index)" :class="index==activIndex?'active':''">
|
||||
@ -32,9 +32,11 @@
|
||||
<div class="treeOrList custom_scroll_bar_ts" :style="currentTypeId!=''?'height: calc(100% - 300px);':''">
|
||||
<template v-if="dataType=='tree'">
|
||||
<el-tree
|
||||
ref="treeRef"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
@node-click="handleNodeClick"
|
||||
:filter-node-method="filterNode"
|
||||
/>
|
||||
</template>
|
||||
<template v-if="dataType=='list'">
|
||||
@ -65,14 +67,14 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
//@ts-nocheck
|
||||
import {ref, onMounted} from "vue";
|
||||
import {ref, onMounted, watch} from "vue";
|
||||
import {Search} from '@element-plus/icons-vue'
|
||||
import {ModelApi} from "../../api/model";
|
||||
import {GraphApi} from "../../api/graphLabel";
|
||||
|
||||
import {addMapSource} from "./entity";
|
||||
import {useTreeNode} from "../components/tree/hooks/treeNode";
|
||||
import {ElMessage} from "element-plus";
|
||||
import {ElMessage, TreeInstance} from "element-plus";
|
||||
|
||||
const {getSelectedNodes} = useTreeNode()
|
||||
const service = ref(localStorage.getItem('ip'))
|
||||
@ -83,6 +85,7 @@ interface Tree {
|
||||
children?: Tree[]
|
||||
}
|
||||
|
||||
const treeRef = ref<TreeInstance>()
|
||||
const defaultProps = {
|
||||
children: 'children',
|
||||
label: 'name',
|
||||
@ -114,10 +117,26 @@ let graphTypes = ref<Tree[]>([])
|
||||
const lists = ref([])
|
||||
const elementList = ref([])
|
||||
let input2 = ref('')
|
||||
watch(input2, (val) => {
|
||||
console.log("input2", val)
|
||||
console.log("lists", lists)
|
||||
console.log("lists", lists.value.filter(item => item.name.includes(val)))
|
||||
if (val == '') {
|
||||
handleTabClick(tabs[activIndex.value], activIndex.value)
|
||||
} else {
|
||||
lists.value = lists.value.filter(item => item.name.includes(val))
|
||||
}
|
||||
treeRef.value && treeRef.value!.filter(val)
|
||||
})
|
||||
// 当前选择类型的Id
|
||||
const currentTypeId = ref('')
|
||||
// 是否为树结构
|
||||
const dataType = ref('tree')
|
||||
|
||||
const filterNode = (value: string, data: Tree) => {
|
||||
if (!value) return true
|
||||
return data.name.includes(value)
|
||||
}
|
||||
// 树形结构节点点击
|
||||
const handleTabClick = (item, index) => {
|
||||
activIndex.value = index
|
||||
@ -272,7 +291,7 @@ let addMarker = (item) => {
|
||||
|
||||
.tabsBox {
|
||||
//flex: auto;
|
||||
height: calc(100% - 30px);
|
||||
height: calc(100% - 70.8px);
|
||||
//display: flex;
|
||||
//flex-direction: column;
|
||||
.tabs {
|
||||
|
||||
@ -60,18 +60,22 @@ export function initMapData(type, data, cb: any = null) {
|
||||
case 'gdslImagery':
|
||||
data.host = baseURL
|
||||
entityObject = new YJ.Obj.GDSLImagery(window['earth_ts'], data)
|
||||
cb && cb(entityObject)
|
||||
break
|
||||
case 'gdlwImagery':
|
||||
data.host = baseURL
|
||||
entityObject = new YJ.Obj.GDLWImagery(window['earth_ts'], data)
|
||||
cb && cb(entityObject)
|
||||
break
|
||||
case 'arcgisBlueImagery':
|
||||
data.host = baseURL
|
||||
entityObject = new YJ.Obj.ArcgisBLUEImagery(window['earth_ts'], data)
|
||||
cb && cb(entityObject)
|
||||
break
|
||||
case 'arcgisWximagery':
|
||||
data.host = baseURL
|
||||
entityObject = new YJ.Obj.ArcgisWXImagery(window['earth_ts'], data)
|
||||
cb && cb(entityObject)
|
||||
break
|
||||
case "guiji":
|
||||
entityObject = new YJ.Obj.TrajectoryMotionObject(
|
||||
|
||||
@ -198,7 +198,7 @@ const getList = (params: any = null) => {
|
||||
formData.append('pageSize', pageSize.value)
|
||||
formData.append('pageNum', pageNum.value)
|
||||
if (params) {
|
||||
/*for (const paramsKey in params) {
|
||||
for (const paramsKey in params) {
|
||||
if (params[paramsKey]) {
|
||||
if (paramsKey == 'datetime') {
|
||||
formData.append('startTime', params[paramsKey][0])
|
||||
@ -208,8 +208,8 @@ const getList = (params: any = null) => {
|
||||
}
|
||||
}
|
||||
|
||||
}*/
|
||||
formData.append('username', params["createdBy"])
|
||||
}
|
||||
formData.append('nickname', params["createdBy"])
|
||||
|
||||
}
|
||||
TsApi.planList(formData).then(res => {
|
||||
|
||||
@ -93,7 +93,6 @@ export class Store {
|
||||
break
|
||||
case "ticTiny":
|
||||
val = value
|
||||
|
||||
break
|
||||
case "ticMain":
|
||||
this._scales.timeLabels = this._scales.timeLabels.slice(0, this._scales.ticMain)
|
||||
@ -130,8 +129,12 @@ export class Store {
|
||||
// 通过时间戳来设置位置
|
||||
setCursorLeft(stamp) {
|
||||
let newLeft = ((stamp - this._startTimestamp) / 1000) * this._scales.preSecondPx - this._scales.scrollLeft
|
||||
console.log("stamp", stamp)
|
||||
console.log("this._startTimestamp", this._startTimestamp)
|
||||
console.log("this._scales.preSecondPx", this._scales.preSecondPx)
|
||||
console.log("newLeft", newLeft)
|
||||
|
||||
this.setScale('cursorLeft', newLeft)
|
||||
// console.log("newLeft", newLeft)
|
||||
}
|
||||
|
||||
dealData(key = "startTime", value = []) {
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
>
|
||||
<div
|
||||
class="set_item"
|
||||
:class="{ 'last-item': i === setList.length - 1 }"
|
||||
:class="{ 'last-item': i === setList.length - 1, 'first-item': i === 0 }"
|
||||
@click="item.callback"
|
||||
>
|
||||
<svg-icon :name="item.icon" :size="20"></svg-icon>
|
||||
@ -52,20 +52,28 @@ eventBus.on('settingPop', (data) => {
|
||||
data ? setPupRef.value.open('current') : setPupRef.value.close()
|
||||
})
|
||||
const logout = async (e) => {
|
||||
let res = await LoginApi.logout()
|
||||
if (window.earth) {
|
||||
window.earth.destroy()
|
||||
window.earth = null
|
||||
}
|
||||
if (res.code === 200) {
|
||||
router.push({
|
||||
path: '/',
|
||||
query: {
|
||||
type: 'logout'
|
||||
ElMessageBox.confirm('您确定要退出当前账号?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(async () => {
|
||||
let res = await LoginApi.logout()
|
||||
if (window.earth) {
|
||||
window.earth.destroy()
|
||||
window.earth = null
|
||||
}
|
||||
if (res.code === 200) {
|
||||
router.push({
|
||||
path: '/',
|
||||
query: {
|
||||
type: 'logout'
|
||||
}
|
||||
})
|
||||
// localStorage.clear()
|
||||
}
|
||||
})
|
||||
// localStorage.clear()
|
||||
}
|
||||
.catch(() => {})
|
||||
}
|
||||
const openSet = () => {
|
||||
setPupRef.value?.open()
|
||||
@ -81,25 +89,25 @@ const resetShow = (item) => {
|
||||
|
||||
const setList = ref([
|
||||
// 标准版本
|
||||
// {id: 4, index: 2, icon: 'layerTitleBg', className: 'header_public', callback: this.setShow},
|
||||
{
|
||||
id: 0,
|
||||
index: 0,
|
||||
icon: 'beidou',
|
||||
name: 'locate',
|
||||
icon: 'out_login',
|
||||
name: 'logout',
|
||||
className: 'header_public',
|
||||
dbcallback: (e) => {},
|
||||
callback: (e) => {}
|
||||
// dbcallback: this.flyTo,
|
||||
// callback: this.locate,
|
||||
dbcallback: null,
|
||||
callback: logout
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
index: 1,
|
||||
icon: 'sys_reset',
|
||||
icon: 'sys_set',
|
||||
name: 'set',
|
||||
className: 'header_public',
|
||||
name: 'reset',
|
||||
dbcallback: null,
|
||||
callback: resetShow
|
||||
// callback: setShow
|
||||
callback: openSet
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
@ -112,31 +120,33 @@ const setList = ref([
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
index: 3,
|
||||
icon: 'sys_set',
|
||||
name: 'set',
|
||||
index: 4,
|
||||
icon: 'sys_reset',
|
||||
className: 'header_public',
|
||||
name: 'reset',
|
||||
dbcallback: null,
|
||||
// callback: setShow
|
||||
callback: openSet
|
||||
callback: resetShow
|
||||
},
|
||||
// {id: 4, index: 2, icon: 'layerTitleBg', className: 'header_public', callback: this.setShow},
|
||||
{
|
||||
id: 4,
|
||||
index: 4,
|
||||
icon: 'out_login',
|
||||
name: 'logout',
|
||||
icon: 'beidou',
|
||||
name: 'locate',
|
||||
className: 'header_public',
|
||||
dbcallback: null,
|
||||
callback: logout
|
||||
dbcallback: (e) => {},
|
||||
callback: (e) => {}
|
||||
// dbcallback: this.flyTo,
|
||||
// callback: this.locate,
|
||||
}
|
||||
])
|
||||
|
||||
ipcRenderer.invoke('getIsFullScreen').then((res) => {
|
||||
setList.value[2].icon = res ? 'full_screen_exit' : 'full_screen'
|
||||
setList.value[2].name = res ? 'shrink' : 'fullScreen'
|
||||
})
|
||||
ipcRenderer.on('fullscreen-status-changed', (event, isFullscreen) => {
|
||||
setList.value[2].icon = isFullscreen ? 'full_screen_exit' : 'full_screen'
|
||||
setList.value[2].name = isFullscreen ? 'shrink' : 'fullScreen'
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -151,6 +161,7 @@ ipcRenderer.on('fullscreen-status-changed', (event, isFullscreen) => {
|
||||
// background: var(--svg-headColorbg);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row-reverse;
|
||||
// justify-content: space-between;
|
||||
// border: 1px solid var(--svg-headColor3);
|
||||
padding: 10px 0;
|
||||
@ -179,7 +190,7 @@ ipcRenderer.on('fullscreen-status-changed', (event, isFullscreen) => {
|
||||
);
|
||||
}
|
||||
|
||||
.set_item.last-item::after {
|
||||
.set_item.first-item::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
@ -61,7 +61,7 @@ eventBus.on('tufuInput', (data) => {
|
||||
// align-items: center;
|
||||
// justify-content: center;
|
||||
position: absolute;
|
||||
top: 14%;
|
||||
top: 130px;
|
||||
right: 15px;
|
||||
}
|
||||
.el-range-editor.is-active .el-range-editor.is-active:hover,
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
</div>
|
||||
<div class="col" style="flex: 0 0 60%;">
|
||||
<div class="row">
|
||||
<div class="col input-select-unit-box">
|
||||
<div class="col">
|
||||
<span class="label" style="margin-right: 0px;">投影面积:</span>
|
||||
<input class="input input-text" readonly type="text" v-model="area">
|
||||
<el-select v-model="areaUnit">
|
||||
|
||||
@ -325,6 +325,7 @@ const draw = (data) => {
|
||||
}
|
||||
|
||||
const startVideo = () => {
|
||||
//@ts-ignore
|
||||
document.getElementById('earthContainer').style.zIndex = 100
|
||||
$sendElectronChanel('startRecoder')
|
||||
ElMessage({
|
||||
@ -336,6 +337,7 @@ const startVideo = () => {
|
||||
if (e.key === 'Escape') {
|
||||
$sendElectronChanel('endRecoder')
|
||||
window.removeEventListener('keydown', handleKeyDown)
|
||||
//@ts-ignore
|
||||
document.getElementById('earthContainer').style.zIndex = ''
|
||||
}
|
||||
}
|
||||
|
||||
@ -214,8 +214,7 @@ const open = () => {
|
||||
routePlanning.createRoute(res.data.routes[0]?.points)
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
document.getElementById('clearRoute').click()
|
||||
document.getElementById('clearRoute')?.click()
|
||||
}
|
||||
}
|
||||
}, 100)
|
||||
|
||||