element日历组件---值班计划(动态数据渲染及头部样式)

  • 根据element组件封装后的日历组件如下图所示,根据后台数据渲染值班计划和双击日期对该日期排班。
    在这里插入图片描述
  • 首先是改造头部,由于element日历组件并不满足所需功能,将element源码进行改造封装。代码如下
<!-- 这是改造后的代码 -->
<div class="el-calendar__header">
      <span class="last" @click="selectDate('prev-month')"
        ><i class="el-icon-arrow-left"></i
      ></span>
      <div class="el-calendar__title">
        {{ i18nDate }}
      </div>
      <span class="next" @click="selectDate('next-month')"
        ><i class="el-icon-arrow-right"></i
      ></span>
</div>
<!-- 源码-->
<div class="el-calendar__header">
      <div class="el-calendar__title">
        {{ i18nDate }}
      </div>
      <div
        class="el-calendar__button-group"
        v-if="validatedRange.length === 0">
        <el-button-group>
          <el-button
            type="plain"
            size="mini"
            @click="selectDate('prev-month')">
            {{ t('el.datepicker.prevMonth') }}
          </el-button>
          <el-button
            type="plain"
            size="mini"
            @click="selectDate('today')">
            {{ t('el.datepicker.today') }}
          </el-button>
          <el-button
            type="plain"
            size="mini"
            @click="selectDate('next-month')">
            {{ t('el.datepicker.nextMonth') }}
          </el-button>
        </el-button-group>
      </div>
  </div>
  • 添加双击事件,在element日历组件是将每个日期封装在了table表格中,单击表格可以自定事件,在这个需求中是要双击后对日期排班。
<date-table
      v-for="(range, index) in validatedRange"
      :key="index"
      :date="range[0]"
      :selected-day="realSelectedDay"
      :range="range"
      :hide-header="index !== 0"
      :first-day-of-week="realFirstDayOfWeek"
      @pick="pickDay"
      @dbClick="dbClick"/
    />
//自己用骚操作搞得双击
  dbClick(day) {
    this.$emit("dbClick", day);
  },//自己用骚操作搞得双击
  dbClick(day) {
    this.$emit("dbClick", day);
  },
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值