diff --git a/application/admin/model/system/SystemGroupData.php b/application/admin/model/system/SystemGroupData.php index 1bb74912..90873258 100644 --- a/application/admin/model/system/SystemGroupData.php +++ b/application/admin/model/system/SystemGroupData.php @@ -75,12 +75,14 @@ class SystemGroupData extends ModelBasic $data = []; $result = $model->select(); if(!$result) return $data; + $result = $result->toArray(); foreach ($result as $key => $value) { $data[$key]["id"] = $value["id"]; $fields = json_decode($value["value"],true); foreach ($fields as $index => $field) { -// $data[$key][$index] = $field['type'] == 'upload' ? (isset($field["value"][0]) ? $field["value"][0]: ''):$field["value"]; - $data[$key][$index] = $field["value"]; + if($field['type'] === 'radio') { + $data[$key][$index] = self::getGroupRadioValue($value['gid'],$field["value"]); + }else $data[$key][$index] = $field["value"]; } } return $data; @@ -111,8 +113,32 @@ class SystemGroupData extends ModelBasic $data["id"] = $value["id"]; $fields = json_decode($value["value"],true); foreach ($fields as $index => $field) { - $data[$index] = $field["value"]; + if($field['type'] === 'radio') { + $data[$index] = self::getGroupRadioValue($value['gid'],$field["value"]); + }else $data[$index] = $field["value"]; } return $data; } + + /** + * TODO radio 根据值获取参数 + * @param $id + * @param $value + * @return mixed + */ + public static function getGroupRadioValue($id,$value){ + $groupData = SystemGroup::getField($id); + foreach ($groupData['fields'] as $key=>&$item){ + if($item['type'] == 'radio'){ + $params = explode("\n",$item["param"]); + if(is_array($params) && !empty($params)){ + foreach ($params as $index => &$v) { + $vl = explode('=>',$v); + if(isset($vl[0]) && isset($vl[1]) && count($vl) && $vl[1] === $value) return $vl[0]; + } + } + } + } + return $value; + } } \ No newline at end of file