This commit is contained in:
zh
2025-11-19 17:53:58 +08:00
parent 247cc946bd
commit 056ede3f97
21 changed files with 234 additions and 148 deletions

View File

@ -511,6 +511,7 @@
overflow-y: auto; overflow-y: auto;
scrollbar-gutter: stable; scrollbar-gutter: stable;
width: calc(100% + 1px); width: calc(100% + 1px);
height: 194px;
} }
.YJ-custom-base-dialog>.content .table .align-center, .YJ-custom-base-dialog>.content .table .align-center,

View File

@ -688,6 +688,9 @@
}, },
nodeTitle: function (setting, node) { nodeTitle: function (setting, node) {
var t = setting.data.key.title === '' ? setting.data.key.name : setting.data.key.title var t = setting.data.key.title === '' ? setting.data.key.name : setting.data.key.title
if(!node[t]) {
t = setting.data.key.name
}
var rawTitle = '' + node[t] var rawTitle = '' + node[t]
if (typeof setting.data.render.title === 'function') { if (typeof setting.data.render.title === 'function') {
return setting.data.render.title.call(this, rawTitle, node) return setting.data.render.title.call(this, rawTitle, node)
@ -1489,6 +1492,7 @@
html.push('</a>') html.push('</a>')
}, },
makeDOMNodeNameBefore: function (html, setting, node) { makeDOMNodeNameBefore: function (html, setting, node) {
console.log('=================', setting, node)
var title = data.nodeTitle(setting, node), var title = data.nodeTitle(setting, node),
url = view.makeNodeUrl(setting, node), url = view.makeNodeUrl(setting, node),
fontcss = view.makeNodeFontCss(setting, node), fontcss = view.makeNodeFontCss(setting, node),

View File

@ -96,6 +96,10 @@ window.newFuzzySearch = function (
let str = '<span style="color: whitesmoke;background-color: darkred;">' + h + '</span>' let str = '<span style="color: whitesmoke;background-color: darkred;">' + h + '</span>'
return str return str
}) })
item.title = item.oldname.replace(F, function (h) {
let str = h
return str
})
// let a = item.name // let a = item.name
// a = '<span style="color: whitesmoke;background-color: darkred;">' + a + "</span>" // a = '<span style="color: whitesmoke;background-color: darkred;">' + a + "</span>"

View File

@ -85,8 +85,12 @@ service.interceptors.response.use(
if (response.data.code == 401) { if (response.data.code == 401) {
router.push('/') router.push('/')
localStorage.removeItem('Authorization') localStorage.removeItem('Authorization')
ElMessage({
message: "登录过期,请重新登录",
type: 'error'
})
} }
if (![0, 200].includes(response.data.code)) { else if (![0, 200].includes(response.data.code)) {
ElMessage({ ElMessage({
message: response.data.msg || response.data.message, message: response.data.msg || response.data.message,
type: 'error' type: 'error'

View File

@ -10,13 +10,22 @@ export const addMapSource = async ({type, id, sourceName = '未命名对象', op
let options: any = await initMapData(type, opt, null) let options: any = await initMapData(type, opt, null)
let selectedNodes = window.treeObj.getSelectedNodes() let selectedNodes = window.treeObj.getSelectedNodes()
let node = selectedNodes && selectedNodes[selectedNodes.length - 1] let node = selectedNodes && selectedNodes[selectedNodes.length - 1]
function getParentId(nd: any) {
if (nd.sourceType === 'directory') {
return nd.id
} else {
let parentNode = window.treeObj.getNodeByParam("id", nd.parentId, null);
if(parentNode) {
return getParentId(parentNode)
}
else {
return
}
}
}
let parentId let parentId
if (node) { if (node) {
if (node.sourceType === 'directory') { parentId = getParentId(node)
parentId = node.id
} else {
parentId = node.parentId
}
} }
delete options.host delete options.host
if(options.attribute && options.attribute.rtmp) { if(options.attribute && options.attribute.rtmp) {

View File

@ -149,7 +149,7 @@ let pageSize: any = ref(10)
let pageNum: any = ref(1) let pageNum: any = ref(1)
let total: any = ref(0) let total: any = ref(0)
const back = () => { const back = () => {
ipcRenderer.send('toggle-fullscreen', false) // ipcRenderer.send('toggle-fullscreen', false)
router.push({path: '/home'}) router.push({path: '/home'})
} }
const handleSizeChange = (val) => { const handleSizeChange = (val) => {

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="bottomMenuBox zIndex9" ref="bottomMenuBox"> <div class="bottomMenuBox zIndex9" ref="bottomMenuBox">
<div class="animate__animated bottomMenu"> <div class="animate__animated bottomMenu">
<div class="bottom_box" v-for="(item, i) of bottomMenuList" :key="i" :title="t('bottomMenu.' + item.sourceType)"> <div class="bottom_box" v-for="(item, i) of bottomMenuList" :key="i">
<div class="bottom_box_content" @click="addMarker(item, $event)"> <div class="bottom_box_content" @click="addMarker(item, $event)" :title="t('bottomMenu.' + item.sourceType)">
<svg class="bottom_box_bg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" <svg class="bottom_box_bg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="117.030029296875" height="44" viewBox="0 0 117.030029296875 44" fill="none" width="117.030029296875" height="44" viewBox="0 0 117.030029296875 44" fill="none"
preserveAspectRatio="none"> preserveAspectRatio="none">
@ -40,7 +40,7 @@
</div> </div>
<div class="bottom_children" v-if="item.children" v-show="item.childrenShow"> <div class="bottom_children" v-if="item.children" v-show="item.childrenShow">
<div class="bottom_childre_box" v-for="(item2, m) of item.children" :key="m" <div class="bottom_childre_box" v-for="(item2, m) of item.children" :key="m"
@click="addMarker(item2, $event)"> @click="addMarker(item2, $event)" :title="t('bottomMenu.' + item2.sourceType)">
<svg class="bottom_childre_box_bg" xmlns="http://www.w3.org/2000/svg" <svg class="bottom_childre_box_bg" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="6vw" height="44.5" viewBox="0 0 119 35.5" fill="none" xmlns:xlink="http://www.w3.org/1999/xlink" width="6vw" height="44.5" viewBox="0 0 119 35.5" fill="none"
preserveAspectRatio="none"> preserveAspectRatio="none">
@ -595,6 +595,7 @@ const fold = () => {
const itemDuration = 300 const itemDuration = 300
if (isFolded.value) { if (isFolded.value) {
// 展开状态 // 展开状态
bottomMenuBox.value.style.pointerEvents = 'unset'
items.forEach((item: any, index) => { items.forEach((item: any, index) => {
setTimeout(() => { setTimeout(() => {
item.style.transition = 'transform 0.3s ease' item.style.transition = 'transform 0.3s ease'
@ -606,6 +607,7 @@ const fold = () => {
bottom_left.style.transform = 'rotate(270deg)' bottom_left.style.transform = 'rotate(270deg)'
} else { } else {
// 折叠状态 // 折叠状态
bottomMenuBox.value.style.pointerEvents = 'none'
items.forEach((item: any, index: any) => { items.forEach((item: any, index: any) => {
setTimeout(() => { setTimeout(() => {
item.style.transition = 'transform 0.3s ease' item.style.transition = 'transform 0.3s ease'
@ -817,6 +819,7 @@ document.addEventListener('click', (e: any) => {
transition: all 0.3s ease; transition: all 0.3s ease;
transform: rotate(270deg); transform: rotate(270deg);
cursor: pointer; cursor: pointer;
pointer-events: all;
>svg { >svg {
width: 100%; width: 100%;

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="leftBox"> <div class="leftBox" ref="leftBoxRef">
<div class="left animate__animated"> <div class="left animate__animated">
<div class="menus"> <div class="menus">
<div class="menus_itemBox" v-for="(item, index) in menuList" :title="t(`firstMenu.${item.name}`)"> <div class="menus_itemBox" v-for="(item, index) in menuList" :title="t(`firstMenu.${item.name}`)">
@ -19,34 +19,34 @@
stroke-linejoin="round" /> stroke-linejoin="round" />
</svg> --> </svg> -->
<svg class="item_icon_bg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" <svg class="item_icon_bg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="162" height="44" viewBox="0 0 162 44" fill="none" preserveAspectRatio="none"> width="162" height="44" viewBox="0 0 162 44" fill="none" preserveAspectRatio="none">
<path fill="#000000" fill-opacity="0.5" d="M0 44L136.639 44L162 18L162 0L0 0L0 44Z"/> <path fill="#000000" fill-opacity="0.5" d="M0 44L136.639 44L162 18L162 0L0 0L0 44Z" />
<path fill-rule="evenodd" fill="url(#linear_border_2218_109_0)" <path fill-rule="evenodd" fill="url(#linear_border_2218_109_0)"
d="M136.006 42.5L1.5 42.5L1.5 1.5L160.5 1.5L160.5 17.3896L136.006 42.5ZM136.639 44L0 44L0 0L162 0L162 18L136.639 44Z"/> d="M136.006 42.5L1.5 42.5L1.5 1.5L160.5 1.5L160.5 17.3896L136.006 42.5ZM136.639 44L0 44L0 0L162 0L162 18L136.639 44Z" />
<path d="M0 0L15.0533 0L49.1742 41L98.4484 41.2681L102 44L0 44L0 0Z" <path d="M0 0L15.0533 0L49.1742 41L98.4484 41.2681L102 44L0 44L0 0Z"
fill="rgba(var(--color-base1), 0.2)"/> fill="rgba(var(--color-base1), 0.2)" />
<path d="M3 34L3 41L10 41L3 34Z" stroke="rgba(var(--color-base2), 1)" stroke-width="0.5" <path d="M3 34L3 41L10 41L3 34Z" stroke="rgba(var(--color-base2), 1)" stroke-width="0.5"
stroke-linejoin="round"/> stroke-linejoin="round" />
<path d="M159 10L159 3L152 3L159 10Z" stroke="rgba(var(--color-base2), 1)" stroke-width="0.5" <path d="M159 10L159 3L152 3L159 10Z" stroke="rgba(var(--color-base2), 1)" stroke-width="0.5"
stroke-linejoin="round"/> stroke-linejoin="round" />
<defs> <defs>
<linearGradient id="linear_border_2218_109_0" x1="0" y1="-1.7520751953125" x2="140.2142333984375" <linearGradient id="linear_border_2218_109_0" x1="0" y1="-1.7520751953125" x2="140.2142333984375"
y2="40.473846435546875" gradientUnits="userSpaceOnUse"> y2="40.473846435546875" gradientUnits="userSpaceOnUse">
<stop offset="0.0625" stop-color="rgba(var(--color-base1), 1)"/> <stop offset="0.0625" stop-color="rgba(var(--color-base1), 1)" />
<stop offset="1" stop-color="var(--color-border1)"/> <stop offset="1" stop-color="var(--color-border1)" />
</linearGradient> </linearGradient>
</defs> </defs>
</svg> </svg>
<svg class="item_icon_bg item_icon_bg_hover" style="opacity: 0;" xmlns="http://www.w3.org/2000/svg" <svg class="item_icon_bg item_icon_bg_hover" style="opacity: 0;" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="163" height="45" viewBox="0 0 163 45" fill="none" xmlns:xlink="http://www.w3.org/1999/xlink" width="163" height="45" viewBox="0 0 163 45" fill="none"
preserveAspectRatio="none"> preserveAspectRatio="none">
<path fill="url(#linear_fill_2218_82_1)" <path fill="url(#linear_fill_2218_82_1)"
d="M0.5 44.5L137.139 44.5L162.5 18.5L162.5 0.5L0.5 0.5L0.5 44.5Z"/> d="M0.5 44.5L137.139 44.5L162.5 18.5L162.5 0.5L0.5 0.5L0.5 44.5Z" />
<defs> <defs>
<linearGradient id="linear_fill_2218_82_1" x1="84.9554443359375" y1="44.49997329711914" <linearGradient id="linear_fill_2218_82_1" x1="84.9554443359375" y1="44.49997329711914"
x2="84.95498657226562" y2="0.5" gradientUnits="userSpaceOnUse"> x2="84.95498657226562" y2="0.5" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="rgb(var(--color-base1))" stop-opacity="0.6"/> <stop offset="0" stop-color="rgb(var(--color-base1))" stop-opacity="0.6" />
<stop offset="1" stop-color="rgb(var(--color-base1))" stop-opacity="0"/> <stop offset="1" stop-color="rgb(var(--color-base1))" stop-opacity="0" />
</linearGradient> </linearGradient>
</defs> </defs>
</svg> </svg>
@ -62,41 +62,41 @@
</div> </div>
<div class="left_bottom" @click="fold"> <div class="left_bottom" @click="fold">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"
viewBox="0 0 32 32" fill="none"> viewBox="0 0 32 32" fill="none">
<path fill="#000000" fill-opacity="0.6" <path fill="#000000" fill-opacity="0.6"
d="M16 0C24.835 0 32 7.16496 32 16C32 24.835 24.835 32 16 32C7.16496 32 0 24.835 0 16C0 7.16496 7.16496 0 16 0Z"/> d="M16 0C24.835 0 32 7.16496 32 16C32 24.835 24.835 32 16 32C7.16496 32 0 24.835 0 16C0 7.16496 7.16496 0 16 0Z" />
<path fill="url(#linear_fill_2442_491_1)" <path fill="url(#linear_fill_2442_491_1)"
d="M16 0C24.835 0 32 7.16496 32 16C32 24.835 24.835 32 16 32C7.16496 32 0 24.835 0 16C0 7.16496 7.16496 0 16 0Z"/> d="M16 0C24.835 0 32 7.16496 32 16C32 24.835 24.835 32 16 32C7.16496 32 0 24.835 0 16C0 7.16496 7.16496 0 16 0Z" />
<path fill-rule="evenodd" fill="url(#linear_border_2442_491_0)" <path fill-rule="evenodd" fill="url(#linear_border_2442_491_0)"
d="M32 16C32 7.16496 24.835 0 16 0C7.16496 0 0 7.16496 0 16C0 24.835 7.16496 32 16 32C24.835 32 32 24.835 32 16ZM30.5 16C30.5 7.99187 24.0081 1.5 16 1.5C7.99187 1.5 1.5 7.99187 1.5 16C1.5 24.0081 7.99187 30.5 16 30.5C24.0081 30.5 30.5 24.0081 30.5 16Z"/> d="M32 16C32 7.16496 24.835 0 16 0C7.16496 0 0 7.16496 0 16C0 24.835 7.16496 32 16 32C24.835 32 32 24.835 32 16ZM30.5 16C30.5 7.99187 24.0081 1.5 16 1.5C7.99187 1.5 1.5 7.99187 1.5 16C1.5 24.0081 7.99187 30.5 16 30.5C24.0081 30.5 30.5 24.0081 30.5 16Z" />
<g filter="url(#filter_2442_492)"> <g filter="url(#filter_2442_492)">
<path <path
d="M10.4025 16.1283L19.1887 9.77097C19.1941 9.76721 19.1995 9.76361 19.205 9.76018C19.2106 9.75678 19.2162 9.75356 19.222 9.75054C19.2278 9.74754 19.2337 9.74473 19.2396 9.74211C19.2456 9.73947 19.2517 9.73705 19.2578 9.73486C19.2639 9.73265 19.2701 9.73065 19.2764 9.72886C19.2827 9.72708 19.289 9.7255 19.2954 9.72415C19.3017 9.72279 19.3082 9.72166 19.3146 9.72075C19.3211 9.71985 19.3275 9.71916 19.334 9.71868C19.3405 9.71821 19.347 9.71794 19.3535 9.7179C19.3601 9.71787 19.3666 9.71808 19.3731 9.7185C19.3796 9.71891 19.3861 9.71954 19.3925 9.7204C19.399 9.72125 19.4054 9.72234 19.4118 9.72365C19.4182 9.72493 19.4245 9.72645 19.4308 9.72818C19.4371 9.7299 19.4433 9.73184 19.4495 9.734C19.4556 9.73615 19.4617 9.7385 19.4677 9.74108C19.4737 9.74365 19.4795 9.74641 19.4854 9.74936C19.4912 9.75234 19.4969 9.7555 19.5024 9.75886C19.508 9.76222 19.5135 9.76577 19.5188 9.7695C19.5242 9.77322 19.5294 9.77712 19.5345 9.78122C19.5395 9.78531 19.5445 9.78956 19.5492 9.79397C19.554 9.7984 19.5587 9.80298 19.5631 9.80772C19.5676 9.81246 19.5719 9.81735 19.5761 9.8224C19.5802 9.82742 19.5842 9.83259 19.588 9.8379C19.5917 9.84318 19.5953 9.8486 19.5987 9.85415C19.6022 9.8597 19.6054 9.86536 19.6084 9.87115C19.6115 9.87691 19.6143 9.88277 19.6169 9.88872C19.6196 9.8947 19.622 9.90074 19.6242 9.90686C19.6264 9.913 19.6284 9.91921 19.6302 9.92547C19.632 9.93173 19.6336 9.93805 19.635 9.94443C19.6363 9.95079 19.6375 9.9572 19.6384 9.96365C19.6393 9.9701 19.64 9.97658 19.6405 9.98308C19.641 9.98958 19.6413 9.99609 19.6413 10.0026L19.6413 11.6788C19.6413 12.0415 19.4676 12.3889 19.1705 12.6022L13.9773 16.3599L19.1705 20.1176C19.1887 20.1308 19.2065 20.1445 19.2239 20.1587C19.2413 20.1729 19.2583 20.1876 19.2749 20.2028C19.2914 20.218 19.3075 20.2337 19.3231 20.2499C19.3387 20.266 19.3539 20.2826 19.3685 20.2997C19.3831 20.3167 19.3972 20.3342 19.4109 20.3521C19.4245 20.37 19.4375 20.3883 19.45 20.407C19.4625 20.4256 19.4745 20.4446 19.4859 20.464C19.4973 20.4834 19.5081 20.5031 19.5183 20.5231C19.5285 20.5431 19.5381 20.5634 19.5471 20.584C19.5562 20.6046 19.5646 20.6254 19.5724 20.6465C19.5801 20.6676 19.5873 20.6889 19.5938 20.7104C19.6003 20.7319 19.6062 20.7536 19.6115 20.7754C19.6167 20.7973 19.6213 20.8193 19.6252 20.8414C19.6292 20.8635 19.6325 20.8858 19.6351 20.9081C19.6377 20.9304 19.6396 20.9528 19.6409 20.9752C19.6422 20.9977 19.6429 21.0201 19.6428 21.0426L19.6428 22.7173C19.6428 22.9489 19.3777 23.0845 19.1887 22.9489L10.4025 16.5915C10.3979 16.5882 10.3935 16.5848 10.3892 16.5812C10.3849 16.5776 10.3807 16.5739 10.3766 16.57C10.3725 16.5662 10.3686 16.5623 10.3647 16.5582C10.3608 16.5541 10.3571 16.5499 10.3535 16.5456C10.3499 16.5414 10.3464 16.537 10.343 16.5325C10.3396 16.528 10.3364 16.5234 10.3334 16.5187C10.3302 16.514 10.3273 16.5093 10.3245 16.5044C10.3217 16.4996 10.319 16.4946 10.3165 16.4896C10.3139 16.4846 10.3116 16.4796 10.3094 16.4744C10.3071 16.4693 10.305 16.464 10.3031 16.4588C10.3012 16.4535 10.2994 16.4482 10.2978 16.4428C10.2962 16.4375 10.2948 16.4321 10.2934 16.4266C10.2921 16.4211 10.291 16.4156 10.29 16.4101C10.2891 16.4046 10.2882 16.3991 10.2876 16.3935C10.2869 16.3879 10.2864 16.3824 10.2861 16.3768C10.2858 16.3711 10.2856 16.3655 10.2856 16.3599C10.2856 16.3543 10.2858 16.3487 10.2861 16.3431C10.2864 16.3375 10.2869 16.3319 10.2876 16.3264C10.2882 16.3208 10.2891 16.3153 10.29 16.3097C10.291 16.3042 10.2921 16.2987 10.2934 16.2933C10.2948 16.2878 10.2962 16.2824 10.2978 16.277C10.2994 16.2716 10.3012 16.2663 10.3031 16.2611C10.305 16.2558 10.3071 16.2506 10.3094 16.2455C10.3116 16.2403 10.3139 16.2352 10.3165 16.2302C10.319 16.2252 10.3217 16.2203 10.3245 16.2154C10.3273 16.2106 10.3302 16.2058 10.3334 16.2011C10.3364 16.1965 10.3396 16.1919 10.343 16.1874C10.3464 16.1829 10.3499 16.1785 10.3535 16.1742C10.3571 16.1699 10.3608 16.1658 10.3647 16.1617C10.3686 16.1576 10.3725 16.1536 10.3766 16.1498C10.3807 16.146 10.3849 16.1423 10.3892 16.1387C10.3935 16.1351 10.3979 16.1316 10.4025 16.1283Z" d="M10.4025 16.1283L19.1887 9.77097C19.1941 9.76721 19.1995 9.76361 19.205 9.76018C19.2106 9.75678 19.2162 9.75356 19.222 9.75054C19.2278 9.74754 19.2337 9.74473 19.2396 9.74211C19.2456 9.73947 19.2517 9.73705 19.2578 9.73486C19.2639 9.73265 19.2701 9.73065 19.2764 9.72886C19.2827 9.72708 19.289 9.7255 19.2954 9.72415C19.3017 9.72279 19.3082 9.72166 19.3146 9.72075C19.3211 9.71985 19.3275 9.71916 19.334 9.71868C19.3405 9.71821 19.347 9.71794 19.3535 9.7179C19.3601 9.71787 19.3666 9.71808 19.3731 9.7185C19.3796 9.71891 19.3861 9.71954 19.3925 9.7204C19.399 9.72125 19.4054 9.72234 19.4118 9.72365C19.4182 9.72493 19.4245 9.72645 19.4308 9.72818C19.4371 9.7299 19.4433 9.73184 19.4495 9.734C19.4556 9.73615 19.4617 9.7385 19.4677 9.74108C19.4737 9.74365 19.4795 9.74641 19.4854 9.74936C19.4912 9.75234 19.4969 9.7555 19.5024 9.75886C19.508 9.76222 19.5135 9.76577 19.5188 9.7695C19.5242 9.77322 19.5294 9.77712 19.5345 9.78122C19.5395 9.78531 19.5445 9.78956 19.5492 9.79397C19.554 9.7984 19.5587 9.80298 19.5631 9.80772C19.5676 9.81246 19.5719 9.81735 19.5761 9.8224C19.5802 9.82742 19.5842 9.83259 19.588 9.8379C19.5917 9.84318 19.5953 9.8486 19.5987 9.85415C19.6022 9.8597 19.6054 9.86536 19.6084 9.87115C19.6115 9.87691 19.6143 9.88277 19.6169 9.88872C19.6196 9.8947 19.622 9.90074 19.6242 9.90686C19.6264 9.913 19.6284 9.91921 19.6302 9.92547C19.632 9.93173 19.6336 9.93805 19.635 9.94443C19.6363 9.95079 19.6375 9.9572 19.6384 9.96365C19.6393 9.9701 19.64 9.97658 19.6405 9.98308C19.641 9.98958 19.6413 9.99609 19.6413 10.0026L19.6413 11.6788C19.6413 12.0415 19.4676 12.3889 19.1705 12.6022L13.9773 16.3599L19.1705 20.1176C19.1887 20.1308 19.2065 20.1445 19.2239 20.1587C19.2413 20.1729 19.2583 20.1876 19.2749 20.2028C19.2914 20.218 19.3075 20.2337 19.3231 20.2499C19.3387 20.266 19.3539 20.2826 19.3685 20.2997C19.3831 20.3167 19.3972 20.3342 19.4109 20.3521C19.4245 20.37 19.4375 20.3883 19.45 20.407C19.4625 20.4256 19.4745 20.4446 19.4859 20.464C19.4973 20.4834 19.5081 20.5031 19.5183 20.5231C19.5285 20.5431 19.5381 20.5634 19.5471 20.584C19.5562 20.6046 19.5646 20.6254 19.5724 20.6465C19.5801 20.6676 19.5873 20.6889 19.5938 20.7104C19.6003 20.7319 19.6062 20.7536 19.6115 20.7754C19.6167 20.7973 19.6213 20.8193 19.6252 20.8414C19.6292 20.8635 19.6325 20.8858 19.6351 20.9081C19.6377 20.9304 19.6396 20.9528 19.6409 20.9752C19.6422 20.9977 19.6429 21.0201 19.6428 21.0426L19.6428 22.7173C19.6428 22.9489 19.3777 23.0845 19.1887 22.9489L10.4025 16.5915C10.3979 16.5882 10.3935 16.5848 10.3892 16.5812C10.3849 16.5776 10.3807 16.5739 10.3766 16.57C10.3725 16.5662 10.3686 16.5623 10.3647 16.5582C10.3608 16.5541 10.3571 16.5499 10.3535 16.5456C10.3499 16.5414 10.3464 16.537 10.343 16.5325C10.3396 16.528 10.3364 16.5234 10.3334 16.5187C10.3302 16.514 10.3273 16.5093 10.3245 16.5044C10.3217 16.4996 10.319 16.4946 10.3165 16.4896C10.3139 16.4846 10.3116 16.4796 10.3094 16.4744C10.3071 16.4693 10.305 16.464 10.3031 16.4588C10.3012 16.4535 10.2994 16.4482 10.2978 16.4428C10.2962 16.4375 10.2948 16.4321 10.2934 16.4266C10.2921 16.4211 10.291 16.4156 10.29 16.4101C10.2891 16.4046 10.2882 16.3991 10.2876 16.3935C10.2869 16.3879 10.2864 16.3824 10.2861 16.3768C10.2858 16.3711 10.2856 16.3655 10.2856 16.3599C10.2856 16.3543 10.2858 16.3487 10.2861 16.3431C10.2864 16.3375 10.2869 16.3319 10.2876 16.3264C10.2882 16.3208 10.2891 16.3153 10.29 16.3097C10.291 16.3042 10.2921 16.2987 10.2934 16.2933C10.2948 16.2878 10.2962 16.2824 10.2978 16.277C10.2994 16.2716 10.3012 16.2663 10.3031 16.2611C10.305 16.2558 10.3071 16.2506 10.3094 16.2455C10.3116 16.2403 10.3139 16.2352 10.3165 16.2302C10.319 16.2252 10.3217 16.2203 10.3245 16.2154C10.3273 16.2106 10.3302 16.2058 10.3334 16.2011C10.3364 16.1965 10.3396 16.1919 10.343 16.1874C10.3464 16.1829 10.3499 16.1785 10.3535 16.1742C10.3571 16.1699 10.3608 16.1658 10.3647 16.1617C10.3686 16.1576 10.3725 16.1536 10.3766 16.1498C10.3807 16.146 10.3849 16.1423 10.3892 16.1387C10.3935 16.1351 10.3979 16.1316 10.4025 16.1283Z"
fill="rgba(var(--color-base2), 1)"/> fill="rgba(var(--color-base2), 1)" />
</g> </g>
<defs> <defs>
<linearGradient id="linear_fill_2442_491_1" x1="14.793701171875" y1="16.00537109375" x2="14.7939453125" <linearGradient id="linear_fill_2442_491_1" x1="14.793701171875" y1="16.00537109375" x2="14.7939453125"
y2="-6.678619384765625" gradientUnits="userSpaceOnUse"> y2="-6.678619384765625" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="rgb(var(--color-base1))" stop-opacity="0.2"/> <stop offset="0" stop-color="rgb(var(--color-base1))" stop-opacity="0.2" />
<stop offset="1" stop-color="rgb(var(--color-base1))" stop-opacity="0"/> <stop offset="1" stop-color="rgb(var(--color-base1))" stop-opacity="0" />
</linearGradient> </linearGradient>
<linearGradient id="linear_border_2442_491_0" x1="32" y1="-1.27423095703125" x2="4.303466796875" <linearGradient id="linear_border_2442_491_0" x1="32" y1="-1.27423095703125" x2="4.303466796875"
y2="29.435516357421875" gradientUnits="userSpaceOnUse"> y2="29.435516357421875" gradientUnits="userSpaceOnUse">
<stop offset="0.0625" stop-color="rgb(var(--color-base1))"/> <stop offset="0.0625" stop-color="rgb(var(--color-base1))" />
<stop offset="1" stop-color="var(--color-border1)"/> <stop offset="1" stop-color="var(--color-border1)" />
</linearGradient> </linearGradient>
<filter id="filter_2442_492" x="6.28564453125" y="5.717864990234375" width="17.357177734375" <filter id="filter_2442_492" x="6.28564453125" y="5.717864990234375" width="17.357177734375"
height="21.36663818359375" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> height="21.36663818359375" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="feFloodId_2442_492"/> <feFlood flood-opacity="0" result="feFloodId_2442_492" />
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
result="hardAlpha_2442_492"/> result="hardAlpha_2442_492" />
<feOffset dx="0" dy="0"/> <feOffset dx="0" dy="0" />
<feGaussianBlur stdDeviation="2"/> <feGaussianBlur stdDeviation="2" />
<feComposite in2="hardAlpha_2442_492" operator="out"/> <feComposite in2="hardAlpha_2442_492" operator="out" />
<feColorMatrix type="matrix" <feColorMatrix type="matrix"
values="0 0 0 0 0.1450980392156863 0 0 0 0 0.7686274509803922 0 0 0 0 0.7686274509803922 0 0 0 1 0"/> values="0 0 0 0 0.1450980392156863 0 0 0 0 0.7686274509803922 0 0 0 0 0.7686274509803922 0 0 0 1 0" />
<feBlend mode="normal" in2="feFloodId_2442_492" result="dropShadow_1_2442_492"/> <feBlend mode="normal" in2="feFloodId_2442_492" result="dropShadow_1_2442_492" />
<feBlend mode="normal" in="SourceGraphic" in2="dropShadow_1_2442_492" result="shape_2442_492"/> <feBlend mode="normal" in="SourceGraphic" in2="dropShadow_1_2442_492" result="shape_2442_492" />
</filter> </filter>
</defs> </defs>
</svg> </svg>
@ -105,16 +105,16 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import {useI18n} from 'vue-i18n' import { useI18n } from 'vue-i18n'
import {useRouter} from 'vue-router' import { useRouter } from 'vue-router'
import {bus} from '@/utils/bus' import { bus } from '@/utils/bus'
import leftSideSecond from '@/views/components/leftSide/leftSideSecond.vue' import leftSideSecond from '@/views/components/leftSide/leftSideSecond.vue'
import {ElMessage, ElLoading} from 'element-plus' import { ElMessage, ElLoading } from 'element-plus'
const {ipcRenderer} = require('electron') const { ipcRenderer } = require('electron')
const router = useRouter() // 路由实例 const router = useRouter() // 路由实例
const {t} = useI18n() const { t } = useI18n()
const eventBus: any = inject('bus') const eventBus: any = inject('bus')
const menuList: any = ref([ const menuList: any = ref([
// 方案推演 // 方案推演
@ -249,6 +249,7 @@ const menuList: any = ref([
const isFolded: any = ref(false) // 添加折叠状态 const isFolded: any = ref(false) // 添加折叠状态
const initialPositions: any = ref({}) // 保存初始位置 const initialPositions: any = ref({}) // 保存初始位置
const isAnimating: any = ref(false) // 添加动画状态 const isAnimating: any = ref(false) // 添加动画状态
const leftBoxRef = ref()
onMounted(() => { onMounted(() => {
let menusHeight = menuList.value.length * 65 + 'px' let menusHeight = menuList.value.length * 65 + 'px'
let height = menuList.value.length * 65 + 30 + 'px' let height = menuList.value.length * 65 + 30 + 'px'
@ -259,6 +260,8 @@ onMounted(() => {
items.forEach((item: any, index: any) => { items.forEach((item: any, index: any) => {
initialPositions.value[index] = item.style.transform || 'translateX(0)' initialPositions.value[index] = item.style.transform || 'translateX(0)'
}) })
document.addEventListener('click', handleClickOutside, true);
}) })
const leftSideSecondRef = ref() const leftSideSecondRef = ref()
const handleClick = (item: any, e) => { const handleClick = (item: any, e) => {
@ -276,7 +279,7 @@ const handleClick = (item: any, e) => {
ipcRenderer.send('toggle-fullscreen', true) ipcRenderer.send('toggle-fullscreen', true)
window['earth'].destroy() window['earth'].destroy()
window['earth'] = null window['earth'] = null
router.push({path: '/ts'}) router.push({ path: '/ts' })
} else { } else {
ElMessage({ ElMessage({
@ -325,6 +328,7 @@ const fold = () => {
const itemDelay = 100 const itemDelay = 100
const itemDuration = 300 const itemDuration = 300
if (isFolded.value) { if (isFolded.value) {
leftBoxRef.value.style.pointerEvents = 'unset'
left_bottom.style.bottom = '6.5vw' left_bottom.style.bottom = '6.5vw'
left_bottom.style.left = '72px' left_bottom.style.left = '72px'
left_bottom.style.transform = 'rotate(0deg)' left_bottom.style.transform = 'rotate(0deg)'
@ -337,6 +341,7 @@ const fold = () => {
}) })
} else { } else {
// 折叠状态 // 折叠状态
leftBoxRef.value.style.pointerEvents = 'none'
items.forEach((item: any, index: any) => { items.forEach((item: any, index: any) => {
setTimeout(() => { setTimeout(() => {
item.style.transition = 'transform 0.3s ease' item.style.transition = 'transform 0.3s ease'
@ -364,23 +369,16 @@ const fold = () => {
) )
} }
const clickMenu = (item: any) => { // 外部点击的处理函数
console.log(item, 'item') const handleClickOutside = (e) => {
switch (item.key) { if (leftSideSecondRef.value && leftSideSecondRef.value.leftSideSecondRef && !leftSideSecondRef.value.leftSideSecondRef.contains(e.target)) {
case 'analysis': $('.leftSideSecond')[0].style.display = 'none'
console.log('analysis')
// eventBus.emit('analysisDialog')
eventBus.emit('circleViewShedDialog') //添加高程后测试
// eventBus.emit('submergeDialog')
// eventBus.emit('profileDialog')
// eventBus.emit('viewShedDialog')
// eventBus.emit('cutFillDialog')
// eventBus.emit('contourDialog')
break
default:
break
} }
} };
onBeforeUnmount(() => {
document.removeEventListener('click', handleClickOutside, true);
})
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -449,7 +447,7 @@ const clickMenu = (item: any) => {
align-items: center; align-items: center;
position: relative; position: relative;
> .item_icon_bg { >.item_icon_bg {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: absolute; position: absolute;
@ -461,7 +459,7 @@ const clickMenu = (item: any) => {
// background: url('../../../assets/images/hongse/left1.png') no-repeat; // background: url('../../../assets/images/hongse/left1.png') no-repeat;
// background-size: 100% 100%; // background-size: 100% 100%;
> .item_icon_bg_hover { >.item_icon_bg_hover {
opacity: 1 !important; opacity: 1 !important;
} }
} }
@ -495,8 +493,9 @@ const clickMenu = (item: any) => {
// background-size: 100% 100%; // background-size: 100% 100%;
transition: all 0.3s ease; transition: all 0.3s ease;
cursor: pointer; cursor: pointer;
pointer-events: all;
> svg { >svg {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="leftSideSecond"> <div ref="leftSideSecondRef" class="leftSideSecond">
<svg <svg
class="leftSideSecond_bg" class="leftSideSecond_bg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -144,7 +144,7 @@ ipcRenderer.invoke('get-available-port').then((port) => {
availablePort.value = port availablePort.value = port
}) })
const obj: any = ref(null) const obj: any = ref(null)
const isclick = ref(false) const leftSideSecondRef = ref(null)
const eventBus: any = inject('bus') const eventBus: any = inject('bus')
const initList = (value) => { const initList = (value) => {
obj.value = value obj.value = value
@ -1029,7 +1029,8 @@ const handleClick = (value = 'projectionDistanceMeasure') => {
methodMap[value]() methodMap[value]()
} }
defineExpose({ defineExpose({
initList initList,
leftSideSecondRef
}) })
</script> </script>
<style> <style>

View File

@ -1,5 +1,6 @@
<template> <template>
<Dialog ref="baseDialog" :title="t('bottomMenu.groundText')" left="calc(50% - 198px)" top="calc(50% - 120px)" :closeCallback="closeCallBack"> <Dialog ref="baseDialog" :title="t('bottomMenu.groundText')" left="calc(50% - 198px)" top="calc(50% - 120px)"
:closeCallback="closeCallBack">
<template #content> <template #content>
<textarea style="height: 40px; width: 348px;" v-model="text"></textarea> <textarea style="height: 40px; width: 348px;" v-model="text"></textarea>
</template> </template>
@ -31,7 +32,11 @@ const open = () => {
baseDialog.value?.open() baseDialog.value?.open()
} }
const confirm = () => { const confirm = () => {
if(!text.value) { if (!text.value) {
return
}
text.value = text.value.trim()
if (!text.value) {
return return
} }
let name = text.value let name = text.value
@ -56,13 +61,22 @@ const confirm = () => {
delete options.positions delete options.positions
let selectedNodes = window.treeObj.getSelectedNodes() let selectedNodes = window.treeObj.getSelectedNodes()
let node = selectedNodes && selectedNodes[selectedNodes.length - 1] let node = selectedNodes && selectedNodes[selectedNodes.length - 1]
function getParentId(nd: any) {
if (nd.sourceType === 'directory') {
return nd.id
} else {
let parentNode = window.treeObj.getNodeByParam("id", nd.parentId, null);
if (parentNode) {
return getParentId(parentNode)
}
else {
return
}
}
}
let parentId let parentId
if (node) { if (node) {
if (node.sourceType === 'directory') { parentId = getParentId(node)
parentId = node.id
} else {
parentId = node.parentId
}
} }
let params: any = { let params: any = {
id: id, id: id,

View File

@ -1,5 +1,6 @@
<template> <template>
<Dialog ref="baseDialog" :title="t('bottomMenu.standText')" left="calc(50% - 198px)" top="calc(50% - 120px)" :closeCallback="closeCallBack"> <Dialog ref="baseDialog" :title="t('bottomMenu.standText')" left="calc(50% - 198px)" top="calc(50% - 120px)"
:closeCallback="closeCallBack">
<template #content> <template #content>
<textarea style="height: 40px; width: 348px;" v-model="text"></textarea> <textarea style="height: 40px; width: 348px;" v-model="text"></textarea>
</template> </template>
@ -31,7 +32,11 @@ const open = () => {
baseDialog.value?.open() baseDialog.value?.open()
} }
const confirm = () => { const confirm = () => {
if(!text.value) { if (!text.value) {
return
}
text.value = text.value.trim()
if (!text.value) {
return return
} }
let name = text.value let name = text.value
@ -52,17 +57,25 @@ const confirm = () => {
delete options.name delete options.name
let selectedNodes = window.treeObj.getSelectedNodes() let selectedNodes = window.treeObj.getSelectedNodes()
let node = selectedNodes && selectedNodes[selectedNodes.length - 1] let node = selectedNodes && selectedNodes[selectedNodes.length - 1]
let parentId function getParentId(nd: any) {
if (node) { if (nd.sourceType === 'directory') {
if (node.sourceType === 'directory') { return nd.id
parentId = node.id } else {
} let parentNode = window.treeObj.getNodeByParam("id", nd.parentId, null);
else { if (parentNode) {
parentId = node.parentId return getParentId(parentNode)
}
else {
return
}
} }
} }
let parentId
if (node) {
parentId = getParentId(node)
}
let params:any = { let params: any = {
id: id, id: id,
sourceName: name, sourceName: name,
sourceType: 'standText', sourceType: 'standText',

View File

@ -47,9 +47,9 @@ const props = defineProps({
const setInitialStyle = () => { const setInitialStyle = () => {
let style = getdefaultLabelStyle(props.sourceType) let style = getdefaultLabelStyle(props.sourceType)
let defaultStyle = JSON.parse(localStorage.getItem('defaultStyle') || '{}') let defaultStyle = JSON.parse(localStorage.getItem('defaultLabelStyle') || '{}')
defaultStyle[props.sourceType] = style defaultStyle[props.sourceType] = style
localStorage.setItem('defaultStyle', JSON.stringify(defaultStyle)) localStorage.setItem('defaultLabelStyle', JSON.stringify(defaultStyle))
ElMessage({ ElMessage({
message: `新增${props.type}风格设置成功!`, message: `新增${props.type}风格设置成功!`,
type: "success", type: "success",

View File

@ -7,6 +7,6 @@ let defaultLabelStyle = {
} }
} }
//@ts-ignore //@ts-ignore
export const getdefaultLabelStyle = (type) => { export const getdefaultLabelStyle = (type:any) => {
return (type ? defaultLabelStyle[type] : defaultLabelStyle) return (type ? defaultLabelStyle[type] : defaultLabelStyle)
} }

View File

@ -48,6 +48,6 @@ let defaultStyle = {
} }
} }
//@ts-ignore //@ts-ignore
export const getdefaultStyle = (type) => { export const getdefaultStyle = (type:any) => {
return (type ? defaultStyle[type] : defaultStyle) return (type ? defaultStyle[type] : defaultStyle)
} }

View File

@ -126,6 +126,7 @@ const open = async (id: any) => {
}) })
} }
const confirm = () => { const confirm = () => {
entityOptions.value.text = entityOptions.value.text.trim()
entityOptions.value.text = entityOptions.value.text || t("default.untitled") entityOptions.value.text = entityOptions.value.text || t("default.untitled")
originalOptions = structuredClone(that.options) originalOptions = structuredClone(that.options)
let params = structuredClone(that.options) let params = structuredClone(that.options)

View File

@ -22,7 +22,8 @@
<span class="label">滚动速度</span> <span class="label">滚动速度</span>
<input type="range" max="100" min="0" step="1" v-model="entityOptions.speed"> <input type="range" max="100" min="0" step="1" v-model="entityOptions.speed">
<div class="input-number" style="width: 100px;flex: 0 0 100px;margin-left: 10px;"> <div class="input-number" style="width: 100px;flex: 0 0 100px;margin-left: 10px;">
<input class="input" type="number" title="" min="0" max="100" step="1" v-model="entityOptions.speed" @input="$handleInputLimit"> <input class="input" type="number" title="" min="0" max="100" step="1" v-model="entityOptions.speed"
@input="$handleInputLimit">
<span class="arrow"></span> <span class="arrow"></span>
</div> </div>
</div> </div>
@ -46,10 +47,13 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue'; import { ref } from 'vue';
import { inject } from "vue"; import { inject } from "vue";
import { useI18n } from 'vue-i18n'
import { TreeApi } from '@/api/tree' import { TreeApi } from '@/api/tree'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import Dialog from '@/components/dialog/baseDialog.vue' import Dialog from '@/components/dialog/baseDialog.vue'
import { useTreeNode } from '@/views/components/tree/hooks/treeNode' import { useTreeNode } from '@/views/components/tree/hooks/treeNode'
const { t } = useI18n()
const { cusUpdateNode, getSelectedNodes, cusRemoveNode } = useTreeNode() const { cusUpdateNode, getSelectedNodes, cusRemoveNode } = useTreeNode()
const baseDialog: any = ref(null); const baseDialog: any = ref(null);
@ -83,6 +87,8 @@ const open = async (id: any) => {
}) })
} }
const confirm = () => { const confirm = () => {
entityOptions.value.text = entityOptions.value.text.trim()
entityOptions.value.text = entityOptions.value.text || t("default.untitled")
originalOptions = structuredClone(that.options) originalOptions = structuredClone(that.options)
let params = structuredClone(that.options) let params = structuredClone(that.options)
baseDialog.value?.close() baseDialog.value?.close()
@ -104,31 +110,31 @@ const close = () => {
const remove = () => { const remove = () => {
close() close()
ElMessageBox.confirm('此操作将永久删除节点及所有子节点, 是否继续?', '提示', { ElMessageBox.confirm('此操作将永久删除节点及所有子节点, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}) })
.then(async () => { .then(async () => {
let node = window.treeObj.getNodeByParam('id', that.options.id, null) let node = window.treeObj.getNodeByParam('id', that.options.id, null)
let source_ids = cusRemoveNode(window.treeObj, [node]) let source_ids = cusRemoveNode(window.treeObj, [node])
const res = await TreeApi.removeDirectory({ ids: source_ids }) const res = await TreeApi.removeDirectory({ ids: source_ids })
if (res.code == 0 || res.code == 200) { if (res.code == 0 || res.code == 200) {
ElMessage({ ElMessage({
message: '删除成功', message: '删除成功',
type: 'success' type: 'success'
}) })
that.remove() that.remove()
(window as any)._entityMap.delete(source_ids[0]) (window as any)._entityMap.delete(source_ids[0])
} else { } else {
ElMessage({ ElMessage({
message: res.msg || '删除失败', message: res.msg || '删除失败',
type: 'error' type: 'error'
}) })
} }
}) })
.catch(() => { .catch(() => {
// 用户点击取消,不执行任何操作 // 用户点击取消,不执行任何操作
}) })
} }
const nodeEdit = () => { const nodeEdit = () => {
that.nodeEdit() that.nodeEdit()

View File

@ -26,7 +26,7 @@ export function renderVector(node, ifFly = true) {
sourceName: it.name, sourceName: it.name,
isShow: true isShow: true
} }
cusAddNodes(window.treeObj, node.id, [childNode]) cusAddNodes(window.treeObj, node.id, [childNode], true)
let zijiNodes: any = []; let zijiNodes: any = [];
if (it.features && it.features.length) { if (it.features && it.features.length) {
it.features.forEach((item) => { it.features.forEach((item) => {
@ -45,7 +45,7 @@ export function renderVector(node, ifFly = true) {
}); });
} }
cusAddNodes(window.treeObj, childNode.id, zijiNodes) cusAddNodes(window.treeObj, childNode.id, zijiNodes, true)
}); });
} }
} }

View File

@ -512,6 +512,7 @@ export const useTree = () => {
key: { key: {
//zdatas数据中表示节点name的属性key //zdatas数据中表示节点name的属性key
name: 'sourceName', name: 'sourceName',
title: 'title',
checked: 'isShow' checked: 'isShow'
}, },
simpleData: { simpleData: {

View File

@ -532,7 +532,10 @@ export const useTreeNode = () => {
parentNode = treeObj.getNodeByParam('id', parentNodeId, null) parentNode = treeObj.getNodeByParam('id', parentNodeId, null)
} }
let arr = treeObj.addNodes(parentNode, newNodes, isSilent) let arr = treeObj.addNodes(parentNode, newNodes, isSilent)
treeObj.selectNode(arr[arr.length - 1]) if(!isSilent) {
treeObj.selectNode(arr[arr.length - 1])
}
// 确保window.AllNodes存在并为数组 // 确保window.AllNodes存在并为数组
window.AllNodes = (window.AllNodes || []).concat(arr) window.AllNodes = (window.AllNodes || []).concat(arr)
return arr return arr

View File

@ -265,7 +265,9 @@ const isShowTree = debounce(() => {
isShow.value = !isShow.value isShow.value = !isShow.value
const box1: any = document.querySelector('.box1') const box1: any = document.querySelector('.box1')
const arrow: any = document.querySelector('.arrowTree') const arrow: any = document.querySelector('.arrowTree')
const TreeIndex: any = document.querySelector('.TreeIndex')
if (isShow.value) { if (isShow.value) {
TreeIndex.style.pointerEvents = 'none'
// 隐藏box1 // 隐藏box1
box1.style.transform = 'translateX(110%)' box1.style.transform = 'translateX(110%)'
setTimeout(() => { setTimeout(() => {
@ -275,6 +277,7 @@ const isShowTree = debounce(() => {
arrow.style.right = '1em' arrow.style.right = '1em'
}, 100) }, 100)
} else { } else {
TreeIndex.style.pointerEvents = 'unset'
// 显示box1 // 显示box1
arrow.style.transform = 'rotate(180deg)' arrow.style.transform = 'rotate(180deg)'
arrow.style.bottom = '-5px' arrow.style.bottom = '-5px'
@ -582,6 +585,7 @@ defineExpose({
// background-size: 100% 100%; // background-size: 100% 100%;
transition: transform 0.5s ease; transition: transform 0.5s ease;
transform: rotate(180deg); transform: rotate(180deg);
pointer-events: all;
> svg { > svg {
width: 100%; width: 100%;

View File

@ -126,6 +126,8 @@ import addMaterials from '../components/propertyBox/addMaterials.vue'
import { GisApi } from '@/api/gisApi' import { GisApi } from '@/api/gisApi'
import { sysChange as utilsSysChange } from '@/utils/sysChange' import { sysChange as utilsSysChange } from '@/utils/sysChange'
import { getdefaultStyle } from '../components/propertyBox/defaultStyle/style'
import { getdefaultLabelStyle } from '../components/propertyBox/defaultLabelStyle/style'
const { rightMenus } = useRightOperate() const { rightMenus } = useRightOperate()
const firstMenuRef = ref(null) const firstMenuRef = ref(null)
@ -137,6 +139,23 @@ let addStandTextRef = ref()
let tree = ref() let tree = ref()
let selectImgRef = ref() let selectImgRef = ref()
let editdirectoryBox = ref() let editdirectoryBox = ref()
// 标注标绘默认样式
if (!localStorage.getItem('defaultStyle')) {
let defaultStyle = getdefaultStyle(null)
localStorage.setItem('defaultStyle', JSON.stringify(defaultStyle))
}
if (!localStorage.getItem('defaultLabelStyle')) {
let defaultLabelStyle = getdefaultLabelStyle(null)
localStorage.setItem('defaultLabelStyle', JSON.stringify(defaultLabelStyle))
}
eventBus.on('openDialog', async (sourceType: any, id: any) => { eventBus.on('openDialog', async (sourceType: any, id: any) => {
if (dynamicComponentRef.value && dynamicComponentRef.value.close) { if (dynamicComponentRef.value && dynamicComponentRef.value.close) {
dynamicComponentRef.value.close() dynamicComponentRef.value.close()
@ -455,30 +474,30 @@ const createEarth = async () => {
window.earth = await new YJ.YJEarth('earthContainer') window.earth = await new YJ.YJEarth('earthContainer')
let openLeftClick = await new YJ.Global.openLeftClick(window.earth) let openLeftClick = await new YJ.Global.openLeftClick(window.earth)
let openRightClick = await new YJ.Global.openRightClick(window.earth) let openRightClick = await new YJ.Global.openRightClick(window.earth)
// YJ.Global.MouseRightMenu(window.earth, true, (text, object) => { YJ.Global.MouseRightMenu(window.earth, true, (text, object) => {
// switch (text) { switch (text) {
// case 'rotateAround': case 'rotateAround':
// YJ.Global.rotateAround(window.earth, object.position) YJ.Global.rotateAround(window.earth, object.position)
// break break
// case 'textBox': case 'textBox':
// let id = new YJ.Tools().randomString() let id = new YJ.Tools().randomString()
// let name = '文本框' let name = '文本框'
// addMapSource({ addMapSource({
// type: 'textBox', type: 'textBox',
// id: id, id: id,
// sourceName: name, sourceName: name,
// opt: { opt: {
// id: id, id: id,
// position: object.position position: object.position
// } }
// }) })
// break break
// case 'attribute': case 'attribute':
// let node = window.treeObj.getNodeByParam('id', object.id, null) let node = window.treeObj.getNodeByParam('id', object.id, null)
// rightMenus.edit.callback(eventBus, node) rightMenus.edit.callback(eventBus, node)
// break break
// } }
// }) })
tree.value.initTreeCallBack() tree.value.initTreeCallBack()
utilsSysChange(eventBus) utilsSysChange(eventBus)