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

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

已知条件:报关单主体信息(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. 爬虫学习--常用的正则表达式 Day3

    在做爬虫经常遇到需要用正则校验数据时候,往往是在网上去找很久,结果找来的还是不很符合要求.所以我最近把开发中常用的一些正则表达式整理了一下,给自己留个底,也给朋友们做个参考. 一.校验数字的表达式 1 ...

  2. [转载]2.7 UiPath Flowchart的介绍和使用

    一.Flowchart的介绍 用于更复杂的业务逻辑. 与序列不同的是, 流程图提供了多个分支逻辑运算符, 可以使用流程图创建复杂的业务流程并以多种方式连接每个活动. 二.在UiPath 使用Flowc ...

  3. Fiddler 原理及iPhone的配置

    原理: 首先Fiddler运行在自己的PC上,Fiddler运行的时候会在PC的8888端口开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理. 确保手机和PC在同一个局域网内,我们可以 ...

  4. Jmeter与压测相关概念

    相关概念 RT(response time) 什么是RT? RT就是指系统在接收到请求和做出相应这段时间跨度 但是值得一提的是RT的值越高,并不真的就能说明我们的系统的吞吐量就很高, 比如说,如果存在 ...

  5. 小白历险记:spingboot之helloworld

    还记得入职第一天的时候,先安装了相关的软件,配置了环境.boss叫我写的第一个程序:搭建一个springboot工程,输出helloworld. 哈哈话不多说,回忆一下. 1.打开IDEA,点击Cre ...

  6. WPF CefSharp 爬虫

    1.实际需求          EMS邮件的自动分拣,要分拣首先需要获取邮件的面单号和邮寄地址,现在我们的快递一般都有纸质面单的,如果是直接使用图像识别技术从纸质面单中获取信息,这个开发的成本和实时性 ...

  7. .net 上传文件:超过了最大请求长度

    修改 web.config: 该方法是.net框架限制 添加: <system.web> ... ... <httpRuntime   ... maxRequestLength=&q ...

  8. 力扣(LeetCode)旋转字符串 个人题解

    给定两个字符串, A 和 B. A 的旋转操作就是将 A 最左边的字符移动到最右边. 例如, 若 A = 'abcde',在移动一次之后结果就是'bcdea' .如果在若干次旋转操作之后,A 能变成B ...

  9. Python 之路 Day01 笔记-什么是变量,常量等

    变量 变量 是 为了存储 程序运算过程中的一些中间 结果,为了方便日后调用 变量的命名规则 1. 要具有描述性 2. 变量名只能'_','数字','字母'组成,不可以是空格或特殊字符(#?<., ...

  10. rhel-6.3-i386安装samba

    1.安装samba 1).安装软件 rpm –ivh /mnt/Packages/samba-3.5.10-125.el6.i686.rpm 2).创建用户 useradd myadmin 3).设置 ...