parent
commit
8b75cf4e70

+ 0
- 8
app/Http/Controllers/DashboardController.php Vedi File

@@ -8,7 +8,6 @@ use App\Models\TopUp;
8 8
 use App\Models\TypeMember;
9 9
 use App\Models\TypeVehicle;
10 10
 use App\Services\MutationService;
11
-use App\Services\TopUpService;
12 11
 use Carbon\Carbon;
13 12
 use Illuminate\Http\Request;
14 13
 
@@ -71,13 +70,6 @@ class DashboardController extends Controller
71 70
                     'data' => (new MutationService)->statistic($mutation),
72 71
                 ],
73 72
             ],
74
-            'barHorizontalStatistics' => [
75
-                [
76
-                    'title' => __('words.top_up_rank'),
77
-                    'description' => __('words.top_up_number_rank', ['number' => 5]),
78
-                    'data' => (new TopUpService)->topUpRank($topUp),
79
-                ],
80
-            ],
81 73
         ]);
82 74
     }
83 75
 }

+ 4
- 4
app/Services/TopUpService.php Vedi File

@@ -6,13 +6,13 @@ use Illuminate\Database\Eloquent\Collection as EloquentCollection;
6 6
 
7 7
 class TopUpService extends CurrencyFormatService
8 8
 {
9
-    public function topUpRank(EloquentCollection $collections, int $take = 5)
9
+    public function topStatistic(EloquentCollection $collections, int $take = 5)
10 10
     {
11 11
         return $collections
12 12
             ->transform(fn($collects) => [[
13
-                'name' => $collects->first()->member->name,
14
-                'phone' => $collects->first()->member->phone,
15
-                'amount' => $collects->sum(fn($collect) => $collect->getRawOriginal('amount')),
13
+                'label1' => $collects->first()->member->name,
14
+                'label2' => $collects->first()->member->phone,
15
+                'data' => $collects->sum(fn($collect) => $collect->getRawOriginal('amount')),
16 16
             ]])
17 17
             ->sortByDesc('amount')
18 18
             ->take($take)

+ 153
- 17386
public/js/resources_js_pages_home_Index_vue.js
File diff suppressed because it is too large
Vedi File


+ 1
- 1
public/js/vue.js Vedi File

@@ -58388,7 +58388,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
58388 58388
 /******/ 		// This function allow to reference async chunks
58389 58389
 /******/ 		__webpack_require__.u = (chunkId) => {
58390 58390
 /******/ 			// return url for filenames based on template
58391
-/******/ 			return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"5b9f0529bda25a9b","resources_js_pages_auth_Login_vue":"61b9c9ae1ae9da32","resources_js_pages_auth_ResetPassword_vue":"b091193a1e114ce8","resources_js_pages_auth_VerifyEmail_vue":"d9853eae0a0235f2","resources_js_pages_expense_Create_vue":"310e7d98ea6b356a","resources_js_pages_expense_Index_vue":"bc7ec2fb070cf568","resources_js_pages_expense_Show_vue":"877a19596ee241b4","resources_js_pages_expense_TableHeader_js":"eed3f0613f167cfd","resources_js_pages_home_Index_vue":"4a180c0ce9438466","resources_js_pages_member_Create_vue":"838296974c6b4913","resources_js_pages_member_Edit_vue":"bc2c701451f6a653","resources_js_pages_member_Index_vue":"caaaba41d56c9f67","resources_js_pages_member_TableHeader_js":"51dbf053f7ddd45c","resources_js_pages_mutation_Report_vue":"6e9122d512297940","resources_js_pages_mutation_TableHeader_js":"7822e888aa3c52fc","resources_js_pages_topup_Create_vue":"958203b0038681b5","resources_js_pages_topup_Index_vue":"ccfe12c579a19810","resources_js_pages_topup_Show_vue":"4d5dea1719d4048e","resources_js_pages_topup_TableHeader_js":"601b7c0a855ce64e","resources_js_pages_typemember_Create_vue":"5bba3a97069a1889","resources_js_pages_typemember_Edit_vue":"8ab79ae9735ce84f","resources_js_pages_typemember_Index_vue":"37e8f6153840325d","resources_js_pages_typemember_TableHeader_js":"ac1d31a59f8d464e","resources_js_pages_typevehicle_Create_vue":"4799ba8b5384d9a3","resources_js_pages_typevehicle_Edit_vue":"1ec4ba3e7994e2bc","resources_js_pages_typevehicle_Index_vue":"69ab68f9968f9aff","resources_js_pages_typevehicle_TableHeader_js":"a40378918fbe74e1","resources_js_pages_user_Create_vue":"ed7565eb901e854c","resources_js_pages_user_Edit_vue":"4948ac292320388a","resources_js_pages_user_Index_vue":"552950b60f6dbb1b","resources_js_pages_user_Show_vue":"1d1d7702785d1470","resources_js_pages_user_TableHeader_js":"0d87fd422fe40491"}[chunkId] + "";
58391
+/******/ 			return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"5b9f0529bda25a9b","resources_js_pages_auth_Login_vue":"61b9c9ae1ae9da32","resources_js_pages_auth_ResetPassword_vue":"b091193a1e114ce8","resources_js_pages_auth_VerifyEmail_vue":"d9853eae0a0235f2","resources_js_pages_expense_Create_vue":"310e7d98ea6b356a","resources_js_pages_expense_Index_vue":"bc7ec2fb070cf568","resources_js_pages_expense_Show_vue":"877a19596ee241b4","resources_js_pages_expense_TableHeader_js":"eed3f0613f167cfd","resources_js_pages_home_Index_vue":"cdaa7918da506f4a","resources_js_pages_member_Create_vue":"838296974c6b4913","resources_js_pages_member_Edit_vue":"bc2c701451f6a653","resources_js_pages_member_Index_vue":"caaaba41d56c9f67","resources_js_pages_member_TableHeader_js":"51dbf053f7ddd45c","resources_js_pages_mutation_Report_vue":"6e9122d512297940","resources_js_pages_mutation_TableHeader_js":"7822e888aa3c52fc","resources_js_pages_topup_Create_vue":"958203b0038681b5","resources_js_pages_topup_Index_vue":"ccfe12c579a19810","resources_js_pages_topup_Show_vue":"4d5dea1719d4048e","resources_js_pages_topup_TableHeader_js":"601b7c0a855ce64e","resources_js_pages_typemember_Create_vue":"5bba3a97069a1889","resources_js_pages_typemember_Edit_vue":"8ab79ae9735ce84f","resources_js_pages_typemember_Index_vue":"37e8f6153840325d","resources_js_pages_typemember_TableHeader_js":"ac1d31a59f8d464e","resources_js_pages_typevehicle_Create_vue":"4799ba8b5384d9a3","resources_js_pages_typevehicle_Edit_vue":"1ec4ba3e7994e2bc","resources_js_pages_typevehicle_Index_vue":"69ab68f9968f9aff","resources_js_pages_typevehicle_TableHeader_js":"a40378918fbe74e1","resources_js_pages_user_Create_vue":"ed7565eb901e854c","resources_js_pages_user_Edit_vue":"4948ac292320388a","resources_js_pages_user_Index_vue":"552950b60f6dbb1b","resources_js_pages_user_Show_vue":"1d1d7702785d1470","resources_js_pages_user_TableHeader_js":"0d87fd422fe40491"}[chunkId] + "";
58392 58392
 /******/ 		};
58393 58393
 /******/ 	})();
58394 58394
 /******/ 	

+ 5
- 23
resources/js/pages/home/Index.vue Vedi File

@@ -1,6 +1,5 @@
1 1
 <script setup>
2 2
 import { Head } from '@inertiajs/inertia-vue3'
3
-import { orderBy } from 'lodash'
4 3
 import AppCardStatistic from '@/components/AppCardStatistic.vue'
5 4
 import AppLayout from '@/layouts/AppLayout.vue'
6 5
 
@@ -50,29 +49,12 @@ const barChartOption = {
50 49
 }
51 50
 
52 51
 const barHorizontalChart = (chartData) => {
53
-  // const data = {
54
-  //   datasets: [],
55
-  // }
56
-
57
-  // let id = 0
58
-  // for (const key in chartData) {
59
-  //   data.datasets.push({
60
-  //     label: key,
61
-  //     backgroundColor: colors[id],
62
-  //     data: chartData[key],
63
-  //   })
64
-
65
-  //   id++
66
-  // }
67
-
68
-  // return data
69
-
70 52
   const labels = []
71 53
   const data = []
72 54
 
73
-  for (const chartData of chartData) {
74
-    labels.push([chartData.phone, chartData.name])
75
-    data.push(chartData.amount)
55
+  for (const obj of chartData) {
56
+    labels.push([obj.label1, obj.label2])
57
+    data.push(obj.data)
76 58
   }
77 59
 
78 60
   return {
@@ -176,7 +158,7 @@ const pieChartOption = {
176 158
         </Card>
177 159
       </div>
178 160
 
179
-      <!-- <div v-for="pieStatistic in pieStatistics" class="col-12 md:col-6">
161
+      <div v-for="pieStatistic in pieStatistics" class="col-12 md:col-6">
180 162
         <Card>
181 163
           <template #title>
182 164
             <div class="flex flex-column">
@@ -194,7 +176,7 @@ const pieChartOption = {
194 176
             />
195 177
           </template>
196 178
         </Card>
197
-      </div> -->
179
+      </div>
198 180
     </div>
199 181
   </AppLayout>
200 182
 </template>