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

基于vue和elementui的简易课表

本文参考基于vue和elementui的课程表_vue实现类似课程表的周会议列表-CSDN博客,原程序在vue3.5.13版本下不能运行,修改两处:

1)slot-cope改为v-slot

2)return 'background-color:rgb(24 144 255 / 80%);color: #fff; border-radius:10px' 改为:

     return {'background-color':'rgb(24 144 255 / 80%)', 'color': '#fff', 'border-radius':'20px'}

改进几处:

1)简化表格生成算法makeTable;

2)改进数据填表算法mergeData;

3)改进单元格合并算法objectSpanMethod,由原来的100多行,简化为13行

4)增加中午两节课

源程序如下:

<template><div><div class="panel"><el-table :data="timetable" :span-method="objectSpanMethod" border=true:header-cell-style="{background:'#d9e5fd', color:'black'}":cell-style="tableCellStyle"><el-table-column prop="sjd" label="📅" width="60" align="center"><template v-slot="scope"><div v-html="scope.row.sjd.course"></div></template></el-table-column><el-table-column prop="jc" label="节次" width="60" align="center"></el-table-column><el-table-column prop="mon" label="星期一" width="95" align="center"><template v-slot="scope"><div v-html="scope.row.mon.course"></div></template></el-table-column><el-table-column prop="tue" label="星期二" width="95" align="center"><template v-slot="scope"><div v-html="scope.row.tue.course"></div></template></el-table-column><el-table-column prop="wed" label="星期三" width="95" align="center"><template v-slot="scope"><div v-html="scope.row.wed.course"></div></template></el-table-column><el-table-column prop="thu" label="星期四" width="95" align="center"><template v-slot="scope"><div v-html="scope.row.thu.course"></div></template></el-table-column><el-table-column prop="fri" label="星期五" width="95" align="center"><template v-slot="scope"><div v-html="scope.row.fri.course"></div></template></el-table-column><el-table-column prop="sat" label="星期六" width="70" align="center"><template v-slot="scope"><div v-html="scope.row.sat.course"></div></template></el-table-column><el-table-column prop="sun" label="星期日" width="70" align="center"><template v-slot="scope"><div v-html="scope.row.sun.course"></div></template></el-table-column></el-table></div></div>
</template>
<script>
import { colProps } from 'element-plus';
export default {props: {length: {type: [String, Number],default: 14}}, // 总节次data () {return {// 课程表数据timetable: [],events: [{xq: 0,course: '上午',start: 1,last:4},{xq: 0,course: '中午',start: 5,last:2},{xq: 0,course: '下午',start: 7,last:5},{xq: 0,course: '晚上',start: 12,last:3},{xq: 5,start: 1,last:2,course: '👨‍🏫<br>·软件工程<br>·3-4节<br>·计师23级<br>·8教406室<br>·1-16周'},{xq: 1, start: 7,last:2,course: '🔬<br>·软工实验<br>·11-12节<br>·计师23级<br>·25教704室<br>·3-14周'},{xq: 5,start: 7,last:3,course: '👨‍👩‍👦‍👦<br>·集中学习<br>·7-8节<br>·计师23级<br>·25教1-1室<br>·每月第1周'}],weeks: ['sjd','mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'],}},mounted () {this.mergeData()},created () {this.makeTimetable()},methods: {// 单元格添加背景色tableCellStyle (row) {if (row.row[row.column.property].course !== undefined) {return {'background-color':'rgb(24 144 255 / 80%)', 'color': '#fff', 'border-radius':'20px'}}},// 构造课程表完整数据makeTimetable () {this.timetable = []for (let i = 0; i < this.length; i++) {let oneRow = {sjd: {},jc: i + 1,mon: {},tue: {},wed: {},thu: {},fri: {},sat: {}, sun: {}}this.timetable.push(oneRow)}},mergeData () {// 合并数据for (let i = 0; i < this.events.length; i++) {// 获取星期几let week = this.weeks[this.events[i].xq ]console.log(this.events[i].last);for(var j=0;j< this.events[i].last ;j++)this.timetable[this.events[i].start - 1+j][week] = this.events[i]}console.log(this.timetable);},objectSpanMethod ({ row, column, rowIndex, columnIndex }) {var obj={rowspan: 1,colspan: 1};if( row[column.property].course!== undefined){if(rowIndex===row[column.property].start-1){obj = {rowspan: row[column.property].last,colspan: 1}}elseobj = {rowspan: 0,colspan: 0};}return obj;},  }
}
</script>

调用:

<timetable  :length="14" > </timetable>

相关文章:

基于vue和elementui的简易课表

本文参考基于vue和elementui的课程表_vue实现类似课程表的周会议列表-CSDN博客&#xff0c;原程序在vue3.5.13版本下不能运行&#xff0c;修改两处&#xff1a; 1&#xff09;slot-cope改为v-slot 2&#xff09;return background-color:rgb(24 144 255 / 80%);color: #fff; …...

可用的IPv6公共DNS(2025年1月更新)

境内IPv6 DNS&#xff1a; 1. 腾讯DNS&#xff1a;2402:4e00:: 2. 阿里DNS&#xff1a;2400:3200::1、2400:3200:baba::1 3. ISP&#xff08;电信服务运营商&#xff09;的IPv6 DNS&#xff0c;请以各ISP实际下发的为准&#xff0c;或拨打10000、10010、10086等号码询问人工…...

c高级复习

c高级复习...

电子信息工程专业主要研究哪一方面东西?

序言&#xff1a; 如今科技发展那叫一个迅猛&#xff0c;电子信息专业可是站在这股浪潮的 C 位&#xff0c;狠狠推动着社会向前跑。这专业就像一座神奇桥梁&#xff0c;把虚拟数字和现实生活紧紧相连&#xff0c;把那些信号变成咱们看到的画面、听到的声音。你看&#xff0c;从…...

RU 19.26安装(手工安装各个补丁)

使用手工方式打RU19.26 参考文档&#xff1a; Supplemental Readme - Grid Infrastructure Release Update 12.2.0.1.x / 18c /19c (Doc ID 2246888.1) 操作步骤&#xff1a; 1 Stop the CRS managed resources running from DB homes. 2 Run the pre root script. 3 Patch GI…...

深入理解Pytest中的Setup和Teardown

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 对于简单程序而言&#xff0c;使用 Pytest 运行测试直截了当。然而&#xff0c;当你…...

如何利用AI工具来进行数据分析

利用AI工具进行数据分析可以显著提高效率和准确性&#xff0c;以下是详细步骤和方法&#xff1a; 1. 明确分析目标 在开始数据分析之前&#xff0c;首先需要明确分析的目标和问题。这包括确定需要解决的问题、期望的见解或结果&#xff0c;以及选择合适的AI工具和方法。 2. …...

具身智能体俯视全局的导航策略!TopV-Nav: 解锁多模态语言模型在零样本目标导航中的顶视空间推理潜力

作者&#xff1a;Linqing Zhong, Chen Gao, Zihan Ding, Yue Liao, Si Liu 单位&#xff1a;北京航空航天大学&#xff0c;新加坡国立大学&#xff0c;香港中文大学多模态实验室 论文标题&#xff1a;TopV-Nav: Unlocking the Top-View Spatial Reasoning Potential of MLLM …...

npm:升级自身时报错:EBADENGINE

具体报错信息如下&#xff1a; 1.原因分析 npm和当前的node版本不兼容。 // 当前实际版本: Actual: {"npm":"10.2.4","node":"v20.11.0"}可以通过官网文档查看与自己 node 版本 兼容的是哪一版本的npm&#xff0c;相对应进行更新即可…...

微信小程序实现自定义日历功能

文章目录 1. 创建日历组件实现步骤&#xff1a;2. 代码实现过程3. 实现效果图4. 关于作者其它项目视频教程介绍 1. 创建日历组件实现步骤&#xff1a; 创建日历组件&#xff1a;首先&#xff0c;你需要创建一个日历组件&#xff0c;包含显示日期的逻辑。样式设计&#xff1a;为…...

Vue 3 中的 toRef 与 toRefs:使用与案例解析

在 Vue 3 的响应式系统中&#xff0c;toRef 和 toRefs 是两个非常实用的工具函数。它们主要用于将响应式对象的属性转换为单独的 ref&#xff0c;以便在模板或逻辑中更方便地使用。本文将详细介绍 toRef 和 toRefs 的用法&#xff0c;并通过一个老师信息的案例来演示它们的实际…...

问题修复记录:Linux docker 部署 dify,无法调用宿主机本地服务

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…...

代码随想录day20

235. 利用二叉搜索树的特性即可 /** lc appleetcode.cn id235 langcpp** [235] 二叉搜索树的最近公共祖先*/// lc codestart /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) :…...

【ProxyBroker】用Python打破网络限制的利器

ProxyBroker 1. 什么是ProxyBroker2. ProxyBroker的功能3. ProxyBroker的优势4. ProxyBroker的使用方法5. ProxyBroker的应用场景6.结语项目地址&#xff1a; 1. 什么是ProxyBroker ProxyBroker是一个开源工具&#xff0c;它可以异步地从多个来源找到公共代理&#xff0c;并同…...

分布式微服务系统架构第88集:kafka集群

使用集 群最大的好处是可以跨服务器进行负载均衡&#xff0c;再则就是可以使用复制功能来避免因单点故 障造成的数据丢失。在维护 Kafka 或底层系统时&#xff0c;使用集群可以确保为客户端提供高可用 性。 需要多少个broker 一个 Kafka 集群需要多少个 broker 取决于以下几个因…...

RocketMQ原理—5.高可用+高并发+高性能架构

大纲 1.RocketMQ的整体架构与运行流程 2.基于NameServer管理Broker集群的架构 3.Broker集群的主从复制架构 4.基于Topic和Queue实现的数据分片架构 5.Broker基于Pull模式的主从复制原理 6.Broker层面到底如何做到数据0丢失 7.数据0丢失与写入高并发的取舍 8.RocketMQ读…...

下载Visual Studio Community 2019

官方链接如下&#xff1a;Visual Studio Community 2019下载链接 https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/system-requirements#download 目前官方仅建议2022版&#xff0c;已经关闭vs2019等旧版本&#xff0c;哪天开放了&#xff0c;记得踢我一下。 …...

一文简单回顾Java中的String、StringBuilder、StringBuffer

简单说下String、StringBuilder、StringBuffer的区别 String、StringBuffer、StringBuilder在Java中都是用于处理字符串的&#xff0c;它们之间的区别是String是不可变的&#xff0c;平常开发用的最多&#xff0c;当遇到大量字符串连接的时候&#xff0c;就用StringBuilder&am…...

27. C语言 强制类型转换详解

本章目录: 前言强制类型转换&#xff08;Type Casting&#xff09;强制类型转换的语法示例1&#xff1a;将整数转换为浮点数输出结果&#xff1a; 代码解析&#xff1a; 整数提升&#xff08;Integer Promotion&#xff09;示例2&#xff1a;整数提升输出结果&#xff1a; 代码…...

git困扰的问题

.gitignore中添加的某个忽略文件并不生效 把某些目录或文件加入忽略规则&#xff0c;按照上述方法定义后发现并未生效&#xff0c; gitignore只能忽略那些原来没有被追踪的文件&#xff0c;如果某些文件已经被纳入了版本管理中&#xff0c;则修改.gitignore是无效的。 解决方…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...