Bladeren bron

fix: transaction master, button style and other

Muhammad Iqbal Afandi 4 jaren geleden
bovenliggende
commit
91fea650d8

+ 9
- 3
app/Http/Controllers/TransactionController.php Bestand weergeven

121
                 ]);
121
                 ]);
122
             }
122
             }
123
 
123
 
124
+            $transaction->mutations()->create([
125
+                'type' => 1,
126
+                'amount' => $transaction->totalPrice(),
127
+                'outlet_id' => auth()->user()->outlet_id,
128
+            ]);
129
+
124
             DB::commit();
130
             DB::commit();
125
 
131
 
126
             $transaction = Transaction::latest()->first();
132
             $transaction = Transaction::latest()->first();
128
             $thermalPrinting = new ThermalPrinting($transaction);
134
             $thermalPrinting = new ThermalPrinting($transaction);
129
             $thermalPrinting->startPrinting(2);
135
             $thermalPrinting->startPrinting(2);
130
 
136
 
131
-            return to_route('transactions.index')->with('success', __('Transaksi berhasil ditambahkan'));
137
+            return to_route('transactions.index')->with('success', __('messages.success.store.transaction'));
132
         } catch (QueryException $e) {
138
         } catch (QueryException $e) {
133
-            return back()->with('error', __('Penambahan transaksi gagal'));
139
+            return back()->with('error', __('messages.error.store.transaction'));
134
 
140
 
135
             DB::rollBack();
141
             DB::rollBack();
136
         }
142
         }
196
     {
202
     {
197
         $transaction->update($request->validated());
203
         $transaction->update($request->validated());
198
 
204
 
199
-        return back()->with('success', __('Transaksi berhasil diperbaharui'));
205
+        return back()->with('success', __('messages.success.update.transaction_status'));
200
     }
206
     }
201
 
207
 
202
     /**
208
     /**

+ 1
- 1
app/Models/Customer.php Bestand weergeven

21
     protected function genderId(): Attribute
21
     protected function genderId(): Attribute
22
     {
22
     {
23
         return Attribute::make(
23
         return Attribute::make(
24
-            get:fn($value) => $value == 1 ? __('Perempuan') : __('Laki-laki'),
24
+            get:fn($value) => $value == 1 ? __('words.female') : __('words.male'),
25
         );
25
         );
26
     }
26
     }
27
 
27
 

+ 6
- 0
app/Models/Transaction.php Bestand weergeven

4
 
4
 
5
 use App\Models\Customer;
5
 use App\Models\Customer;
6
 use App\Models\Helpers\HasHelper;
6
 use App\Models\Helpers\HasHelper;
7
+use App\Models\Mutation;
7
 use App\Models\Outlet;
8
 use App\Models\Outlet;
8
 use App\Models\TransactionDetail;
9
 use App\Models\TransactionDetail;
9
 use App\Models\TransactionStatus;
10
 use App\Models\TransactionStatus;
65
         return $this->belongsTo(User::class);
66
         return $this->belongsTo(User::class);
66
     }
67
     }
67
 
68
 
69
+    public function mutations()
70
+    {
71
+        return $this->hasMany(Mutation::class);
72
+    }
73
+
68
     public function scopeFilter($query, array $filters)
74
     public function scopeFilter($query, array $filters)
69
     {
75
     {
70
         $query->when($filters['search'] ?? null, function ($query, $search) {
76
         $query->when($filters['search'] ?? null, function ($query, $search) {

+ 1
- 1
app/Models/User.php Bestand weergeven

59
     protected function status(): Attribute
59
     protected function status(): Attribute
60
     {
60
     {
61
         return Attribute::make(
61
         return Attribute::make(
62
-            get:fn($value) => $value ? __('Aktif') : __('Non Aktif'),
62
+            get:fn($value) => $value ? __('words.active') : __('words.not_active'),
63
         );
63
         );
64
     }
64
     }
65
 
65
 

+ 1
- 1
database/migrations/2022_02_22_031729_create_mutations_table.php Bestand weergeven

19
             $table->unsignedBigInteger('amount');
19
             $table->unsignedBigInteger('amount');
20
             $table->foreignId('outlet_id')->constrained();
20
             $table->foreignId('outlet_id')->constrained();
21
             $table->foreignId('transaction_id')->constrained();
21
             $table->foreignId('transaction_id')->constrained();
22
-            $table->foreignId('expense_id')->constrained();
22
+            $table->foreignId('expense_id')->nullable()->default(null)->constrained();
23
             $table->timestamps();
23
             $table->timestamps();
24
         });
24
         });
25
     }
25
     }

+ 1
- 1
designs/diagrams/database.puml Bestand weergeven

94
 }
94
 }
95
 
95
 
96
 Mutation }|--|| Expense
96
 Mutation }|--|| Expense
97
-Mutation }|--|| Transaction
98
 Mutation ||--|{ Outlet
97
 Mutation ||--|{ Outlet
98
+Transaction }|--|| Mutation
99
 Transaction }|--|| TransactionDetail
99
 Transaction }|--|| TransactionDetail
100
 Transaction ||--|{ TransactionStatus
100
 Transaction ||--|{ TransactionStatus
101
 Transaction ||--|{ Outlet
101
 Transaction ||--|{ Outlet

BIN
designs/diagrams/database/Database.png Bestand weergeven


+ 28
- 20
public/js/resources_js_pages_Access_vue.js Bestand weergeven

19
     expose();
19
     expose();
20
     var __returned__ = {
20
     var __returned__ = {
21
       Head: _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_0__.Head,
21
       Head: _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_0__.Head,
22
-      Link: _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_0__.Link,
23
-      useForm: _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_0__.useForm
22
+      Link: _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_0__.Link
24
     };
23
     };
25
     Object.defineProperty(__returned__, '__isScriptSetup', {
24
     Object.defineProperty(__returned__, '__isScriptSetup', {
26
       enumerable: false,
25
       enumerable: false,
44
 /* harmony export */ });
43
 /* harmony export */ });
45
 /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
44
 /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
46
 
45
 
47
-var _hoisted_1 = {
46
+
47
+var _hoisted_1 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("head", {
48
+  title: "Akses ditolak"
49
+}, null, -1
50
+/* HOISTED */
51
+);
52
+
53
+var _hoisted_2 = {
48
   "class": "surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden"
54
   "class": "surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden"
49
 };
55
 };
50
-var _hoisted_2 = {
56
+var _hoisted_3 = {
51
   "class": "grid justify-content-center p-2 lg:p-0",
57
   "class": "grid justify-content-center p-2 lg:p-0",
52
   style: {
58
   style: {
53
     "min-width": "80%"
59
     "min-width": "80%"
54
   }
60
   }
55
 };
61
 };
56
-var _hoisted_3 = {
62
+var _hoisted_4 = {
57
   "class": "col-12 xl:col-6",
63
   "class": "col-12 xl:col-6",
58
   style: {
64
   style: {
59
     "border-radius": "56px",
65
     "border-radius": "56px",
60
     "padding": "0.3rem",
66
     "padding": "0.3rem",
61
-    "background": "linear-gradient("
67
+    "background": "linear-gradient(180deg, rgba(247, 149, 48, 0.4) 10%, rgba(247, 149, 48, 0) 30%)"
62
   }
68
   }
63
 };
69
 };
64
-var _hoisted_4 = {
70
+var _hoisted_5 = {
65
   "class": "h-full w-full m-0 py-7 px-4",
71
   "class": "h-full w-full m-0 py-7 px-4",
66
   style: {
72
   style: {
67
     "border-radius": "53px",
73
     "border-radius": "53px",
68
-    "background": "linear-gradient("
74
+    "background": "linear-gradient(180deg, var(--surface-50) 38.9%, var(--surface-0))"
69
   }
75
   }
70
 };
76
 };
71
-var _hoisted_5 = {
77
+var _hoisted_6 = {
72
   "class": "grid flex flex-column align-items-center"
78
   "class": "grid flex flex-column align-items-center"
73
 };
79
 };
74
 
80
 
75
-var _hoisted_6 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
81
+var _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
76
   "class": "flex justify-content-center align-items-center bg-orange-500 border-circle",
82
   "class": "flex justify-content-center align-items-center bg-orange-500 border-circle",
77
   style: {
83
   style: {
78
     "width": "3.2rem",
84
     "width": "3.2rem",
84
 /* HOISTED */
90
 /* HOISTED */
85
 );
91
 );
86
 
92
 
87
-var _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h1", {
93
+var _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h1", {
88
   "class": "text-900 font-bold text-4xl lg:text-5xl mb-2"
94
   "class": "text-900 font-bold text-4xl lg:text-5xl mb-2"
89
-}, " Access Denied ", -1
95
+}, "Akses ditolak", -1
90
 /* HOISTED */
96
 /* HOISTED */
91
 );
97
 );
92
 
98
 
93
-var _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", {
99
+var _hoisted_9 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", {
94
   "class": "text-600 text-center"
100
   "class": "text-600 text-center"
95
-}, "You do not have the necesary permisions. Please contact admins.", -1
101
+}, "Kamu tidak memiliki izi kehalaman ini, silakan hubungan admin", -1
96
 /* HOISTED */
102
 /* HOISTED */
97
 );
103
 );
98
 
104
 
99
-var _hoisted_9 = {
105
+var _hoisted_10 = {
100
   "class": "col-12 mt-5 text-center"
106
   "class": "col-12 mt-5 text-center"
101
 };
107
 };
102
 
108
 
103
-var _hoisted_10 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("i", {
109
+var _hoisted_11 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("i", {
104
   "class": "pi pi-fw pi-arrow-left text-blue-500 mr-2",
110
   "class": "pi pi-fw pi-arrow-left text-blue-500 mr-2",
105
   style: {
111
   style: {
106
     "vertical-align": "center"
112
     "vertical-align": "center"
109
 /* HOISTED */
115
 /* HOISTED */
110
 );
116
 );
111
 
117
 
112
-var _hoisted_11 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)("Go to Dashboard");
118
+var _hoisted_12 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)("Kembali ke Dashboard");
113
 
119
 
114
 function render(_ctx, _cache, $props, $setup, $data, $options) {
120
 function render(_ctx, _cache, $props, $setup, $data, $options) {
115
-  return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(" <div class=\"col-12 mt-5 xl:mt-0 text-center\"> "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("   <img "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("     src=\"layout/images/logo-orange.svg\" "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("     alt=\"Sakai logo\" "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("     class=\"mb-5\" "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("     style=\"width: 81px; height: 60px\" "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("   /> "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(" </div> "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [_hoisted_6, _hoisted_7, _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(" <img "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("   src=\"layout/images/asset-access.svg\" "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("   alt=\"Access denied\" "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("   class=\"mt-5\" "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("   width=\"80%\" "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(" /> "), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_9, [_hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["Link"], {
121
+  return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [_hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_6, [_hoisted_7, _hoisted_8, _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_10, [_hoisted_11, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["Link"], {
116
     href: "/",
122
     href: "/",
117
     "class": "text-blue-500"
123
     "class": "text-blue-500"
118
   }, {
124
   }, {
119
     "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
125
     "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
120
-      return [_hoisted_11];
126
+      return [_hoisted_12];
121
     }),
127
     }),
122
     _: 1
128
     _: 1
123
     /* STABLE */
129
     /* STABLE */
124
 
130
 
125
-  })])])])])])]);
131
+  })])])])])])])], 64
132
+  /* STABLE_FRAGMENT */
133
+  );
126
 }
134
 }
127
 
135
 
128
 /***/ }),
136
 /***/ }),

+ 4
- 2
public/js/resources_js_pages_customer_Create_vue.js Bestand weergeven

1178
             modelValue: $setup.form.customer_number,
1178
             modelValue: $setup.form.customer_number,
1179
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
1179
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
1180
               return $setup.form.customer_number = $event;
1180
               return $setup.form.customer_number = $event;
1181
-            })
1181
+            }),
1182
+            placeholder: "id customer"
1182
           }, null, 8
1183
           }, null, 8
1183
           /* PROPS */
1184
           /* PROPS */
1184
           , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1185
           , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1228
           return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1229
           return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1229
             onClick: $setup.submit,
1230
             onClick: $setup.submit,
1230
             label: "Simpan",
1231
             label: "Simpan",
1231
-            icon: "pi pi-check"
1232
+            icon: "pi pi-check",
1233
+            "class": "p-button-text"
1232
           })])];
1234
           })])];
1233
         }),
1235
         }),
1234
         _: 1
1236
         _: 1

+ 4
- 2
public/js/resources_js_pages_customer_Edit_vue.js Bestand weergeven

1330
             modelValue: $setup.form.customer_number,
1330
             modelValue: $setup.form.customer_number,
1331
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
1331
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
1332
               return $setup.form.customer_number = $event;
1332
               return $setup.form.customer_number = $event;
1333
-            })
1333
+            }),
1334
+            placeholder: "id customer"
1334
           }, null, 8
1335
           }, null, 8
1335
           /* PROPS */
1336
           /* PROPS */
1336
           , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1337
           , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1397
           }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1398
           }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1398
             onClick: $setup.submit,
1399
             onClick: $setup.submit,
1399
             label: "Simpan",
1400
             label: "Simpan",
1400
-            icon: "pi pi-check"
1401
+            icon: "pi pi-check",
1402
+            "class": "p-button-text"
1401
           })])];
1403
           })])];
1402
         }),
1404
         }),
1403
         _: 1
1405
         _: 1

+ 2
- 1
public/js/resources_js_pages_customer_Index_vue.js Bestand weergeven

1016
           , ["modelValue"])])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1016
           , ["modelValue"])])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1017
             href: _ctx.route('customers.create'),
1017
             href: _ctx.route('customers.create'),
1018
             label: "Tambah Customer",
1018
             label: "Tambah Customer",
1019
-            icon: "pi pi-pencil"
1019
+            icon: "pi pi-pencil",
1020
+            "class": "p-button-text"
1020
           }, null, 8
1021
           }, null, 8
1021
           /* PROPS */
1022
           /* PROPS */
1022
           , ["href"])])])];
1023
           , ["href"])])])];

+ 2
- 1
public/js/resources_js_pages_laundry_Create_vue.js Bestand weergeven

1026
           return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1026
           return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1027
             onClick: $setup.submit,
1027
             onClick: $setup.submit,
1028
             label: "Simpan",
1028
             label: "Simpan",
1029
-            icon: "pi pi-check"
1029
+            icon: "pi pi-check",
1030
+            "class": "p-button-text"
1030
           })])];
1031
           })])];
1031
         }),
1032
         }),
1032
         _: 1
1033
         _: 1

+ 2
- 1
public/js/resources_js_pages_laundry_Edit_vue.js Bestand weergeven

1200
           }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1200
           }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1201
             onClick: $setup.submit,
1201
             onClick: $setup.submit,
1202
             label: "Simpan",
1202
             label: "Simpan",
1203
-            icon: "pi pi-check"
1203
+            icon: "pi pi-check",
1204
+            "class": "p-button-text"
1204
           })])];
1205
           })])];
1205
         }),
1206
         }),
1206
         _: 1
1207
         _: 1

+ 2
- 1
public/js/resources_js_pages_laundry_Index_vue.js Bestand weergeven

1016
           , ["modelValue"])])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1016
           , ["modelValue"])])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1017
             href: _ctx.route('laundries.create'),
1017
             href: _ctx.route('laundries.create'),
1018
             label: "Tambah Laundry",
1018
             label: "Tambah Laundry",
1019
-            icon: "pi pi-pencil"
1019
+            icon: "pi pi-pencil",
1020
+            "class": "p-button-text"
1020
           }, null, 8
1021
           }, null, 8
1021
           /* PROPS */
1022
           /* PROPS */
1022
           , ["href"])])])];
1023
           , ["href"])])])];

+ 4
- 2
public/js/resources_js_pages_outlet_Create_vue.js Bestand weergeven

1005
             modelValue: $setup.form.outlet_number,
1005
             modelValue: $setup.form.outlet_number,
1006
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
1006
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
1007
               return $setup.form.outlet_number = $event;
1007
               return $setup.form.outlet_number = $event;
1008
-            })
1008
+            }),
1009
+            placeholder: "id outlet"
1009
           }, null, 8
1010
           }, null, 8
1010
           /* PROPS */
1011
           /* PROPS */
1011
           , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1012
           , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1044
           return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1045
           return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1045
             onClick: $setup.submit,
1046
             onClick: $setup.submit,
1046
             label: "Simpan",
1047
             label: "Simpan",
1047
-            icon: "pi pi-check"
1048
+            icon: "pi pi-check",
1049
+            "class": "p-button-text"
1048
           })])];
1050
           })])];
1049
         }),
1051
         }),
1050
         _: 1
1052
         _: 1

+ 4
- 2
public/js/resources_js_pages_outlet_Edit_vue.js Bestand weergeven

1157
             modelValue: $setup.form.outlet_number,
1157
             modelValue: $setup.form.outlet_number,
1158
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
1158
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
1159
               return $setup.form.outlet_number = $event;
1159
               return $setup.form.outlet_number = $event;
1160
-            })
1160
+            }),
1161
+            placeholder: "id outlet"
1161
           }, null, 8
1162
           }, null, 8
1162
           /* PROPS */
1163
           /* PROPS */
1163
           , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1164
           , ["modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1213
           }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1214
           }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1214
             onClick: $setup.submit,
1215
             onClick: $setup.submit,
1215
             label: "Simpan",
1216
             label: "Simpan",
1216
-            icon: "pi pi-check"
1217
+            icon: "pi pi-check",
1218
+            "class": "p-button-text"
1217
           })])];
1219
           })])];
1218
         }),
1220
         }),
1219
         _: 1
1221
         _: 1

+ 2
- 1
public/js/resources_js_pages_outlet_Index_vue.js Bestand weergeven

1016
           , ["modelValue"])])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1016
           , ["modelValue"])])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
1017
             href: _ctx.route('outlets.create'),
1017
             href: _ctx.route('outlets.create'),
1018
             label: "Tambah Outlet",
1018
             label: "Tambah Outlet",
1019
-            icon: "pi pi-pencil"
1019
+            icon: "pi pi-pencil",
1020
+            "class": "p-button-text"
1020
           }, null, 8
1021
           }, null, 8
1021
           /* PROPS */
1022
           /* PROPS */
1022
           , ["href"])])])];
1023
           , ["href"])])])];

+ 1
- 1
public/js/vue.js Bestand weergeven

43465
 /******/ 		// This function allow to reference async chunks
43465
 /******/ 		// This function allow to reference async chunks
43466
 /******/ 		__webpack_require__.u = (chunkId) => {
43466
 /******/ 		__webpack_require__.u = (chunkId) => {
43467
 /******/ 			// return url for filenames based on template
43467
 /******/ 			// return url for filenames based on template
43468
-/******/ 			return "js/" + chunkId + ".js?id=" + {"resources_js_pages_Access_vue":"5c8a7a90d229c3f4","resources_js_pages_auth_ForgotPassword_vue":"9db08b886f3acf35","resources_js_pages_auth_Login_vue":"998ee232f83d0aa9","resources_js_pages_auth_ResetPassword_vue":"3191258dc6d8a4b7","resources_js_pages_auth_VerifyEmail_vue":"632c69e9e8e9c0af","resources_js_pages_customer_Create_vue":"49ac9c113ddac399","resources_js_pages_customer_Edit_vue":"5c8910eb625abf14","resources_js_pages_customer_Index_vue":"531ae28619c9501a","resources_js_pages_customer_TableHeader_js":"be6685f342bbd7c2","resources_js_pages_laundry_Create_vue":"24b222d472e458b9","resources_js_pages_laundry_Edit_vue":"e972d2d98c195ade","resources_js_pages_laundry_Index_vue":"a4df50af578d72ee","resources_js_pages_laundry_TableHeader_js":"494e577855bbcaf6","resources_js_pages_outlet_Create_vue":"916319d80a0821ca","resources_js_pages_outlet_Edit_vue":"a89fba3c72a8d6ef","resources_js_pages_outlet_Index_vue":"580d1ba885665300","resources_js_pages_outlet_TableHeader_js":"960433b5f8e003c1","resources_js_pages_transaction_Create_vue":"5390e70d3c3444be","resources_js_pages_transaction_Index_vue":"9fef47b26e89fec8","resources_js_pages_transaction_Show_vue":"961762e530a6b329","resources_js_pages_transaction_TableHeader_js":"8b928867ad174e10","resources_js_pages_user_Create_vue":"99b372fa4d1dac71","resources_js_pages_user_Edit_vue":"3412c1b357ee588a","resources_js_pages_user_Index_vue":"4823481d9c700d66","resources_js_pages_user_Show_vue":"c68356ef9b76e682","resources_js_pages_user_TableHeader_js":"c19ccf0fa7c2fb2b"}[chunkId] + "";
43468
+/******/ 			return "js/" + chunkId + ".js?id=" + {"resources_js_pages_Access_vue":"f8bbe21f8e264f5e","resources_js_pages_auth_ForgotPassword_vue":"9db08b886f3acf35","resources_js_pages_auth_Login_vue":"998ee232f83d0aa9","resources_js_pages_auth_ResetPassword_vue":"3191258dc6d8a4b7","resources_js_pages_auth_VerifyEmail_vue":"632c69e9e8e9c0af","resources_js_pages_customer_Create_vue":"6094488ff32b1fca","resources_js_pages_customer_Edit_vue":"5371c155150246a4","resources_js_pages_customer_Index_vue":"3e3b0deca1ce81ca","resources_js_pages_customer_TableHeader_js":"be6685f342bbd7c2","resources_js_pages_laundry_Create_vue":"f93b1958d8012978","resources_js_pages_laundry_Edit_vue":"5608f9c6d3dc1838","resources_js_pages_laundry_Index_vue":"099bc174221c4a43","resources_js_pages_laundry_TableHeader_js":"494e577855bbcaf6","resources_js_pages_outlet_Create_vue":"7e27e9f46cfffc59","resources_js_pages_outlet_Edit_vue":"025241a91a5d02cd","resources_js_pages_outlet_Index_vue":"9337745b50545546","resources_js_pages_outlet_TableHeader_js":"960433b5f8e003c1","resources_js_pages_transaction_Create_vue":"5390e70d3c3444be","resources_js_pages_transaction_Index_vue":"9fef47b26e89fec8","resources_js_pages_transaction_Show_vue":"961762e530a6b329","resources_js_pages_transaction_TableHeader_js":"8b928867ad174e10","resources_js_pages_user_Create_vue":"99b372fa4d1dac71","resources_js_pages_user_Edit_vue":"3412c1b357ee588a","resources_js_pages_user_Index_vue":"4823481d9c700d66","resources_js_pages_user_Show_vue":"c68356ef9b76e682","resources_js_pages_user_TableHeader_js":"c19ccf0fa7c2fb2b"}[chunkId] + "";
43469
 /******/ 		};
43469
 /******/ 		};
43470
 /******/ 	})();
43470
 /******/ 	})();
43471
 /******/ 	
43471
 /******/ 	

+ 12
- 57
resources/js/pages/Access.vue Bestand weergeven

1
 <script setup>
1
 <script setup>
2
-import { Head, Link, useForm } from "@inertiajs/inertia-vue3";
2
+import { Head, Link } from '@inertiajs/inertia-vue3'
3
 </script>
3
 </script>
4
+
4
 <template>
5
 <template>
5
-  <div
6
-    class="
7
-      surface-0
8
-      flex
9
-      align-items-center
10
-      justify-content-center
11
-      min-h-screen min-w-screen
12
-      overflow-hidden
13
-    "
14
-  >
6
+  <head title="Akses ditolak" />
7
+
8
+  <div class="surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
15
     <div class="grid justify-content-center p-2 lg:p-0" style="min-width: 80%">
9
     <div class="grid justify-content-center p-2 lg:p-0" style="min-width: 80%">
16
-      <!-- <div class="col-12 mt-5 xl:mt-0 text-center"> -->
17
-      <!--   <img -->
18
-      <!--     src="layout/images/logo-orange.svg" -->
19
-      <!--     alt="Sakai logo" -->
20
-      <!--     class="mb-5" -->
21
-      <!--     style="width: 81px; height: 60px" -->
22
-      <!--   /> -->
23
-      <!-- </div> -->
24
       <div
10
       <div
25
         class="col-12 xl:col-6"
11
         class="col-12 xl:col-6"
26
         style="
12
         style="
27
           border-radius: 56px;
13
           border-radius: 56px;
28
           padding: 0.3rem;
14
           padding: 0.3rem;
29
-          background: linear-gradient(
30
-            180deg,
31
-            rgba(247, 149, 48, 0.4) 10%,
32
-            rgba(247, 149, 48, 0) 30%
33
-          );
15
+          background: linear-gradient(180deg, rgba(247, 149, 48, 0.4) 10%, rgba(247, 149, 48, 0) 30%);
34
         "
16
         "
35
       >
17
       >
36
         <div
18
         <div
37
           class="h-full w-full m-0 py-7 px-4"
19
           class="h-full w-full m-0 py-7 px-4"
38
-          style="
39
-            border-radius: 53px;
40
-            background: linear-gradient(
41
-              180deg,
42
-              var(--surface-50) 38.9%,
43
-              var(--surface-0)
44
-            );
45
-          "
20
+          style="border-radius: 53px; background: linear-gradient(180deg, var(--surface-50) 38.9%, var(--surface-0))"
46
         >
21
         >
47
           <div class="grid flex flex-column align-items-center">
22
           <div class="grid flex flex-column align-items-center">
48
             <div
23
             <div
49
-              class="
50
-                flex
51
-                justify-content-center
52
-                align-items-center
53
-                bg-orange-500
54
-                border-circle
55
-              "
24
+              class="flex justify-content-center align-items-center bg-orange-500 border-circle"
56
               style="width: 3.2rem; height: 3.2rem"
25
               style="width: 3.2rem; height: 3.2rem"
57
             >
26
             >
58
               <i class="pi pi-fw pi-lock text-2xl text-50"></i>
27
               <i class="pi pi-fw pi-lock text-2xl text-50"></i>
59
             </div>
28
             </div>
60
-            <h1 class="text-900 font-bold text-4xl lg:text-5xl mb-2">
61
-              Access Denied
62
-            </h1>
63
-            <span class="text-600 text-center"
64
-              >You do not have the necesary permisions. Please contact
65
-              admins.</span
66
-            >
67
-            <!-- <img -->
68
-            <!--   src="layout/images/asset-access.svg" -->
69
-            <!--   alt="Access denied" -->
70
-            <!--   class="mt-5" -->
71
-            <!--   width="80%" -->
72
-            <!-- /> -->
29
+            <h1 class="text-900 font-bold text-4xl lg:text-5xl mb-2">Akses ditolak</h1>
30
+            <span class="text-600 text-center">Kamu tidak memiliki izi kehalaman ini, silakan hubungan admin</span>
73
             <div class="col-12 mt-5 text-center">
31
             <div class="col-12 mt-5 text-center">
74
-              <i
75
-                class="pi pi-fw pi-arrow-left text-blue-500 mr-2"
76
-                style="vertical-align: center"
77
-              ></i>
78
-              <Link href="/" class="text-blue-500">Go to Dashboard</Link>
32
+              <i class="pi pi-fw pi-arrow-left text-blue-500 mr-2" style="vertical-align: center"></i>
33
+              <Link href="/" class="text-blue-500">Kembali ke Dashboard</Link>
79
             </div>
34
             </div>
80
           </div>
35
           </div>
81
         </div>
36
         </div>

+ 7
- 2
resources/js/pages/customer/Create.vue Bestand weergeven

33
           <template #content>
33
           <template #content>
34
             <div class="grid">
34
             <div class="grid">
35
               <div class="col-12 md:col-6">
35
               <div class="col-12 md:col-6">
36
-                <AppInputText :disabled="true" label="Id Customer" v-model="form.customer_number" />
36
+                <AppInputText
37
+                  :disabled="true"
38
+                  label="Id Customer"
39
+                  v-model="form.customer_number"
40
+                  placeholder="id customer"
41
+                />
37
               </div>
42
               </div>
38
 
43
 
39
               <div class="col-12 md:col-6">
44
               <div class="col-12 md:col-6">
62
 
67
 
63
           <template #footer>
68
           <template #footer>
64
             <div class="flex justify-content-end">
69
             <div class="flex justify-content-end">
65
-              <AppButton @click="submit" label="Simpan" icon="pi pi-check" />
70
+              <AppButton @click="submit" label="Simpan" icon="pi pi-check" class="p-button-text" />
66
             </div>
71
             </div>
67
           </template>
72
           </template>
68
         </Card>
73
         </Card>

+ 7
- 2
resources/js/pages/customer/Edit.vue Bestand weergeven

46
           <template #content>
46
           <template #content>
47
             <div class="grid">
47
             <div class="grid">
48
               <div class="col-12 md:col-6">
48
               <div class="col-12 md:col-6">
49
-                <AppInputText :disabled="true" label="Id Customer" v-model="form.customer_number" />
49
+                <AppInputText
50
+                  :disabled="true"
51
+                  label="Id Customer"
52
+                  v-model="form.customer_number"
53
+                  placeholder="id customer"
54
+                />
50
               </div>
55
               </div>
51
 
56
 
52
               <div class="col-12 md:col-6">
57
               <div class="col-12 md:col-6">
86
 
91
 
87
               <Button label="Hapus" icon="pi pi-trash" class="p-button-text p-button-danger" @click="confirmDialog" />
92
               <Button label="Hapus" icon="pi pi-trash" class="p-button-text p-button-danger" @click="confirmDialog" />
88
 
93
 
89
-              <AppButton @click="submit" label="Simpan" icon="pi pi-check" />
94
+              <AppButton @click="submit" label="Simpan" icon="pi pi-check" class="p-button-text" />
90
             </div>
95
             </div>
91
           </template>
96
           </template>
92
         </Card>
97
         </Card>

+ 6
- 1
resources/js/pages/customer/Index.vue Bestand weergeven

49
           </div>
49
           </div>
50
 
50
 
51
           <div class="col-12 md:col-4 flex justify-content-end">
51
           <div class="col-12 md:col-4 flex justify-content-end">
52
-            <AppButton :href="route('customers.create')" label="Tambah Customer" icon="pi pi-pencil" />
52
+            <AppButton
53
+              :href="route('customers.create')"
54
+              label="Tambah Customer"
55
+              icon="pi pi-pencil"
56
+              class="p-button-text"
57
+            />
53
           </div>
58
           </div>
54
         </div>
59
         </div>
55
       </template>
60
       </template>

+ 1
- 1
resources/js/pages/laundry/Create.vue Bestand weergeven

40
 
40
 
41
           <template #footer>
41
           <template #footer>
42
             <div class="flex justify-content-end">
42
             <div class="flex justify-content-end">
43
-              <AppButton @click="submit" label="Simpan" icon="pi pi-check" />
43
+              <AppButton @click="submit" label="Simpan" icon="pi pi-check" class="p-button-text" />
44
             </div>
44
             </div>
45
           </template>
45
           </template>
46
         </Card>
46
         </Card>

+ 1
- 1
resources/js/pages/laundry/Edit.vue Bestand weergeven

68
 
68
 
69
               <Button label="Hapus" icon="pi pi-trash" class="p-button-text p-button-danger" @click="confirmDialog" />
69
               <Button label="Hapus" icon="pi pi-trash" class="p-button-text p-button-danger" @click="confirmDialog" />
70
 
70
 
71
-              <AppButton @click="submit" label="Simpan" icon="pi pi-check" />
71
+              <AppButton @click="submit" label="Simpan" icon="pi pi-check" class="p-button-text" />
72
             </div>
72
             </div>
73
           </template>
73
           </template>
74
         </Card>
74
         </Card>

+ 6
- 1
resources/js/pages/laundry/Index.vue Bestand weergeven

49
           </div>
49
           </div>
50
 
50
 
51
           <div class="col-12 md:col-4 flex justify-content-end">
51
           <div class="col-12 md:col-4 flex justify-content-end">
52
-            <AppButton :href="route('laundries.create')" label="Tambah Laundry" icon="pi pi-pencil" />
52
+            <AppButton
53
+              :href="route('laundries.create')"
54
+              label="Tambah Laundry"
55
+              icon="pi pi-pencil"
56
+              class="p-button-text"
57
+            />
53
           </div>
58
           </div>
54
         </div>
59
         </div>
55
       </template>
60
       </template>

+ 2
- 2
resources/js/pages/outlet/Create.vue Bestand weergeven

30
           <template #content>
30
           <template #content>
31
             <div class="grid">
31
             <div class="grid">
32
               <div class="col-12 md:col-6">
32
               <div class="col-12 md:col-6">
33
-                <AppInputText :disabled="true" label="Id Outlet" v-model="form.outlet_number" />
33
+                <AppInputText :disabled="true" label="Id Outlet" v-model="form.outlet_number" placeholder="id outlet" />
34
               </div>
34
               </div>
35
 
35
 
36
               <div class="col-12 md:col-6">
36
               <div class="col-12 md:col-6">
49
 
49
 
50
           <template #footer>
50
           <template #footer>
51
             <div class="flex justify-content-end">
51
             <div class="flex justify-content-end">
52
-              <AppButton @click="submit" label="Simpan" icon="pi pi-check" />
52
+              <AppButton @click="submit" label="Simpan" icon="pi pi-check" class="p-button-text" />
53
             </div>
53
             </div>
54
           </template>
54
           </template>
55
         </Card>
55
         </Card>

+ 2
- 2
resources/js/pages/outlet/Edit.vue Bestand weergeven

43
           <template #content>
43
           <template #content>
44
             <div class="grid">
44
             <div class="grid">
45
               <div class="col-12 md:col-6">
45
               <div class="col-12 md:col-6">
46
-                <AppInputText :disabled="true" label="Id Outlet" v-model="form.outlet_number" />
46
+                <AppInputText :disabled="true" label="Id Outlet" v-model="form.outlet_number" placeholder="id outlet" />
47
               </div>
47
               </div>
48
 
48
 
49
               <div class="col-12 md:col-6">
49
               <div class="col-12 md:col-6">
73
 
73
 
74
               <Button label="Hapus" icon="pi pi-trash" class="p-button-text p-button-danger" @click="confirmDialog" />
74
               <Button label="Hapus" icon="pi pi-trash" class="p-button-text p-button-danger" @click="confirmDialog" />
75
 
75
 
76
-              <AppButton @click="submit" label="Simpan" icon="pi pi-check" />
76
+              <AppButton @click="submit" label="Simpan" icon="pi pi-check" class="p-button-text" />
77
             </div>
77
             </div>
78
           </template>
78
           </template>
79
         </Card>
79
         </Card>

+ 6
- 1
resources/js/pages/outlet/Index.vue Bestand weergeven

49
           </div>
49
           </div>
50
 
50
 
51
           <div class="col-12 md:col-4 flex justify-content-end">
51
           <div class="col-12 md:col-4 flex justify-content-end">
52
-            <AppButton :href="route('outlets.create')" label="Tambah Outlet" icon="pi pi-pencil" />
52
+            <AppButton
53
+              :href="route('outlets.create')"
54
+              label="Tambah Outlet"
55
+              icon="pi pi-pencil"
56
+              class="p-button-text"
57
+            />
53
           </div>
58
           </div>
54
         </div>
59
         </div>
55
       </template>
60
       </template>