ViewGrade.cshtml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. @model EMIS.ViewModel.Students.StudentGradView
  2. @using EMIS.Web.Controls;
  3. @using Bowin.Web.Controls.Mvc;
  4. @{
  5. ViewBag.Title = "Edit";
  6. decimal? ScoreCredit=0;
  7. var CurseGrade = (IList<EMIS.ViewModel.Students.CourseGradeView>)ViewBag.CurseGrade;
  8. var grade = @Model.AverageGrade;
  9. }
  10. <style type="text/css">
  11. #Coursematerialtable
  12. {
  13. width: 100%;
  14. border: 0px none;
  15. }
  16. #Coursematerialtable tr
  17. {
  18. min-height: 30px;
  19. }
  20. </style>
  21. @section scripts{
  22. <script type="text/javascript">
  23. $(function () {
  24. var count = document.getElementsByName("Coursematerialtable2").length;
  25. if (count > 5) {
  26. var height = 0;
  27. var a = 100 + (count - 5) * 20;
  28. $("#divScroll").width(a + "%");
  29. for (var i = 0; i < count; i++) {
  30. //将各个学期成绩表格宽度平分
  31. document.getElementsByName("Coursematerialtable2")[i].style.width = 100 / count + "%";
  32. //现将各个学期成绩表格实际宽度累加
  33. // height += document.getElementsByName("Coursematerialtable2")[i].offsetWidth;
  34. }
  35. // $("#divScroll").width(height);
  36. }
  37. else {
  38. for (var i = 0; i < count; i++) {
  39. document.getElementsByName("Coursematerialtable2")[i].style.width = "20%";
  40. }
  41. }
  42. })
  43. function LoadScore(CoursematerialID, StartTermID, UserID) {
  44. $("#display_search_list").css('display', 'block');
  45. $("#CoursematerialID").val(CoursematerialID);
  46. $("#StarTermID").val(StartTermID);
  47. $("#UserID").val(UserID);
  48. $("#dgCourseScheduleSettingList").cmsXDataTable("load", { CoursematerialID: CoursematerialID, StartTermID: StartTermID, UserID: UserID });
  49. }
  50. //列表字体颜色设置为红色
  51. function SetRedColumn(index, row, value) {
  52. return " <span style=\"color: red;\">" + value + "</span>";
  53. }
  54. //Excel导出
  55. function CourseGrade_Export() {
  56. $("#formQuery").submit();
  57. }
  58. function StudentScore_Report() {
  59. var redirectTo = "/CourseGrade/StudentScoreReport?LoginID=" + $("#LoginID").val();
  60. $.popupTopWindow('学生成绩表', redirectTo, 1100, 550, null, null);
  61. // var redirectTo = '/StudentScore/StudentScoreReport?MNU=' + "" + "&CollegeID="
  62. // + "&Years=&GrademajorID=&ClassmajorID=&Attribute=LoginID&Condition==&Value=" + $("#LoginID").val();
  63. // $.popupTopWindow('学生成绩表', redirectTo, 1100, 550, null, null);
  64. }
  65. </script>
  66. }
  67. <div class="easyui-panel" data-options="border:false,fit:true" style="position: relative">
  68. <form id="formQuery" method="post" action="@Url.Content("~/CourseGrade/Excel")">
  69. @Html.Hidden("CoursematerialID")
  70. @Html.Hidden("StarTermID")
  71. @Html.Hidden("UserID")
  72. </form>
  73. @using (Ajax.BeginForm(new AjaxOptions
  74. {
  75. OnSuccess = "EMISFunction.FormSuccess",
  76. OnBegin = "EMISFunction.FormSubmit",
  77. OnComplete = "EMISFunction.FormComplete"
  78. }))
  79. {
  80. <div class="">
  81. <div style="float: left; margin-left: 10px; line-height: 30px; font-size: 12px;">
  82. @ViewBag.Path
  83. </div>
  84. <div style="margin-right: 10px; line-height: 30px; font-size: 12px;">@Html.ContextMenuBar("Edit")</div>
  85. </div>
  86. <div class="search_list">
  87. @Html.HiddenFor(x => x.UserID)@Html.HiddenFor(x => x.LoginID)
  88. <table cellpadding="0" cellspacing="0" id="Coursematerialtable">
  89. <tr>
  90. <td width="220">@Html.LabelFor(x => x.LoginID):
  91. </td>
  92. <td>@Model.LoginID
  93. </td>
  94. <td>
  95. @Html.LabelFor(x => x.FacultyName):
  96. </td>
  97. <td>
  98. @Model.FacultyName
  99. </td>
  100. <td>
  101. @Html.LabelFor(x => x.ClassName):
  102. </td>
  103. <td>
  104. @Model.ClassName
  105. </td>
  106. </tr>
  107. <tr>
  108. <td width="220">@Html.LabelFor(x => x.PlanningGraduateDate):
  109. </td>
  110. <td>@Html.DisplayFor(x => x.PlanningGraduateDate)
  111. </td>
  112. <td>
  113. @Html.LabelFor(x => x.Menshu):
  114. </td>
  115. <td>
  116. @Model.Menshu
  117. </td>
  118. <td>
  119. @Html.LabelFor(x => x.AverageGrade):
  120. </td>
  121. <td>
  122. @(String.Format("{0:N1}", @Model.AverageGrade))
  123. </td>
  124. </tr>
  125. @*<tr>
  126. <td width="220">
  127. @Html.LabelFor(x => x.ScoreCredit):
  128. </td>
  129. <td>@Model.ScoreCredit
  130. </td>
  131. <td>
  132. @Html.LabelFor(x => x.Required):
  133. </td>
  134. <td>
  135. @Model.Required
  136. </td>
  137. <td>
  138. @Html.LabelFor(x => x.CapLimit):
  139. </td>
  140. <td>
  141. @Model.CapLimit
  142. </td>
  143. </tr>
  144. <tr>
  145. <td width="220">
  146. @Html.LabelFor(x => x.Optional):
  147. </td>
  148. <td>@Model.Optional
  149. </td>
  150. <td>
  151. @Html.LabelFor(x => x.Direction):
  152. </td>
  153. <td>
  154. @Model.Direction
  155. </td>
  156. <td>
  157. @Html.LabelFor(x => x.Commonality):
  158. </td>
  159. <td>
  160. @Model.Commonality
  161. </td>
  162. </tr>*@
  163. <tr>
  164. <td colspan="6">
  165. </td>
  166. </tr>
  167. </table>
  168. <div id="search_list" style="width: 100%; overflow-x: scroll; scrollbar-arrow-color: #70807d;
  169. scrollbar-highlight-color: #ffffff; scrollbar-3dlight-color: #70807d; scrollbar-shadow-color: #ffffff;
  170. scrollbar-darkshadow-color: #70807d; scrollbar-track-color: #ffffff; scrollbar-face-color: #cccccc">
  171. <div id="divScroll" style="width: 100%">
  172. @foreach (var starttermID in CurseGrade.GroupBy(q => q.StarttermID).Select(q => q.Key))
  173. {
  174. var YearGrade = CurseGrade.Where(q => q.StarttermID == starttermID).ToList();
  175. <table cellpadding="1" cellspacing="1" style="margin-bottom: 5px; float: left; background-color: #D6D6D6;
  176. margin-bottom: 5px;" id="Coursematerialtable2" name='Coursematerialtable2'>
  177. <tr>
  178. @*<td align="center" colspan="3" style="background-color: #F0F0F0">
  179. 第@(starttermID)学期
  180. </td>*@
  181. <td align="center" colspan="3" style="background-color: #F0F0F0">
  182. @(YearGrade[0].StarttermName)
  183. </td>
  184. </tr>
  185. <tr>
  186. <td align="center" style="background-color: #F0F0F0">
  187. 课程名
  188. </td>
  189. <td align="center" style="background-color: #F0F0F0">
  190. 成绩
  191. </td>
  192. <td align="center" style="background-color: #F0F0F0">
  193. 学分
  194. </td>
  195. </tr>
  196. @foreach (var Grade in YearGrade)
  197. {
  198. <tr>
  199. <td align="center" style="background-color:@(Grade.CourseTypeColour)">
  200. <a style=" color:Blue" href="javascript:void(0);" onclick="return LoadScore('@(Grade.CoursematerialID)',@(starttermID),'@(Grade.UserID)');">@(Grade.CourseName)</a>
  201. </td>
  202. <td align="center">@(String.Format("{0:N1}", Grade.TotalScoreStr))
  203. </td>
  204. <td align="center">
  205. @(Grade.ScoreCredit)
  206. </td>
  207. </tr>
  208. }
  209. </table>
  210. }</div>
  211. </div>
  212. <div id="display_search_list" style="display: none;">
  213. <div style="float: left; margin-left: 10px; line-height: 30px; font-size: 12px;">
  214. 成绩详细信息</div>
  215. <div style="margin-right: 10px; line-height: 30px; font-size: 12px;">@Html.ContextMenuBar("List")</div>
  216. @Html.DataGrid(new DataGridOptions
  217. {
  218. Columns = new List<DataGridColumn>()
  219. {
  220. new CheckBoxFieldColumn{ HeaderText="", FieldName="SubmitedScoreID" },
  221. new BoundFieldColumn { FieldName="SchoolyearCode", HeaderText="学年学期", Align=AlignStyle.Center, Width=0.06 },
  222. new BoundFieldColumn { FieldName="LoginID", HeaderText="学号", Align=AlignStyle.Center, Width=0.08},
  223. new BoundFieldColumn { FieldName="UserName", HeaderText="姓名", Align=AlignStyle.Center, Width=0.04 },
  224. new BoundFieldColumn { FieldName="CourseCode", HeaderText="课程代码", Align=AlignStyle.Center, Width=0.04 },
  225. new BoundFieldColumn { FieldName="CourseName", HeaderText="课程名称", Align=AlignStyle.Center, Width=0.1 },
  226. new BoundFieldColumn { FieldName="CoursetypeName", HeaderText="课程类型", Align=AlignStyle.Center, Width=0.05 },
  227. new BoundFieldColumn { FieldName="ExamsCategoryName", HeaderText="考试性质", Align=AlignStyle.Center, Width=0.04 },
  228. new BoundFieldColumn { FieldName="ExamsStateName", HeaderText="考试状态", Align=AlignStyle.Center, Width=0.04 },
  229. new BoundFieldColumn { FieldName="Pingshi", HeaderText=@EMIS.Utility.RSL.Get("Peacetime"), Align=AlignStyle.Center , Width=0.04},
  230. new BoundFieldColumn { FieldName="Jishu", HeaderText=@EMIS.Utility.RSL.Get("Technique"), Align=AlignStyle.Center, Width=0.04 },
  231. new BoundFieldColumn { FieldName="Lilun", HeaderText=@EMIS.Utility.RSL.Get("Theoretical"), Align=AlignStyle.Center, Width=0.04 },
  232. new BoundFieldColumn { FieldName="TotalScoreStr", HeaderText="总成绩", Align=AlignStyle.Center, Width=0.03, CustomFormatFun="SetRedColumn" },
  233. new BoundFieldColumn { FieldName="ScoreCredit", HeaderText="学分", Align=AlignStyle.Center, Width=0.02, CustomFormatFun="SetRedColumn" },
  234. new BoundFieldColumn { FieldName="CreateTime", HeaderText="录入时间", Align=AlignStyle.Center, Width=0.06, Formatter= Formatter.OnlyYearMonthDay, CustomFormatFun="SetRedColumn" },
  235. new BoundFieldColumn { FieldName="OperaUser", HeaderText="录入人", Align=AlignStyle.Center, Width=0.04 },
  236. new BoundFieldColumn { FieldName="StudentScoreRemark", HeaderText="备注", Align=AlignStyle.Center, Width=0.02 }
  237. },
  238. IsCheckOnSelect = false,
  239. DataSourceUrl = Url.Content("~/CourseGrade/GetSubmitedScoreList"),
  240. ID = "dgCourseScheduleSettingList",
  241. IsPagination = true,
  242. IsShowRowNumbers = true,
  243. IsSingleSelect = false
  244. })
  245. </div>
  246. </div>
  247. }
  248. </div>