|
@@ -105,7 +105,7 @@ var render = function () {
|
|
|
var l0 = _vm.list.length
|
|
var l0 = _vm.list.length
|
|
|
? _vm.__map(_vm.list, function (item, __i0__) {
|
|
? _vm.__map(_vm.list, function (item, __i0__) {
|
|
|
var $orig = _vm.__get_orig(item)
|
|
var $orig = _vm.__get_orig(item)
|
|
|
- var m0 = item.updateTime ? __webpack_require__(/*! ./imgs/success.png */ 46) : null
|
|
|
|
|
|
|
+ var m0 = item.status == 4 ? __webpack_require__(/*! ./imgs/success.png */ 46) : null
|
|
|
return {
|
|
return {
|
|
|
$orig: $orig,
|
|
$orig: $orig,
|
|
|
m0: m0,
|
|
m0: m0,
|
|
@@ -230,21 +230,6 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/r
|
|
|
//
|
|
//
|
|
|
//
|
|
//
|
|
|
//
|
|
//
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
|
|
|
|
|
var QQMapWX = __webpack_require__(/*! ../../util/qqmap-wx-jssdk1.1/qqmap-wx-jssdk */ 49);
|
|
var QQMapWX = __webpack_require__(/*! ../../util/qqmap-wx-jssdk1.1/qqmap-wx-jssdk */ 49);
|
|
|
var qqmapsdk;
|
|
var qqmapsdk;
|
|
@@ -255,25 +240,36 @@ var _default = {
|
|
|
userInfo: {},
|
|
userInfo: {},
|
|
|
// 打卡规则列表
|
|
// 打卡规则列表
|
|
|
list: [],
|
|
list: [],
|
|
|
- // 是否在打卡范围内标识
|
|
|
|
|
- addressFlags: false,
|
|
|
|
|
- // 是否在打卡时间内标识
|
|
|
|
|
- timeFlags: false,
|
|
|
|
|
// 当前时间
|
|
// 当前时间
|
|
|
nowTime: "",
|
|
nowTime: "",
|
|
|
// 当前定位位置信息
|
|
// 当前定位位置信息
|
|
|
address: "",
|
|
address: "",
|
|
|
// 定时器标识
|
|
// 定时器标识
|
|
|
timer: null,
|
|
timer: null,
|
|
|
- notes: ""
|
|
|
|
|
|
|
+ // 提示信息
|
|
|
|
|
+ notes: "",
|
|
|
|
|
+ // 当前显示的是哪个规则id
|
|
|
|
|
+ activeid: null,
|
|
|
|
|
+ // 当前时间的时间戳
|
|
|
|
|
+ timestamp: null,
|
|
|
|
|
+ // 当前显示的规则具体信息
|
|
|
|
|
+ contrastObj: {},
|
|
|
|
|
+ // 当前用户定位经度
|
|
|
|
|
+ myLng: 0,
|
|
|
|
|
+ // 当前用户定位纬度
|
|
|
|
|
+ myLat: 0,
|
|
|
|
|
+ // 签到点中心经度
|
|
|
|
|
+ centerLng: 0,
|
|
|
|
|
+ // 签到点中心纬度
|
|
|
|
|
+ centerLat: 0,
|
|
|
|
|
+ // 签到半径
|
|
|
|
|
+ radius: 0,
|
|
|
|
|
+ // 距离签到点的距离
|
|
|
|
|
+ distance: 0,
|
|
|
|
|
+ // 是否可以打卡的标识
|
|
|
|
|
+ flags: true
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
- computed: {
|
|
|
|
|
- // 是否有打卡任务的标识
|
|
|
|
|
- flags: function flags() {
|
|
|
|
|
- return this.list.length ? true : false;
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
onLoad: function onLoad() {
|
|
onLoad: function onLoad() {
|
|
|
uni.removeStorageSync("manager");
|
|
uni.removeStorageSync("manager");
|
|
|
uni.removeStorageSync("sub-administrator");
|
|
uni.removeStorageSync("sub-administrator");
|
|
@@ -282,9 +278,15 @@ var _default = {
|
|
|
// 申请的key
|
|
// 申请的key
|
|
|
key: 'R43BZ-2XROX-L7T45-T5OQI-IBDFT-GNBOI'
|
|
key: 'R43BZ-2XROX-L7T45-T5OQI-IBDFT-GNBOI'
|
|
|
});
|
|
});
|
|
|
|
|
+ // 获取当前系统时间
|
|
|
this.getNowTime();
|
|
this.getNowTime();
|
|
|
|
|
+ // 获取当前时间的时间戳
|
|
|
|
|
+ this.getTimestamp();
|
|
|
|
|
+ // 获取用户的个人信息数据
|
|
|
this.getUserInfo();
|
|
this.getUserInfo();
|
|
|
|
|
+ // 获取当前位置的详细信息
|
|
|
this.getLocationData();
|
|
this.getLocationData();
|
|
|
|
|
+ // 获取当天的打卡列表数组
|
|
|
this.getRulesList();
|
|
this.getRulesList();
|
|
|
},
|
|
},
|
|
|
onUnload: function onUnload() {
|
|
onUnload: function onUnload() {
|
|
@@ -292,6 +294,23 @@ var _default = {
|
|
|
clearInterval(this.timer);
|
|
clearInterval(this.timer);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+ // 下拉刷新
|
|
|
|
|
+ onPullDownRefresh: function onPullDownRefresh() {
|
|
|
|
|
+ uni.removeStorageSync("manager");
|
|
|
|
|
+ uni.removeStorageSync("sub-administrator");
|
|
|
|
|
+ qqmapsdk = new QQMapWX({
|
|
|
|
|
+ // 申请的key
|
|
|
|
|
+ key: 'R43BZ-2XROX-L7T45-T5OQI-IBDFT-GNBOI'
|
|
|
|
|
+ });
|
|
|
|
|
+ this.getNowTime();
|
|
|
|
|
+ this.getTimestamp();
|
|
|
|
|
+ this.getUserInfo();
|
|
|
|
|
+ this.getLocationData();
|
|
|
|
|
+ this.getRulesList();
|
|
|
|
|
+ setTimeout(function () {
|
|
|
|
|
+ uni.stopPullDownRefresh();
|
|
|
|
|
+ }, 1500);
|
|
|
|
|
+ },
|
|
|
methods: {
|
|
methods: {
|
|
|
// 获取当前时间
|
|
// 获取当前时间
|
|
|
getNowTime: function getNowTime() {
|
|
getNowTime: function getNowTime() {
|
|
@@ -305,10 +324,15 @@ var _default = {
|
|
|
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
|
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
|
|
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
|
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
|
|
_this.nowTime = hours + ':' + minutes + ':' + seconds;
|
|
_this.nowTime = hours + ':' + minutes + ':' + seconds;
|
|
|
- // console.log(this.nowTime);
|
|
|
|
|
}, 1000);
|
|
}, 1000);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+ // 获取当前时间的时间戳
|
|
|
|
|
+ getTimestamp: function getTimestamp() {
|
|
|
|
|
+ var dates = new Date();
|
|
|
|
|
+ var times = dates.getTime();
|
|
|
|
|
+ this.timestamp = times;
|
|
|
|
|
+ },
|
|
|
// 获取用户详细信息
|
|
// 获取用户详细信息
|
|
|
getUserInfo: function getUserInfo() {
|
|
getUserInfo: function getUserInfo() {
|
|
|
var _this2 = this;
|
|
var _this2 = this;
|
|
@@ -328,6 +352,7 @@ var _default = {
|
|
|
// console.log(res);
|
|
// console.log(res);
|
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
|
_this2.userInfo = res.data;
|
|
_this2.userInfo = res.data;
|
|
|
|
|
+ uni.setStorageSync("userInfo", _this2.userInfo);
|
|
|
if (_this2.userInfo.roles) {
|
|
if (_this2.userInfo.roles) {
|
|
|
temList = [];
|
|
temList = [];
|
|
|
_this2.userInfo.roles.forEach(function (ele) {
|
|
_this2.userInfo.roles.forEach(function (ele) {
|
|
@@ -358,8 +383,10 @@ var _default = {
|
|
|
success: function success(res) {
|
|
success: function success(res) {
|
|
|
// console.log(res);
|
|
// console.log(res);
|
|
|
if (res.status == 0) {
|
|
if (res.status == 0) {
|
|
|
- // 获取详细地址信息
|
|
|
|
|
- _this3.notes = res.result.address;
|
|
|
|
|
|
|
+ // 获取详细地址信息 经纬度
|
|
|
|
|
+ _this3.address = res.result.address;
|
|
|
|
|
+ _this3.myLat = res.result.location.lat;
|
|
|
|
|
+ _this3.myLng = res.result.location.lng;
|
|
|
} else {
|
|
} else {
|
|
|
uni.showToast({
|
|
uni.showToast({
|
|
|
title: "请求定位失败",
|
|
title: "请求定位失败",
|
|
@@ -381,16 +408,21 @@ var _default = {
|
|
|
_context2.next = 2;
|
|
_context2.next = 2;
|
|
|
return _this4.$myRequest({
|
|
return _this4.$myRequest({
|
|
|
url: "/attendance/api/sign/check/in/list/today"
|
|
url: "/attendance/api/sign/check/in/list/today"
|
|
|
- // data: {
|
|
|
|
|
- // name: name ? name : "",
|
|
|
|
|
- // size: 999
|
|
|
|
|
- // }
|
|
|
|
|
});
|
|
});
|
|
|
case 2:
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
res = _context2.sent;
|
|
|
// console.log(res);
|
|
// console.log(res);
|
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
|
- _this4.list = res.data.reverse();
|
|
|
|
|
|
|
+ if (res.data.length == 0) {
|
|
|
|
|
+ _this4.flags = false;
|
|
|
|
|
+ _this4.notes = "无打卡任务无需打卡";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ _this4.list = res.data.reverse();
|
|
|
|
|
+ _this4.activeid = _this4.list[0].id;
|
|
|
|
|
+ _this4.contrastObj = _this4.list[0];
|
|
|
|
|
+ // console.log(this.contrastObj);
|
|
|
|
|
+ _this4.changeType();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
case 4:
|
|
case 4:
|
|
|
case "end":
|
|
case "end":
|
|
@@ -400,15 +432,69 @@ var _default = {
|
|
|
}, _callee2);
|
|
}, _callee2);
|
|
|
}))();
|
|
}))();
|
|
|
},
|
|
},
|
|
|
|
|
+ // 对比信息改变打卡的状态显示
|
|
|
|
|
+ changeType: function changeType() {
|
|
|
|
|
+ var _this5 = this;
|
|
|
|
|
+ // 没有到打卡时间 或者 超过打卡时间 的状态
|
|
|
|
|
+ if (this.timestamp < this.contrastObj.beginTime || this.timestamp > this.contrastObj.endTime) {
|
|
|
|
|
+ console.log(1);
|
|
|
|
|
+ this.flags = false;
|
|
|
|
|
+ this.notes = "未到打卡时间无法打卡";
|
|
|
|
|
+ }
|
|
|
|
|
+ // 到了打卡时间,判断是否在打卡范围内
|
|
|
|
|
+ else {
|
|
|
|
|
+ console.log(2);
|
|
|
|
|
+ if (this.contrastObj.locations.length) {
|
|
|
|
|
+ var temList = [];
|
|
|
|
|
+ temList = this.contrastObj.locations.map(function (ele) {
|
|
|
|
|
+ _this5.centerLat = ele.lat;
|
|
|
|
|
+ _this5.centerLng = ele.lng;
|
|
|
|
|
+ _this5.radius = ele.radius;
|
|
|
|
|
+ var red1 = _this5.myLat * Math.PI / 180.0;
|
|
|
|
|
+ var red2 = _this5.centerLat * Math.PI / 180.0;
|
|
|
|
|
+ var a = red1 - red2;
|
|
|
|
|
+ var b = _this5.myLng * Math.PI / 180.0 - _this5.centerLng * Math.PI / 180.0;
|
|
|
|
|
+ var R = 6378137;
|
|
|
|
|
+ var distance = R * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(red1) * Math.cos(red2) * Math.pow(Math.sin(b / 2), 2)));
|
|
|
|
|
+ _this5.distance = distance.toFixed(2) * 1;
|
|
|
|
|
+ if (_this5.distance <= _this5.radius) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ var temFlag;
|
|
|
|
|
+ temFlag = temList.some(function (item) {
|
|
|
|
|
+ item = true;
|
|
|
|
|
+ });
|
|
|
|
|
+ if (!temFlag) {
|
|
|
|
|
+ this.flags = false;
|
|
|
|
|
+ this.notes = "不在管理员设定范围内,无法打卡";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.flags = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 点击每一个打卡规则回调
|
|
|
|
|
+ handleClick: function handleClick(item) {
|
|
|
|
|
+ // console.log(item);
|
|
|
|
|
+ this.getTimestamp();
|
|
|
|
|
+ this.contrastObj = item;
|
|
|
|
|
+ this.activeid = item.id;
|
|
|
|
|
+ this.changeType();
|
|
|
|
|
+ },
|
|
|
// 点击打卡按钮回调
|
|
// 点击打卡按钮回调
|
|
|
- handlePunch: function handlePunch() {
|
|
|
|
|
|
|
+ handlePunch: function handlePunch(info) {
|
|
|
if (this.flags) {
|
|
if (this.flags) {
|
|
|
|
|
+ var obj = JSON.stringify(info);
|
|
|
|
|
+
|
|
|
// 获取用户位置权限
|
|
// 获取用户位置权限
|
|
|
uni.authorize({
|
|
uni.authorize({
|
|
|
scope: 'scope.userLocation',
|
|
scope: 'scope.userLocation',
|
|
|
success: function success() {
|
|
success: function success() {
|
|
|
uni.navigateTo({
|
|
uni.navigateTo({
|
|
|
- url: "/pages/location/location"
|
|
|
|
|
|
|
+ url: "/pages/location/location?obj=".concat(obj)
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
fail: function fail() {
|
|
fail: function fail() {
|
|
@@ -422,7 +508,7 @@ var _default = {
|
|
|
uni.openSetting({
|
|
uni.openSetting({
|
|
|
success: function success(res) {}
|
|
success: function success(res) {}
|
|
|
});
|
|
});
|
|
|
- } else if (res.cancel) {}
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|