1018会议纪要调整

预约页面灰色加提示
预约会议时间,在页面中可以修改
开会可选择时间段调整
预约页面增加会议形式(本地会议、视频会议)
会务组、音控组加入全选功能
This commit is contained in:
471615499@qq.com 2024-10-20 13:56:54 +08:00
parent 9a473b9694
commit bbe3208f6d
14 changed files with 205 additions and 46 deletions

View File

@ -382,6 +382,11 @@ image {
margin-top: 50rpx; margin-top: 50rpx;
} }
.disabled {
background: grey;
color: #333;
}
.ellipsisFont { .ellipsisFont {
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;

View File

@ -72,8 +72,53 @@ Page({
}, },
showPicker: false, showPicker: false,
actions: [], actions: [],
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;
},
},
showTimePicker() {
this.setData({
timeShow: true
});
this.selectComponent('#selectTime').toggle()
},
hideTimePicker() {
this.setData({
timeShow: false
});
},
changeTime(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()
this.setData({
date: chooseTimeStr,
dateStr: year + '-' + month + '-' + day
})
// 设置标题
wx.setNavigationBarTitle({
title: year + '年' + month + '月' + day + '日'
})
this.initData()
this.hideTimePicker()
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
@ -107,13 +152,24 @@ Page({
wx.setNavigationBarTitle({ wx.setNavigationBarTitle({
title: _year + '年' + _month + '月' + _day + '日' title: _year + '年' + _month + '月' + _day + '日'
}) })
// 设置时间
// 获取两周后时间,默认只能选两周之后,管理员可以选一年后的
const today = new Date()
const newDate = new Date(today)
if (userDetail.roomRole == 5) {
newDate.setFullYear(newDate.getFullYear() + 1)
} else {
newDate.setDate(newDate.getDate() + 14)
}
this.setData({ this.setData({
date: time, date: time,
rId: options.rId, rId: options.rId,
dep: options.dep, dep: options.dep,
depId: options.depId, depId: options.depId,
dateStr: _year + '-' + _month + '-' + _day, dateStr: _year + '-' + _month + '-' + _day,
userDetail: userDetail userDetail: userDetail,
maxDate: newDate.getTime()
}) })
if (options.rId == '' && (userDetail.roomRole != 5 && options.depId == '')) { if (options.rId == '' && (userDetail.roomRole != 5 && options.depId == '')) {
// 新增时,非管理员必须认证单位 // 新增时,非管理员必须认证单位
@ -321,15 +377,15 @@ Page({
if (am == 0) { if (am == 0) {
cAction[0] = { cAction[0] = {
name: '上午', name: '上午',
subname: '8:00 - 12:00', subname: '9:00 - 12:00',
range: 1, range: 1,
status: 0, status: 0,
id: id id: id
} }
} else { } else {
cAction[0] = { cAction[0] = {
name: '上午', name: '上午(不可预约)',
subname: '8:00 - 12:00', subname: '9:00 - 12:00',
range: 1, range: 1,
status: 1, status: 1,
id: id id: id
@ -338,7 +394,7 @@ Page({
if (pm == 0) { if (pm == 0) {
cAction[1] = { cAction[1] = {
name: '下午', name: '下午',
subname: '12:00 - 17:30', subname: '13:30 - 17:30',
range: 2, range: 2,
status: 0, status: 0,
id: id id: id
@ -346,7 +402,7 @@ Page({
} else { } else {
cAction[1] = { cAction[1] = {
name: '下午(不可预约)', name: '下午(不可预约)',
subname: '12:00 - 17:30', subname: '13:30 - 17:30',
range: 2, range: 2,
status: 1, status: 1,
id: id id: id
@ -402,6 +458,9 @@ Page({
let status = event.detail.status let status = event.detail.status
this.jumpMeetingRoom(id, timeRange, status) this.jumpMeetingRoom(id, timeRange, status)
}, },
timeChange() {
console.log(111)
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
*/ */

View File

@ -7,6 +7,9 @@
"van-switch": "@vant/weapp/switch/index", "van-switch": "@vant/weapp/switch/index",
"van-button": "@vant/weapp/button/index", "van-button": "@vant/weapp/button/index",
"van-notify": "@vant/weapp/notify/index", "van-notify": "@vant/weapp/notify/index",
"van-action-sheet": "@vant/weapp/action-sheet/index" "van-action-sheet": "@vant/weapp/action-sheet/index",
"van-field": "@vant/weapp/field/index",
"van-datetime-picker": "@vant/weapp/datetime-picker/index",
"van-popup": "@vant/weapp/popup/index"
} }
} }

View File

@ -3,6 +3,14 @@
<!-- 筛选条件 --> <!-- 筛选条件 -->
<view class="queryView"> <view class="queryView">
<van-dropdown-menu active-color="#4e96f8"> <van-dropdown-menu active-color="#4e96f8">
<van-dropdown-item id="selectTime" title="日期" overlay="{{ false }}">
<view style="padding: 15px 16px;">
<view style="text-align: center;font-size: 32rpx;margin-bottom: 20rpx;">{{dateStr}}</view>
<van-button type="info" size="small" block round bind:click="showTimePicker">
更改日期
</van-button>
</view>
</van-dropdown-item>
<!-- 时间范围 --> <!-- 时间范围 -->
<!-- <van-dropdown-item wx:if="{{ userDetail.roomRole != 5 }}" value="{{ queryParam.timeRangeDict.value }}" options="{{ queryParam.timeRangeDict.list }}" bind:change="dictChange" data-type="timeRangeDict" /> --> <!-- <van-dropdown-item wx:if="{{ userDetail.roomRole != 5 }}" value="{{ queryParam.timeRangeDict.value }}" options="{{ queryParam.timeRangeDict.list }}" bind:change="dictChange" data-type="timeRangeDict" /> -->
<!-- 字典-会议室 --> <!-- 字典-会议室 -->
@ -61,12 +69,8 @@
</view> </view>
<van-action-sheet <van-action-sheet show="{{ showPicker }}" actions="{{ actions }}" bind:close="onClosePicker" bind:cancel="onClosePicker" bind:select="onSelectRange" cancel-text="取消" description="请选择预约时段" />
show="{{ showPicker }}"
actions="{{ actions }}" <van-popup show="{{ timeShow }}" bind:close="hideTimePicker" position="bottom" round="true">
bind:close="onClosePicker" <van-datetime-picker title="请选择会议日期" type="date" value="{{ currentDate }}" min-date="{{ minDate }}" max-date="{{ maxDate }}" formatter="{{ formatter }}" bind:confirm="changeTime" bind:cancel="hideTimePicker" />
bind:cancel="onClosePicker" </van-popup>
bind:select="onSelectRange"
cancel-text="取消"
description="请选择预约时段"
/>

View File

@ -86,13 +86,19 @@ Page({
let detail = valueArr[0] + ':' + valueArr[1] let detail = valueArr[0] + ':' + valueArr[1]
let _minMintue = '' let _minMintue = ''
let _maxMintue = '' let _maxMintue = ''
if (valueArr[0] == '08') { // 时间调整上午900-1200下午1330-1730晚上1730-2400
// 8点和17点从30分开始 if (valueArr[0] == '13') {
// 13点从30分开始
_minMintue = 30 _minMintue = 30
_maxMintue = 59 _maxMintue = 59
} else if (valueArr[0] == '17') { } else if (valueArr[0] == '17') {
_minMintue = 0 if (timeRange == 2) {
_maxMintue = 30 _minMintue = 0
_maxMintue = 30
} else if (timeRange == 3) {
_minMintue = 31
_maxMintue = 59
}
if (this.data.userDetail.roomRole == 5) { if (this.data.userDetail.roomRole == 5) {
// 管理员全天可选 // 管理员全天可选
_minMintue = 0 _minMintue = 0
@ -135,6 +141,11 @@ Page({
_endMaxMinute = 0 _endMaxMinute = 0
detail = '12:00' detail = '12:00'
} }
if (timeRange == 2 && valueArr[0] == '17') {
// 下午17点只能选0-30
_endMinMinute = 0
_endMaxMinute = 30
}
this.setData({ this.setData({
endTime: detail, endTime: detail,
endMinMinute: _endMinMinute, endMinMinute: _endMinMinute,
@ -226,33 +237,33 @@ Page({
let _minMintue = '' let _minMintue = ''
let _maxMintue = '' let _maxMintue = ''
if (_timeRange === 1) { if (_timeRange === 1) {
// 上午,从830 - 1200 // 上午,从900 - 1200
_minTime = 8 _minTime = 9
_maxTime = 11 _maxTime = 11
_startTime = '8:30' _startTime = '9:00'
_minMintue = 30 _minMintue = 0
_maxMintue = 59 _maxMintue = 59
} else if (_timeRange === 2) { } else if (_timeRange === 2) {
// 下午从1200 - 1730 // 下午从1330 - 1730
_minTime = 12 _minTime = 13
_maxTime = 17 _maxTime = 17
_startTime = '12:00' _startTime = '13:30'
_minMintue = 0 _minMintue = 30
_maxMintue = 59 _maxMintue = 59
} else if (_timeRange === 3) { } else if (_timeRange === 3) {
// 晚上从1730 - 2400 // 晚上从1730 - 2400
_minTime = 17 _minTime = 17
_maxTime = 23 _maxTime = 23
_startTime = '17:30' _startTime = '17:31'
_minMintue = 30 _minMintue = 31
_maxMintue = 59 _maxMintue = 59
} }
if (this.data.userDetail.roomRole == 5) { if (this.data.userDetail.roomRole == 5) {
// 管理员全天可选 // 管理员全天可选
_minTime = 8 _minTime = 9
_maxTime = 23 _maxTime = 23
_startTime = '8:30' _startTime = '9:00'
_minMintue = 30 _minMintue = 0
_maxMintue = 59 _maxMintue = 59
} }
// let maxTime = new Date(_date) // let maxTime = new Date(_date)
@ -293,14 +304,14 @@ Page({
let _timeRange = this.data.timeRange let _timeRange = this.data.timeRange
_timeRange = parseInt(_timeRange) _timeRange = parseInt(_timeRange)
if (_timeRange === 1) { if (_timeRange === 1) {
// 上午,从830 - 1200 // 上午,从900 - 1200
_endMaxTime = 12 _endMaxTime = 12
} else if (_timeRange === 2) { } else if (_timeRange === 2) {
// 下午从1200 - 1730 // 下午从1330 - 1730
_endMaxTime = 17 _endMaxTime = 17
// 分钟0-30 // 分钟0-30
if (sTimeHour == '17') { if (sTimeHour == '17') {
// 17点结束分钟从0-29 // 17点结束分钟从0-30
_endMaxMinute = 30 _endMaxMinute = 30
} }
} else if (_timeRange === 3) { } else if (_timeRange === 3) {

View File

@ -42,6 +42,7 @@ Page({
room: {}, room: {},
userData: {}, userData: {},
serviceList: [], serviceList: [],
typeOp: ['本地会议', '视频会议']
}, },
/** /**
@ -138,6 +139,7 @@ Page({
depId: recordDetail.userOrgId, depId: recordDetail.userOrgId,
depName: recordDetail.userOrg, depName: recordDetail.userOrg,
remark: recordDetail.remark, remark: recordDetail.remark,
type:recordDetail.ext2
} }
}) })
}) })
@ -323,6 +325,7 @@ Page({
"bookingUserName": _this.data.detail.orderUser, "bookingUserName": _this.data.detail.orderUser,
"bookingUserPhone": _this.data.detail.orderTel, "bookingUserPhone": _this.data.detail.orderTel,
"remark": _this.data.detail.remark, "remark": _this.data.detail.remark,
"ext2": _this.data.detail.type,
}, },
"serve": service "serve": service
} }
@ -342,6 +345,22 @@ Page({
} }
}) })
}, },
showTypePicker() {
this.setData({
showType: true
})
},
hideTypePicker(){
this.setData({
showType: false
})
},
chooseType(e){
this.setData({
['detail.type']: e.detail.value
})
this.hideTypePicker()
},
chooseDep() { chooseDep() {
// 非管理员无法选择 // 非管理员无法选择
if (this.data.userData.roomRole != 5) { if (this.data.userData.roomRole != 5) {

View File

@ -4,7 +4,9 @@
"van-field": "@vant/weapp/field/index", "van-field": "@vant/weapp/field/index",
"van-dialog": "@vant/weapp/dialog/index", "van-dialog": "@vant/weapp/dialog/index",
"van-notify": "@vant/weapp/notify/index", "van-notify": "@vant/weapp/notify/index",
"van-checkbox": "@vant/weapp/checkbox/index" "van-checkbox": "@vant/weapp/checkbox/index",
"van-picker": "@vant/weapp/picker/index",
"van-popup": "@vant/weapp/popup/index"
}, },
"navigationBarTitleText": "预约信息" "navigationBarTitleText": "预约信息"
} }

View File

@ -47,6 +47,12 @@
<van-field value="{{ detail.title }}" placeholder="请输入会议名称" clearable input-align="right" data-name="title" bind:change="inputChange" border="{{ false }}" /> <van-field value="{{ detail.title }}" placeholder="请输入会议名称" clearable input-align="right" data-name="title" bind:change="inputChange" border="{{ false }}" />
</view> </view>
</view> </view>
<view class="itemView">
<view class="label">会议形式</view>
<view class="content">
<van-field value="{{ detail.type }}" placeholder="请选择会议形式" readonly clearable bind:click-input="showTypePicker" input-align="right" data-name="type" border="{{ false }}" />
</view>
</view>
<view class="itemView"> <view class="itemView">
<view class="label">参会人数</view> <view class="label">参会人数</view>
<view class="content"> <view class="content">
@ -117,3 +123,12 @@
<van-dialog id="van-dialog" /> <van-dialog id="van-dialog" />
<!-- 提示 --> <!-- 提示 -->
<van-notify id="van-notify" /> <van-notify id="van-notify" />
<van-popup show="{{ showType }}" bind:close="hideTypePicker" position="bottom" round="true">
<van-picker
show-toolbar
title="会议形式"
columns="{{ typeOp }}"
bind:cancel="hideTypePicker"
bind:confirm="chooseType"
/>
</van-popup>

View File

@ -2,7 +2,8 @@
"usingComponents": { "usingComponents": {
"van-icon": "@vant/weapp/icon/index", "van-icon": "@vant/weapp/icon/index",
"van-cell": "@vant/weapp/cell/index", "van-cell": "@vant/weapp/cell/index",
"van-cell-group": "@vant/weapp/cell-group/index" "van-cell-group": "@vant/weapp/cell-group/index",
"van-button": "@vant/weapp/button/index"
}, },
"navigationBarTitleText": "会议室" "navigationBarTitleText": "会议室"
} }

View File

@ -60,5 +60,8 @@
</view> --> </view> -->
<!-- 预约 --> <!-- 预约 -->
<view wx:if="{{canRes}}" class="submitBtn" bind:tap="jumpMeetingBooked">会议预约</view> <view style="width: 90%;margin: 0px auto;">
<van-button wx:if="{{canRes}}" type="info" bind:tap="jumpMeetingBooked" block>会议预约</van-button>
<van-button wx:if="{{!canRes}}" disabled type="info" block>当前时段不可预约</van-button>
</view>
</view> </view>

View File

@ -29,7 +29,9 @@ Page({
// name: '赵六', // name: '赵六',
// isSelect: false // isSelect: false
// }], // }],
staffServeList: [] staffServeList: [],
serviceCheckAll: false,
musicCheckAll: false
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
@ -175,7 +177,32 @@ Page({
// console.log(_this.data.serviceList) // console.log(_this.data.serviceList)
// wx.navigateBack() // wx.navigateBack()
}, },
checkMusicAll() {
let _this = this
let checkStatus = _this.data.musicCheckAll
checkStatus = checkStatus ? false : true
let staffMusicList = _this.data.staffMusicList.map(item => {
item.isSelect = checkStatus
return item
})
_this.setData({
staffMusicList,
musicCheckAll: checkStatus
})
},
checkServiceAll() {
let _this = this
let checkStatus = _this.data.serviceCheckAll
checkStatus = checkStatus ? false : true
let staffServeList = _this.data.staffServeList.map(item => {
item.isSelect = checkStatus
return item
})
_this.setData({
staffServeList,
serviceCheckAll: checkStatus
})
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
*/ */

View File

@ -2,7 +2,9 @@
<!-- 音控组 --> <!-- 音控组 -->
<view class="serviceView"> <view class="serviceView">
<view class="leftLineTitle">音控组</view> <view class="leftLineTitle">
<van-checkbox value="{{musicCheckAll}}" data-type="music" shape="square" bind:tap="checkMusicAll">音控组</van-checkbox>
</view>
<view class="serviceItemView"> <view class="serviceItemView">
<view class="serviceItem" wx:for="{{staffMusicList}}" wx:key="*this"> <view class="serviceItem" wx:for="{{staffMusicList}}" wx:key="*this">
<van-checkbox value="{{ item.isSelect }}" data-id="{{item.id}}" data-type="music" shape="square" bind:tap="checkBoxClick"></van-checkbox> <van-checkbox value="{{ item.isSelect }}" data-id="{{item.id}}" data-type="music" shape="square" bind:tap="checkBoxClick"></van-checkbox>
@ -12,7 +14,9 @@
</view> </view>
<!-- 会务服务组 --> <!-- 会务服务组 -->
<view class="serviceView"> <view class="serviceView">
<view class="leftLineTitle">会务服务组</view> <view class="leftLineTitle">
<van-checkbox value="{{serviceCheckAll}}" data-type="music" shape="square" bind:tap="checkServiceAll">会务服务组</van-checkbox>
</view>
<view class="serviceItemView"> <view class="serviceItemView">
<view class="serviceItem" wx:for="{{staffServeList}}" wx:key="*this"> <view class="serviceItem" wx:for="{{staffServeList}}" wx:key="*this">
<van-checkbox value="{{ item.isSelect }}" data-id="{{item.id}}" data-type="serve" shape="square" bind:tap="checkBoxClick"></van-checkbox> <van-checkbox value="{{ item.isSelect }}" data-id="{{item.id}}" data-type="serve" shape="square" bind:tap="checkBoxClick"></van-checkbox>

View File

@ -5,6 +5,8 @@
.serviceView .leftLineTitle { .serviceView .leftLineTitle {
margin-left: 20rpx; margin-left: 20rpx;
padding-left: 30rpx;
font-weight: 700;
} }
.serviceView .serviceItemView { .serviceView .serviceItemView {

View File

@ -42,6 +42,10 @@
<view class="label">会议名称</view> <view class="label">会议名称</view>
<view class="content">{{detail.title}}</view> <view class="content">{{detail.title}}</view>
</view> </view>
<view class="cellView">
<view class="label">会议形式</view>
<view class="content">{{detail.ext2}}</view>
</view>
<view class="cellView"> <view class="cellView">
<view class="label">参会人数</view> <view class="label">参会人数</view>
<view class="content">{{detail.personNum}}</view> <view class="content">{{detail.personNum}}</view>