ソースを参照

fix: search and filter

コミット
ec4bb9f9aa

+ 1
- 1
app/Http/Controllers/ExpenseController.php ファイルの表示

25
     public function index()
25
     public function index()
26
     {
26
     {
27
         return inertia('expense/Index', [
27
         return inertia('expense/Index', [
28
-            'filters' => request()->all('startDate', 'endDate', 'outlet'),
28
+            'initialDateRange' => request()->collect(['startDate', 'endDate'])->flatten(),
29
             'expenses' => Expense::filter(request()->only('startDate', 'endDate', 'outlet'))
29
             'expenses' => Expense::filter(request()->only('startDate', 'endDate', 'outlet'))
30
                 ->latest()
30
                 ->latest()
31
                 ->paginate(10)
31
                 ->paginate(10)

+ 1
- 1
app/Http/Controllers/MutationController.php ファイルの表示

21
         $mutations = Mutation::filter(request()->only('startDate', 'endDate'));
21
         $mutations = Mutation::filter(request()->only('startDate', 'endDate'));
22
 
22
 
23
         return inertia('mutation/Report', [
23
         return inertia('mutation/Report', [
24
-            'initialDateRage' => request()->collect('startDate', 'endDate')->flatten(),
24
+            'initialDateRange' => request()->collect(['startDate', 'endDate'])->flatten(),
25
             'mutations' => Inertia::lazy(
25
             'mutations' => Inertia::lazy(
26
                 fn() => [
26
                 fn() => [
27
                     'totalIncome' => (new MutationService)->totalIncomeAsString($mutations->get()),
27
                     'totalIncome' => (new MutationService)->totalIncomeAsString($mutations->get()),

+ 1
- 1
app/Http/Controllers/TopUpController.php ファイルの表示

28
     {
28
     {
29
         return inertia('topup/Index', [
29
         return inertia('topup/Index', [
30
             'initialSearch' => request('search'),
30
             'initialSearch' => request('search'),
31
-            'initialDateRage' => request()->collect(['startDate', 'endDate'])->flatten(),
31
+            'initialDateRange' => request()->collect(['startDate', 'endDate'])->flatten(),
32
             'topUp' => TopUp::filter(request()->only('startDate', 'endDate', 'search'))
32
             'topUp' => TopUp::filter(request()->only('startDate', 'endDate', 'search'))
33
                 ->latest()
33
                 ->latest()
34
                 ->paginate(10)
34
                 ->paginate(10)

+ 11
- 8
public/js/resources_js_pages_expense_Index_vue.js ファイルの表示

332
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
332
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
333
   props: {
333
   props: {
334
     expenses: Object,
334
     expenses: Object,
335
-    initialDateRage: Array
335
+    initialDateRange: Array
336
   },
336
   },
337
   setup: function setup(__props, _ref) {
337
   setup: function setup(__props, _ref) {
338
     var expose = _ref.expose;
338
     var expose = _ref.expose;
339
     expose();
339
     expose();
340
     var props = __props;
340
     var props = __props;
341
 
341
 
342
-    var _useDateRangeFilter = (0,_components_useDateRangeFilter__WEBPACK_IMPORTED_MODULE_5__.useDateRangeFilter)(props.initialDateRage),
342
+    var _useDateRangeFilter = (0,_components_useDateRangeFilter__WEBPACK_IMPORTED_MODULE_5__.useDateRangeFilter)(props),
343
         dates = _useDateRangeFilter.dates,
343
         dates = _useDateRangeFilter.dates,
344
         startDate = _useDateRangeFilter.startDate,
344
         startDate = _useDateRangeFilter.startDate,
345
         endDate = _useDateRangeFilter.endDate;
345
         endDate = _useDateRangeFilter.endDate;
1088
 /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_1__);
1088
 /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_1__);
1089
 
1089
 
1090
 
1090
 
1091
-function useDateRangeFilter() {
1092
-  var initialDateRage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1091
+function useDateRangeFilter(props) {
1093
   var dates = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1092
   var dates = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1094
   var startDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1093
   var startDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1095
   var endDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1094
   var endDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1096
   (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
1095
   (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
1097
-    if (initialDateRage[0] || initialDateRage[1]) {
1098
-      if (initialDateRage[1]) {
1099
-        dates.push([new Date(initialDateRage[0]), new Date(initialDateRage[1])]);
1096
+    if (!props.initialDateRange) {
1097
+      return;
1098
+    }
1099
+
1100
+    if (props.initialDateRange[0] || props.initialDateRange[1]) {
1101
+      if (props.initialDateRange[1]) {
1102
+        dates.value = [new Date(props.initialDateRange[0]), new Date(props.initialDateRange[1])];
1100
       } else {
1103
       } else {
1101
-        dates.push([new Date(props.initialDateRage[1]), null]);
1104
+        dates.value = [new Date(props.props.initialDateRange[1]), null];
1102
       }
1105
       }
1103
     }
1106
     }
1104
   });
1107
   });

+ 3
- 3
public/js/resources_js_pages_member_Index_vue.js ファイルの表示

339
     expose();
339
     expose();
340
     var props = __props;
340
     var props = __props;
341
 
341
 
342
-    var _useSearchText = (0,_components_useSearchText__WEBPACK_IMPORTED_MODULE_5__.useSearchText)(props.initialSearch),
342
+    var _useSearchText = (0,_components_useSearchText__WEBPACK_IMPORTED_MODULE_5__.useSearchText)(props),
343
         search = _useSearchText.search;
343
         search = _useSearchText.search;
344
 
344
 
345
     (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(search, function () {
345
     (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(search, function () {
1058
 /* harmony export */ });
1058
 /* harmony export */ });
1059
 /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
1059
 /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
1060
 
1060
 
1061
-function useSearchText(initialSearch) {
1062
-  var search = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(initialSearch);
1061
+function useSearchText(props) {
1062
+  var search = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(props.initialSearch);
1063
   return {
1063
   return {
1064
     search: search
1064
     search: search
1065
   };
1065
   };

+ 11
- 8
public/js/resources_js_pages_mutation_Report_vue.js ファイルの表示

341
         }
341
         }
342
       }
342
       }
343
     },
343
     },
344
-    initialDateRage: Array
344
+    initialDateRange: Array
345
   },
345
   },
346
   setup: function setup(__props, _ref) {
346
   setup: function setup(__props, _ref) {
347
     var expose = _ref.expose;
347
     var expose = _ref.expose;
348
     expose();
348
     expose();
349
     var props = __props;
349
     var props = __props;
350
 
350
 
351
-    var _useDateRangeFilter = (0,_components_useDateRangeFilter__WEBPACK_IMPORTED_MODULE_5__.useDateRangeFilter)(props.initialDateRage),
351
+    var _useDateRangeFilter = (0,_components_useDateRangeFilter__WEBPACK_IMPORTED_MODULE_5__.useDateRangeFilter)(props),
352
         dates = _useDateRangeFilter.dates,
352
         dates = _useDateRangeFilter.dates,
353
         startDate = _useDateRangeFilter.startDate,
353
         startDate = _useDateRangeFilter.startDate,
354
         endDate = _useDateRangeFilter.endDate;
354
         endDate = _useDateRangeFilter.endDate;
1181
 /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_1__);
1181
 /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_1__);
1182
 
1182
 
1183
 
1183
 
1184
-function useDateRangeFilter() {
1185
-  var initialDateRage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1184
+function useDateRangeFilter(props) {
1186
   var dates = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1185
   var dates = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1187
   var startDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1186
   var startDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1188
   var endDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1187
   var endDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1189
   (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
1188
   (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
1190
-    if (initialDateRage[0] || initialDateRage[1]) {
1191
-      if (initialDateRage[1]) {
1192
-        dates.push([new Date(initialDateRage[0]), new Date(initialDateRage[1])]);
1189
+    if (!props.initialDateRange) {
1190
+      return;
1191
+    }
1192
+
1193
+    if (props.initialDateRange[0] || props.initialDateRange[1]) {
1194
+      if (props.initialDateRange[1]) {
1195
+        dates.value = [new Date(props.initialDateRange[0]), new Date(props.initialDateRange[1])];
1193
       } else {
1196
       } else {
1194
-        dates.push([new Date(props.initialDateRage[1]), null]);
1197
+        dates.value = [new Date(props.props.initialDateRange[1]), null];
1195
       }
1198
       }
1196
     }
1199
     }
1197
   });
1200
   });

+ 13
- 10
public/js/resources_js_pages_topup_Index_vue.js ファイルの表示

342
     expose();
342
     expose();
343
     var props = __props;
343
     var props = __props;
344
 
344
 
345
-    var _useSearchText = (0,_components_useSearchText__WEBPACK_IMPORTED_MODULE_5__.useSearchText)(props.initialSearch),
345
+    var _useSearchText = (0,_components_useSearchText__WEBPACK_IMPORTED_MODULE_5__.useSearchText)(props),
346
         search = _useSearchText.search;
346
         search = _useSearchText.search;
347
 
347
 
348
-    var _useDateRangeFilter = (0,_components_useDateRangeFilter__WEBPACK_IMPORTED_MODULE_6__.useDateRangeFilter)(props.initialDateRange),
348
+    var _useDateRangeFilter = (0,_components_useDateRangeFilter__WEBPACK_IMPORTED_MODULE_6__.useDateRangeFilter)(props),
349
         dates = _useDateRangeFilter.dates,
349
         dates = _useDateRangeFilter.dates,
350
         startDate = _useDateRangeFilter.startDate,
350
         startDate = _useDateRangeFilter.startDate,
351
         endDate = _useDateRangeFilter.endDate;
351
         endDate = _useDateRangeFilter.endDate;
1111
 /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_1__);
1111
 /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_1__);
1112
 
1112
 
1113
 
1113
 
1114
-function useDateRangeFilter() {
1115
-  var initialDateRage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1114
+function useDateRangeFilter(props) {
1116
   var dates = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1115
   var dates = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1117
   var startDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1116
   var startDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1118
   var endDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1117
   var endDate = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);
1119
   (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
1118
   (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(function () {
1120
-    if (initialDateRage[0] || initialDateRage[1]) {
1121
-      if (initialDateRage[1]) {
1122
-        dates.push([new Date(initialDateRage[0]), new Date(initialDateRage[1])]);
1119
+    if (!props.initialDateRange) {
1120
+      return;
1121
+    }
1122
+
1123
+    if (props.initialDateRange[0] || props.initialDateRange[1]) {
1124
+      if (props.initialDateRange[1]) {
1125
+        dates.value = [new Date(props.initialDateRange[0]), new Date(props.initialDateRange[1])];
1123
       } else {
1126
       } else {
1124
-        dates.push([new Date(props.initialDateRage[1]), null]);
1127
+        dates.value = [new Date(props.props.initialDateRange[1]), null];
1125
       }
1128
       }
1126
     }
1129
     }
1127
   });
1130
   });
1156
 /* harmony export */ });
1159
 /* harmony export */ });
1157
 /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
1160
 /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
1158
 
1161
 
1159
-function useSearchText(initialSearch) {
1160
-  var search = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(initialSearch);
1162
+function useSearchText(props) {
1163
+  var search = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(props.initialSearch);
1161
   return {
1164
   return {
1162
     search: search
1165
     search: search
1163
   };
1166
   };

+ 3
- 3
public/js/resources_js_pages_user_Index_vue.js ファイルの表示

339
     expose();
339
     expose();
340
     var props = __props;
340
     var props = __props;
341
 
341
 
342
-    var _useSearchText = (0,_components_useSearchText__WEBPACK_IMPORTED_MODULE_5__.useSearchText)(props.initialSearch),
342
+    var _useSearchText = (0,_components_useSearchText__WEBPACK_IMPORTED_MODULE_5__.useSearchText)(props),
343
         search = _useSearchText.search;
343
         search = _useSearchText.search;
344
 
344
 
345
     (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(search, function () {
345
     (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(search, function () {
1058
 /* harmony export */ });
1058
 /* harmony export */ });
1059
 /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
1059
 /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
1060
 
1060
 
1061
-function useSearchText(initialSearch) {
1062
-  var search = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(initialSearch);
1061
+function useSearchText(props) {
1062
+  var search = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(props.initialSearch);
1063
   return {
1063
   return {
1064
     search: search
1064
     search: search
1065
   };
1065
   };

+ 1
- 1
public/js/vue.js ファイルの表示

58466
 /******/ 		// This function allow to reference async chunks
58466
 /******/ 		// This function allow to reference async chunks
58467
 /******/ 		__webpack_require__.u = (chunkId) => {
58467
 /******/ 		__webpack_require__.u = (chunkId) => {
58468
 /******/ 			// return url for filenames based on template
58468
 /******/ 			// return url for filenames based on template
58469
-/******/ 			return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"85a497d97d470da0","resources_js_pages_auth_Login_vue":"b69ff437d119c92b","resources_js_pages_auth_ResetPassword_vue":"9bc29d6465cc0c53","resources_js_pages_auth_VerifyEmail_vue":"f88499b46d5f110c","resources_js_pages_expense_Create_vue":"6b317317dd1facc1","resources_js_pages_expense_Index_vue":"f327c35b5ad8e14e","resources_js_pages_expense_Show_vue":"3733d151f20dd403","resources_js_pages_expense_tableHeader_js":"5b2c3a80fb697fff","resources_js_pages_home_Index_vue":"d37b07ec9a0de76b","resources_js_pages_member_Create_vue":"c8a23ed2db3f0fe9","resources_js_pages_member_Edit_vue":"a68321144f3d34d1","resources_js_pages_member_Index_vue":"40ca1ddbbabb9e2f","resources_js_pages_member_tableHeader_js":"04203ba8e978ad6d","resources_js_pages_member_useVehicle_js":"8edc972eb134efdf","resources_js_pages_mutation_Report_vue":"90f53c276fcf49e9","resources_js_pages_mutation_tableHeader_js":"2c25ede9c3d1ff83","resources_js_pages_parkingfee_Create_vue":"3b5d007865a3175b","resources_js_pages_topup_Create_vue":"32cf0789dbb7fa35","resources_js_pages_topup_Index_vue":"c1090dc1adf89b8a","resources_js_pages_topup_Show_vue":"6fc93ef73b921bef","resources_js_pages_topup_tableHeader_js":"03d60ae1a3c0ef0b","resources_js_pages_typemember_Create_vue":"4156d4c5d6d84320","resources_js_pages_typemember_Edit_vue":"837a31dd27cce269","resources_js_pages_typemember_Index_vue":"636b8e7509320ec1","resources_js_pages_typemember_tableHeader_js":"02f8a6c57093a7fe","resources_js_pages_typemember_useVehicle_js":"9bcdb75c62376835","resources_js_pages_typevehicle_Create_vue":"473e9a1484d5a361","resources_js_pages_typevehicle_Edit_vue":"771320873aaeb34e","resources_js_pages_typevehicle_Index_vue":"3f5b8f7cd6431c9c","resources_js_pages_typevehicle_tableHeader_js":"9616b18c4a750c3f","resources_js_pages_user_Create_vue":"c0966eacbaebe9f3","resources_js_pages_user_Edit_vue":"d72a87bfe38c706a","resources_js_pages_user_Index_vue":"b105362e3311d405","resources_js_pages_user_Show_vue":"9fd2ebf7d82aac77","resources_js_pages_user_tableHeader_js":"21d48ec8ebf81ea7"}[chunkId] + "";
58469
+/******/ 			return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"85a497d97d470da0","resources_js_pages_auth_Login_vue":"b69ff437d119c92b","resources_js_pages_auth_ResetPassword_vue":"9bc29d6465cc0c53","resources_js_pages_auth_VerifyEmail_vue":"f88499b46d5f110c","resources_js_pages_expense_Create_vue":"6b317317dd1facc1","resources_js_pages_expense_Index_vue":"f68ad02de7919d7f","resources_js_pages_expense_Show_vue":"3733d151f20dd403","resources_js_pages_expense_tableHeader_js":"5b2c3a80fb697fff","resources_js_pages_home_Index_vue":"d37b07ec9a0de76b","resources_js_pages_member_Create_vue":"c8a23ed2db3f0fe9","resources_js_pages_member_Edit_vue":"a68321144f3d34d1","resources_js_pages_member_Index_vue":"8a62ba4f5d8b877c","resources_js_pages_member_tableHeader_js":"04203ba8e978ad6d","resources_js_pages_member_useVehicle_js":"8edc972eb134efdf","resources_js_pages_mutation_Report_vue":"719b40705807e96b","resources_js_pages_mutation_tableHeader_js":"2c25ede9c3d1ff83","resources_js_pages_parkingfee_Create_vue":"3b5d007865a3175b","resources_js_pages_topup_Create_vue":"32cf0789dbb7fa35","resources_js_pages_topup_Index_vue":"a739a8f215e72422","resources_js_pages_topup_Show_vue":"6fc93ef73b921bef","resources_js_pages_topup_tableHeader_js":"03d60ae1a3c0ef0b","resources_js_pages_typemember_Create_vue":"4156d4c5d6d84320","resources_js_pages_typemember_Edit_vue":"837a31dd27cce269","resources_js_pages_typemember_Index_vue":"636b8e7509320ec1","resources_js_pages_typemember_tableHeader_js":"02f8a6c57093a7fe","resources_js_pages_typemember_useVehicle_js":"9bcdb75c62376835","resources_js_pages_typevehicle_Create_vue":"473e9a1484d5a361","resources_js_pages_typevehicle_Edit_vue":"771320873aaeb34e","resources_js_pages_typevehicle_Index_vue":"3f5b8f7cd6431c9c","resources_js_pages_typevehicle_tableHeader_js":"9616b18c4a750c3f","resources_js_pages_user_Create_vue":"c0966eacbaebe9f3","resources_js_pages_user_Edit_vue":"d72a87bfe38c706a","resources_js_pages_user_Index_vue":"5f3af1ecccab0573","resources_js_pages_user_Show_vue":"9fd2ebf7d82aac77","resources_js_pages_user_tableHeader_js":"21d48ec8ebf81ea7"}[chunkId] + "";
58470
 /******/ 		};
58470
 /******/ 		};
58471
 /******/ 	})();
58471
 /******/ 	})();
58472
 /******/ 	
58472
 /******/ 	

+ 13
- 5
resources/js/components/useDateRangeFilter.js ファイルの表示

1
 import { onMounted, watch, ref } from 'vue'
1
 import { onMounted, watch, ref } from 'vue'
2
 import dayjs from 'dayjs'
2
 import dayjs from 'dayjs'
3
 
3
 
4
-export function useDateRangeFilter(initialDateRage = []) {
4
+export function useDateRangeFilter(props) {
5
   const dates = ref(null)
5
   const dates = ref(null)
6
+
6
   const startDate = ref(null)
7
   const startDate = ref(null)
8
+
7
   const endDate = ref(null)
9
   const endDate = ref(null)
8
 
10
 
9
   onMounted(() => {
11
   onMounted(() => {
10
-    if (initialDateRage[0] || initialDateRage[1]) {
11
-      if (initialDateRage[1]) {
12
-        dates.push([new Date(initialDateRage[0]), new Date(initialDateRage[1])])
12
+    if (!props.initialDateRange) {
13
+      return
14
+    }
15
+
16
+    if (props.initialDateRange[0] || props.initialDateRange[1]) {
17
+      if (props.initialDateRange[1]) {
18
+        dates.value = [new Date(props.initialDateRange[0]), new Date(props.initialDateRange[1])]
13
       } else {
19
       } else {
14
-        dates.push([new Date(props.initialDateRage[1]), null])
20
+        dates.value = [new Date(props.props.initialDateRange[1]), null]
15
       }
21
       }
16
     }
22
     }
17
   })
23
   })
19
   watch(dates, () => {
25
   watch(dates, () => {
20
     if (dates.value[1]) {
26
     if (dates.value[1]) {
21
       startDate.value = dayjs(dates.value[0]).format('YYYY-MM-DD')
27
       startDate.value = dayjs(dates.value[0]).format('YYYY-MM-DD')
28
+
22
       endDate.value = dayjs(dates.value[1]).format('YYYY-MM-DD')
29
       endDate.value = dayjs(dates.value[1]).format('YYYY-MM-DD')
23
     } else if (dates.value[0]) {
30
     } else if (dates.value[0]) {
24
       startDate.value = dayjs(dates.value[0]).format('YYYY-MM-DD')
31
       startDate.value = dayjs(dates.value[0]).format('YYYY-MM-DD')
32
+
25
       endDate.value = null
33
       endDate.value = null
26
     }
34
     }
27
   })
35
   })

+ 2
- 2
resources/js/components/useSearchText.js ファイルの表示

1
 import { ref } from 'vue'
1
 import { ref } from 'vue'
2
 
2
 
3
-export function useSearchText(initialSearch) {
4
-  const search = ref(initialSearch)
3
+export function useSearchText(props) {
4
+  const search = ref(props.initialSearch)
5
 
5
 
6
   return {
6
   return {
7
     search,
7
     search,

+ 2
- 2
resources/js/pages/expense/Index.vue ファイルの表示

11
 
11
 
12
 const props = defineProps({
12
 const props = defineProps({
13
   expenses: Object,
13
   expenses: Object,
14
-  initialDateRage: Array,
14
+  initialDateRange: Array,
15
 })
15
 })
16
 
16
 
17
-const { dates, startDate, endDate } = useDateRangeFilter(props.initialDateRage)
17
+const { dates, startDate, endDate } = useDateRangeFilter(props)
18
 
18
 
19
 watch(dates, () => {
19
 watch(dates, () => {
20
   Inertia.get(
20
   Inertia.get(

+ 1
- 1
resources/js/pages/member/Index.vue ファイルの表示

14
   initialSearch: String,
14
   initialSearch: String,
15
 })
15
 })
16
 
16
 
17
-const { search } = useSearchText(props.initialSearch)
17
+const { search } = useSearchText(props)
18
 
18
 
19
 watch(search, () => {
19
 watch(search, () => {
20
   Inertia.get('/members', pickBy({ search: search.value }), { preserveState: true })
20
   Inertia.get('/members', pickBy({ search: search.value }), { preserveState: true })

+ 2
- 2
resources/js/pages/mutation/Report.vue ファイルの表示

20
       },
20
       },
21
     },
21
     },
22
   },
22
   },
23
-  initialDateRage: Array,
23
+  initialDateRange: Array,
24
 })
24
 })
25
 
25
 
26
-const { dates, startDate, endDate } = useDateRangeFilter(props.initialDateRage)
26
+const { dates, startDate, endDate } = useDateRangeFilter(props)
27
 
27
 
28
 watch(dates, () => {
28
 watch(dates, () => {
29
   Inertia.reload({
29
   Inertia.reload({

+ 3
- 2
resources/js/pages/topup/Index.vue ファイルの表示

16
   initialDateRange: Array,
16
   initialDateRange: Array,
17
 })
17
 })
18
 
18
 
19
-const { search } = useSearchText(props.initialSearch)
20
-const { dates, startDate, endDate } = useDateRangeFilter(props.initialDateRange)
19
+const { search } = useSearchText(props)
20
+
21
+const { dates, startDate, endDate } = useDateRangeFilter(props)
21
 
22
 
22
 watch([dates, search], () => {
23
 watch([dates, search], () => {
23
   Inertia.get(
24
   Inertia.get(

+ 1
- 1
resources/js/pages/user/Index.vue ファイルの表示

14
   initialSearch: String,
14
   initialSearch: String,
15
 })
15
 })
16
 
16
 
17
-const { search } = useSearchText(props.initialSearch)
17
+const { search } = useSearchText(props)
18
 
18
 
19
 watch(search, () => {
19
 watch(search, () => {
20
   Inertia.get('/users', pickBy({ search: search.value }), { preserveState: true })
20
   Inertia.get('/users', pickBy({ search: search.value }), { preserveState: true })