新疆
1
.gitignore
vendored
@ -10,6 +10,7 @@ node_modules_l/
|
||||
.history/
|
||||
build/linux-unpacked/
|
||||
build/win-unpacked/
|
||||
dist/electron/
|
||||
# Executables
|
||||
*.swf
|
||||
*.air
|
||||
|
217
build/builder-debug.yml
Normal file
@ -0,0 +1,217 @@
|
||||
x64:
|
||||
firstOrDefaultFilePatterns:
|
||||
- '!**/node_modules'
|
||||
- '!build{,/**/*}'
|
||||
- '!build{,/**/*}'
|
||||
- dist/electron/**/*
|
||||
- package.json
|
||||
- '!**/*.{iml,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,suo,xproj,cc,d.ts,pdb}'
|
||||
- '!**/._*'
|
||||
- '!**/electron-builder.{yaml,yml,json,json5,toml}'
|
||||
- '!**/{.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,.DS_Store,thumbs.db,.gitignore,.gitkeep,.gitattributes,.npmignore,.idea,.vs,.flowconfig,.jshintrc,.eslintrc,.circleci,.yarn-integrity,.yarn-metadata.json,yarn-error.log,yarn.lock,package-lock.json,npm-debug.log,appveyor.yml,.travis.yml,circle.yml,.nyc_output}'
|
||||
- '!.yarn{,/**/*}'
|
||||
- '!.editorconfig'
|
||||
- '!.yarnrc.yml'
|
||||
nodeModuleFilePatterns:
|
||||
- '**/*'
|
||||
- dist/electron/**/*
|
||||
nsis:
|
||||
script: |-
|
||||
!include "G:\YUANJIE\4.0\node_modules\app-builder-lib\templates\nsis\include\StdUtils.nsh"
|
||||
!addincludedir "G:\YUANJIE\4.0\node_modules\app-builder-lib\templates\nsis\include"
|
||||
!macro _isUpdated _a _b _t _f
|
||||
${StdUtils.TestParameter} $R9 "updated"
|
||||
StrCmp "$R9" "true" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define isUpdated `"" isUpdated ""`
|
||||
|
||||
!macro _isForceRun _a _b _t _f
|
||||
${StdUtils.TestParameter} $R9 "force-run"
|
||||
StrCmp "$R9" "true" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define isForceRun `"" isForceRun ""`
|
||||
|
||||
!macro _isKeepShortcuts _a _b _t _f
|
||||
${StdUtils.TestParameter} $R9 "keep-shortcuts"
|
||||
StrCmp "$R9" "true" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define isKeepShortcuts `"" isKeepShortcuts ""`
|
||||
|
||||
!macro _isNoDesktopShortcut _a _b _t _f
|
||||
${StdUtils.TestParameter} $R9 "no-desktop-shortcut"
|
||||
StrCmp "$R9" "true" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define isNoDesktopShortcut `"" isNoDesktopShortcut ""`
|
||||
|
||||
!macro _isDeleteAppData _a _b _t _f
|
||||
${StdUtils.TestParameter} $R9 "delete-app-data"
|
||||
StrCmp "$R9" "true" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define isDeleteAppData `"" isDeleteAppData ""`
|
||||
|
||||
!macro _isForAllUsers _a _b _t _f
|
||||
${StdUtils.TestParameter} $R9 "allusers"
|
||||
StrCmp "$R9" "true" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define isForAllUsers `"" isForAllUsers ""`
|
||||
|
||||
!macro _isForCurrentUser _a _b _t _f
|
||||
${StdUtils.TestParameter} $R9 "currentuser"
|
||||
StrCmp "$R9" "true" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define isForCurrentUser `"" isForCurrentUser ""`
|
||||
|
||||
!macro addLangs
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "SpanishInternational"
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||
!insertmacro MUI_LANGUAGE "TradChinese"
|
||||
!insertmacro MUI_LANGUAGE "Japanese"
|
||||
!insertmacro MUI_LANGUAGE "Korean"
|
||||
!insertmacro MUI_LANGUAGE "Italian"
|
||||
!insertmacro MUI_LANGUAGE "Dutch"
|
||||
!insertmacro MUI_LANGUAGE "Danish"
|
||||
!insertmacro MUI_LANGUAGE "Swedish"
|
||||
!insertmacro MUI_LANGUAGE "Norwegian"
|
||||
!insertmacro MUI_LANGUAGE "Finnish"
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
!insertmacro MUI_LANGUAGE "Portuguese"
|
||||
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
||||
!insertmacro MUI_LANGUAGE "Polish"
|
||||
!insertmacro MUI_LANGUAGE "Ukrainian"
|
||||
!insertmacro MUI_LANGUAGE "Czech"
|
||||
!insertmacro MUI_LANGUAGE "Slovak"
|
||||
!insertmacro MUI_LANGUAGE "Hungarian"
|
||||
!insertmacro MUI_LANGUAGE "Arabic"
|
||||
!insertmacro MUI_LANGUAGE "Turkish"
|
||||
!insertmacro MUI_LANGUAGE "Thai"
|
||||
!insertmacro MUI_LANGUAGE "Vietnamese"
|
||||
!macroend
|
||||
|
||||
!addincludedir "G:\YUANJIE\4.0\build"
|
||||
!include "G:\YUANJIE\4.0\installer.nsh"
|
||||
!addplugindir /x86-unicode "C:\Users\YC\AppData\Local\electron-builder\Cache\nsis\nsis-resources-3.4.1\plugins\x86-unicode"
|
||||
!include "C:\Users\YC\AppData\Local\Temp\t-P7VRbu\1-messages.nsh"
|
||||
!include "C:\Users\YC\AppData\Local\Temp\t-P7VRbu\0-messages.nsh"
|
||||
|
||||
Var newStartMenuLink
|
||||
Var oldStartMenuLink
|
||||
Var newDesktopLink
|
||||
Var oldDesktopLink
|
||||
Var oldShortcutName
|
||||
Var oldMenuDirectory
|
||||
|
||||
!include "common.nsh"
|
||||
!include "MUI2.nsh"
|
||||
!include "multiUser.nsh"
|
||||
!include "allowOnlyOneInstallerInstance.nsh"
|
||||
|
||||
!ifdef INSTALL_MODE_PER_ALL_USERS
|
||||
!ifdef BUILD_UNINSTALLER
|
||||
RequestExecutionLevel user
|
||||
!else
|
||||
RequestExecutionLevel admin
|
||||
!endif
|
||||
!else
|
||||
RequestExecutionLevel user
|
||||
!endif
|
||||
|
||||
!ifdef BUILD_UNINSTALLER
|
||||
SilentInstall silent
|
||||
!else
|
||||
Var appExe
|
||||
Var launchLink
|
||||
!endif
|
||||
|
||||
!ifdef ONE_CLICK
|
||||
!include "oneClick.nsh"
|
||||
!else
|
||||
!include "assistedInstaller.nsh"
|
||||
!endif
|
||||
|
||||
!insertmacro addLangs
|
||||
|
||||
!ifmacrodef customHeader
|
||||
!insertmacro customHeader
|
||||
!endif
|
||||
|
||||
Function .onInit
|
||||
SetOutPath $INSTDIR
|
||||
${LogSet} on
|
||||
|
||||
!ifmacrodef preInit
|
||||
!insertmacro preInit
|
||||
!endif
|
||||
|
||||
!ifdef DISPLAY_LANG_SELECTOR
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
!endif
|
||||
|
||||
!ifdef BUILD_UNINSTALLER
|
||||
WriteUninstaller "${UNINSTALLER_OUT_FILE}"
|
||||
!insertmacro quitSuccess
|
||||
!else
|
||||
!insertmacro check64BitAndSetRegView
|
||||
|
||||
!ifdef ONE_CLICK
|
||||
!insertmacro ALLOW_ONLY_ONE_INSTALLER_INSTANCE
|
||||
!else
|
||||
${IfNot} ${UAC_IsInnerInstance}
|
||||
!insertmacro ALLOW_ONLY_ONE_INSTALLER_INSTANCE
|
||||
${EndIf}
|
||||
!endif
|
||||
|
||||
!insertmacro initMultiUser
|
||||
|
||||
!ifmacrodef customInit
|
||||
!insertmacro customInit
|
||||
!endif
|
||||
|
||||
!ifmacrodef addLicenseFiles
|
||||
InitPluginsDir
|
||||
!insertmacro addLicenseFiles
|
||||
!endif
|
||||
!endif
|
||||
FunctionEnd
|
||||
|
||||
!ifndef BUILD_UNINSTALLER
|
||||
!include "installUtil.nsh"
|
||||
!endif
|
||||
|
||||
Section "install"
|
||||
!ifndef BUILD_UNINSTALLER
|
||||
# If we're running a silent upgrade of a per-machine installation, elevate so extracting the new app will succeed.
|
||||
# For a non-silent install, the elevation will be triggered when the install mode is selected in the UI,
|
||||
# but that won't be executed when silent.
|
||||
!ifndef INSTALL_MODE_PER_ALL_USERS
|
||||
!ifndef ONE_CLICK
|
||||
${if} $hasPerMachineInstallation == "1" # set in onInit by initMultiUser
|
||||
${andIf} ${Silent}
|
||||
${ifNot} ${UAC_IsAdmin}
|
||||
ShowWindow $HWNDPARENT ${SW_HIDE}
|
||||
!insertmacro UAC_RunElevated
|
||||
${Switch} $0
|
||||
${Case} 0
|
||||
${Break}
|
||||
${Case} 1223 ;user aborted
|
||||
${Break}
|
||||
${Default}
|
||||
MessageBox mb_IconStop|mb_TopMost|mb_SetForeground "Unable to elevate, error $0"
|
||||
${Break}
|
||||
${EndSwitch}
|
||||
Quit
|
||||
${else}
|
||||
!insertmacro setInstallModePerAllUsers
|
||||
${endIf}
|
||||
${endIf}
|
||||
!endif
|
||||
!endif
|
||||
!include "installSection.nsh"
|
||||
!endif
|
||||
SectionEnd
|
||||
|
||||
!ifdef BUILD_UNINSTALLER
|
||||
!include "uninstaller.nsh"
|
||||
!endif
|
46
build/builder-effective-config.yaml
Normal file
@ -0,0 +1,46 @@
|
||||
directories:
|
||||
output: build
|
||||
buildResources: build
|
||||
extraFiles:
|
||||
- from: ./collada2gltf/
|
||||
to: ./collada2gltf
|
||||
- from: ./convert/
|
||||
to: ./convert
|
||||
- from: ./yjearth4_0/
|
||||
to: ./yjearth4_0
|
||||
- from: ./ffplay/
|
||||
to: ./ffplay
|
||||
- from: ./build/icons/
|
||||
to: ./icons
|
||||
productName: 实景三维电子沙盘系统
|
||||
appId: org.dzsp_shijing_offline_Y_save
|
||||
files:
|
||||
- filter:
|
||||
- dist/electron/**/*
|
||||
dmg:
|
||||
contents:
|
||||
- x: 410
|
||||
'y': 150
|
||||
type: link
|
||||
path: /Applications
|
||||
- x: 130
|
||||
'y': 150
|
||||
type: file
|
||||
mac:
|
||||
icon: build/icons/icon.icns
|
||||
win:
|
||||
icon: build/icons/earth.ico
|
||||
linux:
|
||||
target: deb
|
||||
icon: build/icons/81.png
|
||||
desktop:
|
||||
Icon: /opt/实景三维电子沙盘系统/icons/earth.png
|
||||
executableArgs:
|
||||
- '--no-sandbox'
|
||||
nsis:
|
||||
include: installer.nsh
|
||||
oneClick: false
|
||||
perMachine: true
|
||||
allowToChangeInstallationDirectory: true
|
||||
language: '2052'
|
||||
electronVersion: 13.6.9
|
BIN
build/实景三维电子沙盘系统 Setup 4.0.0.exe.blockmap
Normal file
@ -1,7 +1,7 @@
|
||||
let name = 'dzsp_jingyuepaichusuo_offline_save'; //dzsp_yingjizhihuibeidou_offline_Y_save //dzsp_shijingjiangjin_offline_Y_save // dzsp_shijinghaidong_offline_Y_save //cc ,dzsp_yingjizhihuijunyong_offline_Y_save,dzsp_yingjizhihui_offline_Y_save,dzsp_shijing_offline_Y_save,dzsp_mudanyuan_offline_Y_save,'dzsp_wujingqinwu_offline_Y_save','dzsp_jilingongan_offline_Y_save'
|
||||
let productName = '便携式应急指挥电子沙盘系统北斗定位+'; //便携式应急指挥电子沙盘系统北斗定位+ //实景三维无人机智能巡检系统 // 海东市自然灾害风险普查可视化分析平台 //便携式应急指挥电子沙盘系统 //便携式应急指挥电子沙盘系统(军用版) //新版4.0//"实景三维电子沙盘系统";//"作战目标数字孪生仿真系统", "实景三维电子沙盘系统" ’牡丹园智慧景区管理系统‘,"武警勤务指挥电子沙盘系统”,"吉林省公安厅三维模型展示平台"
|
||||
let productName_tw = '可擕式應急指揮電子沙盤系統北斗定位+';
|
||||
let productName_en = 'Portable emergency command electronic sand table system Beidou positioning+';
|
||||
let name = 'dzsp_yingjizhihui_offline_Y_save'; //dzsp_yingjizhihuibeidou_offline_Y_save //dzsp_shijingjiangjin_offline_Y_save // dzsp_shijinghaidong_offline_Y_save //cc ,dzsp_yingjizhihuijunyong_offline_Y_save,dzsp_yingjizhihui_offline_Y_save,dzsp_shijing_offline_Y_save,dzsp_mudanyuan_offline_Y_save,'dzsp_wujingqinwu_offline_Y_save','dzsp_jilingongan_offline_Y_save'
|
||||
let productName = '便携式应急指挥电子沙盘系统'; //便携式应急指挥电子沙盘系统北斗定位+ //实景三维无人机智能巡检系统 // 海东市自然灾害风险普查可视化分析平台 //便携式应急指挥电子沙盘系统 //便携式应急指挥电子沙盘系统(军用版) //新版4.0//"实景三维电子沙盘系统";//"作战目标数字孪生仿真系统", "实景三维电子沙盘系统" ’牡丹园智慧景区管理系统‘,"武警勤务指挥电子沙盘系统”,"吉林省公安厅三维模型展示平台"
|
||||
let productName_tw = '可擕式應急指揮電子沙盤系統';
|
||||
let productName_en = 'Portable emergency command electronic sand table system';
|
||||
let obj = {
|
||||
baseApi: "", // 本地api请求地址,注意:如果你使用了代理,请设置成'/'
|
||||
PORT: 8099,
|
||||
|
10522
dist/electron/main.js
vendored
@ -1,9 +1,9 @@
|
||||
!macro preInit
|
||||
SetRegView 64
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_jingyuepaichusuo_offline_save"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_jingyuepaichusuo_offline_save"
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_shijing_offline_Y_save"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_shijing_offline_Y_save"
|
||||
#writeUninstaller $INSTDIR\uninstaller.exe
|
||||
SetRegView 32
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_jingyuepaichusuo_offline_save"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_jingyuepaichusuo_offline_save"
|
||||
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_shijing_offline_Y_save"
|
||||
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\ProgramFiles\dzsp_shijing_offline_Y_save"
|
||||
!macroend
|
0
logs/access.log.-2025-08-14-14
Normal file
0
logs/access.log.-2025-08-14-19
Normal file
0
logs/access.log.-2025-08-15-16
Normal file
0
logs/access.log.-2025-08-18-10
Normal file
0
logs/access.log.-2025-08-18-11
Normal file
0
logs/access.log.-2025-08-18-15
Normal file
0
logs/access.log.-2025-08-18-16
Normal file
0
logs/access.log.-2025-08-18-17
Normal file
0
logs/access.log.-2025-08-18-19
Normal file
0
logs/access.log.-2025-08-19-09
Normal file
0
logs/access.log.-2025-08-19-10
Normal file
0
logs/access.log.-2025-08-19-11
Normal file
0
logs/access.log.-2025-08-19-14
Normal file
0
logs/access.log.-2025-08-20-10
Normal file
0
logs/access.log.-2025-08-20-15
Normal file
0
logs/access.log.-2025-08-20-16
Normal file
0
logs/access.log.-2025-08-20-17
Normal file
0
logs/access.log.-2025-08-20-18
Normal file
0
logs/access.log.-2025-08-20-19
Normal file
0
logs/access.log.-2025-08-20-20
Normal file
0
logs/access.log.-2025-08-21-09
Normal file
0
logs/access.log.-2025-08-21-19
Normal file
0
logs/access.log.-2025-08-22-09
Normal file
@ -1 +1 @@
|
||||
{"name":"dzsp_jingyuepaichusuo_offline_save","version":"v4.0.0","author":{"email":"1114042468@qq.com","name":"1114042468@qq.com"},"maintainers":[],"license":"MIT","main":"./dist/electron/main.js","homepage":"./dist/electron/main.js","description":"","private":true,"scripts":{"dev":"cross-env TERGET_ENV=development node .electron-vue/dev-runner.js","build":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder","build:win32":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --win --ia32","build:win64":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --win --x64","build:linux64":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --linux --x64","build:arm64":" cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --linux --arm64","build:mac":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --mac","build:dir":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --dir","build:clean":"cross-env BUILD_TARGET=clean node .electron-vue/build.js","build:web":"cross-env BUILD_TARGET=web node .electron-vue/build.js","pack":"npm run pack:main && npm run pack:renderer","pack:main":"cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js","pack:renderer":"cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js","update:serve":"node server/index.js","dep:upgrade":"yarn upgrade-interactive --latest","postinstall":"electron-builder install-app-deps"},"build":{"extraFiles":[{"from":"./collada2gltf/","to":"./collada2gltf"},{"from":"./convert/","to":"./convert"},{"from":"./yjearth4_0/","to":"./yjearth4_0"},{"from":"./ffplay/","to":"./ffplay"},{"from":"./build/icons/","to":"./icons"}],"productName":"便携式应急指挥电子沙盘系统北斗定位+","appId":"org.dzsp_jingyuepaichusuo_offline_save","directories":{"output":"build"},"files":["dist/electron/**/*"],"dmg":{"contents":[{"x":410,"y":150,"type":"link","path":"/Applications"},{"x":130,"y":150,"type":"file"}]},"mac":{"icon":"build/icons/icon.icns"},"win":{"icon":"build/icons/81.ico"},"linux":{"target":"deb","icon":"build/icons/81.png","desktop":{"Icon":"/opt/便携式应急指挥电子沙盘系统北斗定位+/icons/81.png"},"executableArgs":["--no-sandbox"]},"nsis":{"include":"installer.nsh","oneClick":false,"perMachine":true,"allowToChangeInstallationDirectory":true,"language":"2052"}},"dependencies":{"@amap/amap-jsapi-loader":"^1.0.1","@smallwei/avue":"^2.10.10","archiver":"^5.3.0","axios":"0.17.1","compressing":"^1.5.1","date-fns":"^3.6.0","electron-store":"^8.1.0","electron-wpc":"^2.0.1","element-ui":"^2.15.13","express":"^4.18.2","fbx2gltf":"^0.9.7-p1","file-saver":"^2.0.5","gltf-pipeline":"^4.1.0","ini":"^4.1.2","js-cookie":"^2.2.0","js-md5":"^0.7.3","jszip":"^3.10.1","log4js":"^6.9.1","moment":"^2.30.1","normalize.css":"7.0.0","nprogress":"0.2.0","obj2gltf":"^3.1.6","polyfill-object.fromentries":"^1.0.1","three":"^0.158.0","viewerjs":"^1.11.6","vue":"2.5.17","vue-electron":"^1.0.6","vue-i18n":"8.2.1","vue-router":"3.0.1","vuex":"^3.0.1","xlsx":"^0.18.5"},"devDependencies":{"@babel/core":"^7.24.7","@babel/preset-env":"^7.24.7","babel-core":"^6.25.0","babel-eslint":"^7.2.3","babel-loader":"^7.1.5","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-stage-0":"^6.24.1","babel-register":"^6.24.1","babili-webpack-plugin":"^0.1.2","cfonts":"^1.1.3","chalk":"^2.1.0","copy-webpack-plugin":"^4.0.1","cross-env":"^5.2.1","css-loader":"^0.28.4","del":"^3.0.0","devtron":"^1.4.0","electron":"^13.6.9","electron-builder":"^22.11.7","electron-debug":"^1.4.0","electron-devtools-installer":"^2.2.0","eslint":"^4.4.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.9.0","eslint-plugin-html":"^3.1.1","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","html-webpack-plugin":"^2.30.1","multispinner":"^0.2.1","node-loader":"^0.6.0","sass":"^1.37.0","sass-loader":"^7.3.1","sass-resources-loader":"^2.2.4","style-loader":"^0.18.2","svg-sprite-loader":"3.5.2","url-loader":"^0.5.9","vue-html-loader":"^1.2.4","vue-loader":"^13.0.5","vue-style-loader":"^3.0.1","vue-template-compiler":"2.5.17","webpack":"^3.5.2","webpack-dev-server":"^2.7.1","webpack-hot-middleware":"^2.18.2"}}
|
||||
{"name":"dzsp_shijing_offline_Y_save","version":"v4.0.0","author":{"email":"1114042468@qq.com","name":"1114042468@qq.com"},"maintainers":[],"license":"MIT","main":"./dist/electron/main.js","homepage":"./dist/electron/main.js","description":"","private":true,"scripts":{"dev":"cross-env TERGET_ENV=development node .electron-vue/dev-runner.js","build":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder","build:win32":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --win --ia32","build:win64":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --win --x64","build:linux64":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --linux --x64","build:arm64":" cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --linux --arm64","build:mac":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --mac","build:dir":"cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --dir","build:clean":"cross-env BUILD_TARGET=clean node .electron-vue/build.js","build:web":"cross-env BUILD_TARGET=web node .electron-vue/build.js","pack":"npm run pack:main && npm run pack:renderer","pack:main":"cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js","pack:renderer":"cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js","update:serve":"node server/index.js","dep:upgrade":"yarn upgrade-interactive --latest","postinstall":"electron-builder install-app-deps"},"build":{"extraFiles":[{"from":"./collada2gltf/","to":"./collada2gltf"},{"from":"./convert/","to":"./convert"},{"from":"./yjearth4_0/","to":"./yjearth4_0"},{"from":"./ffplay/","to":"./ffplay"},{"from":"./build/icons/","to":"./icons"}],"productName":"实景三维电子沙盘系统","appId":"org.dzsp_shijing_offline_Y_save","directories":{"output":"build"},"files":["dist/electron/**/*"],"dmg":{"contents":[{"x":410,"y":150,"type":"link","path":"/Applications"},{"x":130,"y":150,"type":"file"}]},"mac":{"icon":"build/icons/icon.icns"},"win":{"icon":"build/icons/earth.ico"},"linux":{"target":"deb","icon":"build/icons/81.png","desktop":{"Icon":"/opt/实景三维电子沙盘系统/icons/earth.png"},"executableArgs":["--no-sandbox"]},"nsis":{"include":"installer.nsh","oneClick":false,"perMachine":true,"allowToChangeInstallationDirectory":true,"language":"2052"}},"dependencies":{"@amap/amap-jsapi-loader":"^1.0.1","@smallwei/avue":"^2.10.10","archiver":"^5.3.0","axios":"0.17.1","compressing":"^1.5.1","date-fns":"^3.6.0","electron-store":"^8.1.0","electron-wpc":"^2.0.1","element-ui":"^2.15.13","express":"^4.18.2","fbx2gltf":"^0.9.7-p1","file-saver":"^2.0.5","gltf-pipeline":"^4.1.0","ini":"^4.1.2","js-cookie":"^2.2.0","js-md5":"^0.7.3","jszip":"^3.10.1","log4js":"^6.9.1","moment":"^2.30.1","normalize.css":"7.0.0","nprogress":"0.2.0","obj2gltf":"^3.1.6","polyfill-object.fromentries":"^1.0.1","three":"^0.158.0","viewerjs":"^1.11.6","vue":"2.5.17","vue-electron":"^1.0.6","vue-i18n":"8.2.1","vue-router":"3.0.1","vuex":"^3.0.1","xlsx":"^0.18.5"},"devDependencies":{"@babel/core":"^7.24.7","@babel/preset-env":"^7.24.7","babel-core":"^6.25.0","babel-eslint":"^7.2.3","babel-loader":"^7.1.5","babel-plugin-transform-runtime":"^6.23.0","babel-preset-env":"^1.6.0","babel-preset-stage-0":"^6.24.1","babel-register":"^6.24.1","babili-webpack-plugin":"^0.1.2","cfonts":"^1.1.3","chalk":"^2.1.0","copy-webpack-plugin":"^4.0.1","cross-env":"^5.2.1","css-loader":"^0.28.4","del":"^3.0.0","devtron":"^1.4.0","electron":"^13.6.9","electron-builder":"^22.11.7","electron-debug":"^1.4.0","electron-devtools-installer":"^2.2.0","eslint":"^4.4.1","eslint-friendly-formatter":"^3.0.0","eslint-loader":"^1.9.0","eslint-plugin-html":"^3.1.1","extract-text-webpack-plugin":"^3.0.0","file-loader":"^0.11.2","html-webpack-plugin":"^2.30.1","multispinner":"^0.2.1","node-loader":"^0.6.0","sass":"^1.37.0","sass-loader":"^7.3.1","sass-resources-loader":"^2.2.4","style-loader":"^0.18.2","svg-sprite-loader":"3.5.2","url-loader":"^0.5.9","vue-html-loader":"^1.2.4","vue-loader":"^13.0.5","vue-style-loader":"^3.0.1","vue-template-compiler":"2.5.17","webpack":"^3.5.2","webpack-dev-server":"^2.7.1","webpack-hot-middleware":"^2.18.2"}}
|
@ -46,8 +46,6 @@
|
||||
window.addEventListener("message", (e) => {
|
||||
console.log("iframe###############", e)
|
||||
})
|
||||
|
||||
|
||||
// document.domain = 'http://127.0.0.1:8890';
|
||||
/*if (process && process.env.NODE_ENV !== 'development') window.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\')*/
|
||||
</script>
|
||||
|
@ -160,7 +160,7 @@ module.exports = {
|
||||
unLock: "unLock",
|
||||
},
|
||||
headerTitles: {
|
||||
systemTitle: "System setting",
|
||||
systemTitle: "System Panel",
|
||||
udp: "Physical sandbox",
|
||||
ConcurrencyControl: "Concurrency Control",
|
||||
localIP: "Local IP",
|
||||
|
BIN
src/renderer/assets/images/812/gonganlan/head.png
Normal file
After Width: | Height: | Size: 661 KiB |
BIN
src/renderer/assets/images/812/gonganlan/logo.png
Normal file
After Width: | Height: | Size: 12 MiB |
BIN
src/renderer/assets/images/812/gonganlan/scrollBar.png
Normal file
After Width: | Height: | Size: 123 KiB |
BIN
src/renderer/assets/images/812/hong/head.png
Normal file
After Width: | Height: | Size: 566 KiB |
BIN
src/renderer/assets/images/812/hong/logo.png
Normal file
After Width: | Height: | Size: 12 MiB |
BIN
src/renderer/assets/images/812/hong/scrollBar.png
Normal file
After Width: | Height: | Size: 123 KiB |
BIN
src/renderer/assets/images/812/yingguangse/head.png
Normal file
After Width: | Height: | Size: 523 KiB |
BIN
src/renderer/assets/images/812/yingguangse/logo.png
Normal file
After Width: | Height: | Size: 16 MiB |
BIN
src/renderer/assets/images/812/yingguangse/scrollBar.png
Normal file
After Width: | Height: | Size: 117 KiB |
@ -46,8 +46,6 @@ import {
|
||||
renderFlyLine,
|
||||
} from "../Tree/renderNode";
|
||||
import { shpTotalDict } from "../../api/shpTotalDict";
|
||||
import e from "express";
|
||||
|
||||
const secondMenuFun = {
|
||||
data() {
|
||||
return {
|
||||
@ -1411,7 +1409,7 @@ const secondMenuFun = {
|
||||
window.clicknum = 0;
|
||||
let host = new URL(getIP()).host;
|
||||
let routePlanning = new YJ.Obj.RoutePlanning(window.Earth1, {
|
||||
gps: true,
|
||||
gps: false,
|
||||
host,
|
||||
});
|
||||
routePlanning.Dialog.queryCallBack = async (v) => {
|
||||
|
@ -48,8 +48,8 @@ import {
|
||||
import { shpTotalDict } from "../../api/shpTotalDict";
|
||||
import e from "express";
|
||||
|
||||
let newp_id = "3579e514a976c9aad03fde6b6198f464"
|
||||
let model_p_id = "43d570f69514904a91b5df9c5f33bc98"
|
||||
let newp_id = "特效图层"
|
||||
let model_p_id = "模型图层"
|
||||
|
||||
const secondMenuFun = {
|
||||
data() {
|
||||
@ -933,7 +933,7 @@ const secondMenuFun = {
|
||||
source_id,
|
||||
source_name: item.model_name,
|
||||
source_type: "model",
|
||||
p_id:model_p_id,
|
||||
p_id: DbOption.source_id,
|
||||
};
|
||||
|
||||
let option = {
|
||||
@ -949,7 +949,7 @@ const secondMenuFun = {
|
||||
addSource(node).then((res) => {
|
||||
if ([0, 200].includes(res.code)) {
|
||||
// cusRenderNode(DbOption)
|
||||
cusAddNodes(this.treeObj, DbOption.p_id, [node]);
|
||||
cusAddNodes(this.treeObj, model_p_id, [node]);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -1414,7 +1414,7 @@ const secondMenuFun = {
|
||||
window.clicknum = 0;
|
||||
let host = new URL(getIP()).host;
|
||||
let routePlanning = new YJ.Obj.RoutePlanning(window.Earth1, {
|
||||
gps: false,
|
||||
gps: true,
|
||||
host,
|
||||
});
|
||||
routePlanning.Dialog.queryCallBack = async (v) => {
|
@ -139,7 +139,7 @@ const rightMenuOption = {
|
||||
}
|
||||
});
|
||||
console.log("执行图层层级修改_updateLayerIndex", layers);
|
||||
updateLayerIndex(layers, (res) => {});
|
||||
updateLayerIndex(layers, (res) => { });
|
||||
},
|
||||
layerIndex(key) {
|
||||
let layer = window._entityMap.get(this.rightClickTreeNode.source_id);
|
||||
@ -548,6 +548,15 @@ const rightMenuOption = {
|
||||
this.$parent.treeObj,
|
||||
getSelectedNodes(this.$parent.treeObj)
|
||||
);
|
||||
let ids = [
|
||||
"模型图层",
|
||||
"特效图层",
|
||||
"标绘图层",
|
||||
"二维军标图层",
|
||||
"三维军标图层",
|
||||
];
|
||||
// 排除
|
||||
source_ids = source_ids.filter((id) => !ids.includes(id));
|
||||
delSource({
|
||||
source_ids,
|
||||
}).then((res) => {
|
||||
@ -737,7 +746,7 @@ const rightMenuOption = {
|
||||
confirmCallBack: (data) => {
|
||||
this.shpConfirmCallBack(data, this.rightClickTreeNode.source_id);
|
||||
},
|
||||
closeCallBack: () => {},
|
||||
closeCallBack: () => { },
|
||||
});
|
||||
} else {
|
||||
editNode.edit(true);
|
||||
@ -871,7 +880,7 @@ const rightMenuOption = {
|
||||
list.forEach((item) => {
|
||||
arr.push({
|
||||
name: "链接",
|
||||
url: item.url,
|
||||
url: item.url,
|
||||
});
|
||||
});
|
||||
editNode.attributeLink = arr;
|
||||
@ -905,7 +914,7 @@ const rightMenuOption = {
|
||||
}
|
||||
paths.forEach((item) => {
|
||||
arr.push({
|
||||
name: "链接" ,
|
||||
name: "链接",
|
||||
url: item,
|
||||
});
|
||||
});
|
||||
@ -928,7 +937,7 @@ const rightMenuOption = {
|
||||
this.$removeChanel("panoramaFileData");
|
||||
list.forEach((item) => {
|
||||
arr.push({
|
||||
name: "全景" ,
|
||||
name: "全景",
|
||||
url: item.url,
|
||||
});
|
||||
});
|
||||
@ -960,7 +969,7 @@ const rightMenuOption = {
|
||||
}
|
||||
paths.forEach((item) => {
|
||||
arr.push({
|
||||
name: "全景" ,
|
||||
name: "全景",
|
||||
url: item,
|
||||
});
|
||||
});
|
||||
@ -1041,7 +1050,7 @@ const rightMenuOption = {
|
||||
this.updateView(true);
|
||||
},
|
||||
//模型压平
|
||||
pressModel() {},
|
||||
pressModel() { },
|
||||
//模型剖切
|
||||
tilesetClipping() {
|
||||
let node = getSelectedNode(this.$parent.treeObj);
|
||||
@ -1128,17 +1137,17 @@ const rightMenuOption = {
|
||||
process.env.NODE_ENV === "development"
|
||||
? path.join(GetHomeDir(), "static/logo_ico/81.ico")
|
||||
: path.join(
|
||||
GetHomeDir(),
|
||||
"resources/app.asar/" + "dist/electron/static/logo_ico/81.png"
|
||||
);
|
||||
GetHomeDir(),
|
||||
"resources/app.asar/" + "dist/electron/static/logo_ico/81.png"
|
||||
);
|
||||
console.log("点击了菜单", node);
|
||||
console.log("点击了菜单", this.rightClickTreeNode);
|
||||
let currentnode = node
|
||||
? $root_home_index.$refs.tree.treeObj.getNodeByParam(
|
||||
"source_id",
|
||||
node.source_id,
|
||||
null
|
||||
)
|
||||
"source_id",
|
||||
node.source_id,
|
||||
null
|
||||
)
|
||||
: this.rightClickTreeNode;
|
||||
let win = $root_home.$remote.BrowserWindow;
|
||||
let id = currentnode.source_id;
|
||||
@ -1242,7 +1251,7 @@ const rightMenuOption = {
|
||||
newDataWin.show();
|
||||
});
|
||||
window._winMap.set(id, newDataWin.id);
|
||||
newDataWin.on("close", function(event) {
|
||||
newDataWin.on("close", function (event) {
|
||||
window._winMap.delete(id);
|
||||
});
|
||||
} else {
|
||||
|
@ -62,6 +62,8 @@ import tree from "./treeSetting";
|
||||
import rightMenu from "./components/rightMenu.vue";
|
||||
import AMapLoader from "@amap/amap-jsapi-loader";
|
||||
import rightMenuOption from "../Tree/components/rightMenuOption";
|
||||
import { findParentId } from "@/components/Tree/treeNode";
|
||||
import { renderTextBox } from "./renderNode";
|
||||
import {
|
||||
get_source_list,
|
||||
queryPOI,
|
||||
@ -302,7 +304,7 @@ export default {
|
||||
let p_id = getKeyOfSelectedNode(this.$parent.treeObj, "source_id");
|
||||
filePaths.forEach((item) => {
|
||||
console.log('item', item);
|
||||
let name = this.getLastPathComponent(item,['clt','json','pak','kml','kmz','shp','geojson','geoJson', 'czml','jct','mif','tab','csv']);
|
||||
let name = this.getLastPathComponent(item, ['clt', 'json', 'pak', 'kml', 'kmz', 'shp', 'geojson', 'geoJson', 'czml', 'jct', 'mif', 'tab', 'csv']);
|
||||
console.log("name", name);
|
||||
let source_type = "layer";
|
||||
if (item.endsWith(".clt") || item.endsWith(".json")) {
|
||||
@ -713,6 +715,8 @@ export default {
|
||||
);
|
||||
window.treeObj = this.treeObj;
|
||||
window.AllNodes = this.treeObj.getNodes()
|
||||
console.log('window.AllNodes', window.AllNodes);
|
||||
|
||||
window.newFuzzySearch(
|
||||
`treeDemo`,
|
||||
"#keyword",
|
||||
@ -732,6 +736,9 @@ export default {
|
||||
(text, object) => {
|
||||
|
||||
switch (text) {
|
||||
case "textBox":
|
||||
this.addTextBox(object.position);
|
||||
break;
|
||||
case "rotateAround":
|
||||
YJ.Global.rotateAround(window.Earth1, object.position);
|
||||
break;
|
||||
@ -756,6 +763,37 @@ export default {
|
||||
});
|
||||
});
|
||||
},
|
||||
// 添加文本框
|
||||
addTextBox(position) {
|
||||
this.$sendChanel("textTetlie", "标注");
|
||||
this.$changeComponentShow(".textModelBox", true);
|
||||
this.$recvChanel("textModelContent", (data) => {
|
||||
console.log(data.text);
|
||||
let that = this;
|
||||
let source_id = that.$md5(new Date().getTime() + "文本框");
|
||||
let textBox = {
|
||||
id: source_id,
|
||||
position: position,
|
||||
text: data.text,
|
||||
show: true,
|
||||
};
|
||||
let DbOption = {
|
||||
source_id,
|
||||
source_name: data.text,
|
||||
source_type: "textBox",
|
||||
p_id: findParentId(that.treeObj),
|
||||
};
|
||||
let detailOption = JSON.parse(JSON.stringify(textBox));
|
||||
let node = getNodeData(DbOption, detailOption);
|
||||
renderTextBox(node);
|
||||
addSource(node).then((res) => {
|
||||
if ([0, 200].includes(res.code)) {
|
||||
cusAddNodes(that.$parent.treeObj, DbOption.p_id, [node]);
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
|
||||
// 获取当前得node
|
||||
getNode(source_id) {
|
||||
if (!source_id) {
|
||||
@ -804,6 +842,7 @@ export default {
|
||||
animate();
|
||||
},
|
||||
},
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
|
@ -8,14 +8,14 @@ import {
|
||||
} from "./entityClick";
|
||||
import { getIP } from "../../utils";
|
||||
import { getAddress } from "../../utils/request";
|
||||
import { addPicture,updateInfo } from "../../api/gisAPI";
|
||||
import { addPicture, updateInfo } from "../../api/gisAPI";
|
||||
import {
|
||||
$changeComponentShow,
|
||||
$recvChanel,
|
||||
$sendElectronChanel,
|
||||
$recvElectronChanel,
|
||||
} from "../../utils/communication";
|
||||
import { nodeType,cusUpdateNode } from "./treeNode";
|
||||
import { nodeType, cusUpdateNode } from "./treeNode";
|
||||
import md5 from "js-md5";
|
||||
let staticPort = $root_home.$remote.getGlobal("sharedObject").avilablePort;
|
||||
|
||||
@ -286,7 +286,8 @@ function renderShp(node, ifFly = true) {
|
||||
let ziNode = {
|
||||
source_id: item.id,
|
||||
source_type: item.type,
|
||||
source_name: item.properties[arrt]||Object.keys(item.properties)[0],
|
||||
source_name:
|
||||
item.properties[arrt] || Object.keys(item.properties)[0],
|
||||
detail: {
|
||||
...item,
|
||||
info: { type: "richText" },
|
||||
@ -298,7 +299,8 @@ function renderShp(node, ifFly = true) {
|
||||
});
|
||||
}
|
||||
let fuNode = {
|
||||
source_id: it.id || md5(new Date().getTime().toString()+Math.random()),
|
||||
source_id:
|
||||
it.id || md5(new Date().getTime().toString() + Math.random()),
|
||||
source_type: it.type,
|
||||
source_name: it.name,
|
||||
detail: {
|
||||
@ -335,7 +337,7 @@ function renderShp(node, ifFly = true) {
|
||||
let ziNode = {
|
||||
source_id: item.id,
|
||||
source_type: item.type,
|
||||
source_name: item.properties[arrt] || '',
|
||||
source_name: item.properties[arrt] || "",
|
||||
detail: {
|
||||
...item,
|
||||
info: { type: "richText" },
|
||||
@ -471,14 +473,19 @@ function renderBaseMarker(DbOption) {
|
||||
}
|
||||
}
|
||||
console.log("selected", selected);
|
||||
|
||||
|
||||
$sendElectronChanel("requireGEMarkerName", {
|
||||
dirName: "GEMarker",
|
||||
dirName1s: "GEMarker1s",
|
||||
});
|
||||
$recvElectronChanel("dirFiles", (e, res) => {
|
||||
$changeComponentShow(".selectImgBox", true);
|
||||
window.$root_home_index.$refs.selectImg.init(res, selected,true,isUrl);
|
||||
window.$root_home_index.$refs.selectImg.init(
|
||||
res,
|
||||
selected,
|
||||
true,
|
||||
isUrl
|
||||
);
|
||||
window.$root_home_index.$refs.selectImg.set("billboardDefaultImage");
|
||||
});
|
||||
$recvChanel("selectedImg", (data) => {
|
||||
@ -860,16 +867,16 @@ function renderGroundImage(DbOption) {
|
||||
console.log("DbOption", DbOption);
|
||||
if (DbOption.is_load) {
|
||||
svg.load(() => {
|
||||
svg.drag(true,(v)=>{
|
||||
console.log("vsvg",v);
|
||||
svg.drag(true, (v) => {
|
||||
console.log("vsvg", v);
|
||||
let obj = {
|
||||
source_id: DbOption.source_id,
|
||||
source_name: DbOption.source_name,
|
||||
detail: JSON.stringify(v),
|
||||
}
|
||||
updateInfo(obj,()=>{
|
||||
};
|
||||
updateInfo(obj, () => {
|
||||
cusUpdateNode(obj);
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -1234,8 +1241,8 @@ function renderPicture(node) {
|
||||
}
|
||||
|
||||
// 飞线
|
||||
function renderFlyLine(node) {
|
||||
console.log("renderEllipse", node);
|
||||
function renderFlyLine(node) {
|
||||
console.log("renderEllipse", node);
|
||||
let nodecopy = JSON.parse(JSON.stringify(node));
|
||||
if (typeof nodecopy.detail == "string")
|
||||
nodecopy.detail = JSON.parse(nodecopy.detail);
|
||||
@ -1246,18 +1253,51 @@ function renderFlyLine(node) {
|
||||
};
|
||||
let FlowLine = new YJ.Obj.FlowLine(window.Earth1, option);
|
||||
|
||||
// //鼠标右键点击事件
|
||||
// FlowLine.onRightClick = () => {
|
||||
// rightClick(nodecopy);
|
||||
// };
|
||||
// //鼠标左键点击事件
|
||||
// FlowLine.onClick = () => {
|
||||
// console.log(123);
|
||||
|
||||
// leftClick(nodecopy);
|
||||
// };
|
||||
// cb()
|
||||
window._entityMap.set(node.source_id, FlowLine);
|
||||
}
|
||||
|
||||
// 飞线
|
||||
function renderTextBox(node) {
|
||||
let nodecopy = JSON.parse(JSON.stringify(node));
|
||||
if (typeof nodecopy.detail == "string")
|
||||
nodecopy.detail = JSON.parse(nodecopy.detail);
|
||||
let option = {
|
||||
...nodecopy.detail,
|
||||
id: nodecopy.source_id,
|
||||
name: nodecopy.source_name,
|
||||
};
|
||||
let TextBox = new YJ.Obj.TextBox(window.Earth1, option, (e) => {
|
||||
console.log("ssssssssssssssssssssssss", e);
|
||||
let obj = {
|
||||
source_id: node.source_id,
|
||||
source_name: e.text,
|
||||
detail: JSON.stringify(e),
|
||||
};
|
||||
updateInfo(obj, () => {
|
||||
cusUpdateNode(obj);
|
||||
});
|
||||
});
|
||||
|
||||
//鼠标右键点击事件
|
||||
FlowLine.onRightClick = () => {
|
||||
TextBox.onRightClick = () => {
|
||||
rightClick(nodecopy);
|
||||
};
|
||||
//鼠标左键点击事件
|
||||
FlowLine.onClick = () => {
|
||||
console.log(123);
|
||||
|
||||
TextBox.onClick = () => {
|
||||
leftClick(nodecopy);
|
||||
};
|
||||
// cb()
|
||||
window._entityMap.set(node.source_id, FlowLine);
|
||||
window._entityMap.set(node.source_id, TextBox);
|
||||
}
|
||||
|
||||
export {
|
||||
@ -1302,5 +1342,6 @@ export {
|
||||
renderCurve,
|
||||
renderEllipse,
|
||||
renderSector,
|
||||
renderFlyLine
|
||||
renderFlyLine,
|
||||
renderTextBox,
|
||||
};
|
||||
|
@ -39,12 +39,12 @@ import {
|
||||
renderCurve,
|
||||
renderEllipse,
|
||||
renderSector,
|
||||
renderFlyLine
|
||||
renderFlyLine,
|
||||
renderTextBox
|
||||
} from "./renderNode";
|
||||
import { leftClick, rightClick } from "./entityClick";
|
||||
import { addPoint } from "@/api/gisAPI";
|
||||
import { renderBaseMarker2d, renderLayer2d } from "./renderNode2d";
|
||||
import { traverse } from "babel-core";
|
||||
|
||||
let staticPort = $root_home.$remote.getGlobal("sharedObject").avilablePort;
|
||||
|
||||
@ -78,7 +78,7 @@ let get_detail_point = (DetailOption) => {
|
||||
},
|
||||
label: {
|
||||
text: DetailOption.name || DetailOption.source_name,
|
||||
fontFamily:0
|
||||
fontFamily: 0,
|
||||
// color: "#07f8e4",
|
||||
// show: true,
|
||||
// fontSize: 20,
|
||||
@ -136,7 +136,7 @@ let get_detail_ellipse = (DetailOption) => {
|
||||
center: DetailOption.center,
|
||||
semiMajorAxis: DetailOption.semiMajorAxis,
|
||||
semiMinorAxis: DetailOption.semiMinorAxis,
|
||||
color: "rgba(255,0,0,1)",
|
||||
color: "rgba(255,0,0,.5)",
|
||||
};
|
||||
return detail;
|
||||
};
|
||||
@ -152,7 +152,7 @@ let get_detail_sector = (DetailOption) => {
|
||||
center: DetailOption.center,
|
||||
startAngle: DetailOption.startAngle,
|
||||
endAngle: DetailOption.endAngle,
|
||||
color: 'rgba(255,0,0,1)',
|
||||
color: "rgba(255,0,0,.5)",
|
||||
};
|
||||
return detail;
|
||||
};
|
||||
@ -179,9 +179,9 @@ let get_detail_line = (DetailOption) => {
|
||||
buffer: false,
|
||||
buffer_width: 1,
|
||||
buffer_color: "#efc312",
|
||||
lineWidth:3,
|
||||
'extend-color':'rgba(255,222,80,.3)',
|
||||
'extend-width':10,
|
||||
lineWidth: 3,
|
||||
"extend-color": "rgba(255,255,80,.3)",
|
||||
"extend-width": 10,
|
||||
// }
|
||||
};
|
||||
recurrenceSetValue(detail, DetailOption);
|
||||
@ -203,7 +203,7 @@ let get_detail_curve = (DetailOption) => {
|
||||
|
||||
// polyline: {
|
||||
positions: DetailOption.position,
|
||||
color: "#ff0000AF",
|
||||
color: "rgba(255,0,0,1)",
|
||||
width: 5,
|
||||
type: 0,
|
||||
close: false,
|
||||
@ -241,8 +241,8 @@ let get_detail_panel = (DetailOption) => {
|
||||
// polygon: {
|
||||
positions: DetailOption.position,
|
||||
color: "rgba(255,0,0,0.5)",
|
||||
|
||||
line:{
|
||||
|
||||
line: {
|
||||
width: 3,
|
||||
color: "rgba(255,0,0,1)",
|
||||
},
|
||||
@ -253,25 +253,25 @@ let get_detail_panel = (DetailOption) => {
|
||||
recurrenceSetValue(detail, DetailOption);
|
||||
return detail;
|
||||
};
|
||||
let get_detail_rendezvous = (DetailOption) => {
|
||||
let get_detail_rendezvous = (DetailOption) => {
|
||||
let detail = {
|
||||
id: DetailOption.id,
|
||||
info: {
|
||||
type: "richText",
|
||||
text: "",
|
||||
hrefs: "",
|
||||
},
|
||||
id: DetailOption.id,
|
||||
info: {
|
||||
type: "richText",
|
||||
text: "",
|
||||
hrefs: "",
|
||||
},
|
||||
|
||||
// polygon: {
|
||||
positions: DetailOption.position,
|
||||
color: 'rgba(255,0,0,0.5)',
|
||||
width: 5,
|
||||
type: 0,
|
||||
// },
|
||||
show: true,
|
||||
};
|
||||
recurrenceSetValue(detail, DetailOption);
|
||||
return detail;
|
||||
// polygon: {
|
||||
positions: DetailOption.position,
|
||||
color: "rgba(255,0,0,0.5)",
|
||||
width: 5,
|
||||
type: 0,
|
||||
// },
|
||||
show: true,
|
||||
};
|
||||
recurrenceSetValue(detail, DetailOption);
|
||||
return detail;
|
||||
};
|
||||
let get_detail_circle = (DetailOption) => {
|
||||
let detail = {
|
||||
@ -283,7 +283,7 @@ let get_detail_circle = (DetailOption) => {
|
||||
},
|
||||
// circle: {
|
||||
center: DetailOption.center,
|
||||
color: 'rgba(255,0,0,0.5)',
|
||||
color: "rgba(255,0,0,0.5)",
|
||||
radius: 5,
|
||||
// }
|
||||
};
|
||||
@ -334,6 +334,10 @@ let get_detail_groundImage = (DetailOption) => {
|
||||
text: "",
|
||||
hrefs: "",
|
||||
},
|
||||
scale: {
|
||||
x: 0.073,
|
||||
y: 0.073,
|
||||
},
|
||||
show: true,
|
||||
width: 60,
|
||||
height: 60,
|
||||
@ -405,8 +409,8 @@ let get_detail_tileset = (DetailOption) => {
|
||||
};
|
||||
// return DetailOption
|
||||
};
|
||||
let get_detail_flyLine = (DetailOption) => {
|
||||
return {
|
||||
let get_detail_flyLine = (DetailOption) => {
|
||||
return {
|
||||
id: DetailOption.source_id,
|
||||
positions: DetailOption.positions,
|
||||
// rotation: [0, 0, 0]
|
||||
@ -521,7 +525,7 @@ let get_detail_wallStereoscopic = (DetailOption) => {
|
||||
text: "",
|
||||
hrefs: "",
|
||||
},
|
||||
color: 'rgba(255,0,0,1)',
|
||||
color: "rgba(255,0,0,1)",
|
||||
extrudedHeight: DetailOption.extrudedHeight,
|
||||
height: DetailOption.height,
|
||||
duration: 3000,
|
||||
@ -538,7 +542,7 @@ let get_detail_entityWall = (DetailOption) => {
|
||||
color: DetailOption.color,
|
||||
cornerType: DetailOption.cornerType,
|
||||
extrudedHeight: DetailOption.extrudedHeight,
|
||||
height: DetailOption.height,
|
||||
height: DetailOption.height,
|
||||
width: DetailOption.width,
|
||||
};
|
||||
};
|
||||
@ -589,15 +593,29 @@ let get_detail_picture = (DetailOption) => {
|
||||
},
|
||||
};
|
||||
};
|
||||
let get_detail_textbox = (DetailOption)=>{
|
||||
return {
|
||||
id: DetailOption.id || DetailOption.source_id,
|
||||
position: DetailOption.position,
|
||||
text: DetailOption.text,
|
||||
show: true,
|
||||
};
|
||||
};
|
||||
//定义树形节点的属性
|
||||
const nodeType = {
|
||||
point: {
|
||||
textBox:{
|
||||
rightMenus: ["edit", "del", "setView", "resetView"],
|
||||
render: renderBaseMarker,
|
||||
render2d: renderBaseMarker2d,
|
||||
detailFun: get_detail_point,
|
||||
addToDatabase: addPoint,
|
||||
allowChildren: false,
|
||||
render: renderTextBox,
|
||||
detailFun: get_detail_textbox,
|
||||
},
|
||||
|
||||
point: {
|
||||
rightMenus: ["edit", "del", "setView", "resetView"],
|
||||
render: renderBaseMarker,
|
||||
render2d: renderBaseMarker2d,
|
||||
detailFun: get_detail_point,
|
||||
addToDatabase: addPoint,
|
||||
allowChildren: false,
|
||||
},
|
||||
line: {
|
||||
rightMenus: ["edit", "del", "setView", "resetView"],
|
||||
@ -954,11 +972,11 @@ const nodeType = {
|
||||
// detailFun: get_detail_shp,
|
||||
// allowChildren: false
|
||||
// },
|
||||
FeatureCollection:{
|
||||
FeatureCollection: {
|
||||
rightMenus: [],
|
||||
render: renderShp,
|
||||
detailFun: get_detail_shp,
|
||||
allowChildren: false
|
||||
allowChildren: false,
|
||||
},
|
||||
Feature: {
|
||||
rightMenus: ["setView", "resetView", "showAttr"],
|
||||
@ -1017,7 +1035,7 @@ const nodeType = {
|
||||
allowChildren: false,
|
||||
},
|
||||
// 飞线
|
||||
flyLine:{
|
||||
flyLine: {
|
||||
rightMenus: [
|
||||
"edit",
|
||||
"del",
|
||||
@ -1027,7 +1045,7 @@ const nodeType = {
|
||||
render: renderFlyLine,
|
||||
detailFun: get_detail_flyLine,
|
||||
allowChildren: false,
|
||||
}
|
||||
},
|
||||
|
||||
// renderStandText
|
||||
};
|
||||
@ -1042,7 +1060,7 @@ const nodeType = {
|
||||
* @return {{tree_index: number, rich_text: string, layer_index: number, source_type: string, source_id: string, detail: string, source_path: string, source_name: string, is_show: number, p_id: string}}
|
||||
*/
|
||||
let getNodeData = (DbOption = { source_type: "point" }, DetailOption = {}) => {
|
||||
console.log("DbOptionDbOptionDbOption", );
|
||||
console.log("DbOptionDbOptionDbOption");
|
||||
if (!DbOption.source_id)
|
||||
DbOption.source_id = $root_home.$md5(
|
||||
new Date().getTime() + dbStruct.source_name
|
||||
@ -1051,7 +1069,7 @@ let getNodeData = (DbOption = { source_type: "point" }, DetailOption = {}) => {
|
||||
{ source_type: DbOption.source_type, source_id: DbOption.source_id },
|
||||
DetailOption
|
||||
);
|
||||
console.log('detail',detail);
|
||||
console.log("detail", detail);
|
||||
DbOption.detail = detail;
|
||||
let Node = setDbStruct(DbOption);
|
||||
console.log("getNodeData", Node);
|
||||
@ -1080,7 +1098,7 @@ function recurrenceSetValue(detail, DetailOption) {
|
||||
*/
|
||||
function setDetail({ source_type, source_id }, DetailOption) {
|
||||
console.log("DetailOption", DetailOption);
|
||||
|
||||
|
||||
DetailOption.id = source_id;
|
||||
/* let jsStr = "(get_detail_" + source_type + "(DetailOption))";
|
||||
|
||||
@ -1296,7 +1314,7 @@ function cusAddNodes(treeObj, parentNodeId, newNodes, isSilent) {
|
||||
if (node.detail && typeof node.detail == "string")
|
||||
node.detail = JSON.parse(node.detail);
|
||||
// if(node.p_id)
|
||||
YJ.Global.splitScreen.setActiveId([node.source_id]);
|
||||
YJ.Global.splitScreen.setActiveId([node.source_id]);
|
||||
});
|
||||
let parentNode = null;
|
||||
if (Object.prototype.toString.call(parentNodeId) === "[object Object]")
|
||||
@ -1308,7 +1326,7 @@ function cusAddNodes(treeObj, parentNodeId, newNodes, isSilent) {
|
||||
treeObj.selectNode(arr[arr.length - 1]);
|
||||
// 确保window.AllNodes存在并为数组
|
||||
window.AllNodes = (window.AllNodes || []).concat(arr);
|
||||
|
||||
|
||||
return arr;
|
||||
}
|
||||
|
||||
@ -1324,6 +1342,16 @@ function cusRemoveNode(treeObj, nodes) {
|
||||
nodes.forEach((node) => {
|
||||
allNodes = allNodes.concat(treeObj.transformToArray(node));
|
||||
});
|
||||
let ids = [
|
||||
"模型图层",
|
||||
"特效图层",
|
||||
"标绘图层",
|
||||
"二维军标图层",
|
||||
"三维军标图层",
|
||||
];
|
||||
// 排除
|
||||
allNodes = allNodes.filter((node) => !ids.includes(node.source_id));
|
||||
|
||||
allNodes.forEach((node) => {
|
||||
_idSet.add(node.source_id);
|
||||
treeObj.removeNode(node);
|
||||
|
@ -154,10 +154,28 @@ const tree = {
|
||||
isnewSelect = false;
|
||||
});
|
||||
console.log("selectNodes1111111111111111111111", selectNodes);
|
||||
|
||||
if (!event.ctrlKey && (selectNodes.length < 2 || isnewSelect))
|
||||
treeNodeOption.cusSelectNode(this.treeObj, treeNode);
|
||||
let menus = treeNodeOption.showRightMenu(event, this.treeObj);
|
||||
let ids = [
|
||||
"模型图层",
|
||||
"特效图层",
|
||||
"标绘图层",
|
||||
"二维军标图层",
|
||||
"三维军标图层",
|
||||
];
|
||||
// 判断source_ids中如果包含ids中的id则不显示右键菜单
|
||||
if (treeNode && treeNode.source_id) {
|
||||
if (ids.includes(treeNode.source_id)) {
|
||||
menus = [
|
||||
"addDirectory",
|
||||
"addResource",
|
||||
"pictureLocation",
|
||||
"importPanorama",
|
||||
];
|
||||
}
|
||||
}
|
||||
console.log("treeNode", treeNode);
|
||||
console.log(menus);
|
||||
if (menus.length == 0) {
|
||||
return;
|
||||
@ -259,6 +277,18 @@ const tree = {
|
||||
* @returns {boolean} 返回 false,zTree 将恢复被拖拽的节点,也无法触发 onDrop 事件回调函数
|
||||
*/
|
||||
beforeDrop(treeId, treeNodes, targetNode, moveType) {
|
||||
if (
|
||||
["prev", "next", "inner"].includes(moveType) &&
|
||||
[
|
||||
"模型图层",
|
||||
"特效图层",
|
||||
"标绘图层",
|
||||
"二维军标图层",
|
||||
"三维军标图层",
|
||||
].includes(treeNodes[0].source_id)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
if (
|
||||
["prev", "next", "inner"].includes(moveType) &&
|
||||
["pressModel", "terrainDig"].includes(treeNodes[0].source_type)
|
||||
@ -304,6 +334,19 @@ const tree = {
|
||||
if ((!isShift && !isCtrl) || !treeNode) {
|
||||
nodes = [];
|
||||
}
|
||||
let ids = [
|
||||
"模型图层",
|
||||
"特效图层",
|
||||
"标绘图层",
|
||||
"二维军标图层",
|
||||
"三维军标图层",
|
||||
];
|
||||
if (treeNode) {
|
||||
if (ids.includes(treeNode.source_type)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
console.log("nodes", treeNode);
|
||||
if (treeNode) {
|
||||
nodes.push(treeNode);
|
||||
//根据编辑表单的回调,控制图层的勾选显示
|
||||
@ -528,7 +571,7 @@ const tree = {
|
||||
* @param treeNode
|
||||
*/
|
||||
onDblClick(event, treeId, treeNode) {
|
||||
console.log("双击文件夹",treeNode);
|
||||
console.log("双击文件夹", treeNode);
|
||||
let entity = window._entityMap.get(treeNode.source_id);
|
||||
// if (!entity) {
|
||||
// this.$message.warning("无资源数据");
|
||||
@ -632,7 +675,7 @@ const tree = {
|
||||
console.log("shp", shp);
|
||||
node.children.forEach((item) => {
|
||||
shp.setShow(status, item.source_id);
|
||||
console.log("item",status, item);
|
||||
console.log("item", status, item);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
@ -166,7 +166,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
addMarker(option) {
|
||||
let bioahui_id = "2e46e3da8b72d5242e5898170a229ad7"
|
||||
let bioahui_id = "标绘图层"
|
||||
if (window.checkAuthIsValid) {
|
||||
if (option.source_name == "锁定") {
|
||||
if (YJ.Global.Lock.status()) {
|
||||
@ -205,12 +205,14 @@ export default {
|
||||
// 绘制
|
||||
draw(option) {
|
||||
let source_id = this.$md5(new Date().getTime() + option.source_name);
|
||||
let biaohui_id = "标绘图层";
|
||||
//数据库对应的数据对象
|
||||
let DbOption = {
|
||||
source_id,
|
||||
source_name: option.source_name,
|
||||
source_type: option.source_type,
|
||||
p_id: findParentId(this.treeObj),
|
||||
// p_id:biaohui_id,
|
||||
};
|
||||
let draw
|
||||
if (option.source_type == "curve") {
|
||||
@ -282,6 +284,7 @@ export default {
|
||||
},
|
||||
// 贴地文字
|
||||
groundText() {
|
||||
// let biaohui_id = "标绘图层";
|
||||
let that = this;
|
||||
this.$sendChanel("textTetlie", "贴地文字");
|
||||
this.$changeComponentShow(".textModelBox", true);
|
||||
@ -318,7 +321,7 @@ export default {
|
||||
addSource(node).then((res) => {
|
||||
if ([0, 200].includes(res.code)) {
|
||||
// cusRenderNode(DbOption)
|
||||
cusAddNodes(that.treeObj, DbOption.p_id, [node]);
|
||||
cusAddNodes(that.treeObj,DbOption.p_id, [node]);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -328,6 +331,7 @@ export default {
|
||||
},
|
||||
// 立体文字
|
||||
standText() {
|
||||
// let biaohui_id = "标绘图层";
|
||||
let that = this;
|
||||
this.$sendChanel("textTetlie", "立体文字");
|
||||
this.$changeComponentShow(".textModelBox", true);
|
||||
@ -367,6 +371,7 @@ export default {
|
||||
},
|
||||
// 扇形
|
||||
sector() {
|
||||
let biaohui_id = "标绘图层";
|
||||
let draw = new YJ.Draw.DrawSector(window.Earth1);
|
||||
draw.start((err, params) => {
|
||||
console.log("paramsparamsparams", params);
|
||||
@ -402,6 +407,7 @@ export default {
|
||||
},
|
||||
// 椭圆
|
||||
ellipse() {
|
||||
let biaohui_id = "标绘图层";
|
||||
let draw = new YJ.Draw.DrawElliptic(window.Earth1);
|
||||
draw.start((err, params) => {
|
||||
console.log("paramsparamsparams", params);
|
||||
|
@ -263,7 +263,7 @@ export default {
|
||||
handleClick() { },
|
||||
selectImg({ key, url, name }) {
|
||||
// 军标库图层
|
||||
let jun_biao_id = "3579e514a976c9aad03fde6b6198f464";
|
||||
let jun_biao_id = "二维军标图层";
|
||||
//jun_biao_id: "67bee03d6370434d7e98bcda940e67e7"
|
||||
// name: "a常用new_37 (23)"
|
||||
// p_id: "8277e0910d750195b448797616e091ad"
|
||||
@ -312,7 +312,7 @@ export default {
|
||||
if ([0, 200].includes(res.code)) {
|
||||
cusRenderNode(DbOption);
|
||||
// DbOption.p_id
|
||||
cusAddNodes(this.treeObj, jun_biao_id, [node]);
|
||||
cusAddNodes(this.treeObj, DbOption.p_id, [node]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ export default {
|
||||
handleClick() {
|
||||
},
|
||||
selectImg({ key, url, name, glbUrl }) {
|
||||
let jun_biao_id = "03826cc9d84e13cb404745ebd5b3963e"
|
||||
let jun_biao_id = "三维军标图层"
|
||||
console.log('glbUrlglbUrlglbUrl', glbUrl);
|
||||
//jun_biao_id: "67bee03d6370434d7e98bcda940e67e7"
|
||||
// name: "a常用new_37 (23)"
|
||||
@ -169,7 +169,7 @@ export default {
|
||||
if ([0, 200].includes(res.code)) {
|
||||
// cusRenderNode(DbOption)
|
||||
// DbOption.p_id
|
||||
cusAddNodes(this.treeObj,jun_biao_id, [node])
|
||||
cusAddNodes(this.treeObj,DbOption.p_id, [node])
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -9,10 +9,13 @@
|
||||
</span>
|
||||
</div>
|
||||
<div class="boxBody custom_scroll_bar">
|
||||
<div style="display: flex">
|
||||
<div style="display: flex;justify-content: space-between;">
|
||||
<el-input size="small" suffix-icon="el-icon-search" placeholder="输入关键字进行过滤" @input="searchContent"
|
||||
v-model="filterText">
|
||||
</el-input>
|
||||
<div class="modelSet">
|
||||
<el-button type="primary" @click="modelSet" size="small">默认模型参数设置</el-button>
|
||||
</div>
|
||||
<!--<el-button type="primary" @click="searchContent('type')" size="small">搜类型</el-button>-->
|
||||
<!--<el-button type="primary" @click="searchContent('junbiao')" size="small">搜军标</el-button>-->
|
||||
</div>
|
||||
@ -33,10 +36,11 @@
|
||||
<template v-for="item in modelTypeList">
|
||||
<el-collapse-item :title="item.type_name" :name="item.type_id">
|
||||
<template v-for="model in item.children">
|
||||
<div class="itemBox" @click="selectModel(model)">
|
||||
<div class="imgbox">
|
||||
<el-image :src="model.poster_url + '?' + Math.random()" alt=""></el-image>
|
||||
|
||||
<!-- -->
|
||||
<div class="itemBox" @click="editModel(model)" @dblclick="selectModel(model)">
|
||||
<div class="imgbox" :class="{ selectModel: editModelId == model.model_id }">
|
||||
<el-image :src="model.poster_url" alt=""></el-image>
|
||||
<!-- + '?' + Math.random() -->
|
||||
</div>
|
||||
<span>{{ model.model_name }}</span>
|
||||
</div>
|
||||
@ -82,9 +86,86 @@ export default {
|
||||
allModels: [],
|
||||
searchRes: [],
|
||||
arrModel: [],
|
||||
editModelData: null,
|
||||
editModelId: null,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
modelSet() {
|
||||
if (this.editModelData) {
|
||||
let url = this.editModelData.model_url;
|
||||
let source_id = this.$md5(new Date().getTime() + this.editModelData.model_name);
|
||||
console.log(this.editModelData, url, source_id);
|
||||
let models = new YJ.Obj.BatchModel(window.Earth1, {
|
||||
id: source_id,
|
||||
url
|
||||
}, function (data) {
|
||||
console.log('data,url,source_id', data, url, source_id);
|
||||
// this.renderModel(data, this.editModelData);
|
||||
})
|
||||
} else {
|
||||
|
||||
}
|
||||
this.close();
|
||||
},
|
||||
async renderModel(data, model) {
|
||||
let selectedNode = getSelectedNode(this.treeObj);
|
||||
let p_id = selectedNode
|
||||
? nodeType[selectedNode.source_type].allowChildren
|
||||
? selectedNode.source_id
|
||||
: selectedNode.p_id
|
||||
: -1;
|
||||
let z
|
||||
if (data.positions.length>0) {
|
||||
data.positions.forEach( async (position,index) => {
|
||||
let source_id = this.$md5(new Date().getTime() + model.model_name+index);
|
||||
if (data.type=="面") {
|
||||
z = data.rotate.z;
|
||||
}else if (data.type=="线") {
|
||||
z = data.rotate[index];
|
||||
}
|
||||
let DbOption = {
|
||||
source_id,
|
||||
source_name: model.model_name + index,
|
||||
source_type: "model",
|
||||
p_id,
|
||||
};
|
||||
let option = {
|
||||
id: source_id,
|
||||
position,
|
||||
name: model.model_name + index,
|
||||
show: true,
|
||||
scale: 1,
|
||||
url: model.model_url,
|
||||
maximumScale: 1,
|
||||
host: getIP(),
|
||||
rotate:{
|
||||
x: 0,
|
||||
y: 0,
|
||||
z
|
||||
}
|
||||
};
|
||||
let Model = await new YJ.Obj.Model(window.Earth1, option);
|
||||
window._entityMap.set(option.id, Model);
|
||||
Model.onClick = () => {
|
||||
leftClick(node);
|
||||
};
|
||||
let detailOption = JSON.parse(JSON.stringify(Model.options));
|
||||
detailOption.url = model.model_id + ".glb";
|
||||
let node = getNodeData(DbOption, detailOption);
|
||||
addSource(node).then((res) => {
|
||||
if ([0, 200].includes(res.code)) {
|
||||
// cusRenderNode(DbOption) DbOption.p_id
|
||||
cusAddNodes(this.treeObj, DbOption.p_id, [node]);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
editModel(model) {
|
||||
this.editModelData = model;
|
||||
this.editModelId = model.model_id;
|
||||
},
|
||||
searchContent(val) {
|
||||
if (val) {
|
||||
this.searchRes = this.allModels.filter((item) => {
|
||||
@ -95,6 +176,7 @@ export default {
|
||||
}
|
||||
},
|
||||
selectModel(model) {
|
||||
let model_p_id = "模型图层"
|
||||
console.log("选中了模型", model, this.type);
|
||||
this.close();
|
||||
if (this.type == "rightMenu") {
|
||||
@ -137,11 +219,10 @@ export default {
|
||||
detailOption.url = model.model_id + ".glb";
|
||||
let node = getNodeData(DbOption, detailOption);
|
||||
console.log(node);
|
||||
let model_id = "43d570f69514904a91b5df9c5f33bc98"
|
||||
addSource(node).then((res) => {
|
||||
if ([0, 200].includes(res.code)) {
|
||||
// cusRenderNode(DbOption) DbOption.p_id
|
||||
cusAddNodes(this.treeObj, model_id, [node]);
|
||||
cusAddNodes(this.treeObj, DbOption.p_id, [node]);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -190,6 +271,8 @@ export default {
|
||||
this.allModels = [];
|
||||
this.modelTypeList = [];
|
||||
this.activeName = "";
|
||||
this.editModelData = null;
|
||||
this.editModelId = null;
|
||||
this.$changeComponentShow(".modelBox", false);
|
||||
},
|
||||
},
|
||||
@ -255,6 +338,18 @@ export default {
|
||||
flex: auto;
|
||||
overflow-y: auto;
|
||||
|
||||
.modelSet {
|
||||
.el-button {
|
||||
background: rgba(var(--color-sdk-base-rgb), 0.2);
|
||||
border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.selectModel {
|
||||
border: 1px solid red !important;
|
||||
}
|
||||
|
||||
.itemBox {
|
||||
width: 20%;
|
||||
display: flex;
|
||||
@ -273,6 +368,7 @@ export default {
|
||||
background-repeat: no-repeat;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
border: 1px solid rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
img {
|
||||
|
@ -176,7 +176,6 @@ export default {
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
padding: 20px;
|
||||
|
||||
.el-form--label-top .el-form-item__label {
|
||||
padding: 0;
|
||||
}
|
||||
@ -186,10 +185,16 @@ export default {
|
||||
}
|
||||
|
||||
.el-textarea__inner {
|
||||
max-height: 500px;
|
||||
// overflow: hidden; /* 禁用滚动条 */
|
||||
resize: none; /* 禁止用户手动调整文本框的尺寸 */
|
||||
background-color: transparent;
|
||||
color: #fff;
|
||||
border-color: rgba(var(--color-sdk-base-rgb), 0.5) !important;
|
||||
}
|
||||
.el-textarea__inner::scrollbar-width {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.el-button {
|
||||
background: rgba(var(--color-sdk-base-rgb), 0.2);
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="header_top">
|
||||
<!-- <svg-icon icon-class="Head" :class-name="['headItem']"></svg-icon> -->
|
||||
<img style="width:100%;" :src="require('@/assets/images/81/' + skinInfo + '/head.png')" alt="" />
|
||||
<img style="width:100%;" :src="require('@/assets/images/812/' + skinInfo + '/head.png')" alt="" />
|
||||
<div class="dateTime">
|
||||
<span>{{ date.ymd }}</span>
|
||||
<span>{{ $t("headerTitles.week")[date.week] }}</span>
|
||||
|
@ -51,14 +51,14 @@ export default {
|
||||
setList: [
|
||||
//北斗图标
|
||||
// 标准版本
|
||||
{
|
||||
id: 0,
|
||||
index: 0,
|
||||
icon: "locate",
|
||||
className: "header_public",
|
||||
dbcallback: this.flyTo,
|
||||
callback: this.locate,
|
||||
},
|
||||
// {
|
||||
// id: 0,
|
||||
// index: 0,
|
||||
// icon: "locate",
|
||||
// className: "header_public",
|
||||
// dbcallback: this.flyTo,
|
||||
// callback: this.locate,
|
||||
// },
|
||||
{
|
||||
id: 1,
|
||||
index: 1,
|
||||
|
@ -489,7 +489,7 @@
|
||||
</el-tab-pane>
|
||||
<!-- 军标管理 -->
|
||||
<!-- v-if="false" 标准版本 -->
|
||||
<el-tab-pane :label="$t('headerTitles.graphLabel.title')">
|
||||
<el-tab-pane :label="$t('headerTitles.graphLabel.title')">
|
||||
<div class="modelBtn custom_scroll_bar" v-if="isStandAlone">
|
||||
<el-button @click="createLib('graphLabel')" type="warning" size="small">{{
|
||||
$t("headerTitles.graphLabel.createGraphLabelLibrary") }}
|
||||
|
@ -78,7 +78,7 @@
|
||||
<!-- <img src="@/assets/images/81.gif" /> -->
|
||||
<!-- <img src="@/assets/images/rotation.gif" /> -->
|
||||
<!-- <img src="@/assets/images/地球.gif" />-->
|
||||
<img :src="require('@/assets/images/81/' + skinInfo + '/logo.png')" alt="" />
|
||||
<img :src="require('@/assets/images/812/' + skinInfo + '/logo.png')" alt="" />
|
||||
<!-- <img src="@/assets/images/3c60ff3cd2d9e0547ada43a58fa60c3.png">-->
|
||||
<!-- <img src="@/assets/images/aaaaaa.webp">-->
|
||||
<!-- <button v-for="item in optionss" @click="addMarker(item)">{{ item.source_name }}</button>-->
|
||||
|
@ -12,13 +12,13 @@
|
||||
<div class="titleItem">
|
||||
<img src="../../assets/images/titleLeft.png" alt="" />
|
||||
<div>
|
||||
<div style="font-size: 4em;font-family: 'youshe';" class="title">
|
||||
<!-- <div style="font-size: 4em;font-family: 'youshe';" class="title">
|
||||
北斗定位+
|
||||
</div>
|
||||
<div style="font-size: 3.5em;" class="title">
|
||||
便携式应急指挥电子沙盘系统
|
||||
</div>
|
||||
<!-- <div class="title">{{ $t("title.name") }}</div> -->
|
||||
</div> -->
|
||||
<div class="title">{{ $t("title.name") }}</div>
|
||||
</div>
|
||||
<img src="../../assets/images/titleRight.png" alt="" />
|
||||
</div>
|
||||
@ -252,7 +252,7 @@ export default {
|
||||
selectedService: "接口服务",
|
||||
serviceOptions: [
|
||||
{ name: "接口服务" },
|
||||
{ name: "北斗串口" }
|
||||
// { name: "北斗串口" }
|
||||
],
|
||||
servVal: "单机",
|
||||
gpsVal: "",
|
||||
|
BIN
static/icon/textBox.png
Normal file
After Width: | Height: | Size: 243 B |
12
static/sdk/YJEarth.min.js
vendored
19
static/sdk/YJEarth.min11.js
Normal file
@ -1034,6 +1034,7 @@
|
||||
padding: 5px;
|
||||
position: fixed !important;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog>.content .ew-color-picker input {
|
||||
font-size: 14px;
|
||||
line-height: 28px;
|
||||
@ -1041,6 +1042,7 @@
|
||||
padding: 0 8px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog>.content .ew-color-picker .input-number-unit input[type=number] {
|
||||
padding: 0 20px 0 8px;
|
||||
width: 66px;
|
||||
@ -1049,11 +1051,12 @@
|
||||
.YJ-custom-base-dialog.ew-color-picker>.ew-color-picker-content {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.YJ-custom-base-dialog .ew-color-picker>.ew-color-picker-content>.ew-color-panel {
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker>.ew-color-picker-content>.ew-color-panel {
|
||||
width: 302px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker> .ew-color-input {
|
||||
.YJ-custom-base-dialog .ew-color-picker>.ew-color-input {
|
||||
margin-top: 1px;
|
||||
font-size: 14px;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
@ -1109,6 +1112,7 @@
|
||||
margin: 0 0 8px 8px;
|
||||
border: 1px solid #9b979b;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker>.ew-pre-define-color-container>.ew-pre-define-color:nth-child(11n+1) {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
@ -1138,6 +1142,7 @@
|
||||
text-align: center;
|
||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==");
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color:nth-child(11n+1) {
|
||||
margin: 0 0 8px 0;
|
||||
}
|
||||
@ -1148,13 +1153,14 @@
|
||||
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);
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container svg,
|
||||
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container> svg {
|
||||
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>svg {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@ -1171,6 +1177,7 @@
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker>.yj-pre-collect-color-container>.yj-pre-collect-color>.yj-pre-define-color-item.subtract-btn {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@ -1192,6 +1199,7 @@
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker .ew-color-dropbtngroup button.ew-color-clear {
|
||||
margin-right: 8px;
|
||||
}
|
||||
@ -1229,12 +1237,12 @@
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker .ew-color-dropbtns{
|
||||
.YJ-custom-base-dialog .ew-color-picker .ew-color-dropbtns {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker svg{
|
||||
.YJ-custom-base-dialog .ew-color-picker svg {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@ -1421,6 +1429,24 @@
|
||||
margin-bottom: 10px;
|
||||
display: flex;
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.DIV-cy-tabs .DIV-cy-tab-top::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
}
|
||||
|
||||
.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));
|
||||
}
|
||||
|
||||
.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);
|
||||
}
|
||||
|
||||
.DIV-cy-tabs .DIV-cy-tab-top::after {
|
||||
@ -1465,7 +1491,14 @@
|
||||
border-bottom: 2px solid #dddddd00;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
white-space: nowrap;
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
-webkit-pointer-events: auto;
|
||||
-moz-pointer-events: auto;
|
||||
-ms-pointer-events: auto;
|
||||
-o-pointer-events: auto;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.DIV-cy-tabs .DIV-cy-tab-pane-title-p span {
|
||||
@ -1955,6 +1988,7 @@
|
||||
.YJ-custom-base-dialog.water-surface>.content>div .row .label {
|
||||
flex: 0 0 60px;
|
||||
}
|
||||
|
||||
/* 流光飞线 */
|
||||
.YJ-custom-base-dialog.flow-line-surface>.content {
|
||||
width: 586px;
|
||||
@ -2123,6 +2157,7 @@
|
||||
.YJ-custom-base-dialog.particle-effects>.content .row>.col {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.particle-effects>.content .ew-color-picker .row>.col {
|
||||
width: auto;
|
||||
}
|
||||
@ -2772,6 +2807,7 @@
|
||||
.YJ-custom-base-dialog.polyline>.content {
|
||||
width: 580px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div #dashTextureDom {
|
||||
display: none;
|
||||
}
|
||||
@ -2823,6 +2859,7 @@
|
||||
.YJ-custom-base-dialog.polyline>.content>div .spatial-info-table .table-body {
|
||||
max-height: 185px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-unit-box textarea {
|
||||
border-radius: unset !important;
|
||||
}
|
||||
@ -2951,34 +2988,37 @@
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-unit-box textarea {
|
||||
border-radius: unset!important;
|
||||
border-radius: unset !important;
|
||||
}
|
||||
|
||||
.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-sdk-base-rgb), 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;
|
||||
border-radius: 4px 0px, 0px, 4px!important;
|
||||
background-color: rgba(var(--color-sdk-base-rgb), 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;
|
||||
border-radius: 0px 4px 4px 0px!important;
|
||||
background-color: rgba(var(--color-sdk-base-rgb), 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;
|
||||
}
|
||||
.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-sdk-base-rgb), 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;
|
||||
.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;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist input {
|
||||
@ -3002,73 +3042,122 @@
|
||||
height: 13px;
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
.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);
|
||||
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);
|
||||
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);
|
||||
height: 0px;
|
||||
margin-top: 4px;
|
||||
box-shadow: 0 0 3px #fff
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.tail-line {
|
||||
background: url(../../img/arrow/tail.png) 100% 100% no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.mult-tail-line {
|
||||
background: url(../../img/arrow/tail.png) 100% 100% no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.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);
|
||||
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);
|
||||
height: 0px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line1 {
|
||||
background: url(../../img/arrow/1.png);
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line2 {
|
||||
background: url(../../img/arrow/2.png);
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line3 {
|
||||
background: url(../../img/arrow/3.png);
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line4 {
|
||||
background: url(../../img/arrow/4.png) ;
|
||||
background: url(../../img/arrow/4.png);
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line5 {
|
||||
background: url(../../img/arrow/5.png);
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.polyline>.content>div .input-select-line-type-box .cy_datalist i.pic-line6 {
|
||||
background: url(../../img/arrow/6.png) 100% 100% no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/* 文本框 */
|
||||
.popup-textarea{
|
||||
/* width: 212px; */
|
||||
width: 161.6px;
|
||||
/* height: 154px; */
|
||||
height: 119.2px;
|
||||
display: block;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
/* z-index: 99; */
|
||||
background: url(../../img/pop.png) 100% 100% no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 5px 5px 0px 5px;
|
||||
}
|
||||
.popup-textarea textarea{
|
||||
background-color: unset!important;
|
||||
border: unset!important;
|
||||
color: #fff;
|
||||
}
|
||||
.popup-textarea textarea::-webkit-scrollbar {
|
||||
width: 8px!important;
|
||||
/* height: 8px!important; */
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
/* 贴地图片 */
|
||||
.YJ-custom-base-dialog.ground-image>.content {
|
||||
width: 500px;
|
||||
width: 560px;
|
||||
}
|
||||
|
||||
/* 模型 */
|
||||
@ -3490,3 +3579,184 @@
|
||||
.YJ-custom-base-dialog.contour>.content .label {
|
||||
flex: unset;
|
||||
}
|
||||
|
||||
/* 锚点设置 */
|
||||
.YJ-custom-base-dialog.anchor-point {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.anchor-point>.content {
|
||||
padding: 14px 40px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.anchor-point>.content>div {
|
||||
border: 1px solid #757575;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog.anchor-point>.content>div>.point {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
background: #FFDF53;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #ff7300;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.billboard-attribute-box {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
background: linear-gradient(0deg, var(--color-sdk-bg-gradual)), rgba(0, 0, 0, 0.6);
|
||||
border: 1.5px solid;
|
||||
border-image: linear-gradient(to bottom, var(--color-sdk-gradual)) 1;
|
||||
color: #fff;
|
||||
min-width: 200px;
|
||||
min-height: 120px;
|
||||
box-sizing: border-box;
|
||||
/* -webkit-pointer-events: none;
|
||||
-moz-pointer-events: none;
|
||||
-ms-pointer-events: none;
|
||||
-o-pointer-events: none;
|
||||
pointer-events: none; */
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-top .DIV-cy-tab-pane-title {
|
||||
padding: 0 2px;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-top .DIV-cy-tab-pane-title:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-top .DIV-cy-tab-pane-title:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-top .DIV-cy-tab-pane-title span {
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-content {
|
||||
padding: 0 5px 5px 5px;
|
||||
box-sizing: border-box;
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-content::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
.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));
|
||||
}
|
||||
|
||||
.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);
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-content-pane {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .DIV-cy-tabs .DIV-cy-tab-content-pane iframe {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.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);
|
||||
/* transform: rotate(45deg); */
|
||||
transform-origin: 0px 0px;
|
||||
-webkit-pointer-events: none;
|
||||
-moz-pointer-events: none;
|
||||
-ms-pointer-events: none;
|
||||
-o-pointer-events: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .drag-nook {
|
||||
position: absolute;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
display: block;
|
||||
user-select: none;
|
||||
-webkit-pointer-events: auto;
|
||||
-moz-pointer-events: auto;
|
||||
-ms-pointer-events: auto;
|
||||
-o-pointer-events: auto;
|
||||
pointer-events: auto;
|
||||
z-index: 3;
|
||||
clip-path: polygon(0% 100%, 100% 100%, 50% 50%);
|
||||
background-image: linear-gradient(to top, #ffffff 1px, #00000000 1px);
|
||||
background-size: 100% 3px;
|
||||
/* background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJRJREFUWEftltsJgFAMQ5NNdBJ1Eh3NTdRJdJPIBQXF50/p/WgHSNNDCSGch877EQbyIyCpBtAa/cZEsj9qXwhImgEURgZA8rTzzkAiYGVgITm+ErC6/Ek3vycMAkHAnYCkAUDKAosZSTaeSZiCqIwgCgJBIG8CWyXzKySSZBGBu+afStYBqIxMfJdSo8WPslHJgsAKWjkmIRBy/c8AAAAASUVORK5CYII='); */
|
||||
}
|
||||
|
||||
.billboard-attribute-box .drag-nook.left-top {
|
||||
top: -6px;
|
||||
left: -6px;
|
||||
cursor: se-resize;
|
||||
transform: rotate(-45deg);
|
||||
display: none;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .drag-nook.right-top {
|
||||
top: -6px;
|
||||
right: -6px;
|
||||
cursor: ne-resize;
|
||||
transform: rotate(45deg);
|
||||
display: none;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .table {
|
||||
background-color: #ffffff00;
|
||||
color: #ffffff;
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5);
|
||||
}
|
||||
|
||||
.billboard-attribute-box .table .table-head .tr {
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .table .tr {
|
||||
display: flex;
|
||||
border: 1px solid rgba(var(--color-sdk-base-rgb), 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);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.billboard-attribute-box .table .tr .th:last-child, .billboard-attribute-box .table .tr .td:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
|
||||
.billboard-attribute-box .table .table-body .tr {
|
||||
border-bottom: none;
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
.billboard-attribute-box .table .table-body .tr:first-child {
|
||||
border-top: none;
|
||||
}
|
3612
static/sdk/custom/css/index11.css
Normal file
BIN
static/sdk/img/pop.png
Normal file
After Width: | Height: | Size: 868 B |
@ -1,8 +0,0 @@
|
||||
2025-08-13 19:37:17.064 [INFO] {4002f2d68a505b1809606b17782404a5} gps.go:101: 查询串口数据
|
||||
2025-08-13 19:37:17.065 [INFO] {58bae8d88a505b180a606b1740e41f64} gps.go:105: 没有查询到串口数据
|
||||
2025-08-13 19:38:24.597 [INFO] {70911c929a505b180b85fd4764f28480} gps.go:101: 查询串口数据
|
||||
2025-08-13 19:38:24.623 [INFO] {2c16a8939a505b180c85fd47a97e49bc} gps.go:105: 没有查询到串口数据
|
||||
2025-08-13 20:55:25.963 [INFO] {9ca00491ce545b189bb8fd33d0b27ab9} gps.go:101: 查询串口数据
|
||||
2025-08-13 20:55:25.965 [INFO] {b8242391ce545b189cb8fd33cab437e7} gps.go:105: 没有查询到串口数据
|
||||
2025-08-13 21:52:19.416 [INFO] {84439552e9575b1818d4cd0455aa121f} gps.go:101: 查询串口数据
|
||||
2025-08-13 21:52:19.417 [INFO] {fcedb852e9575b1819d4cd0491956fc7} gps.go:105: 没有查询到串口数据
|
@ -1,10 +0,0 @@
|
||||
2025-08-14 00:32:00.597 [INFO] {e4e4f01ca0605b18debff520af1587a0} gps.go:101: 查询串口数据
|
||||
2025-08-14 00:32:00.598 [INFO] {0495981da0605b18dfbff5205f8443e5} gps.go:105: 没有查询到串口数据
|
||||
2025-08-14 00:34:35.678 [INFO] {2ca8ff38c4605b180c8cac6a2b5d8ad4} gps.go:101: 查询串口数据
|
||||
2025-08-14 00:34:35.686 [INFO] {4c638839c4605b180d8cac6a20fce36f} gps.go:105: 没有查询到串口数据
|
||||
2025-08-14 00:35:23.705 [INFO] {284cad67cf605b1842db906a0fc897ec} gps.go:101: 查询串口数据
|
||||
2025-08-14 00:35:23.705 [INFO] {3435bd67cf605b1843db906af15bc9d0} gps.go:105: 没有查询到串口数据
|
||||
2025-08-14 09:23:51.388 [INFO] {d4fbddeca57d5b18e6ac992a520558be} gps.go:101: 查询串口数据
|
||||
2025-08-14 09:23:51.389 [INFO] {f876eeeca57d5b18e7ac992a314eb0c5} gps.go:105: 没有查询到串口数据
|
||||
2025-08-14 09:49:05.592 [INFO] {c020747a067f5b184945fe601beee982} gps.go:101: 查询串口数据
|
||||
2025-08-14 09:49:05.592 [INFO] {e892847a067f5b184a45fe6044fde77c} gps.go:105: 没有查询到串口数据
|
BIN
yjearth4_0/static/log/2025-08-20.20250822091038339738.log.gz
Normal file
6
yjearth4_0/static/log/2025-08-21.log
Normal file
@ -0,0 +1,6 @@
|
||||
2025-08-21 09:39:22.595 [INFO] {dcf550b68ea45d18b387471271b7d773} gps.go:101: 查询串口数据
|
||||
2025-08-21 09:39:22.597 [INFO] {842772b68ea45d18b4874712ab1b6925} gps.go:105: 没有查询到串口数据
|
||||
2025-08-21 19:35:44.669 [INFO] {986d1fe019c55d18d309df3ac18912f0} gps.go:101: 查询串口数据
|
||||
2025-08-21 19:35:44.670 [INFO] {70032fe019c55d18d409df3afa90f681} gps.go:105: 没有查询到串口数据
|
||||
2025-08-21 19:41:49.876 [INFO] {88d618e86ec55d186628232887bd2331} gps.go:101: 查询串口数据
|
||||
2025-08-21 19:41:49.876 [INFO] {24192be86ec55d18672823280ba6422f} gps.go:105: 没有查询到串口数据
|
8
yjearth4_0/static/log/2025-08-22.log
Normal file
@ -0,0 +1,8 @@
|
||||
2025-08-22 09:10:38.368 [INFO] {7099eed191f15d184012250fe3558563} gps.go:101: 查询串口数据
|
||||
2025-08-22 09:10:38.369 [INFO] {e05ec6d391f15d184112250f0cbea3e9} gps.go:105: 没有查询到串口数据
|
||||
2025-08-22 09:15:21.612 [INFO] {c42956c6d3f15d180ee1f90d279c349c} gps.go:101: 查询串口数据
|
||||
2025-08-22 09:15:21.613 [INFO] {d8ce65c6d3f15d180fe1f90d7cdbcaa9} gps.go:105: 没有查询到串口数据
|
||||
2025-08-22 09:18:14.767 [INFO] {a8983417fcf15d186b67d37c08c0f081} gps.go:101: 查询串口数据
|
||||
2025-08-22 09:18:14.768 [INFO] {e83e4417fcf15d186c67d37cde1e0dcf} gps.go:105: 没有查询到串口数据
|
||||
2025-08-22 09:59:06.098 [INFO] {d475dfd536f45d186cd8bd20f836b128} gps.go:101: 查询串口数据
|
||||
2025-08-22 09:59:06.099 [INFO] {c433f0d536f45d186dd8bd20df6afc69} gps.go:105: 没有查询到串口数据
|