-
-
-
-
-
-
-
-
-
-
- {{ props.errors.code }}
-
-
-
-
-
-
-
-
-
- {{ props.errors.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ props.errors.stock }}
-
-
-
+
diff --git a/app/components/flow/material/entry.vue b/app/components/flow/material/entry.vue
index c68449e5..82e9021e 100644
--- a/app/components/flow/material/entry.vue
+++ b/app/components/flow/material/entry.vue
@@ -1,64 +1,28 @@
-
- Tambah BMHP
-
-
-
-
+
+
Tambah Perlengkapan (BMHP)
+
diff --git a/app/components/flow/material/list.vue b/app/components/flow/material/list.vue
index 28fb6290..fa719f46 100644
--- a/app/components/flow/material/list.vue
+++ b/app/components/flow/material/list.vue
@@ -26,21 +26,21 @@ const recAction = ref
('')
const recItem = ref(null)
const headerPrep: HeaderPrep = {
- title: 'BMHP',
- icon: 'i-lucide-paint-bucket',
+ title: 'Perlengkapan (BMHP)',
+ icon: 'i-lucide-panel-bottom',
addNav: {
label: 'Tambah',
- onClick: () => navigateTo('/tools-equipment-src/material/add'),
+ onClick: () => navigateTo('/tools-equipment-src/equipment/add'),
},
}
async function getMaterialList() {
isLoading.dataListLoading = true
- const resp = await xfetch('/api/v1/material')
- if (resp.success) {
- data.value = (resp.body as Record).data
- }
+ // const resp = await xfetch('/api/v1/material')
+ // if (resp.success) {
+ // data.value = (resp.body as Record).data
+ // }
isLoading.dataListLoading = false
}
diff --git a/app/schemas/material.ts b/app/schemas/material.ts
new file mode 100644
index 00000000..8b024471
--- /dev/null
+++ b/app/schemas/material.ts
@@ -0,0 +1,14 @@
+import { z } from 'zod'
+
+const schema = z.object({
+ code: z.string({ required_error: 'Kode harus diisi' }).min(1, 'Kode minimum 1 karakter'),
+ name: z.string({ required_error: 'Nama harus diisi' }).min(1, 'Nama minimum 1 karakter'),
+ uom_code: z.string({ required_error: 'Kode unit harus diisi' }),
+ item_id: z.string({ required_error: 'Tipe harus diisi' }),
+ stock: z.preprocess((val) => Number(val), z.number({ invalid_type_error: 'Stok harus berupa angka' }).min(1)),
+})
+
+type formData = z.infer
+
+export { schema as MaterialSchema }
+export type { formData as MaterialFormData }