From e13367edf304cb78f978e321f1679299a66b3a23 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 10 Jan 2024 16:08:18 +0800
Subject: [PATCH] fix:地图

---
 pages/actionChange/agencyPage/index.vue |    2 
 pages/actionChange/newPage/index.vue    |   60 ++++++++++++++++++-
 manifest.json                           |    4 
 pages.json                              |    9 +++
 libs/amap-wx.js                         |   31 ++++++++++
 App.vue                                 |   51 ++++++++++++++++
 pages/index/index.vue                   |    6 +
 7 files changed, 153 insertions(+), 10 deletions(-)

diff --git a/App.vue b/App.vue
index 80f737c..d4a820d 100644
--- a/App.vue
+++ b/App.vue
@@ -8,7 +8,8 @@
 		httpGet
 	} from '@/utils/http.js'
 	export default {
-		onShow: function(options) {
+		onShow(options) {
+			this.checkUpdate()
 			console.log('optionsonShow', options)
 			if (options.scene === 1007 || options.scene === 1014 || options.scene === 1008) {
 				// ������������������������������������
@@ -72,6 +73,54 @@
 			}
 		},
 		methods: {
+			checkUpdate() {
+				// ������������������������������������������������������,������������������������������v1.9.90���������������getUpdateManager������������������������������������������
+				if (uni.canIUse('getUpdateManager')) {
+					const updateManager = uni.getUpdateManager()
+					// ���������������������������������
+					updateManager.onCheckForUpdate(function(res) {
+						// ���������������������������������������������������
+						console.log('res.hasUpdate', res.hasUpdate)
+						console.log('������������', res)
+						if (res.hasUpdate) {
+							// ���������������������
+							updateManager.onUpdateReady(function() {
+								uni.showModal({
+									title: '������������',
+									content: '���������������',
+									showCancel: false,
+									success(res) {
+										if (res.confirm) {
+											// ������������������������������������ applyUpdate ������������������������
+											updateManager.applyUpdate()
+										}
+									}
+								})
+							})
+							// ���������������������
+							updateManager.onUpdateFailed(function() {
+								uni.showModal({
+									title: '������������',
+									content: '������������������������~������������������������������������������������������~',
+									showCancel: false
+								})
+							})
+						}
+					})
+				} else {
+					// ���������������������������������������������������������������������������������������������
+					uni.showModal({
+						title: '������',
+						content: '���������������������������������������������������������������������������������������������������������',
+						success(res) {
+							if (res.confirm) {
+								// ������������������������������������������������������������������
+								uni.updateWeChatApp()
+							}
+						}
+					})
+				}
+			},
 			/**
 			 * ������������
 			 * ���������������������������������������������������������������������
diff --git a/libs/amap-wx.js b/libs/amap-wx.js
new file mode 100644
index 0000000..718d6ef
--- /dev/null
+++ b/libs/amap-wx.js
@@ -0,0 +1,31 @@
+function AMapWX(a){this.key=a.key;this.requestConfig={key:a.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};this.MeRequestConfig={key:a.key,serviceName:"https://restapi.amap.com/rest/me"}}
+AMapWX.prototype.getWxLocation=function(a,b){wx.getLocation({type:"gcj02",success:function(c){c=c.longitude+","+c.latitude;wx.setStorage({key:"userLocation",data:c});b(c)},fail:function(c){wx.getStorage({key:"userLocation",success:function(d){d.data&&b(d.data)}});a.fail({errCode:"0",errMsg:c.errMsg||""})}})};
+AMapWX.prototype.getMEKeywordsSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.city&&(d.city=b.city);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&(d.pageSize=b.pageSize);b.sig&&(d.sig=
+b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/local",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})};
+AMapWX.prototype.getMEIdSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.id&&(d.id=b.id);b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/id",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&
+0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})};
+AMapWX.prototype.getMEPolygonSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.polygon&&(d.polygon=b.polygon);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&(d.pageSize=b.pageSize);
+b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/polygon",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})};
+AMapWX.prototype.getMEaroundSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.center&&(d.center=b.center);b.radius&&(d.radius=b.radius);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&
+(d.pageSize=b.pageSize);b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/around",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})};
+AMapWX.prototype.getGeo=function(a){var b=this.requestConfig,c=a.options;b={key:this.key,extensions:"all",s:b.s,platform:b.platform,appname:this.key,sdkversion:b.sdkversion,logversion:b.logversion};c.address&&(b.address=c.address);c.city&&(b.city=c.city);c.batch&&(b.batch=c.batch);c.sig&&(b.sig=c.sig);wx.request({url:"https://restapi.amap.com/v3/geocode/geo",data:b,method:"GET",header:{"content-type":"application/json"},success:function(d){(d=d.data)&&d.status&&"1"===d.status?a.success(d):a.fail({errCode:"0",
+errMsg:d})},fail:function(d){a.fail({errCode:"0",errMsg:d.errMsg||""})}})};
+AMapWX.prototype.getRegeo=function(a){function b(d){var e=c.requestConfig;wx.request({url:"https://restapi.amap.com/v3/geocode/regeo",data:{key:c.key,location:d,extensions:"all",s:e.s,platform:e.platform,appname:c.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(g){if(g.data.status&&"1"==g.data.status){g=g.data.regeocode;var h=g.addressComponent,f=[],k=g.roads[0].name+"\u9644\u8fd1",m=d.split(",")[0],n=d.split(",")[1];if(g.pois&&
+g.pois[0]){k=g.pois[0].name+"\u9644\u8fd1";var l=g.pois[0].location;l&&(m=parseFloat(l.split(",")[0]),n=parseFloat(l.split(",")[1]))}h.provice&&f.push(h.provice);h.city&&f.push(h.city);h.district&&f.push(h.district);h.streetNumber&&h.streetNumber.street&&h.streetNumber.number?(f.push(h.streetNumber.street),f.push(h.streetNumber.number)):f.push(g.roads[0].name);f=f.join("");a.success([{iconPath:a.iconPath,width:a.iconWidth,height:a.iconHeight,name:f,desc:k,longitude:m,latitude:n,id:0,regeocodeData:g}])}else a.fail({errCode:g.data.infocode,
+errMsg:g.data.info})},fail:function(g){a.fail({errCode:"0",errMsg:g.errMsg||""})}})}var c=this;a.location?b(a.location):c.getWxLocation(a,function(d){b(d)})};
+AMapWX.prototype.getWeather=function(a){function b(g){var h="base";a.type&&"forecast"==a.type&&(h="all");wx.request({url:"https://restapi.amap.com/v3/weather/weatherInfo",data:{key:d.key,city:g,extensions:h,s:e.s,platform:e.platform,appname:d.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(f){if(f.data.status&&"1"==f.data.status)if(f.data.lives){if((f=f.data.lives)&&0<f.length){f=f[0];var k={city:{text:"\u57ce\u5e02",data:f.city},
+weather:{text:"\u5929\u6c14",data:f.weather},temperature:{text:"\u6e29\u5ea6",data:f.temperature},winddirection:{text:"\u98ce\u5411",data:f.winddirection+"\u98ce"},windpower:{text:"\u98ce\u529b",data:f.windpower+"\u7ea7"},humidity:{text:"\u6e7f\u5ea6",data:f.humidity+"%"}};k.liveData=f;a.success(k)}}else f.data.forecasts&&f.data.forecasts[0]&&a.success({forecast:f.data.forecasts[0]});else a.fail({errCode:f.data.infocode,errMsg:f.data.info})},fail:function(f){a.fail({errCode:"0",errMsg:f.errMsg||""})}})}
+function c(g){wx.request({url:"https://restapi.amap.com/v3/geocode/regeo",data:{key:d.key,location:g,extensions:"all",s:e.s,platform:e.platform,appname:d.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(h){if(h.data.status&&"1"==h.data.status){h=h.data.regeocode;if(h.addressComponent)var f=h.addressComponent.adcode;else h.aois&&0<h.aois.length&&(f=h.aois[0].adcode);b(f)}else a.fail({errCode:h.data.infocode,errMsg:h.data.info})},
+fail:function(h){a.fail({errCode:"0",errMsg:h.errMsg||""})}})}var d=this,e=d.requestConfig;a.city?b(a.city):d.getWxLocation(a,function(g){c(g)})};
+AMapWX.prototype.getPoiAround=function(a){function b(e){e={key:c.key,location:e,s:d.s,platform:d.platform,appname:c.key,sdkversion:d.sdkversion,logversion:d.logversion};a.querytypes&&(e.types=a.querytypes);a.querykeywords&&(e.keywords=a.querykeywords);wx.request({url:"https://restapi.amap.com/v3/place/around",data:e,method:"GET",header:{"content-type":"application/json"},success:function(g){if(g.data.status&&"1"==g.data.status){if((g=g.data)&&g.pois){for(var h=[],f=0;f<g.pois.length;f++){var k=0==
+f?a.iconPathSelected:a.iconPath;h.push({latitude:parseFloat(g.pois[f].location.split(",")[1]),longitude:parseFloat(g.pois[f].location.split(",")[0]),iconPath:k,width:22,height:32,id:f,name:g.pois[f].name,address:g.pois[f].address})}a.success({markers:h,poisData:g.pois})}}else a.fail({errCode:g.data.infocode,errMsg:g.data.info})},fail:function(g){a.fail({errCode:"0",errMsg:g.errMsg||""})}})}var c=this,d=c.requestConfig;a.location?b(a.location):c.getWxLocation(a,function(e){b(e)})};
+AMapWX.prototype.getStaticmap=function(a){function b(e){c.push("location="+e);a.zoom&&c.push("zoom="+a.zoom);a.size&&c.push("size="+a.size);a.scale&&c.push("scale="+a.scale);a.markers&&c.push("markers="+a.markers);a.labels&&c.push("labels="+a.labels);a.paths&&c.push("paths="+a.paths);a.traffic&&c.push("traffic="+a.traffic);e="https://restapi.amap.com/v3/staticmap?"+c.join("&");a.success({url:e})}var c=[];c.push("key="+this.key);var d=this.requestConfig;c.push("s="+d.s);c.push("platform="+d.platform);
+c.push("appname="+d.appname);c.push("sdkversion="+d.sdkversion);c.push("logversion="+d.logversion);a.location?b(a.location):this.getWxLocation(a,function(e){b(e)})};
+AMapWX.prototype.getInputtips=function(a){var b=Object.assign({},this.requestConfig);a.location&&(b.location=a.location);a.keywords&&(b.keywords=a.keywords);a.type&&(b.type=a.type);a.city&&(b.city=a.city);a.citylimit&&(b.citylimit=a.citylimit);wx.request({url:"https://restapi.amap.com/v3/assistant/inputtips",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.tips&&a.success({tips:c.data.tips})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||
+""})}})};
+AMapWX.prototype.getDrivingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);a.strategy&&(b.strategy=a.strategy);a.waypoints&&(b.waypoints=a.waypoints);a.avoidpolygons&&(b.avoidpolygons=a.avoidpolygons);a.avoidroad&&(b.avoidroad=a.avoidroad);wx.request({url:"https://restapi.amap.com/v3/direction/driving",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths,
+taxi_cost:c.data.route.taxi_cost||""})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};
+AMapWX.prototype.getWalkingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);wx.request({url:"https://restapi.amap.com/v3/direction/walking",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};
+AMapWX.prototype.getTransitRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);a.strategy&&(b.strategy=a.strategy);a.city&&(b.city=a.city);a.cityd&&(b.cityd=a.cityd);wx.request({url:"https://restapi.amap.com/v3/direction/transit/integrated",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&(c=c.data.route,a.success({distance:c.distance||"",taxi_cost:c.taxi_cost||
+"",transits:c.transits}))},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};
+AMapWX.prototype.getRidingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);wx.request({url:"https://restapi.amap.com/v3/direction/riding",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};module.exports.AMapWX=AMapWX;
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
index 9298203..4d2cda1 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
 	"name": "test",
 	"appid": "__UNI__93C3197",
 	"description": "",
-	"versionName": "1.0.0",
-	"versionCode": "100",
+	"versionName": "1.0.1",
+	"versionCode": 101,
 	"transformPx": false,
 	"app-plus": {
 		"usingComponents": true,
diff --git a/pages.json b/pages.json
index 611ae1b..67f5ae8 100644
--- a/pages.json
+++ b/pages.json
@@ -12,18 +12,27 @@
 		"style": {
 			"navigationBarTitleText": "������",
 			"navigationStyle": "custom",
+			"app-plus": {
+				"bounce": "none"
+			}, // ������ios���������������
 			"enablePullDownRefresh": false
 		}
 	}, {
 		"path": "pages/login/login",
 		"style": {
 			"navigationBarTitleText": "������",
+			"app-plus": {
+				"bounce": "none"
+			}, // ������ios���������������
 			"enablePullDownRefresh": false
 		}
 	}, {
 		"path": "pages/actionChange/newPage/index",
 		"style": {
 			"navigationBarTitleText": "���������������",
+			"app-plus": {
+				"bounce": "none"
+			}, // ������ios���������������
 			"enablePullDownRefresh": false
 		}
 	}, {
diff --git a/pages/actionChange/agencyPage/index.vue b/pages/actionChange/agencyPage/index.vue
index 46d84cb..a4694dc 100644
--- a/pages/actionChange/agencyPage/index.vue
+++ b/pages/actionChange/agencyPage/index.vue
@@ -117,7 +117,7 @@
 					<p class="rowTip">
 						<view class="wholeLine">
 							<text class="rowTipContenetLabel">������������:</text>
-							<text class="rowTipContenetAll">{{ item.pollutePosition }}</text>
+							<u--text class="rowTipContenetAll" :lines="1" :text="item.pollutePosition"></u--text>
 						</view>
 					</p>
 				</view>
diff --git a/pages/actionChange/newPage/index.vue b/pages/actionChange/newPage/index.vue
index 6c34083..bd696c2 100644
--- a/pages/actionChange/newPage/index.vue
+++ b/pages/actionChange/newPage/index.vue
@@ -10,11 +10,18 @@
 					@confirm="checkTime" @cancel='showeEscalationTime=false' />
 			</u-form-item>
 			<u-form-item border-bottom label="������������:" prop="pollutePosition" required>
-				<u-input v-model="form.pollutePosition" border="none" placeholder="���������" type="text">
+				<view style="display: flex;align-items: center;">
+					<u--textarea v-model="form.pollutePosition" border="none" placeholder="���������"
+						autoHeight></u--textarea>
+					<view style="width: 60px;">
+						<u-button @tap="authVerification()" text="������������" type="success" size="mini"></u-button>
+					</view>
+				</view>
+				<!-- <u-input v-model="form.pollutePosition" border="none" placeholder="���������" type="text">
 					<template slot="suffix">
 						<u-button @tap="authVerification()" text="������������" type="success" size="mini"></u-button>
 					</template>
-				</u-input>
+				</u-input> -->
 			</u-form-item>
 			<u-form-item border-bottom label="������������:" prop="unitId" required @click="
 					showCheckBox = true;
@@ -88,6 +95,7 @@
 </template>
 <script>
 	import fileUpload from '../components/fileUpload.vue'
+	import amap from '../../../libs/amap-wx.js'
 	export default {
 		components: {
 			fileUpload
@@ -175,11 +183,18 @@
 				unitList: [],
 				polluteList: [],
 				fileBaseList: [],
+				key: '04a1196c84f5d193c7d91c66150908be',
+				amapPlugin: null,
 			}
 		},
 		onReady() {
 			//onReady ���uni-app���������������������������
 			this.$refs.uForm.setRules(this.rules)
+		},
+		onLoad() {
+			this.amapPlugin = new amap.AMapWX({
+				key: this.key //���key ���������������������������������������key
+			})
 		},
 		onShow() {
 			uni.hideTabBar()
@@ -230,7 +245,8 @@
 			handerLocation() {
 				let that = this
 				uni.getLocation({
-					type: 'wgs84',
+					type: 'gcj02',
+					isHighAccuracy: true, //���������������������
 					success: function(res) {
 						console.log('111', res)
 						that.handerChooseLocation(res.latitude, res.longitude)
@@ -338,12 +354,14 @@
 					this.sumbitForm.changeType = this.form.changeType
 					this.sumbitForm.keyPoint = this.form.keyPoint
 					this.sumbitForm.state = '20'
-					console.log('this.sumbitForm', this.sumbitForm)
 					this.$http.httpPost('/allocation/insert', {
 						...this.sumbitForm
 					}).then(res => {
 						uni.$u.toast('������������')
 						this.close()
+					}).catch(errors => {
+						uni.$u.toast(errors.split(',')[0])
+						console.log(errors)
 					})
 				}).catch(errors => {
 					uni.$u.toast('������������')
@@ -366,12 +384,39 @@
 					this.sumbitForm.unitId = userInfor.unitId
 					this.form.escalationUnitId = data
 					this.sumbitForm.escalationUnitId = userInfor.unitId
+				} else {
+					if (this.unitList.length > 0) {
+						this.form.unitId = this.unitList[0].unitName
+						this.sumbitForm.unitId = this.unitList[0].unitId
+						this.form.escalationUnitId = this.unitList[0].unitName
+						this.sumbitForm.escalationUnitId = this.unitList[0].unitId
+					}
 				}
 				this.form.escalationName = userInfor.userName || ''
 				this.sumbitForm.escalationName = userInfor.userName || ''
 				this.form.investigationType = 1
 				this.sumbitForm.investigationType = 1
-				console.log('this.sumbitForm', this.sumbitForm)
+				let that = this
+				uni.getLocation({
+					type: 'gcj02',
+					isHighAccuracy: true, //���������������������
+					success: function(res) {
+						that.amapPlugin.getRegeo({
+							type: 'gcj02',
+							location: '' + res.longitude + ',' + res.latitude + '',
+							success: function(e) {
+								that.addressInfor.address = e[0].regeocodeData.name
+								that.addressInfor.latitude = e[0].latitude
+								that.addressInfor.longitude = e[0].longitude
+								that.addressInfor.name = e[0].desc
+								that.form.pollutePosition = e[0].regeocodeData.formatted_address
+							},
+							fail: res => {
+								console.log(JSON.stringify(res))
+							}
+						})
+					}
+				})
 			},
 			// ������������������list
 			getUnitList() {
@@ -413,6 +458,11 @@
 			padding-left: 10px;
 		}
 
+		/deep/.u-textarea {
+			padding: 0 !important;
+			width: calc(100%-70px);
+		}
+
 		// /deep/.u-form-item__body {
 		// 	padding: 8px 0px !important;
 		// 	font-size: 15px !important;
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 0836458..07d33a8 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -82,4 +82,8 @@
 		}
 	}
 </script>
-<style></style>
\ No newline at end of file
+<style>
+	.newIndex {
+		width: calc(100vw);
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0