177-371-24501(同微信)

微信小程序日历插件-类似酒店预订方式有节日标识

2022-04-21 管理员

微信小程序的日历插件,主要针对酒店选择时间段的日历,带有公历的节日。

主要函数: 
通过选择入住与离店时间,记录对应的时间段,判断选择的开始时间和结束时间,通过改变背影颜色连成对应时间段。

  selectDataMarkLine: function () {
 let dateList = this.data.dateList;
 let { checkInDate, checkOutDate } = wx.getStorageSync("ROOM_SOURCE_DATE");
 let curreInid = checkInDate.substr(0, 4) + "-" + (checkInDate.substr(5, 2) < 10 ? checkInDate.substr(6, 1) : checkInDate.substr(5, 2));//选择入住的id
 let curreOutid = checkOutDate.substr(0, 4) + "-" + (checkOutDate.substr(5, 2) < 10 ? checkOutDate.substr(6, 1) : checkOutDate.substr(5, 2));//选择离店的id
 let dayIn = checkInDate.substr(8, 2) >= 10 ? checkInDate.substr(8, 2) : checkInDate.substr(9, 1);//选择入住的天id
 let dayOut = checkOutDate.substr(8, 2) >= 10 ? checkOutDate.substr(8, 2) : checkOutDate.substr(9, 1);//选择离店的天id
 let monthIn = checkInDate.substr(5, 2) >= 10 ? checkInDate.substr(5, 2) : checkInDate.substr(6, 1);//选择入店的月id
 let monthOut = checkOutDate.substr(5, 2) >= 10 ? checkOutDate.substr(5, 2) : checkOutDate.substr(6, 1);//选择离店的月id
 if (curreInid == curreOutid) {//入住与离店是当月的情况
 for (let i = 0; i < dateList.length; i++) {
 if (dateList[i].id == curreInid) {
 let days = dateList[i].days;
 for (let k = 0; k < days.length; k++) {
 if (days[k].day >= dayIn && days[k].day <= dayOut) {
              days[k].class = days[k].class + ' bgitem';
 }
 if (days[k].day == dayIn) {
              days[k].class = days[k].class + ' active';
              days[k].inday = true;
 }
 if (days[k].day == dayOut) {
              days[k].class = days[k].class + ' active';
              days[k].outday = true;
 }
 }
 }
 }
 } else {//跨月
 for (let j = 0; j < dateList.length; j++) {
 if (dateList[j].month == monthIn) {//入住的开始月份
 let days = dateList[j].days;
 for (let k = 0; k < days.length; k++) {
 if (days[k].day >= dayIn) {
              days[k].class = days[k].class + ' bgitem';
 }
 if (days[k].day == dayIn) {
              days[k].class = days[k].class + ' active';
              days[k].inday = true;
 }
 }
 } else {//入住跨月月份
 if (dateList[j].month < monthOut) {//离店中间的月份
 let days = dateList[j].days;
 for (let k = 0; k < days.length; k++) {
              days[k].class = days[k].class + ' bgitem';
 }
 } else if (dateList[j].month == monthOut) {//离店最后的月份
 let days = dateList[j].days;
 for (let k = 0; k < days.length; k++) {
 if (days[k].day <= dayOut) {
                days[k].class = days[k].class + ' bgitem';
 }
 if (days[k].day == dayOut) {
                days[k].class = days[k].class + ' active';
                days[k].outday = true;
 }
 }
 }
 }
 }
 }
 this.setData({
      dateList: dateList
 })
 },

 

上一篇:小程序的拖拽、缩放和旋转手势功能的开发
下一篇:类似拼多多小程序开发难吗
相关资讯 Releva ntnews
解决方案 Solutions
相关热点 Hot spot
快速提升网站排名的方法
  1. 我们的优势
  2. 我们的实力
  3. 选择我们的理由
咨询电话(微信同号)

177-371-24501(同微信)

豫ICP备17049932号

Copyright © 2017-2022 版权所有 追风建站 Rights Reserved 技术支持:酷微科技

电话咨询 在线咨询 服务项目 SEO优化