原文地址: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. Win10 恢复后退键

    转自:http://www.cnblogs.com/liubaicai/p/4368261.html 自带的几种风格的页面,竟然是用的左上角虚拟后退键,这种倒行逆施的行为微软你真是够了! 一定要把后退 ...

  2. [转] geochart 地图控件官方示例

    <html> <head> <script type='text/javascript' src='https://www.google.com/jsapi'>&l ...

  3. Cinder Backup备份

    cinder 备份提供了三种驱动服务: Ceph,TSM,Swift 其中默认备份驱动服务为swift cinder 驱动服务的配置在cinder.conf文件中 backup_driver=cind ...

  4. Android SQLite最简单demo实现(增删查改)

    本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍, ...

  5. Spring技术内幕之Spring Data JPA-自定义Repository实现

    1.自定义Repository方法接口,让接口的实现类来继承这个中间接口而不是Repository接口 package com.data.jpa.dao; import java.io.Seriali ...

  6. 第六章 Validating with the Validation API

    CHAPTER 6 Validating with the Validation API Defining and Triggering Validation: An Overview 你可以使用以下 ...

  7. addClass()使用方法

    含义:为元素添加指定的样式名 具体用法分为以下两种: 1.可以一次添加一个或者多个用空格隔开的样式名 例: <script> $("ul li").addClass(& ...

  8. js 操作数组的一些方法

    1.从数组中获取最大的数 function getMaxfromarr(arr) { var lasti = 0; for (var i = 0; i < arr.length; i++) { ...

  9. CocoaPods安装/更新报错While executing gem ... (OpenSSL::SSL::SSLError)解决方案

    今天给新买的MacBook Pro更新CocoaPods,结果上来就报错,出师不利. HeinocdeMacBook-Pro:~ Heinoc$ sudo gem update --system Pa ...

  10. Kafka集群中 topic数据的分区 迁移到其他broker

    前言 kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建新的topic时才会参与工作.除非将已有的partition迁移到新的服务器上面:所以需要 ...