PR-CUSTOMER #186
|
@ -154,6 +154,7 @@ export default {
|
|||
customerId: 'Claim ID',
|
||||
salesPerson: 'Sales person',
|
||||
credit: 'Credit',
|
||||
risk: 'Risk',
|
||||
securedCredit: 'Secured credit',
|
||||
payMethod: 'Pay method',
|
||||
debt: 'Debt',
|
||||
|
|
|
@ -153,6 +153,7 @@ export default {
|
|||
customerId: 'ID cliente',
|
||||
salesPerson: 'Comercial',
|
||||
credit: 'Crédito',
|
||||
risk: 'Riesgo',
|
||||
securedCredit: 'Crédito asegurado',
|
||||
payMethod: 'Método de pago',
|
||||
debt: 'Riesgo',
|
||||
|
|
|
@ -77,9 +77,20 @@ const onSubmit = async () => {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
jsegarra marked this conversation as resolved
|
||||
<Teleport to="#st-actions">
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.save')"
|
||||
:loading="isLoading"
|
||||
@click="onSubmit"
|
||||
color="primary"
|
||||
icon="save"
|
||||
/>
|
||||
</Teleport>
|
||||
jsegarra marked this conversation as resolved
Outdated
jsegarra
commented
Te deja cualquier cosa Te deja cualquier cosa
cfonseca
commented
Corregido: Corregido: ab20ec1738
|
||||
|
||||
<QCard class="q-pa-lg">
|
||||
<QCardSection>
|
||||
jsegarra marked this conversation as resolved
Outdated
jsegarra
commented
No funciona si has dado a guardar. No funciona si has dado a guardar.
Puedes eliminar la primera pero si añades una fila y le das a guardar, reaparece.
cfonseca
commented
Corregido: Corregido: d0e98010a5
|
||||
<QForm @submit.prevent="onSubmit">
|
||||
<QForm>
|
||||
<VnRow
|
||||
:key="index"
|
||||
class="row q-gutter-md q-mb-md"
|
||||
|
@ -113,28 +124,16 @@ const onSubmit = async () => {
|
|||
</div>
|
||||
</VnRow>
|
||||
|
||||
<div class="flex justify-between q-mt-xl">
|
||||
<div class="flex items-center">
|
||||
<QIcon
|
||||
@click.stop="addNote({ name: '', phone: '', isNew: true })"
|
||||
class="cursor-pointer add-icon"
|
||||
name="add"
|
||||
size="sm"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ t('Add contact') }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
</div>
|
||||
|
||||
<QBtn
|
||||
:label="t('globals.save')"
|
||||
type="submit"
|
||||
color="primary"
|
||||
:disabled="isLoading"
|
||||
:loading="isLoading"
|
||||
/>
|
||||
</div>
|
||||
<QIcon
|
||||
@click.stop="addNote({ name: '', phone: '', isNew: true })"
|
||||
class="cursor-pointer add-icon q-mt-lg"
|
||||
name="add"
|
||||
size="sm"
|
||||
>
|
||||
<QTooltip>
|
||||
{{ t('Add contact') }}
|
||||
</QTooltip>
|
||||
</QIcon>
|
||||
</QForm>
|
||||
</QCardSection>
|
||||
</QCard>
|
||||
|
|
|
@ -57,7 +57,21 @@ const setData = (entity) => (data.value = useCardDescription(entity.name, entity
|
|||
/>
|
||||
</template>
|
||||
</VnLv>
|
||||
<VnLv :label="t('customer.card.credit')" :value="toCurrency(entity.credit)" />
|
||||
<VnLv
|
||||
:label="t('customer.card.credit')"
|
||||
:value="toCurrency(entity.credit)"
|
||||
class="col-11"
|
||||
/>
|
||||
<div class="row">
|
||||
<VnLv
|
||||
:label="t('customer.card.risk')"
|
||||
:value="toCurrency(entity.debt)"
|
||||
class="col-11"
|
||||
/>
|
||||
<QIcon name="info" size="xs" class="col-1 color-vn-label">
|
||||
<QTooltip>{{ t('info') }}</QTooltip>
|
||||
</QIcon>
|
||||
</div>
|
||||
<VnLv
|
||||
:label="t('customer.card.securedCredit')"
|
||||
:value="toCurrency(entity.creditInsurance)"
|
||||
|
@ -155,11 +169,13 @@ const setData = (entity) => (data.value = useCardDescription(entity.name, entity
|
|||
{
|
||||
"en": {
|
||||
"ticketList": "Customer ticket list",
|
||||
"invoiceOutList": "Customer invoice out list"
|
||||
"invoiceOutList": "Customer invoice out list",
|
||||
"info": "Invoices minus payments plus orders not yet"
|
||||
},
|
||||
"es": {
|
||||
"ticketList": "Listado de tickets del cliente",
|
||||
"invoiceOutList": "Listado de facturas del cliente"
|
||||
"invoiceOutList": "Listado de facturas del cliente",
|
||||
"info": "Facturas menos recibos mas pedidos sin facturar"
|
||||
}
|
||||
}
|
||||
</i18n>
|
||||
|
|
|
@ -45,16 +45,17 @@ const showChangePasswordDialog = () => {
|
|||
componentProps: {
|
||||
id: route.params.id,
|
||||
userPasswords: userPasswords.value,
|
||||
promise: getData,
|
||||
promise: usersPreviewRef.value.fetch(),
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const getData = (data) => {
|
||||
active.value = data[0].active;
|
||||
email.value = data[0].email;
|
||||
name.value = data[0].name;
|
||||
user.value = data[0];
|
||||
const setInitialData = () => {
|
||||
if (user.value.length) {
|
||||
active.value = user.value[0].active;
|
||||
email.value = user.value[0].email;
|
||||
name.value = user.value[0].name;
|
||||
}
|
||||
};
|
||||
|
||||
const onSubmit = async () => {
|
||||
|
@ -80,7 +81,12 @@ const onSubmit = async () => {
|
|||
<template>
|
||||
<FetchData
|
||||
:filter="filter"
|
||||
@on-fetch="getData"
|
||||
@on-fetch="
|
||||
(data) => {
|
||||
user = data;
|
||||
setInitialData();
|
||||
}
|
||||
"
|
||||
auto-load
|
||||
ref="usersPreviewRef"
|
||||
url="VnUsers/preview"
|
||||
|
@ -96,9 +102,42 @@ const onSubmit = async () => {
|
|||
url="UserPasswords"
|
||||
/>
|
||||
|
||||
<Teleport to="#st-actions">
|
||||
<QBtnGroup push class="q-gutter-x-sm">
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.reset')"
|
||||
:loading="isLoading"
|
||||
@click="setInitialData"
|
||||
color="primary"
|
||||
flat
|
||||
icon="restart_alt"
|
||||
type="reset"
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('Change password')"
|
||||
:loading="isLoading"
|
||||
@click.stop="showChangePasswordDialog()"
|
||||
color="primary"
|
||||
flat
|
||||
icon="edit"
|
||||
v-if="canChangePassword"
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading || !dataChanges"
|
||||
:label="t('globals.save')"
|
||||
:loading="isLoading"
|
||||
@click="onSubmit"
|
||||
color="primary"
|
||||
icon="save"
|
||||
/>
|
||||
</QBtnGroup>
|
||||
</Teleport>
|
||||
|
||||
<QCard class="q-pa-lg">
|
||||
<QCardSection>
|
||||
<QForm @submit.prevent="onSubmit">
|
||||
<QForm>
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
<QCheckbox :label="t('Enable web access')" v-model="active" />
|
||||
|
@ -129,35 +168,6 @@ const onSubmit = async () => {
|
|||
</VnInput>
|
||||
</div>
|
||||
</VnRow>
|
||||
|
||||
<div class="q-mt-lg row justify-end">
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.cancel')"
|
||||
:loading="isLoading"
|
||||
class="q-mr-sm"
|
||||
color="primary"
|
||||
flat
|
||||
type="reset"
|
||||
v-close-popup
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('Change password')"
|
||||
:loading="isLoading"
|
||||
@click.stop="showChangePasswordDialog()"
|
||||
class="q-mr-sm"
|
||||
color="primary"
|
||||
v-if="canChangePassword"
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading || !dataChanges"
|
||||
:label="t('globals.save')"
|
||||
:loading="isLoading"
|
||||
color="primary"
|
||||
type="submit"
|
||||
/>
|
||||
</div>
|
||||
</QForm>
|
||||
</QCardSection>
|
||||
</QCard>
|
||||
|
|
|
@ -95,6 +95,16 @@ const toCustomerAddress = () => {
|
|||
@on-data-saved="toCustomerAddress()"
|
||||
model="client"
|
||||
>
|
||||
<template #moreActions>
|
||||
<QBtn
|
||||
:label="t('globals.cancel')"
|
||||
@click="toCustomerAddress"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
jsegarra marked this conversation as resolved
Outdated
jsegarra
commented
El layout debe tener(salto de linea = 1 fila) El layout debe tener(salto de linea = 1 fila)
1 checkbox
2 inputs
El componente VnLocation ocupa toda la fila
3 inputs
1 inputs y un input con el botón de crear
cfonseca
commented
Corregido: Corregido: 38d3d49ecb
|
||||
</template>
|
||||
|
||||
<template #form="{ data, validate }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<script setup>
|
||||
import { onBeforeMount, ref } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
|
||||
import axios from 'axios';
|
||||
|
||||
|
@ -16,6 +16,7 @@ import CustomsNewCustomsAgent from 'src/pages/Customer/components/CustomerNewCus
|
|||
|
||||
const { t } = useI18n();
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
|
||||
const townsFetchDataRef = ref(null);
|
||||
const postcodeFetchDataRef = ref(null);
|
||||
|
@ -91,11 +92,21 @@ const deleteNote = (index) => {
|
|||
notes.value.splice(index, 1);
|
||||
};
|
||||
|
||||
const onDataSaved = () => {
|
||||
const onDataSaved = async () => {
|
||||
const payload = {
|
||||
creates: notes.value,
|
||||
};
|
||||
axios.post('AddressObservations/crud', payload);
|
||||
await axios.post('AddressObservations/crud', payload);
|
||||
jgallego
commented
http://localhost:9000/#/customer/6/address/259/edit http://localhost:9000/#/customer/6/address/259/edit
se añade una primera observacion en itemPicker funciona bien, al añadir una segunda en Delivery dice que no se puede repetir. Esto mismo en salix sí funciona.
cfonseca
commented
Corregido: Corregido: 2c70a73b8e
jsegarra
commented
Yo he probado a guardar Packager, delivery e ItemPicker y ha guardado resultados. Yo he probado a guardar Packager, delivery e ItemPicker y ha guardado resultados.
Yo lo veo OK
|
||||
toCustomerAddress();
|
||||
};
|
||||
|
||||
const toCustomerAddress = () => {
|
||||
router.push({
|
||||
name: 'CustomerAddress',
|
||||
params: {
|
||||
id: route.params.id,
|
||||
},
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
|
@ -138,6 +149,16 @@ const onDataSaved = () => {
|
|||
auto-load
|
||||
model="client"
|
||||
>
|
||||
<template #moreActions>
|
||||
<QBtn
|
||||
:label="t('globals.cancel')"
|
||||
@click="toCustomerAddress"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template #form="{ data, validate }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
|
|
|
@ -16,8 +16,8 @@ const initialData = reactive({
|
|||
clientFK: Number(route.params.id),
|
||||
});
|
||||
|
||||
const onDataSaved = () => {
|
||||
router.push({ name: 'CustomerCreditContractsCreate' });
|
||||
const toCustomerCreditContracts = () => {
|
||||
router.push({ name: 'CustomerCreditContracts' });
|
||||
};
|
||||
</script>
|
||||
|
||||
|
@ -27,8 +27,18 @@ const onDataSaved = () => {
|
|||
:observe-form-changes="false"
|
||||
:default-actions="true"
|
||||
jsegarra marked this conversation as resolved
jsegarra
commented
Por defecto, el valor es true, así que creo que no es necesario definirla Por defecto, el valor es true, así que creo que no es necesario definirla
cfonseca
commented
Corregido: Corregido: 38d3d49ecb
|
||||
url-create="creditClassifications/createWithInsurance"
|
||||
@on-data-saved="onDataSaved()"
|
||||
@on-data-saved="toCustomerCreditContracts()"
|
||||
>
|
||||
<template #moreActions>
|
||||
<QBtn
|
||||
jsegarra marked this conversation as resolved
Outdated
jsegarra
commented
Los campos nos son clearables Los campos nos son clearables
cfonseca
commented
Corregido: Corregido: 7f1c4690e8
|
||||
:label="t('globals.cancel')"
|
||||
@click="toCustomerCreditContracts"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template #form="{ data }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
|
|
|
@ -31,6 +31,16 @@ const toCustomerCredits = () => {
|
|||
:url-update="`/Clients/${route.params.id}`"
|
||||
@on-data-saved="toCustomerCredits()"
|
||||
>
|
||||
<template #moreActions>
|
||||
<QBtn
|
||||
:label="t('globals.cancel')"
|
||||
@click="toCustomerCredits"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template #form="{ data }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
|
|
|
@ -26,6 +26,7 @@ const filterFindOne = { where: { code: 'paymentsLaw' } };
|
|||
const filterCompanies = { order: ['code'] };
|
||||
const filterWarehouses = { order: ['name'] };
|
||||
|
||||
const inputFileRef = ref();
|
||||
const client = ref({});
|
||||
const findOne = ref([]);
|
||||
const allowedContentTypes = ref([]);
|
||||
|
@ -67,13 +68,15 @@ const saveData = async () => {
|
|||
params: dms.value,
|
||||
});
|
||||
notify('globals.dataSaved', 'positive');
|
||||
router.push({ name: 'CustomerFileManagement' });
|
||||
toCustomerFileManagement();
|
||||
} catch (error) {
|
||||
notify(error.message, 'negative');
|
||||
}
|
||||
};
|
||||
|
||||
const inputFileRef = ref();
|
||||
const toCustomerFileManagement = () => {
|
||||
router.push({ name: 'CustomerFileManagement' });
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -112,9 +115,31 @@ const inputFileRef = ref();
|
|||
url="DmsTypes"
|
||||
/>
|
||||
|
||||
<QForm>
|
||||
<QCard class="q-pa-lg">
|
||||
<QCardSection>
|
||||
<Teleport to="#st-actions">
|
||||
<QBtnGroup push class="q-gutter-x-sm">
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.cancel')"
|
||||
:loading="isLoading"
|
||||
@click="toCustomerFileManagement"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.save')"
|
||||
:loading="isLoading"
|
||||
@click.stop="saveData"
|
||||
color="primary"
|
||||
icon="save"
|
||||
/>
|
||||
</QBtnGroup>
|
||||
</Teleport>
|
||||
|
||||
<QCard class="q-pa-lg">
|
||||
<QCardSection>
|
||||
<QForm>
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
<VnInput
|
||||
|
@ -210,27 +235,9 @@ const inputFileRef = ref();
|
|||
:label="t('Generate identifier for original file')"
|
||||
v-model="dms.hasFile"
|
||||
/>
|
||||
</QCardSection>
|
||||
|
||||
<QCardActions class="flex justify-end">
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.cancel')"
|
||||
:loading="isLoading"
|
||||
class="q-mr-xl"
|
||||
color="primary"
|
||||
flat
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.save')"
|
||||
:loading="isLoading"
|
||||
color="primary"
|
||||
@click.stop="saveData"
|
||||
/>
|
||||
</QCardActions>
|
||||
</QCard>
|
||||
</QForm>
|
||||
</QForm>
|
||||
</QCardSection>
|
||||
</QCard>
|
||||
</template>
|
||||
|
||||
<i18n>
|
||||
|
|
|
@ -22,6 +22,7 @@ const router = useRouter();
|
|||
const filterCompanies = { order: ['code'] };
|
||||
const filterWarehouses = { order: ['name'] };
|
||||
|
||||
const inputFileRef = ref();
|
||||
const allowedContentTypes = ref([]);
|
||||
const optionsCompanies = ref([]);
|
||||
const optionsWarehouses = ref([]);
|
||||
|
@ -55,13 +56,15 @@ const saveData = async () => {
|
|||
});
|
||||
|
||||
notify('globals.dataSaved', 'positive');
|
||||
router.push({ name: 'CustomerFileManagement' });
|
||||
toCustomerFileManagement();
|
||||
} catch (error) {
|
||||
notify(error.message, 'negative');
|
||||
}
|
||||
};
|
||||
|
||||
const inputFileRef = ref();
|
||||
const toCustomerFileManagement = () => {
|
||||
router.push({ name: 'CustomerFileManagement' });
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -90,9 +93,31 @@ const inputFileRef = ref();
|
|||
url="DmsTypes"
|
||||
/>
|
||||
|
||||
<QForm>
|
||||
<QCard class="q-pa-lg">
|
||||
<QCardSection>
|
||||
<Teleport to="#st-actions">
|
||||
<QBtnGroup push class="q-gutter-x-sm">
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.cancel')"
|
||||
:loading="isLoading"
|
||||
@click="toCustomerFileManagement"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.save')"
|
||||
:loading="isLoading"
|
||||
@click.stop="saveData"
|
||||
color="primary"
|
||||
icon="save"
|
||||
/>
|
||||
</QBtnGroup>
|
||||
</Teleport>
|
||||
|
||||
<QCard class="q-pa-lg">
|
||||
<QCardSection>
|
||||
<QForm>
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
<VnInput
|
||||
|
@ -189,27 +214,9 @@ const inputFileRef = ref();
|
|||
v-model="dms.hasFile"
|
||||
disable
|
||||
/>
|
||||
</QCardSection>
|
||||
|
||||
<QCardActions class="flex justify-end">
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.cancel')"
|
||||
:loading="isLoading"
|
||||
class="q-mr-xl"
|
||||
color="primary"
|
||||
flat
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.save')"
|
||||
:loading="isLoading"
|
||||
color="primary"
|
||||
@click.stop="saveData"
|
||||
/>
|
||||
</QCardActions>
|
||||
</QCard>
|
||||
</QForm>
|
||||
</QForm>
|
||||
</QCardSection>
|
||||
</QCard>
|
||||
</template>
|
||||
|
||||
<i18n>
|
||||
|
|
|
@ -47,6 +47,16 @@ const toCustomerGreuges = () => {
|
|||
model="client"
|
||||
url-create="Greuges"
|
||||
>
|
||||
<template #moreActions>
|
||||
<QBtn
|
||||
:label="t('globals.cancel')"
|
||||
@click="toCustomerGreuges"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template #form="{ data }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
|
|
|
@ -35,6 +35,16 @@ const toCustomerNotes = () => {
|
|||
@on-data-saved="toCustomerNotes()"
|
||||
url-create="ClientObservations"
|
||||
jsegarra marked this conversation as resolved
jsegarra
commented
@alexm VnNotes?? @alexm VnNotes??
|
||||
>
|
||||
<template #moreActions>
|
||||
<QBtn
|
||||
:label="t('globals.cancel')"
|
||||
@click="toCustomerNotes"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template #form="{ data }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
|
|
|
@ -41,6 +41,16 @@ const toCustomerRecoveries = () => {
|
|||
model="client"
|
||||
url-create="Recoveries"
|
||||
>
|
||||
<template #moreActions>
|
||||
<QBtn
|
||||
:label="t('globals.cancel')"
|
||||
@click="toCustomerRecoveries"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template #form="{ data }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
|
|
|
@ -94,7 +94,7 @@ const onDataSaved = async ({
|
|||
recipient,
|
||||
replyTo,
|
||||
});
|
||||
router.push({ name: 'CustomerSamples' });
|
||||
toCustomerSamples();
|
||||
};
|
||||
|
||||
const getPreview = async () => {
|
||||
|
@ -122,6 +122,10 @@ const getPreview = async () => {
|
|||
return error;
|
||||
}
|
||||
};
|
||||
|
||||
const toCustomerSamples = () => {
|
||||
router.push({ name: 'CustomerSamples' });
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -151,13 +155,31 @@ const getPreview = async () => {
|
|||
/>
|
||||
|
||||
<FormModel
|
||||
:default-actions="false"
|
||||
:form-initial-data="initialData"
|
||||
:observe-form-changes="false"
|
||||
@on-data-saved="onDataSaved"
|
||||
model="client"
|
||||
url-create="ClientSamples"
|
||||
>
|
||||
<template #moreActions>
|
||||
<QBtn
|
||||
:label="t('globals.cancel')"
|
||||
@click="toCustomerSamples"
|
||||
color="primary"
|
||||
flat
|
||||
icon="close"
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading || !sampleType.hasPreview"
|
||||
:label="t('Preview')"
|
||||
:loading="isLoading"
|
||||
@click.stop="getPreview()"
|
||||
color="primary"
|
||||
flat
|
||||
icon="preview"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template #form="{ data, validate }">
|
||||
<VnRow class="row q-gutter-md q-mb-md">
|
||||
<div class="col">
|
||||
|
@ -266,34 +288,6 @@ const getPreview = async () => {
|
|||
/>
|
||||
</div>
|
||||
</VnRow>
|
||||
|
||||
<div class="q-mt-lg row justify-end">
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.cancel')"
|
||||
:loading="isLoading"
|
||||
class="q-mr-sm"
|
||||
color="primary"
|
||||
flat
|
||||
type="reset"
|
||||
v-close-popup
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading || !sampleType.hasPreview"
|
||||
:label="t('Preview')"
|
||||
:loading="isLoading"
|
||||
@click.stop="getPreview()"
|
||||
class="q-mr-sm"
|
||||
color="primary"
|
||||
/>
|
||||
<QBtn
|
||||
:disabled="isLoading"
|
||||
:label="t('globals.save')"
|
||||
:loading="isLoading"
|
||||
color="primary"
|
||||
type="submit"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
</FormModel>
|
||||
</template>
|
||||
|
|
Falta clearable
Corregido:
7f1c4690e8