2024-09-13 17:09:25 +08:00
|
|
|
|
const app = getApp()
|
|
|
|
|
|
|
|
|
|
import Notify from '@vant/weapp/notify/notify';
|
2024-11-09 18:24:11 +08:00
|
|
|
|
import Dialog from '@vant/weapp/dialog/dialog';
|
2024-09-24 17:36:03 +08:00
|
|
|
|
import {
|
|
|
|
|
depLogin
|
|
|
|
|
} from "../../../api/login/login.js"
|
2024-09-13 17:09:25 +08:00
|
|
|
|
Page({
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 页面的初始数据
|
|
|
|
|
*/
|
|
|
|
|
data: {
|
|
|
|
|
IMG_NAME: app.IMG_NAME,
|
|
|
|
|
userDetail: {},
|
|
|
|
|
menuList: [{
|
2024-09-28 17:46:21 +08:00
|
|
|
|
type: "reservation",
|
2024-09-16 18:22:00 +08:00
|
|
|
|
name: "会议预约",
|
2024-09-18 20:35:54 +08:00
|
|
|
|
img: "/profile/static/meeting/index/reservation.png",
|
2024-09-16 18:22:00 +08:00
|
|
|
|
path: "/pages/meeting/meetingReservation/meetingReservation",
|
2024-09-20 15:47:11 +08:00
|
|
|
|
visible: false
|
2024-09-16 18:22:00 +08:00
|
|
|
|
}, {
|
2024-09-28 17:46:21 +08:00
|
|
|
|
type: "record",
|
2024-09-16 18:22:00 +08:00
|
|
|
|
name: "预约记录",
|
2024-09-18 20:35:54 +08:00
|
|
|
|
img: "/profile/static/meeting/index/record.png",
|
2024-09-16 18:22:00 +08:00
|
|
|
|
path: "/pages/meeting/reservationRecord/meetingRecord/meetingRecord",
|
|
|
|
|
visible: true
|
|
|
|
|
}, {
|
2024-09-28 17:46:21 +08:00
|
|
|
|
type: "approve",
|
2024-09-16 18:22:00 +08:00
|
|
|
|
name: "会议审核",
|
2024-09-18 20:35:54 +08:00
|
|
|
|
img: "/profile/static/meeting/index/examine.png",
|
2024-09-17 20:26:20 +08:00
|
|
|
|
path: "/pages/meeting/reservationRecord/approve/approve",
|
2024-09-28 17:46:21 +08:00
|
|
|
|
visible: false
|
2024-09-16 18:22:00 +08:00
|
|
|
|
}, {
|
2024-09-28 17:46:21 +08:00
|
|
|
|
type: "service",
|
2024-09-16 18:22:00 +08:00
|
|
|
|
name: "会务服务",
|
2024-09-18 20:35:54 +08:00
|
|
|
|
img: "/profile/static/meeting/index/serve.png",
|
2024-09-17 20:26:20 +08:00
|
|
|
|
path: "/pages/meeting/reservationRecord/service/service",
|
2024-09-29 20:45:00 +08:00
|
|
|
|
visible: false
|
2024-09-16 18:22:00 +08:00
|
|
|
|
}],
|
|
|
|
|
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;
|
2024-09-13 17:09:25 +08:00
|
|
|
|
},
|
2024-09-20 15:47:11 +08:00
|
|
|
|
// 用户登录相关参数
|
|
|
|
|
showLogin: false, // 是否展示弹出层
|
|
|
|
|
username: '', // 用户名
|
|
|
|
|
pwd: '', // 登录密码
|
2024-09-24 17:36:03 +08:00
|
|
|
|
depName: '', // 登录单位
|
2024-09-24 23:04:06 +08:00
|
|
|
|
depId: '', // 登录单位id
|
2024-09-20 15:47:11 +08:00
|
|
|
|
beforeClose(action) {
|
|
|
|
|
return new Promise(resolve => {
|
|
|
|
|
if (action === 'confirm') {
|
|
|
|
|
resolve(false)
|
|
|
|
|
} else {
|
|
|
|
|
resolve(true)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}, // 弹出层点击确认不关闭,手动关
|
2024-11-09 18:24:11 +08:00
|
|
|
|
adminTel: '83605343',
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
|
|
|
|
showTimePicker() {
|
2024-09-20 15:47:11 +08:00
|
|
|
|
this.setData({
|
|
|
|
|
timeShow: true
|
|
|
|
|
});
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
|
|
|
|
hideTimePicker() {
|
2024-09-20 15:47:11 +08:00
|
|
|
|
this.setData({
|
|
|
|
|
timeShow: false
|
|
|
|
|
});
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面加载
|
|
|
|
|
*/
|
|
|
|
|
onLoad(options) {
|
2024-11-09 18:24:11 +08:00
|
|
|
|
Dialog.alert({
|
2025-04-12 16:18:39 +08:00
|
|
|
|
message: '1、此系统分配的账号仅用于会议室申请预约,请各单位专人扎口负责会议预定管理工作。\n2、系统提示“预约提交成功”后请及时关注预约进度和短信通知!若有疑问请随时拨打会议服务热线:83605343。\n3、会议开始前如需调整会议,请及时通过系统操作或电话告知,已预约成功的会议室可能因临时重大会议取消或调剂,请理解配合。\n注:会议预定系统技术支持QQ群:技术支持临时群(929670630)',
|
2024-11-09 18:24:11 +08:00
|
|
|
|
messageAlign: 'left',
|
|
|
|
|
}).then(() => {
|
|
|
|
|
// on close
|
|
|
|
|
})
|
2024-11-11 12:27:39 +08:00
|
|
|
|
// let count = 5
|
|
|
|
|
// const countdown = setInterval(() => {
|
|
|
|
|
// if (count > 0) {
|
|
|
|
|
// count--;
|
|
|
|
|
// } else {
|
|
|
|
|
// Dialog.close()
|
|
|
|
|
// clearInterval(countdown);
|
|
|
|
|
// }
|
|
|
|
|
// }, 1000)
|
2024-11-09 18:24:11 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
let _this = this
|
2024-09-28 17:46:21 +08:00
|
|
|
|
let userDetail = wx.getStorageSync('user')
|
2024-10-10 21:13:01 +08:00
|
|
|
|
// 获取两周后时间,默认只能选两周之后,管理员可以选一年后的
|
2024-09-16 18:22:00 +08:00
|
|
|
|
const today = new Date()
|
|
|
|
|
const newDate = new Date(today)
|
2024-09-28 17:46:21 +08:00
|
|
|
|
if (userDetail.roomRole == 5) {
|
|
|
|
|
newDate.setFullYear(newDate.getFullYear() + 1)
|
|
|
|
|
} else {
|
2024-10-10 21:13:01 +08:00
|
|
|
|
newDate.setDate(newDate.getDate() + 14)
|
2024-09-28 17:46:21 +08:00
|
|
|
|
}
|
2024-10-29 13:05:22 +08:00
|
|
|
|
|
|
|
|
|
wx.getStorage({
|
|
|
|
|
key: 'DEP_USERNAME',
|
|
|
|
|
success(res) {
|
|
|
|
|
_this.setData({
|
2024-11-09 18:24:11 +08:00
|
|
|
|
username: res.data
|
2024-10-29 13:05:22 +08:00
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
wx.getStorage({
|
|
|
|
|
key: 'DEP_PWD',
|
|
|
|
|
success(res) {
|
|
|
|
|
_this.setData({
|
2024-11-09 18:24:11 +08:00
|
|
|
|
pwd: res.data
|
2024-10-29 13:05:22 +08:00
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
})
|
2024-09-16 18:22:00 +08:00
|
|
|
|
_this.setData({
|
|
|
|
|
userDetail,
|
2024-10-29 13:05:22 +08:00
|
|
|
|
maxDate: newDate.getTime(),
|
2024-09-16 18:22:00 +08:00
|
|
|
|
})
|
2024-09-13 17:09:25 +08:00
|
|
|
|
// 展示模块
|
2024-09-16 18:22:00 +08:00
|
|
|
|
_this.visibleBlock()
|
2024-10-29 13:05:22 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
|
|
|
|
// 跳转会议预约页面
|
|
|
|
|
goRes(e) {
|
2024-09-25 22:10:57 +08:00
|
|
|
|
let date = new Date(e.detail);
|
|
|
|
|
let year = date.getFullYear()
|
|
|
|
|
let month = date.getMonth() + 1
|
|
|
|
|
let day = date.getDate()
|
2024-09-30 16:54:33 +08:00
|
|
|
|
// IOS不支持-,必须用/
|
|
|
|
|
let chooseTime = year + '/' + month + '/' + day + ' 00:00:00'
|
2024-09-25 22:10:57 +08:00
|
|
|
|
let chooseTimeStr = new Date(chooseTime).getTime()
|
2024-09-16 18:22:00 +08:00
|
|
|
|
wx.navigateTo({
|
2024-09-25 22:10:57 +08:00
|
|
|
|
url: '/pages/meeting/meetingReservation/meetingReservation?time=' + chooseTimeStr + '&dep=' + this.data.depName + '&depId=' + this.data.depId,
|
2024-09-16 18:22:00 +08:00
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 跳转菜单
|
|
|
|
|
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 === '会议预约') {
|
2024-09-28 17:46:21 +08:00
|
|
|
|
if (this.data.userDetail.roomRole == 5) {
|
|
|
|
|
// 管理员,不需要认证
|
|
|
|
|
this.showTimePicker()
|
|
|
|
|
} else {
|
|
|
|
|
// 未授权
|
|
|
|
|
this.setData({
|
|
|
|
|
showLogin: true
|
|
|
|
|
})
|
|
|
|
|
}
|
2024-09-20 15:47:11 +08:00
|
|
|
|
return
|
|
|
|
|
// app.selfShowMsg('您暂无权限使用该功能,请联系机关事务局XXX(电话15888888888)进行赋权后使用')
|
2024-09-16 18:22:00 +08:00
|
|
|
|
} else {
|
|
|
|
|
app.vantNotifyErrTop(Notify, `"${obj.name}"无权限访问!`)
|
|
|
|
|
return
|
|
|
|
|
}
|
2024-09-13 17:09:25 +08:00
|
|
|
|
}
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 展示模块
|
|
|
|
|
visibleBlock() {
|
|
|
|
|
let _this = this
|
|
|
|
|
let userDetail = _this.data.userDetail
|
2024-09-28 17:46:21 +08:00
|
|
|
|
let userRole = userDetail.roomRole
|
2024-09-16 18:22:00 +08:00
|
|
|
|
let menuList = _this.data.menuList
|
2024-09-28 17:46:21 +08:00
|
|
|
|
// 角色类型 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') {
|
2024-10-08 16:09:43 +08:00
|
|
|
|
item.path = '/pages/meeting/reservationRecord/approve/approve?act=show'
|
2024-09-28 17:46:21 +08:00
|
|
|
|
item.visible = true
|
|
|
|
|
}
|
|
|
|
|
return item
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
_this.setData({
|
2024-10-29 13:05:22 +08:00
|
|
|
|
menuList
|
2024-09-28 17:46:21 +08:00
|
|
|
|
})
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
back() {
|
|
|
|
|
wx.navigateBack()
|
|
|
|
|
},
|
|
|
|
|
|
2024-09-20 15:47:11 +08:00
|
|
|
|
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
|
|
|
|
|
}
|
2024-09-24 17:36:03 +08:00
|
|
|
|
depLogin({
|
|
|
|
|
loginName: uName,
|
|
|
|
|
password: pwd
|
|
|
|
|
}).then(res => {
|
|
|
|
|
if (res.code !== 0) {
|
|
|
|
|
Notify({
|
|
|
|
|
message: '认证失败!',
|
|
|
|
|
top: 50
|
|
|
|
|
})
|
2024-10-29 13:05:22 +08:00
|
|
|
|
wx.removeStorage({
|
|
|
|
|
key: 'DEP_USERNAME',
|
|
|
|
|
})
|
|
|
|
|
wx.removeStorage({
|
|
|
|
|
key: 'DEP_PWD',
|
|
|
|
|
})
|
2024-09-24 17:36:03 +08:00
|
|
|
|
} else {
|
|
|
|
|
// 认证通过
|
|
|
|
|
Notify({
|
|
|
|
|
type: 'success',
|
|
|
|
|
message: '认证通过!',
|
|
|
|
|
top: 50
|
|
|
|
|
})
|
2024-10-29 13:05:22 +08:00
|
|
|
|
wx.setStorage({
|
|
|
|
|
key: "DEP_USERNAME",
|
|
|
|
|
data: uName
|
|
|
|
|
})
|
|
|
|
|
wx.setStorage({
|
|
|
|
|
key: "DEP_PWD",
|
|
|
|
|
data: pwd
|
|
|
|
|
})
|
2024-09-24 17:36:03 +08:00
|
|
|
|
_this.setData({
|
|
|
|
|
['menuList[0].visible']: true,
|
2024-10-29 13:05:22 +08:00
|
|
|
|
username: uName,
|
|
|
|
|
pwd: pwd,
|
2024-09-24 17:36:03 +08:00
|
|
|
|
showLogin: false,
|
2024-09-24 23:04:06 +08:00
|
|
|
|
depName: res.data.orgName,
|
|
|
|
|
depId: res.data.orgId,
|
2024-09-24 17:36:03 +08:00
|
|
|
|
})
|
|
|
|
|
this.showTimePicker()
|
|
|
|
|
}
|
|
|
|
|
console.log('depLogin', res)
|
|
|
|
|
|
2024-09-20 15:47:11 +08:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
},
|
2024-11-09 18:24:11 +08:00
|
|
|
|
callAdmin() {
|
|
|
|
|
let num = this.data.adminTel
|
|
|
|
|
wx.makePhoneCall({
|
|
|
|
|
phoneNumber: num
|
|
|
|
|
})
|
|
|
|
|
},
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
|
|
*/
|
|
|
|
|
onReady() {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面显示
|
|
|
|
|
*/
|
|
|
|
|
onShow() {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
|
|
*/
|
|
|
|
|
onHide() {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
|
|
*/
|
|
|
|
|
onUnload() {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
|
|
|
*/
|
|
|
|
|
onPullDownRefresh() {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
|
|
*/
|
|
|
|
|
onReachBottom() {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户点击右上角分享
|
|
|
|
|
*/
|
|
|
|
|
onShareAppMessage() {
|
|
|
|
|
|
|
|
|
|
}
|
2024-09-13 17:09:25 +08:00
|
|
|
|
})
|