企业级UI自动化平台—部门管理实现

一小只快乐码农2024-04-07 20:47:09  92

功能逻辑介绍:

管理员通过数据库添加部门数据,前端通过触发部门管理icon,列出已经添加的部门数据。

1:首先创建数据表信息,

我们重点是学会整体思路,避免过多参数复杂了理解,简单点,就先创建两个字段,一个部门id,一个部门名称。

我们在其插入几条数据,数据库建表语句:

SET NAMES utf8;

SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS `department`;

CREATE TABLE `department` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

INSERT INTO `department` VALUES (1, '部门1');

INSERT INTO `department` VALUES (2, '部门2');

INSERT INTO `department` VALUES (3, '部门3');

INSERT INTO `department` VALUES (4, '部门4');

INSERT INTO `department` VALUES (5, '部门5');

INSERT INTO `department` VALUES (6, '部门6');

SET FOREIGN_KEY_CHECKS = 1;

前端在templates下创建homepage.html。用于加载首页。

首页布局暂定为左右结构,也就是模块按钮定义在侧边栏位置,右侧区域动态加载各个模块内容。

在homepage.html实现两个div:

首页 部门管理

欢迎来到自动化测试平台

点击部门管理后请求后端路由函数/departments.

后端在index.py函数内创建departments路由用于转发到部门管理页面。

@app.route('/departments')def departments: return render_template('departments.html')

然后在前端在templates下创建继续departments.html前端界面,此界面

通过ajax请求后台数据信息,加载到前端界面进行展示。

定义一个table,其中包含一个tbody和一个thead。

thead是表格头部信息,tbody对应头部信息的真实数据。

部门 ID 部门名称

ajax请求函数实现:

ajax请求的url为后端请求数据路由,因为是向服务端获取数据显示,请求type为get。

此时在后端casecommon.py实现/get-departments路由函数。

此函数需要连接数据库,执行sql查询,将所有数据转换为json格式,返回给前端用于展示。

为了后面查询数据,这里我将数据库查询封装在dbbase.py文件中。此文件类名为DBbase。

数据库连接操作为:

查询sql封装为:

/get-departments路由函数具体实现为:

将查询到的整个departments重新组装数据,每条部门数据装在列表中。

原始查询后departments数据形式{{},{},{}}。组装后的形式为

{ "departments":

[ {"id": 1, "name": "部门1"}, {"id": 2, "name": "部门2"}, {"id": 3, "name": "部门3"}, ... ]

}。

将此数据赋值给departments_list。在通过jsonify转换为json格式进行返回给前端。

那么这整个数据的key即为departments,value即为一个装载每条部门信息数据的列表。

前端接收到数据后,jquary会默认将其转换为前端可识别的数据形式。这时候在将数据进行拆分,定义一个res参数用来接收全部数据,在定义一个参数将value值全部获取赋给departments。此时departments数据结构为

[ {"id": 1, "name": "部门1"}, {"id": 2, "name": "部门2"}, {"id": 3, "name": "部门3"}, ...]

遍历departments,for-of循环遍历res.departments数组,每次循环中的变量department都是一个表示部门的对象,你可以直接访问department.id和department.name来获取部门的ID和名称。在找到界面所有的tbody将其append进去。

在函数的主运行入口定义以下内容:

from http import serverfrom urllib import requestfrom app import appif __name__ == '__main__': app.run(host="0.0.0.0", debug=True,port=9555) server.logger.info('info log') server.logger.info('【请求的方法】{}【请求路径】{}【请求地址】{}'.format(request.method, request.path, request.remote_addr))

运行后界面展示:

整体部门管理完整实现流程如上。

下一节:项目管理模块实现,敬请期待。

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/167130.html
0
随机主题
惹众怒! 南通支云转争议文章, 内涵泰山申花球迷, 遭球迷集体抵制上合外长会议召开,中方没与印外长对话,莫迪想在金砖“出风头”20万买沃尔沃值得买吗 一文告诉你传媒板块跌幅扩大, 新华都触及跌停多功能跨界自动挡弯梁ADV——力腾190, 正式命名为军刀并开始盲定一国有行官宣,聘任新行长了解交法我有责 安全交通为大家37岁生日拿下生涯1100胜, 德约科维奇剑指法网冠军奖杯股市专治不服,服了之后你才知道怎么去交易!父亲是非洲人, 他却入选了中国男篮, 和肤白貌美的女友是青梅竹马上访村民疑“被精神病”, 近八旬母亲深夜也被送精神病房在历史街区邂逅科技市集! 快来这里飞跃“数字鸿沟”拼多多一季报: 高质量发展驶入深水区 业绩数据给予正向肯定2024上半年值回票价的5部电影, 你要是一部都没看, 那就太遗憾了2024-2025年美国最佳居住城市排名发布崔康熙两大嫡系夏窗驰援鲁能时间敲定, 能力已获认可, 值得期待还记得“水哥”王昱珩吗? 曾协助警方成功破案, 如今怎样了?《庆余年2》开始发盒饭, 范无救和赖御史接连下线, 范闲落泪!梦幻西游: 雪山A哥买物暴伤害装备, 蝗虫家族向商人霸气喊话!沪深交易所出手打击“神预言”相关账户被限制交易15日DNF: 新深渊2.0“爆率实测”! 一管疲劳7件史诗+雾神传说融合石
最新回复(0)