tangning 2 ヶ月 前
コミット
b8b111e335

+ 3 - 0
src/assets/style/public.scss

@@ -459,7 +459,10 @@ body {
 .el-message-box__btns {
   padding: 0 16px;
 }
+.el-button:focus-visible{
+  outline: none !important;
 
+}
 .el-date-editor--date {
   &.el-input--prefix .el-input__inner {
     padding-left: 15px;

+ 3 - 3
src/i18n/weblate/zh.json

@@ -1142,7 +1142,7 @@
         "grouping": "分组管理",
         "groupingList": "分组列表",
         "addgrouping": "新增分组",
-        "setGrouping": "修改分组",
+        "setGrouping": "编辑分组",
         "upload": "上传",
         "addFolderName": "请输入文件夹名称",
         "addFolderErr": "文件夹名不能为空!",
@@ -1178,8 +1178,8 @@
             "uplooadfiletype": "支持jpg、png、jpeg、mp4、wav、mp3 、shp、zip格式文件上传。",
             "uplooadSize": "文件大小 ≤ 2G!",
             "uplooadSuccess": "上传成功",
-            "objtips": "上传 obj:需使用zip包上传。包含贴图、模型、mtl文件,包内不得包含文件夹,文件名不得使用中文。如图:",
-            "osgbtips": "上传 osgb:需使用zip包上传。包含 Data 文件夹、xml文件,包内不得包含文件夹,文件名不得使用中文。如图:",
+            "objtips": "上传 obj:需使用zip包上传。包含贴图、模型、mtl文件,文件名不得使用中文。如图:",
+            "osgbtips": "上传 osgb:需使用zip包上传。包含 Data 文件夹、xml文件,包内不得包含文件夹文件名不得使用中文。如图:",
             "noName": "请输入名称"
         },
         "file": "文件"

+ 9 - 9
src/store/case.ts

@@ -307,13 +307,13 @@ export const getTipsList = (key) =>
     }
   });
 
-  export const getGaoDeGaoDeList = (key) =>
-    axios.get('/v3/geocode/geo', {
-      params: {
-        address: key,
-        key: '2ae5a7713612a8d5a65cfd54c989c969',
-      }
-    });
+  export const getGaoDeGaoDeList = (key) =>{
+    let url = `https://restapi.amap.com/v3/geocode/geo?address=${key}&output=JSON&key=3609daa52e8ae4493393292213e2fb98`
+    return axios.post('/fusion/notAuth/forwardReq',  { 
+          "method":"get",
+          url,
+     });
+  }
   
 export const getTipsNames = (name) =>
   axios.get(getTipsName, { params: { name } });
@@ -368,7 +368,7 @@ export const getUrlSrc = (item, caseId) => {
   param.swssUrl = `${params.swssUrl}?lang=${langKey}&serve_link=${param.laserRoot}&basePath=${param.laserRoot}&m=${item.num}`;
   param.swssmxUrl = `${params.swssUrl}?lang=${langKey}&serve_link=${param.laserRoot}&basePath=${param.laserRoot}&m=${item.num}`;
   param.swkkUrl = `${params.swkkUrl}?lang=${langKey}&app_server=${params.ip}:${params.swkkPort}&m=${item.num}&app_resource=${param.root}/${item.mapping}`;
-  param.fuse = `${params.fuse}?caseId=${caseId}&ip=${params.ip}&swkkPort=${params.swkkPort}&swssUrl=${params.swssUrl }&swkkUrl=${params.swkkUrl && params.swkkUrl.replace('epg','spg')}&laserServicePort=${params.laserServicePort}&servicePort=${params.servicePort}&lang=${langKey}&app_server=${ip}${params.swkkPort}&testMap=1&static=${params.static||''}&`;
+  param.fuse = `${params.fuse}?caseId=${caseId}&ip=${params.ip}&ga=${params.ga}swkkPort=${params.swkkPort}&swssUrl=${params.swssUrl }&swkkUrl=${params.swkkUrl && params.swkkUrl.replace('epg','spg')}&laserServicePort=${params.laserServicePort}&servicePort=${params.servicePort}&lang=${langKey}&app_server=${ip}${params.swkkPort}&testMap=1&static=${params.static||''}&`;
   let SceneType = {
     0: param.swkkUrl,//`/spg.html?m=${item.num}`,
     1: param.swkkUrl,//`/spg.html?m=${item.num}`,
@@ -378,7 +378,7 @@ export const getUrlSrc = (item, caseId) => {
     5: param.swssmxUrl,//`/mega/index.html?m=${item.num}`,
     6: param.swkkUrl,//`/spg.html?m=${item.num}`,
     7: param.swkkUrl,//`/spg.html?m=${item.num}`,
-    99: param.fuse + '#/show/summary',//多元融合查看页面`/code/index.html?caseId=${caseId}&single#/show`,
+    99: param.fuse + '#/show/fireInfo',//多元融合查看页面`/code/index.html?caseId=${caseId}&single#/show`,
     100: param.fuse + '#/fuseEdit/merge',//多元融合编辑页面`/code/index.html?caseId=${caseId}&single#/show`,
     101: param.fuse + `title=${item.fileName}&single&type=${item.fileFormat}&fileUrl=${item.fileUrl}` + '#/sign-model',//多元融合模型查看页面`/code/index.html?caseId=${caseId}&single#/show`,
     102: param.root,//资源访问链接,

+ 2 - 1
src/store/user.ts

@@ -83,7 +83,7 @@ const getAllParams = () => {
 };
 let querys = getAllParams() || {};
 export const urlData = ref<urlData>({
-  ga: querys.ga || false,
+  ga: querys.ga || localStorage.getItem('ga'),
   lang: querys.lang || "zh",
   photography: '0',
   modeling: '0',
@@ -112,6 +112,7 @@ export const getUrlData = () => {
 export const setUrlData = async (backFun) => {
   let objData = getAllParams() || {};
   objData.appServer && localStorage.setItem('appServer', objData.appServer);
+  objData.ga && localStorage.setItem('ga', objData.ga || false);
   objData.swkkPort && localStorage.setItem('swkkPort', objData.swkkPort);
   objData.fuse && localStorage.setItem('fuse', objData.fuse);
   objData.laserServicePort && localStorage.setItem('laserServicePort', objData.laserServicePort);

+ 24 - 24
src/view/case/draw/leaflet.ChineseTmsProviders.js

@@ -65,16 +65,16 @@ L.TileLayer.ChinaProvider = L.TileLayer.extend({
 L.TileLayer.ChinaProvider.providers = {
     TianDiTu: {
         Normal: {
-            Map: "//t{s}.tianditu.gov.cn/DataServer?T=vec_w&X={x}&Y={y}&L={z}&tk={key}",
-            Annotion: "//t{s}.tianditu.gov.cn/DataServer?T=cva_w&X={x}&Y={y}&L={z}&tk={key}"
+            Map: "http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&X={x}&Y={y}&L={z}&tk={key}",
+            Annotion: "http://t{s}.tianditu.gov.cn/DataServer?T=cva_w&X={x}&Y={y}&L={z}&tk={key}"
         },
         Satellite: {
-            Map: "//t{s}.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk={key}",
-            Annotion: "//t{s}.tianditu.gov.cn/DataServer?T=cia_w&X={x}&Y={y}&L={z}&tk={key}"
+            Map: "http://t{s}.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk={key}",
+            Annotion: "http://t{s}.tianditu.gov.cn/DataServer?T=cia_w&X={x}&Y={y}&L={z}&tk={key}"
         },
         Terrain: {
-            Map: "//t{s}.tianditu.gov.cn/DataServer?T=ter_w&X={x}&Y={y}&L={z}&tk={key}",
-            Annotion: "//t{s}.tianditu.gov.cn/DataServer?T=cta_w&X={x}&Y={y}&L={z}&tk={key}"
+            Map: "http://t{s}.tianditu.gov.cn/DataServer?T=ter_w&X={x}&Y={y}&L={z}&tk={key}",
+            Annotion: "http://t{s}.tianditu.gov.cn/DataServer?T=cta_w&X={x}&Y={y}&L={z}&tk={key}"
         },
         Subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
         key: "174705aebfe31b79b3587279e211cb9a"
@@ -82,53 +82,53 @@ L.TileLayer.ChinaProvider.providers = {
 
     GaoDe: {
         Normal: {
-            Map: '//webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}'
+            Map: 'http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}'
         },
         Satellite: {
-            Map: '//webst0{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
-            Annotion: '//webst0{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}'
+            Map: 'http://webst0{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
+            Annotion: 'http://webst0{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}'
         },
         Subdomains: ["1", "2", "3", "4"]
     },
 
     Google: {
         Normal: {
-            Map: "//www.google.cn/maps/vt?lyrs=m@189&gl=cn&x={x}&y={y}&z={z}"
+            Map: "http://www.google.cn/maps/vt?lyrs=m@189&gl=cn&x={x}&y={y}&z={z}"
         },
         Satellite: {
-            Map: "//www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}",
-            Annotion: "//www.google.cn/maps/vt?lyrs=y@189&gl=cn&x={x}&y={y}&z={z}"
+            Map: "http://www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}",
+            Annotion: "http://www.google.cn/maps/vt?lyrs=y@189&gl=cn&x={x}&y={y}&z={z}"
         },
         Subdomains: []
     },
 
     Geoq: {
         Normal: {
-            Map: "//map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}",
-            PurplishBlue: "//map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}",
-            Gray: "//map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetGray/MapServer/tile/{z}/{y}/{x}",
-            Warm: "//map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}",
+            Map: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}",
+            PurplishBlue: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}",
+            Gray: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetGray/MapServer/tile/{z}/{y}/{x}",
+            Warm: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}",
         },
         Theme: {
-            Hydro: "//thematic.geoq.cn/arcgis/rest/services/ThematicMaps/WorldHydroMap/MapServer/tile/{z}/{y}/{x}"
+            Hydro: "http://thematic.geoq.cn/arcgis/rest/services/ThematicMaps/WorldHydroMap/MapServer/tile/{z}/{y}/{x}"
         },
         Subdomains: []
     },
 
     OSM: {
         Normal: {
-            Map: "//{s}.tile.osm.org/{z}/{x}/{y}.png",
+            Map: "http://{s}.tile.osm.org/{z}/{x}/{y}.png",
         },
         Subdomains: ['a', 'b', 'c']
     },
 
     Baidu: {
         Normal: {
-            Map: '//online{s}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&scaler=1&p=1'
+            Map: 'http://online{s}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&scaler=1&p=1'
         },
         Satellite: {
-            Map: '//shangetu{s}.map.bdimg.com/it/u=x={x};y={y};z={z};v=009;type=sate&fm=46',
-            Annotion: '//online{s}.map.bdimg.com/tile/?qt=tile&x={x}&y={y}&z={z}&styles=sl&v=020'
+            Map: 'http://shangetu{s}.map.bdimg.com/it/u=x={x};y={y};z={z};v=009;type=sate&fm=46',
+            Annotion: 'http://online{s}.map.bdimg.com/tile/?qt=tile&x={x}&y={y}&z={z}&styles=sl&v=020'
         },
         Subdomains: '0123456789',
         tms: true
@@ -136,13 +136,13 @@ L.TileLayer.ChinaProvider.providers = {
 
     Tencent: {
         Normal: {
-            Map: "//rt{s}.map.gtimg.com/tile?z={z}&x={x}&y={-y}&type=vector&styleid=3",
+            Map: "http://rt{s}.map.gtimg.com/tile?z={z}&x={x}&y={-y}&type=vector&styleid=3",
         },
         Satellite: {
-            Map: "//p{s}.map.gtimg.com/sateTiles/{z}/{sx}/{sy}/{x}_{-y}.jpg",
+            Map: "http://p{s}.map.gtimg.com/sateTiles/{z}/{sx}/{sy}/{x}_{-y}.jpg",
         },
         Terrain: {
-            Map: "//p{s}.map.gtimg.com/demTiles/{z}/{sx}/{sy}/{x}_{-y}.jpg"
+            Map: "http://p{s}.map.gtimg.com/demTiles/{z}/{sx}/{sy}/{x}_{-y}.jpg"
         },
         Subdomains: '0123',
     }

+ 1 - 1
src/view/case/draw/selectMapImage.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="search-layout">
-    <el-input v-model="keyword" placeholder="输入名称搜索" style="width: 350px" clearable @change="onSearch">
+    <el-input v-model="keyword" :placeholder="$t('sceneHome.nameSearch')" style="width: 350px" clearable @change="onSearch">
       <!-- <template #append>
         <el-button :icon="Search" />
       </template> -->

+ 48 - 21
src/view/case/draw/selectMapleaftImages.vue

@@ -2,7 +2,7 @@
   <div class="search-layout">
     <el-input
       v-model="keyword"
-      placeholder="输入名称搜索"
+      :placeholder="$t('sceneHome.nameSearch')"
       style="width: 350px"
       clearable
       @change="onSearch"
@@ -16,9 +16,9 @@
         <div
           class="search-list"
           v-for="(item, index) in keywordList"
-          @click="hanleItem(item.name)"
+          @click="hanleItem(item)"
         >
-          {{ item.name }}
+          {{ item.name||item.formatted_address }}
         </div>
       </div>
       <!-- <div class="search-sh" v-show="keyword">
@@ -33,8 +33,8 @@
   </div>
 
   <div class="def-map-info" v-if="searchInfo">
-    <p><span>纬度</span>{{ searchInfo.lat }}</p>
-    <p><span>经度</span>{{ searchInfo.lng }}</p>
+    <p><span>{{$t('coord.lat')}}</span>{{ searchInfo.lat }}</p>
+    <p><span>{{$t('coord.lng')}}</span>{{ searchInfo.lng }}</p>
     <!-- <p><span>缩放级别</span>{{ info.zoom }}</p> -->
   </div>
 </template>
@@ -46,10 +46,12 @@ import { wgs84_to_gcj02 } from "./map";
 import { getTipsList, getGaoDeGaoDeList, getTipsNames, getCaseInfo } from "@/store/case";
 import { ref, watchEffect, onMounted, computed } from "vue";
 import { QuiskExpose } from "@/helper/mount";
+import { ElMessage, ElMessageBox, genFileId } from "element-plus";
+import { ui18n } from "@/i18n";
 import { debounce } from "@/util";
 import html2canvas from "html2canvas";
 import L from "leaflet";
-import "leaflet.chinatmsproviders";
+import "./leaflet.ChineseTmsProviders.js";
 import "leaflet/dist/leaflet.css";
 import { router } from "@/router";
 export type MapImage = { blob: Blob | null; search: MapInfo | null };
@@ -73,8 +75,8 @@ var Gaode = L.tileLayer.chinaProvider("GaoDe.Normal.Map", {
   minZoom: 5,
 });
 var baseLayers = {
-  '谷歌地图': normalMap,
-  '高德地图': Gaode,
+  [ui18n.t("coord.edit.ggmap")]: normalMap,
+  [ui18n.t("coord.edit.gmap")]: Gaode,
 };
 
 let map: any = {};
@@ -98,7 +100,7 @@ const caseId = computed(() => {
   }
 });
 onMounted(async () => {
-  caseInfoData.value = {};
+  caseInfoData.value = await getCaseInfo(caseId.value);
   let center = [22.61, 113.05];
   if (caseInfoData.value?.latAndLong) {
     center = caseInfoData.value.latAndLong.split(",");
@@ -174,21 +176,41 @@ const getMapInfo = (): MapInfo => {
 };
 const onSearch = (val) => {
   getGaoDeGaoDeList(val).then((res) => {
-    console.log("getTipsList", res);
-    keywordList.value = res.data;
+    let data = res.data && JSON.parse(res.data);
+    keywordList.value = data.geocodes;
+    keyword.value = val;
+    console.log("getTipsList",data, keywordList.value, keyword.value);
+    // if(data && data.geocodes && data.geocodes.length > 0) {
+    //   let item = data.geocodes[0].location.split(",");
+    //   console.log("item", item);
+
+    // // 在地图上添加标记
+    // clickMarker = L.marker([item[1], item[0]], {
+    //     position: [item[1], item[0]],
+    //     title: "点击位置",
+    //     // icon,
+    //   });
+    //   clickMarker.addTo(map);
+    //   map.panTo([item[1], item[0]]);
+    // }
+  }).catch((err) => {
+    ElMessage.error(ui18n.t("err.disconnect"));
   });
   console.log("onSearch", val, "keyword.value", keyword.value);
 };
-const hanleItem = (name) => {
-  // keyword.value = item.name;
-  getTipsNames(name).then((ress) => {
-    let res = ress.data;
-    // longlat = wgs84_to_gcj02(Number(res.lng),Number(res.lat))
-    keyword.value = "";
+const hanleItem = async (item) => {
+  let res = item
+  if(item.location) {
+    res.lng = item.location.split(",")[0];
+    res.lat = item.location.split(",")[1];
+    res.name = item.formatted_address
+  }else{
+    let ress = await getTipsNames(item.name);
+    res = ress.data;
+  }
+  keyword.value = "";
     searchInfo.value = {
       ...res,
-      // lng: longlat[0],
-      // lat: longlat[1],
       text: res.name,
     };
     clickMarker && clickMarker.remove();
@@ -207,7 +229,12 @@ const hanleItem = (name) => {
     });
     clickMarker.addTo(map);
     map.panTo([res.lat, res.lng]);
-  });
+  // keyword.value = item.name;
+  // getTipsNames(name).then((ress) => {
+  //   let res = ress.data;
+  //   // longlat = wgs84_to_gcj02(Number(res.lng),Number(res.lat))
+    
+  // });
   // onSearch(item.name);
 };
 var dataURLtoBlob = function (dataurl) {
@@ -279,7 +306,7 @@ defineExpose<QuiskExpose>({
     overflow-y: auto;
   }
   .search-list {
-    background: #fff;
+    background: #1B1B1C;
     padding-left: 10px;
     line-height: 36px;
   }

+ 2 - 2
src/view/mediaLibrary/TableComponent.vue

@@ -504,12 +504,12 @@ const handleuploadAdd = async () => {
     }).then((res) => {
       loading.close();
       console.log("上传进度", res);
-      if (res.data?.status == 1) {
+      if (res.data?.status != -1) {
         initData();
         dialogData.value.show = false;
         ElMessage({
           type: "success",
-          message: ui18n.t("mediaLibrary.tips.uplooadSuccess"),
+          message: res.data?.status == 0 ? ui18n.t("record.backRun"):ui18n.t("mediaLibrary.tips.uplooadSuccess"),
         });
       } else {
         ElMessage.error(ui18n.t("mediaLibrary.tips.uplooadErr"));