Compare commits
47 Commits
7021c226b5
...
6634c5ce9c
Author | SHA1 | Date |
---|---|---|
Robert Ferrús | 6634c5ce9c | |
Jon Elias | 71c26c2fa7 | |
Jon Elias | 26ee54c488 | |
Alex Moreno | eee5873283 | |
Alex Moreno | 98ac560b16 | |
Alex Moreno | c1d9650c60 | |
Alex Moreno | e33bb9f8b5 | |
Alex Moreno | 3ba8402dfd | |
Alex Moreno | 67a5800a66 | |
Alex Moreno | 46430d1b6d | |
Alex Moreno | 44134a8fec | |
Alex Moreno | fef7dd9ac1 | |
Pablo Natek | cbdce8f474 | |
Pablo Natek | 8b5a2cd159 | |
Jorge Penadés | bc73996dfe | |
Jorge Penadés | 8e9e8a8c78 | |
Jorge Penadés | 73b7fa7704 | |
Jorge Penadés | e54eb50265 | |
Alex Moreno | a498e1178f | |
Alex Moreno | fdafeee39d | |
Javier Segarra | 8fb843a180 | |
Alex Moreno | 7b243a470c | |
Alex Moreno | 5f7fd91272 | |
Alex Moreno | 38c2f89fba | |
Alex Moreno | 14e6b870ac | |
Alex Moreno | 8714980595 | |
Jon Elias | bdae26ba08 | |
Jon Elias | 1b68d3c5ea | |
Jon Elias | f43e974bbc | |
Pablo Natek | fb5e38dc0b | |
Pablo Natek | 479c428edf | |
Pablo Natek | 3824f5d124 | |
Jorge Penadés | 794036b880 | |
Robert Ferrús | ff272ab6c3 | |
Robert Ferrús | 8a1db719e3 | |
Jorge Penadés | 1faab668b1 | |
Jorge Penadés | 38ccf464b7 | |
Jon Elias | 5acce4d61d | |
Alex Moreno | bbb20ec4e6 | |
Alex Moreno | 5d58bb0c13 | |
Alex Moreno | e7b431e9ec | |
Pablo Natek | 6ab31fa2d2 | |
Pablo Natek | f999760205 | |
Pablo Natek | e119bf5bfc | |
Jon Elias | 8cfc2996d4 | |
Jon Elias | 7f4a73fd56 | |
Jon Elias | 493e518339 |
|
@ -0,0 +1,40 @@
|
|||
<script setup>
|
||||
defineProps({ row: { type: Object, required: true } });
|
||||
</script>
|
||||
<template>
|
||||
<span>
|
||||
<QIcon
|
||||
v-if="row.isTaxDataChecked === 0"
|
||||
name="vn:no036"
|
||||
color="primary"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ $t('salesTicketsTable.noVerifiedData') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon v-if="row.hasTicketRequest" name="vn:buyrequest" color="primary" size="xs">
|
||||
<QTooltip>{{ $t('salesTicketsTable.purchaseRequest') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon v-if="row.itemShortage" name="vn:unavailable" color="primary" size="xs">
|
||||
<QTooltip>{{ $t('salesTicketsTable.notVisible') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon v-if="row.isFreezed" name="vn:frozen" color="primary" size="xs">
|
||||
<QTooltip>{{ $t('salesTicketsTable.clientFrozen') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.risk"
|
||||
name="vn:risk"
|
||||
:color="row.hasHighRisk ? 'negative' : 'primary'"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ $t('salesTicketsTable.risk') }}: {{ row.risk - row.credit }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon v-if="row.hasComponentLack" name="vn:components" color="primary" size="xs">
|
||||
<QTooltip>{{ $t('salesTicketsTable.componentLack') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon v-if="row.isTooLittle" name="vn:isTooLittle" color="primary" size="xs">
|
||||
<QTooltip>{{ $t('salesTicketsTable.tooLittle') }}</QTooltip>
|
||||
</QIcon>
|
||||
</span>
|
||||
</template>
|
|
@ -143,6 +143,10 @@ function alignRow() {
|
|||
const showFilter = computed(
|
||||
() => $props.column?.columnFilter !== false && $props.column.name != 'tableActions'
|
||||
);
|
||||
|
||||
const onTabPressed = async () => {
|
||||
if (model.value) enterEvent['keyup.enter']();
|
||||
};
|
||||
</script>
|
||||
<template>
|
||||
<div
|
||||
|
@ -157,6 +161,7 @@ const showFilter = computed(
|
|||
v-model="model"
|
||||
:components="components"
|
||||
component-prop="columnFilter"
|
||||
@keydown.tab="onTabPressed"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -324,6 +324,8 @@ function handleOnDataSaved(_) {
|
|||
}
|
||||
|
||||
function handleScroll() {
|
||||
if ($props.crudModel.disableInfiniteScroll) return;
|
||||
|
||||
const tMiddle = tableRef.value.$el.querySelector('.q-table__middle');
|
||||
const { scrollHeight, scrollTop, clientHeight } = tMiddle;
|
||||
const isAtBottom = Math.abs(scrollHeight - scrollTop - clientHeight) <= 40;
|
||||
|
|
|
@ -202,7 +202,10 @@ async function fetchFilter(val) {
|
|||
if (fields) fetchOptions.fields = fields;
|
||||
if (sortBy) fetchOptions.order = sortBy;
|
||||
arrayData.reset(['skip', 'filter.skip', 'page']);
|
||||
return (await arrayData.applyFilter({ filter: fetchOptions }))?.data;
|
||||
|
||||
const { data } = await arrayData.applyFilter({ filter: fetchOptions });
|
||||
setOptions(data);
|
||||
return data;
|
||||
}
|
||||
|
||||
async function filterHandler(val, update) {
|
||||
|
|
|
@ -584,15 +584,15 @@ worker:
|
|||
role: Role
|
||||
sipExtension: Extension
|
||||
locker: Locker
|
||||
fiDueDate: Fecha de caducidad del DNI
|
||||
sex: Sexo
|
||||
seniority: Antigüedad
|
||||
fiDueDate: FI due date
|
||||
sex: Sex
|
||||
seniority: Seniority
|
||||
fi: DNI/NIE/NIF
|
||||
birth: Fecha de nacimiento
|
||||
isFreelance: Autónomo
|
||||
birth: Birth
|
||||
isFreelance: Freelance
|
||||
isSsDiscounted: Bonificación SS
|
||||
hasMachineryAuthorized: Autorizado para llevar maquinaria
|
||||
isDisable: Trabajador desactivado
|
||||
hasMachineryAuthorized: Machinery authorized
|
||||
isDisable: Disable
|
||||
notificationsManager:
|
||||
activeNotifications: Active notifications
|
||||
availableNotifications: Available notifications
|
||||
|
@ -708,7 +708,7 @@ supplier:
|
|||
supplierName: Supplier name
|
||||
basicData:
|
||||
workerFk: Responsible
|
||||
isSerious: Verified
|
||||
isReal: Verified
|
||||
isActive: Active
|
||||
isPayMethodChecked: PayMethod checked
|
||||
note: Notes
|
||||
|
|
|
@ -580,9 +580,9 @@ worker:
|
|||
newWorker: Nuevo trabajador
|
||||
summary:
|
||||
boss: Jefe
|
||||
phoneExtension: Extensión de teléfono
|
||||
entPhone: Teléfono de empresa
|
||||
personalPhone: Teléfono personal
|
||||
phoneExtension: Ext. de teléfono
|
||||
entPhone: Tel. de empresa
|
||||
personalPhone: Tel. personal
|
||||
noBoss: Sin jefe
|
||||
userData: Datos de usuario
|
||||
userId: ID del usuario
|
||||
|
@ -703,7 +703,7 @@ supplier:
|
|||
supplierName: Nombre del proveedor
|
||||
basicData:
|
||||
workerFk: Responsable
|
||||
isSerious: Verificado
|
||||
isReal: Verificado
|
||||
isActive: Activo
|
||||
isPayMethodChecked: Método de pago validado
|
||||
note: Notas
|
||||
|
|
|
@ -320,7 +320,7 @@ const sumRisk = ({ clientRisks }) => {
|
|||
:value="entity.recommendedCredit"
|
||||
/>
|
||||
</QCard>
|
||||
<QCard class="vn-one">
|
||||
<QCard class="vn-max">
|
||||
<VnTitle :text="t('Latest tickets')" />
|
||||
<CustomerSummaryTable />
|
||||
</QCard>
|
||||
|
|
|
@ -12,6 +12,7 @@ import VnImg from 'src/components/ui/VnImg.vue';
|
|||
|
||||
const stateStore = useStateStore();
|
||||
const { t } = useI18n();
|
||||
const tableRef = ref();
|
||||
const columns = [
|
||||
{
|
||||
align: 'center',
|
||||
|
@ -234,7 +235,6 @@ const columns = [
|
|||
format: (row, dashIfEmpty) => dashIfEmpty(toDate(row.landing)),
|
||||
},
|
||||
];
|
||||
const tableRef = ref();
|
||||
|
||||
onMounted(async () => {
|
||||
stateStore.rightDrawer = true;
|
||||
|
|
|
@ -440,7 +440,7 @@ function handleOnDataSave({ CrudModelRef }) {
|
|||
selection: 'multiple',
|
||||
}"
|
||||
:crud-model="{
|
||||
paginate: false,
|
||||
disableInfiniteScroll: true,
|
||||
}"
|
||||
v-model:selected="rowsSelected"
|
||||
:row-click="saveOnRowChange"
|
||||
|
|
|
@ -27,7 +27,7 @@ function exprBuilder(param, value) {
|
|||
|
||||
const columns = computed(() => [
|
||||
{
|
||||
label: t('salesOrdersTable.dateSend'),
|
||||
label: t('globals.landed'),
|
||||
name: 'dateSend',
|
||||
field: 'dateSend',
|
||||
align: 'left',
|
||||
|
|
|
@ -15,6 +15,7 @@ import { toCurrency, dateRange, dashIfEmpty } from 'src/filters';
|
|||
import RightMenu from 'src/components/common/RightMenu.vue';
|
||||
import MonitorTicketSearchbar from './MonitorTicketSearchbar.vue';
|
||||
import MonitorTicketFilter from './MonitorTicketFilter.vue';
|
||||
import TicketProblems from 'src/components/TicketProblems.vue';
|
||||
|
||||
const DEFAULT_AUTO_REFRESH = 2 * 60 * 1000; // 2min in ms
|
||||
const { t } = useI18n();
|
||||
|
@ -23,13 +24,18 @@ const tableRef = ref(null);
|
|||
const provinceOpts = ref([]);
|
||||
const stateOpts = ref([]);
|
||||
const zoneOpts = ref([]);
|
||||
const visibleColumns = ref([]);
|
||||
const { viewSummary } = useSummaryDialog();
|
||||
const from = Date.vnNew();
|
||||
from.setHours(0, 0, 0, 0);
|
||||
const to = new Date(from.getTime());
|
||||
to.setDate(to.getDate() + 1);
|
||||
to.setHours(23, 59, 59, 999);
|
||||
const stateColors = {
|
||||
notice: 'info',
|
||||
success: 'positive',
|
||||
warning: 'warning',
|
||||
alert: 'negative',
|
||||
};
|
||||
|
||||
function exprBuilder(param, value) {
|
||||
switch (param) {
|
||||
|
@ -224,7 +230,7 @@ const columns = computed(() => [
|
|||
{
|
||||
title: t('salesTicketsTable.goToLines'),
|
||||
icon: 'vn:lines',
|
||||
color: 'priamry',
|
||||
color: 'primary',
|
||||
action: (row) => openTab(row.id),
|
||||
isPrimary: true,
|
||||
attrs: {
|
||||
|
@ -235,7 +241,7 @@ const columns = computed(() => [
|
|||
{
|
||||
title: t('salesTicketsTable.preview'),
|
||||
icon: 'preview',
|
||||
color: 'priamry',
|
||||
color: 'primary',
|
||||
action: (row) => viewSummary(row.id, TicketSummary),
|
||||
isPrimary: true,
|
||||
attrs: {
|
||||
|
@ -253,10 +259,10 @@ const getBadgeAttrs = (date) => {
|
|||
let timeTicket = new Date(date);
|
||||
timeTicket.setHours(0, 0, 0, 0);
|
||||
|
||||
let comparation = today - timeTicket;
|
||||
let timeDiff = today - timeTicket;
|
||||
|
||||
if (comparation == 0) return { color: 'warning', 'text-color': 'black' };
|
||||
if (comparation < 0) return { color: 'success', 'text-color': 'black' };
|
||||
if (timeDiff == 0) return { color: 'warning', 'text-color': 'black' };
|
||||
if (timeDiff < 0) return { color: 'success', 'text-color': 'black' };
|
||||
return { color: 'transparent', 'text-color': 'white' };
|
||||
};
|
||||
|
||||
|
@ -271,13 +277,6 @@ const autoRefreshHandler = (value) => {
|
|||
}
|
||||
};
|
||||
|
||||
const stateColors = {
|
||||
notice: 'info',
|
||||
success: 'positive',
|
||||
warning: 'warning',
|
||||
alert: 'negative',
|
||||
};
|
||||
|
||||
const totalPriceColor = (ticket) => {
|
||||
const total = parseInt(ticket.totalWithVat);
|
||||
if (total > 0 && total < 50) return 'warning';
|
||||
|
@ -285,10 +284,10 @@ const totalPriceColor = (ticket) => {
|
|||
|
||||
const formatShippedDate = (date) => {
|
||||
if (!date) return '-';
|
||||
const split1 = date.split('T');
|
||||
const [year, month, day] = split1[0].split('-');
|
||||
const _date = new Date(year, month - 1, day);
|
||||
return toDateFormat(_date);
|
||||
const dateSplit = date.split('T');
|
||||
const [year, month, day] = dateSplit[0].split('-');
|
||||
const newDate = new Date(year, month - 1, day);
|
||||
return toDateFormat(newDate);
|
||||
};
|
||||
|
||||
const openTab = (id) =>
|
||||
|
@ -336,7 +335,6 @@ const openTab = (id) =>
|
|||
:expr-builder="exprBuilder"
|
||||
:offset="50"
|
||||
:columns="columns"
|
||||
:visible-columns="visibleColumns"
|
||||
:right-search="false"
|
||||
default-mode="table"
|
||||
auto-load
|
||||
|
@ -366,61 +364,7 @@ const openTab = (id) =>
|
|||
</QCheckbox>
|
||||
</template>
|
||||
<template #column-totalProblems="{ row }">
|
||||
<span>
|
||||
<QIcon
|
||||
v-if="row.isTaxDataChecked === 0"
|
||||
name="vn:no036"
|
||||
color="primary"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ $t('salesTicketsTable.noVerifiedData') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.hasTicketRequest"
|
||||
name="vn:buyrequest"
|
||||
color="primary"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ $t('salesTicketsTable.purchaseRequest') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.itemShortage"
|
||||
name="vn:unavailable"
|
||||
color="primary"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ $t('salesTicketsTable.notVisible') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon v-if="row.isFreezed" name="vn:frozen" color="primary" size="xs">
|
||||
<QTooltip>{{ $t('salesTicketsTable.clientFrozen') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.risk"
|
||||
name="vn:risk"
|
||||
:color="row.hasHighRisk ? 'negative' : 'primary'"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip
|
||||
>{{ $t('salesTicketsTable.risk') }}: {{ row.risk }}</QTooltip
|
||||
>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.hasComponentLack"
|
||||
name="vn:components"
|
||||
color="primary"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ $t('salesTicketsTable.componentLack') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.isTooLittle"
|
||||
name="vn:isTooLittle"
|
||||
color="primary"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>{{ $t('salesTicketsTable.tooLittle') }}</QTooltip>
|
||||
</QIcon>
|
||||
</span>
|
||||
<TicketProblems :row="row" />
|
||||
</template>
|
||||
<template #column-id="{ row }">
|
||||
<span class="link" @click.stop.prevent>
|
||||
|
@ -475,7 +419,7 @@ const openTab = (id) =>
|
|||
</QIcon>
|
||||
</template>
|
||||
<template #column-zoneFk="{ row }">
|
||||
<div @click.stop.prevent :title="row.zoneName">
|
||||
<div v-if="row.zoneFk" @click.stop.prevent :title="row.zoneName">
|
||||
<span class="link">{{ row.zoneName }}</span>
|
||||
<ZoneDescriptorProxy :id="row.zoneFk" />
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,6 @@ salesClientsTable:
|
|||
client: Client
|
||||
salesOrdersTable:
|
||||
delete: Delete
|
||||
dateSend: Send date
|
||||
dateMake: Make date
|
||||
deleteConfirmMessage: All the selected elements will be deleted. Are you sure you want to continue?
|
||||
agency: Agency
|
||||
|
|
|
@ -11,7 +11,6 @@ salesClientsTable:
|
|||
client: Cliente
|
||||
salesOrdersTable:
|
||||
delete: Eliminar
|
||||
dateSend: Fecha de envío
|
||||
dateMake: Fecha de realización
|
||||
deleteConfirmMessage: Todos los elementos seleccionados serán eliminados. ¿Seguro que quieres continuar?
|
||||
agency: Agencia
|
||||
|
|
|
@ -76,8 +76,8 @@ const companySizes = [
|
|||
</VnRow>
|
||||
<VnRow>
|
||||
<QCheckbox
|
||||
v-model="data.isSerious"
|
||||
:label="t('supplier.basicData.isSerious')"
|
||||
v-model="data.isReal"
|
||||
:label="t('supplier.basicData.isReal')"
|
||||
/>
|
||||
<QCheckbox
|
||||
v-model="data.isActive"
|
||||
|
|
|
@ -38,7 +38,7 @@ const filter = {
|
|||
'payDemFk',
|
||||
'payDay',
|
||||
'isActive',
|
||||
'isSerious',
|
||||
'isReal',
|
||||
'isTrucker',
|
||||
'account',
|
||||
],
|
||||
|
@ -137,7 +137,7 @@ const getEntryQueryParams = (supplier) => {
|
|||
<QTooltip>{{ t('Inactive supplier') }}</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="!supplier.isSerious"
|
||||
v-if="!supplier.isReal"
|
||||
name="vn:supplierfalse"
|
||||
color="primary"
|
||||
size="xs"
|
||||
|
|
|
@ -83,7 +83,7 @@ const getUrl = (section) => `#/supplier/${entityId.value}/${section}`;
|
|||
</VnLv>
|
||||
<QCheckbox
|
||||
:label="t('supplier.summary.verified')"
|
||||
v-model="supplier.isSerious"
|
||||
v-model="supplier.isReal"
|
||||
:disable="true"
|
||||
/>
|
||||
<QCheckbox
|
||||
|
|
|
@ -688,7 +688,7 @@ watch(
|
|||
}"
|
||||
:create-as-dialog="false"
|
||||
:crud-model="{
|
||||
paginate: false,
|
||||
disableInfiniteScroll: true,
|
||||
}"
|
||||
:default-remove="false"
|
||||
:default-reset="false"
|
||||
|
|
|
@ -215,7 +215,7 @@ const requestComponentUpdate = async (ticket, isWithoutNegatives) => {
|
|||
|
||||
if (!newLanded) {
|
||||
notify(t('advanceTickets.noDeliveryZone'), 'negative');
|
||||
return;
|
||||
throw new Error(t('advanceTickets.noDeliveryZone'));
|
||||
}
|
||||
|
||||
ticket.landed = newLanded.landed;
|
||||
|
@ -299,10 +299,10 @@ const splitTickets = async () => {
|
|||
const { query, params } = await requestComponentUpdate(ticket, true);
|
||||
await axios.post(query, params);
|
||||
progressAdd(ticket.futureId);
|
||||
} catch (error) {
|
||||
} catch (e) {
|
||||
splitErrors.value.push({
|
||||
id: ticket.futureId,
|
||||
reason: error.response?.data?.error?.message,
|
||||
reason: e.message || e.response?.data?.error?.message,
|
||||
});
|
||||
progressAdd(ticket.futureId);
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ import CustomerDescriptorProxy from 'src/pages/Customer/Card/CustomerDescriptorP
|
|||
import ZoneDescriptorProxy from 'src/pages/Zone/Card/ZoneDescriptorProxy.vue';
|
||||
import { toTimeFormat } from 'src/filters/date';
|
||||
import InvoiceOutDescriptorProxy from 'src/pages/InvoiceOut/Card/InvoiceOutDescriptorProxy.vue';
|
||||
import TicketProblems from 'src/components/TicketProblems.vue';
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
|
@ -490,66 +491,7 @@ function setReference(data) {
|
|||
}"
|
||||
>
|
||||
<template #column-statusIcons="{ row }">
|
||||
<div class="q-gutter-x-xs">
|
||||
<QIcon
|
||||
v-if="row.isTaxDataChecked === 0"
|
||||
color="primary"
|
||||
name="vn:no036"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ t('No verified data') }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.hasTicketRequest"
|
||||
color="primary"
|
||||
name="vn:buyrequest"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ t('Purchase request') }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.itemShortage"
|
||||
color="primary"
|
||||
name="vn:unavailable"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ t('Not visible') }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon v-if="row.isFreezed" color="primary" name="vn:frozen" size="xs">
|
||||
<QTooltip>
|
||||
{{ t('Client frozen') }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon v-if="row.risk" color="primary" name="vn:risk" size="xs">
|
||||
<QTooltip> {{ t('Risk') }}: {{ row.risk }} </QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.hasComponentLack"
|
||||
color="primary"
|
||||
name="vn:components"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ t('Component lack') }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
<QIcon
|
||||
v-if="row.hasRounding"
|
||||
color="primary"
|
||||
name="sync_problem"
|
||||
size="xs"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ t('Rounding') }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
</div>
|
||||
<TicketProblems :row="row" />
|
||||
</template>
|
||||
<template #column-salesPersonFk="{ row }">
|
||||
<span class="link" @click.stop>
|
||||
|
|
|
@ -75,10 +75,10 @@ onBeforeMount(async () => {
|
|||
<VnLinkPhone :phone-number="worker.phone" />
|
||||
</template>
|
||||
</VnLv>
|
||||
<VnLv :value="worker.client?.phone">
|
||||
<VnLv :value="advancedSummary?.client?.phone">
|
||||
<template #label>
|
||||
{{ t('worker.summary.personalPhone') }}
|
||||
<VnLinkPhone :phone-number="worker.client?.phone" />
|
||||
<VnLinkPhone :phone-number="advancedSummary?.client?.phone" />
|
||||
</template>
|
||||
</VnLv>
|
||||
</QCard>
|
||||
|
@ -86,12 +86,12 @@ onBeforeMount(async () => {
|
|||
<VnTitle :url="basicDataUrl" :text="t('globals.summary.basicData')" />
|
||||
<VnLv
|
||||
:label="t('worker.summary.fiDueDate')"
|
||||
:value="toDate(worker.fiDueDate)"
|
||||
:value="toDate(advancedSummary.fiDueDate)"
|
||||
/>
|
||||
<VnLv :label="t('worker.summary.sex')" :value="worker.sex" />
|
||||
<VnLv
|
||||
:label="t('worker.summary.seniority')"
|
||||
:value="toDate(worker.seniority)"
|
||||
:value="toDate(advancedSummary.seniority)"
|
||||
/>
|
||||
<VnLv :label="t('worker.summary.fi')" :value="advancedSummary.fi" />
|
||||
<VnLv
|
||||
|
|
|
@ -306,7 +306,7 @@ async function autofillBic(worker) {
|
|||
</VnRow>
|
||||
<VnRow>
|
||||
<VnInput
|
||||
:label="t('worker.create.street')"
|
||||
:label="t('globals.street')"
|
||||
:model-value="uppercaseStreetModel(data).get()"
|
||||
@update:model-value="uppercaseStreetModel(data).set"
|
||||
:disable="data.isFreelance"
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
videos/*
|
||||
reports/*
|
||||
screenshots/*
|
|
@ -28,7 +28,7 @@ describe('Logout', () => {
|
|||
});
|
||||
|
||||
it('when token not exists', () => {
|
||||
cy.get('.q-list > [href="#/item"]').click();
|
||||
cy.get('.q-list').first().should('be.visible').click();
|
||||
cy.checkNotification('Authorization Required');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -5,6 +5,7 @@ describe('VnSearchBar', () => {
|
|||
const idGap = '.q-item > .q-item__label';
|
||||
const vnTableRow = '.q-virtual-scroll__content';
|
||||
beforeEach(() => {
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit('#/customer/list');
|
||||
});
|
||||
|
|
|
@ -106,7 +106,6 @@ Cypress.Commands.add('fillInForm', (obj, form = '.q-form > .q-card') => {
|
|||
case 'select':
|
||||
cy.wrap(el).type(val);
|
||||
cy.get('.q-menu .q-item').contains(val).click();
|
||||
cy.get('body').click();
|
||||
break;
|
||||
case 'date':
|
||||
cy.wrap(el).type(val.split('-').join(''));
|
||||
|
|
Loading…
Reference in New Issue