StartExamForm1.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. Ext.define('erp.view.hr.emplmana.StartExamForm1',{
  2. extend: 'Ext.form.Panel',
  3. alias: 'widget.StartExamForm1',
  4. id: 'form',
  5. title: '试 卷 ',
  6. // frame : true,
  7. autoScroll : true,
  8. bodyStyle:'background:transition !important',
  9. buttonAlign : 'center',
  10. FormUtil: Ext.create('erp.util.FormUtil'),
  11. confirmUrl:'',
  12. fieldDefaults : {
  13. margin : '4 2 4 2',
  14. //fieldStyle : "background:#FFFAFA;color:#515151;",
  15. labelAlign : "right",
  16. msgTarget: 'side',
  17. blankText : $I18N.common.form.blankText
  18. },
  19. initComponent : function(){
  20. this.callParent(arguments);
  21. formCondition = getUrlParam('formCondition');//从url解析参数
  22. formCondition = (formCondition == null) ? "" : formCondition.replace(/IS/g,"=").split('=')[1];
  23. //集团版
  24. var master=getUrlParam('newMaster');
  25. var param = {caller: this.caller || caller, id: this.formCondition || formCondition, _noc: (getUrlParam('_noc') || this._noc)};
  26. if(master){
  27. param.master=master;
  28. }
  29. this.createItemsAndButtons(this,this.params || param);
  30. /*this.title = this.FormUtil.getActiveTab().title;*/
  31. },
  32. createItemsAndButtons:function(form,params){
  33. Ext.Ajax.request({//拿到form的items
  34. url : basePath + 'hr/emplmana/checkExam.action',
  35. params: params,
  36. method : 'post',
  37. callback : function(options, success, response){
  38. if (!response) return;
  39. var res = new Ext.decode(response.responseText);
  40. if(res.exceptionInfo != null){
  41. showError(res.exceptionInfo);return;
  42. }
  43. var items=new Array();
  44. var data=res.data;
  45. form.hasjudged=res.hasjudged;
  46. Ext.each(data,function(name,index){
  47. var item=new Object();
  48. if(data[index][3]=='单选题'){
  49. item.xtype='radiogroup';
  50. item.id='q_'+data[index][1];
  51. item.fieldLabel=data[index][1]+'.'+data[index][2]+'<span style="color:#666666">('+data[index][6]+'分)</span>';
  52. item.labelAlign='top';
  53. item.labelSeparator='';
  54. item.labelStyle='background:#E4F2FD;';
  55. item.exdid=data[index][0];
  56. //item.labelStyle='background:#FFFAFA;color:#515151;';
  57. item.columns=1;
  58. item.items=new Array();
  59. var answs=data[index][4].split("#");
  60. Ext.each(answs,function(name,inde){
  61. var i=new Object();
  62. i.xtype= 'radiofield';
  63. i.name= data[index][1]+'.'+data[index][2];
  64. i.disabled=true;
  65. i.disabledCls="";
  66. i.id=i.name+''+inde;
  67. i.anvalue= ["A","B","C","D","E","F","G"][inde];
  68. i.labelStyle='background:#FFFFFF;';
  69. if(i.anvalue==data[index][8])
  70. i.checked=true;
  71. if(inde==(answs.length-1)){
  72. i.boxLabel= answs[inde].replace(/(^\s*)|(\s*$)/g, "")+'<div><span style="color:#D46531">正确答案:'+data[index][5]+'</div>';
  73. }else{
  74. i.boxLabel= answs[inde].replace(/(^\s*)|(\s*$)/g, "");
  75. }
  76. item.items.push(i);
  77. });
  78. items.push(item);
  79. }else if(data[index][3]=='多选题'){
  80. item.xtype='checkboxgroup';
  81. item.id='q_'+data[index][1];
  82. item.fieldLabel=data[index][1]+'.'+data[index][2]+'<span style="color:#666666">('+data[index][6]+'分)</span>';
  83. item.labelAlign='top';
  84. item.labelSeparator='';
  85. item.exdid=data[index][0];
  86. item.labelStyle='background:#E4F2FD;';
  87. item.columns=1;
  88. item.items=new Array();
  89. var answs=data[index][4].split("#");
  90. Ext.each(answs,function(name,inde){
  91. var i=new Object();
  92. i.disabled=true;
  93. i.disabledCls="";
  94. i.xtype= 'checkboxfield';
  95. i.name= data[index][1]+'.'+data[index][2];
  96. i.anvalue= ["A","B","C","D","E","F","G"][inde];
  97. i.boxLabel= answs[inde];
  98. if(data[index][8]&&data[index][8].indexOf(i.anvalue)>-1){
  99. i.checked=true;
  100. }
  101. if(inde==(answs.length-1)){
  102. i.boxLabel= answs[inde].replace(/(^\s*)|(\s*$)/g, "")+'<div><span style="color:#D46531">正确答案:'+data[index][5]+'</div>';
  103. }else{
  104. i.boxLabel= answs[inde].replace(/(^\s*)|(\s*$)/g, "");
  105. }
  106. item.items.push(i);
  107. });
  108. items.push(item);
  109. }else if(data[index][3]=='简答题'){
  110. item.xtype='checkboxgroup';
  111. //item.xtype='textareafield';
  112. item.exdid=data[index][0];
  113. item.id='q_'+data[index][1];
  114. item.labelAlign='top';
  115. item.whoami='jianda';
  116. item.stanscore=data[index][6];
  117. var valu=data[index][7]==null?'':data[index][7];
  118. var answ=data[index][8]==null?'':data[index][8];
  119. if(res.hasjudged=='是'){
  120. item.fieldLabel=data[index][1]+'.'+data[index][2]
  121. +'<span style="color:#666666">('+data[index][6]+'分)</span><span style="color:red">得分:'+valu+'</span>'+'<div>'+answ+'</div>'
  122. +'<div><span style="color:#D46531">参考答案:'+data[index][5]+'</div>';
  123. }else{
  124. item.fieldLabel=data[index][1]+'.'+data[index][2]
  125. +'<span style="color:#666666">('+data[index][6]+'分)</span><span>得分:<input type="text" value="'+valu+'" id=s_'+data[index][1]+' style="width=60px;"></span>'+'<div>'+answ+'</div>'
  126. +'<div><span style="color:#D46531">参考答案:'+data[index][5]+'</div>';
  127. }
  128. item.labelSeparator='';
  129. item.width=800;
  130. item.value=data[index][8];
  131. items.push(item);
  132. }
  133. });
  134. form.add(items);
  135. if(form.hasjudged=='是'){
  136. Ext.getCmp('submit').hide()
  137. }
  138. }
  139. });
  140. },
  141. buttons: [/*{
  142. xtype: 'erpStartAccountButton'
  143. },*/{
  144. xtype: 'erpSubmitButton'
  145. },{
  146. xtype:'erpCloseButton'
  147. }]
  148. });