Browse Source

小程序修改

wuhongbo 1 year ago
parent
commit
6096b3a81e

+ 2 - 2
YSGZYBZ_WXAPP/pages/login/index.vue

@@ -39,8 +39,8 @@ export default {
         };
         uni
           .request({
-            // url: 'https://zlzd.zrzyt.zj.gov.cn/ysybz/api/app/xc/getXcryByMobile',
-            url: 'http://10.10.9.71:7089/ysgzybz/app/xc/getXcryByMobile',
+            url: 'https://zlzd.zrzyt.zj.gov.cn/ysybz/api/app/xc/getXcryByMobile',
+            // url: 'http://10.10.9.71:7089/ysgzybz/app/xc/getXcryByMobile',
             method: 'GET',
             data: params,
           })

+ 150 - 30
YSGZYBZ_WXAPP/pages/nocheckDetail/index.vue

@@ -87,7 +87,7 @@
 import navigationBar from '../../components/navigationBar/navigationBar.vue';
 import httpAjax from '@/utils/https.js';
 import CustomMixins from '@/mixins/CustomMixins.js';
-
+import config from '@/utils/config.js';
 const FormData = require('@/utils/formData/formData.js');
 
 export default {
@@ -97,6 +97,7 @@ export default {
   },
   data() {
     return {
+      centerLay: {},
       lat: '',
       lat2: '',
       long: '',
@@ -138,9 +139,62 @@ export default {
     const idStr = JSON.parse(option['obj']);
     this.objs = idStr;
     console.log(this.objs);
+    this.initLayCenter(idStr.dksyh);
   },
   beforeDestroy() {},
   methods: {
+    // 取面对象 中心点
+    calculateCenter(lnglatarr) {
+      var total = lnglatarr.length;
+      var X = 0,
+        Y = 0,
+        Z = 0;
+      lnglatarr.forEach(function (lnglat) {
+        var lng = (lnglat.longitude * Math.PI) / 180;
+        var lat = (lnglat.latitude * Math.PI) / 180;
+        var x, y, z;
+        x = Math.cos(lat) * Math.cos(lng);
+        y = Math.cos(lat) * Math.sin(lng);
+        z = Math.sin(lat);
+        X += x;
+        Y += y;
+        Z += z;
+      });
+      X = X / total;
+      Y = Y / total;
+      Z = Z / total;
+
+      var Lng = Math.atan2(Y, X);
+      var Hyp = Math.sqrt(X * X + Y * Y);
+      var Lat = Math.atan2(Z, Hyp);
+      return { lng: (Lng * 180) / Math.PI, lat: (Lat * 180) / Math.PI };
+    },
+    initLayCenter(dksyh) {
+      let where =
+        '?where=dksyh%3D%27' +
+        dksyh +
+        '%27&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&f=pjson';
+      let url = config.bjdkgl + '/0/query';
+      // let whereStr = `1=1 and dksyh in (${s})`;
+      uni
+        .request({
+          url: url + where,
+          method: 'GET',
+        })
+        .then((result) => {
+          let arr = result[1].data.features[0].geometry.rings[0];
+          let newArr = [];
+          arr.forEach((item, index) => {
+            let obj = {
+              latitude: item[1],
+              longitude: item[0],
+            };
+            newArr.push(obj);
+          });
+          let center = this.calculateCenter(newArr);
+          this.centerLay = center;
+        });
+    },
     saveWarning() {
       //上报
       if (this.baseFormData.xzms === '') {
@@ -151,8 +205,44 @@ export default {
         });
         return;
       }
+      if (!(this.fileList.length > 0)) {
+        uni.showToast({
+          title: '现场照片不能为空',
+          icon: 'none',
+          duration: 1500,
+        });
+        return;
+      }
       this.relationFileById(this.fileList);
     },
+    getDistance(lat1, lng1, lat2, lng2) {
+      var radLat1 = (lat1 * Math.PI) / 180.0;
+      var radLat2 = (lat2 * Math.PI) / 180.0;
+      var a = radLat1 - radLat2;
+      var b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
+      var s =
+        2 *
+        Math.asin(
+          Math.sqrt(
+            Math.pow(Math.sin(a / 2), 2) +
+              Math.cos(radLat1) *
+                Math.cos(radLat2) *
+                Math.pow(Math.sin(b / 2), 2),
+          ),
+        );
+      s = s * 6378.137; // EARTH_RADIUS;
+      s = Math.round(s * 10000) / 10000;
+      // if (s < 1) {
+      //   //如果距离小于1km返回m
+      //   s = s.toFixed(3);
+      //   s = s * 1000 + 'm';
+      // } else {
+      //   s = s.toFixed(2);
+      //   s = s + 'km';
+      // }
+      return (s * 1000).toFixed(0);
+    },
+
     relationFileById(fileObj) {
       //文件上传
       let _that = this;
@@ -167,6 +257,8 @@ export default {
         dksyh: this.objs.dksyh,
         imgList: [],
       };
+
+      let laycenterArr = [];
       fileObj.forEach((item) => {
         let obj = {
           fileId: item.fileId,
@@ -174,39 +266,67 @@ export default {
           lng: item.lng,
         };
         files.push(obj);
+        let obj1 = {
+          lat: item.lat,
+          lng: item.lng,
+        };
+        laycenterArr.push(obj1);
       });
       sendData.imgList = files;
-      console.log(sendData);
 
-      httpAjax({
-        url: 'app/xc/addXcjl',
-        method: 'POST',
-        data: sendData,
-      })
-        .then((result) => {
-          if (result.data) {
-            uni.showModal({
-              title: '提示',
-              content: '上报成功,是否返回首页',
-              success: function (res) {
-                if (res.confirm) {
-                  uni.navigateTo({
-                    url: '/pages/main/index',
-                  });
-                } else if (res.cancel) {
-                  uni.navigateTo({
-                    url: `/pages/receivedDetail/index?obj=${JSON.stringify(
-                      _that.objs,
-                    )}`,
-                  });
-                }
-              },
+      let laycenter = this.centerLay;
+
+      for (let i = 0; i < laycenterArr.length; i++) {
+        let m = this.getDistance(
+          laycenter.lat,
+          laycenter.lng,
+          laycenterArr[i].lat,
+          laycenterArr[i].lng,
+        );
+        if (m > 50) {
+          uni.showModal({
+            title: '提示',
+            content: `超出地块拍摄范围`,
+            success: function (res) {
+              if (res.confirm) {
+              } else if (res.cancel) {
+              }
+            },
+          });
+          return;
+        } else {
+          httpAjax({
+            url: 'app/xc/addXcjl',
+            method: 'POST',
+            data: sendData,
+          })
+            .then((result) => {
+              if (result.data) {
+                uni.showModal({
+                  title: '提示',
+                  content: '上报成功,是否返回首页',
+                  success: function (res) {
+                    if (res.confirm) {
+                      uni.navigateTo({
+                        url: '/pages/main/index',
+                      });
+                    } else if (res.cancel) {
+                      uni.navigateTo({
+                        url: `/pages/receivedDetail/index?obj=${JSON.stringify(
+                          _that.objs,
+                        )}`,
+                      });
+                    }
+                  },
+                });
+              }
+            })
+            .catch((err) => {
+              console.error('');
             });
-          }
-        })
-        .catch((err) => {
-          console.error('');
-        });
+          return;
+        }
+      }
     },
     selectFileChange(file) {
       console.log(file);

+ 1 - 3
YSGZYBZ_WXAPP/pages/received/index.vue

@@ -7,6 +7,7 @@
         :longitude="longitude"
         :polygons="covers"
         :scale="scale"
+        :enable-satellite="true"
         id="map"
         ref="map"
       >
@@ -142,7 +143,6 @@ export default {
               // dashArray: Math.random(),
               points: newArr,
               strokeColor: '#ff0000',
-              fillColor: '#ff0000',
               zIndex: 100,
               strokeWidth: 2,
             },
@@ -173,7 +173,6 @@ export default {
       var Lng = Math.atan2(Y, X);
       var Hyp = Math.sqrt(X * X + Y * Y);
       var Lat = Math.atan2(Z, Hyp);
-      console.log(Lng, Lat, Hyp);
       return { lng: (Lng * 180) / Math.PI, lat: (Lat * 180) / Math.PI };
     },
     queryClick() {
@@ -249,7 +248,6 @@ export default {
                 }
               }
             });
-            console.log(this.listData);
           }
         })
         .catch((err) => {

File diff suppressed because it is too large
+ 0 - 0
YSGZYBZ_WXAPP/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 0 - 0
YSGZYBZ_WXAPP/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map


File diff suppressed because it is too large
+ 0 - 0
YSGZYBZ_WXAPP/unpackage/dist/dev/.sourcemap/mp-weixin/pages/nocheckDetail/index.js.map


File diff suppressed because it is too large
+ 0 - 0
YSGZYBZ_WXAPP/unpackage/dist/dev/.sourcemap/mp-weixin/pages/received/index.js.map


+ 2 - 2
YSGZYBZ_WXAPP/unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -3371,8 +3371,8 @@ function normalizeComponent (
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var config = {
   //发布线上需要吧login里面地址跟这里替换掉
-  baseUrl: "http://10.10.9.71:7089/ysgzybz/",
-  // baseUrl: "https://zlzd.zrzyt.zj.gov.cn/app215/ybz-api/",
+  // baseUrl: "http://10.10.9.71:7089/ysgzybz/",
+  baseUrl: "https://zlzd.zrzyt.zj.gov.cn/app215/ybz-api/",
 
   bjdkgl: 'https://zlzd.zrzyt.zj.gov.cn/arcMapServer216/arcgis/rest/services/YSYBZ/BJ_DKGL/MapServer' };var _default =
 

+ 144 - 24
YSGZYBZ_WXAPP/unpackage/dist/dev/mp-weixin/pages/nocheckDetail/index.js

@@ -241,8 +241,8 @@ __webpack_require__.r(__webpack_exports__);
 
 
 var _https = _interopRequireDefault(__webpack_require__(/*! @/utils/https.js */ 18));
-var _CustomMixins = _interopRequireDefault(__webpack_require__(/*! @/mixins/CustomMixins.js */ 35));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var navigationBar = function navigationBar() {__webpack_require__.e(/*! require.ensure | components/navigationBar/navigationBar */ "components/navigationBar/navigationBar").then((function () {return resolve(__webpack_require__(/*! ../../components/navigationBar/navigationBar.vue */ 48));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};
-
+var _CustomMixins = _interopRequireDefault(__webpack_require__(/*! @/mixins/CustomMixins.js */ 35));
+var _config = _interopRequireDefault(__webpack_require__(/*! @/utils/config.js */ 133));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var navigationBar = function navigationBar() {__webpack_require__.e(/*! require.ensure | components/navigationBar/navigationBar */ "components/navigationBar/navigationBar").then((function () {return resolve(__webpack_require__(/*! ../../components/navigationBar/navigationBar.vue */ 48));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};
 var FormData = __webpack_require__(/*! @/utils/formData/formData.js */ 36);var _default =
 
 {
@@ -252,6 +252,7 @@ var FormData = __webpack_require__(/*! @/utils/formData/formData.js */ 36);var _
 
   data: function data() {
     return {
+      centerLay: {},
       lat: '',
       lat2: '',
       long: '',
@@ -293,9 +294,62 @@ var FormData = __webpack_require__(/*! @/utils/formData/formData.js */ 36);var _
     var idStr = JSON.parse(option['obj']);
     this.objs = idStr;
     console.log(this.objs);
+    this.initLayCenter(idStr.dksyh);
   },
   beforeDestroy: function beforeDestroy() {},
   methods: {
+    // 取面对象 中心点
+    calculateCenter: function calculateCenter(lnglatarr) {
+      var total = lnglatarr.length;
+      var X = 0,
+      Y = 0,
+      Z = 0;
+      lnglatarr.forEach(function (lnglat) {
+        var lng = lnglat.longitude * Math.PI / 180;
+        var lat = lnglat.latitude * Math.PI / 180;
+        var x, y, z;
+        x = Math.cos(lat) * Math.cos(lng);
+        y = Math.cos(lat) * Math.sin(lng);
+        z = Math.sin(lat);
+        X += x;
+        Y += y;
+        Z += z;
+      });
+      X = X / total;
+      Y = Y / total;
+      Z = Z / total;
+
+      var Lng = Math.atan2(Y, X);
+      var Hyp = Math.sqrt(X * X + Y * Y);
+      var Lat = Math.atan2(Z, Hyp);
+      return { lng: Lng * 180 / Math.PI, lat: Lat * 180 / Math.PI };
+    },
+    initLayCenter: function initLayCenter(dksyh) {var _this = this;
+      var where =
+      '?where=dksyh%3D%27' +
+      dksyh +
+      '%27&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&f=pjson';
+      var url = _config.default.bjdkgl + '/0/query';
+      // let whereStr = `1=1 and dksyh in (${s})`;
+      uni.
+      request({
+        url: url + where,
+        method: 'GET' }).
+
+      then(function (result) {
+        var arr = result[1].data.features[0].geometry.rings[0];
+        var newArr = [];
+        arr.forEach(function (item, index) {
+          var obj = {
+            latitude: item[1],
+            longitude: item[0] };
+
+          newArr.push(obj);
+        });
+        var center = _this.calculateCenter(newArr);
+        _this.centerLay = center;
+      });
+    },
     saveWarning: function saveWarning() {
       //上报
       if (this.baseFormData.xzms === '') {
@@ -306,8 +360,44 @@ var FormData = __webpack_require__(/*! @/utils/formData/formData.js */ 36);var _
 
         return;
       }
+      if (!(this.fileList.length > 0)) {
+        uni.showToast({
+          title: '现场照片不能为空',
+          icon: 'none',
+          duration: 1500 });
+
+        return;
+      }
       this.relationFileById(this.fileList);
     },
+    getDistance: function getDistance(lat1, lng1, lat2, lng2) {
+      var radLat1 = lat1 * Math.PI / 180.0;
+      var radLat2 = lat2 * Math.PI / 180.0;
+      var a = radLat1 - radLat2;
+      var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
+      var s =
+      2 *
+      Math.asin(
+      Math.sqrt(
+      Math.pow(Math.sin(a / 2), 2) +
+      Math.cos(radLat1) *
+      Math.cos(radLat2) *
+      Math.pow(Math.sin(b / 2), 2)));
+
+
+      s = s * 6378.137; // EARTH_RADIUS;
+      s = Math.round(s * 10000) / 10000;
+      // if (s < 1) {
+      //   //如果距离小于1km返回m
+      //   s = s.toFixed(3);
+      //   s = s * 1000 + 'm';
+      // } else {
+      //   s = s.toFixed(2);
+      //   s = s + 'km';
+      // }
+      return (s * 1000).toFixed(0);
+    },
+
     relationFileById: function relationFileById(fileObj) {
       //文件上传
       var _that = this;
@@ -322,6 +412,8 @@ var FormData = __webpack_require__(/*! @/utils/formData/formData.js */ 36);var _
         dksyh: this.objs.dksyh,
         imgList: [] };
 
+
+      var laycenterArr = [];
       fileObj.forEach(function (item) {
         var obj = {
           fileId: item.fileId,
@@ -329,39 +421,67 @@ var FormData = __webpack_require__(/*! @/utils/formData/formData.js */ 36);var _
           lng: item.lng };
 
         files.push(obj);
+        var obj1 = {
+          lat: item.lat,
+          lng: item.lng };
+
+        laycenterArr.push(obj1);
       });
       sendData.imgList = files;
-      console.log(sendData);
 
-      (0, _https.default)({
-        url: 'app/xc/addXcjl',
-        method: 'POST',
-        data: sendData }).
+      var laycenter = this.centerLay;
 
-      then(function (result) {
-        if (result.data) {
+      for (var i = 0; i < laycenterArr.length; i++) {
+        var m = this.getDistance(
+        laycenter.lat,
+        laycenter.lng,
+        laycenterArr[i].lat,
+        laycenterArr[i].lng);
+
+        if (m > 50) {
           uni.showModal({
             title: '提示',
-            content: '上报成功,是否返回首页',
+            content: "\u8D85\u51FA\u5730\u5757\u62CD\u6444\u8303\u56F4",
             success: function success(res) {
               if (res.confirm) {
-                uni.navigateTo({
-                  url: '/pages/main/index' });
-
               } else if (res.cancel) {
-                uni.navigateTo({
-                  url: "/pages/receivedDetail/index?obj=".concat(JSON.stringify(
-                  _that.objs)) });
-
-
               }
             } });
 
+          return;
+        } else {
+          (0, _https.default)({
+            url: 'app/xc/addXcjl',
+            method: 'POST',
+            data: sendData }).
+
+          then(function (result) {
+            if (result.data) {
+              uni.showModal({
+                title: '提示',
+                content: '上报成功,是否返回首页',
+                success: function success(res) {
+                  if (res.confirm) {
+                    uni.navigateTo({
+                      url: '/pages/main/index' });
+
+                  } else if (res.cancel) {
+                    uni.navigateTo({
+                      url: "/pages/receivedDetail/index?obj=".concat(JSON.stringify(
+                      _that.objs)) });
+
+
+                  }
+                } });
+
+            }
+          }).
+          catch(function (err) {
+            console.error('');
+          });
+          return;
         }
-      }).
-      catch(function (err) {
-        console.error('');
-      });
+      }
     },
     selectFileChange: function selectFileChange(file) {
       console.log(file);
@@ -406,7 +526,7 @@ var FormData = __webpack_require__(/*! @/utils/formData/formData.js */ 36);var _
       });
     },
     //拍摄时获取设备的经纬度
-    getLocationApi: function getLocationApi(data) {var _this = this;
+    getLocationApi: function getLocationApi(data) {var _this2 = this;
       var _that = this;
       wx.authorize({
         scope: 'scope.userLocation',
@@ -431,7 +551,7 @@ var FormData = __webpack_require__(/*! @/utils/formData/formData.js */ 36);var _
         },
         fail: function fail(err) {
           console.log('获取授权失败', err);
-          _this.handleOpenSetting();
+          _this2.handleOpenSetting();
         } });
 
     },

+ 1 - 3
YSGZYBZ_WXAPP/unpackage/dist/dev/mp-weixin/pages/received/index.js

@@ -189,6 +189,7 @@ __webpack_require__.r(__webpack_exports__);
 
 
 
+
 
 
 
@@ -281,7 +282,6 @@ var _config = _interopRequireDefault(__webpack_require__(/*! @/utils/config.js *
           // dashArray: Math.random(),
           points: newArr,
           strokeColor: '#ff0000',
-          fillColor: '#ff0000',
           zIndex: 100,
           strokeWidth: 2 }];
 
@@ -312,7 +312,6 @@ var _config = _interopRequireDefault(__webpack_require__(/*! @/utils/config.js *
       var Lng = Math.atan2(Y, X);
       var Hyp = Math.sqrt(X * X + Y * Y);
       var Lat = Math.atan2(Z, Hyp);
-      console.log(Lng, Lat, Hyp);
       return { lng: Lng * 180 / Math.PI, lat: Lat * 180 / Math.PI };
     },
     queryClick: function queryClick() {
@@ -388,7 +387,6 @@ var _config = _interopRequireDefault(__webpack_require__(/*! @/utils/config.js *
               }
             }
           });
-          console.log(_this3.listData);
         }
       }).
       catch(function (err) {

File diff suppressed because it is too large
+ 0 - 0
YSGZYBZ_WXAPP/unpackage/dist/dev/mp-weixin/pages/received/index.wxml


+ 2 - 2
YSGZYBZ_WXAPP/utils/config.js

@@ -1,7 +1,7 @@
 const config = {
   //发布线上需要吧login里面地址跟这里替换掉
-  baseUrl: "http://10.10.9.71:7089/ysgzybz/",
-  // baseUrl: "https://zlzd.zrzyt.zj.gov.cn/app215/ybz-api/",
+  // baseUrl: "http://10.10.9.71:7089/ysgzybz/",
+  baseUrl: "https://zlzd.zrzyt.zj.gov.cn/app215/ybz-api/",
 
   bjdkgl: 'https://zlzd.zrzyt.zj.gov.cn/arcMapServer216/arcgis/rest/services/YSYBZ/BJ_DKGL/MapServer'
 }

Some files were not shown because too many files changed in this diff