element-ui calendar 日历控件实现编辑假期功能以及样式修改

3 篇文章 0 订阅
订阅专栏

效果图:
在这里插入图片描述

1.日历控件html

<template>
  <div class="la-container">
    <la-pagetitle title="节假日管理" back="true">
      <template slot="title-btn" >
          <!-- <el-button size="mini" type="success" @click="addClick()" class="el-icon-plus">创建</el-button> -->
      </template>
    </la-pagetitle>
    <!-- 列表页面 -->
    <div class="la-container-info-item la-container-header">
      <div class="la-info-title-main">
        <el-form
          ref="form"
          :model="queryCriteria"
          label-width="80px"
          inline
          class="demo-table-expand demo-table-info"
          style="width: 100%;"
        >
          <el-form-item>
            <el-input
            placeholder="请输入保养等级"
            v-model="queryCriteria.years" size="mini" @keyup.enter.native="getList">
            </el-input>
        </el-form-item>
          <div class="la-el-btn-box">
            <el-button size="mini" type="primary" @click.native="getList">查询</el-button>
            <el-button size="mini" type="danger" @click="clearQuery">清空</el-button>
          </div>
        </el-form>
      </div>
    </div>
    <div class="la-info-main">
      <!-- 关于日历控件 -->
      <el-calendar class="lar-el-calendar" :first-day-of-week='7'>
        <template
        slot="dateCell"
        slot-scope="{date,data}"
      >
        <div :class="calendarData.indexOf(data.day) > -1 ? 'lar-is-selected' : 'lar-no-selected'" @click="holidayUpdate(data,date)">
          <span v-if="(calendarData.indexOf(data.day) > -1)&&(calendarNeirong[data.day].holidayType==3)" style="color:#67C23A"></span>
          <span  v-if="(calendarData.indexOf(data.day) > -1)&&(calendarNeirong[data.day].holidayType!=3)"></span>
          <div :style="(calendarData.indexOf(data.day) > -1)&&(calendarNeirong[data.day].holidayType==3) ? 'color:#67C23A;text-align:center':'text-align:center'">{{ data.day.split('-').slice(1).join('-') }}</div>
          <div :style="(calendarData.indexOf(data.day) > -1)&&(calendarNeirong[data.day].holidayType==3) ? 'color:#67C23A;text-align:center':'text-align:center'">
            {{ calendarData.indexOf(data.day) > -1 ? calendarNeirong[data.day].holidayName : ''}}
          </div>
        </div>
      </template>
      </el-calendar>
    </div>
    <ladrawer ref="drawer"></ladrawer>
  </div>
</template>
<script>
import index from "./index.js";
export default index;
</script>
<style scoped lang="scss">
@import "~@/styles/listcommon.scss";
@import "~@/styles/Leftrightstructure.scss";
  .lar-el-calendar .lar-is-selected {
      color: #F35E5D;
      // background: #fde2e2;
      height: 100%
  }
  .lar-el-calendar .lar-no-selected{
     height: 100%
  }

</style>
<style lang="scss">
@import "~@/styles/listcommon-el.scss";
.lar-el-calendar{
  .prev .lar-is-selected, .next .lar-is-selected{
      color: #C0C4CC !important;
      background: #fff !important;
  }
  .current.is-today{
    background: #F2F8FE;
  }
}

</style>

2.在data数据中定义两个参数:

	calendarData:[] //所有假期对应的日期。

在这里插入图片描述
calendarNeirong:{} //所有假期对应的数据。
在这里插入图片描述
后台接口返回数据:
在这里插入图片描述
请求后台接口 并将返回数据组装成上诉需要的两组数据:
在这里插入图片描述

2.设置样式

假期的数据color为红色
在这里插入图片描述
将属于上一月以及下一月的假期样式设置为灰色
在这里插入图片描述

`.lar-el-calendar{
  .prev .lar-is-selected, .next .lar-is-selected{
      color: #C0C4CC !important;
      background: #fff !important;
  }
  .current.is-today{
    background: #F2F8FE;
  }
}`

编辑节假日也组件页面:

<template>
    <el-dialog :visible.sync="drawer" width="600px"
        append-to-body
        :close-on-click-modal="false"
        :show-close="false"
    >
         <div slot="title">
                <la-modulehead :title="title" :liner="true">
                <!-- <template slot="title-text" v-if="TerminalForm.position!=undefined">
                    <el-button  size="mini" type="text" style="height:38px;    margin-left: 10px;" @click="signwebterminalslab('update')">修改</el-button>
                </template> -->
                <template slot="title-btn">
                    <el-button  size="mini" @click="preveClick" icon="el-icon-document-checked" type="primary">保存</el-button>
                    <el-popconfirm v-if="infoupdate=='update'&&infoscope.buildMethods!=1" title="是否删除?" @onConfirm="deleteClick(infoscope)">
                          <el-button slot="reference" type="danger" size="mini" class="el-icon-document-delete"   >删除</el-button>
                    </el-popconfirm>
                    <el-button  size="mini" icon="el-icon-close" type="danger" @click="drawer=false">关闭 </el-button>
                </template>
            </la-modulehead>
          </div>
      <el-form ref="rulesinfoscope" :model="infoscope" :rules="rulesinfoscope" label-width="80px">
        <el-form-item label="假期名称:" prop="holidayName">
          <el-input  size="small" v-model="infoscope.holidayName" placeholder="请输入假期名称" />
        </el-form-item>
        <el-form-item label="日期:" prop="holidayDate">
          <el-date-picker
          :readonly="true"
          clearable 
          size="small"
          v-model="infoscope.holidayDate" type="date" value-format="yyyy-MM-dd" placeholder="选择开始时间">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="类型:" prop="holidayType">
          <el-select  size="small" v-model="infoscope.holidayType" placeholder="请选择类型" clearable>
            <el-option label="周末" value="1"></el-option>
            <el-option label="法定节假日" value="2"></el-option>
            <el-option label="" value="3"></el-option>
          </el-select>
        </el-form-item>
      </el-form>
<!--       <div slot="footer" class="dialog-footer">
        <el-button type="primary">确 定</el-button>
        <el-button>取 消</el-button>
        <el-button v-if="title == '编辑节假日'" :style="{ background: 'red',color:'white'}">删除</el-button>
      </div> -->
    </el-dialog>
</template>

<script>
import index from "./index.js";
export default index;
</script>

在假期页面的index.js中注册编辑页面组件 并在html页面中调用组件:
在这里插入图片描述
在这里插入图片描述

调用节假日弹框编辑方法以及查看所有节假日列表数据:

 //节日内容编辑
    holidayUpdate(dataVal,dateVal){
      this.$refs.drawer.infoscope = {}
      if(this.calendarNeirong[dataVal.day]){
          this.$refs.drawer.infoscope = JSON.parse(JSON.stringify(this.calendarNeirong[dataVal.day]));
          this.$refs.drawer.infoscope.holidayType = this.$refs.drawer.infoscope.holidayType.toString() //节假日类型
          this.$refs.drawer.title = '编辑节假日';
          this.$refs.drawer.infoupdate = "update"
          console.log(this.$refs.drawer.infoscope)
      }else{
          this.$refs.drawer.infoscope = {
            buildMethods:2,//创建类型 1是自动生成得周末,2是手动添加得
            holidayDate:dataVal.day,// 日期
            years:dataVal.day.substring(0,dataVal.day.indexOf("-"))//获取年份//年份
          }
          console.log(this.$refs.drawer.infoscope)
          this.$refs.drawer.title = '新增节假日';
          this.$refs.drawer.infoupdate = "add"
          this.$refs.drawer.$global.resetForm(this.$refs.drawer,'rulesinfoscope')
      }
      this.$refs.drawer.drawer = true
    },
    
    // 查询节假日管理 - 法定节假日列表
    getList() {
      this.$api.apiholidayAndVacationsDataGrid(this.queryCriteria).then(res=>{
        let data=res.data.obj.rows;
        this.calendarData=[],
        this.calendarNeirong={}
        for(let i=0;i<data.length;i++){
          this.calendarData.push(data[i].holidayDate);
          this.calendarNeirong[data[i].holidayDate] = data[i]
        }
        console.log(this.calendarData,this.calendarNeirong,'请求接口数据')
      })
    }

到此编辑功能结束。
关于大幅度修改日历控件中的样式我使用的是通过原有控件类名重置样式修改。

ElementUI:定制日历Calendar,web项目开发流程
m0_61549353的博客
03-30 836
el-button @click=“skip(‘postMonth’)” type=“warning” round size=“mini”>月。年。日。官方文档给的插槽解释是两个,一个日期,一个对象。// 修改每一个日期td标签。
VUE.js+element-ui实现JSON编辑
07-24
使用vue.js和element-ui实现的网页版的JSON编辑器,使用之前需要安装NODE.js和npm
基于elementui的工作日,休息日的日历组件
xiao_yPan的博客
02-09 4363
要求做一个可以显示休息日和工作日的组件。我基于element-ui已有的组件进行修改
elementUI日历组件标注周六周日
qq_46344419的博客
12-26 1363
elementUI日历组件标注周六周日
elementUI日期组件
最新发布
weixin_46527020的博客
04-25 143
【代码】elementUI日期组件
自定义el-calendar头部
weixin_41240422的博客
11-03 4495
官方给出日历组件无法自定义头部; 结果图: 1.首先去掉官方头部 a> css去除:.el-calendar__header {display: none;}; b>js去除: this.$el.querySelector('div.el-calendar__header').remove(); 2.通过js Date对象实现日期加/减 年/月操作更改日历绑定值; 3.通过chageValue方法切换日历; 代码如下:包含了日历内部插槽实现部分功能,有需求自...
js实现日期农历与公历的互转
xi_nuo的博客
12-06 1785
使用年限:1900-2100 使用场景1:vue项目 js引入:import calendar from '../../utils/calendar.js' 方法调用: getNowDate(){ var nowDate = new Date() // 输入公历年月日,得出农历信息 var nongliStr = calendar.calendarFormatter.sol...
VUE Calendar 用VUE+ElementUI实现带农历 节气 节日 日期的日历
_2333
11-28 3232
VUE Calendar 用VUE+ElementUI实现带农历 节气 节日 日期的日历
vue3.2+element-plus+ts节假日管理界面
weixin_46951831的博客
03-15 1792
由于element-plus原生的el-calendar 样式不太好看 所以在实际项目重新写了下节假日管理的页面;用到的有vue3.2+element-plus+ts
CSS 修改el-calendar样式,自定义样式
qq_58340302的博客
09-14 1230
JS: css: 在这里小记一下,主要也是为了保留一下这次的修改成果,方便以后使用 有个没改好的地方就是,右上角的选择上下月的按钮不好修改为左右箭头,所以那块就没做优化,大家要是有好方法可以让我借鉴借鉴,ui如下:
element-ui tree结构实现增删改自定义功能代码
10-14
主要介绍了element-ui tree结构实现增删改自定义功能代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
vue-element-nocode-admin:element-ui 的代码可视化编辑
05-06
element-ui 的代码可视化编辑器,自动生成表单代码,列表代码。不是一个可视化解决方案,更像是生成模板的工具 :house: 网页版本,在preview分支 Install npm install -g ele-cli How to Use 服务端占用 3000 端口 ...
vue+element-ui实现表格编辑的三种实现方式
10-17
主要介绍了vue+element-ui实现表格编辑的三种实现方式,主要有表格内部显示和编辑切换,通过弹出另外一个表格编辑和直接通过样式控制三种方式,感兴趣的小伙伴们可以参考一下
vue实现日历表格(element-ui
01-18
本文实例为大家分享了vue实现日历表格的具体代码,供大家参考,具体内容如下 效果如图: html:后面的日期是循环出来的 <div class=calendar-title> <span class=calendar-left click=lastDateclick>< ...
element-ui.rar element-ui核心库压缩包
12-20
element-ui.rar element-ui核心库压缩包
element-ui树形控件后台返回的数据+生成组织树的工具类
01-19
开发项目的时候遇到需要在表单中选择参会人员,根据不同部门下选择不同的人,在element-ui中有树形控件能满足这种情况,后台封装数据记录一下。  封装格式:  返回数据格式:  接收数据的pojo类: 2018年4月12...
elementCalendar日历样式修改
xiaoming4965的博客
05-25 1195
elementCalendar日历样式修改
el-calendar修改默认样式,el-calendar修改筛选条件,el-calendar样式灰色部分不可点击
weixin_47756693的博客
12-13 995
el-calendar 1、修改默认样式 2、修改筛选条件 3、实现样式灰色部分不可点击
element-ui树形控件
08-10
element-ui树形控件是一个常用的组件,可以用于展示树状结构的数据。在使用element-ui树形控件时,可以通过绑定属性对象来设置控件的一些属性。例如,可以使用treeProps属性来设置树形控件的子节点属性和标签属性。通过设置children属性和label属性,可以指定数据中表示子节点和标签的字段。123 #### 引用[.reference_title] - *1* *2* *3* [element-ui树形控件(tree)](https://blog.csdn.net/m0_51933554/article/details/127669895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • react搭建环境时执行npm start 报错 start: 'react-scripts start'几种常见解决办法 21750
  • element-ui calendar 日历控件实现编辑假期功能以及样式修改 6165
  • typeof的局限性以及解决 5215
  • 使用es6模板字符串之后点击事件不生效 3095
  • vant 使用Lazyload组件报错 Vant [Vue warn]: Failed to resolve directive: lazy 2324

分类专栏

  • 工具方法 1篇
  • echarts
  • vue 3篇
  • es6 1篇
  • js 1篇
  • vant 1篇
  • css 1篇
  • webpack
  • react 1篇

最新评论

  • react搭建环境时执行npm start 报错 start: 'react-scripts start'几种常见解决办法

    weixin_46476203: 反正我怕了

  • typeof的局限性以及解决

    张小写: 我猜是undefind

  • react搭建环境时执行npm start 报错 start: 'react-scripts start'几种常见解决办法

    XixiWanWan: 你解决了吗?我在网上找了无数的办法都解决不了。

  • element-ui calendar 日历控件实现编辑假期功能以及样式修改

    Sylar.Liang: 这么复杂,我得好好学学。

  • typeof的局限性以及解决

    郭治涛-Theo: console.log(Object.prototype.toString.call(new String('aaa')) 你猜打印结果是啥

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 十进制转与26进制的相互转换
  • js给input默认当前时间不生效 以及window.onload作用
  • typeof的局限性以及解决
2023年1篇
2021年7篇
2019年2篇

目录

目录

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

两个鬼故事合众保险属鸡起名男孩俗人回档thereare女皇之刃第二季免费测起名周易好听吸引人的餐馆起名起名用8画的汉字一只酸奶牛开店用起什么名字好仙魔传后起篇张姓男孩猪宝宝起名反元给出生的男宝宝起名公司起名大全最新网游之至尊盗神给姓贾的女孩起人名店铺取名起名大全好听玩李白起个古风名字猪宝宝起名禁忌用的字袁隆平今年多少岁了2021年罗姓婴儿起名大全店铺起名网页国学起名字用字分析给音响起个名字导航软件温姓男宝宝起名大全eightbelow满意度测评方案超龙神少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化