From a69bccce53759456b04bb19270467dabc0b2e3d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E5=A4=A7=E8=83=86?= <1101282782@qq.com> Date: Sat, 11 Oct 2025 16:09:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9D=90=E6=A0=87=E8=AE=BE=E7=BD=AE=E5=92=8C?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E6=95=B0=E6=8D=AE=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/renderer/public/tree/newFuzzySearch.js | 140 ++++---- src/renderer/src/api/gdb/index.ts | 11 + src/renderer/src/main.ts | 29 ++ .../components/setPup/components/setting.vue | 17 +- .../components/leftSide/leftSideSecond.vue | 50 ++- .../src/views/components/tree/hooks/tree.ts | 28 ++ .../src/views/components/tree/index.vue | 308 +++++++++++++++--- src/renderer/src/views/home/index.vue | 49 ++- yarn.lock | 10 + 10 files changed, 523 insertions(+), 120 deletions(-) create mode 100644 src/renderer/src/api/gdb/index.ts diff --git a/package.json b/package.json index 0bb6a93..c5c0559 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "build:linux": "npm run build && electron-builder --linux" }, "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", "@electron-toolkit/preload": "^3.0.2", "@electron-toolkit/utils": "^4.0.0", "@electron/remote": "^2.1.3", diff --git a/src/renderer/public/tree/newFuzzySearch.js b/src/renderer/public/tree/newFuzzySearch.js index 31c0885..24ae383 100644 --- a/src/renderer/public/tree/newFuzzySearch.js +++ b/src/renderer/public/tree/newFuzzySearch.js @@ -5,51 +5,50 @@ * typeSonNode:不参与查询的节点的子孙节点是否也不参与匹配,默认为false,即子节点参与匹配 * */ -window.newFuzzySearch = function( +window.newFuzzySearch = function ( treeId, keyword, notSearchType = [], typeSonNode = false, - dispatch = "" + dispatch = '' ) { //获取所有节点数据 - let zTreeObj = $.fn.zTree.getZTreeObj(treeId); - let idKey = zTreeObj.setting.data.simpleData.idKey; - let nodes = zTreeObj.getNodes(); + + let zTreeObj = $.fn.zTree.getZTreeObj(treeId) + let idKey = zTreeObj.setting.data.simpleData.idKey + let nodes = zTreeObj.getNodes() //过滤掉不要的 function getCustomNodes(allNodes) { // let allNode = JSON.parse(JSON.stringify(allNodes)) - let notSearchTypeNodesIds = []; + let notSearchTypeNodesIds = [] if (notSearchType.length) { allNodes.forEach((allNodeItem) => { if (notSearchType.includes(allNodeItem.sourceType)) { - notSearchTypeNodesIds.push(allNodeItem[idKey]); + notSearchTypeNodesIds.push(allNodeItem[idKey]) } - }); + }) //typeSonNode为true时,循环notSearchType类型的节点,找出其子节点 - let res = []; + let res = [] if (typeSonNode) { notSearchTypeNodesIds.forEach((id, index) => { - let nodes = zTreeObj.transformToArray( - zTreeObj.getNodeByParam(idKey, id, null) - ); + let nodes = zTreeObj.transformToArray(zTreeObj.getNodeByParam(idKey, id, null)) nodes.forEach((item) => { - res.push(item[idKey]); - }); - }); - notSearchTypeNodesIds = res; + res.push(item[idKey]) + }) + }) + notSearchTypeNodesIds = res } } - let res = []; + let res = [] allNodes.forEach((item, index) => { if (!notSearchTypeNodesIds.includes(item[idKey])) { // console.log(index) - res.push(item); + res.push(item) } - }); - allNodes = res; - return allNodes; + }) + allNodes = res + return allNodes } /*let allNodes = zTreeObj.transformToArray(nodes); let nodeChildren = getCustomNodes(allNodes)*/ @@ -59,63 +58,60 @@ window.newFuzzySearch = function( //隐藏所有节点 function hideAllNode(allNodes) { if (!allNodes || !Array.isArray(allNodes)) { - console.warn("hideAllNode: allNodes 参数无效"); - return; + console.warn('hideAllNode: allNodes 参数无效') + return } - let nodeChildren = getCustomNodes(allNodes); + let nodeChildren = getCustomNodes(allNodes) if (nodeChildren && nodeChildren.length > 0) { - zTreeObj.hideNodes(nodeChildren); + zTreeObj.hideNodes(nodeChildren) } } //模糊匹配所有符合的节点 function search(contrast, allNodes) { if (!allNodes || !Array.isArray(allNodes)) { - console.warn("search: allNodes 参数无效"); - return; + console.warn('search: allNodes 参数无效') + return } - let nodeChildren = getCustomNodes(allNodes); + let nodeChildren = getCustomNodes(allNodes) if (!nodeChildren) { - return; + return } - hideAllNode(allNodes); + hideAllNode(allNodes) nodeChildren.forEach((item) => { if (item.oldname) { - item.sourceName = item.oldname; - zTreeObj.updateNode(item); + item.sourceName = item.oldname + zTreeObj.updateNode(item) } if (contrast) { - if ((item.sourceName || "").indexOf(contrast) > -1) { - console.log("sourceName包含关键字"); - console.log(item); - console.log(item.sourceName); + if ((item.sourceName || '').indexOf(contrast) > -1) { + console.log('sourceName包含关键字') + console.log(item) + console.log(item.sourceName) - item.oldname = item.sourceName; - item.highlight = true; - let F = new RegExp(contrast, "gi"); - item.sourceName = item.oldname.replace(F, function(h) { - let str = - '' + - h + - ""; - return str; - }); + item.oldname = item.sourceName + item.highlight = true + let F = new RegExp(contrast, 'gi') + item.sourceName = item.oldname.replace(F, function (h) { + let str = '' + h + '' + return str + }) // let a = item.name // a = '' + a + "" // item.name = a - zTreeObj.setting.view.nameIsHTML = true; - item.checked = true; + zTreeObj.setting.view.nameIsHTML = true + item.checked = true // zTreeObj.setting.view.fontCss["color"] = "#8B0000" - zTreeObj.updateNode(item); - zTreeObj.showNode(item); - showNodePath(item); + zTreeObj.updateNode(item) + zTreeObj.showNode(item) + showNodePath(item) } /*zTreeObj.updateNode(item); zTreeObj.showNode(item); showNodePath(item)*/ } - }); + }) /*let searchNodes = zTreeObj.getNodesByParamFuzzy('name', contrast); console.log('searchNodes', searchNodes) searchNodes.forEach(function (node) { @@ -123,40 +119,40 @@ window.newFuzzySearch = function( zTreeObj.showNode(node); showNodePath(node) })*/ - zTreeObj.expandAll(true); + zTreeObj.expandAll(true) } //将查找到的节点父节点按路径设置为显示 function showNodePath(node) { - let parrentNodes = node.getPath(); + let parrentNodes = node.getPath() parrentNodes && - parrentNodes.forEach(function(node) { - zTreeObj.showNode(node); - }); + parrentNodes.forEach(function (node) { + zTreeObj.showNode(node) + }) } window.treeSearchCb = (value = undefined) => { - let inputValue = value == undefined ? $(keyword).val() : ""; + let inputValue = value || '' // console.log("搜索值", inputValue) - nodes = zTreeObj.getNodes(); - let allNodes = zTreeObj.transformToArray(nodes); - let nodeChildren = getCustomNodes(allNodes); - console.log("nodeChildren", nodeChildren); - search(inputValue, allNodes); + nodes = zTreeObj.getNodes() + let allNodes = zTreeObj.transformToArray(nodes) + let nodeChildren = getCustomNodes(allNodes) + console.log('nodeChildren', nodeChildren) + search(inputValue, allNodes) //当查询条件为空时,显示所有节点 - console.log("inputValue", inputValue); - if ((inputValue == null || inputValue === "") && nodeChildren.length >= 0) { - nodeChildren.forEach(function(node) { + console.log('inputValue', inputValue) + if ((inputValue == null || inputValue === '') && nodeChildren.length >= 0) { + nodeChildren.forEach(function (node) { // node.checked = false - zTreeObj.showNode(node); - }); + zTreeObj.showNode(node) + }) // zTreeObj.expandAll(false); } - }; - if (dispatch == "") { + } + if (dispatch == '') { //input框值改变时 - $(keyword).bind("input propertychange", treeSearchCb); + $(keyword).bind('input propertychange', treeSearchCb) } else { // $(dispatch).bind('click', treeSearchCb) } -}; +} diff --git a/src/renderer/src/api/gdb/index.ts b/src/renderer/src/api/gdb/index.ts new file mode 100644 index 0000000..9306aa9 --- /dev/null +++ b/src/renderer/src/api/gdb/index.ts @@ -0,0 +1,11 @@ +//gdb +import request from '@/axios/request' +export const gdbApi = { + // gdb导入 + importGdb: async (data: any) => { + return await request.post({ + url: `/gdal/import`, + data, + }) + } +} diff --git a/src/renderer/src/main.ts b/src/renderer/src/main.ts index 9671205..789d8d4 100644 --- a/src/renderer/src/main.ts +++ b/src/renderer/src/main.ts @@ -40,6 +40,35 @@ const i18n = createI18n({ if (!localStorage.getItem("searchWay")) { localStorage.setItem("searchWay", "poi"); } +if (!localStorage.getItem("AMapKey")) { + localStorage.setItem( + "AMapKey", + "d88fcc689d1aa99866b2d0d83fd36677|c3d17927c47eb753b61b26de4f533cbe" + ); +} + +!localStorage.getItem("systemSetting") + ? localStorage.setItem( + "systemSetting", + JSON.stringify({ + showFangliNet: false, // 方里网 + showLatitudeLongitudeNetwork: false, //经纬网 + showToolBar: false, //信息栏 + showCompass: true, //罗盘 + showMapX: false, //鹰眼图 + occlusion: true, //点遮挡 + showDistanceLegend: true, //比例尺 + showFps: false, //比例尺 + administrativeArea: false, //行政区划 + sheetIndexStatusSwitch: false, //标准图幅 + skinInfo: 'yingguangse', //主题色 + language: 'zh', //语言 + coordinate: 'EPSG:4326' //坐标系 + }) + ) + : console.log("没有设置系统设置"); + + // 注册全局指令 (window as any)._winMap = new Map(); const setApp = createApp(App) diff --git a/src/renderer/src/views/components/headers/components/setPup/components/setting.vue b/src/renderer/src/views/components/headers/components/setPup/components/setting.vue index aa896f1..f256adf 100644 --- a/src/renderer/src/views/components/headers/components/setPup/components/setting.vue +++ b/src/renderer/src/views/components/headers/components/setPup/components/setting.vue @@ -343,7 +343,7 @@