当前位置: 首页 > article >正文

使用 element UI 实现自定义日历

效果如下:

HTML代码部分:

<el-calendar v-model="value">
            <!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
            <template slot="dateCell" slot-scope="{date, data}">
                <!-- 这里加了周六周天的判断(用于添加不同样式) -->
                <!-- <div :class="(date.getDay()==6 || date.getDay()==0)?'weeked' :'notweeked'">{{ data.day.split('-').slice(2).join('-') }}</div> -->
                <div>{{ data.day.split('-').slice(2).join('-') }}</div>
                <!-- 数组循环 -->
                <div class="cell" v-for="(item,index) in tableData" >
                    <!-- 加数据 -->
                    <div v-if="data.day == item.day">
                        <!-- 状态1 -->
                        <div style="margin: 5px 0;">
                            <el-tag v-if="item.isStatus1 === 0">待创建</el-tag>
                            <el-tag v-if="item.isStatus1 === 1">待提交</el-tag>
                            <el-tag v-if="item.isStatus1 === 2">待审核</el-tag>
                            <el-tag v-if="item.isStatus1 === 3">已审核</el-tag>
                            <el-tag v-if="item.isStatus1 === 4">退回</el-tag>
                            <el-tag v-if="item.isStatus1 === 5">重新审核</el-tag>
                            <el-tag v-if="item.isStatus1 === 6">月度审核</el-tag>
                        </div>
                        <!-- 状态2 -->
                        <div>
                            <el-tag v-if="item.isStatus2 === 0" type="success">正常</el-tag>
                            <el-tag v-if="item.isStatus2 === 1" type="danger">非正常</el-tag>
                            <el-tag v-if="item.isStatus2 === 2" type="warning">请假</el-tag>
                            <el-tag v-if="item.isStatus2 === 3" type="info">旷工</el-tag>
                        </div>
                    </div>
                </div>
            </template>
</el-calendar>

数据模拟部分:

<script>
export default {
    data() {
        return {
            value: new Date(),
            tableData: [
                { day:'2024-09-05', isStatus1: 0, isStatus2: 1},
                { day:'2024-09-10', isStatus1: 4, isStatus2: 3},
                { day:'2024-09-11', isStatus1: 2, isStatus2: 1},
                { day:'2024-09-12', isStatus1: 3, isStatus2: 2},
                { day:'2024-09-13', isStatus1: 1, isStatus2: 4},
                { day:'2024-09-14', isStatus1: 0, isStatus2: 0},
            ],
        }
    },
    created(){
        
    },
    methods: {
        
    }
}
</script>

至此完成!!!

测试有效!!!感谢支持!!!


http://www.kler.cn/a/306379.html

相关文章:

  • C# WPF FontDialog字体对话框,ColorDialog颜色对话框 引用
  • Python的Matplotlib
  • 苦等三年!金克斯大人回来了!
  • 【PHP】ThinkPHP基础
  • Rocky、Almalinux、CentOS、Ubuntu和Debian系统初始化脚本v9版
  • 论文翻译 | The Capacity for Moral Self-Correction in Large Language Models
  • 日元走强引领外汇市场新动向,全球经济指标波动加剧
  • Radware 报告 Web DDoS 攻击活动
  • 7.1溪降技术:徒步
  • LEAN 赋型唯一性(Unique Typing)之 在 n-provability 下 的 赋型唯一性
  • 什么是API网关(API Gateway)?
  • docker 数据管理
  • 运维面试题-2
  • 单组件的编写
  • Vue:使用v-model绑定的textarea在光标处插入指定文本
  • 爬虫代理API的全面解析:让数据抓取更高效
  • vue part 10
  • ctfshow-web入门-sql注入-web248-UDF 注入
  • Luban策划开源工具
  • 【Vue】- Vue应用
  • RZ7888电机驱动芯片
  • 【2023年】云计算金砖牛刀小试5
  • GitLab权限及设置
  • 【Git】Clone
  • 人工智能(AI)正在以前所未有的速度融入我们生活的方方面面
  • 基于AgentUniverse在金融场景中的多智能体应用探索