瀏覽代碼

fix: master

Muhammad Iqbal Afandi 3 年之前
父節點
當前提交
e43833e308

+ 1
- 3
app/Http/Controllers/PurchaseController.php 查看文件

@@ -64,9 +64,7 @@ class PurchaseController extends Controller
64 64
         return inertia("Purchases/Create", [
65 65
             "number" => "PBN" . now()->format("YmdHis"),
66 66
             "ppn" => Ppn::first()->ppn,
67
-            "productNumber" => Inertia::lazy(
68
-                fn() => "PDK" . now()->format("YmdHis")
69
-            ),
67
+            "productNumber" => "PDK" . now()->format("YmdHis"),
70 68
             "suppliers" => Inertia::lazy(
71 69
                 fn() => Supplier::filter([
72 70
                     "search" => request("supplier"),

+ 2
- 6
resources/js/pages/Customers/Index.vue 查看文件

@@ -31,9 +31,9 @@ const onDelete = (data) => {
31 31
 </script>
32 32
 
33 33
 <template>
34
-  <ConfirmDialog />
35
-
36 34
   <DashboardLayout title="Daftar Pelanggan">
35
+    <ConfirmDialog />
36
+
37 37
     <DataTable
38 38
       responsiveLayout="scroll"
39 39
       columnResizeMode="expand"
@@ -84,11 +84,7 @@ const onDelete = (data) => {
84 84
             v-tooltip.bottom="'Ubah Pelanggan'"
85 85
             :href="route('customers.edit', data.id)"
86 86
           />
87
-        </template>
88
-      </Column>
89 87
 
90
-      <Column>
91
-        <template #body="{ data }">
92 88
           <Button
93 89
             v-if="!data.isUsed"
94 90
             icon="pi pi-trash"

+ 7
- 3
resources/js/pages/Products/Create.vue 查看文件

@@ -8,14 +8,18 @@ const props = defineProps({
8 8
 })
9 9
 
10 10
 const form = useForm({
11
-  number: props.number,
12 11
   name: null,
13 12
   unit: null,
14 13
   profit: 0,
15 14
 })
16 15
 
17 16
 const onSubmit = () => {
18
-  form.post(route('products.store'), { onSuccess: () => form.reset() })
17
+  form
18
+    .transform((data) => ({
19
+      number: props.number,
20
+      ...data,
21
+    }))
22
+    .post(route('products.store'), { onSuccess: () => form.reset() })
19 23
 }
20 24
 </script>
21 25
 
@@ -33,7 +37,7 @@ const onSubmit = () => {
33 37
                   label="Nomor Produk"
34 38
                   placeholder="nomor produk"
35 39
                   :error="form.errors.number"
36
-                  v-model="form.number"
40
+                  v-model="number"
37 41
                 />
38 42
               </div>
39 43
 

+ 2
- 6
resources/js/pages/Products/Index.vue 查看文件

@@ -31,9 +31,9 @@ const onDelete = (data) => {
31 31
 </script>
32 32
 
33 33
 <template>
34
-  <ConfirmDialog />
35
-
36 34
   <DashboardLayout title="Daftar Produk">
35
+    <ConfirmDialog />
36
+
37 37
     <DataTable
38 38
       responsiveLayout="scroll"
39 39
       columnResizeMode="expand"
@@ -84,11 +84,7 @@ const onDelete = (data) => {
84 84
             v-tooltip.bottom="'Ubah Produk'"
85 85
             :href="route('products.edit', data.id)"
86 86
           />
87
-        </template>
88
-      </Column>
89 87
 
90
-      <Column>
91
-        <template #body="{ data }">
92 88
           <Button
93 89
             v-if="!data.isUsed"
94 90
             icon="pi pi-trash"

+ 1
- 12
resources/js/pages/Purchases/Components/ProductCreate.vue 查看文件

@@ -1,16 +1,8 @@
1 1
 <script setup>
2
-import { onMounted } from 'vue'
3
-import { Inertia } from '@inertiajs/inertia'
4 2
 import { usePage } from '@inertiajs/inertia-vue3'
5 3
 import { useForm } from '@/composables/useForm'
6 4
 import AppInputText from '@/components/AppInputText.vue'
7 5
 
8
-const getProductNumber = () => {
9
-  Inertia.reload({ only: ['productNumber'] })
10
-}
11
-
12
-onMounted(() => getProductNumber())
13
-
14 6
 const form = useForm({
15 7
   name: null,
16 8
   unit: null,
@@ -22,10 +14,7 @@ const onSubmit = () => {
22 14
       number: usePage().props.value.productNumber,
23 15
       ...data,
24 16
     }))
25
-    .post(route('products.store'), {
26
-      onSuccess: () => form.reset(),
27
-      onFinish: () => getProductNumber(),
28
-    })
17
+    .post(route('products.store'), { onSuccess: () => form.reset() })
29 18
 }
30 19
 </script>
31 20
 

+ 0
- 3
resources/js/pages/Purchases/Create.vue 查看文件

@@ -1,5 +1,4 @@
1 1
 <script setup>
2
-import { Inertia } from '@inertiajs/inertia'
3 2
 import { optionStatus } from './config'
4 3
 import { cartTable } from './config'
5 4
 import Details from './Components/Details.vue'
@@ -50,8 +49,6 @@ const onSubmit = () => {
50 49
         form.reset()
51 50
 
52 51
         onClearProduct()
53
-
54
-        Inertia.reload({ only: ['number'] })
55 52
       },
56 53
     })
57 54
 }

+ 2
- 6
resources/js/pages/Suppliers/Index.vue 查看文件

@@ -31,9 +31,9 @@ const onDelete = (data) => {
31 31
 </script>
32 32
 
33 33
 <template>
34
-  <ConfirmDialog />
35
-
36 34
   <DashboardLayout title="Daftar Supplier">
35
+    <ConfirmDialog />
36
+
37 37
     <DataTable
38 38
       responsiveLayout="scroll"
39 39
       columnResizeMode="expand"
@@ -84,11 +84,7 @@ const onDelete = (data) => {
84 84
             v-tooltip.bottom="'Ubah Supplier'"
85 85
             :href="route('suppliers.edit', data.id)"
86 86
           />
87
-        </template>
88
-      </Column>
89 87
 
90
-      <Column>
91
-        <template #body="{ data }">
92 88
           <Button
93 89
             v-if="!data.isUsed"
94 90
             icon="pi pi-trash"

+ 16
- 32
resources/js/pages/Users/Edit.vue 查看文件

@@ -83,39 +83,23 @@ const onSubmit = () => {
83 83
           </template>
84 84
 
85 85
           <template #footer>
86
-            <div class="grid">
87
-              <div
88
-                class="col-12 md:col-6 flex flex-column md:flex-row justify-content-center md:justify-content-start"
89
-              >
90
-                <Button
91
-                  v-if="$page.props.auth.user.role_id !== user.role_id"
92
-                  label="Hapus"
93
-                  icon="pi pi-trash"
94
-                  class="p-button-outlined p-button-danger"
95
-                  @click="onDeleteUser"
96
-                />
97
-              </div>
86
+            <div class="flex flex-column md:flex-row justify-content-end">
87
+              <AppButtonLink
88
+                v-if="user.role_id !== 1"
89
+                label="Blokir"
90
+                icon="pi pi-ban"
91
+                method="delete"
92
+                class="p-button-outlined p-button-danger md:mr-3 mb-3 md:mb-0"
93
+                :href="route('users.block', user.id)"
94
+              />
98 95
 
99
-              <div
100
-                class="col-12 md:col-6 flex flex-column md:flex-row justify-content-center md:justify-content-end"
101
-              >
102
-                <AppButtonLink
103
-                  v-if="user.role_id !== 1"
104
-                  label="Blokir"
105
-                  icon="pi pi-ban"
106
-                  method="delete"
107
-                  class="p-button-outlined p-button-danger md:mr-3 mb-3 md:mb-0"
108
-                  :href="route('users.block', user.id)"
109
-                />
110
-
111
-                <Button
112
-                  label="Simpan"
113
-                  class="p-button-outlined"
114
-                  icon="pi pi-check"
115
-                  :disabled="form.processing"
116
-                  @click="onSubmit"
117
-                />
118
-              </div>
96
+              <Button
97
+                label="Simpan"
98
+                class="p-button-outlined"
99
+                icon="pi pi-check"
100
+                :disabled="form.processing"
101
+                @click="onSubmit"
102
+              />
119 103
             </div>
120 104
           </template>
121 105
         </Card>

+ 25
- 0
resources/js/pages/Users/Index.vue 查看文件

@@ -28,6 +28,23 @@ const onResetPassword = (data) => {
28 28
     },
29 29
   })
30 30
 }
31
+
32
+const deleteConfirm = useConfirm()
33
+
34
+const onDelete = (data) => {
35
+  deleteConfirm.require({
36
+    message: `Yakin akan menghapus data (${data.name}) ?`,
37
+    header: 'Hapus User',
38
+    acceptLabel: 'Iya',
39
+    rejectLabel: 'Tidak',
40
+    accept: () => {
41
+      Inertia.delete(route('users.destroy', data.id))
42
+    },
43
+    reject: () => {
44
+      deleteConfirm.close()
45
+    },
46
+  })
47
+}
31 48
 </script>
32 49
 
33 50
 <template>
@@ -92,6 +109,14 @@ const onResetPassword = (data) => {
92 109
             v-tooltip.bottom="'Reset Kata Sandi'"
93 110
             @click="onResetPassword(data)"
94 111
           />
112
+
113
+          <Button
114
+            v-if="data.role_id !== 1"
115
+            icon="pi pi-trash"
116
+            class="p-button-icon-only p-button-rounded p-button-text"
117
+            v-tooltip.bottom="'Hapus User'"
118
+            @click="onDelete(data)"
119
+          />
95 120
         </template>
96 121
       </Column>
97 122
     </DataTable>