diff --git a/app/Models/Order.php b/app/Models/Order.php index 22a7a75..e8e3824 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -29,6 +29,8 @@ 'payment_type_label', 'price_type_label', 'status_label', + 'creator_name', + 'marketing_name', ])] class Order extends Model { @@ -131,6 +133,20 @@ public function statusLabel(): Attribute ); } + public function creatorName(): Attribute + { + return Attribute::make( + get: fn () => $this->createdBy?->profile?->full_name ?? $this->createdBy?->username ?? '-', + ); + } + + public function marketingName(): Attribute + { + return Attribute::make( + get: fn () => $this->marketing?->profile?->full_name ?? $this->marketing?->username ?? '-', + ); + } + public function subtotalFormatted(): Attribute { return Attribute::make( diff --git a/resources/js/pages/admin/manage/orders/Show.vue b/resources/js/pages/admin/manage/orders/Show.vue index 5aa5121..edbafc5 100644 --- a/resources/js/pages/admin/manage/orders/Show.vue +++ b/resources/js/pages/admin/manage/orders/Show.vue @@ -58,14 +58,6 @@ const { open: deleteConfirmOpen, processing: deleteProcessing, destroy: destroyO errorMessage: 'Gagal menghapus pesanan.', }); -const creatorName = computed(() => { - return props.order.created_by?.profile?.full_name ?? props.order.created_by?.username ?? '-'; -}); - -const marketingName = computed(() => { - return props.order.marketing?.profile?.full_name ?? props.order.marketing?.username ?? '-'; -}); - function statusVariant(status: string): 'default' | 'secondary' | 'destructive' | 'outline' { if (status === OrderStatus.COMPLETED) return 'default'; if (status === OrderStatus.CANCELLED) return 'destructive'; @@ -305,11 +297,11 @@ const feeEntries = computed(() => {

Dibuat Oleh

-

{{ creatorName }}

+

{{ order.creator_name }}

Marketing

-

{{ marketingName }}

+

{{ order.marketing_name }}

diff --git a/resources/js/types/order.ts b/resources/js/types/order.ts index 4fb9eab..60f8aee 100644 --- a/resources/js/types/order.ts +++ b/resources/js/types/order.ts @@ -157,6 +157,8 @@ export type OrderDetail = { total_amount_formatted: string; notes: string | null; created_at_formatted: string; + creator_name: string; + marketing_name: string | null; customer?: { id: number; name: string;