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;
}
.disabled {
background: grey;
color: #333;
}
.ellipsisFont {
text-overflow: ellipsis;
overflow: hidden;

View File

@ -72,8 +72,53 @@ Page({
},
showPicker: false,
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({
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({
date: time,
rId: options.rId,
dep: options.dep,
depId: options.depId,
dateStr: _year + '-' + _month + '-' + _day,
userDetail: userDetail
userDetail: userDetail,
maxDate: newDate.getTime()
})
if (options.rId == '' && (userDetail.roomRole != 5 && options.depId == '')) {
// 新增时,非管理员必须认证单位
@ -321,15 +377,15 @@ Page({
if (am == 0) {
cAction[0] = {
name: '上午',
subname: '8:00 - 12:00',
subname: '9:00 - 12:00',
range: 1,
status: 0,
id: id
}
} else {
cAction[0] = {
name: '上午',
subname: '8:00 - 12:00',
name: '上午(不可预约)',
subname: '9:00 - 12:00',
range: 1,
status: 1,
id: id
@ -338,7 +394,7 @@ Page({
if (pm == 0) {
cAction[1] = {
name: '下午',
subname: '12:00 - 17:30',
subname: '13:30 - 17:30',
range: 2,
status: 0,
id: id
@ -346,7 +402,7 @@ Page({
} else {
cAction[1] = {
name: '下午(不可预约)',
subname: '12:00 - 17:30',
subname: '13:30 - 17:30',
range: 2,
status: 1,
id: id
@ -402,6 +458,9 @@ Page({
let status = event.detail.status
this.jumpMeetingRoom(id, timeRange, status)
},
timeChange() {
console.log(111)
},
/**
* 生命周期函数--监听页面初次渲染完成
*/

View File

@ -7,6 +7,9 @@
"van-switch": "@vant/weapp/switch/index",
"van-button": "@vant/weapp/button/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">
<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" /> -->
<!-- 字典-会议室 -->
@ -61,12 +69,8 @@
</view>
<van-action-sheet
show="{{ showPicker }}"
actions="{{ actions }}"
bind:close="onClosePicker"
bind:cancel="onClosePicker"
bind:select="onSelectRange"
cancel-text="取消"
description="请选择预约时段"
/>
<van-action-sheet show="{{ showPicker }}" actions="{{ actions }}" bind:close="onClosePicker" bind:cancel="onClosePicker" bind:select="onSelectRange" cancel-text="取消" description="请选择预约时段" />
<van-popup show="{{ timeShow }}" bind:close="hideTimePicker" position="bottom" round="true">
<van-datetime-picker title="请选择会议日期" type="date" value="{{ currentDate }}" min-date="{{ minDate }}" max-date="{{ maxDate }}" formatter="{{ formatter }}" bind:confirm="changeTime" bind:cancel="hideTimePicker" />
</van-popup>

View File

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

View File

@ -42,6 +42,7 @@ Page({
room: {},
userData: {},
serviceList: [],
typeOp: ['本地会议', '视频会议']
},
/**
@ -138,6 +139,7 @@ Page({
depId: recordDetail.userOrgId,
depName: recordDetail.userOrg,
remark: recordDetail.remark,
type:recordDetail.ext2
}
})
})
@ -323,6 +325,7 @@ Page({
"bookingUserName": _this.data.detail.orderUser,
"bookingUserPhone": _this.data.detail.orderTel,
"remark": _this.data.detail.remark,
"ext2": _this.data.detail.type,
},
"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() {
// 非管理员无法选择
if (this.data.userData.roomRole != 5) {

View File

@ -4,7 +4,9 @@
"van-field": "@vant/weapp/field/index",
"van-dialog": "@vant/weapp/dialog/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": "预约信息"
}

View File

@ -47,6 +47,12 @@
<van-field value="{{ detail.title }}" placeholder="请输入会议名称" clearable input-align="right" data-name="title" bind:change="inputChange" border="{{ false }}" />
</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="label">参会人数</view>
<view class="content">
@ -117,3 +123,12 @@
<van-dialog id="van-dialog" />
<!-- 提示 -->
<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": {
"van-icon": "@vant/weapp/icon/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": "会议室"
}

View File

@ -60,5 +60,8 @@
</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 File

@ -29,7 +29,9 @@ Page({
// name: '赵六',
// isSelect: false
// }],
staffServeList: []
staffServeList: [],
serviceCheckAll: false,
musicCheckAll: false
},
/**
* 生命周期函数--监听页面加载
@ -175,7 +177,32 @@ Page({
// console.log(_this.data.serviceList)
// 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="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="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>
@ -12,7 +14,9 @@
</view>
<!-- 会务服务组 -->
<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="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>

View File

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

View File

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