From 062c306cf450b98ad9e2ab3c51670ba72d52053c Mon Sep 17 00:00:00 2001 From: jorgep Date: Fri, 27 Dec 2024 12:21:21 +0100 Subject: [PATCH] feat: refs #7119 add VehicleBasicData --- src/components/FormModel.vue | 8 +- .../Route/Vehicle/Card/VehicleBasicData.vue | 81 +++++++++++++++++++ src/router/modules/vehicle.js | 21 ++--- 3 files changed, 98 insertions(+), 12 deletions(-) create mode 100644 src/pages/Route/Vehicle/Card/VehicleBasicData.vue diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue index c569f2553..9638d71d7 100644 --- a/src/components/FormModel.vue +++ b/src/components/FormModel.vue @@ -107,7 +107,7 @@ const isLoading = ref(false); const isResetting = ref(false); const hasChanges = ref(!$props.observeFormChanges); const originalData = ref({}); -const formData = computed(() => state.get(modelValue)); +const formData = computed(() => getValue(state.get(modelValue))); const defaultButtons = computed(() => ({ save: { dataCy: 'saveDefaultBtn', @@ -193,7 +193,7 @@ async function fetch() { let { data } = await axios.get($props.url, { params: { filter: JSON.stringify($props.filter) }, }); - if (Array.isArray(data)) data = data[0] ?? {}; + data = getValue(data); updateAndEmit('onFetch', data); } catch (e) { @@ -274,6 +274,10 @@ function trimData(data) { return data; } +function getValue(data) { + return Array.isArray(data) ? data[0] : data ?? {}; +} + defineExpose({ save, isLoading, diff --git a/src/pages/Route/Vehicle/Card/VehicleBasicData.vue b/src/pages/Route/Vehicle/Card/VehicleBasicData.vue new file mode 100644 index 000000000..a09dad8a9 --- /dev/null +++ b/src/pages/Route/Vehicle/Card/VehicleBasicData.vue @@ -0,0 +1,81 @@ + + diff --git a/src/router/modules/vehicle.js b/src/router/modules/vehicle.js index 750f9395d..ce4d8ad38 100644 --- a/src/router/modules/vehicle.js +++ b/src/router/modules/vehicle.js @@ -12,7 +12,7 @@ export default { redirect: { name: 'VehicleCard' }, menus: { main: [], - card: ['VehicleBasicData', 'VehicleLog'], + card: ['VehicleBasicData'], }, children: [ { @@ -31,15 +31,16 @@ export default { component: () => import('src/pages/Route/Vehicle/Card/VehicleSummary.vue'), }, - // { - // name: 'VehicleBasicData', - // path: 'basic-data', - // meta: { - // title: 'basicData', - // icon: 'vn:settings', - // }, - // component: () => import('pages/Route/Vehicle/Card/VehicleBasicData.vue'), - // }, + { + name: 'VehicleBasicData', + path: 'basic-data', + meta: { + title: 'basicData', + icon: 'vn:settings', + }, + component: () => + import('pages/Route/Vehicle/Card/VehicleBasicData.vue'), + }, ], }, ],