系列目录

先补充一个平面化登陆页面代码,自己更换喜欢的颜色背景

@using Apps.Common;
@{ Layout = null;
} <!DOCTYPE html>
<html>
<head>
<meta content="IE=11.0000"
http-equiv="X-UA-Compatible"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登录页面</title>
<script src="/Scripts/jquery.min.js" type="text/javascript"></script>
@Scripts.Render("~/bundles/account")
<link href="~/Content/fontawesome/css/font-awesome.min.css" rel="stylesheet" />
<style>
body{background:#ebebeb;color:#;font-size:9pt;font-family:Helvetica Neue,Hiragino Sans GB,Microsoft YaHei,\\9ED1\4F53,Arial,sans-serif}
*{margin:;padding:}
.top_div{width:%;height:300px;background:#222d32;text-align:center}
#LoginTopLine{top:130px;font-size:30px}
#LoginBotoomLine,#LoginTopLine{position:absolute;width:%;color:#fff;font-weight:}
#LoginBotoomLine{top:175px;font-size:15px}
.ipt{padding:10px;padding-left:35px;width:290px;border:1px solid #d3d3d3;border-radius:4px;box-shadow:inset 1px 1px rgba(,,,.);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}
.ipt:focus{outline:;border-color:#66afe9;box-shadow:inset 1px 1px rgba(,,,.), 8px rgba(,,,.)}
.u_logo{top:43px}
.p_logo,.u_logo{position:absolute;left:45px}
.p_logo{top:9pt}
.s_logo{position:absolute;top:9pt;left:10px}
a{text-decoration:none} #local{float:right;margin-right:33px;height:23px;line-height:23px}
.field-validation-error{color:red} </style> <meta name="GENERATOR" content="MSHTML 11.00.9600.17496">
</head>
<body>
<div class="top_div">
<div id="LoginTopLine">@ViewBag.WebName</div>
<div id="LoginBotoomLine">@ViewBag.ComName</div>
</div>
<div style="background: rgb(255, 255, 255); margin: -100px auto auto; border: 1px solid rgb(231, 231, 231); border-image: none; width: 400px; height: 290px; text-align: center;">
<p style="padding: 20px 0px 0px; text-align:center; position: relative;">
Sign in to start your session<select id="local">
<option value="zh-CN">中国</option>
<option value="en-US">English</option>
</select>
</p>
<p style="padding: 30px 0px 20px; position: relative;">
<span class="u_logo fa fa-user" ></span> <input id="UserName" name="UserName" class="ipt" type="text" placeholder="请输入用户名或邮箱" value="">
</p>
<p style="position: relative;">
<span class="p_logo fa fa-key" ></span>
<input class="ipt" id="Password" type="Password" placeholder="请输入密码" value="">
</p>
<p style="position: relative;">
<span class="p_logo"></span> </p><p style="position: relative; text-align:left; margin-left:32px; margin-top:20px;">
<span class="s_logo fa fa-expeditedssl"></span>
<input class="ipt " style="width: 50px" type="text" name="ValidateCode" id="ValidateCode" />
<img id="codeImg" alt="刷新验证码!" style="margin-bottom: -8px; cursor: pointer;" src="/Core/verify_code.ashx" onclick="this.src=this.src+'?'" />
</p>
<div style="height: 50px; line-height: 50px; margin-top: 20px; border-top-color: rgb(231, 231, 231); border-top-width: 1px; border-top-style: solid;">
<p style="margin: 0px 35px 20px 45px;">
<span id="mes" class="field-validation-error">
</span>
<span id="Loading" style="display: none" class='panel-loading'><font color='#000'>加载中...</font></span>
<span style="float: right;"> <a id="LoginSys" style="background: rgb(0, 142, 173); padding: 7px 15px; border-radius: 4px; border: 1px solid rgb(26, 117, 152); border-image: none; color: rgb(255, 255, 255); font-weight: bold;"
href="#">登录</a>
</span>
</p>
</div>
</div>
</body>
</html>
@*<div style="background: #f1f1f1; height: 40px; width: 100%; text-align: center; line-height: 40px; border-top: 1px #ccc solid; bottom: 0; position: absolute">
@ViewBag.CopyRight
</div>
<div class="define-logo">
<div id="LoginTopLine">@ViewBag.WebName</div>
<div id="LoginBotoomLine">@ViewBag.ComName</div>
</div>*@

后台还是之前页面构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(3)-漂亮系统登陆界面 的代码

--------------------------------------

进入主题:流程监控能看到所有申请的状态。主要用于管理员查询数据使用

流程监控=我的申请

我的申请指定了当前的用户,所有监控则查询所有用户的申请。很简单,复制一份Apply控制器的代码

直接上代码: FlowTrackController 需要手动新建FlowTrackController控制器

using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Apps.Common;
using Apps.IBLL;
using Apps.Models.Sys;
using Microsoft.Practices.Unity;
using Apps.Flow.IBLL;
using Apps.Models.Flow;
using System.Text;
using Apps.Flow.BLL;
using System;
using Apps.Web.Core;
using Apps.Models.Enum;
namespace Apps.Web.Areas.Flow.Controllers
{
public class FlowTrackController : BaseController
{
[Dependency]
public ISysUserBLL userBLL { get; set; }
[Dependency]
public IFlow_TypeBLL m_BLL { get; set; }
[Dependency]
public IFlow_FormBLL formBLL { get; set; }
[Dependency]
public IFlow_FormAttrBLL formAttrBLL { get; set; }
[Dependency]
public IFlow_FormContentBLL formContentBLL { get; set; }
[Dependency]
public IFlow_StepBLL stepBLL { get; set; }
[Dependency]
public IFlow_StepRuleBLL stepRuleBLL { get; set; }
[Dependency]
public IFlow_FormContentStepCheckBLL stepCheckBLL { get; set; }
[Dependency]
public IFlow_FormContentStepCheckStateBLL stepCheckStateBLL { get; set; } ValidationErrors errors = new ValidationErrors(); [SupportFilter]
public ActionResult Index()
{
return View();
} [SupportFilter]
public ActionResult Index()
{
ViewBag.Perm = GetPermission(); List<Flow_FormContentModel> list = formContentBLL.GeExaminetList(ref setNoPagerAscById, "");
foreach (var model in list)
{
List<Flow_FormContentStepCheckModel> stepCheckModelList = stepCheckBLL.GetListByFormId(model.FormId, model.Id);
model.CurrentState = formContentBLL.GetCurrentFormState(model);
}
FlowStateCountModel stateModel = new FlowStateCountModel();
stateModel.requestCount = list.Count();
stateModel.passCount = list.Where(a => a.CurrentState == (int)FlowStateEnum.Pass).Count();
stateModel.rejectCount = list.Where(a => a.CurrentState == (int)FlowStateEnum.Reject).Count();
stateModel.processCount = list.Where(a => a.CurrentState == (int)FlowStateEnum.Progress).Count();
stateModel.closedCount = list.Where(a => a.TimeOut < DateTime.Now).Count();
return View(stateModel);
}
[HttpPost]
public JsonResult GetList(GridPager pager, string queryStr)
{
List<Flow_FormContentModel> list = formContentBLL.GetList(ref pager, queryStr);
var json = new
{
total = pager.totalRows,
rows = (from r in list
select new Flow_FormContentModel()
{ Id = r.Id,
Title = r.Title,
UserId = r.UserId,
FormId = r.FormId,
FormLevel = r.FormLevel,
CreateTime = r.CreateTime,
TimeOut = r.TimeOut,
CurrentStep = formContentBLL.GetCurrentFormStep(r),
CurrentState = formContentBLL.GetCurrentFormState(r), }).ToArray() };
return Json(json);
}
}
}

DAL层方法(获取统计信息),对比申请的只去掉where 中的userid=

 public IQueryable<Flow_FormContent> GeExamineList(DBContainer db)
{
IQueryable<Flow_FormContent> list = (from a in db.Flow_FormContent
join b in db.Flow_Step
on a.FormId equals b.FormId
join c in db.Flow_FormContentStepCheck
on b.Id equals c.StepId
join d in db.Flow_FormContentStepCheckState
on c.Id equals d.StepCheckId
select a).Distinct();
return list;
}

直接取得运行结果

ASP.NET MVC5+EF6+EasyUI 后台管理系统(54)-工作流设计-所有流程监控的更多相关文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 任务调度系统界面 http: ...

  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(转)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库 您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB 升级后界面效果如下: 日程管理   http://ww ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入

    系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统-WebApi的用法与调试

    1:ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-WebApi与Unity注入 使用Unity是为了使用我们后台的BLL和DAL层 2:ASP.NET MVC5+EF6+Easy ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(51)-系统升级

    系统很久没有更新内容了,期待已久的更新在今天发布了,最近花了2个月的时间每天一点点,从原有系统 MVC4+EF5+UNITY2.X+Quartz 2.0+easyui 1.3.4无缝接入 MVC5+E ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构

    系列目录 前言:这是对本文系统一次重要的革新,很久就想要重构数据访问层了,数据访问层重复代码太多.主要集中增删该查每个模块都有,所以本次是为封装相同接口方法 如果你想了解怎么重构普通的接口DAL层请查 ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(34)-文章发布系统①-简要分析

    系列目录 最新比较闲,为了学习下Android的开发构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与,虽然有点没有目的的学习,但还是了解了Andro ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox

    系列目录 https://yunpan.cn/cZVeSJ33XSHKZ  访问密码 0fc2 今天整合lightbox插件Fancybox1.3.4,发现1.3.4版本太老了.而目前easyui 1 ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航

    系列目录 本节主要知识点是easyui 的手风琴加树结构做菜单导航 有园友抱怨原来菜单非常难看,但是基于原有树形无限级别的设计,没有办法只能已树形展示 先来看原来的效果 改变后的效果,当然我已经做好了 ...

随机推荐

  1. ArcGIS 10.0紧凑型切片读写方法

    首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...

  2. 【XSS】延长 XSS 生命期

    XSS 的本质仍是一段脚本.和其他文档元素一样,页面关了一切都销毁.除非能将脚本蔓延到页面以外的地方,那样才能获得更长的生命力. 庆幸的是,从 DOM 诞生的那一天起,就已为我们准备了这个特殊的功能, ...

  3. ABP文档 - EntityFramework 集成

    文档目录 本节内容: Nuget 包 DbContext 仓储 默认仓储 自定义仓储 特定的仓储基类 自定义仓储示例 仓储最佳实践 ABP可使用任何ORM框架,它已经内置了EntityFrame(以下 ...

  4. javaScript的原型继承与多态性

    1.prototype 我们可以简单的把prototype看做是一个模版,新创建的自定义对象都是这个模版(prototype)的一个拷贝 (实际上不是拷贝而是链接,只不过这种链接是不可见,给人们的感觉 ...

  5. Swift enum(枚举)使用范例

    //: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...

  6. C#使用GET、POST请求获取结果

    C#使用GET.POST请求获取结果,这里以一个简单的用户登陆为例. 1. 使用GET请求获取结果 1.1 创建LoginHandler.aspx处理页面 protected void Page_Lo ...

  7. Xcode 锁终端

    锁终端 输入: <1>cd /Applications/Xcode.app 回车 结果显示: Xcode.app 输入: <2>sudo chown -hR root:whee ...

  8. [故障公告]受阿里云部分ECS服务器故障影响,目前无法上传图片与文件

    抱歉!今天下午阿里云华东1可用区B的部分ECS服务器出现IO HANG问题,受此影响,我们的图片与文件上传服务器无法访问,由此给您带来麻烦,请您谅解. 16:30左右开始,我们发现图片与文件上传服务器 ...

  9. Xamarin.Android通知详解

    一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取Notification ...

  10. Git 进阶指南(git ssh keys / reset / rebase / alias / tag / submodule )

    在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题.以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 ori ...