| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- <?php
- class flow_repair_faultClassModel extends flowModel
- {
- public $hstate, $hcolor, $repair_type = [];
- public function initModel()
- {
- $this->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 = '<font style="background-color:'.$colors[$zt].'; padding: 2px 8px; border-radius: 4px; color: #fff">'.$this->hstate[$zt].'</font>';
- 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 .= '<font style="background-color:'.$colors[$zt].'; padding: 2px 8px; border-radius: 4px; color: #fff">'.$this->hstate[$zt].'</font><br/ >';
- if (isset($this->repair_type[$typeId])) {
- $info = $this->repair_type[$typeId];
- $info['head'] = str_replace(',', '、', $info['head']);
- if ($zt == 1) {
- $html .= '处理人:';
- $html .= "<font style='color: #00c959; padding: 2px 8px; border-radius: 4px;'>【{$info['dept']}】{$rs['repairer']}</font>";
- } else {
- $html .= '负责人:';
- $html .= "<font style='color: #ff8b1a; padding: 2px 8px; border-radius: 4px;'>【{$info['dept']}】{$info['head']}</font>";
- }
- }
- return $html;
- } else {
- return null;
- }
- if (isset($this->hstate[$zt])) {
- $html = '<font style="background-color:'.$colors[$zt].'; padding: 2px 8px; border-radius: 4px; color: #fff">'.$this->hstate[$zt].'</font>';
- 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 = "<font style='color: #ff8b1a; padding: 2px 8px; border-radius: 4px;'>【{$info['dept']}】{$info['head']}</font>";
- // return $html;
- // } else {
- // $info = $this->repair_type[$typeId];
- // $info['head'] = str_replace(',', '、', $info['head']);
- // $html = "<font style='color: #ff8b1a; padding: 2px 8px; border-radius: 4px;'>【{$info['dept']}】{$info['head']}</font>";
- // return $html;
- // }
- // } else {
- // return null;
- // }
- }
- }
|