GTScoreEdit.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. var mnu;
  2. var time;
  3. var isWindowCanClose = false;
  4. $(function () {
  5. mnu = $.SystemGeneral.getUrlParam("MNU");
  6. //mnu = $.SystemGeneral.getUrlParam("scoreFormula");
  7. var Isdisplay = $.SystemGeneral.getUrlParam("Isdisplay");
  8. // if (Isdisplay == "" || Isdisplay == null) {
  9. // top["ScoreEditSetInterval"] = top.setInterval(setTimeout_Save, 900000);
  10. // }
  11. });
  12. //获取选中的数据
  13. function validChoose() {
  14. var d = [];
  15. $.each($("#dgScoreDetailList").cmsXDataTable("getSelections"), function (index) {
  16. d.push(this);
  17. });
  18. return d;
  19. }
  20. function reload() {
  21. $("#dgScoreDetailList").cmsXDataTable("load", $.getDataGridParams("dgScoreDetailList"));
  22. }
  23. function Score_Calculate() {
  24. var hid_FormulaColumns = $("#hid_FormulaColumns").val(); //获取动态列
  25. hid_FormulaColumns = hid_FormulaColumns.substr(0, hid_FormulaColumns.length - 1);
  26. var scoreFormulaDropdownList = $("#ScoreFormulaDropdownList").combobox("getValue");
  27. var creditFormulaDropdownList = $("#CreditFormulaDropdownList").combobox("getValue");
  28. var gradePointFormulaDropdownList = $("#GradePointFormulaDropdownList").combobox("getValue");
  29. var scoreDetailList = $("#dgScoreDetailList").cmsXDataTable("getRows");
  30. var scoreFormula = eval("(" + scoreFormulaDropdownList + ")");
  31. var creditFormula = eval("(" + creditFormulaDropdownList + ")");
  32. var gradePointFormula = eval("(" + gradePointFormulaDropdownList + ")");
  33. var oneScore = 0;
  34. var twoScore = 0;
  35. var three = 0;
  36. for (var i = 0; i < scoreDetailList.length; i++) {
  37. if (scoreDetailList[i].Formula_1 !== "" && scoreDetailList[i].Formula_1 !=null) {
  38. if (parseInt(scoreDetailList[i].Formula_1) != 0) {
  39. oneScore += parseInt(scoreDetailList[i].Formula_1);
  40. }
  41. else
  42. {
  43. oneScore += 1;
  44. }
  45. }
  46. }
  47. for (var i = 0; i < scoreDetailList.length; i++) {
  48. if (scoreDetailList[i].Formula_2 !== "" && scoreDetailList[i].Formula_2 != null) {
  49. if (parseInt(scoreDetailList[i].Formula_2) != 0) {
  50. twoScore += parseInt(scoreDetailList[i].Formula_2);
  51. }
  52. else
  53. {
  54. twoScore += 1;
  55. }
  56. }
  57. }
  58. for (var i = 0; i < scoreDetailList.length; i++) {
  59. if (scoreDetailList[i].Formula_3 !== "" && scoreDetailList[i].Formula_3 != null) {
  60. if (parseInt(scoreDetailList[i].Formula_3) != 0) {
  61. three += parseInt(scoreDetailList[i].Formula_3);
  62. }
  63. else
  64. {
  65. three += 1;
  66. }
  67. }
  68. }
  69. if (twoScore != 0 && three != 0) {
  70. $.each(scoreDetailList, function (index, value) {
  71. var score = "";
  72. var tot = 0;
  73. var tatolscore = 0;
  74. var tatolcredit = 0;
  75. var tatolgradePoint = 0;
  76. var limit = 0;
  77. var floor = 0;
  78. if (value.ExamsStateID == 1) {
  79. if (value.Formula_1 != "" && value.Formula_1 != null) {
  80. oneScore = parseInt(value.Formula_1);
  81. }
  82. else
  83. {
  84. oneScore = 0;
  85. }
  86. if (value.Formula_2 != "" && value.Formula_2 != null) {
  87. twoScore = parseInt(value.Formula_2);
  88. }
  89. else
  90. {
  91. twoScore = 0;
  92. }
  93. if (value.Formula_3 != "" && value.Formula_3 != null) {
  94. three = parseInt(value.Formula_3);
  95. }
  96. else
  97. {
  98. three = 0;
  99. }
  100. if (value.Formula_2 >= 60 && value.Formula_3 >= 60) {
  101. tatolscore = (oneScore * 0.1) + (twoScore * 0.6) + (three * 0.3);
  102. }
  103. if (tatolscore == 0) {
  104. tot += 200;
  105. }
  106. if (tatolscore.toFixed(0) >= creditFormula["Scores"]) {
  107. tatolcredit = $("#Credit").val();
  108. }
  109. if (tatolscore.toFixed(0) >= gradePointFormula["GradePointlimit"]) {
  110. tatolgradePoint = 1;
  111. var tscore = parseInt(tatolscore);
  112. if (tscore > gradePointFormula["GradePointlimit"]) {
  113. tatolgradePoint += (tscore - gradePointFormula["GradePointlimit"]) * gradePointFormula["GradePointFloor"].toFixed(2);
  114. }
  115. }
  116. if (tot == 600) {
  117. value.TotalScore = score;
  118. value.Credit = score;
  119. value.GradePoint = score;
  120. }
  121. else {
  122. value.TotalScore = tatolscore.toFixed(0);
  123. value.Credit = tatolcredit;
  124. value.GradePoint = tatolgradePoint.toFixed(2);
  125. if (value.Formula_1 == "" || value.Formula_1 == null) {
  126. value.Formula_1 = "0"
  127. }
  128. if (value.Formula_2 == "" || value.Formula_2 == null) {
  129. value.Formula_2 = "0"
  130. }
  131. if (value.Formula_3 == "" || value.Formula_3 == null) {
  132. value.Formula_3 = "0"
  133. }
  134. }
  135. }
  136. else {
  137. if (value.Formula_1 == "" || value.Formula_1 == null) {
  138. value.Formula_1 = "0"
  139. }
  140. value.TotalScore = 0;
  141. value.Credit = 0;
  142. value.GradePoint = 0;
  143. }
  144. });
  145. }
  146. else if (twoScore != 0 && three == 0) {
  147. $.each(scoreDetailList, function (index, value) {
  148. var score = "";
  149. var tot = 0;
  150. var tatolscore = 0;
  151. var tatolcredit = 0;
  152. var tatolgradePoint = 0;
  153. var limit = 0;
  154. var floor = 0;
  155. if (value.ExamsStateID == 1) {
  156. if (value.Formula_1 != "" && value.Formula_1 != null) {
  157. oneScore = parseInt(value.Formula_1);
  158. }
  159. else
  160. {
  161. oneScore = 0;
  162. }
  163. if (value.Formula_2 != "" && value.Formula_2 != null) {
  164. twoScore = parseInt(value.Formula_2);
  165. }
  166. else
  167. {
  168. twoScore = 0;
  169. }
  170. if (value.Formula_2 >= 60) {
  171. tatolscore = (oneScore * 0.4) + (twoScore * 0.6);
  172. }
  173. if (tatolscore == 0) {
  174. tot += 200;
  175. }
  176. if (tatolscore.toFixed(0) >= creditFormula["Scores"]) {
  177. tatolcredit = $("#Credit").val();
  178. }
  179. if (tatolscore.toFixed(0) >= gradePointFormula["GradePointlimit"]) {
  180. tatolgradePoint = 1;
  181. var tscore = parseInt(tatolscore);
  182. if (tscore > gradePointFormula["GradePointlimit"]) {
  183. tatolgradePoint += (tscore - gradePointFormula["GradePointlimit"]) * gradePointFormula["GradePointFloor"].toFixed(2);
  184. }
  185. }
  186. if (tot == 600) {
  187. value.TotalScore = score;
  188. value.Credit = score;
  189. value.GradePoint = score;
  190. }
  191. else {
  192. value.TotalScore = tatolscore.toFixed(0);
  193. value.Credit = tatolcredit;
  194. value.GradePoint = tatolgradePoint.toFixed(2);
  195. if (value.Formula_1 == "" || value.Formula_1 == null) {
  196. value.Formula_1 = "0"
  197. }
  198. if (value.Formula_2 == "" || value.Formula_2 == null) {
  199. value.Formula_2 = "0"
  200. }
  201. }
  202. }
  203. else {
  204. if (value.Formula_1 == "" || value.Formula_1 == null) {
  205. value.Formula_1 = "0"
  206. }
  207. value.TotalScore = 0;
  208. value.Credit = 0;
  209. value.GradePoint = 0;
  210. }
  211. });
  212. }
  213. else if (twoScore == 0 && three != 0) {
  214. $.each(scoreDetailList, function (index, value) {
  215. var score = "";
  216. var tot = 0;
  217. var tatolscore = 0;
  218. var tatolcredit = 0;
  219. var tatolgradePoint = 0;
  220. var limit = 0;
  221. var floor = 0;
  222. if (value.ExamsStateID == 1) {
  223. if (value.Formula_1 != "" && value.Formula_1 != null) {
  224. oneScore = parseInt(value.Formula_1);
  225. }
  226. else
  227. {
  228. oneScore = 0;
  229. }
  230. if (value.Formula_3 != "" && value.Formula_3 != null) {
  231. three = parseInt(value.Formula_3);
  232. }
  233. else
  234. {
  235. three = 0;
  236. }
  237. tatolscore = oneScore * 0.4 + three * 0.6;
  238. if (tatolscore == 0) {
  239. tot += 200;
  240. }
  241. if (tatolscore.toFixed(0) >= creditFormula["Scores"]) {
  242. tatolcredit = $("#Credit").val();
  243. }
  244. if (tatolscore.toFixed(0) >= gradePointFormula["GradePointlimit"]) {
  245. tatolgradePoint = 1;
  246. var tscore = parseInt(tatolscore);
  247. if (tscore > gradePointFormula["GradePointlimit"]) {
  248. tatolgradePoint += (tscore - gradePointFormula["GradePointlimit"]) * gradePointFormula["GradePointFloor"].toFixed(2);
  249. }
  250. }
  251. if (tot == 600) {
  252. value.TotalScore = score;
  253. value.Credit = score;
  254. value.GradePoint = score;
  255. }
  256. else {
  257. value.TotalScore = tatolscore.toFixed(0);
  258. value.Credit = tatolcredit;
  259. value.GradePoint = tatolgradePoint.toFixed(2);
  260. if (value.Formula_1 == "" || value.Formula_1 == null) {
  261. value.Formula_1 = "0"
  262. }
  263. if (value.Formula_3 == "" || value.Formula_3 == null) {
  264. value.Formula_3 = "0"
  265. }
  266. }
  267. }
  268. else
  269. {
  270. // if (value.Formula_1 == "" || value.Formula_1 == null) {
  271. // value.Formula_1 = "0"
  272. // }
  273. // if (value.Formula_2 == "" || value.Formula_2 == null) {
  274. // value.Formula_2 = ""
  275. // }
  276. // if (value.Formula_3 == "" || value.Formula_3 == null) {
  277. // value.Formula_3 = ""
  278. // }
  279. value.TotalScore = 0;
  280. value.Credit = 0;
  281. value.GradePoint = 0;
  282. }
  283. });
  284. }
  285. else if (twoScore == 0 && three == 0 && oneScore == 0) {
  286. $.each(scoreDetailList, function (index, value) {
  287. if (value.Formula_1 == ""|| value.Formula_1 == null) {
  288. value.Formula_1 = ""
  289. }
  290. if (value.Formula_2 == "" || value.Formula_2 == null) {
  291. value.Formula_2 = ""
  292. }
  293. if (value.Formula_3 == "" || value.Formula_3 == null) {
  294. value.Formula_3 = ""
  295. }
  296. value.TotalScore = 0;
  297. value.Credit = 0;
  298. value.GradePoint = 0;
  299. });
  300. }
  301. else
  302. {
  303. $.each(scoreDetailList, function (index, value) {
  304. if (value.Formula_1 == "" || value.Formula_1 == null) {
  305. value.Formula_1 = "0"
  306. }
  307. value.TotalScore = 0;
  308. value.Credit = 0;
  309. value.GradePoint = 0;
  310. });
  311. }
  312. $("#dgScoreDetailList").cmsXDataTable("loadData", { rows: scoreDetailList, total: scoreDetailList.length });
  313. }
  314. //提交
  315. function Score_Submit() {
  316. var msg = "";
  317. var hid_FormulaColumns = $("#hid_FormulaColumns").val(); //获取动态列
  318. var scoreDetailList = $("#dgScoreDetailList").cmsXDataTable("getRows");
  319. Score_Calculate();
  320. if (scoreDetailList.length == 0) {
  321. $.messager.alert("系统提示", "录入学生数不能为0");
  322. return
  323. }
  324. $.each(scoreDetailList, function (index, value) {
  325. var num = 0;
  326. for (var i = 0; i < hid_FormulaColumns.split(',').length; i++) {
  327. var formulaColumns = hid_FormulaColumns.split(',')[i];
  328. if (formulaColumns != "") {
  329. if (value[formulaColumns] === "") {
  330. num++;
  331. if ((num == 3 || num == 2) && value.ExamsStateID==1) {
  332. msg = "学生成绩录入未完整,请检查。"
  333. break;
  334. }
  335. }
  336. }
  337. if (value.ExamsStateID == null) {
  338. msg = "请选择考试状态!"
  339. break;
  340. }
  341. }
  342. });
  343. if (msg != "") {
  344. $.messager.alert("系统提示", msg);
  345. return;
  346. }
  347. isWindowCanClose = true;
  348. $(document.forms[0]).submit();
  349. }
  350. //保存
  351. function Score_Save() {
  352. var msg = "";
  353. var hid_FormulaColumns = $("#hid_FormulaColumns").val(); //获取动态列
  354. var finalExaminationID = $("#FinalExaminationID").val();
  355. var scoreDetailList = $("#dgScoreDetailList").cmsXDataTable("getRows");
  356. var scoreFormulaDropdownList = $("#ScoreFormulaDropdownList").combobox("getValue");
  357. var creditFormulaDropdownList = $("#CreditFormulaDropdownList").combobox("getValue");
  358. var gradePointFormulaDropdownList = $("#GradePointFormulaDropdownList").combobox("getValue");
  359. var scoreFormula = eval("(" + scoreFormulaDropdownList + ")");
  360. var creditFormula = eval("(" + creditFormulaDropdownList + ")");
  361. var gradePointFormula = eval("(" + gradePointFormulaDropdownList + ")");
  362. var comment = $("#Comment").val();
  363. // $.each(scoreDetailList, function (index, value) {
  364. // for (var i = 0; i < hid_FormulaColumns.split(',').length; i++) {
  365. // var formulaColumns = hid_FormulaColumns.split(',')[i];
  366. // if (formulaColumns != "") {
  367. // if (value[formulaColumns] == "") {
  368. // msg = "学生成绩录入未完整,请检查。"
  369. // break;
  370. // }
  371. // }
  372. // }
  373. // });
  374. // if (msg != "") {
  375. // $.messager.alert("系统提示", msg);
  376. // return;
  377. // }
  378. Score_Calculate(); //计算
  379. scoreDetailList = $("#dgScoreDetailList").cmsXDataTable("getRows");
  380. $.each(scoreDetailList, function (index, value) {
  381. var num = 3;
  382. for (var i = 0; i < hid_FormulaColumns.split(',').length; i++) {
  383. var formulaColumns = hid_FormulaColumns.split(',')[i];
  384. if (formulaColumns != "") {
  385. if (value[formulaColumns] === "") {
  386. num = num-1;
  387. }
  388. }
  389. if (num == 0 && num != 1 && value.ExamsStateID == 1) {
  390. msg = "学生成绩录入未完整,请检查。"
  391. break;
  392. }
  393. }
  394. for (var i = 0; i < hid_FormulaColumns.split(',').length; i++) {
  395. if (value.ExamsStateID == null) {
  396. msg = "请选择考试状态!"
  397. break;
  398. }
  399. }
  400. });
  401. if (msg != "") {
  402. $.messager.alert("系统提示", msg);
  403. return;
  404. }
  405. $.postWithLoading(CMS_SystemConfig.VirtualDirectoryPath + '/Score/GTScoreSave', { finalExaminationID: finalExaminationID, scoreFormulaID: scoreFormula.ScoreFormulaID, creditFormulaID: creditFormula.CreditFormulaID,
  406. gradePointFormulaID: gradePointFormula.GradePointFormulaID, comment: comment, scoreDetailList: scoreDetailList
  407. }, function (data) {
  408. if (data == "成功") {
  409. $.messager.alert("系统提示", "保存成功!");
  410. reload();
  411. } else {
  412. $.messager.alert("系统提示", data);
  413. }
  414. });
  415. isWindowCanClose = true;
  416. }
  417. //定时保存
  418. function setTimeout_Save() {
  419. var finalExaminationID = $("#FinalExaminationID").val();
  420. var scoreDetailList = $("#dgScoreDetailList").cmsXDataTable("getRows");
  421. var scoreFormulaDropdownList = $("#ScoreFormulaDropdownList").combobox("getValue");
  422. var creditFormulaDropdownList = $("#CreditFormulaDropdownList").combobox("getValue");
  423. var gradePointFormulaDropdownList = $("#GradePointFormulaDropdownList").combobox("getValue");
  424. var scoreFormula = eval("(" + scoreFormulaDropdownList + ")");
  425. var creditFormula = eval("(" + creditFormulaDropdownList + ")");
  426. var gradePointFormula = eval("(" + gradePointFormulaDropdownList + ")");
  427. var comment = $("#Comment").val();
  428. Score_Calculate(); //计算
  429. var scoreDetailList = $("#dgScoreDetailList").cmsXDataTable("getRows");
  430. $.post(CMS_SystemConfig.VirtualDirectoryPath + '/Score/ScoreSave', { finalExaminationID: finalExaminationID, scoreFormulaID: scoreFormula.ScoreFormulaID, creditFormulaID: creditFormula.CreditFormulaID,
  431. gradePointFormulaID: gradePointFormula.GradePointFormulaID, comment: comment, scoreDetailList: scoreDetailList
  432. }, function (data) {
  433. if (data == "成功") {
  434. reload();
  435. } else {
  436. }
  437. });
  438. }
  439. //重置
  440. function Score_Resetting() {
  441. var hid_FormulaColumns = $("#hid_FormulaColumns").val(); //获取动态列
  442. hid_FormulaColumns = hid_FormulaColumns.substr(0, hid_FormulaColumns.length - 1);
  443. var scoreFormulaDropdownList = $("#ScoreFormulaDropdownList").combobox("getValue");
  444. var creditFormulaDropdownList = $("#CreditFormulaDropdownList").combobox("getValue");
  445. var gradePointFormulaDropdownList = $("#GradePointFormulaDropdownList").combobox("getValue");
  446. var scoreDetailList = $("#dgScoreDetailList").cmsXDataTable("getRows");
  447. var scoreFormula = eval("(" + scoreFormulaDropdownList + ")");
  448. var creditFormula = eval("(" + creditFormulaDropdownList + ")");
  449. var gradePointFormula = eval("(" + gradePointFormulaDropdownList + ")");
  450. $.each(scoreDetailList, function (index, value) {
  451. value.Formula_1 = "";
  452. value.Formula_2 = "";
  453. value.Formula_3 = "";
  454. value.TotalScore = "";
  455. value.Credit = "";
  456. value.GradePoint = "";
  457. });
  458. $("#dgScoreDetailList").cmsXDataTable("loadData", { rows: scoreDetailList, total: scoreDetailList.length });
  459. // var finalExaminationID = $("#FinalExaminationID").val();
  460. // $.messager.confirm("系统提示", "您确定要重置所有学生的成绩?", function (r) {
  461. // if (r) {
  462. // $.postWithLoading(CMS_SystemConfig.VirtualDirectoryPath + '/Score/Delete', { finalExaminationID: finalExaminationID }, function (data) {
  463. // if (data == "成功") {
  464. // $.messager.alert("系统提示", "重置成功!");
  465. // reload();
  466. // } else {
  467. // $.messager.alert("系统提示", data);
  468. // }
  469. // });
  470. // }
  471. // });
  472. }
  473. //成绩导入
  474. function Score_Import() {
  475. var scoreFormulaDropdownList = $("#ScoreFormulaDropdownList").combobox("getValue");
  476. var creditFormulaDropdownList = $("#CreditFormulaDropdownList").combobox("getValue");
  477. var gradePointFormulaDropdownList = $("#GradePointFormulaDropdownList").combobox("getValue");
  478. var finalExaminationID = $("#FinalExaminationID").val();
  479. var scoreFormula = eval("(" + scoreFormulaDropdownList + ")");
  480. var creditFormula = eval("(" + creditFormulaDropdownList + ")");
  481. var gradePointFormula = eval("(" + gradePointFormulaDropdownList + ")");
  482. var scoreFormulaID = scoreFormula.ScoreFormulaID;
  483. var creditFormulaID = creditFormula.CreditFormulaID;
  484. var gradePointFormulaID = gradePointFormula.GradePointFormulaID;
  485. var redirectTo = CMS_SystemConfig.VirtualDirectoryPath + '/Score/GTImport?finalExaminationID=' + finalExaminationID + '&scoreFormulaID=' + scoreFormulaID + '&creditFormulaID=' + creditFormulaID + '&gradePointFormulaID=' + gradePointFormulaID + '&MNU=' + mnu;
  486. $.popupTopWindow('学生成绩导入', redirectTo, 400, 300, locationreload);
  487. isWindowCanClose = true;
  488. }
  489. function locationreload() {
  490. window.location.reload();
  491. }