0
0
Fork 0

Merge branch 'dev' of https: refs #7553//gitea.verdnatura.es/verdnatura/salix-front into 7553_FixTicketExpedition

This commit is contained in:
Jon Elias 2024-09-04 14:15:58 +02:00
commit 65e3fd874d
17 changed files with 71 additions and 39 deletions

View File

@ -2,10 +2,6 @@
import { computed } from 'vue'; import { computed } from 'vue';
const $props = defineProps({ const $props = defineProps({
maxLength: {
type: Number,
required: true,
},
item: { item: {
type: Object, type: Object,
required: true, required: true,

View File

@ -423,7 +423,7 @@ const lockIconType = (groupingMode, mode) => {
<span v-if="props.row.item.subName" class="subName"> <span v-if="props.row.item.subName" class="subName">
{{ props.row.item.subName }} {{ props.row.item.subName }}
</span> </span>
<FetchedTags :item="props.row.item" :max-length="5" /> <FetchedTags :item="props.row.item" />
</QTd> </QTd>
</QTr> </QTr>
</template> </template>

View File

@ -319,7 +319,7 @@ const fetchEntryBuys = async () => {
<span v-if="row.item.subName" class="subName"> <span v-if="row.item.subName" class="subName">
{{ row.item.subName }} {{ row.item.subName }}
</span> </span>
<FetchedTags :item="row.item" :max-length="5" /> <FetchedTags :item="row.item" />
</QTd> </QTd>
</QTr> </QTr>
<!-- Esta última row es utilizada para agregar un espaciado y así marcar una diferencia visual entre los diferentes buys --> <!-- Esta última row es utilizada para agregar un espaciado y así marcar una diferencia visual entre los diferentes buys -->

View File

@ -436,7 +436,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
{{ row.name }} {{ row.name }}
</span> </span>
<ItemDescriptorProxy :id="row.itemFk" /> <ItemDescriptorProxy :id="row.itemFk" />
<FetchedTags :item="row" :max-length="6" /> <FetchedTags :item="row" />
</QTd> </QTd>
</template> </template>
<template #body-cell-groupingPrice="props"> <template #body-cell-groupingPrice="props">

View File

@ -517,7 +517,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
<template #body-cell-description="{ row }"> <template #body-cell-description="{ row }">
<QTd class="col"> <QTd class="col">
<span>{{ row.name }} {{ row.subName }}</span> <span>{{ row.name }} {{ row.subName }}</span>
<FetchedTags :item="row" :max-length="6" /> <FetchedTags :item="row" />
</QTd> </QTd>
</template> </template>
<template #body-cell-isActive="{ row }"> <template #body-cell-isActive="{ row }">

View File

@ -380,21 +380,6 @@ function addOrder(value, field, params) {
@click="tagValues.push({})" @click="tagValues.push({})"
/> />
</QItem> </QItem>
<!-- <QItem>
<QItemSection class="q-py-sm">
<QBtn
:label="t('Search')"
class="full-width"
color="primary"
dense
icon="search"
rounded
type="button"
unelevated
@click.stop="applyTagFilter(params, searchFn)"
/>
</QItemSection>
</QItem> -->
<QSeparator /> <QSeparator />
</template> </template>
</VnFilterPanel> </VnFilterPanel>

View File

@ -77,10 +77,6 @@ const addToOrder = async () => {
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
// .container {
// max-width: 768px;
// width: 100%;
// }
.td { .td {
width: 200px; width: 200px;
} }

View File

@ -14,6 +14,7 @@ import FetchData from 'src/components/FetchData.vue';
import VnImg from 'src/components/ui/VnImg.vue'; import VnImg from 'src/components/ui/VnImg.vue';
import VnLv from 'src/components/ui/VnLv.vue'; import VnLv from 'src/components/ui/VnLv.vue';
import FetchedTags from 'src/components/ui/FetchedTags.vue'; import FetchedTags from 'src/components/ui/FetchedTags.vue';
import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue';
const router = useRouter(); const router = useRouter();
const stateStore = useStateStore(); const stateStore = useStateStore();
@ -280,7 +281,12 @@ watch(
<VnImg :id="parseInt(row?.item?.image)" class="rounded" /> <VnImg :id="parseInt(row?.item?.image)" class="rounded" />
</div> </div>
</template> </template>
<template #column-id="{ row }">
<span class="link" @click.stop>
{{ row?.item?.id }}
<ItemDescriptorProxy :id="row?.item?.id" />
</span>
</template>
<template #column-itemFk="{ row }"> <template #column-itemFk="{ row }">
<div class="row column full-width justify-between items-start"> <div class="row column full-width justify-between items-start">
{{ row?.item?.name }} {{ row?.item?.name }}
@ -288,7 +294,7 @@ watch(
{{ row?.item?.subName.toUpperCase() }} {{ row?.item?.subName.toUpperCase() }}
</div> </div>
</div> </div>
<FetchedTags :item="row?.item" :max-length="6" /> <FetchedTags :item="row?.item" />
</template> </template>
<template #column-amount="{ row }"> <template #column-amount="{ row }">
{{ toCurrency(row.quantity * row.price) }} {{ toCurrency(row.quantity * row.price) }}

View File

@ -192,7 +192,7 @@ const detailsColumns = ref([
</span> </span>
</div> </div>
</div> </div>
<FetchedTags :item="props.row.item" :max-length="5" /> <FetchedTags :item="props.row.item" />
</QTd> </QTd>
<QTd key="quantity" :props="props"> <QTd key="quantity" :props="props">
{{ props.row.quantity }} {{ props.row.quantity }}

View File

@ -2,8 +2,9 @@
import axios from 'axios'; import axios from 'axios';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { ref } from 'vue'; import { ref, onMounted } from 'vue';
import { dashIfEmpty } from 'src/filters'; import { dashIfEmpty } from 'src/filters';
import { useStateStore } from 'stores/useStateStore';
import FetchData from 'components/FetchData.vue'; import FetchData from 'components/FetchData.vue';
import FetchedTags from 'components/ui/FetchedTags.vue'; import FetchedTags from 'components/ui/FetchedTags.vue';
@ -58,6 +59,9 @@ const loadVolumes = async (rows) => {
}); });
volumes.value = rows; volumes.value = rows;
}; };
const stateStore = useStateStore();
onMounted(async () => (stateStore.rightDrawer = false));
</script> </script>
<template> <template>
@ -84,6 +88,7 @@ const loadVolumes = async (rows) => {
@on-fetch="(data) => loadVolumes(data)" @on-fetch="(data) => loadVolumes(data)"
:right-search="false" :right-search="false"
:column-search="false" :column-search="false"
:disable-option="{ card: true }"
> >
<template #column-itemFk="{ row }"> <template #column-itemFk="{ row }">
<span class="link"> <span class="link">
@ -92,7 +97,13 @@ const loadVolumes = async (rows) => {
</span> </span>
</template> </template>
<template #column-description="{ row }"> <template #column-description="{ row }">
<FetchedTags :item="row.item" :max-length="5" /> <div class="row column full-width justify-between items-start">
{{ row?.item?.name }}
<div v-if="row?.item?.subName" class="subName">
{{ row?.item?.subName.toUpperCase() }}
</div>
</div>
<FetchedTags :item="row?.item" />
</template> </template>
<template #column-volume="{ rowIndex }"> <template #column-volume="{ rowIndex }">
{{ volumes?.[rowIndex]?.volume }} {{ volumes?.[rowIndex]?.volume }}
@ -121,6 +132,11 @@ const loadVolumes = async (rows) => {
} }
} }
} }
.subName {
color: var(--vn-label-color);
text-transform: uppercase;
}
</style> </style>
<i18n> <i18n>
en: en:

View File

@ -11,6 +11,9 @@ import VnSelect from 'src/components/common/VnSelect.vue';
import OrderSearchbar from './Card/OrderSearchbar.vue'; import OrderSearchbar from './Card/OrderSearchbar.vue';
import RightMenu from 'src/components/common/RightMenu.vue'; import RightMenu from 'src/components/common/RightMenu.vue';
import OrderFilter from './Card/OrderFilter.vue'; import OrderFilter from './Card/OrderFilter.vue';
import CustomerDescriptorProxy from '../Customer/Card/CustomerDescriptorProxy.vue';
import WorkerDescriptorProxy from '../Worker/Card/WorkerDescriptorProxy.vue';
import { toDateTimeFormat } from 'src/filters/date';
const { t } = useI18n(); const { t } = useI18n();
const { viewSummary } = useSummaryDialog(); const { viewSummary } = useSummaryDialog();
@ -75,7 +78,7 @@ const columns = computed(() => [
label: t('module.created'), label: t('module.created'),
component: 'date', component: 'date',
cardVisible: true, cardVisible: true,
format: (row) => toDate(row?.landed), format: (row) => toDateTimeFormat(row?.landed),
columnField: { columnField: {
component: null, component: null,
}, },
@ -115,6 +118,7 @@ const columns = computed(() => [
}, },
}, },
cardVisible: true, cardVisible: true,
columnClass: 'expand',
}, },
{ {
align: 'left', align: 'left',
@ -132,6 +136,7 @@ const columns = computed(() => [
title: t('InvoiceOutSummary'), title: t('InvoiceOutSummary'),
icon: 'preview', icon: 'preview',
action: (row) => viewSummary(row.id, OrderSummary), action: (row) => viewSummary(row.id, OrderSummary),
isPrimary: true,
}, },
], ],
}, },
@ -154,6 +159,16 @@ async function fetchAgencies({ landed, addressId }) {
}); });
agencyList.value = data; agencyList.value = data;
} }
const getDateColor = (date) => {
const today = Date.vnNew();
today.setHours(0, 0, 0, 0);
const timeTicket = new Date(date);
timeTicket.setHours(0, 0, 0, 0);
const comparation = today - timeTicket;
if (comparation == 0) return 'bg-warning';
if (comparation < 0) return 'bg-success';
};
</script> </script>
<template> <template>
<OrderSearchbar /> <OrderSearchbar />
@ -183,6 +198,25 @@ async function fetchAgencies({ landed, addressId }) {
:columns="columns" :columns="columns"
redirect="order" redirect="order"
> >
<template #column-clientFk="{ row }">
<span class="link" @click.stop>
{{ row?.clientName }}
<CustomerDescriptorProxy :id="row?.clientFk" />
</span>
</template>
<template #column-salesPersonFk="{ row }">
<span class="link" @click.stop>
{{ row?.name }}
<WorkerDescriptorProxy :id="row?.salesPersonFk" />
</span>
</template>
<template #column-landed="{ row }">
<span v-if="getDateColor(row.landed)">
<QChip :class="getDateColor(row.landed)" dense square>
{{ toDate(row?.landed) }}
</QChip>
</span>
</template>
<template #more-create-dialog="{ data }"> <template #more-create-dialog="{ data }">
<VnSelect <VnSelect
url="Clients" url="Clients"

View File

@ -208,7 +208,7 @@ onMounted(async () => {
<QTd no-hover> <QTd no-hover>
<span>{{ buy.subName }}</span> <span>{{ buy.subName }}</span>
<FetchedTags :item="buy" :max-length="5" /> <FetchedTags :item="buy" />
</QTd> </QTd>
<QTd no-hover> {{ dashIfEmpty(buy.quantity) }}</QTd> <QTd no-hover> {{ dashIfEmpty(buy.quantity) }}</QTd>
<QTd no-hover> {{ dashIfEmpty(buy.price) }}</QTd> <QTd no-hover> {{ dashIfEmpty(buy.price) }}</QTd>

View File

@ -245,7 +245,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
<div class="column"> <div class="column">
<span>{{ row.item.name }}</span> <span>{{ row.item.name }}</span>
<span class="color-vn-label">{{ row.item.subName }}</span> <span class="color-vn-label">{{ row.item.subName }}</span>
<FetchedTags :item="row.item" :max-length="6" /> <FetchedTags :item="row.item" />
</div> </div>
</QTd> </QTd>
</template> </template>

View File

@ -310,7 +310,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
<div class="column"> <div class="column">
<span>{{ row.item.name }}</span> <span>{{ row.item.name }}</span>
<span class="color-vn-label">{{ row.item.subName }}</span> <span class="color-vn-label">{{ row.item.subName }}</span>
<FetchedTags :item="row.item" :max-length="6" /> <FetchedTags :item="row.item" />
</div> </div>
</QTd> </QTd>
</template> </template>

View File

@ -414,7 +414,7 @@ const qCheckBoxController = (sale, action) => {
<span v-if="row.subName" class="color-vn-label"> <span v-if="row.subName" class="color-vn-label">
{{ row.subName }} {{ row.subName }}
</span> </span>
<FetchedTags :item="row" :max-length="6" tag="value" /> <FetchedTags :item="row" tag="value" />
</div> </div>
</QTd> </QTd>
</template> </template>

View File

@ -455,7 +455,6 @@ function getNoteValue(description) {
<FetchedTags <FetchedTags
class="fetched-tags" class="fetched-tags"
:item="props.row.item" :item="props.row.item"
:max-length="5"
></FetchedTags> ></FetchedTags>
</QTd> </QTd>
<QTd>{{ props.row.price }} </QTd> <QTd>{{ props.row.price }} </QTd>

View File

@ -149,7 +149,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
<template #column-concept="{ row }"> <template #column-concept="{ row }">
<span>{{ row.item.name }}</span> <span>{{ row.item.name }}</span>
<span class="color-vn-label q-pl-md">{{ row.item.subName }}</span> <span class="color-vn-label q-pl-md">{{ row.item.subName }}</span>
<FetchedTags :item="row.item" :max-length="6" /> <FetchedTags :item="row.item" />
</template> </template>
<template #column-volume="{ rowIndex }"> <template #column-volume="{ rowIndex }">
<span>{{ packingTypeVolume?.[rowIndex]?.volume }}</span> <span>{{ packingTypeVolume?.[rowIndex]?.volume }}</span>