// subpages/searchResult/pages/punchCard/punchCard.js import api from "../../../../utils/api" const QQMapWX = require('../../../../utils/qqmap-wx-jssdk') const app = getApp() var timerId= null; Page({ /** * 页面的初始数据 */ data: { form:{ name:"", birthday:"", mobile:"", homeName:"", genderName:"", }, resiId:"", punchFlag:null, currentTime:'', address:'', longitude:'', latitude:'', }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.updateTime(); timerId = setInterval(this.updateTime, 1000); if(options.resiId){ this.setData({ resiId:options.resiId }) this.getResiDetail() } this.data.qqMapWX = new QQMapWX({ key: 'CMJBZ-4DECI-JXGGN-5B4WU-QLV2H-B5BEJ' }) this.reverseLocation() }, updateTime() { let date = new Date(); let hours = date.getHours().toString().padStart(2, '0'); let minutes = date.getMinutes().toString().padStart(2, '0'); let seconds = date.getSeconds().toString().padStart(2, '0'); this.setData({ currentTime: `${hours}:${minutes}:${seconds}` }); }, getResiDetail: async function() { try { let res = await api.getResiDetail(this.data.resiId); const {birthday,mobile,name,genderName,resideInfos} = res.data; this.setData({ 'form.name':name, 'form.genderName':genderName, 'form.birthday':birthday, 'form.mobile':mobile, 'form.homeName' :resideInfos[0].agencyName + resideInfos[0].homeName, }); console.log(this.data.form); } catch(err) { console.log(err); } }, handlePunch(){ this.setData({ punchFlag:!this.data.punchFlag, animationClass:'animate' }) setTimeout(() => { this.setData({ animationClass: '' }); this.clockRecords() }, 1500); }, clockRecords(){ let currentDate = new Date().toISOString().split('T')[0]; // 会得到形如 "2023-09-27" 的日期 let obj = { resiId:this.data.resiId, clockTime: currentDate + " " + this.data.currentTime, clockAddress: this.data.address, longitude:this.data.longitude , latitude:this.data.latitude } api.clockRecords(obj).then(res=>{ wx.showToast({ title: this.data.punchFlag?'打卡成功':'更新成功', icon:'none' }) }).catch(err=>{ console.log(err); }) }, toAddResi(){ wx.navigateTo({ url: `/subpages/addResi/pages/addResi/addResi?type=edit&resiId=${this.data.resiId}`, }) }, toWebView(){ console.log(app.globalData); wx.navigateTo({ url: '/pages/webView/webView?url=' + app.globalData.questionnaireUrl, }) }, toEvent(){ let obj ={ resiId : this.data.resiId, resiMobile : this.data.form.mobile, resiName:this.data.form.name } wx.setStorageSync('resiDetail',obj) wx.navigateTo({ url: '/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck', }) }, reverseLocation() { const _this = this this.data.qqMapWX.reverseGeocoder({ success(res) { console.log(res); _this.setData({ addressContent:res.result.address, address: res.result.address, longitude:res.result.location.lng, latitude:res.result.location.lat, }) }, fail(err) { console.debug(err) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { if (timerId) { clearInterval(timerId); timerId = null; } }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })