setTitleField(field: ServicePaymentModel::TITLE); } public function getFieldView(string $field, mixed $value, array $viewDatas, array $extras = []): string|null { switch ($field) { case "countdown": //결제일Countdown $value = $viewDatas['entity']->getView_CounDueAt(); break; case 'item_uid': case 'serviceinfo_uid': case 'ownerinfo_uid': case 'item_type': case 'billing_cycle': $value = array_key_exists($value, $viewDatas['control']['filter_optons'][$field]) && $viewDatas['control']['filter_optons'][$field][$value] ? $viewDatas['control']['filter_optons'][$field][$value]->getTitle() : ""; break; default: $value = parent::getFieldView($field, $value, $viewDatas, $extras); break; } if (is_array($value)) { echo __METHOD__ . "에서 오류: {$field}의 값이 Array형태입니다"; exit; } return $value; } public function getListButton(string $action, string $label, array $viewDatas, array $extras = []): string { switch ($action) { case 'invoice': $action = form_submit($action . "_submit", '청구서 발행', [ "formaction" => current_url() . '/' . $action, "class" => "btn btn-outline btn-primary", // "onclick" => "return submitBatchJob()" ]); break; case 'delete': if ($viewDatas['entity']->getStatus() !== DEFAULTS['STATUS']) { $action = ""; } else { $action = parent::getListButton($action, $label, $viewDatas, $extras); } break; default: $action = parent::getListButton($action, $label, $viewDatas, $extras); break; } return $action; } }