# 视图实现显示自己创建的数据
# 1.场景介绍
当员工查看“订单”列表时,限制订单视图中只显示员工自己创建的“订单“数据。
本文以上述场景,讲解如何控制视图只显示当前登录用户所创建的数据。
# 2.效果展示
数据库中订单表内全部数据:
当前登录用户在视图中显示的数据:
# 3.实现思路
在视图中,视图设置-快速筛选-自定义条件:字段-创建者 等于 默认值-员工ID,并隐藏快速筛选控件。
# 4.操作步骤
# 1.创建数据实体并创建表单
初始化数据库,以MySQL为例:
CREATE TABLE `order_info` (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单编号',
`date` date NULL DEFAULT NULL COMMENT '订单日期',
`material` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料',
`supplier` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '供应商',
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
`createTime` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改者',
`updateTime` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- 示例数据
INSERT INTO `order_info` VALUES ('3', '111', '2024-02-19', '火车', '火车制造商', '1', '2024-02-19 11:28:49', '1', '2024-02-19 13:29:18');
INSERT INTO `order_info` VALUES ('4', '222', '2024-02-19', '汽车', '汽车制造商', '21', '2024-02-19 11:50:45', '21', '2024-02-19 13:30:21');
INSERT INTO `order_info` VALUES ('5', '333', '2024-02-19', '飞机', '飞机制造商', '21', '2024-02-19 11:52:31', '21', '2024-02-19 13:30:26');
INSERT INTO `order_info` VALUES ('6', '444', '2024-02-18', '高铁', '高铁制造商', '1', '2024-02-19 13:29:46', NULL, NULL);
SET FOREIGN_KEY_CHECKS = 1;
数据表中creatUser字段存储的字段值,默认为操作数据用户的员工ID。
创建订单实体并生成订单表单。
# 2.在视图中设置快速筛选条件
点击视图并加载,在视图设置-快速筛选-自定义条件,字段选择”创建者“,控件类型随意。
默认值选择变量-用户-员工ID,显示选择为隐藏。