#8339 - fix_preview #1277
|
@ -170,10 +170,9 @@ export function useArrayData(key, userOptions) {
|
||||||
|
|
||||||
async function addOrder(field, direction = 'ASC') {
|
async function addOrder(field, direction = 'ASC') {
|
||||||
const newOrder = field + ' ' + direction;
|
const newOrder = field + ' ' + direction;
|
||||||
let order = store.order || [];
|
const order = toArray(store.order);
|
||||||
if (typeof order == 'string') order = [order];
|
|
||||||
|
|
||||||
let index = order.findIndex((o) => o.split(' ')[0] === field);
|
let index = getOrderIndex(order, field);
|
||||||
if (index > -1) {
|
if (index > -1) {
|
||||||
order[index] = newOrder;
|
order[index] = newOrder;
|
||||||
} else {
|
} else {
|
||||||
|
@ -190,16 +189,23 @@ export function useArrayData(key, userOptions) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteOrder(field) {
|
async function deleteOrder(field) {
|
||||||
let order = store.order ?? [];
|
const order = toArray(store.order);
|
||||||
if (typeof order == 'string') order = [order];
|
const index = getOrderIndex(order, field);
|
||||||
|
|
||||||
const index = order.findIndex((o) => o.split(' ')[0] === field);
|
|
||||||
if (index > -1) order.splice(index, 1);
|
if (index > -1) order.splice(index, 1);
|
||||||
|
|
||||||
store.order = order;
|
store.order = order;
|
||||||
fetch({});
|
fetch({});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getOrderIndex(order, field) {
|
||||||
|
return order.findIndex((o) => o.split(' ')[0] === field);
|
||||||
|
}
|
||||||
|
|
||||||
|
function toArray(str = []) {
|
||||||
|
if (Array.isArray(str)) return str;
|
||||||
|
if (typeof str === 'string') return str.split(',').map((item) => item.trim());
|
||||||
|
}
|
||||||
|
|
||||||
function sanitizerParams(params, exprBuilder) {
|
function sanitizerParams(params, exprBuilder) {
|
||||||
for (const param in params) {
|
for (const param in params) {
|
||||||
if (params[param] === '' || params[param] === null) {
|
if (params[param] === '' || params[param] === null) {
|
||||||
|
@ -290,8 +296,7 @@ export function useArrayData(key, userOptions) {
|
||||||
|
|
||||||
Object.assign(params, store.userParams);
|
Object.assign(params, store.userParams);
|
||||||
if (params.filter) params.filter.skip = store.skip;
|
if (params.filter) params.filter.skip = store.skip;
|
||||||
if (store?.order && typeof store?.order == 'string') store.order = [store.order];
|
if (store.order) params.filter.order = toArray(store.order);
|
||||||
if (store.order?.length) params.filter.order = [...store.order];
|
|
||||||
else delete params.filter.order;
|
else delete params.filter.order;
|
||||||
|
|
||||||
return { filter, params, limit: filter.limit };
|
return { filter, params, limit: filter.limit };
|
||||||
|
|
|
@ -312,11 +312,11 @@ input::-webkit-inner-spin-button {
|
||||||
}
|
}
|
||||||
|
|
||||||
.q-item > .q-item__section:has(.q-checkbox) {
|
.q-item > .q-item__section:has(.q-checkbox) {
|
||||||
max-width: min-content;
|
max-width: fit-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
.row > .column:has(.q-checkbox) {
|
.row > .column:has(.q-checkbox) {
|
||||||
max-width: min-content;
|
max-width: fit-content;
|
||||||
}
|
}
|
||||||
.q-field__inner {
|
.q-field__inner {
|
||||||
.q-field__control {
|
.q-field__control {
|
||||||
|
|
|
@ -153,6 +153,7 @@ const updateDateParams = (value, params) => {
|
||||||
data-key="CustomerConsumption"
|
data-key="CustomerConsumption"
|
||||||
url="Clients/consumption"
|
url="Clients/consumption"
|
||||||
:order="['itemTypeFk', 'itemName', 'itemSize', 'description']"
|
:order="['itemTypeFk', 'itemName', 'itemSize', 'description']"
|
||||||
|
:filter="{ where: { clientFk: route.params.id } }"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
search-url="consumption"
|
search-url="consumption"
|
||||||
:user-params="userParams"
|
:user-params="userParams"
|
||||||
|
|
|
@ -187,14 +187,18 @@ const debtWarning = computed(() => {
|
||||||
</QBtn>
|
</QBtn>
|
||||||
<QBtn
|
<QBtn
|
||||||
:to="{
|
:to="{
|
||||||
name: 'AccountSummary',
|
name: 'OrderList',
|
||||||
params: { id: entity.id },
|
query: {
|
||||||
|
createForm: JSON.stringify({
|
||||||
|
clientFk: entity.id,
|
||||||
|
}),
|
||||||
|
},
|
||||||
}"
|
}"
|
||||||
size="md"
|
size="md"
|
||||||
icon="face"
|
icon="vn:basketadd"
|
||||||
color="primary"
|
color="primary"
|
||||||
>
|
>
|
||||||
<QTooltip>{{ t('Go to user') }}</QTooltip>
|
<QTooltip>{{ t('globals.pageTitles.createOrder') }}</QTooltip>
|
||||||
</QBtn>
|
</QBtn>
|
||||||
<QBtn
|
<QBtn
|
||||||
v-if="entity.supplier"
|
v-if="entity.supplier"
|
||||||
|
@ -218,14 +222,9 @@ en:
|
||||||
unpaidDated: 'Date {dated}'
|
unpaidDated: 'Date {dated}'
|
||||||
unpaidAmount: 'Amount {amount}'
|
unpaidAmount: 'Amount {amount}'
|
||||||
es:
|
es:
|
||||||
Go to module index: Ir al índice del módulo
|
|
||||||
Customer ticket list: Listado de tickets del cliente
|
Customer ticket list: Listado de tickets del cliente
|
||||||
Customer invoice out list: Listado de facturas del cliente
|
Customer invoice out list: Listado de facturas del cliente
|
||||||
New order: Nuevo pedido
|
|
||||||
New ticket: Nuevo ticket
|
|
||||||
Go to user: Ir al usuario
|
|
||||||
Go to supplier: Ir al proveedor
|
Go to supplier: Ir al proveedor
|
||||||
Customer unpaid: Cliente impago
|
|
||||||
Unpaid: Impagado
|
Unpaid: Impagado
|
||||||
unpaidDated: 'Fecha {dated}'
|
unpaidDated: 'Fecha {dated}'
|
||||||
unpaidAmount: 'Importe {amount}'
|
unpaidAmount: 'Importe {amount}'
|
||||||
|
|
|
@ -51,7 +51,6 @@ const openCreateForm = (type) => {
|
||||||
};
|
};
|
||||||
const clientFk = {
|
const clientFk = {
|
||||||
ticket: 'clientId',
|
ticket: 'clientId',
|
||||||
order: 'clientFk',
|
|
||||||
};
|
};
|
||||||
const key = clientFk[type];
|
const key = clientFk[type];
|
||||||
if (!key) return;
|
if (!key) return;
|
||||||
|
@ -70,11 +69,6 @@ const openCreateForm = (type) => {
|
||||||
{{ t('globals.pageTitles.createTicket') }}
|
{{ t('globals.pageTitles.createTicket') }}
|
||||||
</QItemSection>
|
</QItemSection>
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem v-ripple clickable @click="openCreateForm('order')">
|
|
||||||
<QItemSection>
|
|
||||||
{{ t('globals.pageTitles.createOrder') }}
|
|
||||||
</QItemSection>
|
|
||||||
</QItem>
|
|
||||||
<QItem v-ripple clickable>
|
<QItem v-ripple clickable>
|
||||||
<QItemSection @click="showSmsDialog()">{{ t('Send SMS') }}</QItemSection>
|
<QItemSection @click="showSmsDialog()">{{ t('Send SMS') }}</QItemSection>
|
||||||
</QItem>
|
</QItem>
|
||||||
|
|
|
@ -147,7 +147,7 @@ es:
|
||||||
Supplier card: Ficha del proveedor
|
Supplier card: Ficha del proveedor
|
||||||
All travels with current agency: Todos los envíos con la agencia actual
|
All travels with current agency: Todos los envíos con la agencia actual
|
||||||
All entries with current supplier: Todas las entradas con el proveedor actual
|
All entries with current supplier: Todas las entradas con el proveedor actual
|
||||||
Go to module index: Ir al índice del modulo
|
Show entry report: Ver informe del pedido
|
||||||
Inventory entry: Es inventario
|
Inventory entry: Es inventario
|
||||||
Virtual entry: Es una redada
|
Virtual entry: Es una redada
|
||||||
</i18n>
|
</i18n>
|
||||||
|
|
|
@ -63,7 +63,3 @@ const setData = (entity) => (data.value = useCardDescription(entity.code, entity
|
||||||
</CardDescriptor>
|
</CardDescriptor>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<i18n>
|
|
||||||
es:
|
|
||||||
Go to module index: Ir al índice del módulo
|
|
||||||
</i18n>
|
|
||||||
|
|
|
@ -115,6 +115,7 @@ const removeTagGroupParam = (params, search, valIndex) => {
|
||||||
} else {
|
} else {
|
||||||
params.tagGroups.splice(valIndex, 1);
|
params.tagGroups.splice(valIndex, 1);
|
||||||
}
|
}
|
||||||
|
search();
|
||||||
};
|
};
|
||||||
|
|
||||||
const setCategoryList = (data) => {
|
const setCategoryList = (data) => {
|
||||||
|
|
|
@ -188,7 +188,6 @@ const getEntryQueryParams = (supplier) => {
|
||||||
es:
|
es:
|
||||||
All entries with current supplier: Todas las entradas con proveedor actual
|
All entries with current supplier: Todas las entradas con proveedor actual
|
||||||
Go to client: Ir a cliente
|
Go to client: Ir a cliente
|
||||||
Go to module index: Ir al índice del módulo
|
|
||||||
Inactive supplier: Proveedor inactivo
|
Inactive supplier: Proveedor inactivo
|
||||||
Unverified supplier: Proveedor no verificado
|
Unverified supplier: Proveedor no verificado
|
||||||
</i18n>
|
</i18n>
|
||||||
|
|
|
@ -239,7 +239,6 @@ function ticketFilter(ticket) {
|
||||||
<i18n>
|
<i18n>
|
||||||
es:
|
es:
|
||||||
This ticket is deleted: Este ticket está eliminado
|
This ticket is deleted: Este ticket está eliminado
|
||||||
Go to module index: Ir al índice del modulo
|
|
||||||
Client inactive: Cliente inactivo
|
Client inactive: Cliente inactivo
|
||||||
Client not checked: Cliente no verificado
|
Client not checked: Cliente no verificado
|
||||||
Client has debt: Cliente con deuda
|
Client has debt: Cliente con deuda
|
||||||
|
|
|
@ -14,6 +14,9 @@ const filter = {
|
||||||
'warehouseOutFk',
|
'warehouseOutFk',
|
||||||
'cargoSupplierFk',
|
'cargoSupplierFk',
|
||||||
'agencyModeFk',
|
'agencyModeFk',
|
||||||
|
'isRaid',
|
||||||
|
'isDelivered',
|
||||||
|
'isReceived',
|
||||||
],
|
],
|
||||||
include: [
|
include: [
|
||||||
{
|
{
|
||||||
|
|
|
@ -85,7 +85,6 @@ const setData = (entity) => (data.value = useCardDescription(entity.ref, entity.
|
||||||
|
|
||||||
<i18n>
|
<i18n>
|
||||||
es:
|
es:
|
||||||
Go to module index: Ir al índice del módulo
|
|
||||||
The travel will be deleted: El envío será eliminado
|
The travel will be deleted: El envío será eliminado
|
||||||
Do you want to delete this travel?: ¿Quieres eliminar este envío?
|
Do you want to delete this travel?: ¿Quieres eliminar este envío?
|
||||||
All travels with current agency: Todos los envíos con la agencia actual
|
All travels with current agency: Todos los envíos con la agencia actual
|
||||||
|
|
|
@ -11,7 +11,7 @@ const { t } = useI18n();
|
||||||
const counters = ref({
|
const counters = ref({
|
||||||
alquilerBandeja: { count: 0, id: 96001, title: 'CC Bandeja', isTray: true },
|
alquilerBandeja: { count: 0, id: 96001, title: 'CC Bandeja', isTray: true },
|
||||||
bandejaRota: { count: 0, id: 88381, title: 'CC Bandeja Rota', isTray: true },
|
bandejaRota: { count: 0, id: 88381, title: 'CC Bandeja Rota', isTray: true },
|
||||||
carryOficial: { count: 0, id: 96000, title: 'CC Carry OFICIAL TAG5' },
|
carryOficial: { count: 0, id: 96000, title: 'CC Carry OFICIAL TAG6' },
|
||||||
candadoRojo: { count: 0, id: 96002, title: 'CC Carry NO OFICIAL' },
|
candadoRojo: { count: 0, id: 96002, title: 'CC Carry NO OFICIAL' },
|
||||||
sacadores: { count: 0, id: 142260, title: 'CC Sacadores' },
|
sacadores: { count: 0, id: 142260, title: 'CC Sacadores' },
|
||||||
sinChapa: { count: 0, id: 2214, title: 'DC Carry Sin Placa CC' },
|
sinChapa: { count: 0, id: 2214, title: 'DC Carry Sin Placa CC' },
|
||||||
|
|
|
@ -10,6 +10,7 @@ import axios from 'axios';
|
||||||
import VnImg from 'src/components/ui/VnImg.vue';
|
import VnImg from 'src/components/ui/VnImg.vue';
|
||||||
import EditPictureForm from 'components/EditPictureForm.vue';
|
import EditPictureForm from 'components/EditPictureForm.vue';
|
||||||
import WorkerDescriptorMenu from './WorkerDescriptorMenu.vue';
|
import WorkerDescriptorMenu from './WorkerDescriptorMenu.vue';
|
||||||
|
import DepartmentDescriptorProxy from 'src/pages/Department/Card/DepartmentDescriptorProxy.vue';
|
||||||
|
|
||||||
const $props = defineProps({
|
const $props = defineProps({
|
||||||
id: {
|
id: {
|
||||||
|
@ -115,10 +116,13 @@ const handlePhotoUpdated = (evt = false) => {
|
||||||
:value="entity.user?.emailUser?.email"
|
:value="entity.user?.emailUser?.email"
|
||||||
copy
|
copy
|
||||||
/>
|
/>
|
||||||
<VnLv
|
<VnLv :label="t('worker.list.department')">
|
||||||
:label="t('worker.list.department')"
|
<template #value>
|
||||||
:value="entity.department ? entity.department.department.name : null"
|
<span class="link" v-text="entity.department?.department?.name" />
|
||||||
/>
|
<DepartmentDescriptorProxy :id="entity.department?.department?.id" />
|
||||||
|
</template>
|
||||||
|
</VnLv>
|
||||||
|
|
||||||
<VnLv :value="entity.phone">
|
<VnLv :value="entity.phone">
|
||||||
<template #label>
|
<template #label>
|
||||||
{{ t('globals.phone') }}
|
{{ t('globals.phone') }}
|
||||||
|
|
|
@ -66,7 +66,3 @@ const setData = (entity) => {
|
||||||
</CardDescriptor>
|
</CardDescriptor>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<i18n>
|
|
||||||
es:
|
|
||||||
Go to module index: Ir al índice del módulo
|
|
||||||
</i18n>
|
|
||||||
|
|
Loading…
Reference in New Issue