settable('flow_set'); } public function getmodearr($whe='') { $arr = $this->getall('status=1 '.$whe.'','`id`,`num`,`name`,`table`,`type`,`isflow`','sort'); $typea = array(); foreach($arr as $k=>$rs){ $arr[$k]['name'] = ''.$rs['id'].'.'.$rs['name'].'('.$rs['num'].')'; $typea[$rs['type']][] = $arr[$k]; } $arr = array(); foreach($typea as $k1=>$srow){ foreach($srow as $k2=>$rs2)$arr[] = $rs2; } return $arr; } //判断模块是否开启存在 public function iscun($num) { $to = $this->rows("`num`='$num' and `status`=1"); return $to==1; } public function getmoderows($uid, $sww='') { $where = m('admin')->getjoinstr('receid', $uid); $arr = $this->getall("`status`=1 and `type`<>'系统' $sww $where",'`id`,`num`,`name`,`table`,`type`,`isflow`,`isscl`','`sort`'); return $arr; } public function getmodemyarr($uid=0, $whe='') { $where = ''; if($whe!='')$where = $whe; if($uid>0)$where = m('admin')->getjoinstr('receid', $uid); $arr = $this->getall('status=1 and isflow>0 '.$where.'','`id`,`name`,`type`','sort'); return $arr; } //生成列表页面 public function createlistpage($modeid, $lxss=0, $glx=0, $inrs=null) { if(is_array($modeid)){ $mors = $modeid; }else{ $mors = m('flow_set')->getone($modeid,'`id`,`table`,`names`,`num`,`name`,`isflow`,`lbztxs`'); } $num = $mors['num']; $path = ''.P.'/flow/page/rock_page_'.$num.'.php'; //分单位自己生成 if($glx==0 && getconfig('platdwnum') && COMPANYNUM){ $dbbase = str_replace('_company_'.COMPANYNUM.'','', DB_BASE); $ones = $this->db->getone(''.$dbbase.'.`[Q]flow_set`', "`num`='$num'"); if($ones)return 'ok'; } //当是一键生成时,不存在就不要生成了 if($lxss==1 && !file_exists($path))return 'none'; $flow = m('flow')->initflow($num); $chufarr= array(); if(method_exists($flow, 'flowxiangfields'))$chufarr = $flow->flowxiangfields($chufarr); $table = $mors['table']; $name = $mors['name']; $modeid = (int)$mors['id']; $isflow = (int)$mors['isflow']; $lbztxs = $mors['lbztxs']; $showzt = false; $farr[] = array('name'=>arrvalue($chufarr, 'base_name', '申请人'),'fields'=>'base_name'); $farr[] = array('name'=>arrvalue($chufarr, 'base_deptname', '申请人部门'),'fields'=>'base_deptname'); $farr[] = array('name'=>arrvalue($chufarr, 'base_sericnum', '单号'),'fields'=>'sericnum'); $farrs = m('flow_element')->getall("`mid`='$modeid'",'`fields`,`name`,`fieldstype`,`ispx`,`isalign`,`iszb`,`islb`,`issou`,`data`','`iszb`,`sort`'); $inpub = c('input'); $zbarr = array(); $zbnamea = explode(',', $mors['names']); foreach($farrs as $k=>$rs){ if($glx==1 && $rs['issou']=='1' && ($rs['fieldstype']=='select' || $rs['fieldstype']=='rockcombo')){ $rs['store'] =$inpub->getdatastore($rs['fieldstype'],$inrs,$rs['data']); } if($rs['iszb']=='0'){ $farr[] = $rs; //主表 if($rs['fields']=='status')$showzt=true; }else{ if($rs['issou']=='1'){ $xus = floatval($rs['iszb'])-1; $zbn = arrvalue($zbnamea, $xus); if($zbn)$rs['name'] = ''.$zbn.'.'.$rs['name'].''; $rs['fields'] = 'zb'.$xus.'_'.$rs['fields'].''; $zbarr[] = $rs; } } } $jgpstr = ''; $hstart = ''; $hendts = ''; $oldcont = @file_get_contents($path); $autoquye = $this->rock->getcai($oldcont,'//[自定义区域start]','//[自定义区域end]'); //$isdaoru = m('flow_element')->rows("`mid`='$modeid' and `isdr`=1"); $drstrbtn = ''; //if($isdaoru>0){ $drstrbtn = ""; //} //读取流程模块的条件 $whtml = '
'; $zthtml = ''; if($isflow>0)$showzt = true; if($lbztxs==1)$showzt = true; if($lbztxs==2)$showzt = false; if($showzt){ $ztarr = $flow->getstatusarr(); $zthtml = '| $zthtml |
|
$whtml | ".$drstrbtn." |