diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuScoreNotPassController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuScoreNotPassController.cs index 27996dfcc..fcc02a6f5 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuScoreNotPassController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuScoreNotPassController.cs @@ -416,6 +416,58 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers return Success("操作成功!"); } + + /// + /// 导出列表 + /// + /// + [HttpPost, ValidateInput(false)] + public ActionResult ExportInputScoreList(string headdata,string rowdata) + { + var headData = JsonConvert.DeserializeObject>(headdata); + var rowData = JsonConvert.DeserializeObject>>(rowdata); + + var result = new List>(); + foreach (var item in rowData) + { + var aaa = new Dictionary(); + foreach (var i in item) + { + aaa.Add(i.label, i.name); + } + + result.Add(aaa); + } + var resultStr = JsonConvert.SerializeObject(result); + + //成绩源 + var exportTable = resultStr.ToTable(); + //设置导出格式 + ExcelConfig excelconfig = new ExcelConfig(); + excelconfig.Title = "全员补考成绩管理"; + excelconfig.TitleFont = "微软雅黑"; + excelconfig.TitlePoint = 20; + excelconfig.FileName = "全员补考成绩管理.xls"; + excelconfig.IsAllSizeColumn = true; + //每一列的设置,没有设置的列信息,系统将按datatable中的列名导出 + excelconfig.ColumnEntity = new List(); + foreach (var item in headData) + { + excelconfig.ColumnEntity.Add(new ColumnModel() { Column = item.name, ExcelColumn = item.label }); + } + + //调用导出方法 + ExcelHelper.ExcelDownload(exportTable, excelconfig); + + return Success("导出成功!"); + } + /// + /// 列 + /// + public class colModel { + public string label { get; set; } + public string name { get; set; } + } #endregion } } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.cshtml index 87d030286..dd1e7a67d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.cshtml +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.cshtml @@ -90,6 +90,9 @@  提交教务处  去审核成绩 +
+  导出 +
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.js index ac52af15d..b5cef6a79 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.js @@ -343,6 +343,43 @@ var bootstrap = function ($, learun) { learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPass/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { }); } }); + + // 导出 + $('#lr_export').on('click', function () { + var aa = $('#gridtable')[0].dfop.running; + //console.log(aa); + var bb = new Array(); + for (var i = 0; i < aa.headData.length; i++) { + var bbitem = { + label: aa.headData[i].data["label"], + name: aa.headData[i].data["name"] + } + bb.push(bbitem); + } + //console.log(bb); + var cc = new Array(); + for (var i = 0; i < aa.rowdata.length; i++) { + var dd = new Array(); + for (var j = 0; j < bb.length; j++) { + var dditem = { + label: bb[j]["name"], + name: aa.rowdata[i]["" + bb[j]["name"] + ""]["text"], + } + dd.push(dditem); + } + cc.push(dd); + } + //console.log(cc); + learun.download({ + method: "POST", + url: top.$.rootUrl + '/EducationalAdministration/StuScoreNotPass/ExportInputScoreList', + param: { + headdata: JSON.stringify(bb), + rowdata: JSON.stringify(cc) + } + }); + + }); }, bindSelect: function () { //校区 diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Base/SystemModule/DataItem/DataItemBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Base/SystemModule/DataItem/DataItemBLL.cs index 14938f04d..a39e1d427 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Base/SystemModule/DataItem/DataItemBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Base/SystemModule/DataItem/DataItemBLL.cs @@ -131,7 +131,8 @@ namespace Learun.Application.Base.SystemModule /// 主键 /// 编码 /// - public bool ExistItemCode(string keyValue, string itemCode) { + public bool ExistItemCode(string keyValue, string itemCode) + { try { bool res = false; @@ -199,7 +200,8 @@ namespace Learun.Application.Base.SystemModule /// /// 主键 /// 实体 - public void SaveClassifyEntity(string keyValue, DataItemEntity entity) { + public void SaveClassifyEntity(string keyValue, DataItemEntity entity) + { try { dataItemService.SaveClassifyEntity(keyValue, entity); @@ -279,7 +281,7 @@ namespace Learun.Application.Base.SystemModule try { List list = cache.Read>(cacheKeyDetail + itemCode, CacheId.dataItem); - if (list?.Count==0 || list==null) + if (list?.Count == 0 || list == null) { list = (List)dataItemService.GetDetailList(itemCode); cache.Write>(cacheKeyDetail + itemCode, list, CacheId.dataItem); @@ -303,26 +305,34 @@ namespace Learun.Application.Base.SystemModule /// 获取数据字典详细映射数据 /// /// - public Dictionary> GetModelMap() + public Dictionary> GetModelMap() { try { - Dictionary> dic = cache.Read>>(cacheKeyDetail + "dic", CacheId.dataItem); - if (dic == null) { - dic = new Dictionary>(); + Dictionary> dic = cache.Read>>(cacheKeyDetail + "dic", CacheId.dataItem); + if (dic == null) + { + dic = new Dictionary>(); var list = GetClassifyList(); - foreach (var item in list) { + foreach (var item in list) + { var detailList = GetDetailList(item.F_ItemCode); - if (!dic.ContainsKey(item.F_ItemCode)) { - dic.Add(item.F_ItemCode,new Dictionary()); + if (!dic.ContainsKey(item.F_ItemCode)) + { + dic.Add(item.F_ItemCode, new Dictionary()); } - foreach (var detailItem in detailList) { - dic[item.F_ItemCode].Add(detailItem.F_ItemDetailId, new DataItemModel() + foreach (var detailItem in detailList) + { + if (!dic[item.F_ItemCode].ContainsKey(detailItem.F_ItemDetailId)) { - parentId = detailItem.F_ParentId, - text = detailItem.F_ItemName, - value = detailItem.F_ItemValue - }); + dic[item.F_ItemCode].Add(detailItem.F_ItemDetailId, new DataItemModel() + { + parentId = detailItem.F_ParentId, + text = detailItem.F_ItemName, + value = detailItem.F_ItemValue + }); + } + } } cache.Write(cacheKeyDetail + "dic", dic, CacheId.dataItem); @@ -354,7 +364,8 @@ namespace Learun.Application.Base.SystemModule try { List list = GetDetailList(itemCode); - if (!string.IsNullOrEmpty(keyword)) { + if (!string.IsNullOrEmpty(keyword)) + { list = list.FindAll(t => t.F_ItemName.Contains(keyword) || t.F_ItemValue.Contains(keyword)); } return list; @@ -416,7 +427,8 @@ namespace Learun.Application.Base.SystemModule { List list = GetDetailList(itemCode); List treeList = new List(); - foreach (var item in list) { + foreach (var item in list) + { TreeModel node = new TreeModel(); node.id = item.F_ItemDetailId; node.text = item.F_ItemName;