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;
// }
}
}