From 33afec25135857006cd45e622d93dd267ea529df Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Thu, 2 Jul 2026 23:03:27 +0700 Subject: [PATCH] feat: enhance Cutting module by adding image upload functionality and improving form handling; update CuttingPosForm and related components to support image management and improve user experience --- .../js/pages/admin/manage/cuttings/Edit.vue | 19 +- .../js/pages/admin/manage/cuttings/Share.vue | 155 +++++++++--- .../manage/cuttings/form/CuttingPosForm.vue | 168 +++++++++---- .../cuttings/form/CuttingPosSummaryPanel.vue | 53 +++- .../cuttings/table/CuttingGroupedTable.vue | 236 ++++++++++++++---- 5 files changed, 490 insertions(+), 141 deletions(-) diff --git a/resources/js/pages/admin/manage/cuttings/Edit.vue b/resources/js/pages/admin/manage/cuttings/Edit.vue index b27aed4..3745204 100644 --- a/resources/js/pages/admin/manage/cuttings/Edit.vue +++ b/resources/js/pages/admin/manage/cuttings/Edit.vue @@ -23,6 +23,7 @@ const props = defineProps<{ const initialData = computed(() => ({ description: props.cutting.description ?? '', + images: props.cutting.images ?? [], sewing_cost: String(props.cutting.sewing_cost ?? 0), other_cost: String(props.cutting.other_cost ?? 0), materials: props.cutting.materials.map((item) => ({ @@ -52,7 +53,9 @@ const initialData = computed(() => ({ -
+

Ubah Cutting

@@ -60,9 +63,15 @@ const initialData = computed(() => ({
- + diff --git a/resources/js/pages/admin/manage/cuttings/Share.vue b/resources/js/pages/admin/manage/cuttings/Share.vue index 7b97c67..fd81777 100644 --- a/resources/js/pages/admin/manage/cuttings/Share.vue +++ b/resources/js/pages/admin/manage/cuttings/Share.vue @@ -38,7 +38,12 @@ const groupedMaterials = computed(() => { const name = item.raw_material_name || 'Bahan Baku Tidak Diketahui'; if (!groups[key]) { - groups[key] = { key, name, unitLabel: item.raw_material_unit_label, items: [] }; + groups[key] = { + key, + name, + unitLabel: item.raw_material_unit_label, + items: [], + }; } groups[key].items.push(item); @@ -71,8 +76,12 @@ const groupedResults = computed(() => {
-

Detail Cutting

-

Rincian data proses cutting

+

+ Detail Cutting +

+

+ Rincian data proses cutting +

@@ -80,18 +89,37 @@ const groupedResults = computed(() => {
-

Cutting #{{ cutting.id }}

- +

+ Cutting #{{ cutting.id }} +

+ {{ cutting.status_label }}

{{ cutting.created_at_formatted }}

-

Oleh {{ cutting.created_by?.profile?.full_name ?? cutting.created_by?.username }}

+

+ Oleh + {{ + cutting.created_by?.profile?.full_name ?? + cutting.created_by?.username + }} +

{{ cutting.description }}

+
+ +
@@ -99,15 +127,26 @@ const groupedResults = computed(() => {

Ringkasan

-

Total Hasil Cutting

+

+ Total Hasil Cutting +

{{ cutting.total_result_pieces ?? 0 }} pcs

-
-

Total Pemakaian Bahan

+
+

+ Total Pemakaian Bahan +

- {{ cutting.total_material_usage_summary_formatted }} + {{ + cutting.total_material_usage_summary_formatted + }}

@@ -122,28 +161,52 @@ const groupedResults = computed(() => { Varian Foto - Pemakaian + Pemakaian -