|
@@ -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();
|
|
|
} });
|
|
|
|
|
|
},
|