部门用户权限应用设计及创建&一些实用小细节

news2025/1/14 1:12:35

前言

之前边做应用程序边完善数据库表,应用程序做出来了,但是数据库表也面目全非了,很多数据库字段都要重新设计,踩了个坑但是也是一种学习:每次代码开发也好,应用程序搭建也好,先做好数据库表设计,有了数据库再来开发才能事半功倍,否则只能适得其反、事倍功半甚至无效返工。

数据库表设计

PDManer元数建模_王小小鸭的博客-CSDN博客https://blog.csdn.net/clover_oreo/article/details/132314390?spm=1001.2014.3001.5502


部门用户权限应用的设计和创建

部门用户权限应用的设计和创建(进行中)_王小小鸭的博客-CSDN博客https://blog.csdn.net/clover_oreo/article/details/132281875?spm=1001.2014.3001.5502

做好了前面的准备工作,现在可以着手返工啦~

细节

1.交互式网格和表单分开创建

之前创建交互式网格的时候连同表单一起创建结果踩坑,所以交互式网格和表单分开创建,选择同一个数据源

p2、p12都来自于USER_TEST_WXX2

 用户表单执行修改代码

declare
    v_row_count number(10) := 0;

begin
    update USER_TEST_WXX2 set 
    NAME = :P12_NAME,
    GENDER = :P12_GENDER,
    MOBILE = :P12_MOBILE,
    JOB_NUMBER = :P12_JOB_NUMBER,
    PASSWORD = :P12_PASSWORD,
    EMAIL = :P12_EMAIL,
    DEVELOPER_ID = :P12_DEVELOPER_ID,
    IS_LEAVE = :P12_IS_LEAVE,
    REMARK = :P12_REMARK,
    UPDATE_DATE = sysdate 
    where USER_ID = :P36_USER_ID;
    v_row_count := SQL%ROWCOUNT;
    apex_util.set_session_state('P12_ROW_COUNT',v_row_count);
end;

2.无论是新增修改还是删除,一定要仔细核对输入的项和返回的项

修改时要提交的项包含ID(从网格传值过来,知道修改哪条记录),不包含UPDATE_DATE(时间类的系统自动获取)

3.删除用户也要注意删除相关关联表

declare
    V_COUNT number(18) := 0;
 begin
     -- 删除关联的部门用户数据
    DELETE DEPT_USER_TEST_WXX WHERE USER_ID IN(SELECT * FROM TABLE(SPLITSTR(:P2_USER_ID,',')));
    -- 删除关联的用户角色数据
    DELETE ROLE_USER_TEST_WXX WHERE USER_ID IN(SELECT * FROM TABLE(SPLITSTR(:P2_USER_ID,',')));
    --删除部门数据
    DELETE USER_TEST_WXX2 WHERE USER_ID IN(SELECT * FROM TABLE(SPLITSTR(:P2_USER_ID,',')));
    V_COUNT:= SQL%ROWCOUNT;
    APEX_UTIL.SET_SESSION_STATE('P2_ROW_COUNT',V_COUNT);   
 end;

4.交互式网格转到表单要传值,比如删除、选中

新增用户测试出现问题

Ajax 调用为Execute Server-Side Code返回了服务器错误ORA-01400: 无法将 NULL 插入 ("YWJA"."USER_TEST_WXX2"."NAME")。ame

 原因:执行修改的表单pl/sql传入的USER_NAME有误,改成正确的即可

5.自定义值列表

像性别(男/女)、是否启用(是/否)、是否离职(是/否)、状态(未开始/进行中/已完成/已逾期)这类的固定内容的列可以将其概括到值列表,需要的时候直接到共享组件获取即可,大大便捷了开发。

共享组件→值列表→创建→创建值列表:从头开始→定义名称 →类型 Static→设置显示值和对应返回值

 

 是否启用IS_ENABLE

是否离职IS_LEAVE

将自定义值列表应用到程序中

在交互式网格中用户列表找到对应的列→标识 类型:选择列表→值列表 类型:共享组件 →值列表:选择对应的值列表→关闭“显示附加值”“显示空值”

以性别为例 

 效果展示

【我的疑惑】

 部门和权限之类的会有上级部门、上级权限,所以会记录对应上级部门、权限的ID,那么ID从哪里来?自然是查询得来的,查询语句写在哪里?

对级联的探索和思考

后来参考了其他应用程序的上级id,发现和主键ID一样设为隐藏(×)

值受保护开启

(后来被证实是错误的,像部门这样的含级联关系的字段或关系可以直接引用级联)

先以上级部门id“PARENT_ID”为例,复制一个用于示范

在项→源→列 选择数据来源

 

光标聚焦

每次新增如果有很多项,但是我想用户一进来就能看到重点需要填的内容,有的放矢

这就可以应用到光标聚焦focus

在页面动态操作定义一个初始化事件

$(function(){    
    $('#P12_NAME').focus();
});

 效果

 

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

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

相关文章

深入探究 Java 8 新特性:Optional 类允许为空的对象类

深入探究 Java 8 新特性:Optional 类 概念说明 ​ 在 Java 8 中,引入了许多令人兴奋的新特性,其中之一就是 Optional 类。这个类主要用于解决空指针异常(NullPointerException)的问题,提供了一种更安全和…

kali换源之后更新

kali换源之后更新 1.更新索引 apt-get update 2.更新软件 apt-get upgrade 3.删除缓存包 apt-get clean

【网络教程】如何创建/添加钉钉机器人以及如何获取机器人的Token/Secret

文章目录 创建钉钉机器人添加钉钉机器人获取机器人的Token/Secret相关网站创建钉钉机器人 这里以PC端的操作为例,按照如下操作进行 访问 钉钉开放平台选择机器人选项卡,点击右上角的创建应用,这里会有一个弹窗,我这里选择的是继续使用旧版,如图按照要求填写相关信息创建自…

【Influxdb数据迁移,从windos移到linux】

前提——保证两边的版本不要相差太多 1、windows的导出G:\influxdb\2为暂存的目录 D:\influxdb-1.8.3_windows_amd64\influxdb-1.8.3-1>influxd backup -portable -database mydb G:\influxdb\2导出之后会有一堆文件 全部上传到/var/lib/influxdb这个目录下。这个应该是默…

vue3中使用第三方插件mitt实现任意组件通讯

vue3中使用第三方插件mitt实现任意组件通讯 组件通讯是vue3组合式开发的核心之一,现在我在写代码时,一个组件的代码超过了200行,基本都会拆分组件。组件拆分后,组件之间的通讯就很重要,总结了一下,目前有这…

阿里云席明贤:明天的视频云2.0

编者按 本文是“解构多媒体新常态”系列文章的第二篇,LiveVideoStack对话了阿里云视频云负责人席明贤(花名右贤)。面对风云变幻的内外环境,阿里云在视频云赛道是坚定向前的,在与右贤的接触中,他给我留下非常…

回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测(多指标,多图)效果一览基本介绍程序…

基于医疗领域数据微调LLaMA——ChatDoctor模型

文章目录 ChatDoctor简介微调实战下载仓库并进入目录创建conda环境并配置环境(安装相关依赖)下载模型文件微调数据微调过程全量微调基于LoRA的微调基于微调后的模型推理 ChatDoctor简介 CHatDoctor论文: ChatDoctor: A Medical Chat Model F…

JavaScript:交集和差集的应用场景

在集合A和集合B中,属于集合A,同时也属于集合B的元素组成的集合,就是交集。 在A中所有不属于集合B元素,组合成集合,就是差集。 那么在平时的开发中,如何使用差集和交集来解决问题呢? 现在有这…

Fixed Price Incentive Fee (FPIF)

总价加激励费用 (FPIF)。这种总价合同为买方和卖方提供了一定的灵活性,允许一定的绩 效偏离,并对实现既定目标给予相关的财务奖励(通常取决于卖方的成本、进度或技术 绩效)。FPIF 合同中会设置价格上限,高于此价格上限…

剑指 Offer 61. 扑克牌中的顺子(C++实现)

剑指 Offer 61. 扑克牌中的顺子https://leetcode.cn/problems/bu-ke-pai-zhong-de-shun-zi-lcof/ 优雅写法 bool isStraight(vector<int>& nums) {int maxVal INT_MIN, minVal INT_MAX;unordered_set<int> s;for (const int num : nums){if (num 0) // 跳过…

基于STM32+FreeRTOS的四轴机械臂

目录 项目概述&#xff1a; 一 准备阶段&#xff08;都是些废话&#xff09; 二 裸机测试功能 1.摇杆控制 接线&#xff1a; CubeMX配置&#xff1a; 代码&#xff1a; 2.蓝牙控制 接线&#xff1a; CubeMX配置 代码&#xff1a; 3.示教器控制 4.记录动作信息 5.执…

Matlab 频谱图中如何设置频率刻度

Matlab 频谱图中如何设置频率刻度&#xff08;横坐标&#xff09; 1、概述 时域信号经FFT 变换后得到了频谱&#xff0c;在作图时还必须设置正确的频率刻度&#xff0c;这样才能从图中得到正确的结果。下面来介绍如何设置正确的频率刻度。 2、案例分析 有一个余弦信号&#…

浏览器渲染原理 - 输入url 回车后发生了什么

目录 渲染时间点渲染流水线1&#xff0c;解析&#xff08;parse&#xff09;HTML1.1&#xff0c;DOM树1.2&#xff0c;CSSOM树1.3&#xff0c;解析时遇到 css 是怎么做的1.4&#xff0c;解析时遇到 js 是怎么做的 2&#xff0c;样式计算 Recalculate style3&#xff0c;布局 la…

Android Studio实现解析HTML获取json,解析json图片URL,将URL存到list,进行瀑布流展示

目录 效果build.gradle&#xff08;app&#xff09;添加的依赖&#xff08;用不上的可以不加&#xff09;AndroidManifest.xml错误activity_main.xmlitem_image.xmlMainActivityImage适配器ImageModel 接收图片URL 效果 build.gradle&#xff08;app&#xff09;添加的依赖&…

STM32 printf函数

printf函数输出流程 用户调用printf()函数到C标准库调用printf函数相关部分&#xff0c;printf函数由编译器提供的stdio.h解析。包含在usart.h文件中。fputc()最终实现输出。用户需要根据最终输出的硬件重新定义该函数&#xff0c;此过程为&#xff1a;printf重定向。 printf的…

用它来画文档插图简直太方便了

支持常用的12864接口&#xff0c;图像可保存&#xff0c;鼠标左键可delete键删除选区&#xff0c;鼠标右键抓取坐标。 支持快捷撤销操作CtrlZ、回退操作CtrlY&#xff0c;可点击此处下载软件。

Educational Codeforces Round 153 (Rated for Div. 2)ABC

Educational Codeforces Round 153 (Rated for Div. 2) 目录 A. Not a Substring题目大意思路核心代码 B. Fancy Coins题目大意思想核心代码 C. Game on Permutation题目大意思想核心代码 A. Not a Substring 题目大意 给定一个只包含“&#xff08;”和“&#xff09;”这两…

EV PV AC SPI CPI TCPI

SPI EV / PV CPI EV / ACCPI 1.25 SPI 0.8 PV 10 000 BAC 100 000EV PV * SPI 10 000 * 0.8 8000 AC EV / CPI 8000 / 1.25 6400TCPI (BAC - EV) / (BAC -AC) (100 000 - 8 000) / (100 000 - 6 400) 92 000 / 93 600 0.98290598

Python土力学与基础工程计算.PDF-钻探泥浆制备

Python 求解代码如下&#xff1a; 1. rho1 2.5 # 黏土密度&#xff0c;单位&#xff1a;t/m 2. rho2 1.0 # 泥浆密度&#xff0c;单位&#xff1a;t/m 3. rho3 1.0 # 水的密度&#xff0c;单位&#xff1a;t/m 4. V 1.0 # 泥浆容积&#xff0c;单位&#xff1a;…