{{t('loads.truckType')}}: {{ load.truck_type }}
{{t('loads.weight')}}: {{ load.weight }} KG
-{{t('loads.dateLoad')}}: {{ getDateMonthDay(load.est_loading_date) }}
+{{t('loads.dateLoad')}}: {{ getDayMonthYear(load.est_loading_date) }}
{{t('loads.product')}}: {{ load?.product?.name }}
{{t('loads.cost')}}: {{ load.actual_cost }}
-{{t('loads.dateDownload')}}: {{getDateMonthDay(load.est_unloading_date) }}
+{{t('loads.dateDownload')}}: {{getDayMonthYear(load.est_unloading_date) }}
{{t('global.segment')}}: {{ load.categories?.map((e) => e.name).join(', ') }}
diff --git a/src/components/CustomPopup.vue b/src/components/CustomPopup.vue index 421ff1f..2045cf1 100644 --- a/src/components/CustomPopup.vue +++ b/src/components/CustomPopup.vue @@ -67,7 +67,7 @@ background-color: #FFF; opacity: 1; border-radius: 13px; - padding: 20px 32px; + padding: 20px 20px; display: flex; flex-direction: column; /* flex-wrap: nowrap; */ diff --git a/src/composables/useCalendar.js b/src/composables/useCalendar.js new file mode 100644 index 0000000..c79a379 --- /dev/null +++ b/src/composables/useCalendar.js @@ -0,0 +1,25 @@ +import { ref } from "vue"; +import { getCalendar } from "../services/company"; + +export default function useCalendar() { + const loads = ref([]); + const loading = ref(false); + + const getCalendarDate = async(startDate, endDate) => { + loading.value = true; + const resp = await getCalendar(startDate, endDate); + if(resp === null) { + loading.value = false; + loads.value = []; + return; + } + loads.value = resp.data.data; + loading.value = false; + } + + return { + getCalendarDate, + loads, + loading + } +} \ No newline at end of file diff --git a/src/composables/userSearchLoads.js b/src/composables/userSearchLoads.js index d8c9fad..0b5ba26 100644 --- a/src/composables/userSearchLoads.js +++ b/src/composables/userSearchLoads.js @@ -16,7 +16,8 @@ export default function useSearchLoads() { filterStr = "?"+cleanfilterArr.join("&"); } try { - const endpoint = `/v1/loads/find${filterStr}&$sort%5BcreatedAt%5D=-1`; + const endpoint = `/v1/loads/find${filterStr}&$sort[createdAt]=-1`; + console.log(endpoint); const {data} = await api.get(endpoint); total.value = data.total; loads.value = data.data; diff --git a/src/helpers/date_formats.js b/src/helpers/date_formats.js index 5b04f04..d7b297c 100644 --- a/src/helpers/date_formats.js +++ b/src/helpers/date_formats.js @@ -28,18 +28,37 @@ const monthsAbr = [ "Dic" ]; +export const getDayMonthYear = (value) => { + if(value === null) return 'Fecha invalida'; + const year = value.substring(0, 4); + const month = value.substring(5, 7); + const day = value.substring(8, 10); + return `${day}/${month}/${year}`; +}; + export const getDateMonthDay = (value) => { - const date = new Date(value) - return date.toLocaleString(['en-US'], { - + console.log(value) + // Crear una fecha a partir del valor proporcionado + const date = new Date(value); + // Ajustar la fecha a la zona horaria de México manualmente + const utcOffset = -6; // Offset de UTC para la hora estándar de México + date.setHours(date.getHours() + utcOffset); + // Convertir la fecha a la hora de México + const options = { + timeZone: 'America/Mexico_City', month: 'short', day: '2-digit', year: 'numeric', - - }) -} + }; + + // Convertir la fecha a una cadena localizada con la zona horaria de México + const dateString = date.toLocaleString('es-ES', options); + + return dateString; +}; export const getDateMonthDayEs = (value, isFull = false) => { + console.log(value); const date = new Date(value) let month = ''; if(isFull) { @@ -66,4 +85,11 @@ export const getDateTime = (value, hour) => { const dateFormat = `${year}-${month}-${day} ${hours}:${minutes}`; return dateFormat; +} + +export const formatOnlyDate = (date) => { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); // Agregar cero si es necesario + const day = String(date.getDate()).padStart(2, '0'); // Agregar cero si es necesario + return `${year}/${month}/${day}`; } \ No newline at end of file diff --git a/src/i18n/en.js b/src/i18n/en.js index abc8f34..a03b80d 100644 --- a/src/i18n/en.js +++ b/src/i18n/en.js @@ -398,7 +398,9 @@ const en = { }, calendar: { title: 'Calendar', - helpText: 'Load status indicators' + helpText: 'Load status indicators', + general: 'General calendar', + my: 'My calendar' } }; diff --git a/src/i18n/es.js b/src/i18n/es.js index e7ccccd..7c7ab21 100644 --- a/src/i18n/es.js +++ b/src/i18n/es.js @@ -405,7 +405,9 @@ const es = { }, calendar: { title: 'Calendario', - helpText: 'Indicadores de estado de la carga' + helpText: 'Indicadores de estado de la carga', + general: 'Calendario general', + my: 'Mi calendario' }, }; diff --git a/src/layouts/AdminLayout.vue b/src/layouts/AdminLayout.vue index bfc72ab..c8da110 100644 --- a/src/layouts/AdminLayout.vue +++ b/src/layouts/AdminLayout.vue @@ -59,6 +59,7 @@ } .view { margin: 24px 0px; + padding: 8px 10px; } } \ No newline at end of file diff --git a/src/services/company.js b/src/services/company.js index 9d816fe..f6fc8d1 100644 --- a/src/services/company.js +++ b/src/services/company.js @@ -86,9 +86,8 @@ export const deleteUser = async(user_id) => { export const getBudgets = async(filter) => { try { - const endpoint = `v1/budgets/${filter}`; + const endpoint = `v1/budgets/find${filter}&sort[createdAt]=-1`; const {data} = await api.get(endpoint); - // console.log(data); return data; } catch (error) { console.log(error); @@ -99,8 +98,9 @@ export const getBudgets = async(filter) => { export const updateBudget = async(id, formData) => { try { - const endpoint = `/budgets/${id}`; + const endpoint = `v1/budgets/${id}`; const {data} = await api.patch(endpoint, formData); + console.log(data); return data; } catch (error) { console.log(error); @@ -110,7 +110,7 @@ export const updateBudget = async(id, formData) => { export const createBudget = async(formData) => { try { - const endpoint = `/budgets`; + const endpoint = `v1/budgets/new`; const {data} = await api.post(endpoint, formData); return data; } catch (error) { @@ -121,7 +121,7 @@ export const createBudget = async(formData) => { export const deleteBudget = async(id) => { try { - const endpoint = `/budgets/${id}`; + const endpoint = `v1/budgets/${id}`; const {data} = await api.delete(endpoint); return data; } catch (error) { @@ -146,7 +146,7 @@ export const createLocation = async(formData) => { try { const endpoint = `/v1/branches/new`; const {data} = await api.post(endpoint, formData); - return data; + return {data}; } catch (error) { console.log(error); return null; @@ -175,6 +175,24 @@ export const deleteLocation = async(id) => { } } +export const getCalendar = async(startDate, endDate) => { + try { + const endpoint = `/v1/loads/calendar?$sort[createdAt]=-1&date[lte]=${endDate}&date[gte]=${startDate}&elements=1000`; + console.log(endpoint); + const {data} = await api.get(endpoint); + return { + msg: "success", + data: data + }; + } catch (error) { + console.log(error); + return { + msg: "Algo salió mal, intente nás tarde", + data: null + }; + } +} + // export const editCompany = async(companyId, formData) => { // try { diff --git a/src/stores/company.js b/src/stores/company.js index d9d0d0e..7d1ba42 100644 --- a/src/stores/company.js +++ b/src/stores/company.js @@ -211,7 +211,7 @@ export const useCompanyStore = defineStore('company', () => { } } - const getBudgetsCompany = async(filterQuery, reload = false) => { + const getBudgetsCompany = async(filterQuery, reload = false) => { //here let filterArr = Object.values(filterQuery); let cleanfilterArr = filterArr.filter(n=>n); @@ -222,7 +222,7 @@ export const useCompanyStore = defineStore('company', () => { if(budgets.value.length <= 0 || reload === true) { try { - const data = await getBudgets(filterStr + '&$sort%5BcreatedAt%5D=-1'); + const data = await getBudgets(filterStr); console.log(data.total); if(data.total > 0) { budgets.value = data.data; diff --git a/src/views/CalculatorView.vue b/src/views/CalculatorView.vue index 1df1416..05a48db 100644 --- a/src/views/CalculatorView.vue +++ b/src/views/CalculatorView.vue @@ -17,7 +17,7 @@ const currentBudget = ref(null); const openModal = ref(false); const printOpen = ref(false); - const limit = 2; + const limit = 10; onMounted(() => { getInitData(); @@ -25,8 +25,8 @@ const getInitData = async() => { loading.value = true; - filterQuery.value.limit = '$limit=' + limit; - filterQuery.value.skip = "$skip=0" + filterQuery.value.limit = "elements=" + limit; + filterQuery.value.page = "page=" + 0; filterQuery.value.company = "company="+ localStorage.getItem('id'); await companyStore.getBudgetsCompany(filterQuery.value, false) loading.value = false; @@ -39,8 +39,8 @@ } watch(query, () => { - filterQuery.value.skip = "$skip="+ 0; - filterQuery.value.limit = "$limit="+ 100; + filterQuery.value.page = "page=" + 0; + filterQuery.value.limit = "elements=" + 100; if(query.value.length === 0){ clearRequest(); filterQuery.value.search = ""; @@ -59,9 +59,10 @@ const getBudgetsByPage = async(data) => { loading.value = true; - filterQuery.value.skip = "$skip="+ data.skip; + filterQuery.value.page = "page="+ data.page; companyStore.budgetsCurrentPage = data.page await getBudgetsWithFilters(filterQuery.value) + loading.value = false; } const clearFilter = () => { @@ -77,8 +78,8 @@ } const clearRequest = () => { - filterQuery.value.skip = "$skip="+ 0; - filterQuery.value.limit = "$limit="+ limit; + filterQuery.value.page = "page=" + 0; + filterQuery.value.limit = "elements="+ limit; companyStore.budgetsCurrentPage = 1; } @@ -137,8 +138,8 @@ />