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 = str_replace('?','', $zthtml); } $fselarr = array(); $bear = $this->db->getrows('[Q]option',"`num` like 'columns_".$num."_%'",'`num`,`value`'); foreach($bear as $k2=>$rs2)$fselarr[$rs2['num']]=$rs2['value']; $placeholder= '关键字'; if($isflow>0)$placeholder= '关键字/申请人/单号'; if($glx==1){ return array( 'isflow' => $isflow, 'fieldsarr' => $farr, 'fieldzarr' => $zbarr, 'fieldsselarr' => $fselarr, 'chufarr' => $chufarr, 'modename' => $name, 'modenames' => $this->rock->repempt($mors['names']), ); } $html= "".$hstart."
$zthtml
$whtml ".$drstrbtn."
".$hendts.""; $str = " ".$jgpstr.""; $bstrs = ''; if(!isempt($oldcont) && contain($oldcont, $jgpstr) && contain($oldcont, $bstrs)){ $strarr = explode($jgpstr, $oldcont); $nstr = $strarr[1]; $htmlqy = $this->rock->getcai($nstr, $hstart, $hendts); $rstr = "".$hstart." ".$htmlqy." ".$hendts.""; $nstr = str_replace($rstr, '', $nstr); $nstr = str_replace($bstrs, $html.$bstrs, $nstr); $str .= "\n".$nstr; }else{ $str.= "\n".$html; } $bo = $this->rock->createtxt($path, $str); if(!$bo)$path=''; return $path; } /** * 统计 */ public function flowtotal($modeid, $fields, $type) { } }