|
|
|
@ -4,6 +4,7 @@ import { |
|
|
|
|
Button, |
|
|
|
|
Card, |
|
|
|
|
Col, |
|
|
|
|
Dropdown, |
|
|
|
|
FloatingLabel, |
|
|
|
|
Form, |
|
|
|
|
Modal, |
|
|
|
@ -18,6 +19,7 @@ import NotificacionesDS from '../../../Services/Utils/Notificaciones/Notificacio |
|
|
|
|
import { |
|
|
|
|
AiFillCaretLeft, |
|
|
|
|
AiFillCaretRight, |
|
|
|
|
AiOutlineProfile, |
|
|
|
|
AiOutlineTeam, |
|
|
|
|
AiOutlineUsergroupAdd |
|
|
|
|
} from 'react-icons/ai' |
|
|
|
@ -25,6 +27,7 @@ import { IconContext } from 'react-icons' |
|
|
|
|
import { HiCurrencyDollar } from 'react-icons/hi' |
|
|
|
|
import DTONotificacionesContactoGrupo from '../../../DTO/Utils/Notificaciones/DTONotificacionesContactoGrupo' |
|
|
|
|
import { number } from 'yup/lib/locale' |
|
|
|
|
import INotificacionesConceptos from '../../../Interfaces/Utils/INotificacionesConceptos' |
|
|
|
|
|
|
|
|
|
export interface INotificacionesProps {} |
|
|
|
|
|
|
|
|
@ -32,18 +35,30 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
const [selectedRows, setSelectedRows] = React.useState([]) |
|
|
|
|
const [Grupos, setGrupos] = useState<INotificacionesGrupos[]>([]) |
|
|
|
|
const [Contactos, setContactos] = useState<INotificacionesContactos[]>([]) |
|
|
|
|
const [ContactosdelGrupo, setContactosdelGrupo] = useState<INotificacionesContactos[]>([]) |
|
|
|
|
const [CatConceptos, setCatConceptos] = useState<INotificacionesConceptos[]>( |
|
|
|
|
[] |
|
|
|
|
) |
|
|
|
|
const [ContactosdelGrupo, setContactosdelGrupo] = useState< |
|
|
|
|
INotificacionesContactos[] |
|
|
|
|
>([]) |
|
|
|
|
const [Filtro, setFiltro] = useState('') |
|
|
|
|
const [FiltroEnGrupo, setFiltroEnGrupo] = useState('') |
|
|
|
|
const [Mensaje, setMensaje] = useState('') |
|
|
|
|
const [Grupo, setGrupo] = useState('') |
|
|
|
|
const [IdGrupo, setIdGrupo] = useState(0) |
|
|
|
|
const [Concepto, setConcepto] = useState('') |
|
|
|
|
const [IdConcepto, setIdConcepto] = useState(0) |
|
|
|
|
const [IdContacto, setIdContacto] = useState(0) |
|
|
|
|
const [Nombre, setNombre] = useState('') |
|
|
|
|
const [Puesto, setPuesto] = useState('') |
|
|
|
|
const [Pais, setPais] = useState('+52') |
|
|
|
|
const [Celular, setCelular] = useState('') |
|
|
|
|
const [Empresa, setEmpresa] = useState('') |
|
|
|
|
const [Activo, setActivo] = useState(1) |
|
|
|
|
const [ShowModal, setShowModal] = useState(false) |
|
|
|
|
const [ShowModalG, setShowModalG] = useState(false) |
|
|
|
|
const [ShowModalC, setShowModalC] = useState(false) |
|
|
|
|
const [SelectedConcepto, setSelectedConcepto] = useState(true) |
|
|
|
|
const [header, setHeader] = useState('') |
|
|
|
|
const [show, setShowMsg] = useState(false) |
|
|
|
|
const [msg, setMsg] = useState('') |
|
|
|
@ -62,17 +77,17 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'Celular', |
|
|
|
|
width: '110px', |
|
|
|
|
width: '130px', |
|
|
|
|
cell: (row: INotificacionesContactos) => ( |
|
|
|
|
<div style={{ width: '100%' }} onClick={() => {}}> |
|
|
|
|
{row.celular} |
|
|
|
|
{(row.pais ? row.pais : '') + row.celular} |
|
|
|
|
</div> |
|
|
|
|
), |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'Nombre', |
|
|
|
|
width: '200px', |
|
|
|
|
width: '150px', |
|
|
|
|
cell: (row: INotificacionesContactos) => ( |
|
|
|
|
<div style={{ width: '100%' }} onClick={() => {}}> |
|
|
|
|
{row.nombre} |
|
|
|
@ -81,21 +96,21 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'Puesto', |
|
|
|
|
width: '250px', |
|
|
|
|
name: 'Empresa', |
|
|
|
|
width: '200px', |
|
|
|
|
cell: (row: INotificacionesContactos) => ( |
|
|
|
|
<div style={{ width: '100%' }} onClick={() => {}}> |
|
|
|
|
{row.puesto} |
|
|
|
|
{row.empresa} |
|
|
|
|
</div> |
|
|
|
|
), |
|
|
|
|
sortable: true |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'Empresa', |
|
|
|
|
width: '125px', |
|
|
|
|
name: 'Puesto', |
|
|
|
|
width: '200px', |
|
|
|
|
cell: (row: INotificacionesContactos) => ( |
|
|
|
|
<div style={{ width: '100%' }} onClick={() => {}}> |
|
|
|
|
{row.empresa} |
|
|
|
|
{row.puesto} |
|
|
|
|
</div> |
|
|
|
|
), |
|
|
|
|
sortable: true |
|
|
|
@ -123,6 +138,7 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
id: IdContacto, |
|
|
|
|
nombre: Nombre, |
|
|
|
|
puesto: Puesto, |
|
|
|
|
pais: Pais, |
|
|
|
|
celular: Celular, |
|
|
|
|
empresa: Empresa, |
|
|
|
|
activo: Activo |
|
|
|
@ -168,6 +184,33 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const saveConcept = () => { |
|
|
|
|
if (!Concepto) { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Favor de proporcionar el concepto') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
const data: INotificacionesConceptos = { |
|
|
|
|
id: IdConcepto, |
|
|
|
|
concepto: Concepto, |
|
|
|
|
activo: 1 |
|
|
|
|
} |
|
|
|
|
NotificacionesDS.Conceptos$Append(data) |
|
|
|
|
.then((response) => { |
|
|
|
|
setHeader('Informativo') |
|
|
|
|
setMsg('Se encontro la siguiente informacion...') |
|
|
|
|
loadAllConcepts() |
|
|
|
|
setShowMsg(true) |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrio un error: ' + e) |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const loadAllContacts = () => { |
|
|
|
|
NotificacionesDS.ContactosGet() |
|
|
|
|
.then((response) => { |
|
|
|
@ -181,6 +224,19 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const loadAllConcepts = () => { |
|
|
|
|
NotificacionesDS.Conceptos$Get() |
|
|
|
|
.then((response) => { |
|
|
|
|
setCatConceptos(response.data) |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrio un error: ' + e) |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const loadGroupContacts = () => { |
|
|
|
|
NotificacionesDS.ContactosdelGrupoGet(IdGrupo) |
|
|
|
|
.then((response) => { |
|
|
|
@ -210,13 +266,33 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
useEffect(() => { |
|
|
|
|
loadAllContacts() |
|
|
|
|
loadGroups() |
|
|
|
|
loadAllConcepts() |
|
|
|
|
}, []) |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (ShowModal) { |
|
|
|
|
if (selectedRows.length > 0) { |
|
|
|
|
const listaContactos: INotificacionesContactos[] = selectedRows |
|
|
|
|
setIdContacto(listaContactos[0].id) |
|
|
|
|
setNombre(listaContactos[0].nombre) |
|
|
|
|
setPuesto(listaContactos[0].puesto) |
|
|
|
|
setEmpresa(listaContactos[0].empresa) |
|
|
|
|
setCelular(listaContactos[0].celular) |
|
|
|
|
setActivo(listaContactos[0].activo) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, [ShowModal]) |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
loadGroupContacts() |
|
|
|
|
}, [IdGrupo]) |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (Concepto.length === 0) { |
|
|
|
|
setIdConcepto(0) |
|
|
|
|
} |
|
|
|
|
}, [Concepto]) |
|
|
|
|
|
|
|
|
|
const handleRowSelected = React.useCallback((state) => { |
|
|
|
|
setSelectedRows(state.selectedRows) |
|
|
|
|
}, []) |
|
|
|
@ -247,6 +323,7 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
: `Se eliminaron los contactos del grupo` |
|
|
|
|
) |
|
|
|
|
setShowMsg(true) |
|
|
|
|
loadGroupContacts() |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
|
setHeader('Error') |
|
|
|
@ -256,22 +333,109 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const sendWhattsapp = () => { |
|
|
|
|
if (IdConcepto===0) { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Para enviar un concepto primero debe guardarlo en el catalogo') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
if (IdGrupo===0) { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Para enviar un mensaje primero debe seleccionar el grupo') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
NotificacionesDS.SendWhattsapp(IdConcepto, Mensaje, IdGrupo) |
|
|
|
|
.then((response) => { |
|
|
|
|
setHeader('Informativo') |
|
|
|
|
setMsg(`El mensaje se ha enviado satisfactoriamente`) |
|
|
|
|
setShowMsg(true) |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrio un error: ' + e) |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const handleKeyDown = (e: any) => { |
|
|
|
|
if (e.keyCode === 40) { |
|
|
|
|
console.log('arrow down') |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
<div> |
|
|
|
|
<Card> |
|
|
|
|
<Card.Body> |
|
|
|
|
<Card.Title>Notificaciones</Card.Title> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={1}>Mensaje</Col> |
|
|
|
|
<Col xs={1}> |
|
|
|
|
Mensaje |
|
|
|
|
<span |
|
|
|
|
style={{ paddingLeft: '5px', cursor: 'pointer' }} |
|
|
|
|
onClick={() => { |
|
|
|
|
setShowModalC(!ShowModalC) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: '#23A0F6', size: '25px' }} |
|
|
|
|
> |
|
|
|
|
<AiOutlineProfile /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</span> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={5}> |
|
|
|
|
<Form.Control |
|
|
|
|
{/* <Form.Control |
|
|
|
|
type="text" |
|
|
|
|
placeholder="Teclee aqui el mensaje que desea enviar..." |
|
|
|
|
size="sm" |
|
|
|
|
value={Mensaje} |
|
|
|
|
onChange={(e: any) => { |
|
|
|
|
setMensaje(e) |
|
|
|
|
setMensaje(e.target.value) |
|
|
|
|
}} |
|
|
|
|
/> |
|
|
|
|
/> */} |
|
|
|
|
<Form.Group className="typeahead-form-group"> |
|
|
|
|
<Form.Control |
|
|
|
|
autoComplete="off" |
|
|
|
|
type="text" |
|
|
|
|
id="Cliente" |
|
|
|
|
value={Concepto} |
|
|
|
|
size="sm" |
|
|
|
|
className="pull-right" |
|
|
|
|
onChange={(e) => { |
|
|
|
|
setConcepto(e.target.value) |
|
|
|
|
setSelectedConcepto(false) |
|
|
|
|
}} |
|
|
|
|
onKeyDown={(e) => { |
|
|
|
|
handleKeyDown(e) |
|
|
|
|
}} |
|
|
|
|
/> |
|
|
|
|
<Dropdown |
|
|
|
|
className="d-inline mx-6" |
|
|
|
|
show={!SelectedConcepto && Concepto.length > 1} |
|
|
|
|
> |
|
|
|
|
<Dropdown.Menu> |
|
|
|
|
{CatConceptos.filter((result) => |
|
|
|
|
result.concepto |
|
|
|
|
.toLocaleLowerCase() |
|
|
|
|
.includes(Concepto.toLocaleLowerCase()) |
|
|
|
|
).map((result) => ( |
|
|
|
|
<Dropdown.Item |
|
|
|
|
onClick={() => { |
|
|
|
|
setIdConcepto(result.id) |
|
|
|
|
setConcepto(result.concepto) |
|
|
|
|
setSelectedConcepto(true) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
{result.concepto} |
|
|
|
|
</Dropdown.Item> |
|
|
|
|
))} |
|
|
|
|
</Dropdown.Menu> |
|
|
|
|
</Dropdown> |
|
|
|
|
</Form.Group> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={1} style={{ textAlign: 'right' }}> |
|
|
|
|
Grupo |
|
|
|
@ -309,7 +473,13 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
</Form.Control> |
|
|
|
|
</Col> |
|
|
|
|
<Col> |
|
|
|
|
<Button>Enviar</Button> |
|
|
|
|
<Button |
|
|
|
|
onClick={() => { |
|
|
|
|
sendWhattsapp() |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
Enviar |
|
|
|
|
</Button> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
<Row> |
|
|
|
@ -320,19 +490,34 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
<Card> |
|
|
|
|
<Card.Body> |
|
|
|
|
<Card.Title> |
|
|
|
|
Contactos |
|
|
|
|
<span |
|
|
|
|
style={{ paddingLeft: '10px', cursor: 'pointer' }} |
|
|
|
|
onClick={() => { |
|
|
|
|
setShowModal(!ShowModal) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: '#F6A323', size: '25px' }} |
|
|
|
|
> |
|
|
|
|
<AiOutlineUsergroupAdd /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</span> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={3}> |
|
|
|
|
Contactos |
|
|
|
|
<span |
|
|
|
|
style={{ paddingLeft: '10px', cursor: 'pointer' }} |
|
|
|
|
onClick={() => { |
|
|
|
|
setShowModal(!ShowModal) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<IconContext.Provider |
|
|
|
|
value={{ color: '#F6A323', size: '25px' }} |
|
|
|
|
> |
|
|
|
|
<AiOutlineUsergroupAdd /> |
|
|
|
|
</IconContext.Provider> |
|
|
|
|
</span> |
|
|
|
|
</Col> |
|
|
|
|
<Col> |
|
|
|
|
<Form.Control |
|
|
|
|
type="text" |
|
|
|
|
placeholder="Search..." |
|
|
|
|
size="sm" |
|
|
|
|
onChange={(e) => { |
|
|
|
|
setFiltro(e.target.value) |
|
|
|
|
console.log(Filtro) |
|
|
|
|
}} |
|
|
|
|
/> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
</Card.Title> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={12}> |
|
|
|
@ -347,7 +532,19 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
highlightOnHover |
|
|
|
|
selectableRows |
|
|
|
|
columns={colContactos} |
|
|
|
|
data={Contactos.filter(obj1 => !ContactosdelGrupo.some(obj2 => obj1.id === obj2.id))} |
|
|
|
|
data={Contactos.filter( |
|
|
|
|
(obj1) => |
|
|
|
|
!ContactosdelGrupo.some( |
|
|
|
|
(obj2) => obj1.id === obj2.id |
|
|
|
|
) |
|
|
|
|
).filter(function (row) { |
|
|
|
|
return ( |
|
|
|
|
row.celular.includes(Filtro) || |
|
|
|
|
row.nombre.includes(Filtro) || |
|
|
|
|
row.puesto.includes(Filtro) || |
|
|
|
|
row.empresa.includes(Filtro) |
|
|
|
|
) |
|
|
|
|
})} |
|
|
|
|
pointerOnHover |
|
|
|
|
onSelectedRowsChange={handleRowSelected} |
|
|
|
|
/> |
|
|
|
@ -400,7 +597,21 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
<Col xs={5}> |
|
|
|
|
<Card> |
|
|
|
|
<Card.Body> |
|
|
|
|
<Card.Title>Contactos en el grupo</Card.Title> |
|
|
|
|
<Card.Title> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={5}>Contactos en el grupo</Col> |
|
|
|
|
<Col> |
|
|
|
|
<Form.Control |
|
|
|
|
type="text" |
|
|
|
|
placeholder="Search..." |
|
|
|
|
size="sm" |
|
|
|
|
onChange={(e) => { |
|
|
|
|
setFiltroEnGrupo(e.target.value) |
|
|
|
|
}} |
|
|
|
|
/> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
</Card.Title> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={12}> |
|
|
|
|
<DataTable |
|
|
|
@ -414,7 +625,14 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
highlightOnHover |
|
|
|
|
selectableRows |
|
|
|
|
columns={colContactos} |
|
|
|
|
data={ContactosdelGrupo} |
|
|
|
|
data={ContactosdelGrupo.filter(function (row) { |
|
|
|
|
return ( |
|
|
|
|
row.celular.includes(FiltroEnGrupo) || |
|
|
|
|
row.nombre.includes(FiltroEnGrupo) || |
|
|
|
|
row.puesto.includes(FiltroEnGrupo) || |
|
|
|
|
row.empresa.includes(FiltroEnGrupo) |
|
|
|
|
) |
|
|
|
|
})} |
|
|
|
|
pointerOnHover |
|
|
|
|
onSelectedRowsChange={handleRowSelected} |
|
|
|
|
/> |
|
|
|
@ -472,7 +690,7 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={8}> |
|
|
|
|
<Col xs={7}> |
|
|
|
|
<FloatingLabel |
|
|
|
|
controlId="floatingInput" |
|
|
|
|
label="Puesto" |
|
|
|
@ -489,16 +707,32 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
/> |
|
|
|
|
</FloatingLabel> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={4}> |
|
|
|
|
<Col xs={2}> |
|
|
|
|
<FloatingLabel controlId="floatingSelect" label="LADA"> |
|
|
|
|
<Form.Select |
|
|
|
|
aria-label="Floating label select example" |
|
|
|
|
style={{ height: '55px' }} |
|
|
|
|
value={Pais} |
|
|
|
|
onChange={(e: any) => { |
|
|
|
|
setPais(e.target.value) |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<option value="+52">MEX</option> |
|
|
|
|
<option value="+1">USA</option> |
|
|
|
|
</Form.Select> |
|
|
|
|
</FloatingLabel> |
|
|
|
|
</Col> |
|
|
|
|
<Col> |
|
|
|
|
<FloatingLabel |
|
|
|
|
controlId="floatingInput" |
|
|
|
|
label="Celular" |
|
|
|
|
className="mb-3" |
|
|
|
|
className="" |
|
|
|
|
> |
|
|
|
|
<Form.Control |
|
|
|
|
type="text" |
|
|
|
|
placeholder="Celular" |
|
|
|
|
value={Celular} |
|
|
|
|
maxLength={10} |
|
|
|
|
style={{ height: '45px' }} |
|
|
|
|
onChange={(e: any) => { |
|
|
|
|
setCelular(e.target.value) |
|
|
|
@ -536,7 +770,7 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
</Form.Select> |
|
|
|
|
</FloatingLabel> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={2}> |
|
|
|
|
<Col xs={2} style={{ paddingTop: `10px` }}> |
|
|
|
|
<Button |
|
|
|
|
onClick={() => { |
|
|
|
|
saveContact() |
|
|
|
@ -594,6 +828,48 @@ export function Notificaciones(props: INotificacionesProps) { |
|
|
|
|
</Modal.Body> |
|
|
|
|
</Modal> |
|
|
|
|
|
|
|
|
|
<Modal |
|
|
|
|
show={ShowModalC} |
|
|
|
|
onHide={() => { |
|
|
|
|
setShowModalC(false) |
|
|
|
|
}} |
|
|
|
|
size={'sm'} |
|
|
|
|
dialogClassName={'modal-50w'} |
|
|
|
|
closeButton |
|
|
|
|
> |
|
|
|
|
<Modal.Body> |
|
|
|
|
<div style={{ height: '70px', paddingTop: '10px' }}> |
|
|
|
|
<Row> |
|
|
|
|
<Col xs={10}> |
|
|
|
|
<FloatingLabel |
|
|
|
|
controlId="floatingInput" |
|
|
|
|
label="Concepto" |
|
|
|
|
className="mb-3" |
|
|
|
|
> |
|
|
|
|
<Form.Control |
|
|
|
|
type="text" |
|
|
|
|
placeholder="Concepto" |
|
|
|
|
value={Concepto} |
|
|
|
|
onChange={(e: any) => { |
|
|
|
|
setConcepto(e.target.value) |
|
|
|
|
}} |
|
|
|
|
style={{ height: '45px' }} |
|
|
|
|
/> |
|
|
|
|
</FloatingLabel> |
|
|
|
|
</Col> |
|
|
|
|
<Col xs={2}> |
|
|
|
|
<Button |
|
|
|
|
onClick={() => { |
|
|
|
|
saveConcept() |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
Guardar |
|
|
|
|
</Button> |
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
</div> |
|
|
|
|
</Modal.Body> |
|
|
|
|
</Modal> |
|
|
|
|
<MsgInformativo |
|
|
|
|
show={show} |
|
|
|
|
msg={msg} |
|
|
|
|