原文地址:http://www.cnblogs.com/LRBPMS/p/3425997.html

一、前言

从进行到软件开发这个行业现在已经有几年了,在整理出这个套开发框架之前自己做了不少重复造轮子的事。每次有新的项目总是要耗费不少时间在UI、权限和系统通用模块上面,自己累得要死,老板还骂没效率。为了能提高开发效率,同时也多拿拿奖金、多存点私房钱,我就着手做了一套以权限管理为主的快速开发框架。不求功能在所有项目中都得到使用,至少要大大提高开发效率。

二、需求分析

    根据《那些年我们一起做过的项目》中各类客户对权限模块和通用模块以及UI的要求,我明确了这个系统中要实现的东西。

1、组织机构 多级树型显示,各级部门从属关系一目了然操作便捷

2、用户 所有的权限最终分配给用户,如果按用户去分配权限会把系统管理员给累死,系统中先建立角色,角色中再分配权限,在角色的成员中加入用户。当然会有一些用户的权限大同小异,如果不想在系统中创建太多角色可以给用户分配权限。用户最终的权限取角色权限和用户权限的集合。

3、角色 一组权限的集合。

4、模块 也可以称之为菜单,可以是系统中的页面,也可以是其它系统的页面地址统一纳入到同一套权限系统中维护。

5、按钮

6、权限 权限分配模式:1)角色权限分配,权限分配的便捷性。

2)用户权限分配,权限分配的灵活性。

权限控制类型:1)模块权限 采购员有采购模块权限和库存查看模块权限。

2)按钮权限 采购员能点击新增按钮新增采购单,采购经理能点击审核按钮审核采购单。

3)数据权限 每个业务员只能看到属于自己的客户资料。

4)字段权限 会计可以看到库存报表中的所有字段,仓库管理员不能看到报表中的金额字段。

5)文件权限  采购部的文件只有总经理和采购部成员有权限

7、日志 登陆日志、操作日志、系统异常日志

8、数据库管理 在前端页面查看数据库信息,数据库备份

9、访问控制

10、动态接口 这里说的接口是与其它系统或设备的通信接口,一般以Webservice、WCF、Webapi的形式提供。在系统中对外只暴露一个接口。增加接口、修改接口都不用修改程序。

11、UI 前端框架:采用Jquery UI,功能强大扩展灵活,不用担心版权问题。

多种风格界面:手风琴导航风格、desktop风格、触摸屏风格

12、系统参数

13、代码生成器 根据需要生成界面和后台代码

三、设计实现

2、程序设计

程序基本以Jquery+Ajax+工厂模式实现,接近10万行的代码量,后续分模块详细讲解

3、用户体验UI设计

UI对于一个软件来说就像女人那张脸,别人最先看到的就是你的脸。人再好,脸长得丑肯定还是要经常过光棍节。一套程序UI漂亮程序的档次自然也就上去了。无图无真相,下面给出一些主要界面,详细实现也会在后面的博客中给出。

  

1)系统风格

a)desktop风格

b)手风琴风格

c)触摸屏风格

2、员工管理

左边展开组织机构,右边员工管理

3、组织机构管理

树型组织机构,组织架构一目了然

4、组织架构图

根据组织机构自动生成的组织架构图

5、角色权限控制

角色成员:拥有该角色的用户。

模块权限:该角色能操作哪些模块。

按钮权限:角色能操作指这模块中哪些按钮。

数据权限:角色对哪些数据有操作权限。

文件权限:角色对哪些文件有操作权限。

6、模块按钮管理

拖动按钮位置能改变按钮在模块中的显示位置。

勾选状态的按钮会在模块中显示。

当然图片就先晒到这边啦!如果你觉得可以把这些图片的设计思路理解,并且觉得以后会用的话,请收藏一下,推荐一下啦!

对于一些界面看完让我内心想对他说三个字"毁三观"的界面,我只能说你的审美水平一定要提高的,IT这是一个潮流的行业,如果你不潮,那就无法与众不同,机遇往往会给你留个位置的!大家说呢?

大家一起测试下

http://223.86.105.239:801  触摸屏版风格

http://223.86.105.239:802  手风琴版风格

http://223.86.105.239:803  桌面版风格

http://223.86.105.239:805  代码生成器

(转)打造一套UI与后台并重.net通用权限管理系统的更多相关文章

  1. 打造一套UI与后台并重.net通用权限管理系统

    一.前言 从进行到软件开发这个行业现在已经有几年了,在整理出这个套开发框架之前自己做了不少重复造轮子的事.每次有新的项目总是要耗费不少时间在UI.权限和系统通用模块上面,自己累得要死,老板还骂没效率. ...

  2. 基于Extjs 4.2的通用权限管理系统,通用后台模板,EF+MVC+Extjs 4.2

    基于Extjs 4.2的通用权限管理系统,通用后台. 我们的宗旨:珍爱生命,拒绝重复!Don't Repeat Yourself!!! 本案例采用EntityFramework+MVC4.0+Extj ...

  3. 手把手教你Pytest+Allure2.X定制报告详细教程,给自己的项目量身打造一套测试报告-02(非常详细,非常实用)

    简介 前边一篇文章是分享如何搭建pytest+Allure的环境,从而生成一份精美的.让人耳目一新的测试报告,但是有的小伙伴或者童鞋们可能会问,我能不能按照自己的想法为我的项目测试结果量身打造一份属于 ...

  4. 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面

    经一周的研究学习,看了国内的H+.HUI等,国外的PaperDashboardPro.Make.Metronic BootStrap等,最终选定用一个轻量的,适合中国人的,来自DTcms的后台管理UI ...

  5. 网购的一套UI代码的始末

    引言: 一个商业项目的需要,又因为时间紧迫的关系,准备购买一套简洁,易用,可定制化强的UI,经过对国内外多家UI产品进行了对比, 包括:FineUI, EasyUI, EXT.NET, EXTJS, ...

  6. 一套ui满足ios与android界面

    1.android 画布宽高720*1280的标准来切图生成xhdpi标准图,后自动生成mdpi.hdpi.xhdpi.xxhdpi四套图. 2.ios画布宽高640 x 1136的标准来切图生成xh ...

  7. WPF 精修篇 非UI进程后台更新UI进程

    原文:WPF 精修篇 非UI进程后台更新UI进程 <Grid> <Grid.RowDefinitions> <RowDefinition Height="11* ...

  8. winform项目中开发的一套UI控件库

    https://github.com/houyhea/winform-control-lib winform-control-lib 曾经在一个winform项目中开发的一套UI控件库 类图:  效果 ...

  9. vue-quasar-admin 一个包含通用权限控制的后台管理系统

    vue-quasar-admin   Quasar-Framework 是一款基于vue.js开发的开源的前端框架, 它能帮助web开发者快速创建以下网站:响应式网站,渐进式应用,手机应用(通过Cor ...

随机推荐

  1. OD 实验(二十一) - 对反调试程序的逆向分析(二)

    程序: 运行程序 点击“Verify” 关闭该程序,启动 OD 再运行程序 逆向: 用 OD 载入程序 按 F8 往下走 执行完这个 call 指令就弹出了对话框 这个 call 指令调用了 Dial ...

  2. Matplotlib 库 : 绘图和可视化

    一.Matplotlib基础知识 1.1Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线 x轴和y轴刻度 tick刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y ...

  3. linux 远程连接服务器ftp命令整理

    Ftp命令的功能是在本地机和远程机之间传送文件.该命令的一般格式如下: $ ftp 主机名/IP ftp将给出提示符,等待用户输入命令: $ ftp ftp > 最常用的命令有: ls 列出远程 ...

  4. Linux运维常见故障排查和处理的33个技巧汇总

    作为linux运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个Linux运维工程师良好的习惯.每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是执着 ...

  5. python时间戳、日期、时间转换

    1.str转时间戳 # 字符类型的时间 tss1 = '2013-10-10 23:40:00' # 转为时间数组 timeArray = time.strptime(tss1, "%Y-% ...

  6. PHP - 输出缓存 - 关于ob系列函数和flush函数

    偶然机会看到了flush().知道他的神奇功能可以用在异步传输的comet 模式之后,于是我去试了试这个方法.然后翻手册去看了看什么意思.发现它神奇的和ob类函数在一起.有点好奇,先放一放,来说flu ...

  7. shell 脚本的坑

    最近都在写shell脚本,免不了遇到每个新手都要填的坑,在这里简单记录一下. test语句的坑 test语句在shell脚本里用的非常多,像if语句后面的其实都是test语句,也是新手最容易遇到坑的地 ...

  8. Spring <context:annotation-config />讲解

    在基于主机方式配置Spring的配置文件中,你可能会见到<context:annotation-config />这样一条配置,他的作用是向Spring容器注册AutowiredAnnot ...

  9. C++版修真小说

    终有一天我手中的编译器将成为我灵魂的一部分,这世界在我的眼中将被代码重构,我将看到山川无尽银河无垠都汇成二进制的数字河流,过往英雄都在我脑海眼前一一浮现,而我听到无数码农跪倒在我的程序面前呼喊. 他们 ...

  10. JS的事件汇总

    一.前言 事件的绑定触发有很多种方法,我们如何选择呢? 很多时候,我们会使用鼠标事件,但是鼠标事件只能在PC设备上使用,当我们需要对不同设备兼容时怎么办呢? 二.正文 1. 事件的几个概念: 事件流: ...