From 41f6d1a2b56410495d0fcdd159ad288e6cb07c41 Mon Sep 17 00:00:00 2001
From: ansel0926 <ansel0926@gmail.com>
Date: 星期日, 15 五月 2022 21:02:54 +0800
Subject: [PATCH] 上传图标

---
 view/project/editPoint.html |   25 +++++++++++-
 assets/map/map3D.js         |   53 ++++++++++++++++++++------
 view/project/editLabel.html |   29 +++++++++++++-
 3 files changed, 89 insertions(+), 18 deletions(-)

diff --git a/assets/map/map3D.js b/assets/map/map3D.js
index c606dd2..d378aa4 100644
--- a/assets/map/map3D.js
+++ b/assets/map/map3D.js
@@ -224,7 +224,7 @@
 							maxmin: false,
 							scrollbar: false,
 							shadeClose: true, 
-							area: ['310px', '450px'],
+							area: ['310px', '480px'],
 							resize: false,
 							offset: ['50px',document.body.clientWidth-320],
 							content: 'project/editLabel.html',
@@ -254,7 +254,7 @@
 							maxmin: false,
 							scrollbar: false,
 							shadeClose: true,
-							area: ['310px', '300px'],
+							area: ['300px', '330px'],
 							resize: false,
 							offset: ['50px',document.body.clientWidth-320],
 							content: 'project/editPoint.html',
@@ -837,6 +837,7 @@
 function updateLabel(type,id,val){//淇敼鏂囧瓧锛歾zf
 	let signPointEntity = viewer.entities.getById(id)
 	let popId="pop_"+id;
+	let saveData;
 	if(type==1){//鏍囩鏂囧瓧
 		signPointEntity.title=val;
 		signPointEntity._label._text._value = val;
@@ -861,15 +862,28 @@
 	else if(type==5){//鏂囨湰鍐呭
 		$("#pop_" +signPointEntity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".textarea")[0].innerHTML=val;
 	}
+	else if(type==6){
+		let urlArr = val.split("/");
+		let newUrl=urlArr.splice(4).join("/")
+		signPointEntity._billboard._image._value=parent.httpConfig.nginxUrl+newUrl;
+		saveData= {
+			"id":signPointEntity._id,
+			"type": "label",
+			"content":signPointEntity.title,
+			"iconPath":newUrl,
+		}
+	}
 	let popContent=$("#pop_" +signPointEntity.id).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".textarea")[0].innerHTML;
-	let saveData= {
-		"id":signPointEntity._id,
-		"type": "label",
-		"content":signPointEntity.title,
-		"color":signPointEntity._label._fillColor._value.toCssColorString(),
-		"fontsize":signPointEntity._label._font._value.split(" ")[0].replace("px",""),
-		"fontstyle":signPointEntity._label._font._value.split(" ")[1],
-		"popContent":popContent
+	if(type==1||type==2||type==3||type==4||type==5){
+		saveData= {
+			"id":signPointEntity._id,
+			"type": "label",
+			"content":signPointEntity.title,
+			"color":signPointEntity._label._fillColor._value.toCssColorString(),
+			"fontsize":signPointEntity._label._font._value.split(" ")[0].replace("px",""),
+			"fontstyle":signPointEntity._label._font._value.split(" ")[1],
+			"popContent":popContent
+		}
 	}
 	let token = window.localStorage.getItem("token");
 	$.ajax({
@@ -917,13 +931,24 @@
 	}
 	else if(type==5){
 		let urlArr = val.split("/");
-		let newUrl=urlArr.splice(3).join("/")
+		let newUrl=urlArr.splice(4).join("/")
 		$("#" + popId).children(".bx-popup-content-ctn").children(".bx-popup-content").children(".image")[0].src = val;
 		saveData= {
 			"id":signPointEntity._id,
 			"type": "point",
 			"content":signPointEntity.title,
 			"imagePath":newUrl,
+		}
+	}
+	else if(type==6){
+		let urlArr = val.split("/");
+		let newUrl=urlArr.splice(4).join("/")
+		signPointEntity._billboard._image._value=parent.httpConfig.nginxUrl+newUrl;;
+		saveData= {
+			"id":signPointEntity._id,
+			"type": "point",
+			"content":signPointEntity.title,
+			"iconPath":newUrl,
 		}
 	}
 	if(type==1||type==2||type==3||type==4){
@@ -1420,6 +1445,7 @@
 function drawAjaxPoint(drawEntity){//鍔犺浇鐐�
 	let cartesian = Cesium.Cartesian3.fromDegrees(drawEntity.longitude, drawEntity.latitude, drawEntity.height);
 	var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
+	let iconPath=drawEntity.iconPath?parent.httpConfig.nginxUrl+drawEntity.iconPath:"../assets/images/icon/icon1.png";
 	var entity=viewer.entities.add({
 		id:drawEntity.id,
 		name:"drawPointEntity",
@@ -1438,7 +1464,7 @@
 			distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0)
 		},
 		billboard: {
-			image: "../assets/images/icon/icon1.png",
+			image: iconPath,
 			width: 40,
 			height: 40,
 			rotation: 0,
@@ -1575,6 +1601,7 @@
 function drawAjaxLabel(drawEntity){//鍔犺浇鏂囧瓧
 	let cartesian = Cesium.Cartesian3.fromDegrees(drawEntity.longitude, drawEntity.latitude, drawEntity.height);
 	var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
+	let iconPath=drawEntity.iconPath?parent.httpConfig.nginxUrl+drawEntity.iconPath:"../assets/images/icon/icon1.png";
 	var entity=viewer.entities.add({
 		id:drawEntity.id,
 		name:"drawLabelEntity",
@@ -1593,7 +1620,7 @@
 			distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 10000000000000.0)
 		},
 		billboard: {
-			image: "../assets/images/icon/icon1.png",
+			image: iconPath,
 			width: 40,
 			height: 40,
 			rotation: 0,
diff --git a/view/project/editLabel.html b/view/project/editLabel.html
index 4bbdcba..3ee14b0 100644
--- a/view/project/editLabel.html
+++ b/view/project/editLabel.html
@@ -42,7 +42,7 @@
             height: 140px;
             margin-left: 25px;
             margin-right: 50px;
-            margin-top: 5px;
+            margin-top: 20px;
             font-size: 16px;
             text-indent: 8px;
             outline: 0;
@@ -153,7 +153,14 @@
                 </div> 
             </div>
             <div>
-                <span class="text2" >鍐呭</span>
+                <span class="text2">鍥炬爣</span>
+                <button type="button" class="layui-btn layui-bg-black" style="width:150px;height:30px;margin-top:15px;margin-left: 30px;line-height: 30px;float: left;" id="uploadIcon">
+                    <i class="layui-icon">&#xe67c;</i>涓婁紶鍥炬爣
+                </button>
+            </div>
+            <br/>
+            <div>
+                <!-- <span class="text2" >鍐呭</span> -->
                 <textarea id="textarea" class="textarea" placeholder="杈撳叆鍐呭" autocomplete="off" oninput="contentChange(event)" onporpertychange="contentChange(event)"></textarea>
             </div>
 
@@ -164,10 +171,11 @@
        var currentLabelId
        function child(id,text,fontColor,fontSize,fontfamily,content) { 
            currentLabelId=id
-           layui.use(['element', 'layer', 'form','colorpicker'], function () {
+           layui.use(['element', 'layer', 'form','colorpicker','upload'], function () {
             var element = layui.element;
             var form = layui.form;
             var colorpicker = layui.colorpicker;
+            var upload=layui.upload;
             $("#input").val(text)
             let textarea=document.getElementById("textarea")
             textarea.innerHTML=content;
@@ -191,6 +199,21 @@
             form.on("select(fontfamily)", function (data) {
                 parent.updateLabel(4,currentLabelId,data.value);
             })
+            upload.render({
+                elem: '#uploadIcon', //缁戝畾鍏冪礌
+                accept: 'images',
+                url: parent.httpConfig.webApiUrl + "landstamp/front/upload",
+                done: function (res) {
+                    if (res.code == 0) {
+                        let popId="pop_"+id;
+                        parent.updateLabel(6,currentLabelId, res.url);
+                    }
+                    layui.use('layer', function () {
+                        var layer = layui.layer;
+                        layer.msg(res.msg, { time: 1000 });
+                    });
+                }
+            });
             form.render();
         });
        }
diff --git a/view/project/editPoint.html b/view/project/editPoint.html
index dae45ef..b8529a8 100644
--- a/view/project/editPoint.html
+++ b/view/project/editPoint.html
@@ -16,14 +16,13 @@
             float:left;
             color:white;
             font-size:14px;
-            margin-left: 30px;
+            margin-left: 35px;
             margin-top: 20px;
         }
         .labelInput {
             width: 150px;
             height: 30px;
             margin-left: 30px;
-            margin-right: 50px;
             line-height: 40px;
             font-size: 16px;
             text-indent: 8px;
@@ -135,6 +134,13 @@
                 </div> 
             </div>
             <div>
+                <span class="text2">鍥炬爣</span>
+                <button type="button" class="layui-btn layui-bg-black" style="width:150px;height:30px;margin-top:15px;margin-left: 30px;line-height: 30px;float: left;" id="uploadIcon">
+                    <i class="layui-icon">&#xe67c;</i>涓婁紶鍥炬爣
+                </button>
+            </div>
+            <div>
+                <br/>
                 <span class="text2">鍥剧墖</span>
                 <button type="button" class="layui-btn layui-bg-black" style="width:150px;height:30px;margin-top:15px;margin-left: 30px;line-height: 30px;float: left;" id="uploadImg">
                     <i class="layui-icon">&#xe67c;</i>涓婁紶鍥剧墖
@@ -170,6 +176,21 @@
                 parent.updatePoint(4,currentPointId,data.value);
             })
             upload.render({
+                elem: '#uploadIcon', //缁戝畾鍏冪礌
+                accept: 'images',
+                url: parent.httpConfig.webApiUrl + "landstamp/front/upload",
+                done: function (res) {
+                    if (res.code == 0) {
+                        let popId="pop_"+id;
+                        parent.updatePoint(6,currentPointId, res.url);
+                    }
+                    layui.use('layer', function () {
+                        var layer = layui.layer;
+                        layer.msg(res.msg, { time: 1000 });
+                    });
+                }
+            });
+            upload.render({
                 elem: '#uploadImg', //缁戝畾鍏冪礌
                 accept: 'images',
                 url: parent.httpConfig.webApiUrl + "landstamp/front/upload",

--
Gitblit v1.9.1