feat(history): add energy price history feature
This commit is contained in:
@@ -1,5 +1,23 @@
|
||||
<script setup lang="ts"></script>
|
||||
<script setup lang="ts">
|
||||
import { onMounted, ref, watch } from 'vue';
|
||||
import useHistoryViewModel from '../viewmodels/HistoryViewModel';
|
||||
import moment from 'moment';
|
||||
|
||||
const model = useHistoryViewModel();
|
||||
|
||||
const date = ref<Date>();
|
||||
|
||||
onMounted(() => {
|
||||
model.getHistoryData(moment().format('YYYY-MM-DD'));
|
||||
});
|
||||
|
||||
watch(date, (value) => {
|
||||
model.getHistoryData(moment(value).format('YYYY-MM-DD'));
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div></div>
|
||||
<div>
|
||||
<input type="date" v-model="date" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import { create } from 'axios';
|
||||
import { ref } from 'vue';
|
||||
import HistoryData = App.Features.History.Data.HistoryData;
|
||||
|
||||
export default function useHistoryViewModel() {
|
||||
const isLoading = ref<boolean>(false);
|
||||
const historyData = ref<HistoryData>();
|
||||
|
||||
function getHistoryData(date: string) {
|
||||
isLoading.value = true;
|
||||
|
||||
const client = create();
|
||||
client
|
||||
.get<HistoryData>('/api/history', {
|
||||
params: {
|
||||
date,
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
historyData.value = res.data;
|
||||
})
|
||||
.finally(() => (isLoading.value = false));
|
||||
}
|
||||
|
||||
return { isLoading, historyData, getHistoryData };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user