@@ -5,8 +5,10 @@ using System.Collections.Generic; | |||||
using System.IO; | using System.IO; | ||||
using System.Linq; | using System.Linq; | ||||
using System.Web.Mvc; | using System.Web.Mvc; | ||||
using Hangfire.Annotations; | |||||
using Learun.Application.Base.SystemModule; | using Learun.Application.Base.SystemModule; | ||||
using Newtonsoft.Json; | using Newtonsoft.Json; | ||||
using System.Data; | |||||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | ||||
{ | { | ||||
@@ -61,6 +63,116 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
{ | { | ||||
return View(); | return View(); | ||||
} | } | ||||
[HttpGet] | |||||
/// <summary> | |||||
/// 是否饼状图 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public ActionResult Peichart() | |||||
{ | |||||
//是否报道 | |||||
string sql = $"SELECT COUNT(CASE WHEN IsReport=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsReport = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||||
var data = stuEnrollIBLL.Execute(sql); | |||||
List<object> list2 = new List<object>(); | |||||
list2.Add(new | |||||
{ | |||||
name = "报道人数", | |||||
value = data.Rows[0]["num1"].ToString() | |||||
}); | |||||
list2.Add(new | |||||
{ | |||||
name = "未报道人数", | |||||
value = data.Rows[0]["num2"].ToString() | |||||
}); | |||||
var jsonData = new | |||||
{ | |||||
rows = list2 | |||||
}; | |||||
//是否住宿 | |||||
string sql1 = $"SELECT COUNT(CASE WHEN IsCheckIn=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsCheckIn = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||||
var data1 = stuEnrollIBLL.Execute(sql); | |||||
List<object> list3 = new List<object>(); | |||||
list3.Add(new | |||||
{ | |||||
name = "住宿人数", | |||||
value = data.Rows[0]["num1"].ToString() | |||||
}); | |||||
list3.Add(new | |||||
{ | |||||
name = "未住宿人数", | |||||
value = data.Rows[0]["num2"].ToString() | |||||
}); | |||||
var jsonData1 = new | |||||
{ | |||||
rows = list3 | |||||
}; | |||||
///是否资助 | |||||
string sql2 = $"SELECT COUNT(CASE WHEN IsSubsidize1=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsSubsidize1 = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||||
var data2 = stuEnrollIBLL.Execute(sql); | |||||
List<object> list4 = new List<object>(); | |||||
list4.Add(new | |||||
{ | |||||
name = "资助人数", | |||||
value = data.Rows[0]["num1"].ToString() | |||||
}); | |||||
list4.Add(new | |||||
{ | |||||
name = "未资助人数", | |||||
value = data.Rows[0]["num2"].ToString() | |||||
}); | |||||
var jsonData2 = new | |||||
{ | |||||
rows = list4 | |||||
}; | |||||
//是否军训 | |||||
string sql3 = $"SELECT COUNT(CASE WHEN IsMilitary=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsMilitary = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||||
var data3 = stuEnrollIBLL.Execute(sql); | |||||
List<object> list5 = new List<object>(); | |||||
list5.Add(new | |||||
{ | |||||
name = "军训人数", | |||||
value = data.Rows[0]["num1"].ToString() | |||||
}); | |||||
list5.Add(new | |||||
{ | |||||
name = "未军训人数", | |||||
value = data.Rows[0]["num2"].ToString() | |||||
}); | |||||
var jsonData3 = new | |||||
{ | |||||
rows = list5 | |||||
}; | |||||
//是否缴费 | |||||
string sql4 = $"SELECT COUNT(CASE WHEN IsPay=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsPay = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||||
var data4 = stuEnrollIBLL.Execute(sql); | |||||
List<object> list6 = new List<object>(); | |||||
list6.Add(new | |||||
{ | |||||
name = "缴费人数", | |||||
value = data.Rows[0]["num1"].ToString() | |||||
}); | |||||
list6.Add(new | |||||
{ | |||||
name = "未缴费人数", | |||||
value = data.Rows[0]["num2"].ToString() | |||||
}); | |||||
var jsonData4 = new | |||||
{ | |||||
rows = list6 | |||||
}; | |||||
return JsonResult(jsonData); | |||||
} | |||||
/// <summary> | /// <summary> | ||||
@@ -0,0 +1,40 @@ | |||||
<!DOCTYPE html> | |||||
<html> | |||||
<head> | |||||
<meta charset="utf-8" /> | |||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||||
<title>@ViewBag.Title - My ASP.NET Application</title> | |||||
<link href="~/Content/Site.css" rel="stylesheet" type="text/css" /> | |||||
<link href="~/Content/bootstrap.min.css" rel="stylesheet" type="text/css" /> | |||||
<script src="~/Scripts/modernizr-2.6.2.js"></script> | |||||
</head> | |||||
<body> | |||||
<div class="navbar navbar-inverse navbar-fixed-top"> | |||||
<div class="container"> | |||||
<div class="navbar-header"> | |||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> | |||||
<span class="icon-bar"></span> | |||||
<span class="icon-bar"></span> | |||||
<span class="icon-bar"></span> | |||||
</button> | |||||
@Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" }) | |||||
</div> | |||||
<div class="navbar-collapse collapse"> | |||||
<ul class="nav navbar-nav"> | |||||
</ul> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="container body-content"> | |||||
@RenderBody() | |||||
<hr /> | |||||
<footer> | |||||
<p>© @DateTime.Now.Year - My ASP.NET Application</p> | |||||
</footer> | |||||
</div> | |||||
<script src="~/Scripts/jquery-1.10.2.min.js"></script> | |||||
<script src="~/Scripts/bootstrap.min.js"></script> | |||||
</body> | |||||
</html> |
@@ -0,0 +1,42 @@ | |||||
| |||||
@{ | |||||
ViewBag.Title = "资产新增报表"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<!DOCTYPE html> | |||||
<html> | |||||
<head> | |||||
<meta name="viewport" content="width=device-width" /> | |||||
<title>Peichart</title> | |||||
</head> | |||||
<body> | |||||
<div class="lr-layout ui-report"> | |||||
<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> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class="btn-group btn-group-sm" learun-authorize="yes"> | |||||
<a id="lr-replace" class="btn btn-default"><i class="fa fa-refresh"></i> <span class="lrlt">刷新</span></a> | |||||
</div> | |||||
</div> | |||||
</div>*@ | |||||
<div class="lr-layout-grid" style="overflow:auto;"> | |||||
<div class="grid-title"> | |||||
<div style="overflow: hidden; padding-bottom: 20px; text-align: center; margin-left: auto; margin-right: auto;"> | |||||
<div id="main" style="float: left; margin-right: 20px; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<script src="~/Content/echarts/echarts.js"></script> | |||||
</body> | |||||
</html> | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuEnroll/Peichart.js") |
@@ -0,0 +1,73 @@ | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var year = ""; | |||||
var page = { | |||||
init: function () { | |||||
page.bind(); | |||||
page.initGrid(); | |||||
page.initChart(); | |||||
}, | |||||
bind: function () { | |||||
//当前年 | |||||
var now = learun.formatDate(new Date(), 'yyyy'); | |||||
$('#year').val(now); | |||||
year = now; | |||||
// 刷新 | |||||
$('#lr-replace').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
//查询 | |||||
$('#btn_Search').on('click', function () { | |||||
year = $('#year').val(); | |||||
page.search(); | |||||
}); | |||||
}, | |||||
initGrid: function () { | |||||
//$(".lr-layout-grid").height($(window).height() - 110); | |||||
//$('#gridtable').lrAuthorizeJfGridLei({ | |||||
// url: top.$.rootUrl + '/AssetManagementSystem/AssReport/AssAddReportList', | |||||
// headData: [ | |||||
// { name: "name", label: "年份", width: 100, align: "center" }, | |||||
// { name: "value", label: "金额", width: 150, align: "center" } | |||||
// ] | |||||
//}); | |||||
//page.search(); | |||||
}, | |||||
initChart: function () { | |||||
var myChart1 = echarts.init(document.getElementById('main')); | |||||
//var myChart2 = echarts.init(document.getElementById('main1')); | |||||
var queryJson = { year: year }; | |||||
learun.httpAsyncPost(top.$.rootUrl + "/EducationalAdministration/StuEnroll/Peichart", { queryJson: JSON.stringify(queryJson) }, function (res) { | |||||
if (res.code == 200) { | |||||
var option = { | |||||
xAxis: { | |||||
type: 'category', | |||||
data: res.data.name | |||||
}, | |||||
yAxis: { | |||||
type: 'value' | |||||
}, | |||||
series: [{ | |||||
data: res.data.value, | |||||
type: 'bar' | |||||
}] | |||||
}; | |||||
myChart1.setOption(option); | |||||
} | |||||
}); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
param.year = year; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
page.initChart(); | |||||
} | |||||
}; | |||||
page.init(); | |||||
} | |||||
@@ -0,0 +1,3 @@ | |||||
@{ | |||||
Layout = "~/Areas/EducationalAdministration/Views/Shared/_Layout.cshtml"; | |||||
} |
@@ -15,16 +15,76 @@ | |||||
<div class=" btn-group btn-group-sm"> | <div class=" btn-group btn-group-sm"> | ||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | <a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | ||||
</div> | </div> | ||||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||||
<div class=" btn-group btn-group-sm " learun-authorize="yes"> | |||||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 新增</a> | <a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 新增</a> | ||||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 编辑</a> | <a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 编辑</a> | ||||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | <a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | ||||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | <a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | ||||
</div> | |||||
<div class="layui-btn-container"> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="lr-layout-body" id="gridtable"></div> | <div class="lr-layout-body" id="gridtable"></div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="winpop"> | |||||
<div class="title">您有新的未读消息<span class="close" onclick="tips_pop()">x</span></div> | |||||
<div id="notifications"> | |||||
</div> | |||||
</div> | |||||
</div> | </div> | ||||
@Html.AppendJsFile("/Areas/LR_Desktop/Views/MessageRind/Index.js") | |||||
@Html.AppendJsFile("/Areas/LR_Desktop/Views/MessageRind/Index.js"); | |||||
<script> | |||||
function tips_pop() { | |||||
var MsgPop = document.getElementById("winpop"); | |||||
var popH = parseInt(MsgPop.style.height); | |||||
if (popH == 0) { | |||||
MsgPop.style.Height = "block"; | |||||
show = setInterval("changeH('up')", 2); | |||||
} else { | |||||
hide = setInterval("changeH('down')", 2); | |||||
} | |||||
} | |||||
function changeH(str) { | |||||
var magPop = document.getElementById("winpop"); | |||||
var popH = parseInt(MsgPop.style.Height); | |||||
if (str == "up") { | |||||
if (popH <= 100) { | |||||
msgPop.style.height = (popH + 4).toString() + "px"; | |||||
} else { | |||||
clearInterval(show); | |||||
} | |||||
} | |||||
if (str == "down") { | |||||
if (popH >= 4) { | |||||
MsgPop.style.Height = (popH - 4).toString() + "px"; | |||||
} else { | |||||
clearInterval(hide); | |||||
MsgPop.style.display = "none"; | |||||
} | |||||
} | |||||
window.onload = function() { | |||||
document.getElementById('winpop').style.height = '0px'; | |||||
setTimeout("tips_pop()", 800); | |||||
} | |||||
} | |||||
function Winpop() { | |||||
var state = '0'; | |||||
$.get(${ ctx } / sys / msGetUserMedia / getMsgList ? state + "&t=" + new Date().getTime(),function(data) { | |||||
$("#notifications").html(data); | |||||
}), | |||||
} | |||||
winpop(); | |||||
setInterval(function() { | |||||
$("#winpop").load(Winpop(), ""); | |||||
}, | |||||
1000); | |||||
</script> |
@@ -93,6 +93,8 @@ var bootstrap = function ($, learun) { | |||||
$('#gridtable').jqprintTable(); | $('#gridtable').jqprintTable(); | ||||
}); | }); | ||||
}, | }, | ||||
// 初始化列表 | // 初始化列表 | ||||
initGird: function () { | initGird: function () { | ||||
$('#gridtable').lrAuthorizeJfGrid({ | $('#gridtable').lrAuthorizeJfGrid({ | ||||
@@ -0,0 +1,18 @@ | |||||
body { | |||||
padding-top: 50px; | |||||
padding-bottom: 20px; | |||||
} | |||||
/* Set padding to keep content from hitting the edges */ | |||||
.body-content { | |||||
padding-left: 15px; | |||||
padding-right: 15px; | |||||
} | |||||
/* Set width on the form input elements since they're 100% wide by default */ | |||||
input, | |||||
select, | |||||
textarea { | |||||
max-width: 280px; | |||||
} | |||||
@@ -955,6 +955,7 @@ | |||||
<Content Include="Areas\EducationalAdministration\Views\StuConsumption\IndexForStudent.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuConsumption\IndexForStudent.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuConsumption\IndexForTeacher.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuConsumption\IndexForTeacher.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\AmountForm.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuEnroll\AmountForm.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\Peichart.js" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\StuGrant\Form.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuGrant\Form.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuGrant\Index.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuGrant\Index.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuInfoBasicChange\Form.js" /> | <Content Include="Areas\EducationalAdministration\Views\StuInfoBasicChange\Form.js" /> | ||||
@@ -3028,6 +3029,7 @@ | |||||
<Content Include="Content\signet\jquery.zsign.css" /> | <Content Include="Content\signet\jquery.zsign.css" /> | ||||
<Content Include="Content\signet\jquery.zsign.js" /> | <Content Include="Content\signet\jquery.zsign.js" /> | ||||
<Content Include="Content\signet\signet.gif" /> | <Content Include="Content\signet\signet.gif" /> | ||||
<Content Include="Content\Site.css" /> | |||||
<Content Include="Content\sso\css\bootstrap.css" /> | <Content Include="Content\sso\css\bootstrap.css" /> | ||||
<Content Include="Content\sso\css\common.css" /> | <Content Include="Content\sso\css\common.css" /> | ||||
<Content Include="Content\sso\css\index.css" /> | <Content Include="Content\sso\css\index.css" /> | ||||
@@ -6908,6 +6910,9 @@ | |||||
<Content Include="Areas\EducationalAdministration\Views\Thermography\IndexResult.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\Thermography\IndexResult.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\Sys_ReceiveDocument\PrintView.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\Sys_ReceiveDocument\PrintView.cshtml" /> | ||||
<Content Include="Areas\LR_OAModule\Views\Notice\IndexRecycle.cshtml" /> | <Content Include="Areas\LR_OAModule\Views\Notice\IndexRecycle.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\_ViewStart.cshtml" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\Shared\_Layout.cshtml" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\Peichart.cshtml" /> | |||||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | <None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | ||||
<Content Include="Views\Login\Default-beifen.cshtml" /> | <Content Include="Views\Login\Default-beifen.cshtml" /> | ||||
<None Include="Properties\PublishProfiles\FolderProfile1.pubxml" /> | <None Include="Properties\PublishProfiles\FolderProfile1.pubxml" /> | ||||
@@ -42,6 +42,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
} | } | ||||
public DataTable Execute(string sql) | |||||
{ | |||||
return stuEnrollService.Execute(sql); | |||||
} | |||||
public IEnumerable<StuEnrollEntity> AllStudent() | public IEnumerable<StuEnrollEntity> AllStudent() | ||||
{ | { | ||||
try | try | ||||
@@ -22,6 +22,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
/// <param name="queryJson">查询参数</param> | /// <param name="queryJson">查询参数</param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
IEnumerable<StuEnrollEntity> GetPageList(Pagination pagination, string queryJson); | IEnumerable<StuEnrollEntity> GetPageList(Pagination pagination, string queryJson); | ||||
DataTable Execute(string sql); | |||||
IEnumerable<StuEnrollEntity> AllStudent(); | IEnumerable<StuEnrollEntity> AllStudent(); | ||||
IEnumerable<Acc_DormitoryBuildEntity> GetDormitorys(Pagination pagination, string queryJson); | IEnumerable<Acc_DormitoryBuildEntity> GetDormitorys(Pagination pagination, string queryJson); | ||||
@@ -342,7 +342,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
public DataTable Execute(string sql) | |||||
{ | |||||
return this.BaseRepository("CollegeMIS").FindTable(sql); | |||||
} | |||||
public IEnumerable<StuEnrollEntity> AllStudent() | public IEnumerable<StuEnrollEntity> AllStudent() | ||||
{ | { | ||||