@@ -5,8 +5,10 @@ using System.Collections.Generic; | |||
using System.IO; | |||
using System.Linq; | |||
using System.Web.Mvc; | |||
using Hangfire.Annotations; | |||
using Learun.Application.Base.SystemModule; | |||
using Newtonsoft.Json; | |||
using System.Data; | |||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
@@ -61,6 +63,116 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
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> | |||
@@ -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"> | |||
<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"> | |||
<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_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_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
</div> | |||
<div class="layui-btn-container"> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
<div id="winpop"> | |||
<div class="title">您有新的未读消息<span class="close" onclick="tips_pop()">x</span></div> | |||
<div id="notifications"> | |||
</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(); | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#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\IndexForTeacher.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\Index.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.js" /> | |||
<Content Include="Content\signet\signet.gif" /> | |||
<Content Include="Content\Site.css" /> | |||
<Content Include="Content\sso\css\bootstrap.css" /> | |||
<Content Include="Content\sso\css\common.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\Sys_ReceiveDocument\PrintView.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" /> | |||
<Content Include="Views\Login\Default-beifen.cshtml" /> | |||
<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() | |||
{ | |||
try | |||
@@ -22,6 +22,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<StuEnrollEntity> GetPageList(Pagination pagination, string queryJson); | |||
DataTable Execute(string sql); | |||
IEnumerable<StuEnrollEntity> AllStudent(); | |||
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() | |||
{ | |||