问题描述:进口部要完成一票进口报关单的增删改查,操作员张三登录只能增删改张三的报关单,操作员李四登录只能增删改李四的报关单,

     部门主管王五登录能查看张三和李四的报关单,但不能修改删除。操作员能提交报关单至领导审批,部门主管能审批报关单。

已知条件:报关单主体信息(dec_main):进口日期(ie_date),合同协议号(contr_no),报关单号(entry_id),申报单位(agent_name),业务编号(client_no),收货人(trade_name),

     收货人手机号(phone) ,邮箱(email);报关单表体商品信息(dec_list):商品编码(goods_code),商品中文名(goods_name),商品申报要素(goods_comment),数量(qty),

       外键(fid)。其中主体和表体是一对多关系。

附加要求:业务状态包含待提交,待审核,已审核,审核不通过,默认待提交;收货人手机号是手机校验必填,邮箱是邮箱校验不必填,商品的数量是数量校验不必填;

     部门主管无需看到收货人手机号与邮箱信息。

解决方案:1.启动项目并用admin登录。

     2.在系统管理---->数据字典里,添加新的数据字典业务状态decstate,在查看类型里分别添加4个子类型待提交(1),待审核(2),已审核(3),审核不通过(4)。

      3.在在线开发------>online表单里创建表单,表名为dec_main,表类型为主表,增加数据库字段(默认的10个字段不需要修改),同时流程状态默认值赋1 ,在页面属性里,进口日期

      的控件类型选择日期格式,在校验字典里,所属部门的字典Table填写t_s_depart,字典Code填写id,字典Text填写departname,流程状态的字典code输入decstate,同时手机

        号码的验证规则为手机号码校验必填选中,邮箱的验证规则为电子邮件。

      提交表单确定并同步数据库。

       4.在在线开发------>online表单里创建表单,表名为dec_list,表类型为附表,增加数据库字段,在外键里,增加外键字段的主表名(dec_main),主表字段(id)属性,提交表单确定并同步数据库。

       5.在在线开发里,选中表名为dec_main的记录,然后选则按钮代码生成生成代码拷贝到项目里。

       6.代码调整

        6.1 新增提交审核功能

          <t:dgToolBar title="提交审核"  icon="icon-redo" url="decMainController.do?submitcheck"   funname="submitcheck"></t:dgToolBar>

          其他title为名字,icon为图标样式,可查看链接地址https://www.cnblogs.com/xujiating/p/12023617.html,url为后台的路径,funname为前端js方法。

        6.2新增审核功能同上   

        6.3界面权限设置:

          在webpage--->com-jeecg-decmain的decMainList界面里,将收货人手机号和邮箱嵌在t:hasPermission标签下,代码如下:

            <t:hasPermission code="phone_email">
              <t:dgCol title="收货人手机号" field="phone" queryMode="single" width="120"></t:dgCol>
              <t:dgCol title="邮箱" field="email" queryMode="single" width="120"></t:dgCol>
            </t:hasPermission>

          同时将删除,录入,编辑,查看,提交审核,审核加个operationCode属性

          <t:dgToolBar title="录入" icon="icon-add" url="decMainController.do?goAdd"  operationCode="add" funname="add" width="100%" height="100%">

          </t:dgToolBar>

          在webpage--->com-jeecg-decmain的decMain-update界面里,将收货人手机号和邮箱嵌在t:hasPermission标签下,代码同上。

 

       6.在系统管理----菜单管理里新增菜单进口业务,在进口业务里新增子菜单业务查询,配置菜单地址decMainController.do?list,同时新增页面控件权限录入(add),编辑(update),删除(delete),

      查看(detail),提交审核(submitcheck),审核(check);在里面新增权限菜单,路径为decMainController.do?datagrid,同时新增数据权限只能看到自己的createBy等于#{sys_user_code},

      能看到本部门及以下的sysOrgCode模糊#{sys_org_code};新增业务查询查看权限菜单,路径为decMainController.do?goUpdate,同时新增页面控件名称看到手机号和邮箱(phone_email);

      详细对应规则https://www.cnblogs.com/xujiating/p/11981875.html

       7.在系统管理----->角色管理里新增两个角色,进口操作员和进口管理员,其中,进口操作员分配进口业务---业务查询的录入,编辑,删除,提交审核功能,进口业务----业务查询权限的只能

      看到自己的功能;进口管理员分配进口业务---业务查询的查看功能,进口业务----业务查询权限的登录人看到下级的功能。

       8.在系统管理---->组织机构管理里,新增进口部,同时在系统管理---->用户管理里,新增用户张三,李四,王五,张三,李四的角色是进口操作员,王五的角色是进口管理员,部门同属进口部。

博主微信xjt199561,欢迎技术交流!

      

jeecg培训第一课(代码生成与权限分配)的更多相关文章

  1. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  2. Magento学习第一课——目录结构介绍

    Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...

  3. NeHe OpenGL教程 第一课:OpenGL窗口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. umask默认权限分配

    umask默认权限分配的命令 当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情.umask设置了用户创建文件的默认 权限,它与chmod的效果刚好 ...

  5. python学习第一课要点记录

    写在要点之前的一段话,留给将来的自己:第一次参加编程的培训班,很兴奋很激动,之前都是自己在网上找免费的视频来看,然后跟着写一些课程中的代码,都是照着模子写,没有自己过多的思考.感觉这样学不好,除了多写 ...

  6. 【Linux探索之旅】开宗明义+第一部分第一课:什么是Linux?

    内容简介 1.课程大纲 2.第一部分第一课:什么是Linux? 3.第一部分第二课预告:下载Linux,免费的噢!   开宗明义 我们总听到别人说:Linux挺复杂的,是给那些追求逼格的程序员用的.咱 ...

  7. 【C语言探索之旅】 第二部分第一课:模块化编程

    内容简介 1.课程大纲 2.第二部分第一课: 模块化编程 3.第二部分第二课预告: 进击的指针,C语言王牌 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...

  8. 使用Mongodb+Shiro+SpringMVC实现动态权限分配

    此次的文档只对Mongodb整合Shiro并且实现动态权限分配做整理,其它的内容以后会补上. 第一步.创建在web.xml中配置 Spring .Shiro shiroFilter 过滤器是用来将请求 ...

  9. [Spark内核] 第31课:Spark资源调度分配内幕天机彻底解密:Driver在Cluster模式下的启动、两种不同的资源调度方式源码彻底解析、资源调度内幕总结

    本課主題 Master 资源调度的源码鉴赏 [引言部份:你希望读者看完这篇博客后有那些启发.学到什么样的知识点] 更新中...... 资源调度管理 任务调度与资源是通过 DAGScheduler.Ta ...

随机推荐

  1. 「CF630C」Lucky Numbers

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description The numbers of all offices in the new ...

  2. Python-webbrowser实现自动打开关、定时打开关闭网页/刷新网页

    webbrowser- 方便的Web浏览器控制器,是Python一个模块,可实现自动打开关.定时打开关闭网页/刷新网页,在Unix下,图形浏览器在X11下更受欢迎,但如果图形浏览器不可用或X11显示器 ...

  3. Docker 学习 | 基础命令

    基本概念定义 基本组成 客户端/守护进程 C/S架构 本地/服务器 镜像 容器基石 只读文件系统 联合加载(union mount) 容器 通过镜像启动 执行 写时复制 仓库 公有 docker hu ...

  4. 《计算机网络 自顶向下方法》 第8章 计算机网络中的安全 Part2

    SSL(使 TCP 连接安全) SSL(Secure Socket Layer),即安全套接字层,是对 TCP 的强化 HTTPS 使用 SSL,而 HTTP 不使用 SSL 通过采用机密性.数据完整 ...

  5. shell的运用 : jenkins 编译 打包前端发布 生产(tomcat)

    生产隔离做得非常.....文件上传只能通过固定ip机器的sftp账户上传,账户密码每个月要写申请才能获得. 登陆生产服务只能通过浏览器登陆!!! 发布一次生产,很痛苦. 做了简单的shell来减轻痛苦 ...

  6. [笔记] HOW2J.CN网站记录的java笔记_第四部分_HTML

    1.写一个显示Hello World的网页, <html> <body> <p>Hello World</p> </body> </h ...

  7. Python 常用模块系列(2)--time module and datatime module

    import time print (help(time)) #time帮助文档 1. time模块--三种时间表现形式: 1° 时间戳--如:time.time()  #从python创立以来,到当 ...

  8. 领扣(LeetCode)字符串相加 个人题解

    给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包 ...

  9. 在 Windows 上 安装 Oracle 11g Xe

    去oracle官网下载 https://www.oracle.com/database/technologies/xe-prior-releases.html 点击下载: Oracle Databas ...

  10. ubuntu安装应用日志

    1.安装搜狗输入法,去官网下 2.安装vim 3.安装vbox5.16,导入win7(还未成功,报错UUID不匹配),改5.14试试 4.安装微信:http://www.cnblogs.com/Blu ...