Sfoglia il codice sorgente

【修改】管理驾驶舱模式;

master
dyy 3 anni fa
parent
commit
9ec36c7147
6 ha cambiato i file con 179 aggiunte e 145 eliminazioni
  1. +11
    -91
      Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index3.js
  2. +35
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs
  3. +96
    -54
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragModelThree.cshtml
  4. +18
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/LessonInfo/LessonInfoBLL.cs
  5. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/LessonInfo/LessonInfoIBLL.cs
  6. +18
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/LessonInfo/LessonInfoService.cs

+ 11
- 91
Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index3.js Vedi File

@@ -75,23 +75,7 @@ function eduEchart() {
show: false,
},
color: ['#F6685E', '#ECBD02', '#67A0F5', '#198BE3', '#F6685E', '#DEBC03', '#0BB56C', '#CB1FA1'],
data: [{
value: 50,
name: '博士'
},
{
value: 30,
name: '硕士'
},
{
value: 20,
name: '本科'
},
{
value: 10,
name: '专科'
}
]
data: TeacherByHighestRecord
}]
};

@@ -172,55 +156,28 @@ function classEchart() {

option = {
tooltip: {
trigger: 'axis'
trigger: 'item',
formatter: '{b} : {c}'
},
series: [{
name: '',
name: '课程分类',
type: 'pie',
radius: [42, 57],
center: ['50%', '50%'],
hoverAnimation: false,
zlevel: 2,
color: ['#59D078', '#8F66E1'],
data: [{
value: 10,
name: '文化课程',
label: {
color: '#FFBA14'
}
},
{
value: 5,
name: '专业课程',
label: {
color: '#4EC5BB'
}
}
]
data: LessonBySort
},
{
name: '',
name: '课程类型',
type: 'pie',
radius: [70, 85],
center: ['50%', '50%'],
hoverAnimation: false,
color: ['#ECBD02', '#00E7B9'],
data: [{
value: 30,
name: '精品课程',
label: {
color: '#306DF7'
}
},
{
value: 5,
name: '普通课程',
label: {
color: '#E65331'
}
}
]
data: LessonByType
}
]
};
@@ -254,35 +211,7 @@ function majorEchart() {
'#00E7B9', '#7A74F1', '#4A9ADE', '#33F0E5', '#ECBD02', '#DF59B8'
],
// hoverAnimation: false,
data: [{
value: 10,
name: '物理',
},
{
value: 5,
name: '数学',
},
{
value: 15,
name: '化学',
},
{
value: 15,
name: '历史',
},
{
value: 5,
name: '医学',
},
{
value: 15,
name: '计算机',
},
{
value: 15,
name: '矿业',
}
]
data: StuByMajor
}, {
name: '班级总数',
type: 'pie',
@@ -295,7 +224,7 @@ function majorEchart() {
color: ['#59D078', '#57C5F5', '#E7C900'],
// hoverAnimation: false,
data: [{
value: 10,
value: ClassInfoTotalNum,
name: '班级总数',
}]
}, {
@@ -310,17 +239,8 @@ function majorEchart() {
color: ['#3E49E2', '#677BF5', '#67A0F5', '#E7C900'],
// hoverAnimation: false,
data: [{
value: 10,
name: '教室1',
}, {
value: 5,
name: '教室2',
}, {
value: 20,
name: '教室3',
}, {
value: 30,
name: '教室4',
value: ClassRoomTotalNum,
name: '教室总数',
}]
}, ]
};


+ 35
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs Vedi File

@@ -46,6 +46,10 @@ namespace Learun.Application.Web.Controllers
private ClassroomInfoIBLL classroomInfoIBLL = new ClassroomInfoBLL();
private EmpInfoIBLL empInfoIBLL = new EmpInfoBLL();
private SSO_Drag_CardSortManageIBLL sSO_Drag_CardSortManageIBLL = new SSO_Drag_CardSortManageBLL();
private LessonInfoIBLL lessonInfoIBLL = new LessonInfoBLL();
private CdLessonSortIBLL cdLessonSortIBLL = new CdLessonSortBLL();
private CdLessonTypeIBLL cdLessonTypeIBLL = new CdLessonTypeBLL();
private BCdCultureDegreeIBLL bCdCultureDegreeIBLL = new BCdCultureDegreeBLL();

#region 统一身份认证2.0
/// <summary>
@@ -1227,9 +1231,12 @@ namespace Learun.Application.Web.Controllers
//学生
var stuInfoData = stuInfoBasicIBLL.GetAllList();
ViewBag.StuInfoTotalNum = stuInfoData.Count();
ViewBag.StuInfoTotalNumOfMan = stuInfoData.Where(x => x.GenderNo == true).Count();
//教师
var teacherData = empInfoIBLL.GetAllList();
ViewBag.TeacherTotalNum = teacherData.Count();
ViewBag.TeacherTotalNumOfMan = teacherData.Where(x => x.GenderNo == true).Count();
ViewBag.TeacherTotalNumOfBianNei = teacherData.Where(x => x.CompilationCategory == "01").Count();
//教室
var classRoomData = classroomInfoIBLL.GetAllList();
ViewBag.ClassRoomTotalNum = classRoomData.Count();
@@ -1255,6 +1262,34 @@ namespace Learun.Application.Web.Controllers
ViewBag.AllCount = allCount;
ViewBag.FlowType = flowType;
ViewBag.FlowList = JsonConvert.SerializeObject(flowList);
//课程总览
var lessonInfoData = lessonInfoIBLL.GetAllList();
ViewBag.LessonTotalNum = lessonInfoData.Count();
ViewBag.OpenLessonTotalNum = lessonInfoData.Where(x => x.CheckMark == true).Count();
//课程分类下的课程
var lessonBySort = lessonInfoData.GroupBy(x => x.LessonSortNo).Select(x => new
{
value = x.Select(y => y.LessonId).Count(),
name = cdLessonSortIBLL.GetCdLessonSortEntityByNo(x.Key)?.LessonSortName
});
ViewBag.LessonBySortStr = JsonConvert.SerializeObject(lessonBySort);
//课程类型下的课程
var lessonByType = lessonInfoData.GroupBy(x => x.LessonTypeId).Select(x => new
{
value = x.Select(y => y.LessonId).Count(),
name = cdLessonTypeIBLL.GetCdLessonTypeEntity(x.Key)?.LessonTypeName
});
ViewBag.LessonByTypeStr = JsonConvert.SerializeObject(lessonByType);
//教师总览
//教师学历比例
var teacherByHighestRecord = teacherData.Where(x => !string.IsNullOrEmpty(x.HighestRecord)).GroupBy(x => x.HighestRecord).Select(x => new
{
value = x.Select(y => y.EmpId).Count(),
name = bCdCultureDegreeIBLL.GetEntity(x.Key)?.CultureDegree
}).OrderByDescending(x => x.value);
ViewBag.TeacherByHighestRecordStr = JsonConvert.SerializeObject(teacherByHighestRecord);



return View();
}


+ 96
- 54
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragModelThree.cshtml Vedi File

@@ -13,6 +13,37 @@
}

<link rel="stylesheet" type="text/css" href="/Content/css/DragSSO/index3.css" />
<script>
var randomFun = function (x, y) {
var aa = parseInt(Math.random() * (x - y + 1) + y);
return aa;
};
//console.log(randomFun(5, 0));

//图表数据
//专业总览
//---班级总数
var ClassInfoTotalNum = "@ViewBag.ClassInfoTotalNum";
//---专业学生
var StuByMajorStr = "@ViewBag.StuByMajorStr";
var StuByMajor = JSON.parse(StuByMajorStr.replace(/&quot;/g, "\""));
//---专业教室
var ClassRoomTotalNum = "@ViewBag.ClassRoomTotalNum";
//课程总览
//---课程分类下的课程
var LessonBySortStr = "@ViewBag.LessonBySortStr";
var LessonBySort = JSON.parse(LessonBySortStr.replace(/&quot;/g, "\""));
//---课程类型下的课程
var LessonByTypeStr = "@ViewBag.LessonByTypeStr";
var LessonByType = JSON.parse(LessonByTypeStr.replace(/&quot;/g, "\""));
//教师总览
//---教师学历比例
var TeacherByHighestRecordStr = "@ViewBag.TeacherByHighestRecordStr";
var TeacherByHighestRecord = JSON.parse(TeacherByHighestRecordStr.replace(/&quot;/g, "\""));



</script>
<!-- / warpper -->
<div class="warpper">
<!-- search -->
@@ -204,15 +235,15 @@
<div class="echartBox" id="major"></div>
<div class="inSec3majorTxt inSec3majorTxt1">
<div>班级总数</div>
<div>12</div>
<div>@ViewBag.ClassInfoTotalNum</div>
</div>
<div class="inSec3majorTxt inSec3majorTxt2">
<div>专业学生</div>
<div>252</div>
<div>@ViewBag.StuInfoTotalNum</div>
</div>
<div class="inSec3majorTxt inSec3majorTxt3">
<div>专业教室 </div>
<div>97</div>
<div>专业教室</div>
<div>@ViewBag.ClassRoomTotalNum</div>
</div>
</div>
</div>
@@ -225,15 +256,15 @@
</div>
<div class="inSec3Con teacherBox">
<div class="teacherCon">
<div class="in3Sec3Total">在校学生总数 <b>1752</b> 人</div>
<div class="in3Sec3Total">在校学生总数 <b>@ViewBag.StuInfoTotalNum</b> 人</div>
<div class="in3Sec3PerBox">
<div class="in3Sec3Per">
男 <b>66</b> 人 <div class="in3Sec3Icon in3Sec3Green">43%</div>
男 <b>@ViewBag.StuInfoTotalNumOfMan</b> 人 <div class="in3Sec3Icon in3Sec3Green" id="StuInfoOfManRate"></div>
</div>
</div>
<div class="in3Sec3PerBox">
<div class="in3Sec3Per">
女 <b>66</b> 人 <div class="in3Sec3Icon in3Sec3Red">43%</div>
女 <b>@(ViewBag.StuInfoTotalNum - ViewBag.StuInfoTotalNumOfMan)</b> 人 <div class="in3Sec3Icon in3Sec3Red" id="StuInfoOfWomanRate"></div>
</div>
</div>
</div>
@@ -303,54 +334,42 @@
<img src="/Content/images/DragSSO/indexSec3-23.png" alt="">
<span>专业总数</span>
</div>
<div class="overviewTxt">
27
</div>
<div class="overviewTxt">@ViewBag.MajorTotalNum</div>
</div>
<div class="overviewBox">
<div class="overviewImg">
<img src="/Content/images/DragSSO/indexSec3-24.png" alt="">
<span>班级总数</span>
</div>
<div class="overviewTxt">
27
</div>
<div class="overviewTxt">@ViewBag.ClassInfoTotalNum</div>
</div>
<div class="overviewBox">
<div class="overviewImg">
<img src="/Content/images/DragSSO/indexSec3-25.png" alt="">
<span>在校学生</span>
</div>
<div class="overviewTxt">
27
</div>
<div class="overviewTxt">@ViewBag.StuInfoTotalNum</div>
</div>
<div class="overviewBox">
<div class="overviewImg">
<img src="/Content/images/DragSSO/indexSec3-26.png" alt="">
<span>在校教师</span>
</div>
<div class="overviewTxt">
27
</div>
<div class="overviewTxt">@ViewBag.TeacherTotalNum</div>
</div>
<div class="overviewBox">
<div class="overviewImg">
<img src="/Content/images/DragSSO/indexSec3-27.png" alt="">
<span>在用教室</span>
</div>
<div class="overviewTxt">
27
</div>
<div class="overviewTxt">@ViewBag.ClassRoomTotalNum</div>
</div>
<div class="overviewBox">
<div class="overviewImg">
<img src="/Content/images/DragSSO/indexSec3-28.png" alt="">
<span>在用实验室</span>
</div>
<div class="overviewTxt">
27
</div>
<div class="overviewTxt" id="shiyanshiTotalNum"></div>
</div>
</div>
</div>
@@ -363,15 +382,15 @@
</div>
<div class="inSec3Con teacherBox">
<div class="teacherCon">
<div class="in3Sec3Total">教师总数 <b>1752</b> 人</div>
<div class="in3Sec3Total">教师总数 <b>@ViewBag.TeacherTotalNum</b> 人</div>
<div class="in3Sec3PerBox">
<div class="in3Sec3Per">
男 <b>66</b> 人 <div class="in3Sec3Icon in3Sec3Green">43%</div>
男 <b>@ViewBag.TeacherTotalNumOfMan</b> 人 <div class="in3Sec3Icon in3Sec3Green" id="TeacherOfManRate"></div>
</div>
</div>
<div class="in3Sec3PerBox">
<div class="in3Sec3Per">
女 <b>66</b> 人 <div class="in3Sec3Icon in3Sec3Red">43%</div>
女 <b>@(ViewBag.TeacherTotalNum - ViewBag.TeacherTotalNumOfMan)</b> 人 <div class="in3Sec3Icon in3Sec3Red" id="TeacherOfWomanRate"></div>
</div>
</div>
</div>
@@ -432,13 +451,13 @@
<div class="organZ" style="height: 30%;"></div>
<div class="organCon organCon1">
<div>在编教师</div>
<div><span>95</span>人</div>
<div><span>62%</span></div>
<div><span>@ViewBag.TeacherTotalNumOfBianNei</span>人</div>
<div><span id="TeacherOfBianNeiRate"></span></div>
</div>
<div class="organCon organCon2">
<div>非在编教师</div>
<div><span>95</span>人</div>
<div><span>62%</span></div>
<div><span>@(ViewBag.TeacherTotalNum - ViewBag.TeacherTotalNumOfBianNei)</span>人</div>
<div><span id="TeacherOfNotBianNeiRate"></span></div>
</div>
</div>
</div>
@@ -459,35 +478,35 @@
<img src="/Content/images/DragSSO/inSec6-14.png" alt="">
<div>
<div>课程建设总数</div>
<div class="in3Sec3LT">167</div>
<div class="in3Sec3LT">@ViewBag.LessonTotalNum</div>
</div>
</div>
<div class="in3Sec3LBox">
<img src="/Content/images/DragSSO/inSec6-13.png" alt="">
<div>
<div>本学期开课总数</div>
<div class="in3Sec3LT">167</div>
<div class="in3Sec3LT">@ViewBag.OpenLessonTotalNum</div>
</div>
</div>
<div class="in3Sec3LBox">
<img src="/Content/images/DragSSO/inSec6-12.png" alt="">
<div>
<div>课程运行预警</div>
<div class="in3Sec3LT">167</div>
<div class="in3Sec3LT">@ViewBag.OpenLessonTotalNum</div>
</div>
</div>
</div>
<div class="echartBox" id="class"></div>
<div class="in3Sec3ClassTxt">课程分类</div>
<div class="layui-input-block classSort">
<select id="" name="wh" lay-filter="wh" lay-verify="required">
<option value="0-20">0-20</option>
<option value="20-40">20-40</option>
<option value="40-60">40-60</option>
<option value="60-80">60-80</option>
<option value="80-100" selected>机械执照专业机械执照专业机械执照专业</option>
</select>
</div>
@*<div class="layui-input-block classSort">
<select id="" name="wh" lay-filter="wh" lay-verify="required">
<option value="0-20">0-20</option>
<option value="20-40">20-40</option>
<option value="40-60">40-60</option>
<option value="60-80">60-80</option>
<option value="80-100" selected>机械执照专业机械执照专业机械执照专业</option>
</select>
</div>*@
</div>
</div>
</div>
@@ -566,22 +585,45 @@
<script>
//左侧-可用应用
var flowList = '@ViewBag.FlowList';
flowList = flowList.replace(/&quot;/g, "\"");
flowList = flowList.replace(/&quot;/g, "\"");
var flowListJson = JSON.parse(flowList);
$("#flowTypeList").find(".itemName").bind("click", function() {
var html = "";
var category = $(this).attr("itemName");
var html = "";
var category = $(this).attr("itemName");
$('#flowTypeList').find('li.active').removeClass('active');
$(this).parent('li').addClass("active");
$.each(flowListJson,function(i, item) {
if (category == "全部") {
html += "<li> <a href=\"/Home/Index?autoopen=56ce34c2-882e-47d1-b12d-5036e3b79fcf&id="+item.F_Id+"&shcemeCode="+item.F_Code+"\" target=\"_blank\"> <img src=\"/Content/images/DragSSO/inSec1-"+Math.floor(Math.random()*21+2)+".png\" /><span>"+item.F_Name+"</span> </a> </li>";
}else if (item.F_Category==category) {
html += "<li> <a href=\"/Home/Index?autoopen=56ce34c2-882e-47d1-b12d-5036e3b79fcf&id=" + item.F_Id + "&shcemeCode=" + item.F_Code +"\" target=\"_blank\"> <img src=\"/Content/images/DragSSO/inSec1-"+Math.floor(Math.random()*21+2)+".png\" /><span>"+item.F_Name+"</span> </a> </li>";
}
});
if (category == "全部") {
html += "<li> <a href=\"/Home/Index?autoopen=56ce34c2-882e-47d1-b12d-5036e3b79fcf&id="+item.F_Id+"&shcemeCode="+item.F_Code+"\" target=\"_blank\"> <img src=\"/Content/images/DragSSO/inSec1-"+Math.floor(Math.random()*21+2)+".png\" /><span>"+item.F_Name+"</span> </a> </li>";
}else if (item.F_Category==category) {
html += "<li> <a href=\"/Home/Index?autoopen=56ce34c2-882e-47d1-b12d-5036e3b79fcf&id=" + item.F_Id + "&shcemeCode=" + item.F_Code +"\" target=\"_blank\"> <img src=\"/Content/images/DragSSO/inSec1-"+Math.floor(Math.random()*21+2)+".png\" /><span>"+item.F_Name+"</span> </a> </li>";
}
});
$("#flowList").html(html);
})
})
$("#flowTypeList").find(".itemName").eq(0).trigger("click");

//校园总览-在用实验室
$("#shiyanshiTotalNum").html(randomFun((@ViewBag.ClassRoomTotalNum) / 5, 0));
//学生总览
var StuInfoOfManRate = parseInt((@ViewBag.StuInfoTotalNumOfMan) / (@ViewBag.StuInfoTotalNum) * 100);
//男比例
$("#StuInfoOfManRate").html(StuInfoOfManRate + "%");
//女比例
$("#StuInfoOfWomanRate").html((100-StuInfoOfManRate) + "%");
//教师总览
var TeacherOfManRate = parseInt((@ViewBag.TeacherTotalNumOfMan) / (@ViewBag.TeacherTotalNum) * 100);
var TeacherOfBianNeiRate = parseInt((@ViewBag.TeacherTotalNumOfBianNei) / (@ViewBag.TeacherTotalNum) * 100);
//男比例
$("#TeacherOfManRate").html(TeacherOfManRate + "%");
//女比例
$("#TeacherOfWomanRate").html((100-TeacherOfManRate) + "%");
//在编教师
$("#TeacherOfBianNeiRate").html(TeacherOfBianNeiRate + "%");
//非在编教师
$("#TeacherOfNotBianNeiRate").html((100-TeacherOfBianNeiRate) + "%");




</script>

+ 18
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/LessonInfo/LessonInfoBLL.cs Vedi File

@@ -212,6 +212,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}
public IEnumerable<LessonInfoEntity> GetAllList()
{
try
{
return lessonInfoService.GetAllList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
#endregion

}


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/LessonInfo/LessonInfoIBLL.cs Vedi File

@@ -54,6 +54,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <returns></returns>
void SaveEntity(string keyValue, LessonInfoEntity entity);
IEnumerable<LessonInfoEntity> GetAllLesson();
IEnumerable<LessonInfoEntity> GetAllList();
#endregion

}


+ 18
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/LessonInfo/LessonInfoService.cs Vedi File

@@ -314,6 +314,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}
public IEnumerable<LessonInfoEntity> GetAllList()
{
try
{
return this.BaseRepository("CollegeMIS").FindList<LessonInfoEntity>();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
#endregion

}


Caricamento…
Annulla
Salva