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

This commit is contained in:
Jorge Penadés 2024-12-23 16:55:17 +01:00
commit 24d09c1841
41 changed files with 71 additions and 32 deletions

View File

@ -379,7 +379,8 @@ function handleKeyDown(event) {
</template>
<template #option="{ opt, itemProps }">
<QItem v-bind="itemProps">
<QItemSection v-if="opt[optionValue] == opt[optionLabel]">
<QItemSection v-if="typeof opt !== 'object'"> {{ opt }}</QItemSection>
<QItemSection v-else-if="opt[optionValue] == opt[optionLabel]">
<QItemLabel>{{ opt[optionLabel] }}</QItemLabel>
</QItemSection>
<QItemSection v-else>

View File

@ -861,6 +861,7 @@ components:
ended: To
mine: For me
hasMinPrice: Minimum price
warehouseFk: Warehouse
# LatestBuysFilter
salesPersonFk: Buyer
from: From

View File

@ -853,6 +853,7 @@ components:
ended: Hasta
mine: Para mi
hasMinPrice: Precio mínimo
wareHouseFk: Almacén
# LatestBuysFilter
salesPersonFk: Comprador
active: Activo

View File

@ -30,7 +30,7 @@ defineExpose({ states });
<span>{{ formatFn(tag.value) }}</span>
</div>
</template>
<template #body="{ params, searchFn }">
<template #body="{ params }">
<div class="q-pa-sm q-gutter-y-sm">
<VnInput
:label="t('claim.customerId')"
@ -49,12 +49,9 @@ defineExpose({ states });
<VnSelect
:label="t('Salesperson')"
v-model="params.salesPersonFk"
@update:model-value="searchFn()"
url="Workers/activeWithInheritedRole"
:filter="{ where: { role: 'salesPerson' } }"
:use-like="false"
option-value="id"
option-label="name"
option-filter="firstName"
dense
outlined
@ -63,12 +60,9 @@ defineExpose({ states });
<VnSelect
:label="t('claim.attendedBy')"
v-model="params.attenderFk"
@update:model-value="searchFn()"
url="Workers/activeWithInheritedRole"
:filter="{ where: { role: 'salesPerson' } }"
:use-like="false"
option-value="id"
option-label="name"
option-filter="firstName"
dense
outlined
@ -77,9 +71,7 @@ defineExpose({ states });
<VnSelect
:label="t('claim.state')"
v-model="params.claimStateFk"
@update:model-value="searchFn()"
:options="states"
option-value="id"
option-label="description"
dense
outlined
@ -87,7 +79,6 @@ defineExpose({ states });
/>
<VnInputDate
v-model="params.created"
@update:model-value="searchFn()"
:label="t('claim.created')"
outlined
rounded
@ -96,10 +87,7 @@ defineExpose({ states });
<VnSelect
:label="t('Item')"
v-model="params.itemFk"
@update:model-value="searchFn()"
url="Items/withName"
option-value="id"
option-label="name"
:use-like="false"
sort-by="id DESC"
outlined
@ -118,21 +106,26 @@ defineExpose({ states });
<VnSelect
:label="t('claim.responsible')"
v-model="params.claimResponsibleFk"
@update:model-value="searchFn()"
url="Workers/activeWithInheritedRole"
:filter="{ where: { role: 'salesPerson' } }"
:use-like="false"
option-value="id"
option-label="name"
option-filter="firstName"
dense
outlined
rounded
/>
<VnSelect
:label="t('claim.zone')"
v-model="params.zoneFk"
url="Zones"
:use-like="false"
outlined
rounded
dense
/>
<QCheckbox
v-model="params.myTeam"
:label="t('params.myTeam')"
@update:model-value="searchFn()"
toggle-indeterminate
/>
</div>
@ -153,6 +146,7 @@ en:
created: Created
myTeam: My team
itemFk: Item
zoneFk: Zone
es:
params:
search: Contiene
@ -165,6 +159,7 @@ es:
created: Creada
myTeam: Mi equipo
itemFk: Artículo
zoneFk: Zona
Client Name: Nombre del cliente
Salesperson: Comercial
Item: Artículo

View File

@ -10,6 +10,7 @@ import ClaimSummary from './Card/ClaimSummary.vue';
import { useSummaryDialog } from 'src/composables/useSummaryDialog';
import RightMenu from 'src/components/common/RightMenu.vue';
import VnTable from 'src/components/VnTable/VnTable.vue';
import ZoneDescriptorProxy from '../Zone/Card/ZoneDescriptorProxy.vue';
const { t } = useI18n();
const { viewSummary } = useSummaryDialog();
@ -95,7 +96,12 @@ const columns = computed(() => [
optionLabel: 'description',
},
},
orderBy: 'priority',
orderBy: 'cs.priority',
},
{
align: 'left',
label: t('claim.zone'),
name: 'zoneFk'
},
{
align: 'right',
@ -132,7 +138,7 @@ const STATE_COLOR = {
<VnTable
data-key="ClaimList"
url="Claims/filter"
:order="['priority ASC', 'created ASC']"
:order="['cs.priority ASC', 'created ASC']"
:columns="columns"
redirect="claim"
:right-search="false"
@ -148,6 +154,12 @@ const STATE_COLOR = {
<VnUserLink :name="row.workerName" :worker-id="row.workerFk" />
</span>
</template>
<template #column-zoneFk="{ row }">
<span class="link" @click.stop>
{{ row.zoneName }}
<ZoneDescriptorProxy :id="row.zoneId" />
</span>
</template>
</VnTable>
</template>

View File

@ -116,6 +116,7 @@ function deleteFile(dmsFk) {
<template #form="{ data }">
<VnRow>
<VnSelect
:required="true"
:label="t('supplierFk')"
v-model="data.supplierFk"
option-value="id"
@ -244,6 +245,8 @@ function deleteFile(dmsFk) {
</VnRow>
<VnRow>
<VnSelect
:required="true"
:is-clearable="false"
:label="t('Currency')"
v-model="data.currencyFk"
:options="currencies"
@ -253,6 +256,8 @@ function deleteFile(dmsFk) {
/>
<VnSelect
:required="true"
:is-clearable="false"
v-if="companiesRef"
:label="t('Company')"
v-model="data.companyFk"

View File

@ -32,7 +32,7 @@ const itemTypeWorkersOptions = ref([]);
<QItem class="q-my-md">
<QItemSection>
<VnSelect
:label="t('components.itemsFilterPanel.buyerFk')"
:label="t('params.buyerFk')"
v-model="params.buyerFk"
:options="itemTypeWorkersOptions"
option-value="id"
@ -51,7 +51,7 @@ const itemTypeWorkersOptions = ref([]);
url="Warehouses"
auto-load
:filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
:label="t('globals.warehouse')"
:label="t('params.warehouseFk')"
v-model="params.warehouseFk"
option-label="name"
option-value="id"
@ -66,7 +66,7 @@ const itemTypeWorkersOptions = ref([]);
<QItem class="q-my-md">
<QItemSection>
<VnInputDate
:label="t('components.itemsFilterPanel.started')"
:label="t('params.started')"
v-model="params.started"
is-outlined
@update:model-value="searchFn()"
@ -76,7 +76,7 @@ const itemTypeWorkersOptions = ref([]);
<QItem class="q-my-md">
<QItemSection>
<VnInputDate
:label="t('components.itemsFilterPanel.ended')"
:label="t('params.ended')"
v-model="params.ended"
is-outlined
@update:model-value="searchFn()"
@ -86,7 +86,7 @@ const itemTypeWorkersOptions = ref([]);
<QItem>
<QItemSection>
<QCheckbox
:label="t('components.itemsFilterPanel.mine')"
:label="t('params.mine')"
v-model="params.mine"
toggle-indeterminate
@update:model-value="searchFn()"
@ -94,14 +94,14 @@ const itemTypeWorkersOptions = ref([]);
<QCheckbox
v-model="params.showBadDates"
:label="t(`components.itemsFilterPanel.showBadDates`)"
:label="t(`params.showBadDates`)"
toggle-indeterminate
@update:model-value="searchFn()"
>
</QCheckbox>
<QCheckbox
:label="t('components.itemsFilterPanel.hasMinPrice')"
:label="t('params.hasMinPrice')"
v-model="params.hasMinPrice"
toggle-indeterminate
@update:model-value="searchFn()"
@ -111,3 +111,23 @@ const itemTypeWorkersOptions = ref([]);
</template>
</ItemsFilterPanel>
</template>
<i18n>
en:
params:
buyerFk: Buyer
warehouseFk: Warehouse
started: Started
ended: Ended
mine: Mine
showBadDates: Show future items
hasMinPrice: Has Min Price
es:
params:
buyerFk: Comprador
warehouseFk: Almacén
started: Desde
ended: Hasta
mine: Para mi
showBadDates: Ver items a futuro
hasMinPrice: Precio mínimo
</i18n>

View File

@ -281,6 +281,7 @@ en:
problems: With problems
pending: Pending
alertLevel: Grouped State
department: Department
FREE: Free
DELIVERED: Delivered
ON_PREPARATION: On preparation
@ -300,6 +301,7 @@ es:
problems: Con problemas
pending: Pendiente
alertLevel: Estado agrupado
department: Departamento
FREE: Libre
DELIVERED: Servido
ON_PREPARATION: En preparación

View File

@ -71,9 +71,11 @@ onMounted(async () => (stateStore.rightDrawer = false));
auto-load
/>
<QCard v-if="volumeSummary" class="order-volume-summary q-pa-lg">
<VnLv :label="t('total')" :value="`${volumeSummary?.totalVolume} m³`" />
<VnLv
:label="`${t('total')}: `"
:value="`${volumeSummary?.totalVolume} m³`" />
<VnLv
:label="t('boxes')"
:label="`${t('boxes')}: `"
:value="`${dashIfEmpty(volumeSummary?.totalBoxes)} U`"
/>
</QCard>
@ -111,12 +113,12 @@ onMounted(async () => (stateStore.rightDrawer = false));
</VnTable>
</template>
<style lang="scss">
<style lang="scss" scoped>
.order-volume-summary {
.vn-label-value {
display: flex;
justify-content: flex-end;
gap: 2%;
gap: 0.5%;
.label {
color: var(--vn-label-color);

View File

@ -13,7 +13,7 @@ export default defineConfig({
include: [
// Matches vitest tests in any subfolder of 'src' or into 'test/vitest/__tests__'
// Matches all files with extension 'js', 'jsx', 'ts' and 'tsx'
'test/vitest/__tests__/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}',
'src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}',
],
},
plugins: [