根据时段启用禁用选项(以挂号选上下午为例)

 <!-- 选择就诊时段 -->
    <van-popup v-model="showPicker" round position="bottom">
      <van-picker
        title="请选择就诊时段"
        show-toolbar
        :columns="columns"
        @confirm="onConfirm"
        @cancel="onCancel"
        @change="onChange"
      />
    </van-popup>
数据:
 columns: [
        { text: '上午' , disabled: true},
        { text: '下午', disabled: true },
        { text: '晚上', disabled: true }
        ]

方法:

 //控制就诊时段控件
    TimeZu(){
     
      //this.doctorscheInfo.TimeQuantum存储的后端返回的时间代表数
      //4代表全天,1代表上午,2代表下午,3代表晚上
      let TimeQuantum = this.doctorscheInfo.TimeQuantum;
         //判断TimeQuantum 是 上午晚上/下午晚上 或 上午下午/下午上午(需要用户选择就诊时段)
      let Qutum = ((TimeQuantum.includes("上午") || TimeQuantum.includes("下午")) && TimeQuantum.includes("晚上")) || (TimeQuantum.includes("上午")&&TimeQuantum.includes("下午"));
      console.log("判断是否为多个时段:",Qutum)
      if(TimeQuantum === "全天" || Qutum) {//判断时段是否为全天

        var nowTime = new Date();
        //获取年月日
        var nowDate = new Date();
        var year = nowDate.getFullYear();
        var month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1)
          : nowDate.getMonth() + 1;
        var day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate
          .getDate();
        var dateStr = year + "-" + month + "-" + day; // 格式2020-06-01
        console.log("年月日",dateStr === this.time)
        //nowTime.getHours() +":" + nowTime.getMinutes() ——> 9:12  时间形式
        var m = nowTime.getHours();
        console.log("mm",m >= 12 && m < 13)
        console.log("xuanz", this.columns)
        if(dateStr != this.time) {//当前日期不等于当前挂号日期
          //不是当天挂号日期,根据排班显示可选时段
          if(TimeQuantum.includes("上午")){
            this.columns[0].disabled = false;
          }
          if(TimeQuantum.includes("下午")){
            this.columns[1].disabled = false;
          }
          if(TimeQuantum.includes("晚上")){
            this.columns[2].disabled = false;
          }
        }else{
          //当前日期等于当前挂号日期,根据当前时间以及排班信息进行显示可选时段
          if (m <= 12 && m >= 8  && TimeQuantum.includes("上午")) {//m小于等于12点并且大于等于8点 包含上午 时启用上午挂号
            console.log("shang")
            this.columns[0].disabled = false;//启用
          }
          if (m <= 18  && TimeQuantum.includes("下午")) {//m小于下午18点 包含下午 时启用下午挂号
            console.log("xia")
            this.columns[1].disabled = false;//启用
          }
          if (m >= 19 && m <= 7 && TimeQuantum.includes("晚上")) {//m大于等于19点 并且小于等于7点 包含晚上 时启用晚上挂号
            console.log("wan")
            this.columns[2].disabled = false;//启用
          }
        }

        if(this.columns[0].disabled && this.columns[1].disabled && this.columns[2].disabled){//三个选项时段都被禁用
          //表示当前时段不可挂至该医生
          this.$toast('当前时段已不可挂至该医生!')

        }else{
          this.showPicker = true;
        }
      }else{

        this.payment();//调起支付
      }
    },

展示图:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值