@@ -170,6 +170,11 @@ namespace Learun.Application.Web.Areas.LR_NewWorkFlow.Controllers | |||||
{ | { | ||||
return View(); | return View(); | ||||
} | } | ||||
[HttpGet] | |||||
public ActionResult ContractFilingMonitor() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 人事归档 | /// 人事归档 | ||||
/// </summary> | /// </summary> | ||||
@@ -14,7 +14,6 @@ var bootstrap = function ($, learun) { | |||||
var page = { | var page = { | ||||
init: function () { | init: function () { | ||||
$('#lr_verify').hide(); | $('#lr_verify').hide(); | ||||
page.initleft(); | |||||
page.initGrid(); | page.initGrid(); | ||||
page.bind(); | page.bind(); | ||||
}, | }, | ||||
@@ -99,74 +98,42 @@ var bootstrap = function ($, learun) { | |||||
$parent.find('.active').removeClass('active'); | $parent.find('.active').removeClass('active'); | ||||
$this.addClass('active'); | $this.addClass('active'); | ||||
categoryId = $this.attr('data-value'); | categoryId = $this.attr('data-value'); | ||||
if (categoryId == 3) { | |||||
categoryId = 1; | |||||
F_EnabledMark = true; | |||||
} else { | |||||
F_EnabledMark = false; | |||||
} | |||||
page.search(); | page.search(); | ||||
}); | }); | ||||
}, | }, | ||||
initGrid: function () { | initGrid: function () { | ||||
$('#gridtable').lrAuthorizeJfGrid({ | |||||
url: top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/GetPorcessList', | |||||
$('#gridtable').jfGrid({ | |||||
url: top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/GetContractList', | |||||
headData: [ | headData: [ | ||||
{ label: '合同编号', name: 'LC_htbh', width: 150, align: "left" }, | |||||
{ label: '合同名称', name: 'LC_htmc', width: 200, align: "left" }, | |||||
{ label: '合同额(万元)', name: 'LC_htzje', width: 200, align: "left" }, | |||||
{ label: '申报人', name: 'F_ModifyUserName', width: 100, align: "left" }, | |||||
{ label: '对方单位名称', name: 'LC_dfdw', width: 200, align: "left" }, | |||||
{ label: '联系人', name: 'LC_dflxr', width: 100, align: "left" }, | |||||
{ label: '联系方式', name: 'LC_dfdh', width: 120, align: "left" }, | |||||
{ | { | ||||
label: "标题", name: "F_Title", width: 300, align: "left", formatter: function (cellvalue, row) { | |||||
if (row.F_SchemeName != row.F_Title && row.F_Title) { | |||||
return row.F_SchemeName + "(" + row.F_Title + ")"; | |||||
} | |||||
else { | |||||
return row.F_SchemeName; | |||||
} | |||||
label: '合同开始时间', name: 'LC_htkssj', width: 100, align: "left", formatter: function (cellvalue, row) { | |||||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||||
} | } | ||||
}, | }, | ||||
//{ | |||||
// label: "等级", name: "F_Level", width: 60, align: "center", | |||||
// formatter: function (cellvalue) { | |||||
// switch (cellvalue) { | |||||
// case 0: | |||||
// return '普通'; | |||||
// break; | |||||
// case 1: | |||||
// return '重要'; | |||||
// break; | |||||
// case 2: | |||||
// return '紧急'; | |||||
// break; | |||||
// default: | |||||
// return '普通'; | |||||
// break; | |||||
// } | |||||
// } | |||||
//}, | |||||
{ | { | ||||
label: "状态", name: "F_EnabledMark", width: 70, align: "center", | |||||
formatter: function (cellvalue, row) { | |||||
if (row.F_IsFinished == 0) { | |||||
if (cellvalue == 1) { | |||||
if (row.F_IsUrge == "1" && categoryId == '2') { | |||||
return "<span class=\"label label-danger\">催办加急</span>"; | |||||
} | |||||
return "<span class=\"label label-success\">运行中</span>"; | |||||
} else if (cellvalue == 2) { | |||||
return "<span class=\"label label-primary\">草稿</span>"; | |||||
} else { | |||||
return "<span class=\"label label-danger\">作废</span>"; | |||||
} | |||||
} | |||||
else { | |||||
return "<span class=\"label label-warning\">结束</span>"; | |||||
} | |||||
label: '合同结束时间', name: 'LC_htjssj', width: 100, align: "left", formatter: function (cellvalue, row) { | |||||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||||
} | } | ||||
}, | }, | ||||
{ label: "发起者", name: "F_CreateUserName", width: 80, align: "center" }, | |||||
{ | |||||
label: "时间", name: "F_CreateDate", width: 150, align: "left", | |||||
formatter: function (cellvalue) { | |||||
return learun.formatDate(cellvalue, 'yyyy-MM-dd hh:mm:ss'); | |||||
} | |||||
} | |||||
{ label: '文本盖章份数', name: 'LC_gzfs', width: 80, align: "left" }, | |||||
{ label: '申报日期', name: 'F_ModifyDate', width: 200, align: "left" } | |||||
], | ], | ||||
mainId: 'F_Id', | mainId: 'F_Id', | ||||
isPage: true, | isPage: true, | ||||
sidx: 'F_CreateDate DESC', | |||||
sidx: 'F_ModifyDate DESC', | |||||
dblclick: function () { | dblclick: function () { | ||||
page.eye(); | page.eye(); | ||||
} | } | ||||
@@ -177,21 +144,12 @@ var bootstrap = function ($, learun) { | |||||
param = param || {}; | param = param || {}; | ||||
param.StartTime = logbegin; | param.StartTime = logbegin; | ||||
param.EndTime = logend; | param.EndTime = logend; | ||||
param.categoryId = categoryId; | |||||
param.F_Category = '合同类'; | |||||
param.F_IsFinished = 1; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | ||||
}, | }, | ||||
eye: function () { | eye: function () { | ||||
var processId = $('#gridtable').jfGridValue('F_Id') || ''; | |||||
var title = $('#gridtable').jfGridValue('F_Title'); | |||||
var schemeName = $('#gridtable').jfGridValue('F_SchemeName'); | |||||
if (schemeName != title && title) { | |||||
title = schemeName + "(" + title + ")"; | |||||
} | |||||
else { | |||||
title = schemeName; | |||||
} | |||||
var processId = $('#gridtable').jfGridValue('LC_ID') || ''; | |||||
var title = $('#gridtable').jfGridValue('LC_htmc'); | |||||
if (learun.checkrow(processId)) { | if (learun.checkrow(processId)) { | ||||
learun.frameTab.open({ F_ModuleId: 'monitor' + processId, F_FullName: '查看-' + title, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/MonitorDetailsIndex?processId=' + processId }); | learun.frameTab.open({ F_ModuleId: 'monitor' + processId, F_FullName: '查看-' + title, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/MonitorDetailsIndex?processId=' + processId }); | ||||
@@ -0,0 +1,50 @@ | |||||
@{ | |||||
ViewBag.Title = "流程监控"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div id="lr_layout" class="lr-layout lr-layout-left-center"> | |||||
<div class="lr-layout-left"> | |||||
<div class="lr-layout-wrap lr-layout-wrap-notitle" style="padding-top:10px;"> | |||||
<div class="lr-layout-body"> | |||||
<ul class="lr-left-list" id="lr_left_list"> | |||||
<li class="active lrlg" data-value="0">未完成</li> | |||||
<li data-value="1" class="lrlg">已完成</li> | |||||
</ul> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||||
<div class="lr-layout-tool"> | |||||
<div class="lr-layout-tool-left"> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="datesearch"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" /> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i> <span class="lrlg">查询</span></a> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
</div> | |||||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||||
<a id="lr_eye" class="btn btn-default"><i class="fa fa-eye"></i> <span class="lrlg">查看</span></a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/LR_NewWorkFlow/Views/NWFProcess/ContractFilingMonitor.js") | |||||
@@ -0,0 +1,124 @@ | |||||
/* | |||||
* 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2018 上海力软信息技术有限公司 | |||||
* 创建人:力软-前端开发组 | |||||
* 日 期:2018.12.19 | |||||
* 描 述:流程监控 | |||||
*/ | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var categoryId = '0'; | |||||
var logbegin = ''; | |||||
var logend = ''; | |||||
var page = { | |||||
init: function () { | |||||
$('#lr_verify').hide(); | |||||
page.initleft(); | |||||
page.initGrid(); | |||||
page.bind(); | |||||
}, | |||||
bind: function () { | |||||
$('#datesearch').lrdate({ | |||||
dfdata: [ | |||||
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
], | |||||
// 月 | |||||
mShow: false, | |||||
premShow: false, | |||||
// 季度 | |||||
jShow: false, | |||||
prejShow: false, | |||||
// 年 | |||||
ysShow: false, | |||||
yxShow: false, | |||||
preyShow: false, | |||||
yShow: false, | |||||
selectfn: function (begin, end) { | |||||
logbegin = begin; | |||||
logend = end; | |||||
page.search(); | |||||
} | |||||
}); | |||||
// 查询 | |||||
$('#btn_Search').on('click', function () { | |||||
var keyword = $('#txt_Keyword').val(); | |||||
page.search({ keyword: keyword }); | |||||
}); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
// 查看 | |||||
$('#lr_eye').on('click', function () { | |||||
page.eye(); | |||||
}); | |||||
}, | |||||
initleft: function () { | |||||
$('#lr_left_list li').on('click', function () { | |||||
var $this = $(this); | |||||
var $parent = $this.parent(); | |||||
$parent.find('.active').removeClass('active'); | |||||
$this.addClass('active'); | |||||
categoryId = $this.attr('data-value'); | |||||
page.search(); | |||||
}); | |||||
}, | |||||
initGrid: function () { | |||||
$('#gridtable').jfGrid({ | |||||
url: top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/GetContractList', | |||||
headData: [ | |||||
{ label: '合同编号', name: 'LC_htbh', width: 150, align: "left" }, | |||||
{ label: '合同名称', name: 'LC_htmc', width: 200, align: "left" }, | |||||
{ label: '合同额(万元)', name: 'LC_htzje', width: 200, align: "left" }, | |||||
{ label: '申报人', name: 'F_ModifyUserName', width: 100, align: "left" }, | |||||
{ label: '对方单位名称', name: 'LC_dfdw', width: 200, align: "left" }, | |||||
{ label: '联系人', name: 'LC_dflxr', width: 100, align: "left" }, | |||||
{ label: '联系方式', name: 'LC_dfdh', width: 120, align: "left" }, | |||||
{ | |||||
label: '合同开始时间', name: 'LC_htkssj', width: 100, align: "left", formatter: function (cellvalue, row) { | |||||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||||
} | |||||
}, | |||||
{ | |||||
label: '合同结束时间', name: 'LC_htjssj', width: 100, align: "left", formatter: function (cellvalue, row) { | |||||
return learun.formatDate(cellvalue, 'yyyy-MM-dd'); | |||||
} | |||||
}, | |||||
{ label: '文本盖章份数', name: 'LC_gzfs', width: 80, align: "left" }, | |||||
{ label: '申报日期', name: 'F_ModifyDate', width: 200, align: "left" } | |||||
], | |||||
mainId: 'F_Id', | |||||
isPage: true, | |||||
sidx: 'F_ModifyDate DESC', | |||||
dblclick: function () { | |||||
page.eye(); | |||||
} | |||||
}); | |||||
page.search(); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
param.StartTime = logbegin; | |||||
param.EndTime = logend; | |||||
param.F_IsFinished = categoryId; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
}, | |||||
eye: function () { | |||||
var processId = $('#gridtable').jfGridValue('LC_ID') || ''; | |||||
var title = $('#gridtable').jfGridValue('LC_htmc'); | |||||
if (learun.checkrow(processId)) { | |||||
learun.frameTab.open({ F_ModuleId: 'monitor' + processId, F_FullName: '查看-' + title, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/MonitorDetailsIndex?processId=' + processId }); | |||||
} | |||||
} | |||||
}; | |||||
page.init(); | |||||
} | |||||
@@ -0,0 +1,230 @@ | |||||
using Dapper; | |||||
using Learun.DataBase.Repository; | |||||
using Learun.Util; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Data; | |||||
using System.Text; | |||||
namespace Learun.Application.TwoDevelopment.LR_LGManager | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2021-04-21 17:48 | |||||
/// 描 述:LC_hetong | |||||
/// </summary> | |||||
public class LC_hetongService : RepositoryFactory | |||||
{ | |||||
#region 构造函数和属性 | |||||
private string fieldSql; | |||||
/// <summary> | |||||
/// 构造方法 | |||||
/// </summary> | |||||
public LC_hetongService() | |||||
{ | |||||
fieldSql = @" | |||||
t.LC_ID, | |||||
t.F_EnabledMark, | |||||
t.F_ModifyUserName, | |||||
t.F_SortCode, | |||||
t.F_ModifyDate, | |||||
t.F_CreateUserName, | |||||
t.F_CreateDate, | |||||
t.F_Description, | |||||
t.LC_htkssj, | |||||
t.LC_htjssj, | |||||
t.LC_qdrq, | |||||
t.LC_htlx, | |||||
t.LC_htmc, | |||||
t.LC_htbd, | |||||
t.LC_htbh, | |||||
t.LC_htzje, | |||||
t.LC_wenben, | |||||
t.LC_gzfs, | |||||
t.LC_dfdw, | |||||
t.LC_dflxr, | |||||
t.LC_dfdh, | |||||
t.LC_csyj, | |||||
t.LC_csyjqt, | |||||
t.LC_sfty, | |||||
t.LC_fujian, | |||||
t.LC_beizhu, | |||||
t.LC_hqcyj, | |||||
t.LC_zgldyj, | |||||
t.LC_cwcyj, | |||||
t.LC_bgsyj, | |||||
t.OperationTime, | |||||
t.LC_CheckMark, | |||||
t.LC_sqwtr | |||||
"; | |||||
} | |||||
#endregion | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取列表数据 | |||||
/// </summary> | |||||
/// <param name="queryJson">条件参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<LC_hetongEntity> GetList(string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
//参考写法 | |||||
//var queryParam = queryJson.ToJObject(); | |||||
// 虚拟参数 | |||||
//var dp = new DynamicParameters(new { }); | |||||
//dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); | |||||
var strSql = new StringBuilder(); | |||||
strSql.Append("SELECT "); | |||||
strSql.Append(fieldSql); | |||||
strSql.Append(" FROM LC_hetong t "); | |||||
return this.BaseRepository("CollegeMIS").FindList<LC_hetongEntity>(strSql.ToString()); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 获取列表分页数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">条件参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<LC_hetongEntity> GetPageList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
var strSql = new StringBuilder(); | |||||
strSql.Append("SELECT t.* "); | |||||
strSql.Append(" FROM LC_hetong t left join adms7ultimate2.dbo.LR_NWF_Process b on t.lc_id=b.f_id where b.F_EnabledMark!=2 and F_IsChild=0 "); | |||||
var queryParam = queryJson.ToJObject(); | |||||
// 虚拟参数 | |||||
var dp = new DynamicParameters(new { }); | |||||
if (!queryParam["F_IsFinished"].IsEmpty()) | |||||
{ | |||||
dp.Add("F_IsFinished", queryParam["F_IsFinished"].ToString(), DbType.String); | |||||
strSql.Append(" and b.F_IsFinished=@F_IsFinished "); | |||||
} | |||||
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) | |||||
{ | |||||
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); | |||||
dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime); | |||||
strSql.Append(" AND ( t.F_ModifyDate >= @startTime AND t.F_ModifyDate <= @endTime ) "); | |||||
} | |||||
return this.BaseRepository("CollegeMIS").FindList<LC_hetongEntity>(strSql.ToString(), dp,pagination); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 获取实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
public LC_hetongEntity GetEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
return this.BaseRepository("CollegeMIS").FindEntity<LC_hetongEntity>(keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
public void DeleteEntity(string keyValue) | |||||
{ | |||||
try | |||||
{ | |||||
this.BaseRepository("CollegeMIS").Delete<LC_hetongEntity>(t => t.LC_ID == keyValue); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="entity">实体</param> | |||||
/// </summary> | |||||
public void SaveEntity(string keyValue, LC_hetongEntity entity) | |||||
{ | |||||
try | |||||
{ | |||||
if (!string.IsNullOrEmpty(keyValue)) | |||||
{ | |||||
entity.Modify(keyValue); | |||||
this.BaseRepository("CollegeMIS").Update(entity); | |||||
} | |||||
else | |||||
{ | |||||
entity.Create(); | |||||
this.BaseRepository("CollegeMIS").Insert(entity); | |||||
} | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
} | |||||
} |