rock_kaoqin_total.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <?php if(!defined('HOST'))die('not access');?>
  2. <script >
  3. $(document).ready(function(){
  4. {params}
  5. var atype=params.atype,pnum=params.pnum;
  6. if(!pnum)pnum='';
  7. var col1 = [{
  8. text:'部门',dataIndex:'deptname',align:'left',sortable:true
  9. },{
  10. text:'姓名',dataIndex:'name',sortable:true
  11. },{
  12. text:'职位',dataIndex:'ranking'
  13. },{
  14. text:'人员状态',dataIndex:'state'
  15. }];
  16. var col2 = [{
  17. text:'正常',dataIndex:'state0'
  18. },{
  19. text:'迟到',dataIndex:'state1'
  20. },{
  21. text:'早退',dataIndex:'state2'
  22. }];
  23. var col3 = [{
  24. text:'加班(时)',dataIndex:'jiaban'
  25. },{
  26. text:'外出(次)',dataIndex:'outci'
  27. },{
  28. text:'异常(次)',dataIndex:'errci'
  29. },{
  30. text:'应上班(天)',dataIndex:'sbday'
  31. },{
  32. text:'已上班(天)',dataIndex:'ysbday'
  33. },{
  34. text:'未打卡',dataIndex:'weidk'
  35. }];
  36. function getcolumns(a1,a2,a3,a4){
  37. var a4 = [].concat(a1,a2,a3,a4);
  38. return a4;
  39. }
  40. var colemsn = getcolumns(col1, col2, col3,[]);
  41. var a = $('#view_{rand}').bootstable({
  42. tablename:'userinfo',celleditor:true,fanye:true,params:{'atype':atype,'pnum':pnum},modedir:'{mode}:{dir}',storeafteraction:'kqtotalaftershow',storebeforeaction:'kqtotalbeforeshow',
  43. columns:colemsn,
  44. itemclick:function(){
  45. get('xqkaoqb_{rand}').disabled=false;
  46. },
  47. loadbefore:function(d){
  48. get('xqkaoqb_{rand}').disabled=true;
  49. var cs = [],cs4=[],i;
  50. for(i in d.columns)cs.push({text:i,dataIndex:d.columns[i]});
  51. for(i=0;i<d.colalls.length;i++){
  52. cs4.push(d.colalls[i]);
  53. }
  54. if(cs.length>0){
  55. var cols = getcolumns(col1, cs, col3,cs4);
  56. a.setColumns(cols);
  57. }
  58. }
  59. });
  60. var c = {
  61. search:function(){
  62. var s=get('key_{rand}').value;
  63. var is1 = (get('iskq_{rand}').checked)?'1':'0';
  64. a.setparams({
  65. key:s,month:get('dt1_{rand}').value,
  66. iskq:is1,
  67. 'receid':get('receid_{rand}').value
  68. },true);
  69. },
  70. clickdt:function(o1, lx){
  71. $(o1).rockdatepicker({initshow:true,view:'month',inputid:'dt'+lx+'_{rand}'});
  72. },
  73. anaynow:function(){
  74. var dt = get('dt1_{rand}').value;
  75. if(dt==''){
  76. js.msg('msg','请选择月份');
  77. return;
  78. }
  79. js.msg('wait','分析中...');
  80. js.ajax(js.getajaxurl('kqanayallinit','{mode}','{dir}'),{dt:dt,atype:atype},function(ret){
  81. if(ret.zong=='ok'){
  82. a.reload();
  83. js.msg('success','分析完成');
  84. return;
  85. }
  86. var oi=0,zong=ret.maxpage,i,cans,dar=[];
  87. for(i=1;i<=zong;i++){
  88. dar.push(js.getajaxurl('kqanayallpage','{mode}','{dir}',{dt:dt,page:i}));
  89. }
  90. queue.addlist(dar,function(){a.reload();},'['+dt+']月份的考勤分析');
  91. },'get,json');
  92. },
  93. xqkaoqb:function(){
  94. var d=a.changedata;
  95. var dt = get('dt1_{rand}').value;
  96. addtabs({num:'adminkaoqin'+d.id+'',url:'main,kaoqin,geren,uid='+d.id+',month='+dt+'',icons:'time',name:''+d.name+''+dt+'的考勤'});
  97. },
  98. daochu:function(o1){
  99. publicdaochuobj({
  100. 'objtable':a,
  101. 'modename':''+nowtabs.name+'('+get('dt1_{rand}').value+')',
  102. 'btnobj':o1,
  103. 'notdingyue':true
  104. });
  105. },
  106. //订阅
  107. dingyue:function(){
  108. js.subscribe({
  109. title:''+nowtabs.name+'({month-1})',
  110. explain:'订阅上月考勤统计表',
  111. cont:'{month-1}月份人员'+nowtabs.name+'',
  112. objtable:a,
  113. params:{'month':'{month-1}','key':get('key_{rand}').value,'receid':get('receid_{rand}').value}
  114. });
  115. },
  116. xiashu:function(o1){
  117. if(atype=='my'){
  118. o1.value='我的统计';
  119. atype = 'down';
  120. nowtabssettext('下属考勤统计');
  121. }else{
  122. o1.value='下属统计';
  123. atype = 'my';
  124. nowtabssettext('我的考勤统计');
  125. }
  126. a.setparams({atype:atype}, true);
  127. },
  128. chagneuser:function(){
  129. js.getuser({
  130. type:'deptusercheck',
  131. title:'选择人员',
  132. changevalue:get('receid_{rand}').value,
  133. callback:function(sna,sid){
  134. get('key_{rand}').value=sna;
  135. get('receid_{rand}').value=sid;
  136. }
  137. });
  138. },
  139. chagnecelar:function(){
  140. get('key_{rand}').value='';
  141. get('receid_{rand}').value='';
  142. }
  143. };
  144. $('#dt1_{rand}').val(js.now('Y-m'));
  145. js.initbtn(c);
  146. if(atype=='my'){
  147. $('#down_{rand}').show();
  148. $('#xuanbbtn{rand}').remove();
  149. }
  150. });
  151. </script>
  152. <div>
  153. <table width="100%"><tr>
  154. <td nowrap>
  155. <div style="width:120px" class="input-group">
  156. <input placeholder="月份" readonly class="form-control" id="dt1_{rand}" >
  157. <span class="input-group-btn">
  158. <button class="btn btn-default" click="clickdt,1" type="button"><i class="icon-calendar"></i></button>
  159. </span>
  160. </div>
  161. </td>
  162. <td style="padding-left:10px">
  163. <div style="width:250px" class="input-group">
  164. <input class="form-control" placeholder="姓名/部门" id="key_{rand}" >
  165. <input class="form-control" type="hidden" id="receid_{rand}" >
  166. <span class="input-group-btn">
  167. <button class="btn btn-default" click="chagnecelar,1" type="button"><i class="icon-remove"></i></button>
  168. <button class="btn btn-default" id="xuanbbtn{rand}" click="chagneuser,1" type="button"><i class="icon-search"></i></button>
  169. </span>
  170. </div>
  171. </td>
  172. <td nowrap style="padding-left:10px">
  173. <label><input id="iskq_{rand}" checked type="checkbox">只看需考勤</label>
  174. </td>
  175. <td style="padding-left:10px">
  176. <button class="btn btn-default" click="search" type="button">搜索</button>
  177. </td>
  178. <td style="padding-left:10px">
  179. <button class="btn btn-default" click="dingyue" type="button">订阅此统计表</button>
  180. </td>
  181. <td style="padding-left:10px">
  182. <input class="btn btn-default" click="xiashu" id="down_{rand}" style="display:none" value="下属统计" type="button">
  183. </td>
  184. <td width="80%"></td>
  185. <td align="right" nowrap>
  186. <button class="btn btn-info" click="xqkaoqb" disabled id="xqkaoqb_{rand}" type="button">详情考勤表</button>&nbsp;&nbsp;
  187. <button class="btn btn-default" click="anaynow" type="button">全部重新分析</button>&nbsp;&nbsp;
  188. <button class="btn btn-default" click="daochu" type="button">导出 <i class="icon-angle-down"></i></button></button>
  189. </td>
  190. </tr></table>
  191. </div>
  192. <div class="blank10"></div>
  193. <div id="view_{rand}"></div>
  194. <div class="tishi">人员是从档案表里读取的,如考勤异常有申请请假外出视为正常,统计已审核完成的。</div>
粤ICP备19079148号