From fa6eb4e94b2496773a281b0fac5582871e7d7b7a Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 22 Feb 2022 11:00:43 +0800
Subject: [PATCH] 反馈问题修复

---
 public/grabOrdersMap/js/getPosition.js |  145 +++++++++++++++++++++--------
 public/grabOrdersMap/js/vueMain.js     |  123 +++++++++++++++++++-----
 2 files changed, 200 insertions(+), 68 deletions(-)

diff --git a/public/grabOrdersMap/js/getPosition.js b/public/grabOrdersMap/js/getPosition.js
index 7a4ac09..bf87d99 100644
--- a/public/grabOrdersMap/js/getPosition.js
+++ b/public/grabOrdersMap/js/getPosition.js
@@ -1,3 +1,4 @@
+
 class $getPositions {
 	constructor(arg) {
 		this.id = arg.id || 0; //任务id
@@ -115,50 +116,114 @@
 				}
 			};
 		outit();
-		let success = function(position) {
-			// console.log(position);
-			var lat = position.coords.longitude;//经度
-			var lon = position.coords.latitude;//纬度
-			// console.log("成功返回经纬度信息");
-			// console.log(lon, lat, "成功");
-			that.onceNowPosition = [lat, lon];
+		//qq定位
+		var geolocation = new qq.maps.Geolocation("T7RBZ-62U3X-RSQ4P-ZZVCB-WE7JT-HRBOG", "mapqq");
+		var options = {
+			// timeout: 1000
+		};
+
+		function showPosition(position) {
+			let lat = position.lat; //
+			let lng = position.lng; //火星坐标 //TODO 实现业务代码逻辑 
+			that.onceNowPosition = [lng, lat];
+			// console.log(that.onceNowPosition)
+			that.state = false;
+			ok = true;
+			outit();
+		}
+
+		function showErr(data) {
+			console.log(data)
+			that.onceNowPosition = data;
 			that.state = false;
 			ok = true;
 			outit();
 		};
-		let error = function(error) {
-			// console.log(error, "失败");
-			let msg = "none";
-			switch (error.code) {
-				case error.PERMISSION_DENIED:
-					msg = "User denied the request for Geolocation.";
-					break;
-				case error.POSITION_UNAVAILABLE:
-					msg = "Location information is unavailable.";
-					break;
-				case error.TIMEOUT:
-					msg = "The request to get user location timed out.";
-					break;
-				case error.UNKNOWN_ERROR:
-					msg = "An unknown error occurred.";
-					break;
-			}
-			that.onceNowPosition = msg;
-			that.state = false;
-			ok = false;
-			outit();
-		};
-		let options = {
-			enableHighAccuracy: true,
-			// timeout: 5000,
-			timeout: Infinity,
-			maximumAge: 0,
-		};
-		this.getOnceSPosition = navigator.geolocation.getCurrentPosition(
-			success,
-			error,
-			options
-		);
+		geolocation.getLocation(showPosition, showErr, options);
+		// 高德定位
+		// console.log(AMap)
+		// AMap.plugin("AMap.Geolocation", function() {
+		// 	var geolocation = new AMap.Geolocation({
+		// 		// 是否使用高精度定位,默认:true
+		// 		enableHighAccuracy: true,
+		// 		// 设置定位超时时间,默认:无穷大
+		// 		timeout: 10000,
+		// 		// 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
+		// 		// buttonOffset: new AMap.Pixel(10, 20),
+		// 		//  定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
+		// 		// zoomToAccuracy: true,
+		// 		//  定位按钮的排放位置,  RB表示右下
+		// 		// buttonPosition: "RB",
+		// 	});
+		// 	geolocation.getCurrentPosition();
+		// 	AMap.event.addListener(geolocation, "complete", onComplete);
+		// 	AMap.event.addListener(geolocation, "error", onError);
+
+		// 	function onComplete(data) {
+		// 		// data是具体的定位信息
+		// 		console.log(data);
+		// 		var lat = data.position.lat;
+		// 		var lon = data.position.lng;
+		// 		that.onceNowPosition = [lat, lon];
+		// 		that.state = false;
+		// 		ok = true;
+		// 		outit();
+		// 	}
+
+		// 	function onError(data) {
+		// 		// 定位出错
+		// 		console.log(data);
+		// 		that.onceNowPosition = data.message;
+		// 		that.state = false;
+		// 		ok = false;
+		// 		outit();
+		// 	}
+		// });
+		// return
+		// let success = function(position) {
+		// 	// console.log(position);
+		// 	var lat = position.coords.longitude; //经度
+		// 	var lon = position.coords.latitude; //纬度
+		// 	// console.log("成功返回经纬度信息");
+		// 	// console.log(lon, lat, "成功");
+		// 	that.onceNowPosition = [lat, lon];
+		// 	that.state = false;
+		// 	ok = true;
+		// 	outit();
+		// };
+		// let error = function(error) {
+		// 	// console.log(error, "失败");
+		// 	let msg = "none";
+		// 	switch (error.code) {
+		// 		case error.PERMISSION_DENIED:
+		// 			msg = "User denied the request for Geolocation.";
+		// 			break;
+		// 		case error.POSITION_UNAVAILABLE:
+		// 			msg = "Location information is unavailable.";
+		// 			break;
+		// 		case error.TIMEOUT:
+		// 			msg = "The request to get user location timed out.";
+		// 			break;
+		// 		case error.UNKNOWN_ERROR:
+		// 			msg = "An unknown error occurred.";
+		// 			break;
+		// 	}
+		// 	that.onceNowPosition = msg;
+		// 	that.state = false;
+		// 	ok = false;
+		// 	outit();
+		// };
+		// let options = {
+		// 	enableHighAccuracy: true,
+		// 	// timeout: 5000,
+		// 	timeout: Infinity,
+		// 	maximumAge: 0,
+		// };
+		// this.getOnceSPosition = navigator.geolocation.getCurrentPosition(
+		// 	success,
+		// 	error,
+		// 	options
+		// );
 	}
 	//结束获取
 	outInit() {
diff --git a/public/grabOrdersMap/js/vueMain.js b/public/grabOrdersMap/js/vueMain.js
index 7d797c9..f45a300 100644
--- a/public/grabOrdersMap/js/vueMain.js
+++ b/public/grabOrdersMap/js/vueMain.js
@@ -97,7 +97,10 @@
 			if (type != 1) {
 				if (that.data.butCT == "beginUp") {
 					// 反馈
-					uni.navigateTo({
+					if(that.onPosition){
+						that.onPosition.overContinued();
+					}
+					uni.redirectTo({
 						url: '/pages/grabOrders/feedback?data=' + JSON.stringify(this.data) +
 							'&other="11111"'
 					});
@@ -142,6 +145,18 @@
 								let out = res.intlat;
 								if (typeof out != "string") {
 									that.addIcon([out[1], out[0]]);
+									//坐标输出
+									let d = {
+										uid: that.data.myid,
+										rid: rid,
+										jd: out[0],
+										wd: out[1],
+									}
+									// console.log(d)
+									axios.post(that.data.appenUrl + "trar/submit", d)
+										.then(res => {
+											// console.log('res=>', res);
+										})
 								} else {
 									console.log("获取定位失败")
 								}
@@ -193,34 +208,81 @@
 		},
 		beginCome() {
 			var data = {
-				appenUrl: "http://192.168.0.108:83/",
-				butCT: "begin",
-				buttype: 0,
-				captain: "我",
-				city: "南昌市",
-				content: "测试",
-				district: "西湖区",
-				id: 37,
-				integral: "222",
-				iscation: "1",
-				jnum: 3,
-				line: "LINESTRING(115.8995839881188 28.687205773173343,115.89391916267935 28.678966027079593,115.90404718391959 28.673644524394046,115.91211526863638 28.681369286356936)",
-				num: 1,
-				nums: 0,
-				province: "江西省",
-				publisher: "管理",
-				raddress: null,
-				rname: "测试1",
-				rtype: "0",
-				serid: "1123598821738675201,",
-				team: "你,他,它",
-				time: "2022-02-18 14:15:52",
-				type: "2",
-				url: "http://223.82.109.183:2081/zhba/upload/20220218/67f0c8bf3e7b5024c64133691f265072.ico",
-			}
+					appenUrl: "http://192.168.0.108:83/",
+					butCT: "begin",
+					buttype: 0,
+					captain: "我",
+					city: "南昌市",
+					content: "测试",
+					district: "西湖区",
+					id: 37,
+					integral: "222",
+					iscation: "1",
+					jnum: 3,
+					line: "LINESTRING(115.8995839881188 28.687205773173343,115.89391916267935 28.678966027079593,115.90404718391959 28.673644524394046,115.91211526863638 28.681369286356936)",
+					num: 1,
+					nums: 0,
+					province: "江西省",
+					publisher: "管理",
+					raddress: null,
+					rname: "测试1",
+					rtype: "0",
+					serid: "1123598821738675201,",
+					team: "你,他,它",
+					time: "2022-02-18 14:15:52",
+					type: "2",
+					url: "http://223.82.109.183:2081/zhba/upload/20220218/67f0c8bf3e7b5024c64133691f265072.ico",
+				},
+				that = this;
 			//url解码
 			this.data = this.getQueryVariable('data') || data;
-			console.log(this.data)
+			// console.log(this.data)
+			if (typeof this.data == "string") {
+				this.data = JSON.parse(this.data)
+			}
+			// console.log(this.data)
+			if (this.data.isOn) {
+				//队长开启任务
+				let rid = that.data.id;
+				that.onPosition = new $getPositions({
+					id: rid,
+					fn: function(res) {
+						// console.log(res);
+						// state.isOnTaskValue[id] = {
+						// 	id: id,
+						// 	intlat: res.intlat
+						// }
+						// state.changes = !state.changes;
+						// console.log(state.isOnTaskValue)
+						// $store.commit("setMsg", {
+						// 	id: id,
+						// 	intlat: res.intlat
+						// })
+						let out = res.intlat;
+						if (typeof out != "string") {
+							that.addIcon([out[1], out[0]]);
+							//坐标输出
+							let d = {
+								uid: that.data.myid,
+								rid: rid,
+								jd: out[0],
+								wd: out[1],
+							}
+							// console.log(d)
+							axios.post(that.data.appenUrl + "trar/submit", d)
+								.then(res => {
+									// console.log('res=>', res);
+								})
+						} else {
+							console.log("获取定位失败")
+						}
+					}
+				})
+				that.onPosition.continuedTime();
+				that.data.butCT = "beginUp";
+				that.data.rtype = '0';
+				that.data.type = "0";
+			}
 			if (typeof this.data.team === "string") {
 				this.data.team = this.data.team.split(',');
 			}
@@ -230,6 +292,7 @@
 			// return
 			this.map = this.beginMap(this.map, position); //创建并接受map
 			this.map.invalidateSize(true); //应用地图高度
+			console.log("完成数据")
 		},
 		changeDom(data) {
 			// console.log(data, 'changeDom');
@@ -707,7 +770,11 @@
 		//map适应任务详情高度
 		// console.log(document.getElementById("map"))
 		//因为按钮使用v-if所以在识别高度时候,but还没渲染所以手动添加 56px 不会变
-		let UmainHeight = document.getElementById("Umain").clientHeight + 56;
+		console.log("应用数据")
+		let UmainHeight = document.getElementById("Umain").clientHeight;
+		if (this.data.iscation == "1") {
+			UmainHeight += 56;
+		}
 		let h = document.getElementById("mapVue").clientHeight;
 		this.checkDomHeight({
 			domName: "getElementById",

--
Gitblit v1.9.3