You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

printxjk.cshtml 12 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. @using Learun.Util
  2. @using Microsoft.Practices.ObjectBuilder2
  3. @model Learun.Application.TwoDevelopment.EducationalAdministration.StuInfoBasicEntity
  4. <!DOCTYPE html
  5. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <!-- saved from url=(0051)http://localhost:8080/MDITIP/printOutContent.action -->
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  10. <title>打印</title>
  11. <meta http-equiv="pragma" content="no-cache" />
  12. <meta http-equiv="cache-control" content="no-cache" />
  13. <meta http-equiv="expires" content="0" />
  14. <style>
  15. h4 {
  16. font-size: 23px;
  17. font-weight: 400;
  18. width: 50%;
  19. text-align: center;
  20. margin: 0 auto;
  21. }
  22. em {
  23. font-style: normal
  24. }
  25. b {
  26. margin-left: 20px;
  27. }
  28. input {
  29. border: 0;
  30. outline: none;
  31. cursor: pointer;
  32. }
  33. span {
  34. width: 30%;
  35. float: right;
  36. }
  37. table {
  38. width: 100%;
  39. border: 1px solid #222;
  40. border-top: none;
  41. border-bottom: none;
  42. border-collapse: collapse;
  43. border-spacing: 0px;
  44. }
  45. td {
  46. width: 14%;
  47. height: 44px;
  48. border: 1px solid #222;
  49. text-align: center;
  50. }
  51. .pageBreak {
  52. page-break-after: always;
  53. }
  54. .btn {
  55. width: 100px;
  56. height: 34px;
  57. line-height: 34px;
  58. text-align: center;
  59. margin: 30px auto;
  60. border: 1px solid #ccc;
  61. cursor: pointer;
  62. border-radius: 4px;
  63. }
  64. </style>
  65. </head>
  66. <body>
  67. <div id="print-content">
  68. <div class="header">
  69. <h4>长阳土家族自治县职业教育中心学生学籍卡</h4>
  70. </div>
  71. <p>
  72. <b><em>经办人:</em><input type="text" /></b>
  73. <span>打印日期:@ViewBag.PrintDate.ToShortDateString().Replace("/", "-")</span>
  74. </p>
  75. <!-- 页面记录信息 -->
  76. <table cellpadding="0" cellspacing="0">
  77. <tr>
  78. <td>姓名</td>
  79. <td>@Model.StuName</td>
  80. <td>性别</td>
  81. <td id="GenderNo">@Model.GenderNo</td>
  82. <td>出生日期</td>
  83. <td>@(Model.Birthday.HasValue ? Model.Birthday.Value.ToShortDateString().Replace("/", "-") : "")</td>
  84. <td rowspan="3"><img src="@Model.Photo" style="width: 80%;" alt="" /></td>
  85. </tr>
  86. <tr>
  87. <td>民族</td>
  88. <td id="NationalityNo">@Model.NationalityNo</td>
  89. <td>政治面貌</td>
  90. <td id="PartyFaceNo">@Model.PartyFaceNo</td>
  91. <td>班级</td>
  92. <td id="ClassNo">@Model.ClassNo</td>
  93. </tr>
  94. <tr>
  95. <td>学号</td>
  96. <td>@Model.StuNo</td>
  97. <td>学制</td>
  98. <td>@Model.EduSystem</td>
  99. <td>年级</td>
  100. <td>@Model.Grade</td>
  101. </tr>
  102. <tr>
  103. <td>学籍号</td>
  104. <td>@Model.StuCode</td>
  105. <td>专业</td>
  106. <td id="MajorNo">@Model.MajorNo</td>
  107. <td>身份证号</td>
  108. <td colspan="2">@Model.IdentityCardNo</td>
  109. </tr>
  110. <tr>
  111. <td>入学年月</td>
  112. <td>@(Model.EntranceDate.HasValue ? Model.EntranceDate.Value.ToShortDateString().Replace("/", "-") : "")</td>
  113. <td>入学方式</td>
  114. <td id="EntranceWay">@Model.EntranceWay</td>
  115. <td>学习形式</td>
  116. <td colspan="2" id="StudyModality">@Model.StudyModality</td>
  117. </tr>
  118. <tr>
  119. <td>家庭住址</td>
  120. <td colspan="3">@Model.MailAddress</td>
  121. <td>毕业时间</td>
  122. <td colspan="2"><input type="text" style="width: 90% ;" /></td>
  123. </tr>
  124. <tr>
  125. <td>异动情况</td>
  126. <td colspan="7"><input type="text" style="width: 90% ;" /></td>
  127. </tr>
  128. <tr>
  129. <td colspan="8">学业成绩</td>
  130. </tr>
  131. </table>
  132. <table cellpadding="0" cellspacing="0">
  133. <tbody>
  134. <tr>
  135. <td>学期</td>
  136. <td>课程名称</td>
  137. <td>成绩</td>
  138. <td>课程名称</td>
  139. <td>成绩</td>
  140. <td>课程名称</td>
  141. <td>成绩</td>
  142. </tr>
  143. </tbody>
  144. </table>
  145. <div class="tablehtml">
  146. </div>
  147. <div class="btn">打印</div>
  148. </div>
  149. <script src="~/Content/jquery/plugin/fullcalendar/js/jquery-1.7.2.min.js"></script>
  150. <script src="~/Content/jquery/plugin/jqprint/jquery.jqprint-0.3.js"></script>
  151. <script>
  152. $('.btn').click(function () {
  153. window.print();
  154. });
  155. //绑定字典或源的值
  156. function GetDataSourceStr(code, value, text, valueStr, box) {
  157. $(box).html("");
  158. $.ajax({
  159. url: "/OnlineRegistrate/GetDataSourceMap?code=" + code,
  160. async: false,
  161. success: function (msg) {
  162. var msgObject = $.parseJSON(msg);
  163. if (msgObject.code == 200) {
  164. $.each(msgObject.data, function (i, item) {
  165. if (item[value] == valueStr) {
  166. $(box).html(item[text]);
  167. return;
  168. }
  169. });
  170. } else {
  171. layer.msg(msgObject.info);
  172. }
  173. },
  174. });
  175. return;
  176. };
  177. function GetDataItemStr(code, valueStr, box) {
  178. $(box).html("");
  179. $.ajax({
  180. url: "/OnlineRegistrate/GetDataItemMap?code=" + code,
  181. async: false,
  182. success: function (msg) {
  183. var msgObject = $.parseJSON(msg);
  184. if (msgObject.code == 200) {
  185. $.each(msgObject.data, function (i, item) {
  186. if (item["F_ItemValue"] == valueStr) {
  187. $(box).html(item["F_ItemName"]);
  188. return;
  189. }
  190. });
  191. } else {
  192. layer.msg(msgObject.info);
  193. }
  194. },
  195. });
  196. return;
  197. };
  198. GetDataItemStr("usersexbit", "@Model.GenderNo.ToString().ToLower()", "#GenderNo");
  199. GetDataItemStr("National", "@Model.NationalityNo", "#NationalityNo");
  200. GetDataItemStr("PolityStatus", "@Model.PartyFaceNo", "#PartyFaceNo");
  201. GetDataItemStr("StudyModality", "@Model.StudyModality", "#StudyModality");
  202. GetDataSourceStr("CdMajorInfo", "majorno", "majorname", "@Model.MajorNo", "#MajorNo");
  203. GetDataSourceStr("bjsj", "classno", "classname", "@Model.ClassNo", "#ClassNo");
  204. $(window).load(function () {
  205. var listData1 = "@Model.StuScoreClassOneList.ToJson()";
  206. var listData = JSON.parse(listData1.replace(/&quot;/g, "\""));
  207. // 有六个学期
  208. var tableHtml = ""
  209. for (var j = 0; j < listData.length; j++) {
  210. tableHtml += "<table cellpadding='0' cellspacing='0' id='table" + j + "'>"
  211. var trNum = Math.ceil(listData[j].StuScoreList.length / 3)
  212. // 代表当前有几行 不确定是否每行都是满的
  213. var str = ""
  214. // 循环其行tr
  215. for (var i = 0; i < trNum; i++) {
  216. var std = ""
  217. str += "<tr>"
  218. // 开始循环6列 三门成绩
  219. // 循环3次td每次两个
  220. for (var k = 0; k < 2; k++) {
  221. if(k==0){
  222. // 如果是第一列
  223. if(i==0){
  224. // 如果是第一行的第一列
  225. std += `<td rowspan='5'>第${j + 1}学期</td>`
  226. }else{
  227. // 如果是不是第一行的第一列 则什么都不加
  228. }
  229. }else{
  230. // 如果不是第一列
  231. // i是第几行 i*3-1 (i-1)*3
  232. var startNum = (i)*3
  233. var endNum = (i+1)*3-1
  234. // 控制单元格从第几个开始,到底几个结束
  235. for(var tdsNum = startNum;tdsNum<=endNum;tdsNum++){
  236. // console.log(tdsNum,'222',listData[j].StuScoreList[3]['text'])
  237. // 有取到数据
  238. if(listData[j].StuScoreList[tdsNum]){
  239. std += `<td>${listData[j].StuScoreList[tdsNum]['LessonName']}</td><td>${listData[j].StuScoreList[tdsNum]['Score']}</td>`
  240. }else{
  241. // 无数据
  242. std +=`<td></td><td></td>`
  243. }
  244. }
  245. }
  246. }
  247. str += std + "</tr>"
  248. }
  249. tableHtml += str + "</table>"
  250. }
  251. setTimeout(() => {
  252. $(".tablehtml").html(tableHtml)
  253. },100)
  254. var yiH = $("#table0").height()
  255. var erH = $("#table1").height()
  256. var sanH = $("#table2").height()
  257. var siH = $("#table3").height()
  258. var wuH = $("#table4").height()
  259. var liuH = $("#table5").height()
  260. var siNumH = erH + sanH + siH
  261. // erDom.classList.add("pageBreak")
  262. $("#table1").addClass("pageBreak")
  263. // removeClass()
  264. if (yiH > 300) {
  265. $("#table0").addClass("pageBreak")
  266. $("#table5").addClass("pageBreak")
  267. }
  268. if (erH > 300) {
  269. $("#table0").addClass("pageBreak")
  270. $("#table1").removeClass("pageBreak")
  271. }
  272. if (sanH > 300) {
  273. $("#table1").removeClass("pageBreak")
  274. $("#table2").addClass("pageBreak")
  275. $("#table3").removeClass("pageBreak")
  276. $("#table4").removeClass("pageBreak")
  277. }
  278. if (siH > 400) {
  279. $("#table3").addClass("pageBreak")
  280. $("#table5").removeClass("pageBreak")
  281. $("#table4").removeClass("pageBreak")
  282. }
  283. if (wuH > 400) {
  284. $("#table4").addClass("pageBreak")
  285. liuDom.removeClass("pageBreak")
  286. }
  287. if (liuH > 400) {
  288. $("#table4").addClass("pageBreak")
  289. }
  290. if ((yiH + erH) > 200) {
  291. $("#table1").addClass("pageBreak")
  292. $("#table2").removeClass("pageBreak")
  293. $("#table3").removeClass("pageBreak")
  294. $("#table4").removeClass("pageBreak")
  295. $("#table5").removeClass("pageBreak")
  296. }
  297. if ((erH + sanH) > 600) {
  298. $("#table2").addClass("pageBreak")
  299. $("#table3").removeClass("pageBreak")
  300. $("#table4").removeClass("pageBreak")
  301. $("#table5").removeClass("pageBreak")
  302. }
  303. if ((sanH + siH) > 700) {
  304. // siDom.classList.add("pageBreak")
  305. $("#table4").removeClass("pageBreak")
  306. $("#table5").removeClass("pageBreak")
  307. }
  308. if ((siH + wuH) > 700) {
  309. $("#table4").addClass("pageBreak")
  310. $("#table5").removeClass("pageBreak")
  311. }
  312. if ((erH + sanH + siH) > 700) {
  313. $("#table2").addClass("pageBreak")
  314. $("#table3").removeClass("pageBreak")
  315. $("#table4").classList.add("pageBreak")
  316. }
  317. })
  318. </script>
  319. </body>
  320. </html>