hyarra = array('正常','会议中','结束','取消'); $this->ytarra = array('待进行','待进行','进行中','已进行'); $this->hyarrb = array('green','blue','#ff6600','#888888'); $this->dbobj = c('date'); $this->reatearr = array( 'd' => '每天', 'w1' => '每周一', 'w2' => '每周二', 'w3' => '每周三', 'w4' => '每周四', 'w5' => '每周五', 'w6' => '每周六', 'w7' => '每周日', 'm' => '每月', 'y' => '每年', ); } //子表数据替换处理$lx=0编辑时,1展示时 protected function flowsubdata($rows, $lx=0){ for ($i = 0; $i < count($rows); $i++) { $rows[$i]['topic_state'] = $this->ytarra[$rows[$i]['topic_state'] ?? 1]; } return $rows; } // 初始化单据可替换其他属性,$lx,0默认,1详情展示,2列表显示,3打印页,4外部详情页 public function flowrsreplace($rs, $lx=0) { // m('log')->addlog('会议单据', json_encode($rs, true)); $zt = $rs['state']; $nzt = $zt; $time = time(); $stime = strtotime($rs['meeting_time']); $etime = strtotime($rs['end_time']); // if($zt < 2){ if($etime<$time){ $nzt = 2; }else if($stime>$time){ // 开始时间大于当前时间,认为会议开始 $nzt = 0; }else{ $nzt = 1; } // } // if ($nzt != 2 || $nzt != 3) { // // 状态不是取消、结束,则赋值“正常” // $nzt = 1; // } // 更新数据状态 if($zt != $nzt){ $this->update('state='.$nzt.'', $rs['id']); $zt = $nzt; } // 将id转换为文字 $rs['state'] = $this->getstatezt($zt); return $rs; } public function getstatezt($zt) { return ''.$this->hyarra[$zt].''; } // $ors当前单据操作信息,$crs提交过来的信息 public function flowoptmenu($ors, $crs) { // 切换会议议题 if ($ors['num'] == 'changeTopic') { $topics = $this->db->getall("select * from `[Q]meeting_topics` where mid = {$this->id} order by sort"); $have_state = False; // 查找状态为1的 for ($i = 0; $i < count($topics); $i++) { $data = $topics[$i]; if (isset($data['id'])) { if ($data['topic_state'] == 1) { $have_state = True; m('meeting_topics')->update(['topic_state'=>$data['topic_state']+1], "id={$data['id']}"); } else { continue; } if (isset($topics[$i - 1])) { $topics[$i-1]['topic_state'] = $data['topic_state']+2; $id = $topics[$i-1]['id']; m('meeting_topics')->update(['topic_state'=>$data['topic_state']+2], "id={$id}"); } if (isset($topics[$i + 1])) { $topics[$i+1]['topic_state'] = 1; $id = $topics[$i+1]['id']; m('meeting_topics')->update(['topic_state'=>1], "id={$id}"); } break; } } if (!$have_state && $topics[0]['topic_state'] < 1) { m('meeting_topics')->update(['topic_state'=>1], "id={$topics[0]['id']}"); } else if (!$have_state && $data['topic_state'] == 2) { m('meeting_topics')->update(['topic_state'=>3], "id={$data['id']}"); } } } //删除单据时调用 public function flowdeletebill($sm) { // m('meet_sys')->deleteMeetingRoom($this->rs); } //流程全部完成后调用 public function flowcheckfinsh($sm) { // 获取议题信息 $topics = $this->db->getall("select `id`, `topic_title`, `topic_attendee`, `topic_attendee_id`, `topic_state` from `[Q]meeting_topics` where mid = {$this->id} order by sort"); if (isset($topics['id'])) { m('meeting')->update(['topic_state'=>'1'], "id={$topics[0]['id']}"); } } //提交时调用 protected function flowsubmit($na, $sm) { if ($this->id == null) { return ; } } }