water_xcx/pages/sing-out/sing-out.js

304 lines
6.9 KiB
JavaScript

// pages/sign2/sign2.js
var myRequest = require("../../utils/api.js");
var utils = require("../../utils/utils.js");
var QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js')
Page({
/**
* 页面的初始数据
*/
data: {
cityText: '',
cityValue: [],
dateText: '',
dateValue: [],
fileList: [],
label: '请选择站点',
singleSelect: {
value: '',
options: [],
},
keys: {
value: 'code',
label: 'name',
},
projectId: '',
isSing: false,
isSingOut: false,
deviceCode: '',
title: '签到',
img: '',
address: '',
remark: '',
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getLocation();
var projectId = wx.getStorageSync('projectId');
this.setData({
projectId: projectId,
})
},
getRemark(e) {
this.setData({
remark: e.detail.value
})
},
handleAdd(e) {
var that = this;
const { files } = e.detail;
var fileLists = [];
myRequest.updateImg({file:files[0].url}).then(function(res){
fileLists.push({url:files[0].url,type:'image',percent:100});
that.setData({
img: res,
fileList: fileLists,
})
}).catch(function(res){
console.log(res);
})
},
handleRemove(e) {
var filed = e.currentTarget.dataset.filed;
const { index } = e.detail;
const { fileList } = this.data;
fileList[filed].splice(index, 1);
this.setData({
fileList,
});
},
singIn() {
var img = this.data.img;
var location = this.data.address;
var deviceCode = this.data.deviceCode;
var remark = this.data.remark;
if (deviceCode == '') {
wx.showToast({
title: '请选择站点',
icon: 'none'
})
return false;
}
if (img == '') {
wx.showToast({
title: '请上传图片',
icon: 'none'
})
return false;
}
myRequest.myRequest('outSign/in', {
deviceCode: deviceCode,
location: location,
img: img,
remark: remark,
}, 'post').then(function(res){
wx.showToast({
title: '签到成功',
icon: 'none',
})
that.setData({
isSing: true
})
that.isUserSign();
that.isUserSignOut();
}).catch(function(res){
console.log(res);
})
},
singOut() {
var deviceCode = this.data.deviceCode;
if (deviceCode == '') {
wx.showToast({
title: '请选择站点',
icon: 'none'
})
return false;
}
var url = 'outSign/out?deviceCode=' + deviceCode;
myRequest.myRequest(url, {}, 'post').then(function(res){
wx.showToast({
title: '签退成功',
icon: 'none',
})
that.setData({
isSing: false
})
that.isUserSign();
that.isUserSignOut();
}).catch(function(res){
console.log(res);
})
},
//获取站点
getDevicesData: function()
{
var that = this;
myRequest.myRequest('outSign/deviceList', {
latitude: that.data.latitude,
longitude: that.data.longitude,
}, 'get').then(function(res){
var devicesList = res.data.data;
that.setData({
'singleSelect.options': devicesList,
});
if (undefined != devicesList[0]) {
that.setData({
'singleSelect.value': devicesList[0].code,
label: devicesList[0].name,
deviceCode: devicesList[0].code
})
} else {
that.setData({
'singleSelect.value': '',
label: '请选择站点',
deviceCode: ''
})
}
that.isUserSign();
that.isUserSignOut();
}).catch(function(res){
console.log(res);
})
},
//判断当日是否签到
isUserSign() {
var that = this;
if (that.data.deviceCode == '') {
wx.showToast({
title: '附近没有站点',
icon: 'none',
})
return false;
}
myRequest.myRequest('outSign/isSign', {
deviceCode: that.data.deviceCode
}, 'get').then(function(res){
var isSing = res.data.data
that.setData({
isSing: isSing,
title: isSing == false ? '签到' : '签退'
})
}).catch(function(res){
console.log(res);
})
},
//判断当日是否签退
isUserSignOut() {
var that = this;
if (that.data.deviceCode == '') {
wx.showToast({
title: '附近没有站点',
icon: 'none',
})
return false;
}
myRequest.myRequest('outSign/isSignOut', {
deviceCode: that.data.deviceCode
}, 'get').then(function(res){
var isSingOut = res.data.data
that.setData({
isSingOut: isSingOut,
title: isSingOut == false ? '签退' : '签到',
})
}).catch(function(res){
console.log(res);
})
},
onWithoutTitlePicker() {
this.setData({ city2Visible: true, city2Title: '' });
},
//获取位置信息
getLocation() {
var that = this
wx.getLocation({//调用API得到经纬度
type: 'gcj02',
isHighAccuracy: true,
success: function (res) {
var latitude = res.latitude
var longitude = res.longitude
that.setData({
latitude: res.latitude,
longitude: res.longitude
})
that.getDevicesData();
//地址解析
var demo = new QQMapWX({
key: 'RQJBZ-6ZOCX-3QI4R-Z3JUH-GFDOS-YYBJ4'
});
demo.reverseGeocoder({//地址解析
location: {
latitude: latitude,
longitude: longitude
},
success: function (res) {
console.log(res);
//获得地址
that.setData({
address: res.result.address
})
},
fail: function (res) {
console.log(res);
},
complete: function (res) {
console.log(res);
}
});
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})