hstate = array('未处理', '已处理'); $this->hcolor = array('#ff6600','green'); $this->defaultorder = 'handle_state,asc,optdt,desc'; $repair_type = m("repair_type")->getall('1=1'); for ($i = 0; $i < count($repair_type); $i++) { $type = $repair_type[$i]; $this->repair_type[$type['id']]['name'] = $type['name']; $this->repair_type[$type['id']]['dept'] = $type['dept']; $this->repair_type[$type['id']]['head'] = $type['head']; } } // 初始化单据可替换其他属性,$lx,0默认,1详情展示,2列表显示,3打印页,4外部详情页 public function flowrsreplace($rs, $lx=0) { $zt = $rs['handle_state']; $typeId = $rs['type_id']; // 将id转换为文字 // $rs['handle_state'] = $this->getstatezt($zt); // $rs['handle_info'] = $this->getHandleInfo($typeId, $zt); $rs['handle_state'] = $this->getHandleInfo($rs); return $rs; } // $ors当前单据操作信息,$crs提交过来的信息 public function flowoptmenu($ors, $crs) { // 处理维修 if ($ors['num'] == 'noup') { // 动作名 if ($ors['actname'] == "change_handle") { $sm = $crs['sm']; // 提交过来的说明 $uname = $this->option->adminname; $curr_uid = $this->option->adminid; // 更新说明 $this->update([ "explain"=>$sm, "repairer"=>$uname, "repairer_id"=>$curr_uid, ], $this->id); } } } //显示操作菜单判断 protected function flowgetoptmenu($num) { if (empty($this->id)) return false; $row = m("repair_fault")->getone("id={$this->id} and handle_state != 1"); if (empty($row) || empty($row['type_id'])) return false; $type_id = $row['type_id']; // 获取当操作前用户id,如果有权限操作,则返回true $curr_uid = $this->option->adminid; $where = "id={$type_id} and FIND_IN_SET({$curr_uid},`head_id`)"; $can = m("repair_type")->getone($where, 'head_id'); if (empty($can)) { return false; } else { return true; } } //提交时调用 protected function flowsubmit($na, $sm){ // if ($na != '编辑') { // } $row = m("repair_fault")->getone("id={$this->id}"); if (!empty($row) && $row['handle_state'] == 0 && $row['sms_state'] == 0) { $typeInfo = m("repair_type")->getone("id={$row['type_id']}"); m("log")->addlog("故障记录", "发送短信给{$typeInfo['head']}"); // 发送成功改变状态 $this->update([ "sms_state"=>1, ], $this->id); } } public function flowwesearchdata($lx) { if($lx==1) return m("repair_type")->getall("1=1"); return array( 'typename' => '所有分类', 'searchmsg' => '标题/分类', ); } // 移动端筛选 protected function flowbillwhere($uid, $lx) { $key = $this->rock->post('key'); if ($this->ismobile) { $typeid = (int)$this->rock->post('type_id','0'); $keywere= ''; if(!isempt($key))$keywere.=" and (`title` like '%$key%' or `type`='$key')"; $whyere = ''; if($typeid>0){ $whyere.=" and `type_id`='$typeid'"; } return array( 'order' => '`handle_state` asc,`optdt` desc', 'keywere' => $keywere, 'where' => $whyere, 'fields' => '*' ); } return null; } public function getstatezt($zt) { $colors = ["#ff8b1a", "#00c959", "#ff4974"]; if (isset($this->hstate[$zt])) { $html = ''.$this->hstate[$zt].''; return $html; } else { return null; } } public function getHandleInfo($rs) { $zt = $rs['handle_state']; $typeId = $rs['type_id']; if (isset($this->hstate[$zt])) { $colors = ["#ff8b1a", "#00c959", "#ff4974"]; $html = '故障状态:'; $html .= ''.$this->hstate[$zt].'
'; if (isset($this->repair_type[$typeId])) { $info = $this->repair_type[$typeId]; $info['head'] = str_replace(',', '、', $info['head']); if ($zt == 1) { $html .= '处理人:'; $html .= "【{$info['dept']}】{$rs['repairer']}"; } else { $html .= '负责人:'; $html .= "【{$info['dept']}】{$info['head']}"; } } return $html; } else { return null; } if (isset($this->hstate[$zt])) { $html = ''.$this->hstate[$zt].''; return $html; } else { return null; } // if (isset($this->repair_type[$typeId])) { // if ($zt == 1) { // $info = $this->repair_type[$typeId]; // $info['head'] = str_replace(',', '、', $info['head']); // $html = "【{$info['dept']}】{$info['head']}"; // return $html; // } else { // $info = $this->repair_type[$typeId]; // $info['head'] = str_replace(',', '、', $info['head']); // $html = "【{$info['dept']}】{$info['head']}"; // return $html; // } // } else { // return null; // } } }