$value['key'], 'value' => $value['value'], 'sort' => $value['sort'], 'is_show' => $value['is_show'], 'is_click_detail' => $value['is_click_detail'] ?? 0, 'float' => $value['float'], 'width' => $value['width'] ?? 150, 'menu_id' => $data['menu_id'], 'crt_time' => $time, 'crt_id' => $user['id'], ]; } DB::beginTransaction(); try{ TableSetting::where('del_time',0) ->where('crt_id',$user['id']) ->where('menu_id',$data['menu_id']) ->update(['del_time' => $time]); TableSetting::insert($insert); DB::commit(); }catch (\Exception $exception){ DB::rollBack(); return [false, $exception->getMessage()]; } return [true,'']; } public function tableheadGet($data, $user){ if(empty($data['menu_id'])) return [false,'menu_id不能为空!']; $header = TableSetting::where('del_time',0) ->where('menu_id',$data['menu_id']) ->where('crt_id',$user['id']) ->select('key','value','sort','is_show','is_click_detail','menu_id','float','width') ->get()->toArray(); $header_map = array_column($header,null,'key'); $header_default = config("header.{$data['menu_id']}") ?? []; foreach ($header_default as $key => $value){ if(isset($header_map[$value['key']])) { //存在保存好的设置的表头 以下信息沿用 $tmp = $header_map[$value['key']]; $header_default[$key]['sort'] = $tmp['sort']; $header_default[$key]['is_show'] = $tmp['is_show']; $header_default[$key]['is_click_detail'] = $tmp['is_click_detail']; $header_default[$key]['float'] = $tmp['float']; $header_default[$key]['width'] = $tmp['width']; }else{ $header_default[$key]['sort'] = $key + 1; $header_default[$key]['is_show'] = 1; $header_default[$key]['float'] = 0; $is_click_detail = 0; if($value['key'] == "order_number") { $is_click_detail = 1; }elseif ($value['key'] == "title"){ $is_click_detail = 1; } //默认选中 $header_default[$key]['is_click_detail'] = $is_click_detail; $header_default[$key]['width'] = 150; } } //时间排序 usort($header_default, function($a, $b) { return $a['sort'] - $b['sort']; }); return [true, $header_default]; } }