modeModel.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. <?php
  2. class modeClassModel extends Model
  3. {
  4. public function initModel()
  5. {
  6. $this->settable('flow_set');
  7. }
  8. public function getmodearr($whe='')
  9. {
  10. $where = 'status=1 '.$whe.'';
  11. if($whe=='all')$where='1=1';
  12. $arr = $this->getall($where,'`id`,`num`,`name`,`table`,`type`,`isflow`,`status`','sort');
  13. $typea = array();
  14. foreach($arr as $k=>$rs){
  15. if(LANG!='zh-CN')$rs['name'] = lang($rs['name'],'mode');
  16. $arr[$k]['name'] = ''.$rs['id'].'.'.$rs['name'].'('.$rs['num'].')';
  17. $typea[$rs['type']][] = $arr[$k];
  18. }
  19. $arr = array();
  20. foreach($typea as $k1=>$srow){
  21. foreach($srow as $k2=>$rs2)$arr[] = $rs2;
  22. }
  23. return $arr;
  24. }
  25. //判断模块是否开启存在
  26. public function iscun($num)
  27. {
  28. $to = $this->rows("`num`='$num' and `status`=1");
  29. return $to==1;
  30. }
  31. public function getmoderows($uid, $sww='')
  32. {
  33. $where = m('admin')->getjoinstr('receid', $uid);
  34. $arr = $this->getall("`status`=1 and `type`<>'系统' $sww $where",'`id`,`num`,`name`,`table`,`type`,`isflow`,`isscl`','`sort`');
  35. if(LANG!='zh-CN')foreach($arr as $k=>$rs){
  36. $arr[$k]['name'] = lang($rs['name'],'mode');
  37. $arr[$k]['type'] = lang($rs['type'],'mode');
  38. }
  39. return $arr;
  40. }
  41. public function getmodemyarr($uid=0, $whe='')
  42. {
  43. $where = '';
  44. if($whe!='')$where = $whe;
  45. if($uid>0)$where = m('admin')->getjoinstr('receid', $uid);
  46. $arr = $this->getall('status=1 and isflow>0 '.$where.'','`id`,`name`,`type`','sort');
  47. if(LANG!='zh-CN')foreach($arr as $k=>$rs){
  48. $arr[$k]['name'] = lang($rs['name'],'mode');
  49. $arr[$k]['type'] = lang($rs['type'],'mode');
  50. }
  51. return $arr;
  52. }
  53. //生成列表页面
  54. public function createlistpage($modeid, $lxss=0, $glx=0, $inrs=null)
  55. {
  56. if(is_array($modeid)){
  57. $mors = $modeid;
  58. }else{
  59. $mors = m('flow_set')->getone($modeid,'`id`,`table`,`names`,`num`,`name`,`isflow`,`lbztxs`');
  60. }
  61. $num = $mors['num'];
  62. $path = ''.P.'/flow/page/rock_page_'.$num.'.php';
  63. //分单位自己生成
  64. if($glx==0 && getconfig('platdwnum') && COMPANYNUM){
  65. $dbbase = str_replace('_company_'.COMPANYNUM.'','', DB_BASE);
  66. $ones = $this->db->getone(''.$dbbase.'.`[Q]flow_set`', "`num`='$num'");
  67. if($ones)return 'ok';
  68. }
  69. //当是一键生成时,不存在就不要生成了
  70. if($lxss==1 && !file_exists($path))return 'none';
  71. $flow = m('flow')->initflow($num);
  72. $chufarr= array();
  73. if(method_exists($flow, 'flowxiangfields'))$chufarr = $flow->flowxiangfields($chufarr);
  74. $table = $mors['table'];
  75. $name = $mors['name'];
  76. $modeid = (int)$mors['id'];
  77. $isflow = (int)$mors['isflow'];
  78. $lbztxs = $mors['lbztxs'];
  79. $showzt = false;
  80. $farr[] = array('name'=>arrvalue($chufarr, 'base_name', lang('申请人')),'fields'=>'base_name');
  81. $farr[] = array('name'=>arrvalue($chufarr, 'base_deptname', lang('申请人部门')),'fields'=>'base_deptname');
  82. $farr[] = array('name'=>arrvalue($chufarr, 'base_sericnum', lang('单号')),'fields'=>'sericnum');
  83. $farrs = m('flow_element')->getall("`mid`='$modeid'",'`fields`,`name`,`fieldstype`,`ispx`,`isalign`,`iszb`,`islb`,`issou`,`data`,`width`,`iseditlx`','`iszb`,`sort`');
  84. $inpub = c('input');
  85. $inpub->flow = $flow;
  86. $zbarr = $zbnamea = array();
  87. if(!isempt($mors['names']))$zbnamea = explode(',', $mors['names']);
  88. foreach($farrs as $k=>$rs){
  89. if(LANG!='zh-CN')$rs['name'] = $flow->lang($rs['name']);
  90. if($glx==1 && $rs['issou']=='1' && ($rs['fieldstype']=='select' || $rs['fieldstype']=='rockcombo')){
  91. $rs['store'] =$inpub->getdatastore($rs['fieldstype'],$inrs,$rs['data']);
  92. }
  93. if($rs['iszb']=='0'){
  94. $farr[] = $rs; //主表
  95. if($rs['fields']=='status')$showzt=true;
  96. }else{
  97. if($rs['issou']=='1'){
  98. $xus = floatval($rs['iszb'])-1;
  99. $zbn = arrvalue($zbnamea, $xus);
  100. if($zbn)$rs['name'] = ''.$zbn.'.'.$rs['name'].'';
  101. $rs['fields'] = 'zb'.$xus.'_'.$rs['fields'].'';
  102. $zbarr[] = $rs;
  103. }
  104. }
  105. }
  106. $farr[] = array('name'=>arrvalue($chufarr, 'comidname', lang('所属单位※')),'fields'=>'comidname','islb'=>(ISMORECOM)?1:0);
  107. $jgpstr = '<!--SCRIPTend-->';
  108. $hstart = '<!--HTMLstart-->';
  109. $hendts = '<!--HTMLend-->';
  110. $oldcont = @file_get_contents($path);
  111. $autoquye = $this->rock->getcai($oldcont,'//[自定义区域start]','//[自定义区域end]');
  112. //$isdaoru = m('flow_element')->rows("`mid`='$modeid' and `isdr`=1");
  113. $drstrbtn = '';
  114. //if($isdaoru>0){
  115. $drstrbtn = "<span style=\"display:none\" id=\"daoruspan_{rand}\"><button class=\"btn btn-default\" click=\"daoru,1\" type=\"button\"><?=lang('导入')?></button>&nbsp;&nbsp;&nbsp;</span>";
  116. //}
  117. //读取流程模块的条件
  118. $whtml = '<div id="changatype{rand}" class="btn-group"></div>';
  119. $zthtml = '';
  120. if($isflow>0)$showzt = true;
  121. if($lbztxs==1)$showzt = true;
  122. if($lbztxs==2)$showzt = false;
  123. if($showzt){
  124. $ztarr = $flow->getstatusarr();
  125. $zthtml = '<td><select class="form-control" style="width:120px;border-left:0;border-radius:0;" id="selstatus_{rand}"><option value="">-<?=lang(\'全部\')?><?=lang(\'状态\')?>-</option>';
  126. foreach($ztarr as $zt=>$ztv){
  127. if($isflow==0 && $zt==23)continue;
  128. $vals = str_replace('?','', $ztv[0]);
  129. $zthtml .= '<option style="color:'.arrvalue($ztv, 1).'" value="'.$zt.'"><?=lang(\''.$vals.'\')?></option>';
  130. }
  131. $zthtml .= '</select></td>';
  132. }
  133. $fselarr = array();
  134. $bear = $this->db->getrows('[Q]option',"`num` like 'columns_".$num."_%'",'`num`,`value`');
  135. foreach($bear as $k2=>$rs2)$fselarr[$rs2['num']]=$rs2['value'];
  136. $placeholder= '<?=lang(\'关键字\')?>';
  137. if($isflow>0)$placeholder= '<?=lang(\'关键字\')?>/<?=lang(\'申请人\')?>/<?=lang(\'单号\')?>';
  138. if($glx==1){
  139. return array(
  140. 'isflow' => $isflow,
  141. 'modeid' => $modeid,
  142. 'fieldsarr' => $farr,
  143. 'fieldzarr' => $zbarr,
  144. 'fieldsselarr' => $fselarr,
  145. 'chufarr' => $chufarr,
  146. 'modename' => $flow->lang($name),
  147. 'modetable'=> $this->rock->jm->encrypt($mors['table']),
  148. 'modenames' => $flow->lang($this->rock->repempt($mors['names'])),
  149. );
  150. }
  151. $html= "".$hstart."
  152. <div>
  153. <table width=\"100%\">
  154. <tr>
  155. <td style=\"padding-right:10px;\" id=\"tdleft_{rand}\" nowrap><button id=\"addbtn_{rand}\" class=\"btn btn-primary\" click=\"clickwin,0\" disabled type=\"button\"><i class=\"icon-plus\"></i> <?=lang('新增')?></button></td>
  156. <td><select class=\"form-control\" style=\"width:110px;border-top-right-radius:0;border-bottom-right-radius:0;padding:0 2px\" id=\"fields_{rand}\"></select></td>
  157. <td><select class=\"form-control\" style=\"width:60px;border-radius:0px;border-left:0;padding:0 2px\" id=\"like_{rand}\"><option value=\"0\"><?=lang('包含')?></option><option value=\"1\"><?=lang('等于')?></option><option value=\"2\"><?=lang('大于')?><?=lang('等于')?></option><option value=\"3\"><?=lang('小于')?><?=lang('等于')?></option><option value=\"4\"><?=lang('不包含')?></option></select></td>
  158. <td><select class=\"form-control\" style=\"width:130px;border-radius:0;border-left:0;display:none;padding:0 5px\" id=\"selkey_{rand}\"><option value=\"\">-<?=lang('请选择')?>-</option></select><input class=\"form-control\" style=\"width:130px;border-radius:0;border-left:0;padding:0 5px\" id=\"keygj_{rand}\" placeholder=\"<?=lang('关键字')?>\"><input class=\"form-control\" style=\"width:130px;border-radius:0;border-left:0;padding:0 5px;display:none;\" id=\"key_{rand}\" placeholder=\"".$placeholder."\">
  159. </td>
  160. $zthtml
  161. <td>
  162. <div style=\"white-space:nowrap\">
  163. <button style=\"border-right:0;border-radius:0;border-left:0\" class=\"btn btn-default\" click=\"searchbtn\" type=\"button\"><?=lang('搜索')?></button><button class=\"btn btn-default\" id=\"downbtn_{rand}\" type=\"button\" style=\"padding-left:8px;padding-right:8px;border-top-left-radius:0;border-bottom-left-radius:0\"><i class=\"icon-angle-down\"></i></button>
  164. </div>
  165. </td>
  166. <td width=\"90%\" style=\"padding-left:10px\">$whtml</td>
  167. <td align=\"right\" id=\"tdright_{rand}\" nowrap>
  168. ".$drstrbtn."<button class=\"btn btn-default\" style=\"display:none\" id=\"daobtn_{rand}\" disabled click=\"daochu\" type=\"button\"><?=lang('导出')?> <i class=\"icon-angle-down\"></i></button>
  169. </td>
  170. </tr>
  171. </table>
  172. </div>
  173. <div class=\"blank10\"></div>
  174. <div id=\"view".$num."_{rand}\"></div>
  175. ".$hendts."";
  176. $str = "<?php
  177. /**
  178. * 模块:".$num.".".$name."
  179. * 说明:自定义区域内可写你想要的代码
  180. * 来源:流程模块→表单元素管理→[模块.".$name."]→生成列表页
  181. */
  182. defined('HOST') or die ('not access');
  183. ?>
  184. <script>
  185. $(document).ready(function(){
  186. {params}
  187. var modenum = '".$num."',modename='".$name."',isflow=".$isflow.",modeid='".$modeid."',atype = params.atype,pnum=params.pnum,modenames='".$mors['names']."',listname='".$this->rock->jm->base64encode($table)."';
  188. if(!atype)atype='';if(!pnum)pnum='';
  189. var fieldsarr = [],fieldsselarr= [],chufarr= ".json_encode($chufarr).";
  190. <?php
  191. include_once('webmain/flow/page/rock_page.php');
  192. ?>
  193. //[自定义区域start]
  194. $autoquye
  195. //[自定义区域end]
  196. c.initpagebefore();
  197. js.initbtn(c);
  198. var a = $('#view'+modenum+'_{rand}').bootstable(bootparams);
  199. c.init();
  200. });
  201. </script>
  202. ".$jgpstr."";
  203. $bstrs = '<!--HTML-->';
  204. if(!isempt($oldcont) && contain($oldcont, $jgpstr) && contain($oldcont, $bstrs)){
  205. $strarr = explode($jgpstr, $oldcont);
  206. $nstr = $strarr[1];
  207. $htmlqy = $this->rock->getcai($nstr, $hstart, $hendts);
  208. $rstr = "".$hstart."
  209. ".$htmlqy."
  210. ".$hendts."";
  211. $nstr = str_replace($rstr, '', $nstr);
  212. $nstr = str_replace($bstrs, $html.$bstrs, $nstr);
  213. $str .= "\n".$nstr;
  214. }else{
  215. $str.= "\n".$html;
  216. }
  217. $bo = $this->rock->createtxt($path, $str);
  218. if(!$bo)$path='';
  219. return $path;
  220. }
  221. /**
  222. * 统计
  223. */
  224. public function flowtotal($modeid, $fields, $type)
  225. {
  226. }
  227. public function menulist()
  228. {
  229. $arr['schedule'] = '45';
  230. $arr['hrsalary'] = '184,98,277,276,99,278,102';
  231. $arr['knowtraim'] = '202,199,200,201';
  232. $arr['hrcheck'] = '274,272,273,244,275';
  233. $arr['emailm'] = '157';
  234. $arr['meet'] = '89,150,151,283';
  235. $arr['kqdkjl'] = '59,92,33,58,60,234,86,88,169,170'; //打卡记录
  236. $arr['waichu'] = '160,159'; //打卡记录
  237. $arr['kaoqin'] = '32,61,53,54,197,55,56,152,153,240,241,243,242,36,87,260,57';
  238. $arr['kqdw'] = '93,94';
  239. $arr['jiaban'] = '217';
  240. $arr['daily'] = '76,77,195,78,198,231,192,193,194,196';
  241. $arr['project'] = '79,69,70,72,71,82';
  242. $arr['work'] = '66,65,67,83,68,80,81';
  243. $arr['word'] = '124,125,203';
  244. $arr['wordxie'] = '281';
  245. $arr['wordeil'] = '282';
  246. $arr['knowledge'] = '134,158';
  247. $arr['knowtiku'] = '135,136';
  248. $arr['news'] = '288';
  249. $arr['wenjuan'] = '321';
  250. $arr['wupin'] = '28,247,248,30,249,253,31,251,250,319,261,323,252';
  251. $arr['assetm'] = '137,411,412,413';
  252. $arr['repair'] = '413';
  253. $arr['cheliang'] = '138,143,214,144,146,215,216';
  254. $arr['book'] = '139,141,145';
  255. $arr['seal'] = '165,166,167';
  256. $arr['dangan'] = '336,337,338';
  257. $arr['gongwen'] = '204,239,289,290,232,256,258,291,292,293,306,205,257,259,294,255,233,206,304,305';
  258. $arr['crm'] = '63,37,64,73,104,105,114,118,126,179,262,299,131,132,75,112,113,123,263,317,110,111,108,109,106,119,115,116,117,107,120,121,122,175,176,177,178,264,302,318,300,301,386,387,458,459,460';
  259. $arr['userinfo'] = '85,101,149';
  260. $arr['userract'] = '95';
  261. $arr['userzheng'] = '339';
  262. $arr['hrdemand'] = '265';
  263. $arr['hrmanshi'] = '266';
  264. $arr['hrpositive'] = '96';
  265. $arr['hrredund'] = '97';
  266. $arr['hrtransfer'] = '128';
  267. $arr['hrtrsalary'] = '129';
  268. $arr['reward'] = '130';
  269. $arr['finjishou'] = '311,312,316,369,457';
  270. $arr['finzhang'] = '308';
  271. $arr['finkemu'] = '309';
  272. $arr['finount'] = '310';
  273. $arr['finscrip'] = '453,454,455';
  274. $arr['finscrib'] = '456';
  275. $arr['finfybx'] = '187,191';
  276. $arr['finccbx'] = '188';
  277. $arr['finjkd'] = '189,218';
  278. $arr['finhkd'] = '190';
  279. $arr['finpay'] = '229';
  280. $arr['finkai'] = '230';
  281. $arr['finpiao'] = '279,280';
  282. $arr['finyisu'] = '325,326,329,327,328';
  283. $arr['finbei'] = '330,331,335,333,332,334';
  284. $arr['wxgzh'] = '180,181,284,285,366';
  285. $arr['weixinqy'] = '171,172,155,173,174,370,47,48,49,50,51,52';
  286. $arr['ding'] = '208,209,210,211,212';
  287. $arr['gongcheng'] = '345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,373,374,375,376,377,378,379,380,381,382,383,384,385';
  288. $arr['officidu'] = '361,362,363,364,365';
  289. $arr['gong'] = '90,287';
  290. $arr['jxcbase'] = '388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,417,418';
  291. $arr['planm'] = '410,407,408,409';
  292. $arr['collectm'] = '414,415,416';
  293. $arr['eduxueqi'] = '419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435';
  294. $arr['yqhealthy'] = '436,437';
  295. $arr['wyxiaoqu'] = '438,439,440,441,442,443,444,445,446,447,448,449,450,451';
  296. return $arr;
  297. }
  298. public function yinglist()
  299. {
  300. $arr['kaoqin'] = '29,45,28,30,24,58';
  301. $arr['work'] = '12';
  302. $arr['project'] = '44';
  303. $arr['gongwen'] = '41,42,43';
  304. $arr['emailm'] = '26';
  305. $arr['schedule'] = '21';
  306. $arr['daily'] = '7';
  307. $arr['meet'] = '4';
  308. $arr['hrsalary'] = '38';
  309. $arr['news'] = '52';
  310. $arr['word'] = '20';
  311. $arr['wordxie'] = '50';
  312. $arr['knowledge'] = '27';
  313. $arr['knowtiku'] = '32';
  314. $arr['knowtraim'] = '33';
  315. $arr['crm'] = '18,17,56,19,34,35,36';
  316. $arr['bianjian'] = '59';
  317. $arr['gong'] = '3';
  318. $arr['wyxiaoqu'] = '67,68,69,70';
  319. return $arr;
  320. }
  321. }
粤ICP备19079148号