家校通小程序实战教程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…

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

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

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

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

【Git】常用命令汇总

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

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

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

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

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

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…

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

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

QINQ技术

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

linux基础2

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…

鸿蒙千帆启新程,共绘数字生态蓝图

华为的鸿蒙千帆起计划:共筑数字未来,学习华为创新之路 在当今全球科技竞争日益激烈的背景下,华为作为中国科技企业的代表,正通过其自主创新的鸿蒙系统,引领一场移动应用生态的变革。鸿蒙千帆起计划,作为华…

Qt-系统相关(2)多线程网络

Qt多线程 在 Qt 中,多线程的处理⼀般是通过 QThread类 来实现。 QThread 代表⼀个在应⽤程序中可以独⽴控制的线程,也可以和进程中的其他线程共享数据。 QThread 对象管理程序中的⼀个控制线程。 QThread 常⽤ API: 使用线程 关于创建线程…

永久免费的PDF万能水印删除工具

永久免费的PDF万能水印删除工具 1.简介 PDF万能水印删除工具,可以去除99.9%的PDF水印。例如:XObject水印(含图片水印)、文本水印、绘图水印/曲线水印、注释水印、工件水印、剪切路径水印等等。本软件是永久免费,无有…

华三(HCL)和华为(eNSP)模拟器共存安装手册

接上章叙述,解决同一台PC上同时部署华三(HCL)和华为(eNSP)模拟器。原因就是华三HCL 的老版本如v2及以下使用VirtualBox v5版本,可以直接和eNSP兼容Oracle VirtualBox,而其他版本均使用Oracle VirtualBox v6以上的版本,…

深度理解进程的概念(Linux)

目录 一、冯诺依曼体系 二、操作系统(OS) 设计操作系统的目的 核心功能 系统调用 三、进程的概念与基本操作 简介 查看进程 通过系统调用获取进程标识符 通过系统调用创建进程——fork() 四、进程的状态 操作系统中的运行、阻塞和挂起 理解linux内核链表 Linux的进…

SQLite 管理工具 SQLiteStudio 3.4.5 发布

SQLiteStudio 3.4.5 版本现已发布,它带来了大量的 bug 修复,并增加了一些小功能。SQLiteStudio 是一个跨平台的 SQLite 数据库的管理工具。 具体更新内容包括: 现在可以使用 Collations Editor 窗口在数据库中注册 Extension-based collatio…

非常简单实用的前后端分离项目-仓库管理系统(Springboot+Vue)part 2

七、创建前端项目 你下载了nodejs吗?从cn官网下载:http://nodejs.cn/download/,或者从一个国外org网站下载,选择自己想要的版本https://nodejs.org/download/release/,双击下载好的安装文件,选择安装路径安…

继续完善wsl相关内容:基础指令

文章目录 前言一、我们需要安装wsl,这也是安装docker desktop的前提,因此我们在这篇文章里做了介绍:二、虽然我们在以安装docker desktop为目的时,不需要安装wsl的分发(distribution),但是装一个分发也是有诸多好处的:三、在使用wsl时,不建议把东西直接放到系统里,因…