Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details

This commit is contained in:
Alex Moreno 2024-08-07 10:04:13 +02:00
commit 2cb99eb025
9 changed files with 53 additions and 61 deletions

View File

@ -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
</i18n>
, nextTick

View File

@ -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;
}
});

View File

@ -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) },
}"
>
<QTooltip>{{ t('invoiceOut.card.ticketList') }}</QTooltip>

View File

@ -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',
}"
>
<template #column-clientSocialName="{ row }">
<span class="link" @click.stop>
{{ row.clientSocialName }}
<CustomerDescriptorProxy :id="row.clientFk" />
</span>
</template>
<template #more-create-dialog="{ data }">
<VnSelect
url="Tickets"

View File

@ -6,6 +6,9 @@ import { toCurrency } from 'src/filters';
import VnTable from 'src/components/VnTable/VnTable.vue';
import { useInvoiceOutGlobalStore } from 'src/stores/invoiceOutGlobal.js';
import { useArrayData } from 'src/composables/useArrayData';
import CustomerDescriptorProxy from '../Customer/Card/CustomerDescriptorProxy.vue';
import TicketDescriptorProxy from '../Ticket/Card/TicketDescriptorProxy.vue';
import WorkerDescriptorProxy from '../Worker/Card/WorkerDescriptorProxy.vue';
const { t } = useI18n();
const tableRef = ref();
@ -168,6 +171,24 @@ const downloadCSV = async () => {
:is-editable="false"
:use-model="true"
>
<template #column-clientId="{ row }">
<span class="link" @click.stop>
{{ row.clientId }}
<CustomerDescriptorProxy :id="row.clientId" />
</span>
</template>
<template #column-ticketFk="{ row }">
<span class="link" @click.stop>
{{ row.ticketFk }}
<TicketDescriptorProxy :id="row.ticketFk" />
</span>
</template>
<template #column-workerName="{ row }">
<span class="link" @click.stop>
{{ row.workerName }}
<WorkerDescriptorProxy :id="row.comercialId" />
</span>
</template>
</VnTable>
</template>

View File

@ -1,7 +1,5 @@
<script setup>
import { ref } from 'vue';
import { useI18n } from 'vue-i18n';
import FetchData from 'components/FetchData.vue';
import VnFilterPanel from 'components/ui/VnFilterPanel.vue';
import VnSelect from 'components/common/VnSelect.vue';
import VnInputDate from 'components/common/VnInputDate.vue';
@ -16,39 +14,9 @@ const props = defineProps({
});
const emit = defineEmits(['search']);
const workerList = ref([]);
const agencyList = ref([]);
const vehicleList = ref([]);
const warehouseList = ref([]);
</script>
<template>
<FetchData
url="Workers/search"
:filter="{ fields: ['id', 'nickname'] }"
sort-by="nickname ASC"
limit="30"
@on-fetch="(data) => (workerList = data)"
auto-load
/>
<FetchData
url="AgencyModes/isActive"
:filter="{ fields: ['id', 'name'] }"
sort-by="name ASC"
limit="30"
@on-fetch="(data) => (agencyList = data)"
auto-load
/>
<FetchData
url="Vehicles"
:filter="{ fields: ['id', 'numberPlate'] }"
sort-by="numberPlate ASC"
limit="30"
@on-fetch="(data) => (vehicleList = data)"
auto-load
/>
<FetchData url="Warehouses" @on-fetch="(data) => (warehouseList = data)" auto-load />
<VnFilterPanel
:data-key="props.dataKey"
:search-button="true"
@ -62,19 +30,17 @@ const warehouseList = ref([]);
</template>
<template #body="{ params }">
<QItem class="q-my-sm">
<QItemSection v-if="workerList">
<QItemSection>
<VnSelect
:label="t('Worker')"
v-model="params.workerFk"
:options="workerList"
url="Workers/search"
sort-by="nickname ASC"
option-value="id"
option-label="nickname"
dense
outlined
rounded
emit-value
map-options
use-input
:input-debounce="0"
>
<template #option="{ itemProps, opt }">
@ -91,19 +57,17 @@ const warehouseList = ref([]);
</QItemSection>
</QItem>
<QItem class="q-my-sm">
<QItemSection v-if="agencyList">
<QItemSection>
<VnSelect
:label="t('Agency')"
v-model="params.agencyModeFk"
:options="agencyList"
url="AgencyModes/isActive"
sort-by="name ASC"
option-value="id"
option-label="name"
dense
outlined
rounded
emit-value
map-options
use-input
:input-debounce="0"
/>
</QItemSection>
@ -147,19 +111,17 @@ const warehouseList = ref([]);
</QItemSection>
</QItem>
<QItem class="q-my-sm">
<QItemSection v-if="vehicleList">
<QItemSection>
<VnSelect
:label="t('Vehicle')"
v-model="params.vehicleFk"
:options="vehicleList"
url="Vehicles"
sort-by="numberPlate ASC"
option-value="id"
option-label="numberPlate"
dense
outlined
rounded
emit-value
map-options
use-input
:input-debounce="0"
/>
</QItemSection>
@ -170,19 +132,16 @@ const warehouseList = ref([]);
</QItemSection>
</QItem>
<QItem class="q-my-sm">
<QItemSection v-if="vehicleList">
<QItemSection>
<VnSelect
:label="t('Warehouse')"
v-model="params.warehouseFk"
:options="warehouseList"
url="Warehouses"
option-value="id"
option-label="name"
dense
outlined
rounded
emit-value
map-options
use-input
:input-debounce="0"
/>
</QItemSection>

View File

@ -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"
/>
</template>
<style scoped lang="scss"></style>
<i18n>
es:
Search route: Buscar rutas

View File

@ -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';
@ -271,13 +273,18 @@ const openTicketsDialog = (id) => {
</QCard>
</QDialog>
<VnSubToolbar />
<RightMenu>
<template #right-panel>
<RouteFilter data-key="RouteList" />
</template>
</RightMenu>
<VnTable
class="route-list"
ref="tableRef"
data-key="RouteList"
url="Routes/filter"
:columns="columns"
:right-search="true"
:right-search="false"
:is-editable="true"
:filter="routeFilter"
redirect="route"

View File

@ -181,7 +181,7 @@ async function changeState(value) {
<span :class="{ link: ticket.refFk }">
{{ dashIfEmpty(ticket.refFk) }}
<InvoiceOutDescriptorProxy
:id="ticket.id"
:id="ticket.invoiceOut.id"
v-if="ticket.refFk"
/>
</span>