家校通小程序实战教程03学生管理

目录

  • 1 创建数据源
  • 2 搭建后台功能
  • 3 设置主列字段
  • 4 批量导入数据
  • 5 设置查询条件
  • 6 实现查询和重置
  • 总结

我们现在已经搭建了班级管理,并且录入了班级口令。之后就是加入班级的功能了。这里分为老师加入班级和学生家长加入班级。

如果是学生家长的话,在加入之后需要选择对应的学生,这里就需要事先将学生的信息录入系统中。本篇我们介绍一下如何管理学生信息。

1 创建数据源

打开我们的管理后台应用,点击云数据库,点击+号创建数据模型
在这里插入图片描述
保持默认,点击下一步
在这里插入图片描述
录入数据源的名称,学生表
在这里插入图片描述
第一个字段我们要添加班级信息,数据类型选择关联关系
在这里插入图片描述
学生和班级是多对一的关系,因为一个班级有多个学生

第二个字段添加学生编号,类型选择数字
在这里插入图片描述
第三个字段添加学生姓名,类型选择文本
在这里插入图片描述
第四个字段添加学生性别,类型选择枚举
在这里插入图片描述
点击立即创建添加枚举项,分为男和女
在这里插入图片描述
字段我们先不添加太多,因为在后续业务的展开过程中会有各种各样的采集表,我们后续再添加其他信息

修改基础权限信息,改为所有人可读,创建者和管理员可写
在这里插入图片描述

2 搭建后台功能

数据源搭建好之后,我们就需要搭建管理功能,切换到可视化开发,点击页面创建的图标
在这里插入图片描述
选择表格与表单模板,右侧选择学生表,布局选择左侧导航布局
在这里插入图片描述
切换到布局模式,选择左侧导航布局,选中导航布局组件,点击添加平级菜单
在这里插入图片描述
选择学生列表
在这里插入图片描述
修改菜单的名称和图标
在这里插入图片描述
点击实时预览让配置生效
在这里插入图片描述

3 设置主列字段

一个个录入学生信息未免比较啰嗦,我们可以使用导入的功能,这里我们添加了关联关系,关联关系在导入的时候需要一个唯一的主列字段,需要我们设置一下班级表

点击云数据库,选中班级表,切换到配置模型,点击编辑字段
在这里插入图片描述
填写班级全称,是否唯一选择是,是否主列选择是
在这里插入图片描述
回到可视化开发,切换到班级列表,选中表格组件,将刚才添加的班级全称添加到列管理里
在这里插入图片描述
我们在录入的时候还没有这个字段,在全局按钮里添加一个按钮,更新一下班级全称字段
在这里插入图片描述
修改一下表格的默认显示数据,我们显示200条记录
在这里插入图片描述
在代码区点击点击新建按钮,创建一个自定义方法
在这里插入图片描述
在这里插入图片描述
输入如下代码

export default async function({event, data}) {const records = $w.table1.recordsfor(const record of records){const grade = app.utils.formatEnum(record.nj, 'nj', app)const classname = record.bjmcconst fullname = grade+classnameconsole.log(fullname)await $w.cloud.callDataSource({dataSourceName: "bjb",methodName: "wedaUpdateV2",params: {// 更新数据data: {bjqc: fullname,},// 筛选内容,筛选内容推荐使用编辑器数据筛选器生成filter: {where: {$and: [{_id: {$eq: record._id, // 更新单条时,推荐传入_id数据标识进行操作},},],},},},});}}

点击更新班级全称按钮,设置点击事件
在这里插入图片描述
选择javascript代码
在这里插入图片描述
选择我们刚刚创建的自定义方法
在这里插入图片描述
更新完毕后我们需要刷新一下表格,看一下更新的结果,在成功时添加一个刷新表格的事件
在这里插入图片描述
在这里插入图片描述
添加完毕后点击按钮,可以看到全称已经更新完毕了
在这里插入图片描述

4 批量导入数据

导入数据需要一个模板,我们可以先点击导出按钮,导出一份数据来
在这里插入图片描述
在这里插入图片描述
打开excel填充好数据
在这里插入图片描述
然后再导入数据
在这里插入图片描述
这样数据就准备好了

5 设置查询条件

如果只是基本字段,我们可以使用筛选器设置,但是有了关联关系就需要我们自己构造一下查询条件

在表格组件上边添加一个网格布局
在这里插入图片描述
第一列我们添加一个下拉单选组件
在这里插入图片描述
在代码区点击点击新建按钮
在这里插入图片描述
选择新建内置数据表查询
在这里插入图片描述
选择班级表,触发方式选择入参变化时自动执行,每页大小设置为200,页面设置为1
在这里插入图片描述
然后点击选项旁边的fx
在这里插入图片描述
选到records节点
在这里插入图片描述
选项名称选择bjqc,选项标识选择_id
在这里插入图片描述
第二列添加单行输入组件,将标题内容修改为学生姓名
在这里插入图片描述
第三列添加下拉单选,选项设置为男和女
在这里插入图片描述
在这里插入图片描述
设置好之后,我们选中列组件,设置PC端列宽为手动调节,设置为4
在这里插入图片描述
按照同样的方法将第二列、第三列也设置一下

设置好之后预览一下,现在字段有点叠加
在这里插入图片描述
我们可以设置字段的宽度,设置为100%
在这里插入图片描述
选中行组件,点击向下添加行
在这里插入图片描述
在新添加行的第三列添加两个按钮,修改按钮的内容分别为重置和查询
在这里插入图片描述
选中列,设置为右对齐
在这里插入图片描述
给重置按钮一点右外边距
在这里插入图片描述
创建三个变量,分别是className、studentName、sex
在这里插入图片描述
将变量绑定到表格组件的数据筛选
在这里插入图片描述

6 实现查询和重置

查询和重置我们分别创建两个自定义方法,查询的时候就把组件的值赋值给我们的自定义变量

export default function({event, data}) {$w.page.dataset.state.className = $w.select1.value$w.page.dataset.state.studentName =$w.input1.value$w.page.dataset.state.sex = $w.select2.value
}

在这里插入图片描述
重置呢,就需要把变量设置为undefined,而且要清除组件的值

export default function({event, data}) {$w.select1.clearValue()$w.select2.clearValue()$w.input1.clearValue()$w.page.dataset.state.className = undefined$w.page.dataset.state.sex = undefined$w.page.dataset.state.studentName = undefined
}

在这里插入图片描述
然后把自定义方法绑定到按钮上
在这里插入图片描述
默认的时候我们要查全部数据,可以再创建一个Load方法,将变量都赋值为undeinfed,绑定到页面的onShow事件即可

$w.page.dataset.state.className = undefined$w.page.dataset.state.sex = undefined$w.page.dataset.state.studentName = undefined

在这里插入图片描述
在这里插入图片描述

总结

我们本篇介绍了学生管理的功能开发,包括数据模型的创建,数据导入以及数据查询。看似一个简单的功能,其实也是需要写不少逻辑的,有时候只是看似简单,复杂度是隐藏在实际的开发中的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/62278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot336社区物资交易互助平台pf(论文+源码)_kaic

毕 业 设 计(论 文) 社区物资交易互助平台设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此&#xff…

python学习——元组

在 Python 中,元组(tuple)是一种内置的数据类型,用于存储不可变的有序元素集合。以下是关于 Python 元组的一些关键点: 文章目录 定义元组1. 使用圆括号 ()2. 使用 tuple() 函数3. 使用单个元素的元组4. 不使用圆括号…

【C++】7000字介绍map容器和set容器的功能和使用

目录 一、关联式容器和序列式容器 二、键值对,> 三、树形结构的关联式容器 四、set容器(key模型) 1、文档官网 2、功能介绍: 3、注意事项: 4、基本使用,更多接口可查看官网: (1&…

嵌入式C语言技巧15:深入浅出:多线程编程中锁的选择与优化策略

文章目录 导读一、锁机制概览二、实战演练:锁的选择与使用三、代码执行结果与分析四、总结与展望本文是经过严格查阅相关权威文献和资料,形成的专业的可靠的内容。全文数据都有据可依,可回溯。特别申明:数据和资料已获得授权。本文内容,不涉及任何偏颇观点,用中立态度客观…

【K8s】【部署】集群部署

1 主机/服务规划 主机IP主机名节点功能类型服务分布192.168.199.20k8s.master.vip vip虚拟IP192.168.199.21k8s01k8s-MasterKeepalived、HAProxy、Docker192.168.199.22k8s02k8s-MasterKeepalived、HAProxy、Docker192.168.199.23k8s03k8s-NodeDocker192.168.199.24k8s04k8s-N…

【Git】常用命令汇总

目录 一.安装及配置 1.在 Windows 上安装 2.用户信息 3.差异分析工具 二.基础 1.创建仓库 2.提交与修改 三.分支管理 1.创建分支 2.合并分支 四.远程操作 1.管理 Git 仓库中的远程仓库 2.数据的获取与推送 五.标签 1.创建轻量标签和附注标签 2.查看标签和标签信…

AWS海外注册域名是否需要实名认证?

在全球化的互联网环境中,注册域名已成为企业和个人建立在线存在的重要步骤。亚马逊网络服务(AWS)作为全球领先的云服务提供商,其域名注册服务也备受关注。然而,对于在AWS上注册海外域名是否需要实名认证,许…

【C++进阶篇】像传承家族宝藏一样理解C++继承

文章目录 须知 💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍 点赞、收藏与分享:觉得这篇文章对你有帮助吗&#xff1…

【大数据测试之:RabbitMQ消息列队测试-发送、接收、持久化、确认、重试、死信队列并处理消息的并发消费、负载均衡、监控等】详细教程---保姆级

RabbitMQ消息列队测试教程 一、环境准备1. 安装 RabbitMQ2. 安装 Python 依赖 二、基本消息队列中间件实现1. 消息发送模块2. 消息接收模块 三、扩展功能1. 消息持久化和队列持久化2. 消息优先级3. 死信队列(DLQ) 四、并发处理和负载均衡1. 使用 Python …

DAMODEL丹摩|部署FLUX.1+ComfyUI实战教程

本文仅做测评体验,非广告。 文章目录 1. FLUX.1简介2. 实战2. 1 创建资源2. 1 ComfyUI的部署操作2. 3 部署FLUX.1 3. 测试5. 释放资源4. 结语 1. FLUX.1简介 FLUX.1是由黑森林实验室(Black Forest Labs)开发的开源AI图像生成模型。它拥有12…

具体的技术和工具在县级融媒体建设3.0中有哪些应用?

以下是结合数据来看县级融媒体建设3.0的一些情况: 技术应用方面 大数据:人民网舆情数据中心执行主任董盟君提到,通过大数据分析可让融媒体单位快速关注聚焦点,实现智能策划、智能推送、智能传播,推动媒体传播影响力提…

中兴机顶盒B860AV1.1刷机固件升级和教程「适用4/8G版」

准备工作: TTL 线(CH340G 按系统版本找到要对应驱动)下载 putty 软件拆开电视盒接好 TTL 线(2、5、6 针脚对应GND、RX、TX)在资源管理器的端口选项下找到 CH340G,记住端口号(如 COM4&#xff0…

论 AI(人工智能)的现状

刚直播完,就写篇文章,说说我对AI的看法。 一直以来,想对AI 有一个总结,现在AI工具层出不穷,但是它的本质上发展还是缓慢,通过其他方式来扩展本身的能力。 我认为的人工智能 只有像钢铁侠与贾维斯以及终结…

volcano k8s 部署

下载volcano-development文件 官网 https://volcano.sh/zh/docs/installation/volcano-development.yaml wget https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yaml部署volcano 查下需要下载的镜像 grep vc- volcano-develo…

SeggisV1.0 遥感影像分割软件【源代码】讲解

在此基础上进行二次开发,开发自己的软件,例如:【1】无人机及个人私有影像识别【2】离线使用【3】变化监测模型集成【4】个人私有分割模型集成等等,不管是您用来个人学习 还是公司研发需求,都相当合适,包您满…

Dubbo 最基础的 RPC 应用(使用 ZooKeeper)

看国内的一些项目时 Dubbo 这个词经常闪现,一直也不以为然,未作搜索,当然也不知道它是做什么用的。直到最近阅读关于大型网站架构相关的书中反复提到 Dubbo 后,觉得不能再对它视而不见。Google 了一下,它是在阿里巴巴创…

QINQ技术

定义 QINQ即802.1q in 802.1q,因为IEEE802.1Q中定义的Vlan Tag域只有12个比特,仅能表示4096个Vlan,随网络发展被用尽,于是在原有带vlan的数据上再携带一层vlan标签用于扩展vlan数目。一般来说外层vlan是公网,内层是私…

用哪两种方式来实现集合的排序?

集合(Set)是一种常见的数据结构,用于存储不重复的元素。在某些情况下,我们需要对集合中的元素进行排序。虽然集合本身是无序的,但我们可以将集合转换为其他有序的数据结构(如列表)来实现排序。 …

数据库与大数据管理 头歌作业 期末复习

1、 下列说法错误的是?c A、UserCF算法推荐的是那些和目标用户有共同兴趣爱好的其他用户所喜欢的物品 B、ItemCF算法推荐的是那些和目标用户之前喜欢的物品类似的其他物品 C、UserCF算法的推荐更偏向个性化 D、UserCF随着用户数目的增大,用户相似度…

在 Linux 系统中根据pid查找软件位置

在 Linux 系统中,如果您知道一个进程的 PID(进程标识符),并且想要找到该进程对应的可执行文件的位置,可以使用以下几种方法: 方法一:使用 ps 命令 ps 命令可以显示进程的详细信息,包括可执行文件的路径。假设您的 PID 是 1234,可以使用以下命令: ps -p 1234 -o co…