const app = getApp() import Notify from '@vant/weapp/notify/notify'; import { depLogin } from "../../../api/login/login.js" Page({ /** * 页面的初始数据 */ data: { IMG_NAME: app.IMG_NAME, userDetail: {}, menuList: [{ type: "reservation", name: "会议预约", img: "/profile/static/meeting/index/reservation.png", path: "/pages/meeting/meetingReservation/meetingReservation", visible: false }, { type: "record", name: "预约记录", img: "/profile/static/meeting/index/record.png", path: "/pages/meeting/reservationRecord/meetingRecord/meetingRecord", visible: true }, { type: "approve", name: "会议审核", img: "/profile/static/meeting/index/examine.png", path: "/pages/meeting/reservationRecord/approve/approve", visible: false }, { type: "service", name: "会务服务", img: "/profile/static/meeting/index/serve.png", path: "/pages/meeting/reservationRecord/service/service", visible: false }], timeShow: false, currentDate: new Date().getTime(), minDate: new Date().getTime(), maxDate: '', formatter(type, value) { if (type === 'year') { return `${value}年`; } if (type === 'month') { return `${value}月`; } if (type === 'day') { return `${value}日`; } return value; }, // 用户登录相关参数 showLogin: false, // 是否展示弹出层 username: '', // 用户名 pwd: '', // 登录密码 depName: '', // 登录单位 depId: '', // 登录单位id beforeClose(action) { return new Promise(resolve => { if (action === 'confirm') { resolve(false) } else { resolve(true) } }) }, // 弹出层点击确认不关闭,手动关 }, showTimePicker() { this.setData({ timeShow: true }); }, hideTimePicker() { this.setData({ timeShow: false }); }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let _this = this let userDetail = wx.getStorageSync('user') // 获取一月后时间,默认只能选一个月之后,管理员可以选一年后的 const today = new Date() const newDate = new Date(today) if (userDetail.roomRole == 5) { newDate.setFullYear(newDate.getFullYear() + 1) } else { newDate.setMonth(newDate.getMonth() + 1) } _this.setData({ userDetail, maxDate: newDate.getTime() }) // 展示模块 _this.visibleBlock() }, // 跳转会议预约页面 goRes(e) { let date = new Date(e.detail); let year = date.getFullYear() let month = date.getMonth() + 1 let day = date.getDate() // IOS不支持-,必须用/ let chooseTime = year + '/' + month + '/' + day + ' 00:00:00' let chooseTimeStr = new Date(chooseTime).getTime() wx.navigateTo({ url: '/pages/meeting/meetingReservation/meetingReservation?time=' + chooseTimeStr + '&dep=' + this.data.depName + '&depId=' + this.data.depId, }) }, // 跳转菜单 jumpMenu(e) { console.log('jumpMenu', e); let obj = e.currentTarget.dataset.obj if (obj.visible) { // 未授权 if (obj.name == '会议预约') { // 会议预约需要先选择时间 this.showTimePicker() } else { wx.navigateTo({ url: obj.path, }) } } else { if (obj.name === '会议预约') { if (this.data.userDetail.roomRole == 5) { // 管理员,不需要认证 this.showTimePicker() } else { // 未授权 this.setData({ showLogin: true }) } return // app.selfShowMsg('您暂无权限使用该功能,请联系机关事务局XXX(电话15888888888)进行赋权后使用') } else { app.vantNotifyErrTop(Notify, `"${obj.name}"无权限访问!`) return } } }, // 展示模块 visibleBlock() { let _this = this let userDetail = _this.data.userDetail let userRole = userDetail.roomRole let menuList = _this.data.menuList // 角色类型 1.普通用户,3.会务人员,5.管理员 if (userRole == 3) { // 会务人员,会务服务允许访问 menuList = menuList.map(item => { if (item.type == 'service') { item.visible = true } return item }) } if (userRole == 5) { // 管理员,会务审核允许访问,且预约记录自动跳转到会议审核 menuList = menuList.map(item => { if (item.type == 'approve') { item.visible = true } if (item.type == 'record') { item.path = '/pages/meeting/reservationRecord/approve/approve' item.visible = true } return item }) } _this.setData({ menuList }) }, back() { wx.navigateBack() }, onCloseLogin(e) { let _this = this; _this.setData({ cancelId: '', showCancelReason: false, cancelReason: '' }) }, onChangeUsername(e) { let _this = this; _this.setData({ username: e.detail }) }, onChangePwd(e) { let _this = this; _this.setData({ pwd: e.detail }) }, // 认证方法 orderLogin() { let _this = this; let uName = _this.data.username let pwd = _this.data.pwd if (uName === '' || pwd === '') { Notify({ message: '请填写用户名、密码!', top: 50 }) return } depLogin({ loginName: uName, password: pwd }).then(res => { if (res.code !== 0) { Notify({ message: '认证失败!', top: 50 }) } else { // 认证通过 Notify({ type: 'success', message: '认证通过!', top: 50 }) _this.setData({ ['menuList[0].visible']: true, username: '', pwd: '', showLogin: false, depName: res.data.orgName, depId: res.data.orgId, }) this.showTimePicker() } console.log('depLogin', res) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })