mark-ctrl.js 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324
  1. 'use strict';
  2. angular.module('app')
  3. .controller('markIndexCtrl',function($scope,$location,$http,UserService,$rootScope, $window, $state){
  4. $scope.totalPingfenModules = totalPingfenModules;
  5. var user = UserService.getUserInfo();
  6. /**
  7. * user.type 角色类型,传入打分接口的参数
  8. * user.userId
  9. */
  10. $scope.userType = user.type;
  11. //获取评审列表
  12. $scope.reviewtasksParm = {
  13. "type":user.type,
  14. "pageIndex":1,
  15. "pageSize":20
  16. };
  17. $scope.getReviewTasksData = function(){
  18. $rootScope.loading = $http.get(main_host + '/api/EvalCalibrationReviewTasks/'+user.userId,{params:$scope.reviewtasksParm}).success(function(data){
  19. if(data.success){
  20. $scope.reviewtaskslists = data.map.data.list;
  21. $scope.pageData = {
  22. "pageIndex": data.map.data.pageIndex,
  23. "pageSize": data.map.data.pageSize,
  24. "totalCounts": data.map.data.totalCounts,
  25. "totalPages": data.map.data.totalPages
  26. }
  27. }
  28. });
  29. };
  30. //获取仲裁任务列表
  31. $scope.zcTasksParm = {
  32. "pageIndex":1,
  33. "pageSize":20
  34. };
  35. $scope.getEvalStudentZCTasks = function(){
  36. $http.get(main_host + '/api/EvalStudentZCTasks',{params:$scope.zcTasksParm}).success(function(data){
  37. if(data.success){
  38. $scope.reviewtaskslists = data.map.data.list;
  39. $scope.pageData = {
  40. "pageIndex": data.map.data.pageIndex,
  41. "pageSize": data.map.data.pageSize,
  42. "totalCounts": data.map.data.totalCounts,
  43. "totalPages": data.map.data.totalPages
  44. }
  45. }
  46. });
  47. };
  48. //首页
  49. $scope.bmFirstPage = function() {
  50. $scope.zcTasksParm.pageIndex = 1;
  51. $scope.getEvalStudentZCTasks();
  52. }
  53. //上一页
  54. $scope.bmPrevPage = function() {
  55. if ($scope.zcTasksParm.pageIndex > 1) {
  56. $scope.zcTasksParm.pageIndex--;
  57. $scope.getEvalStudentZCTasks();
  58. }
  59. }
  60. //下一页
  61. $scope.bmNextPage = function() {
  62. if ($scope.zcTasksParm.pageIndex < $scope.pageData.totalPages) {
  63. $scope.zcTasksParm.pageIndex++;
  64. $scope.getEvalStudentZCTasks();
  65. }
  66. }
  67. //尾页
  68. $scope.bmLastPage = function() {
  69. $scope.zcTasksParm.pageIndex = $scope.pageData.totalPages;
  70. $scope.getEvalStudentZCTasks();
  71. }
  72. $scope.lookCalibrationDetail = function(id) {
  73. if(document.querySelectorAll( '#popCalibrationDetail_picketage_table' ).length > 1){
  74. var elementList = document.querySelectorAll( '#popCalibrationDetail_picketage_table');
  75. angular.element(elementList[1]).remove();
  76. }
  77. $rootScope.loading = $http.get(main_host + '/api/GetEvalMarkDetails/'+id).success(function(data) {
  78. if (data.success) {
  79. $scope.marklists = data.map.data;
  80. // console.log($scope.marklists);
  81. dialog({
  82. title:"打分详情",
  83. content:$('#popCalibrationDetail_picketage_table'),
  84. ok:function(){
  85. var urlHref = $state.href('markstep.step1',{'taskId':'view-' + id,'module':1});
  86. window.open(urlHref);
  87. return false;
  88. },
  89. okValue: "查看评分页面",
  90. cancel: function() {},
  91. cancelValue: "关闭"
  92. }).showModal();
  93. }
  94. });
  95. }
  96. $scope.goLastInprogressTask = function(){
  97. $rootScope.loading = $http.get($scope.hosturl+'/api/lastInprogressTask/'+user.userId).success(function(data){
  98. if(data.map.nextTask){
  99. var nextTask = data.map.nextTask;
  100. var module = data.map.module;
  101. if(module){
  102. $state.go('markstep.step'+module,{'taskId':data.map.nextTask.id,'module':module});
  103. }else{
  104. $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  105. }
  106. }else{
  107. var d = dialog({
  108. title: "提示",
  109. content: "未找到最近一个进行中的任务!",
  110. ok: function() {
  111. $state.go('mark');
  112. },
  113. okValue: "确定"
  114. }).showModal();
  115. }
  116. });
  117. }
  118. $scope.goNextUnStartTask = function(){
  119. $rootScope.loading = $http.get($scope.hosturl+'/api/getNextUnStartTask/'+user.userId).success(function(data){
  120. if(data.map.nextTask){
  121. var nextTask = data.map.nextTask;
  122. var module = data.map.module;
  123. if(module){
  124. $state.go('markstep.step'+module,{'taskId':data.map.nextTask.id,'module':module});
  125. }else{
  126. $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  127. }
  128. }else{
  129. var d = dialog({
  130. title: "提示",
  131. content: "未找到下一个未开始的任务!",
  132. ok: function() {
  133. $state.go('mark');
  134. },
  135. okValue: "确定"
  136. }).showModal();
  137. }
  138. });
  139. }
  140. $scope.goTaskByStudentId = function(){
  141. if($scope.studentId){
  142. $rootScope.loading = $http.get($scope.hosturl+'/api/getTaskByStudentId/'+$scope.studentId).success(function(data){
  143. if(data.map.nextTask){
  144. var nextTask = data.map.nextTask;
  145. var module = data.map.module;
  146. if(module){
  147. $state.go('markstep.step'+module,{'taskId':data.map.nextTask.id,'module':module});
  148. }else{
  149. $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  150. }
  151. }else{
  152. var d = dialog({
  153. title: "提示",
  154. content: "未找到任务!",
  155. ok: function() {
  156. $state.go('mark');
  157. },
  158. okValue: "确定"
  159. }).showModal();
  160. }
  161. });
  162. }
  163. }
  164. $scope.goFuheTaskByStudentId = function(){
  165. if($scope.studentId){
  166. $rootScope.loading = $http.get($scope.hosturl+'/api/getFuheTaskByStudentId/'+$scope.studentId).success(function(data){
  167. if(data.map.nextTask){
  168. var nextTask = data.map.nextTask;
  169. var module = data.map.module;
  170. if(module){
  171. $state.go('markstep.step'+module,{'taskId':data.map.nextTask.id,'module':module});
  172. }else{
  173. $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  174. }
  175. }else{
  176. var d = dialog({
  177. title: "提示",
  178. content: "未找到任务!",
  179. ok: function() {
  180. $state.go('mark');
  181. },
  182. okValue: "确定"
  183. }).showModal();
  184. }
  185. });
  186. }
  187. }
  188. $scope.confirmAndSubmitAllTask = function(module){
  189. var d = dialog({
  190. title: "提示",
  191. content: "确认提交所有任务?",
  192. ok: function() {
  193. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitAllSubTask/'+user.userId+'/'+module).success(function(data){
  194. var d = dialog({
  195. title: "提示",
  196. content: "您已经没有打分任务了!",
  197. ok: function() {
  198. // $state.go('mark');
  199. $state.go($state.current, {}, {reload: true});
  200. },
  201. okValue: "确定"
  202. }).showModal();
  203. });
  204. },
  205. okValue: "确定",
  206. cancel: function() {},
  207. cancelValue: "取消"
  208. }).showModal();
  209. }
  210. $scope.confirmAndSubmitAllFuheTask = function(){
  211. var d = dialog({
  212. title: "提示",
  213. content: "确认提交所有复核任务?",
  214. ok: function() {
  215. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitAllFuheTask/'+user.userId).success(function(data){
  216. var d = dialog({
  217. title: "提示",
  218. content: "您已经没有打分任务了!",
  219. ok: function() {
  220. // $state.go('mark');
  221. $state.go($state.current, {}, {reload: true});
  222. },
  223. okValue: "确定"
  224. }).showModal();
  225. });
  226. },
  227. okValue: "确定",
  228. cancel: function() {},
  229. cancelValue: "取消"
  230. }).showModal();
  231. }
  232. $scope.confirmAndRemoveAllTask = function(){
  233. var d = dialog({
  234. title: "提示",
  235. content: "确认所有任务已复核,评审无误?",
  236. ok: function() {
  237. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalRemoveAllFuheTask/'+user.userId).success(function(data){
  238. var d = dialog({
  239. title: "提示",
  240. content: "确认完成!",
  241. ok: function() {
  242. // $state.go('mark');
  243. $state.go($state.current, {}, {reload: true});
  244. },
  245. okValue: "确定"
  246. }).showModal();
  247. });
  248. },
  249. okValue: "确定",
  250. cancel: function() {},
  251. cancelValue: "取消"
  252. }).showModal();
  253. }
  254. }).controller('finishedListCtrl',function($scope,$location,$http,UserService,$rootScope, $window, $state){
  255. var user = UserService.getUserInfo();
  256. /**
  257. * user.type 角色类型,传入打分接口的参数
  258. * user.userId
  259. */
  260. $scope.userType = user.type;
  261. //获取评审列表
  262. $scope.reviewtasksParm = {
  263. "type":user.type,
  264. "pageIndex":1,
  265. "pageSize":15
  266. };
  267. $scope.getFinishedTasksData = function(){
  268. $rootScope.loading = $http.get(main_host + '/api/EvalCalibrationFinishedTasks/'+user.userId,{params:$scope.reviewtasksParm}).success(function(data){
  269. if(data.success){
  270. $scope.tasklist = data.map.data.list;
  271. $scope.pageData = {
  272. "pageIndex": data.map.data.pageIndex,
  273. "pageSize": data.map.data.pageSize,
  274. "totalCounts": data.map.data.totalCounts,
  275. "totalPages": data.map.data.totalPages
  276. }
  277. }
  278. });
  279. };
  280. //首页
  281. $scope.bmFirstPage = function() {
  282. $scope.reviewtasksParm.pageIndex = 1;
  283. $scope.getFinishedTasksData();
  284. }
  285. //上一页
  286. $scope.bmPrevPage = function() {
  287. if ($scope.reviewtasksParm.pageIndex > 1) {
  288. $scope.reviewtasksParm.pageIndex--;
  289. $scope.getFinishedTasksData();
  290. }
  291. }
  292. //下一页
  293. $scope.bmNextPage = function() {
  294. if ($scope.reviewtasksParm.pageIndex < $scope.pageData.totalPages) {
  295. $scope.reviewtasksParm.pageIndex++;
  296. $scope.getFinishedTasksData();
  297. }
  298. }
  299. //尾页
  300. $scope.bmLastPage = function() {
  301. $scope.reviewtasksParm.pageIndex = $scope.pageData.totalPages;
  302. $scope.getFinishedTasksData();
  303. }
  304. $scope.viewDetail = function(id){
  305. var params = {"taskId":id};
  306. $rootScope.loading = $http.post($scope.hosturl+'/api/getStartModule',params).success(function(data){
  307. var module = data.map.module;
  308. $state.go('markstep.step' + module, {'taskId':id,'module':module});
  309. });
  310. // var urlHref = $state.href('markstep.step1',{'taskId':id,'module':1});
  311. // window.open(urlHref);
  312. }
  313. }).controller('feedbackCtrl',function($scope,$location,$http,UserService,$rootScope, $window, $state, toaster){
  314. var user = UserService.getUserInfo();
  315. $scope.load = function(){
  316. $scope.feedback = {};
  317. $rootScope.loading = $http.get(main_host + '/api/feedback',{}).success(function(data){
  318. if(data.success){
  319. $scope.feedback = data.map.feedback;
  320. }
  321. });
  322. };
  323. $scope.load();
  324. $scope.submitFeedback = function(){
  325. var params = {};
  326. params.feedback = $scope.feedback.feedback;
  327. // params.createTime = $scope.feedback.createTime;
  328. $rootScope.loading = $http.post($scope.hosturl+'/api/feedback', params).success(function(data){
  329. toaster.pop('success', '提示', '保存成功!');
  330. $scope.load();
  331. });
  332. }
  333. }).controller('noticeCtrl',function($scope,$location,$http,UserService,$rootScope, $window, $state, toaster, $interval){
  334. var user = UserService.getUserInfo();
  335. $scope.readTime = 30;
  336. $scope.load = function(){
  337. $scope.notice = {};
  338. $rootScope.loading = $http.get(main_host + '/api/notice',{}).success(function(data){
  339. if(data.success){
  340. if(data.map.notice){
  341. $scope.notice = data.map.notice;
  342. }else{
  343. $interval(function(){
  344. if($scope.readTime > 0){
  345. $scope.readTime--;
  346. }
  347. }, 1000);
  348. }
  349. }
  350. });
  351. };
  352. $scope.load();
  353. $scope.submitNotice = function(){
  354. if(!$scope.notice.confirmName || $scope.notice.confirmName.length == 0){
  355. toaster.pop('error', '提示', '请输入承诺人姓名');
  356. }else{
  357. var params = {};
  358. params.confirmName = $scope.notice.confirmName;
  359. $rootScope.loading = $http.post($scope.hosturl+'/api/notice', params).success(function(data){
  360. toaster.pop('success', '提示', '保存成功!');
  361. $scope.load();
  362. });
  363. }
  364. }
  365. }).controller('markCtrl',function($scope,$location,$http,UserService,$state,$stateParams,$rootScope,toaster,$window){
  366. var user = UserService.getUserInfo();
  367. $scope.stddetailParm = {};
  368. $scope.totalPingfenModules = totalPingfenModules;
  369. /**
  370. * user.type 角色类型,传入打分接口的参数
  371. * user.userId
  372. */
  373. //获取评审任务,进入评审明细
  374. $scope.stddetailParm.module = $stateParams.module;
  375. $scope.stddetailParm.type = user.type;
  376. $scope.stddetailParm.taskId='0';
  377. if($stateParams.taskId){
  378. $scope.stddetailParm.taskId = $stateParams.taskId;
  379. }
  380. $scope.stdInfoOverViewPath = "https://bk.bfsu.edu.cn/aeeaps/pingce/index.html#/stdInfo/";
  381. // $scope.stdInfoOverViewPath = "http://localhost/aeeaps/pingce/index.html#/stdInfo/";
  382. //图片滚动
  383. $scope.active = 0;
  384. $scope.slides = [];
  385. $scope.fm_slides = [];
  386. // $scope.scoreInputKeyPress = function(event){
  387. // // console.log(event);
  388. // if(event.keyCode >= 98 && event.keyCode <=107){
  389. // $scope.score = event.keyCode - 98;
  390. // }
  391. // if(event.keyCode >= 48 && event.keyCode <=57){
  392. // $scope.score = event.keyCode - 48;
  393. // }
  394. // }
  395. $scope.scoreInputKeyUp = function(event){
  396. console.log(event.key + ' = = ' + event.keyCode);
  397. var re = new RegExp("^[0-9]$");
  398. var inputValue = -1;
  399. if(event.keyCode >= 98 && event.keyCode <=107 && re.exec(event.key) != null){
  400. inputValue = event.keyCode - 98;
  401. }else if(event.keyCode >= 48 && event.keyCode <=57 && re.exec(event.key) != null){
  402. inputValue = event.keyCode - 48;
  403. }else if(event.key == 'b' && $scope.stddetailParm.module - $scope.pingfenPages[0] > 0){
  404. $scope.goPre();
  405. }else if(event.key == 'n' && $scope.pingfenPages[$scope.pingfenPages.length-1] - $scope.stddetailParm.module > 0){
  406. $scope.goNext();
  407. }else if(event.key == 'j'){
  408. $scope.goNextStudent(true);
  409. }else if(event.keyCode == 13 && $scope.pingfenPages[$scope.pingfenPages.length-1] - $scope.stddetailParm.module == 0){
  410. if($scope.stddetailParm.module < totalPingfenModules[totalPingfenModules.length - 1]){
  411. console.log('---------submitSubTask');
  412. $scope.submitSubTask();
  413. }else{
  414. console.log('---------submitMark');
  415. $scope.submitMark();
  416. }
  417. }
  418. if(inputValue >= 0 && inputValue <= 9) {
  419. $scope.markScore(inputValue);
  420. }
  421. }
  422. $scope.getStdInfo = function(){
  423. var element = $window.document.getElementById('scoreInputer');
  424. if (element)
  425. element.focus();
  426. var url = null;
  427. if($scope.stddetailParm.taskId.indexOf('biaoben-') == 0){
  428. $scope.markType = "ViewBiaoben";//只读查看标本打分情况
  429. $scope.stddetailParm.biaobenId = $scope.stddetailParm.taskId.substring('biaoben-'.length);
  430. $scope.studentId = $scope.stddetailParm.biaobenId;
  431. url = $scope.hosturl+'/api/GetBiaobenMarkDetail/'+$scope.stddetailParm.biaobenId;
  432. }else if($scope.stddetailParm.taskId.indexOf('view-') == 0){
  433. $scope.markType = "ViewStu";//只读查看标本打分情况
  434. $scope.stddetailParm.stuId = $scope.stddetailParm.taskId.substring('view-'.length);
  435. url = $scope.hosturl+'/api/GetStuMarkDetail/'+$scope.stddetailParm.stuId;
  436. $scope.studentId = $scope.stddetailParm.stuId;
  437. }else{
  438. $scope.markType = "Mark";//正常打分
  439. url = $scope.hosturl+'/api/EvalStudentPages/'+user.userId;
  440. }
  441. $rootScope.loading = $http.get(url,{params:$scope.stddetailParm}).success(function(data){
  442. if(data.success){
  443. if($scope.markType == "Mark"){
  444. if(data.map.module-$scope.stddetailParm.module != 0 || data.map.taskId-$scope.stddetailParm.taskId != 0){
  445. $state.go('markstep.step' + data.map.module,{'taskId':data.map.taskId,'module':data.map.module});
  446. return;
  447. }
  448. }else if($scope.markType == "ViewBiaoben"){
  449. $scope.stddetailParm.simpleType = data.map.simpleType;
  450. }
  451. $scope.score = data.map.score;
  452. $scope.wenliType = data.map.wenliType;
  453. $scope.studentSchool = data.map.studentSchool;
  454. $scope.totalScore = data.map.totalScore;
  455. $scope.totalCalcScore = data.map.totalCalcScore;
  456. $scope.restTasksSum = data.map.restTasksSum;
  457. $scope.taskType = data.map.taskType;
  458. $scope.finishedTaskCount = data.map.finishedTaskCount;
  459. $scope.inProgressTaskCount = data.map.inProgressTaskCount;
  460. $scope.exams = data.map.exams;
  461. $scope.scores = data.map.scores;
  462. $scope.subjects = data.map.subjects;
  463. $scope.images = data.map.images;
  464. $scope.allResults = data.map.allResults;
  465. $scope.zspsScores = data.map.zspsScores;
  466. $scope.schoolLuquHistory = data.map.schoolLuquHistory;
  467. $scope.pingfenPages = data.map.pingfenPages;
  468. console.log('------ pages: ');
  469. console.log(data.map.pingfenPages);
  470. $scope.pingfenPages = [1,2,3,4,5,6,7,8,9,10,11];
  471. $scope.markedModules = data.map.markedModules;
  472. //console.log('-------------- $scope.markedModules:' + $scope.markedModules);
  473. $scope.autoScore = data.map.autoScore;
  474. if($scope.autoScore && $scope.autoScore.remark){
  475. $scope.autoScoreRemark = $scope.autoScore.remark.split(';');
  476. }
  477. $scope.needConfirmAutoScore = false;
  478. // console.log($scope.score);
  479. // console.log($scope.autoScore);
  480. // console.log($scope.markType);
  481. if(!$scope.score && $scope.score != 0 && $scope.autoScore && ($scope.autoScore.score || $scope.autoScore.score==0) && $scope.markType == "Mark"){
  482. // $scope.markScore($scope.autoScore.score);
  483. $scope.score = $scope.autoScore.score;
  484. $scope.needConfirmAutoScore = true;
  485. }
  486. if(!$scope.score && $scope.zspsScores && $scope.stddetailParm.module==10 && $scope.stddetailParm.module==11){
  487. $scope.score = $scope.zspsScores[2].score;
  488. $scope.needConfirmAutoScore = true;
  489. }
  490. if(!$scope.pingfenPages){
  491. $scope.pingfenPages = totalPingfenModules;
  492. }
  493. $scope.personal = data.map.personal;
  494. $scope.controast = data.map.controast;
  495. $scope.totalStds = 9076;
  496. $scope.zhongziStdIds = [];
  497. $scope.math = Math;
  498. if($scope.markType == "Mark"){
  499. $scope.studentId = data.map.studentId;
  500. }
  501. $scope.image_host="https://zhpd.bfsu.edu.cn/";
  502. if($scope.personal && $scope.personal.selfIntro && $scope.personal.selfIntro.q2_file){
  503. $("#video2").attr("src", $scope.image_host + $scope.personal.selfIntro.q2_file)
  504. $("#video1").attr("src", $scope.image_host + $scope.personal.selfIntro.q1_file)
  505. }
  506. for(var i=0;i<data.map.markedModules.length;i++){
  507. if($scope.stddetailParm.module - data.map.markedModules[i] != 0){
  508. $('#btn_' + data.map.markedModules[i]).css('backgroundColor','#adf1f2');
  509. }
  510. $('#btn_' + data.map.markedModules[i]).css('fontWeight' , 'bold');
  511. }
  512. $scope.baseInfo = data.map.baseInfo;
  513. console.log(' ==== ' + $scope.baseInfo.remark);
  514. if($scope.baseInfo.remark){
  515. $scope.baseInfoRemarks = $scope.baseInfo.remark.split(' --- ');
  516. }
  517. //模块一统计分数数量
  518. if($scope.scores){
  519. $scope.scoreslt60 = 0;
  520. $scope.scores60 = 0;
  521. $scope.scores70 = 0;
  522. $scope.scores80 = 0;
  523. $scope.scores90 = 0;
  524. $scope.scoresCount = 0;
  525. $scope.gaosanScoreTotal = 0;
  526. $scope.gaosanScoreCount = 0;
  527. angular.forEach($scope.scores, function(value, key){
  528. //排除学业水平考试7,音体美信息技术科目
  529. if(key.endsWith('_7') || key.startsWith('score_100_10') || key.startsWith('score_100_11') || key.startsWith('score_100_12')
  530. || key.startsWith('score_100_13')|| key.startsWith('score_100_14')|| key.startsWith('score_100_15')){
  531. }else if(key.startsWith('score_100_') && !key.startsWith('score_100_p')
  532. && !key.startsWith('score_100_a')
  533. && !key.startsWith('score_100_s')){
  534. if(value < 60){
  535. $scope.scoreslt60++;
  536. }else if(value >= 60 && value < 70){
  537. $scope.scores60++;
  538. }else if(value >= 70 && value < 80){
  539. $scope.scores70++;
  540. }else if(value >= 80 && value < 90){
  541. $scope.scores80++;
  542. }else if(value >= 90){
  543. $scope.scores90++;
  544. }
  545. $scope.scoresCount++;
  546. // console.log('key: ' + key + ' value: ' + value + ' scoreslt60: ' + $scope.scoreslt60
  547. // + " scores60: " + $scope.scores60 + ' scores70: ' + $scope.scores70
  548. // + ' scores80: ' + $scope.scores80 + ' scores90: ' + $scope.scores90
  549. // + ' scoresCount: ' + $scope.scoresCount);
  550. }
  551. if(key.startsWith('score_100_10') || key.startsWith('score_100_11') || key.startsWith('score_100_12')
  552. || key.startsWith('score_100_13') || key.startsWith('score_100_14')|| key.startsWith('score_100_15')){
  553. // 排除非主科成绩
  554. }else if(key.endsWith('_5') && key.startsWith('score_100_')
  555. && !key.startsWith('score_100_p')
  556. && !key.startsWith('score_100_a')
  557. && !key.startsWith('score_100_s')
  558. && Number($scope.scores['full_'+key.replace('_100_', '_')]) < 1000){
  559. // console.log("--- " + value);
  560. $scope.gaosanScoreTotal += Number(value);
  561. $scope.gaosanScoreCount++;
  562. }
  563. })
  564. }
  565. //模块13,个人信息比对
  566. if($scope.personal && $scope.personal.compareInfo && $scope.personal.stdInfo){
  567. angular.forEach($scope.personal.compareInfo, function(item){
  568. if(item.province){
  569. $scope.personal.stdInfo['p_' + item.record_type] = item.v;
  570. }else if(item.school_id){
  571. $scope.personal.stdInfo['s_' + item.record_type] = item.v;
  572. }else {
  573. $scope.personal.stdInfo['a_' + item.record_type] = item.v;
  574. }
  575. })
  576. }
  577. //生成滚动图片和头像
  578. // $scope.photo = data.map.urls.headPhotoUrl;
  579. // var images = data.map.urls.materialUrls;
  580. // for (var i = 0; i < images.length; i++) {
  581. // var slide = {
  582. // id:i,
  583. // image:images[i]
  584. // }
  585. // $scope.slides.push(slide);
  586. // };
  587. // var famingImagesUrls = data.map.famingUrls;
  588. // if (famingImagesUrls) {
  589. // for (var j = 0; j < famingImagesUrls.length; j++) {
  590. // var fm_slide = {
  591. // id:j,
  592. // image:famingImagesUrls[j]
  593. // }
  594. // $scope.fm_slides.push(fm_slide);
  595. // };
  596. // }
  597. }
  598. });
  599. };
  600. $scope.confirmAutoScore = function(){
  601. $scope.needConfirmAutoScore = false;
  602. $scope.markScore($scope.score);
  603. if($scope.pingfenPages[$scope.pingfenPages.length-1] - $scope.stddetailParm.module != 0){
  604. $scope.goNext()
  605. }
  606. }
  607. $scope.markScore = function(score){
  608. if($scope.score == 15 && score == 0.5){
  609. toaster.pop('error', '提示', '最大评分为15');
  610. }else{
  611. $scope.needConfirmAutoScore = false;
  612. if(score == 0.5 && $scope.score){
  613. $scope.score += score;
  614. }else{
  615. $scope.score = score;
  616. }
  617. var params = {"taskId":$scope.stddetailParm.taskId,"module":$scope.stddetailParm.module,"score":$scope.score};
  618. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalStudentMarks',params).success(function(data){
  619. if(data.success){
  620. $scope.totalScore = data.map.totalScore;
  621. $scope.totalCalcScore = data.map.totalCalcScore;
  622. $('#btn_' + $scope.stddetailParm.module).css('fontWeight' , 'bold');
  623. if($rootScope.autoGoNextStep){
  624. $scope.goNext();
  625. }
  626. }
  627. });
  628. }
  629. }
  630. $scope.submitSubTask = function(){
  631. var d = dialog({
  632. title: "提示",
  633. content: "确认提交任务?",
  634. ok: function() {
  635. var params = {"taskId":$scope.stddetailParm.taskId};
  636. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitSubTask',params).success(function(data){
  637. if(data.map.nextTask){
  638. var nextTask = data.map.nextTask;
  639. var module = data.map.module;
  640. $state.go('markstep.step' + module, {'taskId':data.map.nextTask.id,'module':module});
  641. }else{
  642. var d = dialog({
  643. title: "提示",
  644. content: "您已经没有打分任务了!",
  645. ok: function() {
  646. $state.go('mark');
  647. },
  648. okValue: "确定"
  649. }).showModal();
  650. }
  651. });
  652. },
  653. okValue: "确定",
  654. cancel: function() {},
  655. cancelValue: "取消"
  656. }).showModal();
  657. }
  658. $scope.submitMark = function(){
  659. var user = UserService.getUserInfo();
  660. $scope.userType = user.type;
  661. if($scope.userType == 7){
  662. $scope.submitMarkByTeamReview();
  663. } else{
  664. $scope.submitMarkByTeacher();
  665. }
  666. }
  667. $scope.submitMarkByTeacher = function(){
  668. var params = {"taskId":$scope.stddetailParm.taskId};
  669. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalPreSubmitStudentMarks',params).success(function(data){
  670. if(data.success){
  671. $scope.submitTasks = data.map.tasks;
  672. $scope.submitTasksScores = data.map.tasksScores;
  673. if(document.querySelectorAll( '#pop_submitScoreConfirm' ).length > 1){
  674. var elementList = document.querySelectorAll( '#pop_submitScoreConfirm');
  675. angular.element(elementList[1]).remove();
  676. }
  677. dialog({
  678. title: "提示",
  679. content: $('#pop_submitScoreConfirm'),
  680. // content: "该中学申请学生已全部评审结束,请确认已回查并统一了标准再提交。",
  681. ok: function() {
  682. // if(data.map.zhongcai){
  683. // var d = dialog({
  684. // title: "提示",
  685. // content: "您的打分超过仲裁阈值,需要进行仲裁。需要仲裁的任务编号:" + data.map.zhongcai,
  686. // ok: function() {
  687. // //进行仲裁
  688. // $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitStudentJudgeScore',params).success(function(data){
  689. // if(data.map.nextTask){
  690. // var nextTask = data.map.nextTask;
  691. // var module = data.map.module;
  692. // if(module){
  693. // $state.go('markstep.step'+module,{'taskId':data.map.nextTask.id,'module':module});
  694. // }else{
  695. // $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  696. // }
  697. // }else{
  698. // var d = dialog({
  699. // title: "提示",
  700. // content: "您已经没有打分任务了!",
  701. // ok: function() {
  702. // $state.go('mark');
  703. // },
  704. // okValue: "确定"
  705. // }).showModal();
  706. // }
  707. // });
  708. // },
  709. // okValue: "确定仲裁",
  710. // cancel:function() {
  711. // var d = dialog({
  712. // title: "提示",
  713. // content: "请确认是否进行组内讨论。",
  714. // ok: function() {
  715. // //组内讨论,修改状态,重新打分
  716. // $rootScope.loading = $http.post($scope.hosturl+'/api/updateStatus',params).success(function(data){
  717. // });
  718. // },
  719. // okValue: "确定",
  720. // cancel: function() {
  721. // },
  722. // cancelValue: "取消"
  723. // }).showModal();
  724. // },
  725. // cancelValue: "组内讨论",
  726. // closable: false
  727. // }).showModal();
  728. // }else{
  729. // 确认提交分数
  730. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitStudentJudgeScore',params).success(function(data){
  731. if(data.map.nextTask){
  732. var nextTask = data.map.nextTask;
  733. var module = data.map.module;
  734. if(module){
  735. $state.go('markstep.step'+module,{'taskId':data.map.nextTask.id,'module':module});
  736. }else{
  737. $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  738. }
  739. }else{
  740. var d = dialog({
  741. title: "提示",
  742. content: "您已经没有打分任务了!",
  743. ok: function() {
  744. $state.go('mark');
  745. },
  746. okValue: "确定"
  747. }).showModal();
  748. }
  749. });
  750. // }
  751. },
  752. okValue: "已回查,现在提交",
  753. cancel: function() {},
  754. cancelValue: "现在回查"
  755. }).showModal();
  756. // if(data.map.zhongcai){
  757. // var d = dialog({
  758. // title: "提示",
  759. // content: "您的打分超过仲裁阈值,需要进行仲裁。需要仲裁的任务编号:" + data.map.zhongcai,
  760. // ok: function() {
  761. // //进行仲裁
  762. // $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitStudentJudgeScore',params).success(function(data){
  763. // if(data.map.nextTask){
  764. // var nextTask = data.map.nextTask;
  765. // $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  766. // }else{
  767. // var d = dialog({
  768. // title: "提示",
  769. // content: "您已经没有打分任务了!",
  770. // ok: function() {
  771. // $state.go('mark');
  772. // },
  773. // okValue: "确定"
  774. // }).showModal();
  775. // }
  776. // });
  777. // },
  778. // okValue: "确定仲裁",
  779. // cancel:function() {
  780. // var d = dialog({
  781. // title: "提示",
  782. // content: "请确认是否进行组内讨论。",
  783. // ok: function() {
  784. // //组内讨论,修改状态,重新打分
  785. // $rootScope.loading = $http.post($scope.hosturl+'/api/updateStatus',params).success(function(data){
  786. // });
  787. // },
  788. // okValue: "确定",
  789. // cancel: function() {
  790. // },
  791. // cancelValue: "取消"
  792. // }).showModal();
  793. // },
  794. // cancelValue: "组内讨论",
  795. // closable: false
  796. // }).showModal();
  797. // }else{
  798. // $scope.submitTasks = data.map.tasks;
  799. // $scope.submitTasksScores = data.map.tasksScores;
  800. // var d = dialog({
  801. // title: "提示",
  802. // content: $('#pop_submitScoreConfirm'),
  803. // // content: "该中学申请学生已全部评审结束,请确认已回查并统一了标准再提交。",
  804. // ok: function() {
  805. // // 确认提交分数
  806. // $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitStudentJudgeScore',params).success(function(data){
  807. // if(data.map.nextTask){
  808. // var nextTask = data.map.nextTask;
  809. // $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  810. // }else{
  811. // var d = dialog({
  812. // title: "提示",
  813. // content: "您已经没有打分任务了!",
  814. // ok: function() {
  815. // $state.go('mark');
  816. // },
  817. // okValue: "确定"
  818. // }).showModal();
  819. // }
  820. // });
  821. // },
  822. // okValue: "已回查,现在提交",
  823. // cancel: function() {},
  824. // cancelValue: "现在回查"
  825. // }).showModal();
  826. // }
  827. }
  828. });
  829. // var d = dialog({
  830. // title: "提示",
  831. // content: "是否确定要提交打分(提交后不能再修改分数)?",
  832. // ok: function() {
  833. // var params = {"taskId":$scope.stddetailParm.taskId};
  834. // $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitStudentMarks',params).success(function(data){
  835. // if(data.success){
  836. // if(data.map.zhongcai){
  837. // var d = dialog({
  838. // title: "提示",
  839. // content: "您的打分超过仲裁阈值,需要进行仲裁。需要仲裁的任务编号:" + data.map.zhongcai,
  840. // ok: function() {
  841. // //进行仲裁
  842. // $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitStudentJudgeScore',params).success(function(data){
  843. // if(data.map.nextTask){
  844. // var nextTask = data.map.nextTask;
  845. // $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  846. // }else{
  847. // var d = dialog({
  848. // title: "提示",
  849. // content: "您已经没有打分任务了!",
  850. // ok: function() {
  851. // $state.go('mark');
  852. // },
  853. // okValue: "确定"
  854. // }).showModal();
  855. // }
  856. // });
  857. // },
  858. // okValue: "确定仲裁",
  859. // cancel:function() {
  860. // //组内讨论,修改状态,重新打分
  861. // $rootScope.loading = $http.post($scope.hosturl+'/api/updateStatus',params).success(function(data){
  862. // });
  863. // },
  864. // cancelValue: "组内讨论"
  865. // }).showModal();
  866. // }else if(data.map.nextTask){
  867. // var nextTask = data.map.nextTask;
  868. // $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  869. // }else{
  870. // var d = dialog({
  871. // title: "提示",
  872. // content: "您已经没有打分任务了!",
  873. // ok: function() {
  874. // $state.go('mark');
  875. // },
  876. // okValue: "确定"
  877. // }).showModal();
  878. // }
  879. // }
  880. // });
  881. // },
  882. // okValue: "确定",
  883. // cancel: function() {},
  884. // cancelValue: "取消"
  885. // }).showModal();
  886. }
  887. $scope.submitMarkByTeamReview = function(){
  888. $scope.teamReviewRemark = '';
  889. var d = dialog({
  890. title: "小组评议意见",
  891. content: $('#pop_teamReviewRemark'),
  892. ok: function() {
  893. var params = {"taskId":$scope.stddetailParm.taskId};
  894. if($scope.teamReviewRemark.length == 0){
  895. toaster.pop('error', '提示', '请输入小组评议意见');
  896. return false;
  897. }else{
  898. params.remark = $scope.teamReviewRemark;
  899. }
  900. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitStudentMarks',params).success(function(data){
  901. if(data.success){
  902. if(data.map.zhongcai){
  903. var d = dialog({
  904. title: "提示",
  905. content: "您的打分超过仲裁阈值,需要进行仲裁",
  906. ok: function() {
  907. //进行仲裁
  908. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitStudentJudgeScore',params).success(function(data){
  909. if(data.map.nextTask){
  910. var nextTask = data.map.nextTask;
  911. $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  912. }else{
  913. var d = dialog({
  914. title: "提示",
  915. content: "您已经没有打分任务了!",
  916. ok: function() {
  917. $state.go('mark');
  918. },
  919. okValue: "确定"
  920. }).showModal();
  921. }
  922. });
  923. },
  924. okValue: "确定仲裁",
  925. cancel:function() {
  926. //组内讨论,修改状态,重新打分
  927. $rootScope.loading = $http.post($scope.hosturl+'/api/updateStatus',params).success(function(data){
  928. toaster.pop('success', '提示', '提交组内讨论操作成功。');
  929. });
  930. },
  931. cancelValue: "组内讨论"
  932. }).showModal();
  933. }else if(data.map.nextTask){
  934. var nextTask = data.map.nextTask;
  935. $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  936. }else{
  937. var d = dialog({
  938. title: "提示",
  939. content: "您已经没有打分任务了!",
  940. ok: function() {
  941. $state.go('mark');
  942. },
  943. okValue: "确定"
  944. }).showModal();
  945. }
  946. }
  947. });
  948. },
  949. okValue: "确定",
  950. cancel: function() {},
  951. cancelValue: "取消"
  952. }).showModal();
  953. }
  954. $scope.toBiaoben = function(simpleType,module){
  955. $scope.stddetailParm.simpleType = simpleType;
  956. if(!module){
  957. module = $scope.stddetailParm.module;
  958. }
  959. var params = {"biaobenId":0};
  960. $rootScope.loading = $http.get($scope.hosturl+'/api/GetBiaobenId/'+$scope.stddetailParm.simpleType,{'params':params}).success(function(data){
  961. if(data.success){
  962. var biaobenId = data.map.nextBiaobenId;
  963. if(!biaobenId){
  964. toaster.pop('error','提示','该标本值没有对应的样本');
  965. return;
  966. }
  967. var urlHref = $state.href('markstep.step' + module,{'taskId':'biaoben-' + biaobenId,'module':module});
  968. window.open(urlHref,user.userId + '-' + simpleType).focus();
  969. }
  970. });
  971. }
  972. $scope.nextBiaoben = function(){
  973. $scope.stddetailParm.orderNum = $scope.stddetailParm.orderNum - 0 + 1;
  974. var module = $scope.stddetailParm.module;
  975. var params = {"biaobenId":$scope.stddetailParm.biaobenId};
  976. $rootScope.loading = $http.get($scope.hosturl+'/api/GetBiaobenId/'+$scope.stddetailParm.simpleType,{'params':params}).success(function(data){
  977. if(data.success){
  978. var biaobenId = data.map.nextBiaobenId;
  979. if(!biaobenId){
  980. toaster.pop('error','提示','该标本值没有对应的样本');
  981. return;
  982. }
  983. $state.go('markstep.step' + module,{'taskId':'biaoben-' + biaobenId,'module':$scope.stddetailParm.module});
  984. }
  985. })
  986. }
  987. $scope.goNext = function(){
  988. for(var i = 0; i < $scope.pingfenPages.length; i++){
  989. var module = $scope.pingfenPages[i];
  990. if($scope.stddetailParm.module - module == 0 && i < $scope.pingfenPages.length - 1){
  991. module = $scope.pingfenPages[i+1];
  992. // if(module == 12){
  993. // angular.element( document.querySelector( '#pop_submitScoreConfirm' ) ).remove();
  994. // }
  995. $state.go('markstep.step' + module,{'taskId':$scope.stddetailParm.taskId,'module':module});
  996. break;
  997. }
  998. }
  999. // var module = $scope.stddetailParm.module - 0 + 1;
  1000. // if(module > 13){
  1001. // module = 13;
  1002. // }
  1003. // $state.go('markstep.step' + module,{'taskId':$scope.stddetailParm.taskId,'module':module});
  1004. }
  1005. $scope.goPre = function(){
  1006. for(var i = 0; i < $scope.pingfenPages.length; i++){
  1007. var module = $scope.pingfenPages[i];
  1008. if($scope.stddetailParm.module - module == 0 && i > 0){
  1009. module = $scope.pingfenPages[i-1];
  1010. $state.go('markstep.step' + module,{'taskId':$scope.stddetailParm.taskId,'module':module});
  1011. break;
  1012. }
  1013. }
  1014. // var module = $scope.stddetailParm.module - 0 - 1;
  1015. // if(module < 1){
  1016. // module = 1;
  1017. // }
  1018. // $state.go('markstep.step' + module,{'taskId':$scope.stddetailParm.taskId,'module':module});
  1019. }
  1020. $scope.switchGoNextStop = function(){
  1021. if(!$rootScope.autoGoNextStep){
  1022. $rootScope.autoGoNextStep = true;
  1023. }else{
  1024. $rootScope.autoGoNextStep = false;
  1025. }
  1026. }
  1027. $scope.goNextStudent = function(isNext){
  1028. var params = {"type":$scope.stddetailParm.type,"isNext":isNext};
  1029. $rootScope.loading = $http.get($scope.hosturl+'/api/GetNextUnfinishedStu/'+$scope.stddetailParm.taskId,{'params':params}).success(function(data){
  1030. if(data.success){
  1031. var taskId = data.map.taskId;
  1032. if(!taskId){
  1033. toaster.pop('error','提示','没有未完成的任务了');
  1034. return;
  1035. }
  1036. $state.go('markstep.step' + data.map.module,{'taskId':taskId,'module':data.map.module});
  1037. }
  1038. });
  1039. }
  1040. $scope.submitTaskFeedback = function(){
  1041. if(document.querySelectorAll( '#pop_feedback' ).length > 1){
  1042. var elementList = document.querySelectorAll( '#pop_feedback');
  1043. angular.element(elementList[1]).remove();
  1044. }
  1045. $scope.taskFeedback = {};
  1046. var params2 = {"taskId":$scope.stddetailParm.taskId, "module": $scope.stddetailParm.module};
  1047. $rootScope.loading = $http.post($scope.hosturl+'/api/GetEvalSubmitTaskFeedback',params2).success(function(data){
  1048. if(data.success){
  1049. $scope.taskFeedback = data.map.entity;
  1050. var d = dialog({
  1051. title: "问题反馈",
  1052. content: $('#pop_feedback'),
  1053. ok: function() {
  1054. if(!$scope.taskFeedback.feedback || $scope.taskFeedback.feedback.length == 0){
  1055. toaster.pop('error', '提示', '请输入问题反馈');
  1056. return false;
  1057. }
  1058. var params = {id:$scope.taskFeedback.id, module:$scope.taskFeedback.module
  1059. , taskId:$scope.taskFeedback.taskId, feedback: $scope.taskFeedback.feedback};
  1060. $rootScope.loading = $http.post($scope.hosturl+'/api/EvalSubmitTaskFeedback', params).success(function(data){
  1061. if(data.success){
  1062. var d = dialog({
  1063. title: "提示",
  1064. content: "提交成功!",
  1065. ok: function() {},
  1066. okValue: "确定"
  1067. }).showModal();
  1068. }
  1069. });
  1070. },
  1071. okValue: "确定",
  1072. cancel: function() {},
  1073. cancelValue: "取消"
  1074. }).showModal();
  1075. }
  1076. });
  1077. }
  1078. $scope.addFeedback = function(feedback){
  1079. $scope.taskFeedback.feedback = $scope.taskFeedback.feedback.concat(feedback);
  1080. }
  1081. $scope.recalculateAutoScore = function(){
  1082. var totalScore = 0;
  1083. var mkCount = 0;
  1084. if($scope.selectMK1 && $scope.personal.mokao[0].mokao_name != '无' && $scope.personal.mokao[0].score > 0){
  1085. console.log('--- 1 selected, totalScore: ' + totalScore);
  1086. totalScore = totalScore + $scope.personal.mokao[0].score;
  1087. mkCount = mkCount + 1;
  1088. console.log('--- 1 selected, totalScore: ' + totalScore + ' mkCount: ' + mkCount);
  1089. }
  1090. if($scope.selectMK2 && $scope.personal.mokao[1].mokao_name != '无' && $scope.personal.mokao[1].score > 0){
  1091. totalScore = totalScore + $scope.personal.mokao[1].score;
  1092. mkCount = mkCount + 1;
  1093. }
  1094. if($scope.selectMK3 && $scope.personal.mokao[2].mokao_name != '无' && $scope.personal.mokao[2].score > 0){
  1095. totalScore = totalScore + $scope.personal.mokao[2].score;
  1096. mkCount = mkCount + 1;
  1097. }
  1098. var avgMkScore = mkCount > 0 ? totalScore/mkCount : 0;
  1099. var remark = '';
  1100. var moduleScore = 0;
  1101. var diff = (($scope.controast[0].score_line_td - $scope.controast[0].score_line_zd)/4);
  1102. if(avgMkScore >= $scope.controast[0].score_line_td){
  1103. moduleScore = 9.5;
  1104. remark = '达到近三年提档线平均分(' + $scope.controast[0].score_line_td + ')';
  1105. }else if(avgMkScore >= $scope.controast[0].score_line_zd + diff*3){
  1106. moduleScore = 9;
  1107. remark = '达到重点线平均分(' + $scope.controast[0].score_line_zd + ') + '+ diff.toFixed(2) +'*3';
  1108. }else if(avgMkScore >= $scope.controast[0].score_line_zd + diff*2){
  1109. moduleScore = 8;
  1110. remark = '达到重点线平均分(' + $scope.controast[0].score_line_zd + ') + '+ diff.toFixed(2) +'*2';
  1111. }else if(avgMkScore >= $scope.controast[0].score_line_zd + diff){
  1112. moduleScore = 7;
  1113. remark = '达到重点线平均分(' + $scope.controast[0].score_line_zd + ') + '+ diff.toFixed(2) ;
  1114. }else if(avgMkScore >= $scope.controast[0].score_line_zd){
  1115. moduleScore = 6;
  1116. remark = '达到重点线平均分(' + $scope.controast[0].score_line_zd + ')';
  1117. }else if(avgMkScore >= $scope.controast[0].score_line_zd - 10){
  1118. moduleScore = 5;
  1119. remark = '低于重点线平均分10分以内';
  1120. }else if(avgMkScore >= $scope.controast[0].score_line_zd - 19){
  1121. moduleScore = 4;
  1122. remark = '低于重点线平均分10-19分';
  1123. }else if(avgMkScore >= $scope.controast[0].score_line_zd - 29){
  1124. moduleScore = 3;
  1125. remark = '低于重点线平均分20-29分';
  1126. }else if(avgMkScore >= $scope.controast[0].score_line_zd - 39){
  1127. moduleScore = 2;
  1128. remark = '低于重点线平均分30-39分';
  1129. }else if(avgMkScore >= $scope.controast[0].score_line_zd - 49){
  1130. moduleScore = 1;
  1131. remark = '低于重点线平均分40-49分';
  1132. }else{
  1133. moduleScore = 0;
  1134. remark = '低于重点线平均分50分及以上';
  1135. }
  1136. var d = dialog({
  1137. title: "提示",
  1138. content: "模考平均分:" + avgMkScore + " 模块得分:" + moduleScore + " 说明:" + remark,
  1139. ok: function() {
  1140. },
  1141. okValue: "确定"
  1142. }).showModal();
  1143. }
  1144. $scope.deleteFuheTask = function(){
  1145. var d = dialog({
  1146. title: "提示",
  1147. content: "您确定提交已复核不评分?",
  1148. ok: function() {
  1149. var params = {'taskId':$scope.stddetailParm.taskId};
  1150. $rootScope.loading = $http.post($scope.hosturl+'/api/removeFuheTask',params).success(function(data){
  1151. if(data.map.nextTask){
  1152. var nextTask = data.map.nextTask;
  1153. $state.go('markstep.step1',{'taskId':data.map.nextTask.id,'module':0});
  1154. }else{
  1155. var d = dialog({
  1156. title: "提示",
  1157. content: "您已经没有打分任务了!",
  1158. ok: function() {
  1159. $state.go('mark');
  1160. },
  1161. okValue: "确定"
  1162. }).showModal();
  1163. }
  1164. });
  1165. },
  1166. okValue: "确定"
  1167. }).showModal();
  1168. }
  1169. $scope.isMarkedModule = function(module){
  1170. var result = false;
  1171. angular.forEach($scope.markedModules, function(m){
  1172. if(m.toString() == module){
  1173. result = true;
  1174. }
  1175. })
  1176. return result;
  1177. }
  1178. })
  1179. .directive('ckeditor', function() {
  1180. return {
  1181. require : '?ngModel',
  1182. link : function(scope, element, attrs, ngModel) {
  1183. var ckeditor = CKEDITOR.replace(element[0], {
  1184. height:400,
  1185. wordcount:{
  1186. showParagraphs : false, // 是否统计段落数
  1187. showWordCount : true, // 是否统计词数
  1188. showCharCount : false, // 是否统计字符数
  1189. countSpacesAsChars : false, // 是否统计空间字符
  1190. countHTML : false, // 是否统计包括HTML字符的字符数
  1191. maxWordCount : -1, // 最大允许词数,-1表示无上限
  1192. maxCharCount: attrs.maxlength ? attrs.maxlength : 500,
  1193. filter : new CKEDITOR.htmlParser.filter({ // 添加筛选器添加或删除元素之前计数(CKEDITOR.htmlParser.filter),默认值:null
  1194. // (no filter)
  1195. elements : {
  1196. div : function(element) {
  1197. if (element.attributes.class == 'mediaembed') {
  1198. return false;
  1199. }
  1200. }
  1201. }
  1202. })
  1203. }
  1204. });
  1205. if (!ngModel) {
  1206. return;
  1207. }
  1208. ckeditor.on('instanceReady', function() {
  1209. ckeditor.setData(ngModel.$viewValue);
  1210. });
  1211. ckeditor.on('pasteState', function() {
  1212. scope.$apply(function() {
  1213. ngModel.$setViewValue(ckeditor.getData());
  1214. });
  1215. });
  1216. ngModel.$render = function(value) {
  1217. ckeditor.setData(ngModel.$viewValue);
  1218. };
  1219. }
  1220. };
  1221. });