IdentificationModel = new Identification(); $this->EngineeringModel = new Engineering(); } public function index(Request $request){ if ($request->isAjax()) { $param = $request->all(); // $limit = $param['limit']; $where = [['is_del','=',0]]; $listAll = $this->IdentificationModel->getAllList($where); $data['data'] = $this->getPidList($listAll); return sparKSuccess(dataReturn(0, 'success', $data)); } return view('safebasic/identification/index'); } /** * 获取工程类型详情 */ public function getEngineeringInfo(Request $request){ $param = $request->all(); $res = $this->EngineeringModel->where('id',$param['id'])->first()->toArray(); return sparkSuccess(dataReturn(0, '查询成功',$res)); } public function changeType($ary) { $res=[]; foreach($ary as $v) { $res[] = (int)$v; } return $res; } /** 辨识类型添加 */ public function store(Request $request){ if ($request->isAjaxPost()) { $param = $request->post(); $param['enhineering_one_parent'] = isset($param['enhineering_one_parent'])?$this->changeType($param['enhineering_one_parent']):[]; $param['enhineering_two_parent'] = isset($param['enhineering_two_parent'])?$this->changeType($param['enhineering_two_parent']):[]; $param['enhineering_three_parent'] = isset($param['enhineering_three_parent'])?$this->changeType($param['enhineering_three_parent']):[]; $param['enhineering_four_parent'] = isset($param['enhineering_four_parent'])?$this->changeType($param['enhineering_four_parent']):[]; $param['create_time'] = now(); $engineering_mark_list = $this->EngineeringModel->getAllList(['id'=>['in',explode(',',$param['engineering_id'])]],['mark']); $param['engineering_mark'] = implode(',',array_column($engineering_mark_list,'mark')); $res = $this->IdentificationModel->insertOne($param); return sparkSuccess(dataReturn(0, '添加成功')); } return sparkSuccess(dataReturn(0, 'error')); } /** 辨识类型编辑 */ public function update(Request $request){ if ($request->isAjaxPost()) { $param = $request->post(); $param['enhineering_one_parent'] = isset($param['enhineering_one_parent'])?$this->changeType($param['enhineering_one_parent']):[]; $param['enhineering_two_parent'] = isset($param['enhineering_two_parent'])?$this->changeType($param['enhineering_two_parent']):[]; $param['enhineering_three_parent'] = isset($param['enhineering_three_parent'])?$this->changeType($param['enhineering_three_parent']):[]; $param['enhineering_four_parent'] = isset($param['enhineering_four_parent'])?$this->changeType($param['enhineering_four_parent']):[]; $param['update_time'] = now(); unset($param['create_time']); $ary = explode(',',$param['engineering']); $new_ary = array_filter($ary,function($v){ return $v != 0; }); $engineering_mark_list = $this->EngineeringModel->whereIn('id',$new_ary)->get()->toArray(); $param['engineering_mark'] = implode(',',array_column($engineering_mark_list,'mark')); $res = $this->IdentificationModel->updateById($param,$param['id']); return sparkSuccess(dataReturn(0, '编辑成功')); } return sparkSuccess(dataReturn(0, 'error')); } /** 查询辨识类型 */ public function show(Request $request){ $id = $request->get('id'); $row = $this->IdentificationModel->getInfoById($id); $engineering = explode(',',$row['engineering']); $row['enhineering_one'] = isset($engineering[0])?$engineering[0]:0; $row['enhineering_two'] = isset($engineering[1])?$engineering[1]:0; $row['enhineering_three'] = isset($engineering[2])?$engineering[2]:0; $row['enhineering_four'] = isset($engineering[3])?$engineering[3]:0; return sparKSuccess(dataReturn(0, 'success', $row)); } /** 删除辨识类型 */ public function destroy(Request $request){ $id = $request->get('id'); $param['is_del'] = 1; $param['update_time'] = now(); $res = $this->IdentificationModel->updateById($param,$id); return sparKSuccess(dataReturn(0, '删除成功')); } /** 辨识类型无分页列表 */ public function getList(){ $where = [['is_del','=',0]]; $res = $this->IdentificationModel->getAllList($where); $list = []; foreach ($res as $k=>$v){ $list[$k]['value'] = $v['id']; $list[$k]['label'] = $v['name']; $list[$k]['pid'] = $v['pid']; $list[$k]['id'] = $v['id']; } return sparKSuccess(dataReturn(0, 'success', $this->getPidList($list))); } public function getEngineeringList(){ $where = [['isdel','=',0]]; $res = (new Engineering())->getAllList($where); $list = []; foreach ($res as $k=>$v){ $list[$k]['value'] = $v['id']; $list[$k]['label'] = $v['name']; $list[$k]['pid'] = $v['pid']; $list[$k]['id'] = (int)$v['id']; } return sparKSuccess(dataReturn(0, 'success', $this->getPidList($list))); } private function getPidList($list){ $packData = []; $tree = []; foreach ($list as $data) { $packData[$data['id']] = $data; } foreach ($packData as $key => $val) { if ($val['pid'] == 0) { $tree[] = &$packData[$key]; } else { $packData[$val['pid']]['children'][] = &$packData[$key]; } } return $tree; } /** 辨识类型无分页列表共用 */ public function getListout(){ $where = [['is_del','=',0]]; $res = $this->IdentificationModel->getAllList($where); $list = []; foreach ($res as $k=>$v){ $list[$k]['value'] = $v['id']; $list[$k]['label'] = $v['name']; $list[$k]['pid'] = $v['pid']; $list[$k]['id'] = $v['id']; } return $this->getPidList($list); } /** 查询辨识类型指定值 */ public function getOnename($id){ $where = [['id','=',$id]]; $res = $this->IdentificationModel->findOne($where,'name'); return $res['data']['name']; } public function getOnePid($code){ $where = [['code','=',$code]]; $res = $this->IdentificationModel->findOne($where,'pid'); return $res['data']['pid']; } }