getPage(); $type = get_config('approve.type'); $query = Db::name('Flow'); $list = $query->field('f.*,a.name as username,t.title as flow_cate') ->alias('f') ->join('Admin a', 'a.id = f.admin_id', 'left') ->join('FlowType t', 't.id = f.flow_cate', 'left') ->page($page, $limit)->select()->toArray(); $count = $query->count(); foreach ($list as $key => &$value) { $department = Db::name('Department')->where('id', 'in', $value['department_ids'])->column('title'); $value['department'] = implode(',', $department); if ($value['department'] == '') { $value['department'] = '全公司'; } foreach ($type as $k => $val) { if ($value['type'] == $val['id']) { $value['type_name'] = $val['title']; } } } return $this->success('success', ['count' => $count, 'data' => $list]); } //添加新增/编辑 public function create() { $param = get_params(); $param['copy_to'] = empty($param['copy_to']) ? [] : $param['copy_to']; $param['flow_detail'] = empty($param['flow_detail']) ? [] : $param['flow_detail']; if ($param['flow_detail']['type'] == 1 || $param['flow_detail']['type'] == 3) { foreach ($param['flow_detail']['step'] as $key => $step) { if ($param['flow_detail']['type'] == 1 && $step['type'] < 3) { continue; } if (empty($step['user'])) { return $this->fail('第' . ($key + 1) . '行的指定人未选择'); } } } $param['flow_detail'] = json_encode($param['flow_detail'], JSON_UNESCAPED_UNICODE); $param['copy_to'] = json_encode($param['copy_to'], JSON_UNESCAPED_UNICODE); if ($param['id'] > 0) { $param['update_time'] = time(); Db::name('Flow')->strict(false)->field(true)->update($param); } else { $param['admin_id'] = $this->adminId; $param['create_time'] = time(); $mid = Db::name('Flow')->strict(false)->field(true)->insertGetId($param); } return $this->success('保存成功', [], 1, 1); } public function view($id) { $info = Db::name('Flow')->find($id); $info['copy_to'] = json_decode($info['copy_to'], true); $info['flow_detail'] = json_decode($info['flow_detail'], true); return $this->data($info); } //禁用/启用 public function status() { $param = get_params(); $param['update_time'] = time(); $res = Db::name('Flow')->where('id', $param['id'])->strict(false)->field('status,update_time')->update($param); if ($res !== false) { return $this->success('保存成功', [], 1, 1); } else { return $this->fail('操作失败'); } } }