app-ctrl.js 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876
  1. 'use strict';
  2. var app = angular.module('app')
  3. .controller('step1Ctrl', ['$scope', '$http', '$state','main_host','UserService', function($scope, $http, $state,main_host,UserService) {
  4. var user = UserService.getUserInfo();
  5. console.log(user);
  6. $('.mytab>li').eq(0).addClass('on').siblings().removeClass('on');
  7. $scope.applyParm = {
  8. "year": "",
  9. "name": "",
  10. "status": "",
  11. "pageIndex": 1,
  12. "pageSize": 20
  13. }
  14. $scope.applyData = {
  15. "year": "",
  16. "name": "",
  17. "status": "",
  18. "startTime": "",
  19. "endTime": "",
  20. "publishTime": ""
  21. }
  22. $scope.pageData = {}
  23. $scope.getBmData = function() {
  24. $http.get(main_host + '/api/EvalStudentBmManages', {
  25. params: $scope.applyParm
  26. }).success(function(data) {
  27. if (data.success) {
  28. $scope.applylists = data.map.data.list;
  29. $scope.pageData = {
  30. "pageIndex": data.map.data.pageIndex,
  31. "pageSize": data.map.data.pageSize,
  32. "totalCounts": data.map.data.totalCounts,
  33. "totalPages": data.map.data.totalPages
  34. }
  35. }
  36. });
  37. }
  38. //日期选择
  39. var start = {
  40. elem: '#startDate',
  41. choose: function(datas) {
  42. end.min = datas;
  43. end.start = datas;
  44. $scope.applyData.startTime = datas;
  45. }
  46. };
  47. var end = {
  48. elem: '#endDate',
  49. choose: function(datas) {
  50. start.max = datas;
  51. publishDate.min = datas;
  52. publishDate.start = datas;
  53. $scope.applyData.endTime = datas;
  54. }
  55. };
  56. var publishDate = {
  57. elem: '#publishDate',
  58. choose: function(datas) {
  59. $scope.applyData.publishTime = datas;
  60. }
  61. };
  62. $scope.startDate = function() {
  63. laydate(start);
  64. }
  65. $scope.endDate = function() {
  66. laydate(end);
  67. }
  68. $scope.publishDate = function() {
  69. laydate(publishDate);
  70. }
  71. console.log($scope);
  72. //添加报名
  73. $scope.addApply = function() {
  74. $scope.applyData = {
  75. "year": "",
  76. "name": "",
  77. "status": "",
  78. "startTime": "",
  79. "endTime": "",
  80. "publishTime": ""
  81. }
  82. var d = dialog({
  83. title: "添加学生报名",
  84. content: $('.pop_stdBm'),
  85. width: 500,
  86. ok: function() {
  87. $http.post(main_host + '/api/EvalStudentBmManages', $scope.applyData).success(function(data) {
  88. if (data.success) {
  89. $scope.getBmData();
  90. $scope.$parent.$parent.getBmYear();
  91. }
  92. })
  93. },
  94. okValue: '确定',
  95. cancel: function() {},
  96. cancelValue: '取消'
  97. }).showModal();
  98. }
  99. //修改报名
  100. $scope.editApply = function() {
  101. for (k in $scope.applylists) {
  102. if ($scope.applylists[k].id == $scope.choseArr[0]) {
  103. $scope.applyData = {
  104. "year": $scope.applylists[k].year,
  105. "name": $scope.applylists[k].name,
  106. "status": $scope.applylists[k].status,
  107. "startTime": $scope.applylists[k].startTime,
  108. "endTime": $scope.applylists[k].endTime,
  109. "publishTime": $scope.applylists[k].publishTime
  110. }
  111. }
  112. }
  113. var d = dialog({
  114. title: "添加学生报名",
  115. content: $('.pop_stdBm'),
  116. width: 500,
  117. ok: function() {
  118. $http.put(main_host + '/api/EvalStudentBmManages/' + $scope.choseArr[0], $scope.applyParm).success(function(data) {
  119. if (data.success) {
  120. $scope.getBmData();
  121. $scope.$parent.$parent.getBmYear();
  122. }
  123. });
  124. },
  125. okValue: '确定',
  126. cancel: function() {},
  127. cancelValue: '取消'
  128. }).showModal();
  129. }
  130. //删除报名
  131. $scope.delApply = function() {
  132. if ($scope.choseArr.length > 0) {
  133. var d = dialog({
  134. title: "提示",
  135. content: "是否确定要删除这条报名信息?",
  136. ok: function() {
  137. $http.delete(main_host + '/api/EvalStudentBmManages/' + $scope.choseArr.join(',')).success(function(data) {
  138. if (data.success) {
  139. $scope.getBmData();
  140. $scope.$parent.$parent.getBmYear();
  141. }
  142. })
  143. },
  144. okValue: "确定",
  145. cancel: function() {},
  146. cancelValue: "取消"
  147. }).showModal();
  148. }
  149. }
  150. $scope.choseArr = [];
  151. $scope.showEdit = false;
  152. $scope.multipleChecked = function(x, z) {
  153. if (x) {
  154. if ($scope.choseArr.indexOf(z) == -1) {
  155. $scope.choseArr.push(z);
  156. }
  157. } else {
  158. for (k in $scope.choseArr) {
  159. if ($scope.choseArr[k] == z) {
  160. $scope.choseArr.splice(k,1);
  161. }
  162. }
  163. }
  164. if ($scope.choseArr.length == 1) {
  165. $scope.showEdit = true;
  166. } else {
  167. $scope.showEdit = false;
  168. }
  169. }
  170. //报名状态
  171. $scope.bmStatus = function(id, status) {
  172. var statusParm = {
  173. "status": status
  174. }
  175. if (status == '1') {
  176. statusParm.status = "0"
  177. } else {
  178. statusParm.status = "1"
  179. }
  180. $http.put(main_host + '/api/EvalStudentBmManageStatus/' + id, statusParm).success(function(data) {
  181. if (data.success) {
  182. $scope.getBmData();
  183. $scope.$parent.$parent.getBmYear();
  184. }
  185. })
  186. }
  187. //查询
  188. $scope.queryBmData = function() {
  189. $scope.getBmData();
  190. }
  191. //首页
  192. $scope.bmFirstPage = function() {
  193. $scope.applyParm.pageIndex = 1;
  194. $scope.getBmData();
  195. }
  196. //上一页
  197. $scope.bmPrevPage = function() {
  198. if ($scope.applyParm.pageIndex > 1) {
  199. $scope.applyParm.pageIndex--;
  200. $scope.getBmData();
  201. }
  202. }
  203. //下一页
  204. $scope.bmNextPage = function() {
  205. if ($scope.applyParm.pageIndex < $scope.pageData.totalPages) {
  206. $scope.applyParm.pageIndex++;
  207. $scope.getBmData();
  208. }
  209. }
  210. //尾页
  211. $scope.bmLastPage = function() {
  212. $scope.applyParm.pageIndex = $scope.pageData.totalPages;
  213. $scope.getBmData();
  214. }
  215. }])
  216. .controller('step2Ctrl', ['$scope', '$http', '$state', function($scope, $http, $state) {
  217. $('.mytab>li').eq(1).addClass('on').siblings().removeClass('on');
  218. $scope.commentParm = {
  219. "pageIndex": 1,
  220. "pageSize": 20
  221. }
  222. $scope.pageData = {}
  223. $scope.getCommentData = function() {
  224. $http.get(main_host + '/api/EvalCalibrationInfos', {
  225. params: $scope.commentParm
  226. }).success(function(data) {
  227. console.log(data);
  228. if (data.success) {
  229. $scope.commentlists = data.map.data.list;
  230. $scope.pageData = {
  231. "pageIndex": data.map.data.pageIndex,
  232. "pageSize": data.map.data.pageSize,
  233. "totalCounts": data.map.data.totalCounts,
  234. "totalPages": data.map.data.totalPages
  235. }
  236. }
  237. })
  238. }
  239. //添加数据
  240. $scope.addCommentData = function() {
  241. angular.element( document.querySelector( '#showExpertSP' ) ).remove();
  242. $state.go('app.step9', {}, { reload: true });
  243. }
  244. //首页
  245. $scope.bmFirstPage = function() {
  246. $scope.commentParm.pageIndex = 1;
  247. $scope.getCommentData();
  248. }
  249. //上一页
  250. $scope.bmPrevPage = function() {
  251. if ($scope.commentParm.pageIndex > 1) {
  252. $scope.commentParm.pageIndex--;
  253. $scope.getCommentData();
  254. }
  255. }
  256. //下一页
  257. $scope.bmNextPage = function() {
  258. if ($scope.commentParm.pageIndex < $scope.pageData.totalPages) {
  259. $scope.commentParm.pageIndex++;
  260. $scope.getCommentData();
  261. }
  262. }
  263. //尾页
  264. $scope.bmLastPage = function() {
  265. $scope.commentParm.pageIndex = $scope.pageData.totalPages;
  266. $scope.getCommentData();
  267. }
  268. }])
  269. // 试评任务
  270. .controller('step9Ctrl',function($scope, $http, $state,$rootScope, toaster,$window) {
  271. $('.mytab>li').eq(1).addClass('on').siblings().removeClass('on');
  272. $scope.sampleParm = {
  273. "yearId": "",
  274. "tryPercent": ""
  275. }
  276. $scope.launchParm = {
  277. "yearId": "",
  278. "tryPercent": "",
  279. "total": "",
  280. "executor": [],
  281. "time": ""
  282. }
  283. $scope.expertname = [];
  284. $scope.pageData = {};
  285. $scope.areaParm = {areas: []};
  286. $scope.pingfenPages = [];
  287. angular.forEach(totalPingfenModules, function(item){
  288. $scope.pingfenPages.push({page:item, checked:false, available:true});
  289. });
  290. $scope.selectedExpertsAndPages = [];
  291. $scope.selectAllProvinces = true;
  292. $scope.selectAllProvincesChanged = function(){
  293. angular.forEach($scope.samplelists, function(item){
  294. item.checked = $scope.selectAllProvinces;
  295. });
  296. }
  297. $scope.getSampleData = function() {
  298. var params = {'tryPercent':parseFloat($scope.sampleParm.tryPercent / 100),'yearId':$scope.sampleParm.yearId};
  299. $http.get(main_host + '/api/EvalCalibrationStudents', {
  300. 'params': params
  301. }).success(function(data) {
  302. console.log(data);
  303. if (data.success) {
  304. $scope.samplelists = data.map.provinces;
  305. $scope.selectAllProvinces = true;
  306. angular.forEach($scope.samplelists, function(item){
  307. item.checked = true;
  308. })
  309. $scope.sampletotle = data.map.total;
  310. }
  311. });
  312. }
  313. //选择日期
  314. $scope.spEndTime = function() {
  315. laydate({
  316. elem: '#spEndTime',
  317. min: laydate.now(),
  318. choose: function(datas) {
  319. $scope.launchParm.time = datas;
  320. }
  321. });
  322. }
  323. //发起试评
  324. $scope.launchComment = function() {
  325. $scope.launchParm.yearId = $scope.sampleParm.yearId;
  326. $scope.launchParm.tryPercent = parseFloat($scope.sampleParm.tryPercent / 100);
  327. $scope.launchParm.total = 0;
  328. $scope.launchParm.provinceIds = [];
  329. $scope.launchParm.provinceNames = '';
  330. angular.forEach($scope.samplelists, function(item){
  331. if(item.checked){
  332. $scope.launchParm.provinceIds.push(item.province_id);
  333. $scope.launchParm.total += item.person;
  334. $scope.launchParm.provinceNames += item.name + ";"
  335. }
  336. });
  337. var availablePages = [];
  338. angular.forEach($scope.pingfenPages, function(item){
  339. if(item.available){
  340. availablePages.push(item.page);
  341. }
  342. });
  343. if(availablePages.length > 0){
  344. toaster.pop('error','提示','尚有未分配的评分页面。');
  345. $scope.selectExpert();
  346. return;
  347. }
  348. $scope.launchParm.executors = [];
  349. angular.forEach($scope.selectedExpertsAndPages, function(item){
  350. for(var i = 0; i < item.expertUserIdArr.length; i++){
  351. $scope.launchParm.executors.push(item.expertUserIdArr[i]);
  352. }
  353. for(var i = 0; i < item.pages.length; i++){
  354. $scope.launchParm.executors.push(item.pages[i]);
  355. }
  356. $scope.launchParm.executors.push(0);
  357. })
  358. console.log($scope.launchParm.executors);
  359. if($scope.launchParm.yearId == '' || $scope.launchParm.tryPercent == '' || $scope.launchParm.total == 'underfined' || $scope.launchParm.executors.length == 0 || $scope.launchParm.time == ''){
  360. dialog({
  361. title:"提示",
  362. content:"请完善试评信息后再次发起试评",
  363. ok:function(){},
  364. okValue:"确定",
  365. cancel:function(){},
  366. cancelValue:"取消"
  367. }).showModal();
  368. }else{
  369. dialog({
  370. title:"提示",
  371. content:"是否发起试评",
  372. ok:function(){
  373. $rootScope.loading = $http.post(main_host + '/api/EvalCalibrationInfos', $scope.launchParm).success(function(data) {
  374. if (data.success) {
  375. console.log(data);
  376. if (data.map.code == 1) {
  377. var d = dialog({
  378. title: "提示",
  379. content: data.map.msg,
  380. width: 200,
  381. height: 40,
  382. ok: function() {
  383. $state.go('app.step2');
  384. },
  385. okValue: "确定"
  386. }).showModal();
  387. }
  388. $scope.expertname = [];
  389. $scope.expertUserIdArr = [];
  390. $scope.expertNameArr = [];
  391. $scope.selectAllPages = false;
  392. $scope.pingfenPages = [{page:1, checked:false, available:true},{page:2, checked:false, available:true},{page:3, checked:false, available:true},{page:4, checked:false, available:true},{page:5, checked:false, available:true},{page:6, checked:false, available:true},
  393. {page:7, checked:false, available:true},{page:8, checked:false, available:true},{page:9, checked:false, available:true},{page:10, checked:false, available:true},{page:11, checked:false, available:true},{page:12, checked:false, available:true}];
  394. }
  395. })
  396. },
  397. okValue:"确定",
  398. cancel:function(){},
  399. cancelValue:"取消"
  400. }).showModal();
  401. }
  402. }
  403. $scope.selectExpertOk = function (){
  404. var json = {'expertname': $scope.expertname, 'expertUserIdArr': $scope.expertUserIdArr, 'expertNameArr': $scope.expertNameArr};
  405. $scope.selectedExpertsAndPages.push(json);
  406. }
  407. //选择定标专家
  408. $scope.selectExpert = function() {
  409. $scope.expertname = [];
  410. // var expertUserIdArr = [];
  411. // var expertNameArr = [];
  412. $scope.expertname = [];
  413. $scope.expertUserIdArr = [];
  414. $scope.expertNameArr = [];
  415. $scope.selectAllPages = false;
  416. var availablePages = [];
  417. angular.forEach($scope.pingfenPages, function(item){
  418. if(item.available){
  419. availablePages.push(item.page);
  420. }
  421. });
  422. if(availablePages.length > 0){
  423. $rootScope.loading = $http.get(main_host + '/api/EvalCalibrationExecutors').success(function(data) {
  424. if (data.success) {
  425. $scope.dbexpertlists = data.map.data;
  426. var d = dialog({
  427. title: '选择专家',
  428. content: $('#showExpertSP'),
  429. width: 500,
  430. ok: function() {
  431. if($scope.expertUserIdArr.length == eval_exector_num){
  432. var pages = [];
  433. angular.forEach($scope.pingfenPages, function(item){
  434. if(item.checked && item.available){
  435. pages.push(item.page);
  436. item.available = false;
  437. }
  438. });
  439. if(pages.length > 0){
  440. $scope.$apply(function() {
  441. var json = {'expertname': $scope.expertname, 'expertUserIdArr': $scope.expertUserIdArr, 'expertNameArr': $scope.expertNameArr, 'pages': pages, 'id': pages[0]};
  442. $scope.selectedExpertsAndPages.push(json);
  443. });
  444. }else{
  445. toaster.pop('error','提示','未分配评分页面。');
  446. }
  447. }else{
  448. toaster.pop('error','提示','请选择'+ eval_exector_num + '位专家。');
  449. }
  450. },
  451. okValue: '确定',
  452. cancel: function() {},
  453. cancelValue: '取消'
  454. }).showModal();
  455. }
  456. });
  457. }else{
  458. toaster.pop('error','提示','没有可以分配的评分页面。');
  459. }
  460. }
  461. $scope.clickExpertName = function(item){
  462. if($scope.expertUserIdArr.length < eval_exector_num){
  463. var exists = false;
  464. angular.forEach($scope.expertUserIdArr, function(userId){
  465. if(userId == item.userId){
  466. exists = true;
  467. }
  468. })
  469. if(!exists){
  470. $scope.expertUserIdArr.push(item.userId);
  471. $scope.expertNameArr.push(item.name);
  472. $scope.expertname = [];
  473. $scope.expertname.push($scope.expertNameArr.join(' '));
  474. }
  475. }
  476. console.log($scope.expertUserIdArr);
  477. }
  478. $scope.selectAllPagesChanged = function(){
  479. angular.forEach($scope.pingfenPages, function(item){
  480. if(item.available){
  481. item.checked = $scope.selectAllPages;
  482. }
  483. });
  484. }
  485. $scope.deleteSelected = function(deleteItem){
  486. for(var i=0; i<$scope.selectedExpertsAndPages.length; i++){
  487. if(deleteItem.id == $scope.selectedExpertsAndPages[i].id){
  488. $scope.selectedExpertsAndPages.splice(i,1);
  489. break;
  490. }
  491. }
  492. angular.forEach($scope.pingfenPages, function(page){
  493. angular.forEach(deleteItem.pages, function(spage){
  494. if(spage == page.page){
  495. page.available = true;
  496. page.checked = false;
  497. }
  498. });
  499. });
  500. }
  501. $scope.clearAllSel = function() {
  502. console.log('clearAllSel');
  503. $scope.expertname = [];
  504. $scope.expertUserIdArr = [];
  505. $scope.expertNameArr = [];
  506. console.log($scope.expertname);
  507. $scope.launchParm.executors = [];
  508. // $("#showExpert .list li").each(function(index,element){
  509. // $(element).show();
  510. // });
  511. }
  512. })
  513. .controller('step3Ctrl', function($scope, $http, $state,$rootScope,toaster) {
  514. $('.mytab>li').eq(2).addClass('on').siblings().removeClass('on');
  515. $scope.calibrationParm = {
  516. "averageScoreStart": "",
  517. "averageScoreEnd": "",
  518. "executorName": "",
  519. "simpleType": "",
  520. "studentName": "",
  521. "pageIndex": 1,
  522. "pageSize": 20
  523. }
  524. $scope.pageData = {}
  525. $scope.getCalibrationData = function() {
  526. $http.get(main_host + '/api/EvalCalibrationSimples', {
  527. params: $scope.calibrationParm
  528. }).success(function(data) {
  529. console.log(data);
  530. if (data.success) {
  531. $scope.calibrationlists = data.map.data.list;
  532. $scope.pageData = {
  533. "pageIndex": data.map.data.pageIndex,
  534. "pageSize": data.map.data.pageSize,
  535. "totalCounts": data.map.data.totalCounts,
  536. "totalPages": data.map.data.totalPages
  537. }
  538. }
  539. })
  540. }
  541. //查询
  542. $scope.queryCalibration = function() {
  543. $scope.getCalibrationData();
  544. }
  545. //设置样本类型
  546. $scope.simpleParm = {
  547. "simpleType": ""
  548. }
  549. $scope.saveSimplesType = function(id){
  550. $http.post(main_host + '/api/EvalCalibrationSimples/'+id + '?simpleType=' + $scope.simpleParm.simpleType).success(function(data) {
  551. if (data.success) {
  552. toaster.pop('success','提示','操作成功!');
  553. $scope.getCalibrationData();
  554. }
  555. });
  556. }
  557. $scope.setSimplesType = function(id,simpleType) {
  558. if(simpleType){
  559. $scope.simpleChecked = simpleType.charCodeAt(0) - 65;
  560. }else{
  561. $scope.simpleChecked = -1;
  562. }
  563. $scope.simpleParm.simpleType = simpleType;
  564. dialog({
  565. title:"设置样本类型",
  566. content:$('#popSimplestype'),
  567. ok:function(){
  568. $scope.saveSimplesType(id);
  569. },
  570. okValue:"确定",
  571. cancel:function(){
  572. },
  573. cancelValue:"关闭"
  574. }).showModal();
  575. }
  576. //选择标本类型
  577. $scope.selectSimpleType = function(type,row){
  578. $scope.simpleChecked = row;
  579. $scope.simpleParm.simpleType = type;
  580. }
  581. //重置标本
  582. $scope.resetSimplesType = function(id) {
  583. dialog({
  584. title:"提示",
  585. content:'是否确定重置标本?',
  586. ok:function(){
  587. $scope.simpleParm.simpleType = "";
  588. $scope.saveSimplesType(id);
  589. },
  590. okValue:"确定",
  591. cancel:function(){
  592. },
  593. cancelValue:"取消"
  594. }).showModal();
  595. }
  596. //重置试评打分
  597. $scope.resetShipingMark = function(id) {
  598. dialog({
  599. title:"提示",
  600. content:'是否确定重置试评打分(重置后将删除之前的打分数据)?',
  601. ok:function(){
  602. $rootScope.loading = $http.post(main_host+'/api/ResetShipingMark/' + id).success(function(data){
  603. if(data.success){
  604. toaster.pop('success','提示','重置试评打分成功!');
  605. $scope.getCalibrationData();
  606. }
  607. });
  608. },
  609. okValue:"确定",
  610. cancel:function(){
  611. },
  612. cancelValue:"取消"
  613. }).showModal();
  614. }
  615. //显示打分详情
  616. $scope.lookCalibrationDetail = function(id) {
  617. if(document.querySelectorAll( '#popCalibrationDetail_picketage_table' ).length > 1){
  618. var elementList = document.querySelectorAll( '#popCalibrationDetail_picketage_table');
  619. angular.element(elementList[1]).remove();
  620. }
  621. $rootScope.loading = $http.get(main_host + '/api/GetEvalMarkDetails/'+id).success(function(data) {
  622. if (data.success) {
  623. $scope.marklists = data.map.data;
  624. console.log($scope.marklists);
  625. dialog({
  626. title:"打分详情",
  627. content:$('#popCalibrationDetail_picketage_table'),
  628. ok:function(){
  629. var urlHref = $state.href('markstep.step1',{'taskId':'view-' + id,'module':1});
  630. window.open(urlHref);
  631. return false;
  632. },
  633. okValue: "查看评分页面",
  634. cancel: function() {},
  635. cancelValue: "关闭"
  636. }).showModal();
  637. }
  638. });
  639. }
  640. //首页
  641. $scope.bmFirstPage = function() {
  642. $scope.calibrationParm.pageIndex = 1;
  643. $scope.getCalibrationData();
  644. }
  645. //上一页
  646. $scope.bmPrevPage = function() {
  647. if ($scope.calibrationParm.pageIndex > 1) {
  648. $scope.calibrationParm.pageIndex--;
  649. $scope.getCalibrationData();
  650. }
  651. }
  652. //下一页
  653. $scope.bmNextPage = function() {
  654. if ($scope.calibrationParm.pageIndex < $scope.pageData.totalPages) {
  655. $scope.calibrationParm.pageIndex++;
  656. $scope.getCalibrationData();
  657. }
  658. }
  659. //尾页
  660. $scope.bmLastPage = function() {
  661. $scope.calibrationParm.pageIndex = $scope.pageData.totalPages;
  662. $scope.getCalibrationData();
  663. }
  664. })
  665. .controller('step4Ctrl', ['$scope', '$http', '$state', function($scope, $http, $state) {
  666. $('.mytab>li').eq(3).addClass('on').siblings().removeClass('on');
  667. $scope.evaluationsParm = {
  668. "pageIndex": 1,
  669. "pageSize": 20
  670. }
  671. $scope.pageData = {}
  672. //获取历史分组评审
  673. $scope.getEvaluationsData = function() {
  674. $http.get(main_host + '/api/EvalRealEvaluations', {
  675. params: $scope.evaluationsParm
  676. }).success(function(data) {
  677. console.log(data);
  678. if (data.success) {
  679. $scope.evaluationslists = data.map.data.list;
  680. $scope.pageData = {
  681. "pageIndex": data.map.data.pageIndex,
  682. "pageSize": data.map.data.pageSize,
  683. "totalCounts": data.map.data.totalCounts,
  684. "totalPages": data.map.data.totalPages
  685. }
  686. }
  687. });
  688. }
  689. //首页
  690. $scope.bmFirstPage = function() {
  691. $scope.evaluationsParm.pageIndex = 1;
  692. $scope.getEvaluationsData();
  693. }
  694. //上一页
  695. $scope.bmPrevPage = function() {
  696. if ($scope.evaluationsParm.pageIndex > 1) {
  697. $scope.evaluationsParm.pageIndex--;
  698. $scope.getEvaluationsData();
  699. }
  700. }
  701. //下一页
  702. $scope.bmNextPage = function() {
  703. if ($scope.evaluationsParm.pageIndex < $scope.pageData.totalPages) {
  704. $scope.evaluationsParm.pageIndex++;
  705. $scope.getEvaluationsData();
  706. }
  707. }
  708. //尾页
  709. $scope.bmLastPage = function() {
  710. $scope.evaluationsParm.pageIndex = $scope.pageData.totalPages;
  711. $scope.getEvaluationsData();
  712. }
  713. //点击添加
  714. $scope.addEvaluations = function() {
  715. angular.element( document.querySelector( '#showExpertFZPS' ) ).remove();
  716. $state.go('app.step10');
  717. }
  718. //点击删除
  719. $scope.delEvaluation = function(evalId) {
  720. var d = dialog({
  721. title: "提示",
  722. content: "是否确定要删除这条分组评审信息?(如果已经开始评审,则不能删除)",
  723. ok: function() {
  724. $http.post(main_host + '/api/DelEvalRealEvaluation/' + evalId).success(function(data) {
  725. if (data.success) {
  726. $scope.getEvaluationsData();
  727. }
  728. })
  729. },
  730. okValue: "确定",
  731. cancel: function() {},
  732. cancelValue: "取消"
  733. }).showModal();
  734. }
  735. }])
  736. // 正式评审任务
  737. .controller('step10Ctrl', function($scope, $http, $state,$rootScope,toaster) {
  738. $('.mytab>li').eq(3).addClass('on').siblings().removeClass('on');
  739. $scope.areaParm = {
  740. "areas": [],
  741. "pageIndex": 1,
  742. "pageSize": 20
  743. }
  744. $scope.launchParm = {
  745. "yearId": "",
  746. "executors": [],
  747. "time": ""
  748. }
  749. $scope.expertname = [];
  750. $scope.pageData = {};
  751. $scope.areaParm = {areas: []};
  752. $scope.pingfenPages = [];
  753. angular.forEach(totalPingfenModules, function(item){
  754. $scope.pingfenPages.push({page:item, checked:false, available:true});
  755. })
  756. $scope.selectedExpertsAndPages = [];
  757. $scope.getAreaStdData = function() {
  758. if(!$scope.areas || $scope.areas.length == 0){
  759. toaster.pop('error','提示','请添加高中区域');
  760. return;
  761. }
  762. // $scope.areaParm.areasStr = $scope.areas.join('@@');
  763. // $rootScope.loading = $http.post(main_host + '/api/EvalAreaStudents',
  764. // data: $scope.areaParm
  765. // )
  766. $scope.areaParm.areas = [];
  767. angular.forEach($scope.areas, function(item){
  768. var obj = {"province":null, "area":null, "city": null, "schoolId":null};
  769. if(item.province && item.province.province_id){
  770. obj.province = item.province.province_id;
  771. obj.provinceName = item.province.province_name;
  772. }
  773. if(item.area && item.area.area_id){
  774. obj.area = item.area.area_id;
  775. obj.areaName = item.area.area_name;
  776. }
  777. if(item.city && item.city.city_id){
  778. obj.city = item.city.city_id;
  779. obj.cityName = item.city.city_name;
  780. }
  781. if(item.school && item.school.school_id){
  782. obj.schoolId = item.school.school_id;
  783. obj.schoolName = item.school.school_name;
  784. }
  785. $scope.areaParm.areas.push(obj);
  786. })
  787. $rootScope.loading = $http({
  788. url : main_host + '/api/EvalAreaStudents',
  789. method : 'POST',
  790. data: $scope.areaParm
  791. })
  792. .success(function(data) {
  793. if (data.success) {
  794. $scope.areastdlists = data.map.data.list;
  795. $scope.pageData = {
  796. "pageIndex": data.map.data.pageIndex,
  797. "pageSize": data.map.data.pageSize,
  798. "totalCounts": data.map.data.totalCounts,
  799. "totalPages": data.map.data.totalPages
  800. }
  801. }
  802. });
  803. }
  804. //发起分组评审(使用的这个代码)
  805. $scope.launchEvaluation = function() {
  806. console.log($scope.launchParm.executors);
  807. if(!$scope.areas || $scope.areas.length == 0){
  808. toaster.pop('error','提示','请添加高中区域');
  809. return;
  810. }
  811. if(!$scope.launchParm.executors){
  812. toaster.pop('error','提示','请指定评审专家');
  813. $scope.selectExpert();
  814. return;
  815. }
  816. if(!$scope.launchParm.time){
  817. toaster.pop('error','提示','请选择分组评审结束时间');
  818. $scope.psEndTime();
  819. return;
  820. }
  821. var availablePages = [];
  822. angular.forEach($scope.pingfenPages, function(item){
  823. if(item.available){
  824. availablePages.push(item.page);
  825. }
  826. });
  827. if(availablePages.length > 0){
  828. toaster.pop('error','提示','尚有未分配的评分页面。');
  829. $scope.selectExpert();
  830. return;
  831. }
  832. $scope.launchParm.executors = [];
  833. angular.forEach($scope.selectedExpertsAndPages, function(item){
  834. for(var i = 0; i < item.expertUserIdArr.length; i++){
  835. $scope.launchParm.executors.push(item.expertUserIdArr[i]);
  836. }
  837. for(var i = 0; i < item.pages.length; i++){
  838. $scope.launchParm.executors.push(item.pages[i]);
  839. }
  840. $scope.launchParm.executors.push(0);
  841. })
  842. console.log($scope.launchParm.executors);
  843. $scope.launchParm.areas = [];
  844. angular.forEach($scope.areas, function(item){
  845. var obj = {"province":null, "provinceName": null, "area":null, "areaName": null
  846. , "city": null, "cityName": null, "schoolId":null, "schoolName": null};
  847. if(item.province && item.province.province_id){
  848. obj.province = item.province.province_id;
  849. obj.provinceName = item.province.province_name;
  850. }
  851. if(item.area && item.area.area_id){
  852. obj.area = item.area.area_id;
  853. obj.areaName = item.area.area_name;
  854. }
  855. if(item.city && item.city.city_id){
  856. obj.city = item.city.city_id;
  857. obj.cityName = item.city.city_name;
  858. }
  859. if(item.school && item.school.school_id){
  860. obj.schoolId = item.school.school_id;
  861. obj.schoolName = item.school.school_name;
  862. }
  863. $scope.launchParm.areas.push(obj);
  864. })
  865. $rootScope.loading = $http.post(main_host + '/api/EvalRealEvaluation', $scope.launchParm).success(function(data) {
  866. if (data.success) {
  867. toaster.pop('success','提示','发起分组评审成功!');
  868. $state.go('app.step4');
  869. }
  870. });
  871. $scope.expertname = [];
  872. $scope.expertUserIdArr = [];
  873. $scope.expertNameArr = [];
  874. $scope.selectAllPages = false;
  875. $scope.pingfenPages = [{page:1, checked:false, available:true},{page:2, checked:false, available:true},{page:3, checked:false, available:true},{page:4, checked:false, available:true},{page:5, checked:false, available:true},{page:6, checked:false, available:true},
  876. {page:7, checked:false, available:true},{page:8, checked:false, available:true},{page:9, checked:false, available:true},{page:10, checked:false, available:true}
  877. ,{page:11, checked:false, available:true}// ,{page:12, checked:false, available:true}
  878. ];
  879. }
  880. //选择日期
  881. $scope.psEndTime = function() {
  882. laydate({
  883. elem: '#psEndTime',
  884. min: laydate.now(),
  885. choose: function(datas) {
  886. $scope.launchParm.time = datas;
  887. }
  888. });
  889. }
  890. //查询学生数量
  891. $scope.queryAreaStdData = function(){
  892. $scope.getAreaStdData();
  893. }
  894. //首页
  895. $scope.bmFirstPage = function() {
  896. $scope.areaParm.pageIndex = 1;
  897. $scope.getAreaStdData();
  898. }
  899. //上一页
  900. $scope.bmPrevPage = function() {
  901. if ($scope.areaParm.pageIndex > 1) {
  902. $scope.areaParm.pageIndex--;
  903. $scope.getAreaStdData();
  904. }
  905. }
  906. //下一页
  907. $scope.bmNextPage = function() {
  908. if ($scope.areaParm.pageIndex < $scope.pageData.totalPages) {
  909. $scope.areaParm.pageIndex++;
  910. $scope.getAreaStdData();
  911. }
  912. }
  913. //尾页
  914. $scope.bmLastPage = function() {
  915. $scope.areaParm.pageIndex = $scope.pageData.totalPages;
  916. $scope.getAreaStdData();
  917. }
  918. $scope.selectExpertOk = function (){
  919. var json = {'expertname': $scope.expertname, 'expertUserIdArr': $scope.expertUserIdArr, 'expertNameArr': $scope.expertNameArr};
  920. $scope.selectedExpertsAndPages.push(json);
  921. }
  922. //选择定标专家
  923. $scope.selectExpert = function() {
  924. $scope.expertname = [];
  925. $scope.expertUserIdArr = [];
  926. $scope.expertNameArr = [];
  927. $scope.selectAllPages = false;
  928. var availablePages = [];
  929. console.log($scope.pingfenPages);
  930. angular.forEach($scope.pingfenPages, function(item){
  931. if(item.available){
  932. availablePages.push(item.page);
  933. }
  934. });
  935. if(availablePages.length > 0){
  936. $http.get(main_host + '/api/EvalReviewTeachers').success(function(data) {
  937. if (data.success) {
  938. $scope.dbexpertlists = data.map.data;
  939. var d = dialog({
  940. title: '选择专家',
  941. content: '',
  942. width: 500,
  943. ok: function() {
  944. if($scope.expertUserIdArr.length == eval_exector_num){
  945. var pages = [];
  946. angular.forEach($scope.pingfenPages, function(item){
  947. if(item.checked && item.available){
  948. pages.push(item.page);
  949. item.available = false;
  950. }
  951. });
  952. if(pages.length > 0){
  953. $scope.$apply(function() {
  954. var json = {'expertname': $scope.expertname, 'expertUserIdArr': $scope.expertUserIdArr, 'expertNameArr': $scope.expertNameArr, 'pages': pages, 'id': pages[0]};
  955. $scope.selectedExpertsAndPages.push(json);
  956. });
  957. }else{
  958. toaster.pop('error','提示','未分配评分页面。');
  959. }
  960. }else{
  961. toaster.pop('error','提示','请选择 ' + eval_exector_num + ' 位专家。');
  962. }
  963. },
  964. okValue: '确定',
  965. cancel: function() {},
  966. cancelValue: '取消'
  967. }).showModal();
  968. d.content($('#showExpertFZPS'));
  969. }
  970. });
  971. }else{
  972. toaster.pop('error','提示','没有可以分配的评分页面。');
  973. }
  974. }
  975. $scope.clickExpertName = function(item){
  976. console.log($scope.expertUserIdArr);
  977. if($scope.expertUserIdArr.length < eval_exector_num){
  978. $scope.expertUserIdArr.push(item.id);
  979. $scope.expertNameArr.push(item.name);
  980. $scope.expertname = [];
  981. $scope.expertname.push($scope.expertNameArr.join(' '));
  982. }
  983. }
  984. $scope.selectAllPagesChanged = function(){
  985. angular.forEach($scope.pingfenPages, function(item){
  986. if(item.available){
  987. item.checked = $scope.selectAllPages;
  988. }
  989. });
  990. }
  991. $scope.deleteSelected = function(deleteItem){
  992. for(var i=0; i<$scope.selectedExpertsAndPages.length; i++){
  993. if(deleteItem.id == $scope.selectedExpertsAndPages[i].id){
  994. $scope.selectedExpertsAndPages.splice(i,1);
  995. break;
  996. }
  997. }
  998. angular.forEach($scope.pingfenPages, function(page){
  999. angular.forEach(deleteItem.pages, function(spage){
  1000. if(spage == page.page){
  1001. page.available = true;
  1002. page.checked = false;
  1003. }
  1004. });
  1005. });
  1006. }
  1007. $scope.clearAllSel = function() {
  1008. console.log('clearAllSel');
  1009. $scope.expertname = [];
  1010. $scope.expertUserIdArr = [];
  1011. $scope.expertNameArr = [];
  1012. console.log($scope.expertname);
  1013. $scope.launchParm.executors = [];
  1014. // $("#showExpert .list li").each(function(index,element){
  1015. // $(element).show();
  1016. // });
  1017. }
  1018. //********************* 选择高考区域 *********************/
  1019. $scope.prov;
  1020. $scope.city;
  1021. $scope.dist;
  1022. $scope.areas = []; //最终选择的区域数组,转字符串提交
  1023. $scope.totalStds = 0;
  1024. $rootScope.loading = $http.get(main_host + '/api/EvalStudentFzpsAreasSync')
  1025. .success(function(data){
  1026. $scope.provs = data.map.data;
  1027. angular.forEach($scope.provs, function(prov){
  1028. $scope.totalStds += prov.stds;
  1029. })
  1030. })
  1031. $scope.selectProvince = function(){
  1032. $scope.search.area = null;
  1033. $scope.search.city = null;
  1034. $rootScope.loading = $http.get(main_host + '/api/getAreaByProvince',{params:{'province_id':$scope.search.province.province_id}})
  1035. .success(function(data){
  1036. $scope.areaList = data.map.data;
  1037. })
  1038. }
  1039. $scope.selectArea = function(){
  1040. $scope.search.city = null;
  1041. $rootScope.loading = $http.get(main_host + '/api/getCityByArea',{params:{'area_id':$scope.search.area.area_id}})
  1042. .success(function(data){
  1043. $scope.cityList = data.map.data;
  1044. })
  1045. }
  1046. $scope.selectCity = function(){
  1047. $scope.search.school = null;
  1048. $rootScope.loading = $http.get(main_host + '/api/getSchoolByCity',{params:{'city_id':$scope.search.city.city_id}})
  1049. .success(function(data){
  1050. $scope.schoolList = data.map.data;
  1051. })
  1052. }
  1053. $scope.add = function(){
  1054. $scope.areas.push(angular.copy($scope.search));
  1055. }
  1056. $scope.remove = function(index){
  1057. $scope.areas.splice(index,1);
  1058. }
  1059. /******************* 选择高中区域 end ***************/
  1060. $scope.selectExamArea = function() {
  1061. getProvData();
  1062. var provArr = [],cityArr = [], distArr = [];
  1063. function areaPopBox(tit,fn){
  1064. var d = dialog({
  1065. title: tit,
  1066. content: $('#showExamArea'),
  1067. width: 500,
  1068. ok:function(){
  1069. if(fn){
  1070. fn();
  1071. }
  1072. },
  1073. okValue: '确定'
  1074. }).showModal();
  1075. }
  1076. function getProvData() {
  1077. $http.get(main_host + '/api/EvalStudentFzpsAreas').success(function(data) {
  1078. if (data.success) {
  1079. $scope.schoolprovs = data.map.data;
  1080. areaPopBox('选择省份',function(){
  1081. if(provArr.length > 1){
  1082. for(k in provArr){
  1083. $scope.areaParm.areas.push({
  1084. "province":provArr[k],
  1085. "city":"",
  1086. "dist":""
  1087. })
  1088. }
  1089. }else{
  1090. getCityData(provArr[0]);
  1091. }
  1092. });
  1093. }
  1094. });
  1095. }
  1096. function getCityData(prov){
  1097. $http.get(main_host + '/api/EvalStudentFzpsAreas',{params:{'parentValue':prov}}).success(function(data){
  1098. if(data.success){
  1099. $scope.schoolcitys = data.map.data;
  1100. areaPopBox('选择城市',function(){
  1101. if(cityArr.length > 1){
  1102. for(k in cityArr){
  1103. $scope.areaParm.areas.push({
  1104. "province":provArr[0],
  1105. "city":cityArr[k],
  1106. "dist":""
  1107. })
  1108. }
  1109. }else{
  1110. getDistData(cityArr[0]);
  1111. }
  1112. });
  1113. }
  1114. })
  1115. }
  1116. function getDistData(city){
  1117. $http.get(main_host + '/api/EvalStudentFzpsAreas',{params:{'parentValue':city}}).success(function(data){
  1118. if(data.success){
  1119. $scope.schooldists = data.map.data;
  1120. areaPopBox('选择地区',function(){
  1121. if(distArr.length > 1){
  1122. for(k in distArr){
  1123. $scope.areaParm.areas.push({
  1124. "province":provArr[0],
  1125. "city":cityArr[0],
  1126. "dist":distArr[k]
  1127. })
  1128. }
  1129. }else{
  1130. $scope.areaParm.areas.push({
  1131. "province":provArr[0],
  1132. "city":cityArr[0],
  1133. "dist":distArr[0]
  1134. })
  1135. }
  1136. });
  1137. }
  1138. })
  1139. }
  1140. $('#showExamArea ul.prov').off('click').on('click','li',function(){
  1141. if(provArr.indexOf($(this).text()) == -1){
  1142. $(this).addClass('on');
  1143. provArr.push($(this).text());
  1144. }else{
  1145. for(k in provArr){
  1146. if(provArr[k] == $(this).text()){
  1147. $(this).removeAttr('class');
  1148. provArr.splice(k,1);
  1149. }
  1150. }
  1151. }
  1152. });
  1153. $('#showExamArea ul.city').off('click').on('click','li',function(){
  1154. if(cityArr.indexOf($(this).text()) == -1){
  1155. $(this).addClass('on');
  1156. cityArr.push($(this).text());
  1157. }else{
  1158. for(k in cityArr){
  1159. if(cityArr[k] == $(this).text()){
  1160. $(this).removeAttr('class');
  1161. cityArr.splice(k,1);
  1162. }
  1163. }
  1164. }
  1165. });
  1166. $('#showExamArea ul.dist').off('click').on('click','li',function(){
  1167. if(distArr.indexOf($(this).text()) == -1){
  1168. $(this).addClass('on');
  1169. distArr.push($(this).text());
  1170. }else{
  1171. for(k in distArr){
  1172. if(distArr[k] == $(this).text()){
  1173. $(this).removeAttr('class');
  1174. distArr.splice(k,1);
  1175. }
  1176. }
  1177. }
  1178. });
  1179. }
  1180. })
  1181. .controller('step5Ctrl', ['$scope', '$http', '$state', function($scope, $http, $state) {
  1182. $('.mytab>li').eq(4).addClass('on').siblings().removeClass('on');
  1183. //获取预发布数据
  1184. $scope.prepublishParm = {
  1185. "pageIndex": 1,
  1186. "pageSize": 20
  1187. }
  1188. $scope.pageData = {}
  1189. $scope.getPrePublishData = function() {
  1190. $http.get(main_host + '/api/EvalPrePublishs', {
  1191. params: $scope.prepublishParm
  1192. }).success(function(data) {
  1193. if (data.success) {
  1194. $scope.prepublishlists = data.map.data.list;
  1195. console.log(data.map.data);
  1196. $scope.pageData = {
  1197. "pageIndex": data.map.data.pageIndex,
  1198. "pageSize": data.map.data.pageSize,
  1199. "totalCounts": data.map.data.totalCounts,
  1200. "totalPages": data.map.data.totalPages
  1201. }
  1202. }
  1203. });
  1204. }
  1205. $scope.choseArr = [];
  1206. $scope.multipleChecked = function(x, z) {
  1207. if (x) {
  1208. if ($scope.choseArr.indexOf(z) == -1) {
  1209. $scope.choseArr.push(z);
  1210. }
  1211. } else {
  1212. for (k in $scope.choseArr) {
  1213. if ($scope.choseArr[k] == z) {
  1214. $scope.choseArr.splice(k,1);
  1215. }
  1216. }
  1217. }
  1218. }
  1219. $scope.addPrePublish = function() {
  1220. $state.go('app.step11');
  1221. }
  1222. $scope.delPrePublish = function() {
  1223. $http.delete(main_host + '/api/EvalPrePublishs/' + $scope.choseArr.join(',')).success(function(data){
  1224. if(data.success){
  1225. $scope.getPrePublishData()
  1226. }
  1227. })
  1228. }
  1229. //首页
  1230. $scope.bmFirstPage = function() {
  1231. $scope.prepublishParm.pageIndex = 1;
  1232. $scope.getPrePublishData();
  1233. }
  1234. //上一页
  1235. $scope.bmPrevPage = function() {
  1236. if ($scope.prepublishParm.pageIndex > 1) {
  1237. $scope.prepublishParm.pageIndex--;
  1238. $scope.getPrePublishData();
  1239. }
  1240. }
  1241. //下一页
  1242. $scope.bmNextPage = function() {
  1243. if ($scope.prepublishParm.pageIndex < $scope.pageData.totalPages) {
  1244. $scope.prepublishParm.pageIndex++;
  1245. $scope.getPrePublishData();
  1246. }
  1247. }
  1248. //尾页
  1249. $scope.bmLastPage = function() {
  1250. $scope.prepublishParm.pageIndex = $scope.pageData.totalPages;
  1251. $scope.getPrePublishData();
  1252. }
  1253. }])
  1254. .controller('step11Ctrl', ['$scope', '$http', '$state','toaster', function($scope, $http, $state,toaster) {
  1255. $('.mytab>li').eq(4).addClass('on').siblings().removeClass('on');
  1256. $scope.prepublishstdParm = {
  1257. "province":"",
  1258. "sex":"",
  1259. "wenliType":"",
  1260. "pageIndex":1,
  1261. "pageSize":20
  1262. }
  1263. //获取待预发布考生
  1264. $scope.pageData = {}
  1265. $scope.getPrePublishStdData = function(){
  1266. $http.get(main_host + '/api/EvalPrePublishStudents',{params:$scope.prepublishstdParm}).success(function(data){
  1267. if(data.success){
  1268. $scope.prepublishstdlists = data.map.data.list;
  1269. $scope.pageData = {
  1270. "pageIndex": data.map.data.pageIndex,
  1271. "pageSize": data.map.data.pageSize,
  1272. "totalCounts": data.map.data.totalCounts,
  1273. "totalPages": data.map.data.totalPages
  1274. }
  1275. }
  1276. })
  1277. }
  1278. //获取预发布的考生所在高中区域
  1279. $scope.getPrePublishProvinces = function(){
  1280. $http.post(main_host+'/api/EvalQueryStudentAreas').success(function(data){
  1281. if(data.success){
  1282. $scope.provinces = data.map.provinces;
  1283. }
  1284. })
  1285. }
  1286. $scope.exportsStdData = function() {
  1287. var array = new Array();
  1288. for (var p in $scope.prepublishstdParm) {
  1289. var str = (p + "=" + $scope.prepublishstdParm[p]);
  1290. array.push(str);
  1291. }
  1292. var params = array.join('&');
  1293. var exp_url = main_host + '/api/ExpEvalPrePublishStudents?'+params;
  1294. window.top.document.location.href=exp_url;
  1295. }
  1296. //查询学生数据
  1297. $scope.queryPrePublishStd = function(){
  1298. $scope.prepublishstdParm.pageIndex = 1;
  1299. $scope.getPrePublishStdData();
  1300. }
  1301. $scope.choseArr = [];
  1302. $scope.multipleChecked = function(x, z) {
  1303. if (x) {
  1304. if ($scope.choseArr.indexOf(z) == -1) {
  1305. $scope.choseArr.push(z);
  1306. }
  1307. } else {
  1308. for (k in $scope.choseArr) {
  1309. if ($scope.choseArr[k] == z) {
  1310. $scope.choseArr.splice(k,1);
  1311. }
  1312. }
  1313. }
  1314. }
  1315. //发起预发布
  1316. $scope.launchpreParm = {
  1317. "students":$scope.choseArr
  1318. }
  1319. $scope.launchPrePublish = function(){
  1320. $http.post(main_host + '/api/EvalPrePublishs',$scope.launchpreParm).success(function(data){
  1321. if(data.success){
  1322. console.log(data);
  1323. toaster.pop('success','提示','预发布成绩操作成功!');
  1324. $scope.getPrePublishStdData();
  1325. //$state.go('app.step11');
  1326. }
  1327. });
  1328. }
  1329. //首页
  1330. $scope.bmFirstPage = function() {
  1331. $scope.prepublishstdParm.pageIndex = 1;
  1332. $scope.getPrePublishStdData();
  1333. }
  1334. //上一页
  1335. $scope.bmPrevPage = function() {
  1336. if ($scope.prepublishstdParm.pageIndex > 1) {
  1337. $scope.prepublishstdParm.pageIndex--;
  1338. $scope.getPrePublishStdData();
  1339. }
  1340. }
  1341. //下一页
  1342. $scope.bmNextPage = function() {
  1343. if ($scope.prepublishstdParm.pageIndex < $scope.pageData.totalPages) {
  1344. $scope.prepublishstdParm.pageIndex++;
  1345. $scope.getPrePublishStdData();
  1346. }
  1347. }
  1348. //尾页
  1349. $scope.bmLastPage = function() {
  1350. $scope.prepublishstdParm.pageIndex = $scope.pageData.totalPages;
  1351. $scope.getPrePublishStdData();
  1352. }
  1353. //导入
  1354. $scope.doimportstddata = function(){
  1355. $('#myModal').modal('toggle');
  1356. $(".modal-backdrop").remove();
  1357. $http.post(main_host + '/api/EvalPrepublishedStudentImport',{type:'1',file_path:$("#importprepublishstdpath").val()}).success(function(data){
  1358. if(data.success && data.map.code=='1'){
  1359. $scope.getPrePublishStdData();
  1360. dialog({
  1361. title: '提示',
  1362. content: '导入预发布考生操作成功',
  1363. ok: function() {},
  1364. okValue: '确定'
  1365. }).showModal();
  1366. }
  1367. });
  1368. }
  1369. }])
  1370. .controller('step6Ctrl', ['$scope', '$http', '$state','toaster', function($scope, $http, $state,toaster) {
  1371. $('.mytab>li').eq(5).addClass('on').siblings().removeClass('on');
  1372. $scope.releaseParm = {
  1373. "province": "",
  1374. "name": "",
  1375. "status": "",
  1376. "pageIndex": 1,
  1377. "pageSize": 20
  1378. }
  1379. //获取已经预发布的考生
  1380. $scope.pageData = {}
  1381. $scope.getReleaseStdData = function() {
  1382. $http.get(main_host+'/api/EvalPrepublishedStudents',{params:$scope.releaseParm}).success(function(data){
  1383. if(data.success){
  1384. console.log(data);
  1385. $scope.releaselists = data.map.data.list;
  1386. $scope.pageData = {
  1387. "pageIndex": data.map.data.pageIndex,
  1388. "pageSize": data.map.data.pageSize,
  1389. "totalCounts": data.map.data.totalCounts,
  1390. "totalPages": data.map.data.totalPages
  1391. }
  1392. }
  1393. })
  1394. }
  1395. //首页
  1396. $scope.bmFirstPage = function() {
  1397. $scope.releaseParm.pageIndex = 1;
  1398. $scope.getReleaseStdData();
  1399. }
  1400. //上一页
  1401. $scope.bmPrevPage = function() {
  1402. if ($scope.releaseParm.pageIndex > 1) {
  1403. $scope.releaseParm.pageIndex--;
  1404. $scope.getReleaseStdData();
  1405. }
  1406. }
  1407. //下一页
  1408. $scope.bmNextPage = function() {
  1409. if ($scope.releaseParm.pageIndex < $scope.pageData.totalPages) {
  1410. $scope.releaseParm.pageIndex++;
  1411. $scope.getReleaseStdData();
  1412. }
  1413. }
  1414. //尾页
  1415. $scope.bmLastPage = function() {
  1416. $scope.releaseParm.pageIndex = $scope.pageData.totalPages;
  1417. $scope.getReleaseStdData();
  1418. }
  1419. //获取预发布的考生所在高中区域
  1420. $scope.getPrePublishProvinces = function(){
  1421. $http.get(main_host+'/api/EvalPrepublishedStudentAreas').success(function(data){
  1422. console.log(data);
  1423. if(data.success){
  1424. $scope.provinces = data.map.provinces;
  1425. }
  1426. })
  1427. }
  1428. //查询预发布的考生
  1429. $scope.queryReleaseStd = function(){
  1430. $scope.releaseParm.pageIndex = 1;
  1431. $scope.getReleaseStdData();
  1432. }
  1433. $scope.publishParm = {
  1434. "students":$scope.choseArr,
  1435. "feedbackTime":""
  1436. }
  1437. $scope.choseArr = [];
  1438. $scope.multipleChecked = function(x, z) {
  1439. if (x) {
  1440. if ($scope.choseArr.indexOf(z) == -1) {
  1441. $scope.choseArr.push(z);
  1442. }
  1443. } else {
  1444. for (k in $scope.choseArr) {
  1445. if ($scope.choseArr[k] == z) {
  1446. $scope.choseArr.splice(k,1);
  1447. }
  1448. }
  1449. }
  1450. }
  1451. //正式发布
  1452. $scope.releasePublish = function(){
  1453. $scope.publishParm.students = $scope.choseArr;
  1454. $http.post(main_host + '/api/EvalPublishStudents',$scope.publishParm).success(function(data){
  1455. if(data.success){
  1456. console.log(data);
  1457. toaster.pop('success','提示','正式发布成绩操作成功!');
  1458. $scope.getReleaseStdData();
  1459. }
  1460. })
  1461. }
  1462. //导入正式发布的考生
  1463. $scope.doimportstddata = function(){
  1464. $('#myModal').modal('toggle');
  1465. $(".modal-backdrop").remove();
  1466. $http.post(main_host + '/api/EvalPrepublishedStudentImport',{type:'2',file_path:$("#importprepublishstdpath").val()}).success(function(data){
  1467. if(data.success && data.map.code=='1'){
  1468. dialog({
  1469. title: '提示',
  1470. content: '导入正式发布考生操作成功',
  1471. ok: function() {},
  1472. okValue: '确定'
  1473. }).showModal();
  1474. }
  1475. });
  1476. }
  1477. }])
  1478. .controller('step7Ctrl', ['$scope', '$http', '$state', function($scope, $http, $state) {
  1479. $('.mytab>li').eq(6).addClass('on').siblings().removeClass('on');
  1480. $scope.abilitytestParm = {
  1481. "province": "",
  1482. "name": "",
  1483. "accepted": "",
  1484. "pageIndex": 1,
  1485. "pageSize": 20
  1486. }
  1487. $scope.pageData = {}
  1488. //获取能力测试数据
  1489. $scope.getAbilityTestData = function() {
  1490. $http.get(main_host + '/api/EvalAbilityTestStudents', {
  1491. params: $scope.abilitytestParm
  1492. }).success(function(data) {
  1493. if (data.success) {
  1494. console.log(data);
  1495. $scope.abilitytestlists = data.map.data.list;
  1496. $scope.pageData = {
  1497. "pageIndex": data.map.data.pageIndex,
  1498. "pageSize": data.map.data.pageSize,
  1499. "totalCounts": data.map.data.totalCounts,
  1500. "totalPages": data.map.data.totalPages
  1501. }
  1502. }
  1503. });
  1504. }
  1505. //查询
  1506. $scope.queryAbilityTestData = function() {
  1507. console.log($scope.abilitytestParm);
  1508. $scope.getAbilityTestData();
  1509. }
  1510. $scope.getProvList = function() {
  1511. $http.get(main_host + '/api/EvalPublishedStudentAreass').success(function(data) {
  1512. if (data.success) {
  1513. // alert(data.map.provinces);
  1514. $scope.stdprovlists = data.map.provinces;
  1515. }
  1516. });
  1517. }
  1518. //导入考生面试成绩
  1519. $scope.doimportstdabilityScore = function(){
  1520. $('#importAbilityTestModal').modal('toggle');
  1521. $(".modal-backdrop").remove();
  1522. $http.post(main_host + '/api/EvalStudentAbilityScoreImport',{file_path:$("#importabilityscorepath").val()}).success(function(data){
  1523. if(data.success && data.map.code=='1'){
  1524. dialog({
  1525. title: '提示',
  1526. content: '考生能力测试成绩导入成功',
  1527. ok: function() {},
  1528. okValue: '确定'
  1529. }).showModal();
  1530. }
  1531. });
  1532. }
  1533. //导出
  1534. $scope.exportAbilityTestData = function(){
  1535. var array = new Array();
  1536. for (var p in $scope.abilitytestParm) {
  1537. var str = (p + "=" + $scope.abilitytestParm[p]);
  1538. array.push(str);
  1539. }
  1540. var params = array.join('&');
  1541. var exp_url = main_host + '/api/EvalAbilityStudentExports?'+params;
  1542. window.top.document.location.href=exp_url;
  1543. }
  1544. //首页
  1545. $scope.bmFirstPage = function() {
  1546. $scope.allstdParm.pageIndex = 1;
  1547. $scope.getAbilityTestData();
  1548. }
  1549. //上一页
  1550. $scope.bmPrevPage = function() {
  1551. if ($scope.allstdParm.pageIndex > 1) {
  1552. $scope.allstdParm.pageIndex--;
  1553. $scope.getAbilityTestData();
  1554. }
  1555. }
  1556. //下一页
  1557. $scope.bmNextPage = function() {
  1558. if ($scope.allstdParm.pageIndex < $scope.pageData.totalPages) {
  1559. $scope.allstdParm.pageIndex++;
  1560. $scope.getAbilityTestData();
  1561. }
  1562. }
  1563. //尾页
  1564. $scope.bmLastPage = function() {
  1565. $scope.allstdParm.pageIndex = $scope.pageData.totalPages;
  1566. $scope.getAbilityTestData();
  1567. }
  1568. }])
  1569. .controller('step8Ctrl', ['$scope', '$http', '$state', '$rootScope', function($scope, $http, $state, $rootScope) {
  1570. $('.mytab>li').eq(7).addClass('on').siblings().removeClass('on');
  1571. $scope.allstdParm = {
  1572. "province": "",
  1573. "name": "",
  1574. "wenliType": "",
  1575. "studentType": "",
  1576. "sex": "",
  1577. "pageIndex": 1,
  1578. "pageSize": 20
  1579. }
  1580. $scope.pageData = {}
  1581. //获取所有学生数据
  1582. $scope.getAllStdData = function() {
  1583. $http.get(main_host + '/api/EvalAllStudents',{
  1584. params: $scope.allstdParm
  1585. }).success(function(data) {
  1586. console.log(data);
  1587. if (data.success) {
  1588. $scope.allstdlists = data.map.data.list;
  1589. $scope.pageData = {
  1590. "pageIndex": data.map.data.pageIndex,
  1591. "pageSize": data.map.data.pageSize,
  1592. "totalCounts": data.map.data.totalCounts,
  1593. "totalPages": data.map.data.totalPages
  1594. }
  1595. }
  1596. })
  1597. }
  1598. $scope.getAllProvList = function() {
  1599. $http.get(main_host + '/api/getAllEvalProvinces').success(function(data) {
  1600. if (data.success) {
  1601. $scope.stdprovlists = data.map.data;
  1602. }
  1603. });
  1604. }
  1605. //导出数据
  1606. $scope.exportsStdData = function() {
  1607. var array = new Array();
  1608. for (var p in $scope.allstdParm) {
  1609. var str = (p + "=" + $scope.allstdParm[p]);
  1610. array.push(str);
  1611. }
  1612. var params = array.join('&');
  1613. var exp_url = main_host + '/api/EvalStatisticsStudentExports?'+params;
  1614. window.top.document.location.href=exp_url;
  1615. }
  1616. //查询
  1617. $scope.queryAllStdData = function() {
  1618. console.log();
  1619. $scope.getAllStdData();
  1620. }
  1621. //首页
  1622. $scope.bmFirstPage = function() {
  1623. $scope.allstdParm.pageIndex = 1;
  1624. $scope.getAllStdData();
  1625. }
  1626. //上一页
  1627. $scope.bmPrevPage = function() {
  1628. if ($scope.allstdParm.pageIndex > 1) {
  1629. $scope.allstdParm.pageIndex--;
  1630. $scope.getAllStdData();
  1631. }
  1632. }
  1633. //下一页
  1634. $scope.bmNextPage = function() {
  1635. if ($scope.allstdParm.pageIndex < $scope.pageData.totalPages) {
  1636. $scope.allstdParm.pageIndex++;
  1637. $scope.getAllStdData();
  1638. }
  1639. }
  1640. //尾页
  1641. $scope.bmLastPage = function() {
  1642. $scope.allstdParm.pageIndex = $scope.pageData.totalPages;
  1643. $scope.getAllStdData();
  1644. }
  1645. $scope.lookStdDetail = function(userId) {
  1646. //console.log($rootScope.$state.go('student_details'));
  1647. $rootScope.$state.go('student_details',{userId:userId});
  1648. }
  1649. }])
  1650. .controller('TeamReviewTaskCtrl', ['$scope', '$http', '$state', '$rootScope', function($scope, $http, $state, $rootScope, toaster) {
  1651. $scope.load = function(){
  1652. $rootScope.loading = $http.get(main_host + '/api/getTeamReviewTaskProvinces').success(function(data) {
  1653. if (data.success) {
  1654. $scope.provinces = data.map.data;
  1655. }
  1656. });
  1657. }
  1658. $scope.load();
  1659. //选择小组评议账号
  1660. $scope.selectUser = function(province) {
  1661. $scope.selectedProvince = province;
  1662. if(document.querySelectorAll( '#showExpert' ).length > 1){
  1663. var elementList = document.querySelectorAll( '#showExpert');
  1664. angular.element(elementList[1]).remove();
  1665. }
  1666. $rootScope.loading = $http.get(main_host + '/api/getTeamReviewExecutors').success(function(data) {
  1667. if (data.success) {
  1668. $scope.dbexpertlists = data.map.data;
  1669. $scope.selectUserDialog = dialog({
  1670. title: '选择专家',
  1671. content: $('#showExpert'),
  1672. width: 500,
  1673. ok: function() {},
  1674. okValue: '确定',
  1675. cancel: function() {},
  1676. cancelValue: '取消'
  1677. }).showModal();
  1678. }
  1679. });
  1680. $scope.clickUser = function(user){
  1681. $scope.selectedProvince.team_review_user_name = user.name;
  1682. $scope.selectedProvince.team_review_user_id = user.userId;
  1683. console.log(user);
  1684. console.log($scope.selectedProvince);
  1685. $rootScope.loading = $http.post(main_host + '/api/addTeamReviewProvinceUsers', $scope.selectedProvince).success(function(data) {
  1686. $scope.selectUserDialog.close();
  1687. $scope.load();
  1688. });
  1689. }
  1690. }
  1691. }])
  1692. .controller('TeamReviewMarkCtrl', ['$scope', '$http', '$state', '$rootScope', function($scope, $http, $state, $rootScope, toaster) {
  1693. $scope.load = function(){
  1694. $rootScope.loading = $http.post(main_host + '/api/queryAllTeamReviewRemarkHistory').success(function(data) {
  1695. if (data.success) {
  1696. $scope.tasks = data.map.tasks;
  1697. }
  1698. });
  1699. }
  1700. $scope.load();
  1701. //显示打分详情
  1702. $scope.lookCalibrationDetail = function(id) {
  1703. if(document.querySelectorAll( '#popCalibrationDetail_picketage_table' ).length > 1){
  1704. var elementList = document.querySelectorAll( '#popCalibrationDetail_picketage_table');
  1705. angular.element(elementList[1]).remove();
  1706. }
  1707. $rootScope.loading = $http.get(main_host + '/api/GetEvalMarkDetails/'+id).success(function(data) {
  1708. if (data.success) {
  1709. $scope.marklists = data.map.data;
  1710. console.log($scope.marklists);
  1711. dialog({
  1712. title:"打分详情",
  1713. content:$('#popCalibrationDetail_picketage_table'),
  1714. ok:function(){
  1715. var urlHref = $state.href('markstep.step1',{'taskId':'view-' + id,'module':1});
  1716. window.open(urlHref);
  1717. return false;
  1718. },
  1719. okValue: "查看评分页面",
  1720. cancel: function() {},
  1721. cancelValue: "关闭"
  1722. }).showModal();
  1723. }
  1724. });
  1725. }
  1726. }])
  1727. .controller('ZcTeacherCtrl', ['$scope', '$http', '$state', '$rootScope', function($scope, $http, $state, $rootScope, toaster) {
  1728. $scope.load = function(){
  1729. $rootScope.loading = $http.get(main_host + '/api/zcTeachers').success(function(data) {
  1730. if (data.success) {
  1731. $scope.zcTeachers = data.map.zcTeachers;
  1732. $scope.userModuleMap = data.map.userModuleMap;
  1733. console.log($scope.userModuleMap);
  1734. }
  1735. });
  1736. }
  1737. $scope.load();
  1738. $scope.zcTeacherModuleInit = function(){
  1739. $rootScope.loading = $http.post(main_host + '/api/zcTeacherModuleInit').success(function(data) {
  1740. if (data.success) {
  1741. $scope.load();
  1742. // toaster.pop('success','提示','操作成功!');
  1743. alert("操作成功!");
  1744. }
  1745. });
  1746. }
  1747. $scope.zcTeacherModuleUpdate = function(){
  1748. var list = [];
  1749. angular.forEach($scope.zcTeachers, function(teacher){
  1750. angular.forEach($scope.userModuleMap[teacher.id], function(userModule){
  1751. var item = {};
  1752. item.userId = userModule.userId;
  1753. item.module = userModule.module;
  1754. item.selected = userModule.selected;
  1755. list.push(item);
  1756. })
  1757. })
  1758. $rootScope.loading = $http.post(main_host + '/api/zcTeacherModuleUpdate', list).success(function(data) {
  1759. if (data.success) {
  1760. $scope.load();
  1761. // toaster.pop('success','提示','操作成功!');
  1762. alert("操作成功!");
  1763. }
  1764. });
  1765. // $.ajax({
  1766. // url: main_host + '/api/zcTeacherModuleUpdate',
  1767. // type: "POST",
  1768. // data: JSON.stringify(list),
  1769. // dataType: "JSON",
  1770. // success: function(data) {
  1771. // if(data.success){
  1772. // $scope.load();
  1773. // toaster.pop('success','提示','操作成功!');
  1774. // }
  1775. // }
  1776. // });
  1777. }
  1778. $scope.selectAllModules = function(list){
  1779. angular.forEach($scope.userModuleMap[list.id], function(userModule){
  1780. userModule.selected = list.selecteAll;
  1781. })
  1782. }
  1783. }]);