// miniprogram/pages/indexapp/indexapp.js var app = getApp() Page({ /** * 页面的初始数据 */ data: { actionSheetShow: false, // 选择项目面板显隐(有一个项目的时候不展示) projectList: [], // 项目列表 count: 1, onshow: true, value: "", deviceloglist: [], devcode: "", longitude: 113.324520, latitude: 23.099994, time: 15 * 1000, markers: [{ id: 0, // iconPath: "../../images/point.png", latitude: 23.099994, longitude: 113.324520, label:'1', width: 50, height: 50 }], isSign: false, // 是否已经签名 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { const projectList = app.globalData.projectList.map(item => { return { name: item.projectName, id: item.projectId } }) this.setData({ projectList: projectList }) this.solveSelectProject() this.searchlogs() // 获取列表 }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, // 处理是否开启项目选择框 solveSelectProject: function () { console.log('此人的角色', app.globalData.role); console.log('配置的管理员进入小程序是否选择项目', app.globalData.isConfigProject); console.log('选择的项目名称', app.globalData.selectProjectName); if(app.globalData.role === 'repair') { // 管理员 if(app.globalData.isConfigProject === '1' && app.globalData.selectProjectName) { if (this.data.onshow) { this.initPages(); } } else if(app.globalData.isConfigProject === '1' && !app.globalData.selectProjectName){ this.setData({ actionSheetShow: true }) } else { wx.showTabBar() } } else { // 普通用户 if(app.globalData.selectProjectName) { if (this.data.onshow) { this.initPages(); } } else { this.setData({ actionSheetShow: true }) } } }, /** * 生命周期函数--监听页面显示 */ onShow: function () { if(app.globalData.selectProjectName) { wx.showTabBar() } else { wx.hideTabBar() } // 获取安全生产责任书的状态 this.getSafeBookStatus().then(() => { this.setData({ isSign: app.globalData.safeBookStatus == '0' ? false : true }) this.solveSelectProject() }) }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { console.log('触底'); // if(app.globalData.selectProjectName) { // this.getlogs(this.data.devcode) // } else { // this.setData({ // actionSheetShow: true // }) // } if(app.globalData.role === 'repair') { // 管理员 if(app.globalData.isConfigProject === '1' && app.globalData.selectProjectName) { this.getlogs(this.data.devcode) } else if(app.globalData.isConfigProject === '1' && !app.globalData.selectProjectName){ this.setData({ actionSheetShow: true }) } else { this.getlogs(this.data.devcode) } } else { // 普通用户 if(app.globalData.selectProjectName) { this.getlogs(this.data.devcode) } else { this.setData({ actionSheetShow: true }) } } }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, jump: function (event) { var that = this; var latitude = event.target.dataset.pointLat; var longitude = event.target.dataset.pointLon; let devcode = event.target.dataset.pointCode; that.setData({ latitude: latitude, longitude: longitude, markers: [{ latitude: latitude, longitude: longitude, callout: { display:'ALWAYS',// 常显气泡 content: devcode, //名称文本 color: '#fff', //文本颜色 borderRadius: 5, //边框圆角 borderWidth: 1, //边框宽度 borderColor: '#0060ff', //边框颜色 bgColor: '#0060ff', //背景色 padding: 5, //文本边缘留白 textAlign: 'center' //文本对齐方式。有效值: left, right, center } }] }) }, onClick: function () { var _this = this; wx.scanCode({ success(res) { var devcode = res.result _this.setData({ devcode: devcode, onshow: false }); _this.searchlogs(devcode) } }) }, onSearch: function (event) { this.setData({ devcode: event.detail }) this.searchlogs(event.detail) }, showLoading: function (message) { if (wx.showLoading) { // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理 wx.showLoading({ title: message, mask: true }); } else { // 低版本采用Toast兼容处理并将时间设为20秒以免自动消失 wx.showToast({ title: message, icon: 'loading', mask: true, duration: 20000 }); } }, hideLoading: function () { if (wx.hideLoading) { // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理 wx.hideLoading(); } else { wx.hideToast(); } }, //加载设备运维详细信息 toDetail: function (event) { var that = this that.showLoading("数据加载中...") wx.request({ method: "POST", url: app.globalData.httpsUrl + "appDeviceLog/deviceDetail", data: { devcode: event.target.dataset.devcode, }, header: { 'content-type': 'application/x-www-form-urlencoded;charset=utf-8' }, success(res) { that.hideLoading(); var resultObject = res.data; var pageName = '../indexapp/indexapp' if (resultObject.code == 200) { wx.setStorageSync('resultObject', resultObject.data) wx.navigateTo({ url: '../addDevicelog/addDeviceLog?detail=' +'&pageName=' + pageName }) } }, fail(err){ that.hideLoading(); } }) }, //加载列表 getlogs: function (devcode) { var that = this wx.request({ method: "POST", url: app.globalData.httpsUrl + "appDeviceLog/listPage", data: { devcode: devcode, limit: 100, project: (app.globalData.role === 'repair' && app.globalData.isConfigProject === '0') ? '' : app.globalData.selectProjectName , offset: that.data.deviceloglist.length % 100 > 0 ? parseInt(that.data.deviceloglist.length / 100) + 2 : parseInt(that.data.deviceloglist.length / 100) + 1 }, header: { 'content-type': 'application/x-www-form-urlencoded;charset=utf-8' }, success(res) { if (res.data) { // var resultJson = JSON.parse(res.result) var resultJson = res.data that.setData({ deviceloglist: that.data.deviceloglist.concat(resultJson.data.rows) }) } } }) }, //查询列表 searchlogs: function (devcode) { var that = this wx.request({ method: "POST", url: app.globalData.httpsUrl + "appDeviceLog/listPage", data: { devcode: devcode, project: (app.globalData.role === 'repair' && app.globalData.isConfigProject === '0') ? '' : app.globalData.selectProjectName , limit: 100, offset: 1 }, header: { 'content-type': 'application/x-www-form-urlencoded;charset=utf-8' }, success(res) { if (res.data) { var resultJson = res.data that.setData({ deviceloglist: resultJson.data.rows, onshow: true }) } } }) }, initPages: function () { var that = this; wx.getLocation({ type: "gcj02", success: function (res) { var latitude = res.latitude; var longitude = res.longitude; //console.log(res.latitude); that.setData({ latitude: latitude, longitude: longitude, markers: [{ latitude: latitude, longitude: longitude }] }) } }) this.data.devcode !== '' ? this.searchlogs(this.data.devcode) : this.searchlogs() }, // 点击图标 clickFinishArea() { wx.navigateTo({ url: '../safeBook/safeBook', }) }, // 选择好项目 selectProject(e) { console.log('选择的项目id', e.detail.id); app.globalData.selectProjectId = e.detail.id; // 项目id app.globalData.selectProjectName = e.detail.name; // 项目名称 this.setData({ actionSheetShow: false }) this.initPages(); wx.showTabBar() }, // 查询安全生产责任书签署状态 getSafeBookStatus() { return new Promise((resolve, reject) => { var that = this wx.request({ url: app.globalData.httpsUrl + "product/safe/sign-status", data: { openId: app.globalData.openid }, success: function (res) { if(res.data.code === 200) { // 0未签署 1已签署 app.globalData.safeBookStatus = res.data.data.signStatus + ''; resolve() } }, fail: function (err) { wx.showToast({ title: '获取安全生产责任书签署状态失败', icon: 'none' }) } }) }) }, })