rock->post('mid','0');
//if($mid==0)$mid = (int)$this->rock->post('id','0');
$this->newfarr = array();
if($mid){
$mrs = $this->getone($mid);
$sid = $mrs['leixing'];
$zrows = m($this->subtable)->getall('mid='.$sid.'','*','`sort`');
foreach($zrows as $k=>$rs){
$frs = $farr[0];
$frs['name'] = $rs['pitem'];
$frs['fieldstype'] = $rs['zxren'];
$frs['data'] = $rs['zxrenid'];
$frs['attr'] = '';
$frs['lens'] = '0';
$frs['isbt'] = ($rs['itemid']=='1')?'1':'0';
$frs['islu'] = '1';
$frs['id'] = '0';
$frs['fields'] = 'sitemid_'.$rs['id'].'';
$farr[] = $frs;
$this->newfarr[] = $frs;
}
}
return $farr;
}
//在运行这个,模版处理
public function flowinputtpl($cont, $lx)
{
//pc
if($lx==0){
$str = '';
foreach($this->newfarr as $k=>$rs){
$str.='
| '.(($rs['isbt']=='1')?'*':'').''.$rs['name'].' | {'.$rs['fields'].'} |
';
}
$cont = str_replace('{autotpl}', $str, $cont);
}
return $cont;
}
//报错子表信息
protected function flowsubmit($na, $sm)
{
$sid = $this->rs['leixing'];
$dbs = m($this->subtable);
$zrows = $dbs->getall('mid='.$sid.'','*','`sort`');
foreach($zrows as $k=>$rs){
$fields = 'sitemid_'.$rs['id'].'';
$where = '`mid`='.$this->id.' and `itemid`='.$rs['id'].'';
$uarr = array(
'pitem' => $rs['pitem'],
'zxren' => $this->rock->post($fields),
'zxrenid' => $this->rock->post($fields.'id'),
'itemid'=> $rs['id'],
'mid' => $this->id,
'comid' => $this->rs['comid'],
'sort' => $rs['sort'],
);
if($dbs->rows($where)==0)$where='';
$dbs->record($uarr, $where);
}
$this->updaterenshu($sid);
}
public function updaterenshu($sid)
{
$zrshu = $this->rows('`leixing`='.$sid.' and `type`=3 and `status`<>5');
$this->update('`leixing`='.$zrshu.'', $sid);
}
protected function flowrsreplaceedit($rs)
{
$this->addotherfield();
$zrows = m($this->subtable)->getall('mid='.$rs['id'].'','*','`sort`');
foreach($zrows as $k=>$rs1){
$rs['sitemid_'.$rs1['itemid'].''] = $rs1['zxren'];
$this->rssust['sitemid_'.$rs1['itemid'].''] = $rs1['zxren'];
}
return $rs;
}
/*
protected function flowgetfields($lx)
{
$zrows = m($this->subtable)->getall('mid='.$this->id.'','*','`sort`');
$arr = array();
foreach($zrows as $k=>$rs1){
$arr['sitemid_'.$rs1['itemid'].''] = $rs1['pitem'];
}
return $arr;
}*/
private function addotherfield()
{
$frs = $this->fieldsarra[0];
$sid = $this->rs['leixing'];
$zrows = m($this->subtable)->getall('mid='.$sid.'','*','`sort`');
foreach($zrows as $k=>$rs1){
$frs['name'] = $rs1['pitem'];
$frs['fieldstype'] = $rs1['zxren'];
$frs['islu'] = '1';
$frs['fields'] = 'sitemid_'.$rs1['id'];
$this->fieldsarra[] = $frs;
$this->fieldsarr[] = $frs;
}
}
public function flowrsreplace($rs, $lx=0)
{
if($lx==1 || $lx==3){
$rs = $this->flowrsreplaceedit($rs);
}
return $rs;
}
protected function flowzuofeibill($sm)
{
//$this->update('`leixing`=`leixing`-1', $this->rs['leixing']);
$this->updaterenshu($this->rs['leixing']);
m($this->subtable)->delete('`mid`='.$this->id.'');
}
public function flowxiangfields(&$fields)
{
$fields['base_name'] = '填写人';
$fields['base_deptname'] = '填写人部门';
return $fields;
}
protected function flowbillwhere($uid, $lx)
{
$where = '';
$leixingid = (int)$this->rock->post('leixingid');
if($leixingid>0)$where='and `leixing`='.$leixingid.'';
return array(
'keywhere' => $where,
);
}
}