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

基于vue3实现的课堂点名程序

设计思路

采用vue3实现的课堂点名程序,模拟课堂座位布局,点击开始点名按钮后,一朵鲜花在座位间传递,直到点击结束点名按钮,鲜花停留的座位被点名。

课堂点名

座位组件 seat.vue

<script setup>//组合式APIimport { ref,reactive,onMounted } from 'vue';const seatImage=ref('/src/assets/desk.jpg')const props=defineProps({ // 当前图片索引row:{type:Number,default:0},col:{type:Number,default:0},callRow:{type:Number,default:0},callCol:{type:Number,default:0},sName:{type:String,default:""}})
</script>
<template ><div style="height: 94px;"> <button  ><img :src="seatImage" alt="Button Image"></button><div style="width: 42px; text-align: center;">{{props.sName}}</div><div v-if="props.callRow===props.row && props.callCol===props.col">🌺 </div>
</div>
</template>
<style >
</style>

教室组件 classroom.vue

<template><div>  <el-button type="primary" @click="startCall">开始点名</el-button><el-button type="danger" @click="overCall">结束点名</el-button></div><br><el-table :data="tableData" style="width: 100%" table-layout="auto"><el-table-column  :label= item.col v-for="(item, index) in tableData[0]" :key="index"><template v-slot="scope"><seat :col=scope.row[index].col  :row=scope.row[index].row :callRow=callRow           :callCol=callCol:sName=scope.row[index].sName:key="componentKey"></seat></template></el-table-column></el-table></template><script  setup>import { ref,reactive,onMounted} from 'vue';import seat from './seat.vue';var timer=ref("")const callRow=ref(0)const callCol=ref(0)var componentKey=0const classroom=ref( {rows:3,cols:3,seatsMap:[{row: 0,col: 0,sName:"樊兰英"}, {row: 0,col: 1,sName:"张磊"},{row: 0,col: 2,sName:"朱旭"},{row: 1,col: 0,sName:"沈玉"},   {row: 1,col: 1,sName:"邓平"},{row: 1,col: 2,sName:"蒋兰英"},{row: 2,col: 0,sName:"程晨"},   {row: 2,col: 1,sName:"张承"},{row: 2,col: 2,sName:"陈楚华"}]})const tableData = ref([])makeTable();mergeData();function makeTable () {for (let i = 0; i < classroom.value.rows; i++) tableData.value.push({})for(let i = 0; i < classroom.value.cols; i++){tableData.value.forEach((tableRow,idxRow)=>{let fieldName='c'+i; tableRow[fieldName]={row:idxRow,col:i,sName:""};})}}function mergeData () {// 合并数据for (let i = 0; i < classroom.value.seatsMap.length; i++) {			  let fieldName='c'+classroom.value.seatsMap[i].col;tableData.value[classroom.value.seatsMap[i].row][fieldName] = classroom.value.seatsMap[i]}}function startCall(){  timer = setInterval(genRowCol, 200); }function genRowCol() { //随机产生座位号callRow.value= parseInt(Math.random()*classroom.value.rows) ;callCol.value= parseInt(Math.random()*classroom.value.cols) ;componentKey += 1;//组件key加1,强制子组件刷新}function overCall(){ clearInterval(timer);}</script>

调用

 <classroom ></classroom>

扩展

程序还可以作一下扩展:

1)按性别点名,比如这次抽取男生或女生;

2)按成绩排名点名,比如这次抽取成绩好的学生;

3)按课堂表现点名,比如抽取不爱发言的学生;

4)优先抽取没有点过名的学生

以上条件可以组合

相关文章:

基于vue3实现的课堂点名程序

设计思路 采用vue3实现的课堂点名程序&#xff0c;模拟课堂座位布局&#xff0c;点击开始点名按钮后&#xff0c;一朵鲜花在座位间传递&#xff0c;直到点击结束点名按钮&#xff0c;鲜花停留的座位被点名。 课堂点名 座位组件 seat.vue <script setup>//组合式APIimpo…...

kkFileView二开之pdf转图片接口

kkFileView二开之Pdf转图片接口 kkFileView二开系列文章&#xff1a;1 kkFileView源码下载及编译2 Pdf转图片接口2.1 背景2.2 分析2.2 接口开发2.2.1 编写Pdf转图片方法2.2.2 编写转换接口 2.3 接口测试2.3.1 Pdf文件准备2.3.2 pdf2Image 3 部署 kkFileView二开系列文章&#x…...

神经网络常见激活函数 9-CELU函数

文章目录 CELU函数导函数函数和导函数图像优缺点pytorch中的CELU函数tensorflow 中的CELU函数 CELU 连续可微指数线性单元&#xff1a;CELU&#xff08;Continuously Differentiable Exponential Linear Unit&#xff09;,是一种连续可导的激活函数&#xff0c;结合了 ELU 和 …...

什么是网关?网关有什么作用?API网关的主要功能,SpringCloud可以选择有哪些API网关?什么是限流算法?网关如何实现限流?一篇文章读懂网关的前世今生

1、什么是网关&#xff1f; API网关&#xff08;API Gateway&#xff09;是一种中间层服务器&#xff0c;用于集中管理&#xff0c;保护和路由对后端服务的访问。它充当了客户端与后端服务之间的入口点&#xff0c;提供了一组统一的接口管理和控制API的访问。 2、网关示意图 3…...

OpenCV机器学习(1)人工神经网络 - 多层感知器类cv::ml::ANN_MLP

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::ml::ANN_MLP 是 OpenCV 库中的一部分&#xff0c;用于实现人工神经网络 - 多层感知器&#xff08;Artificial Neural Network - Multi-Layer…...

DeepSeek告别服务器繁忙

原文地址&#xff1a;http://shen.iwiki.fun/2025/02/09/free-deepseek/ 博客地址&#xff1a;http://shen.iwiki.fun 一、申请API 1、硅基流动 免费额度&#xff1a;14元 注&#xff1a;平台 2000 万 Tokens 特指 Qwen2.5-14B-Instruct 模型单价下的数量&#xff0c;实际到账…...

线性代数中的正交和标准正交向量

在线性代数中&#xff0c;理解正交向量和正交向量至关重要&#xff0c;尤其是对于机器学习中的应用。这篇博文将简化这些概念&#xff0c;而不会太深入地深入研究复杂的数学。 正交向量 如果两个向量的点积等于零&#xff0c;则认为这两个向量是正交的。但点积到底是什么呢&am…...

从安装软件到flask框架搭建可视化大屏(一)——创建一个flask页面,零基础也可以学会

1.第一步&#xff1a;安装软件 Flask是一个轻量级Web应用框架&#xff0c;用python代码编写&#xff0c;简单方便应用。 如何安装pycharm_pycharm只能安装在c盘吗-CSDN博客 Pycharm分为专业版和社区版&#xff0c;是python的主流工具 如何安装Anaconda_如何安装anacoda csdn-…...

python opencv基础使用总结

1.安装opencv库&#xff1a;pip install opencv-python 2.基础使用范例 import cv2 #图片的基本操作#1.读取一张图片 参数 1&#xff1a;图片的文件名如果图片放在当前文件夹下&#xff0c;直接写文件名就行&#xff0c;如lena.jpg否则需要给出绝对路径&#xff0c;如D:\Ope…...

【已解决】TypeError: AsyncConnectionPool.__init__(), new install bug, httpx==0.24.1

1&#xff0c;参考社区链接&#xff0c;首先降低gradio版本&#xff0c;降低到4以下&#xff0c;但是也不能降太低&#xff0c;也不能太高&#xff0c;要适中&#xff0c;推荐版本3.39.0 pip install gradio3.39.0 2&#xff0c;下载正确的httpx版本 参考社区链接&#xff0…...

react中如何获取真实的dom

在 React 中&#xff0c;获取真实的 DOM 元素通常通过 ref 来实现。ref 是一个特殊的属性&#xff0c;用于引用组件或 DOM 元素的实例。你可以通过 ref 获取到组件的真实 DOM 元素或组件实例。 1. 函数组件中的 useRef 在函数组件中&#xff0c;获取 DOM 元素的引用需要使用 …...

HTTP协议 (爬虫)

本质上 协议就是两个计算机协商好相互沟通的方式 计算机传输的数据是0or1 需要协商好数据的规则。HTTP协议是传输网站相关的东西的。 HTTP把一条消息分成三个部分 请求&#xff1a; 请求行&#xff1a;请求方式&#xff08;get、post&#xff09; 请求URL 协议 请求头&a…...

Python elasticsearch客户端连接常见问题整理

python 访问 elasticsearch 在python语言中&#xff0c;我们一般使用 pip install elasticsearch 软件包&#xff0c;来访问es服务器。 正确用法 本地安装elasticsearch时&#xff0c;应指定与服务端相同的大版本号&#xff1a; pip install elasticsearch7.17.0然后就可以…...

清华大学KVCache.AI团队联合趋境科技联合的KTransformers开源项目为什么那么厉害

KTransformers是一个由清华大学KVAV.AI团队开发的开源项目&#xff0c;旨在优化大语言模型&#xff08;LLM&#xff09;的推理性能&#xff0c;特别是在有限显存资源下运行大型模型。以下是KTransformers的详细介绍&#xff1a; 1. 核心特点 高性能优化&#xff1a;KTransfor…...

matlab模拟风场的随机脉动风

1、内容简介 matlab137-模拟风场的随机脉动风 可以交流、咨询、答疑 2、内容说明 略 模拟风场的随机脉动风&#xff0c;并进行相关的统计分析和计算&#xff0c;包括风速谱、空间相关性、自谱、互谱、以及POD&#xff08;Proper Orthogonal Decomposition&#xff09;分解等…...

Code::Blocks 创建 C 项目 二

Code::Blocks 创建 C 项目 二 Code::Blocks 安装请看 Code::Blocks 安装 启动 Code Blocks 选择 Create a new project 弹出界面选择 Projects -> Console application -> Go 选择 C &#xff1a;表示创建的是 C 语言项目 点击 Next Project title&#xff1a;项目名 …...

Javascript网页设计案例:通过PDF.js实现一款PDF阅读器,包括预览、页面旋转、页面切换、放大缩小、黑夜模式等功能

前言 目前功能包括&#xff1a; 切换到首页。切换到尾页。上一页。下一页。添加标签。标签管理页面旋转页面随意拖动双击后还原位置 其实按照自己的预期来说&#xff0c;有很多功能还没有开发完&#xff0c;配色也没有全都搞完&#xff0c;先发出来吧&#xff0c;后期有需要…...

【IoTDB 线上小课 11】为什么 DeepSeek 要选择开源?

新年新气象&#xff0c;【IoTDB 视频小课】第十一期全新来临&#xff01; 关于 IoTDB&#xff0c;关于物联网&#xff0c;关于时序数据库&#xff0c;关于开源... 一个问题重点&#xff0c;3-5 分钟&#xff0c;我们讲给你听&#xff1a; 开源“加成”再次展现&#xff01; 现在…...

【ESP32】ESP-IDF开发 | WiFi开发 | HTTPS服务器 + 搭建例程

1. 简介 1.1 HTTPS HTTPS&#xff08;HyperText Transfer Protocol over Secure Socket Layer&#xff09;&#xff0c;全称安全套接字层超文本传输协议&#xff0c;一般理解为HTTPSSL/TLS&#xff0c;通过SSL证书来验证服务器的身份&#xff0c;并为浏览器和服务器之间的通信…...

ollama离线环境部署deepseek及对话网站开发

ollama离线环境部署deepseek及局域网对话网站开发 需要在离线环境下面部署deepseek大模型&#xff0c;而且局域网内用户能在浏览器直接对话&#xff0c;主机的操作系统是win10 经不断探索&#xff0c;找到一条能走通的路&#xff0c;大致流程和思路如下&#xff1a; 局域网服…...

【Unity】 HTFramework框架(六十)Assistant助手(在Unity中接入DeepSeek等AI语言大模型)

更新日期&#xff1a;2025年2月14日。 Github源码&#xff1a;[点我获取源码] Gitee源码&#xff1a;[点我获取源码] 索引 Assistant助手安装Ollama使用Assistant&#xff08;在编辑器中&#xff09;打开Assistant配置Assistant使用Assistant处理Assistant回复的内容使用推理大…...

Spring AI集成DeepSeek,实现流式输出

前面一篇文章我们实现了《Spring AI集成DeepSeek&#xff1a;三步搞定Java智能应用》&#xff0c;大模型的响应速度是很慢的&#xff0c;为了提升用户体验&#xff0c;我们通常会使用流式输出一点点将结果输出给用户。先看下效果&#xff1a; 在 SpringBoot 中实现流式输出可以…...

LeetCode 1299.将每个元素替换为右侧最大元素:倒序遍历,维护最大值,原地修改

【LetMeFly】1299.将每个元素替换为右侧最大元素&#xff1a;倒序遍历&#xff0c;维护最大值&#xff0c;原地修改 力扣题目链接&#xff1a;https://leetcode.cn/problems/replace-elements-with-greatest-element-on-right-side/ 给你一个数组 arr &#xff0c;请你将每个…...

搭建一个经典的LeNet5神经网络

第一章&#xff1a;计算机视觉中图像的基础认知 第二章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(一) 第三章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(二) 第四章&#xff1a;搭建一个经典的LeNet5神经网络 一、LeNet-5背景 LeNet-…...

我用Ai学Android Jetpack Compose之CircularProgressIndicator

答案来自 通义千问 Q: 我想学习CircularProgressIndicator&#xff0c;麻烦你介绍一下 当然可以&#xff01;CircularProgressIndicator 是 Jetpack Compose 中的一个组件&#xff0c;用于显示一个循环的圆形进度条。它非常适用于需要指示加载状态或进程完成度的场景。接下来…...

DeepSeek-R1:通过强化学习激励大型语言模型的推理能力

摘要 我们介绍了第一代推理模型DeepSeek-R1-Zero和DeepSeek-R1。DeepSeek-R1-Zero是一个通过大规模强化学习(RL)训练而成的模型,无需监督微调(SFT)作为初步步骤,展示了卓越的推理能力。通过RL,DeepSeek-R1-Zero自然涌现出许多强大而有趣的推理行为。然而,它也面临诸如…...

为什么要选择3D机器视觉检测

选择3D机器视觉检测的原因主要包括以下几点&#xff1a; 高精度测量 复杂几何形状&#xff1a;能够精确测量复杂的三维几何形状。 微小细节&#xff1a;可捕捉微小细节&#xff0c;适用于高精度要求的行业。全面数据获取 深度信息&#xff1a;提供深度信息&#xff0c;弥补2D视…...

Unity 编辑器热更C# FastScriptReload

工具源码&#xff1a;https://github.com/handzlikchris/FastScriptReload 介绍 用于运行时修改C#后能快速重新编译C#并生效&#xff0c;避免每次改C#&#xff0c;unity全部代码重新编译&#xff0c;耗时旧且需要重启游戏。 使用 需要手动调整AssetPipeline自动刷新模式&…...

DeepSeek在linux下的安装部署与应用测试

结合上一篇文章&#xff0c;本篇文章主要讲述在Redhat linux环境下如何部署和使用DeepSeek大模型&#xff0c;主要包括ollama的安装配置、大模型的加载和应用测试。关于Open WebUI在docker的安装部署&#xff0c;Open WebUI官网也提供了完整的docker部署说明&#xff0c;大家可…...

VNC远程控制Mac

前言 macOS系统自带有VNC远程桌面&#xff0c;我们可以在控制端上安装配置VNC客户端&#xff0c;以此来实现远程控制macOS。但通常需要在不同网络下进行远程控制&#xff0c;为此&#xff0c;我们可以在macOS被控端上使用cpolar做内网穿透&#xff0c;映射VNC默认端口5…...