diff --git a/src/components/common/VnCard.vue b/src/components/common/VnCard.vue
index 17fa74317..b211a3c7f 100644
--- a/src/components/common/VnCard.vue
+++ b/src/components/common/VnCard.vue
@@ -23,6 +23,7 @@ const props = defineProps({
searchCustomRouteRedirect: { type: String, default: undefined },
searchRedirect: { type: Boolean, default: true },
searchMakeFetch: { type: Boolean, default: true },
+ searchUrlQuery: { type: String, default: undefined },
});
const stateStore = useStateStore();
@@ -70,6 +71,7 @@ if (props.baseUrl) {
:url="props.searchUrl"
:label="props.searchbarLabel"
:info="props.searchbarInfo"
+ :search-url="props.searchUrlQuery"
:custom-route-redirect-name="searchCustomRouteRedirect"
:redirect="searchRedirect"
/>
diff --git a/src/components/common/VnInputTime.vue b/src/components/common/VnInputTime.vue
index a59f0e9e8..7ee93de19 100644
--- a/src/components/common/VnInputTime.vue
+++ b/src/components/common/VnInputTime.vue
@@ -50,7 +50,7 @@ const formattedTime = computed({
}
if (!props.timeOnly) {
const [hh, mm] = time.split(':');
- const date = model.value ?? Date.vnNew();
+ const date = new Date(model.value ? model.value : null);
date.setHours(hh, mm, 0);
time = date?.toISOString();
}
@@ -62,7 +62,7 @@ const formattedTime = computed({
function dateToTime(newDate) {
return date.formatDate(new Date(newDate), dateFormat);
}
-const timeField = ref();
+
watch(
() => model.value,
(val) => (formattedTime.value = val),
@@ -153,4 +153,3 @@ watch(
es:
Open time: Abrir tiempo
-, nextTick
diff --git a/src/components/ui/VnSearchbar.vue b/src/components/ui/VnSearchbar.vue
index 0c7a8a3f6..2053efd62 100644
--- a/src/components/ui/VnSearchbar.vue
+++ b/src/components/ui/VnSearchbar.vue
@@ -67,6 +67,10 @@ const props = defineProps({
type: Boolean,
default: true,
},
+ searchUrl: {
+ type: String,
+ default: 'params',
+ },
});
const searchText = ref('');
diff --git a/src/composables/useArrayData.js b/src/composables/useArrayData.js
index 50d620a34..651bcefb0 100644
--- a/src/composables/useArrayData.js
+++ b/src/composables/useArrayData.js
@@ -28,7 +28,7 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
delete params.filter;
store.userParams = { ...params, ...store.userParams };
store.userFilter = { ...filter, ...store.userFilter };
- if (filter.order) store.order = filter.order;
+ if (filter?.order) store.order = filter.order;
}
});
diff --git a/src/pages/InvoiceOut/Card/InvoiceOutDescriptor.vue b/src/pages/InvoiceOut/Card/InvoiceOutDescriptor.vue
index bd52e5b02..5e4be407e 100644
--- a/src/pages/InvoiceOut/Card/InvoiceOutDescriptor.vue
+++ b/src/pages/InvoiceOut/Card/InvoiceOutDescriptor.vue
@@ -100,7 +100,7 @@ const setData = (entity) => (data.value = useCardDescription(entity.ref, entity.
color="primary"
:to="{
name: 'TicketList',
- query: { q: ticketFilter(entity) },
+ query: { table: ticketFilter(entity) },
}"
>
{{ t('invoiceOut.card.ticketList') }}
diff --git a/src/pages/InvoiceOut/InvoiceOutList.vue b/src/pages/InvoiceOut/InvoiceOutList.vue
index 5a611d388..7e4622560 100644
--- a/src/pages/InvoiceOut/InvoiceOutList.vue
+++ b/src/pages/InvoiceOut/InvoiceOutList.vue
@@ -13,6 +13,7 @@ import { toCurrency, toDate } from 'src/filters/index';
import { useStateStore } from 'stores/useStateStore';
import { QBtn } from 'quasar';
import { watchEffect } from 'vue';
+import CustomerDescriptorProxy from '../Customer/Card/CustomerDescriptorProxy.vue';
const { t } = useI18n();
const stateStore = useStateStore();
@@ -214,6 +215,12 @@ watchEffect(selectedRows);
selection: 'multiple',
}"
>
+
+
+ {{ row.clientSocialName }}
+
+
+
{
:is-editable="false"
:use-model="true"
>
+
+
+ {{ row.clientId }}
+
+
+
+
+
+ {{ row.ticketFk }}
+
+
+
+
+
+ {{ row.workerName }}
+
+
+
diff --git a/src/pages/Route/Card/RouteFilter.vue b/src/pages/Route/Card/RouteFilter.vue
index f0215370f..24b155389 100644
--- a/src/pages/Route/Card/RouteFilter.vue
+++ b/src/pages/Route/Card/RouteFilter.vue
@@ -1,7 +1,5 @@
- (workerList = data)"
- auto-load
- />
- (agencyList = data)"
- auto-load
- />
- (vehicleList = data)"
- auto-load
- />
- (warehouseList = data)" auto-load />
-
+
@@ -91,19 +57,17 @@ const warehouseList = ref([]);
-
+
@@ -147,19 +111,17 @@ const warehouseList = ref([]);
-
+
@@ -170,19 +132,16 @@ const warehouseList = ref([]);
-
+
diff --git a/src/pages/Route/Card/RouteForm.vue b/src/pages/Route/Card/RouteForm.vue
index db7dede1e..b80b4536d 100644
--- a/src/pages/Route/Card/RouteForm.vue
+++ b/src/pages/Route/Card/RouteForm.vue
@@ -26,9 +26,6 @@ const defaultInitialData = {
isOk: false,
};
const maxDistance = ref();
-const workerList = ref([]);
-const agencyList = ref([]);
-const vehicleList = ref([]);
const routeFilter = {
fields: [
@@ -79,30 +76,6 @@ const onSave = (data, response) => {
- (workerList = data)"
- auto-load
- />
- (agencyList = data)"
- auto-load
- />
- (vehicleList = data)"
- auto-load
- />
(maxDistance = kmMax)"
@@ -124,12 +97,10 @@ const onSave = (data, response) => {
@@ -146,12 +117,10 @@ const onSave = (data, response) => {
@@ -159,12 +128,10 @@ const onSave = (data, response) => {
@@ -178,7 +145,7 @@ const onSave = (data, response) => {
:rules="[
(val) =>
val < maxDistance ||
- t('Distance must be lesser than 4000'),
+ t('Distance must be lesser than', { maxDistance }),
]"
clearable
type="number"
@@ -227,5 +194,7 @@ es:
Description: DescripciĆ³n
Is served: Se ha servido
Created: Creado
- Distance must be lesser than {maxDistance}: La distancia debe ser inferior a {maxDistance}
+ Distance must be lesser than: La distancia debe ser inferior a {maxDistance}
+en:
+ Distance must be lesser than: Distance must be lesser than {maxDistance}
diff --git a/src/pages/Route/Card/RouteSearchbar.vue b/src/pages/Route/Card/RouteSearchbar.vue
index 0e5c1643d..48ad09151 100644
--- a/src/pages/Route/Card/RouteSearchbar.vue
+++ b/src/pages/Route/Card/RouteSearchbar.vue
@@ -9,10 +9,9 @@ const { t } = useI18n();
data-key="RouteList"
:label="t('Search route')"
:info="t('You can search by route reference')"
+ url="Routes/filter"
/>
-
-
es:
Search route: Buscar rutas
diff --git a/src/pages/Route/RouteList.vue b/src/pages/Route/RouteList.vue
index b13e8cacd..a978d8fda 100644
--- a/src/pages/Route/RouteList.vue
+++ b/src/pages/Route/RouteList.vue
@@ -11,6 +11,8 @@ import axios from 'axios';
import RouteSearchbar from 'pages/Route/Card/RouteSearchbar.vue';
import RouteListTicketsDialog from 'pages/Route/Card/RouteListTicketsDialog.vue';
import RouteSummary from 'pages/Route/Card/RouteSummary.vue';
+import RightMenu from 'src/components/common/RightMenu.vue';
+import RouteFilter from 'pages/Route/Card/RouteFilter.vue';
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
import VnInputDate from 'components/common/VnInputDate.vue';
@@ -118,8 +120,8 @@ const columns = computed(() => [
},
{
align: 'left',
- name: 'to',
- label: t('To'),
+ name: 'from',
+ label: t('From'),
visible: false,
cardVisible: true,
create: true,
@@ -128,8 +130,8 @@ const columns = computed(() => [
},
{
align: 'left',
- name: 'from',
- label: t('From'),
+ name: 'to',
+ label: t('To'),
visible: false,
cardVisible: true,
create: true,
@@ -271,13 +273,18 @@ const openTicketsDialog = (id) => {
+
+
+
+
+
{
data-key="RouteTicketList"
url="Routes/getTickets"
:filter="{ id: route.params.id }"
+ :limit="0"
:order="['priority ASC']"
auto-load
@on-fetch="(data) => (ticketList = data)"
diff --git a/src/pages/Supplier/Card/SupplierCard.vue b/src/pages/Supplier/Card/SupplierCard.vue
index adf0315da..ed4ce7eb2 100644
--- a/src/pages/Supplier/Card/SupplierCard.vue
+++ b/src/pages/Supplier/Card/SupplierCard.vue
@@ -12,5 +12,6 @@ import SupplierListFilter from '../SupplierListFilter.vue';
search-data-key="SupplierList"
search-url="Suppliers/filter"
searchbar-label="Search suppliers"
+ search-url-query="table"
/>
diff --git a/src/pages/Supplier/SupplierList.vue b/src/pages/Supplier/SupplierList.vue
index 8cc2f7422..d8404632c 100644
--- a/src/pages/Supplier/SupplierList.vue
+++ b/src/pages/Supplier/SupplierList.vue
@@ -19,9 +19,6 @@ const columns = computed(() => [
label: t('supplier.list.tableVisibleColumns.name'),
name: 'socialName',
create: true,
- columnCreate: {
- component: 'input',
- },
columnFilter: {
name: 'search',
},
@@ -93,6 +90,11 @@ const columns = computed(() => [
title: t('Create Supplier'),
onDataSaved: ({ id }) => tableRef.redirect(id),
formInitialData: {},
+ mapper: (data) => {
+ data.name = data.socialName;
+ delete data.socialName;
+ return data;
+ },
}"
order="id ASC"
:columns="columns"
diff --git a/src/pages/Ticket/Card/TicketSummary.vue b/src/pages/Ticket/Card/TicketSummary.vue
index c65e0cb26..177384663 100644
--- a/src/pages/Ticket/Card/TicketSummary.vue
+++ b/src/pages/Ticket/Card/TicketSummary.vue
@@ -181,7 +181,7 @@ async function changeState(value) {
{{ dashIfEmpty(ticket.refFk) }}