parameter_json = json_encode($row->parameter_json); }); self::beforeUpdate(function($row){ $row->parameter_json = json_encode($row->parameter_json); }); } public function getTypeList() { return ['0' => __('Type 0'), '1' => __('Type 1'), '2' => __('Type 2'), '3' => __('Type 3'), '4' => __('Type 4'), '5' => __('Type 5'), '6' => __('Type 6'), '7' => __('Type 7'),'9' => '新人教程','10'=>'逛逛','11'=>'app首页小轮播','12'=>'首页连标','13'=>'app首页快捷上','14'=>'app首页快捷下','15'=>'app启动页','16'=>'淘宝返利轮播','17'=>'京东返利轮播','18'=>'抖音返利轮播','19'=>'拼多多返利轮播','20'=>'唯品会返利轮播','21'=>'自定义首页弹窗']; } public function getStatusList() { return ['0' => __('Status 0'), '1' => __('Status 1')]; } public function getUrlTypeList() { return ['0' => __('Url_type 0'), '1' => __('Url_type 1'), '2' => __('Url_type 2'), '3' => __('Url_type 3'), '7' => __('Url_type 7'), '11' => __('Url_type 11'), '12' => __('Url_type 12'), '13' => __('Url_type 13'),'14' => __('Url_type 14'),'15' => __('Url_type 15'),'999' => '不跳转']; } public function getParameterJsonAttr($value, $data) { return empty($value) ? [] : (is_array($value) ? $value : json_decode($value, true)); } public function getTypeTextAttr($value, $data) { $value = $value ? $value : (isset($data['type']) ? $data['type'] : ''); $list = $this->getTypeList(); return isset($list[$value]) ? $list[$value] : ''; } public function getStatusTextAttr($value, $data) { $value = $value ? $value : (isset($data['status']) ? $data['status'] : ''); $list = $this->getStatusList(); return isset($list[$value]) ? $list[$value] : ''; } public function getUrlTypeTextAttr($value, $data) { $value = $value ? $value : (isset($data['url_type']) ? $data['url_type'] : ''); $list = $this->getUrlTypeList(); return isset($list[$value]) ? $list[$value] : ''; } public function getStartTimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['start_time']) ? $data['start_time'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getEndTimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['end_time']) ? $data['end_time'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } public function getCreateTimeTextAttr($value, $data) { $value = $value ? $value : (isset($data['create_time']) ? $data['create_time'] : ''); return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; } protected function setStartTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setEndTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } protected function setCreateTimeAttr($value) { return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); } }