0
0
Fork 0

Solucion a comentarios 13

This commit is contained in:
carlosfonseca 2024-02-19 05:24:26 -05:00
parent d0cf13d0af
commit bb10714824
4 changed files with 28 additions and 27 deletions

View File

@ -231,7 +231,7 @@ export default {
businessType: 'Tipo de negocio', businessType: 'Tipo de negocio',
contact: 'Contacto', contact: 'Contacto',
youCanSaveMultipleEmails: youCanSaveMultipleEmails:
'Puedeguardar varios correos electrónicos encadenandolos mediante comas sin espacios, ejemplo: user@dominio.com,user2@dominio.com siendo el primer correo electrónico el principal', 'Puede guardar varios correos electrónicos encadenandolos mediante comas sin espacios, ejemplo: user@dominio.com,user2@dominio.com siendo el primer correo electrónico el principal',
email: 'Email', email: 'Email',
phone: 'Teléfono', phone: 'Teléfono',
mobile: 'Móvil', mobile: 'Móvil',

View File

@ -1,5 +1,5 @@
<script setup> <script setup>
import { onBeforeMount, reactive, ref } from 'vue'; import { onBeforeMount, ref } from 'vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
@ -14,10 +14,9 @@ const { t } = useI18n();
const route = useRoute(); const route = useRoute();
const { notify } = useNotify(); const { notify } = useNotify();
let notes = reactive([]);
let deletes = reactive([]);
const isLoading = ref(false); const isLoading = ref(false);
let notes = ref([]);
let deletes = ref([]);
onBeforeMount(() => { onBeforeMount(() => {
getData(); getData();
@ -31,7 +30,7 @@ const getData = async () => {
const { data } = await axios.get('ClientContacts', { const { data } = await axios.get('ClientContacts', {
params: { filter: JSON.stringify(filter) }, params: { filter: JSON.stringify(filter) },
}); });
notes.length = 0; notes.value.length = 0;
data.forEach((element) => { data.forEach((element) => {
element.isNew = false; element.isNew = false;
addNote(element); addNote(element);
@ -39,33 +38,36 @@ const getData = async () => {
}; };
const addNote = ({ id, name, phone, isNew }) => { const addNote = ({ id, name, phone, isNew }) => {
if (!notes.some((note) => note.id === id)) { notes.value.push({
notes.push({ id,
id, $isNew: isNew,
$isNew: isNew, name,
name, phone,
phone, $oldData: null,
$oldData: null, $orgIndex: null,
$orgIndex: null, clientFk: Number(route.params.id),
clientFk: route.params.id, });
});
}
}; };
const deleteNote = (note, index) => { const deleteNote = (note, index) => {
deletes.push(note.id); deletes.value.push(note.id);
notes.splice(index, 1); notes.value.splice(index, 1);
}; };
const onSubmit = async () => { const onSubmit = async () => {
isLoading.value = true; isLoading.value = true;
const payload = { let payload = {};
creates: notes.filter((element) => element.$isNew) || null, const creates = notes.value.filter((element) => element.$isNew);
deletes: deletes || null, if (creates.length) {
}; payload.creates = creates;
}
if (deletes.value.length) {
payload.deletes = deletes.value;
}
try { try {
await axios.post('ClientContacts/crud', payload); await axios.post('ClientContacts/crud', payload);
notes = []; notes.value = [];
deletes.value = [];
notify('globals.dataCreated', 'positive'); notify('globals.dataCreated', 'positive');
await getData(); await getData();
} catch (error) { } catch (error) {

View File

@ -115,7 +115,7 @@ const refreshData = () => {
> >
<template #body-cell="props"> <template #body-cell="props">
<QTd :props="props"> <QTd :props="props">
<QTr :props="props" class="cursor-pointer"> <QTr :props="props">
<component <component
:is="tableColumnComponents[props.col.name].component" :is="tableColumnComponents[props.col.name].component"
@click="tableColumnComponents[props.col.name].event(props)" @click="tableColumnComponents[props.col.name].event(props)"

View File

@ -31,7 +31,6 @@ const setClientsConfirmTransaction = async () => {
<div v-if="!$props?.transaction?.isConfirmed"> <div v-if="!$props?.transaction?.isConfirmed">
<QIcon <QIcon
@click.stop="setClientsConfirmTransaction" @click.stop="setClientsConfirmTransaction"
class="cursor-pointer"
color="primary" color="primary"
name="check" name="check"
size="sm" size="sm"
@ -43,5 +42,5 @@ const setClientsConfirmTransaction = async () => {
<i18n> <i18n>
es: es:
Confirm transaction: Transacción confirmada Confirm transaction: Confirmar transacción
</i18n> </i18n>