fix: date
This commit is contained in:
@@ -5,10 +5,10 @@ import type { Scheme } from '../types/scheme.type';
|
||||
import type { IService } from '../types/service.type';
|
||||
import { manyStructsView } from '../utils/structs/structs-view.util';
|
||||
import { type UnwrapRef } from 'vue';
|
||||
import { toDate, toTimestamp } from '../utils/date/converters.util';
|
||||
|
||||
const showCreate = defineModel<boolean>('show')
|
||||
const createItem = defineModel<T>('item')
|
||||
|
||||
const items = defineModel<UnwrapRef<T[]>>('items')
|
||||
|
||||
const props = defineProps<{
|
||||
@@ -45,7 +45,10 @@ const emits = defineEmits<{
|
||||
v-else-if="props.scheme[key]?.type?.primitive === 'number'" />
|
||||
<InputText class="w-[300px]" v-model:model-value="<string>createItem![key]"
|
||||
v-else-if="props.scheme[key].type?.primitive === 'string'" />
|
||||
<DatePicker class="w-[300px]" v-model:model-value="<Date>createItem![key]"
|
||||
<DatePicker class="w-[300px]" :default-value="toDate(createItem![key] as number)" @value-change="v => {
|
||||
createItem![key] = toTimestamp(v as Date) as any
|
||||
console.log(createItem![key])
|
||||
}" show-time
|
||||
v-else-if="props.scheme[key].type?.primitive === 'date'" />
|
||||
<Textarea class="w-[300px]" v-model="<string>createItem![key]"
|
||||
v-else-if="props.scheme[key].type?.primitive === 'multiple'" />
|
||||
@@ -76,12 +79,12 @@ const emits = defineEmits<{
|
||||
</div>
|
||||
<template #footer>
|
||||
<Button severity="success" @click="async () => {
|
||||
console.log(createItem)
|
||||
if (props.updateMode) {
|
||||
await props.service.update(createItem as T)
|
||||
await emits('onSaveUpdate', createItem as T)
|
||||
await emits('onSave', createItem as T)
|
||||
} else {
|
||||
if (createItem) createItem.Id = 0;
|
||||
await props.service.create(createItem as T)
|
||||
await emits('onSaveCreate', createItem as T)
|
||||
await emits('onSave', createItem as T)
|
||||
|
||||
@@ -7,6 +7,8 @@ import type { TableEmits } from "../types/table-emits.type";
|
||||
import FloatingButton from "../components/buttons/FloatingButton.vue";
|
||||
import type { IEntity } from "../types/entity.type";
|
||||
import DialogWindow from "./DialogWindow.vue";
|
||||
import { timestampToDate } from "../utils/date/converters.util";
|
||||
import { viewDate } from "../utils/date/view.util";
|
||||
|
||||
const props = defineProps<TableProps<T>>();
|
||||
|
||||
@@ -116,10 +118,10 @@ const updateSlotName = (key: any) => key + "Update";
|
||||
<template #body="{ data }">
|
||||
<p>
|
||||
{{
|
||||
manyStructsView(
|
||||
viewDate(manyStructsView(
|
||||
data[key],
|
||||
props.scheme[key]?.type?.nested?.field,
|
||||
)
|
||||
), scheme[key]?.type?.primitive)
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
@@ -131,9 +133,9 @@ const updateSlotName = (key: any) => key + "Update";
|
||||
<Button
|
||||
severity="secondary"
|
||||
icon="pi pi-pencil"
|
||||
@click="() => {
|
||||
emits('onUpdateOpen')
|
||||
emits('onOpen')
|
||||
@click="async () => {
|
||||
await emits('onUpdateOpen')
|
||||
await emits('onOpen')
|
||||
updateItem = data
|
||||
}"
|
||||
></Button>
|
||||
@@ -141,7 +143,7 @@ const updateSlotName = (key: any) => key + "Update";
|
||||
severity="danger"
|
||||
icon="pi pi-trash"
|
||||
@click="async () => {
|
||||
emits('onDelete', data)
|
||||
await emits('onDelete', data)
|
||||
await props.service.delete(data.Id)
|
||||
items = await props.service.readAll() as UnwrapRef<T[]>
|
||||
}"
|
||||
|
||||
Reference in New Issue
Block a user