fix: hotfix mix #1095
|
@ -361,7 +361,7 @@ function handleOnDataSave({ CrudModelRef }) {
|
||||||
@on-fetch="(data) => (warehousesOptions = data)"
|
@on-fetch="(data) => (warehousesOptions = data)"
|
||||||
auto-load
|
auto-load
|
||||||
url="Warehouses"
|
url="Warehouses"
|
||||||
:filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
|
:filter="{ fields: ['id', 'name'], order: 'name ASC' }"
|
||||||
/>
|
/>
|
||||||
<RightMenu>
|
<RightMenu>
|
||||||
<template #right-panel>
|
<template #right-panel>
|
||||||
|
@ -394,191 +394,186 @@ function handleOnDataSave({ CrudModelRef }) {
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</VnSubToolbar>
|
</VnSubToolbar>
|
||||||
<QPage>
|
<VnTable
|
||||||
<VnTable
|
@on-fetch="
|
||||||
@on-fetch="
|
(data) =>
|
||||||
(data) =>
|
data.forEach((item) => {
|
||||||
data.forEach((item) => {
|
item.hasMinPrice = `${item.hasMinPrice !== 0}`;
|
||||||
item.hasMinPrice = `${item.hasMinPrice !== 0}`;
|
})
|
||||||
})
|
"
|
||||||
"
|
:default-remove="false"
|
||||||
:default-remove="false"
|
:default-reset="false"
|
||||||
:default-reset="false"
|
:default-save="false"
|
||||||
:default-save="false"
|
data-key="ItemFixedPrices"
|
||||||
data-key="ItemFixedPrices"
|
url="FixedPrices/filter"
|
||||||
url="FixedPrices/filter"
|
:order="['itemFk DESC', 'name DESC']"
|
||||||
:order="['itemFk DESC', 'name DESC']"
|
save-url="FixedPrices/crud"
|
||||||
save-url="FixedPrices/crud"
|
ref="tableRef"
|
||||||
ref="tableRef"
|
dense
|
||||||
dense
|
:filter="{
|
||||||
:filter="{
|
where: {
|
||||||
where: {
|
warehouseFk: user.warehouseFk,
|
||||||
warehouseFk: user.warehouseFk,
|
},
|
||||||
},
|
}"
|
||||||
}"
|
:columns="columns"
|
||||||
:columns="columns"
|
default-mode="table"
|
||||||
default-mode="table"
|
auto-load
|
||||||
auto-load
|
:is-editable="true"
|
||||||
:is-editable="true"
|
:right-search="false"
|
||||||
:right-search="false"
|
:table="{
|
||||||
:table="{
|
'row-key': 'id',
|
||||||
'row-key': 'id',
|
selection: 'multiple',
|
||||||
selection: 'multiple',
|
}"
|
||||||
}"
|
:use-model="true"
|
||||||
:crud-model="{
|
v-model:selected="rowsSelected"
|
||||||
disableInfiniteScroll: true,
|
:create-as-dialog="false"
|
||||||
}"
|
:create="{
|
||||||
v-model:selected="rowsSelected"
|
onDataSaved: handleOnDataSave,
|
||||||
:create-as-dialog="false"
|
}"
|
||||||
:create="{
|
:disable-option="{ card: true }"
|
||||||
onDataSaved: handleOnDataSave,
|
>
|
||||||
}"
|
<template #header-selection="scope">
|
||||||
:use-model="true"
|
<QCheckbox v-model="scope.selected" />
|
||||||
|
|||||||
:disable-option="{ card: true }"
|
</template>
|
||||||
>
|
<template #body-selection="scope">
|
||||||
<template #header-selection="scope">
|
{{ scope }}
|
||||||
<QCheckbox v-model="scope.selected" />
|
<QCheckbox flat v-model="scope.selected" />
|
||||||
</template>
|
</template>
|
||||||
<template #body-selection="scope">
|
|
||||||
{{ scope }}
|
|
||||||
<QCheckbox flat v-model="scope.selected" />
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<template #column-itemFk="props">
|
<template #column-itemFk="props">
|
||||||
<VnSelect
|
<VnSelect
|
||||||
style="max-width: 100px"
|
style="max-width: 100px"
|
||||||
url="Items/withName"
|
url="Items/withName"
|
||||||
hide-selected
|
hide-selected
|
||||||
option-label="id"
|
option-label="id"
|
||||||
option-value="id"
|
option-value="id"
|
||||||
v-model="props.row.itemFk"
|
v-model="props.row.itemFk"
|
||||||
v-on="getRowUpdateInputEvents(props, true, 'select')"
|
v-on="getRowUpdateInputEvents(props, true, 'select')"
|
||||||
|
>
|
||||||
|
<template #option="scope">
|
||||||
|
<QItem v-bind="scope.itemProps">
|
||||||
|
<QItemSection>
|
||||||
|
<QItemLabel> #{{ scope.opt?.id }} </QItemLabel>
|
||||||
|
<QItemLabel caption>{{ scope.opt?.name }}</QItemLabel>
|
||||||
|
</QItemSection>
|
||||||
|
</QItem>
|
||||||
|
</template>
|
||||||
|
</VnSelect>
|
||||||
|
</template>
|
||||||
|
<template #column-name="{ row }">
|
||||||
|
<span class="link">
|
||||||
|
{{ row.name }}
|
||||||
|
</span>
|
||||||
|
<span class="subName">{{ row.subName }}</span>
|
||||||
|
<ItemDescriptorProxy :id="row.itemFk" />
|
||||||
|
<FetchedTags :item="row" />
|
||||||
|
</template>
|
||||||
|
<template #column-rate2="props">
|
||||||
|
<QTd class="col">
|
||||||
|
<VnInput
|
||||||
|
type="currency"
|
||||||
|
style="width: 75px"
|
||||||
|
v-model.number="props.row.rate2"
|
||||||
|
v-on="getRowUpdateInputEvents(props)"
|
||||||
>
|
>
|
||||||
<template #option="scope">
|
<template #append>€</template>
|
||||||
<QItem v-bind="scope.itemProps">
|
</VnInput>
|
||||||
<QItemSection>
|
</QTd>
|
||||||
<QItemLabel> #{{ scope.opt?.id }} </QItemLabel>
|
</template>
|
||||||
<QItemLabel caption>{{ scope.opt?.name }}</QItemLabel>
|
<template #column-rate3="props">
|
||||||
</QItemSection>
|
<QTd class="col">
|
||||||
</QItem>
|
<VnInput
|
||||||
</template>
|
style="width: 75px"
|
||||||
</VnSelect>
|
type="currency"
|
||||||
</template>
|
v-model.number="props.row.rate3"
|
||||||
<template #column-name="{ row }">
|
v-on="getRowUpdateInputEvents(props)"
|
||||||
<span class="link">
|
>
|
||||||
{{ row.name }}
|
<template #append>€</template>
|
||||||
</span>
|
</VnInput>
|
||||||
<span class="subName">{{ row.subName }}</span>
|
</QTd>
|
||||||
<ItemDescriptorProxy :id="row.itemFk" />
|
</template>
|
||||||
<FetchedTags :item="row" />
|
<template #column-minPrice="props">
|
||||||
</template>
|
<QTd class="col">
|
||||||
<template #column-rate2="props">
|
<div class="row" style="align-items: center">
|
||||||
<QTd class="col">
|
<QCheckbox
|
||||||
<VnInput
|
:model-value="props.row.hasMinPrice"
|
||||||
type="currency"
|
@update:model-value="updateMinPrice($event, props)"
|
||||||
style="width: 75px"
|
:false-value="'false'"
|
||||||
v-model.number="props.row.rate2"
|
:true-value="'true'"
|
||||||
v-on="getRowUpdateInputEvents(props)"
|
|
||||||
>
|
|
||||||
<template #append>€</template>
|
|
||||||
</VnInput>
|
|
||||||
</QTd>
|
|
||||||
</template>
|
|
||||||
<template #column-rate3="props">
|
|
||||||
<QTd class="col">
|
|
||||||
<VnInput
|
|
||||||
style="width: 75px"
|
|
||||||
type="currency"
|
|
||||||
v-model.number="props.row.rate3"
|
|
||||||
v-on="getRowUpdateInputEvents(props)"
|
|
||||||
>
|
|
||||||
<template #append>€</template>
|
|
||||||
</VnInput>
|
|
||||||
</QTd>
|
|
||||||
</template>
|
|
||||||
<template #column-minPrice="props">
|
|
||||||
<QTd class="col">
|
|
||||||
<div class="row" style="align-items: center">
|
|
||||||
<QCheckbox
|
|
||||||
:model-value="props.row.hasMinPrice"
|
|
||||||
@update:model-value="updateMinPrice($event, props)"
|
|
||||||
:false-value="'false'"
|
|
||||||
:true-value="'true'"
|
|
||||||
/>
|
|
||||||
<VnInput
|
|
||||||
class="col"
|
|
||||||
type="currency"
|
|
||||||
mask="###.##"
|
|
||||||
:disable="props.row.hasMinPrice === 1"
|
|
||||||
v-model.number="props.row.minPrice"
|
|
||||||
v-on="getRowUpdateInputEvents(props)"
|
|
||||||
>
|
|
||||||
<template #append>€</template>
|
|
||||||
</VnInput>
|
|
||||||
</div>
|
|
||||||
</QTd>
|
|
||||||
</template>
|
|
||||||
<template #column-started="props">
|
|
||||||
<VnInputDate
|
|
||||||
class="vnInputDate"
|
|
||||||
:show-event="true"
|
|
||||||
v-model="props.row.started"
|
|
||||||
v-on="getRowUpdateInputEvents(props, false, 'date')"
|
|
||||||
v-bind="dateStyle(isBigger(props.row.started))"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
<template #column-ended="props">
|
|
||||||
<VnInputDate
|
|
||||||
class="vnInputDate"
|
|
||||||
:show-event="true"
|
|
||||||
v-model="props.row.ended"
|
|
||||||
v-on="getRowUpdateInputEvents(props, false, 'date')"
|
|
||||||
v-bind="dateStyle(isLower(props.row.ended))"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
<template #column-warehouseFk="props">
|
|
||||||
<QTd class="col">
|
|
||||||
<VnSelect
|
|
||||||
style="max-width: 150px"
|
|
||||||
:options="warehousesOptions"
|
|
||||||
hide-selected
|
|
||||||
option-label="name"
|
|
||||||
option-value="id"
|
|
||||||
v-model="props.row.warehouseFk"
|
|
||||||
v-on="getRowUpdateInputEvents(props, false, 'select')"
|
|
||||||
/>
|
/>
|
||||||
</QTd>
|
<VnInput
|
||||||
</template>
|
class="col"
|
||||||
<template #column-deleteAction="{ row, rowIndex }">
|
type="currency"
|
||||||
<QIcon
|
mask="###.##"
|
||||||
name="delete"
|
:disable="props.row.hasMinPrice === 1"
|
||||||
size="sm"
|
v-model.number="props.row.minPrice"
|
||||||
class="cursor-pointer fill-icon-on-hover"
|
v-on="getRowUpdateInputEvents(props)"
|
||||||
color="primary"
|
>
|
||||||
@click.stop="
|
<template #append>€</template>
|
||||||
openConfirmationModal(
|
</VnInput>
|
||||||
t('globals.rowWillBeRemoved'),
|
</div>
|
||||||
t('Do you want to clone this item?'),
|
</QTd>
|
||||||
() => removePrice(row.id, rowIndex)
|
</template>
|
||||||
)
|
<template #column-started="props">
|
||||||
"
|
<VnInputDate
|
||||||
>
|
class="vnInputDate"
|
||||||
<QTooltip class="text-no-wrap">
|
:show-event="true"
|
||||||
{{ t('globals.delete') }}
|
v-model="props.row.started"
|
||||||
</QTooltip>
|
v-on="getRowUpdateInputEvents(props, false, 'date')"
|
||||||
</QIcon>
|
v-bind="dateStyle(isBigger(props.row.started))"
|
||||||
</template>
|
|
||||||
</VnTable>
|
|
||||||
|
|
||||||
<QDialog ref="editTableCellDialogRef">
|
|
||||||
<EditTableCellValueForm
|
|
||||||
edit-url="FixedPrices/editFixedPrice"
|
|
||||||
:rows="rowsSelected"
|
|
||||||
:fields-options="editTableFieldsOptions"
|
|
||||||
@on-data-saved="onEditCellDataSaved()"
|
|
||||||
/>
|
/>
|
||||||
</QDialog>
|
</template>
|
||||||
</QPage>
|
<template #column-ended="props">
|
||||||
|
<VnInputDate
|
||||||
|
class="vnInputDate"
|
||||||
|
:show-event="true"
|
||||||
|
v-model="props.row.ended"
|
||||||
|
v-on="getRowUpdateInputEvents(props, false, 'date')"
|
||||||
|
v-bind="dateStyle(isLower(props.row.ended))"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<template #column-warehouseFk="props">
|
||||||
|
<QTd class="col">
|
||||||
|
<VnSelect
|
||||||
|
style="max-width: 150px"
|
||||||
|
:options="warehousesOptions"
|
||||||
|
hide-selected
|
||||||
|
option-label="name"
|
||||||
|
option-value="id"
|
||||||
|
v-model="props.row.warehouseFk"
|
||||||
|
v-on="getRowUpdateInputEvents(props, false, 'select')"
|
||||||
|
/>
|
||||||
|
</QTd>
|
||||||
|
</template>
|
||||||
|
<template #column-deleteAction="{ row, rowIndex }">
|
||||||
|
<QIcon
|
||||||
|
name="delete"
|
||||||
|
size="sm"
|
||||||
|
class="cursor-pointer fill-icon-on-hover"
|
||||||
|
color="primary"
|
||||||
|
@click.stop="
|
||||||
|
openConfirmationModal(
|
||||||
|
t('globals.rowWillBeRemoved'),
|
||||||
|
t('Do you want to clone this item?'),
|
||||||
|
() => removePrice(row.id, rowIndex)
|
||||||
|
)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<QTooltip class="text-no-wrap">
|
||||||
|
{{ t('globals.delete') }}
|
||||||
|
</QTooltip>
|
||||||
|
</QIcon>
|
||||||
|
</template>
|
||||||
|
</VnTable>
|
||||||
|
|
||||||
|
<QDialog ref="editTableCellDialogRef">
|
||||||
|
<EditTableCellValueForm
|
||||||
|
edit-url="FixedPrices/editFixedPrice"
|
||||||
|
:rows="rowsSelected"
|
||||||
|
:fields-options="editTableFieldsOptions"
|
||||||
|
@on-data-saved="onEditCellDataSaved()"
|
||||||
|
/>
|
||||||
|
</QDialog>
|
||||||
</template>
|
</template>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.q-table th,
|
.q-table th,
|
||||||
|
|
|
@ -23,13 +23,13 @@ const countriesOptions = ref([]);
|
||||||
<template>
|
<template>
|
||||||
<FetchData
|
<FetchData
|
||||||
url="Provinces"
|
url="Provinces"
|
||||||
:filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
|
:filter="{ fields: ['id', 'name'], order: 'name ASC'}"
|
||||||
@on-fetch="(data) => (provincesOptions = data)"
|
@on-fetch="(data) => (provincesOptions = data)"
|
||||||
auto-load
|
auto-load
|
||||||
/>
|
/>
|
||||||
<FetchData
|
<FetchData
|
||||||
url="countries"
|
url="countries"
|
||||||
:filter="{ fields: ['id', 'name'], order: 'name ASC', limit: 30 }"
|
:filter="{ fields: ['id', 'name'], order: 'name ASC'}"
|
||||||
@on-fetch="(data) => (countriesOptions = data)"
|
@on-fetch="(data) => (countriesOptions = data)"
|
||||||
auto-load
|
auto-load
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -8,7 +8,7 @@ import VnLv from 'src/components/ui/VnLv.vue';
|
||||||
import VnTitle from 'src/components/common/VnTitle.vue';
|
import VnTitle from 'src/components/common/VnTitle.vue';
|
||||||
import EntryDescriptorProxy from 'src/pages/Entry/Card/EntryDescriptorProxy.vue';
|
import EntryDescriptorProxy from 'src/pages/Entry/Card/EntryDescriptorProxy.vue';
|
||||||
import FetchData from 'src/components/FetchData.vue';
|
import FetchData from 'src/components/FetchData.vue';
|
||||||
|
import VnRow from 'components/ui/VnRow.vue';
|
||||||
import { toDate, toCurrency } from 'src/filters';
|
import { toDate, toCurrency } from 'src/filters';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
|
@ -256,16 +256,20 @@ const getLink = (param) => `#/travel/${entityId.value}/${param}`;
|
||||||
:label="t('globals.warehouseOut')"
|
:label="t('globals.warehouseOut')"
|
||||||
:value="travel.warehouseOut?.name"
|
:value="travel.warehouseOut?.name"
|
||||||
/>
|
/>
|
||||||
<QCheckbox
|
<VnRow>
|
||||||
:label="t('travel.basicData.isRaid')"
|
<QCheckbox
|
||||||
v-model="travel.isRaid"
|
:label="t('travel.basicData.isRaid')"
|
||||||
:disable="true"
|
v-model="travel.isRaid"
|
||||||
/>
|
:disable="true"
|
||||||
<QCheckbox
|
/>
|
||||||
:label="t('travel.summary.delivered')"
|
</VnRow>
|
||||||
v-model="travel.isDelivered"
|
<VnRow>
|
||||||
:disable="true"
|
<QCheckbox
|
||||||
/>
|
:label="t('travel.summary.delivered')"
|
||||||
|
v-model="travel.isDelivered"
|
||||||
|
:disable="true"
|
||||||
|
/>
|
||||||
|
</VnRow>
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<QCardSection class="q-pa-none">
|
<QCardSection class="q-pa-none">
|
||||||
|
@ -320,7 +324,6 @@ const getLink = (param) => `#/travel/${entityId.value}/${param}`;
|
||||||
<QTd>
|
<QTd>
|
||||||
<QCheckbox
|
<QCheckbox
|
||||||
v-if="col.name === 'isConfirmed'"
|
v-if="col.name === 'isConfirmed'"
|
||||||
:label="t('travel.summary.received')"
|
|
||||||
:true-value="1"
|
:true-value="1"
|
||||||
:false-value="0"
|
:false-value="0"
|
||||||
v-model="row[col.name]"
|
v-model="row[col.name]"
|
||||||
|
|
|
@ -77,7 +77,6 @@ defineExpose({ states });
|
||||||
:label="t('travel.shipped')"
|
:label="t('travel.shipped')"
|
||||||
v-model="params.shipped"
|
v-model="params.shipped"
|
||||||
@update:model-value="searchFn()"
|
@update:model-value="searchFn()"
|
||||||
dense
|
|
||||||
outlined
|
outlined
|
||||||
rounded
|
rounded
|
||||||
/>
|
/>
|
||||||
|
@ -153,7 +152,7 @@ es:
|
||||||
Id: Id
|
Id: Id
|
||||||
ref: Referencia
|
ref: Referencia
|
||||||
agency: Agencia
|
agency: Agencia
|
||||||
warehouseInFk: Alm.Salida
|
warehouseInFk: Alm.Entrada
|
||||||
shipped: F.Envío
|
shipped: F.Envío
|
||||||
shipmentHour: Hora de envío
|
shipmentHour: Hora de envío
|
||||||
warehouseOut: Alm.Entrada
|
warehouseOut: Alm.Entrada
|
||||||
|
|
|
@ -54,7 +54,9 @@ const columns = computed(() => [
|
||||||
name: 'id',
|
name: 'id',
|
||||||
label: t('globals.id'),
|
label: t('globals.id'),
|
||||||
isId: true,
|
isId: true,
|
||||||
cardVisible: true,
|
chip: {
|
||||||
|
condition: () => true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
@ -64,7 +66,7 @@ const columns = computed(() => [
|
||||||
columnField: {
|
columnField: {
|
||||||
component: null,
|
component: null,
|
||||||
},
|
},
|
||||||
cardVisible: true,
|
isTitle: true,
|
||||||
create: true,
|
create: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -103,14 +105,14 @@ const columns = computed(() => [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
name: 'shipped',
|
|
||||||
label: t('globals.shipped'),
|
label: t('globals.shipped'),
|
||||||
|
name: 'shipped',
|
||||||
|
create: true,
|
||||||
|
cardVisible: true,
|
||||||
component: 'date',
|
component: 'date',
|
||||||
columnField: {
|
columnField: {
|
||||||
component: null,
|
component: null,
|
||||||
},
|
},
|
||||||
cardVisible: true,
|
|
||||||
create: true,
|
|
||||||
format: (row, dashIfEmpty) => dashIfEmpty(toDate(row.shipped)),
|
format: (row, dashIfEmpty) => dashIfEmpty(toDate(row.shipped)),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -201,7 +203,7 @@ const columns = computed(() => [
|
||||||
/>
|
/>
|
||||||
<RightMenu>
|
<RightMenu>
|
||||||
<template #right-panel>
|
<template #right-panel>
|
||||||
<TravelFilter data-key="TravelList" ref="travelFilterRef" />
|
<TravelFilter data-key="TravelList" />
|
||||||
</template>
|
</template>
|
||||||
</RightMenu>
|
</RightMenu>
|
||||||
<VnTable
|
<VnTable
|
||||||
|
|
Loading…
Reference in New Issue
🍊