Kaynağa Gözat

Correcciones

inoriega 4 gün önce
ebeveyn
işleme
49dedb5445

Dosya farkı çok büyük olduğundan ihmal edildi
+ 366 - 308
src/views/administracion/eventos/EventoDetalleGrupo.js


+ 10 - 7
src/views/administracion/eventos/EventosDetalle.js

@@ -136,7 +136,7 @@ const EventosDetalle = () => {
     try {
       const q = firebseQuery(
         collection(firestore, "usuarios"),
-        where("grupos", "array-contains-any", selectedGrupos)
+        where("grupos", "array-contains-any", selectedGrupos),
       );
       const querySnapshot = await getDocs(q);
       const docs = [];
@@ -320,7 +320,7 @@ const EventosDetalle = () => {
       };
 
       const tag = makeid(8);
-
+      let grupoEventoRef = null;
       //Crear grupo de eventos
       if (redes.length > 0) {
         let grupoEvento = {
@@ -342,7 +342,10 @@ const EventosDetalle = () => {
           resultado: resultado,
         };
 
-        await addDoc(collection(firestore, "gruposEvento"), grupoEvento);
+        grupoEventoRef = await addDoc(
+          collection(firestore, "gruposEvento"),
+          grupoEvento,
+        );
       }
 
       if (editando) {
@@ -368,7 +371,7 @@ const EventosDetalle = () => {
         content: "Evento guardado correctamente",
       });
 
-      history.push(urlweb);
+      history.push(`${urlweb}/detalleGrupo?id=${grupoEventoRef.id}&tag=${tag}`);
     } catch (error) {
       Modal.warning({
         title: "Atención",
@@ -462,7 +465,7 @@ const EventosDetalle = () => {
     const facebook =
       /https?:\/\/(www\.)?facebook\.com\/[a-zA-Z0-9.-]+\/?/ ||
       /https?:\/\/(www\.)?fb\.com\/[a-zA-Z0-9.-]+\/?/;
-    const twitter = /https?:\/\/(www\.)?twitter\.com\/[a-zA-Z0-9.-]+\/?/;
+    const x = /https?:\/\/(www\.)?x\.com\/[a-zA-Z0-9.-]+\/?/;
     const instagram = /https?:\/\/(www\.)?instagram\.com\/[a-zA-Z0-9.-]+\/?/;
     const whatsapp = /https?:\/\/(www\.)?wa\.me\/[a-zA-Z0-9.-]+\/?/;
     const youtube = /https?:\/\/(www\.)?youtube\.com\/[a-zA-Z0-9.-]+\/?/g;
@@ -471,7 +474,7 @@ const EventosDetalle = () => {
 
     if (facebook.test(link)) {
       form.setFieldsValue({ redSocial: "Facebook" });
-    } else if (twitter.test(link)) {
+    } else if (x.test(link)) {
       form.setFieldsValue({ redSocial: "Twitter" });
     } else if (instagram.test(link)) {
       form.setFieldsValue({ redSocial: "Instagram" });
@@ -833,7 +836,7 @@ const EventosDetalle = () => {
               <Select style={{ width: "100%" }} placeholder="Selecciona">
                 {redesSociales?.map((item) => (
                   <Option key={item} value={item}>
-                    {item}
+                    {item === "Twitter" ? "X" : item}
                   </Option>
                 ))}
               </Select>

+ 274 - 316
src/views/administracion/usuarios/UsuariosDetalle.js

@@ -1,4 +1,4 @@
-import React, { useEffect, useState, useCallback } from 'react';
+import React, { useEffect, useState, useCallback } from "react";
 import {
   Row,
   Col,
@@ -10,28 +10,37 @@ import {
   Divider,
   Statistic,
   InputNumber,
-  Checkbox
+  Checkbox,
 } from "antd";
-import { 
+import {
   SaveOutlined,
   LikeOutlined,
   AlertOutlined,
   NumberOutlined,
   HourglassOutlined,
-  ArrowLeftOutlined, 
+  ArrowLeftOutlined,
 } from "@ant-design/icons";
-import moment from 'moment'
+import moment from "moment";
 import HttpService from "../../../services/httpService";
 import { useQuery } from "../../../hooks";
 import { firestore } from "../../../services/firebase";
-import { useHistory } from 'react-router-dom';
-import { ViewLoading } from '../../../components';
-import { DefaultLayout } from '../../../components/layouts';
-import { collection, doc, getDoc, updateDoc, query as queryFirestore, 
-  startAfter, where, getDocs, limit, orderBy } from "firebase/firestore";
+import { useHistory } from "react-router-dom";
+import { ViewLoading } from "../../../components";
+import { DefaultLayout } from "../../../components/layouts";
+import {
+  collection,
+  doc,
+  getDoc,
+  updateDoc,
+  query as queryFirestore,
+  startAfter,
+  where,
+  getDocs,
+  limit,
+  orderBy,
+} from "firebase/firestore";
 
 const UsuariosDetalle = () => {
-
   const query = useQuery();
   const history = useHistory();
   const { Option } = Select;
@@ -39,97 +48,102 @@ const UsuariosDetalle = () => {
   const editando = !!id;
   const titulo = editando ? "Editar usuario" : "Agregar usuario";
   const url = "/administracion/usuarios";
-  const [ form ] = Form.useForm();
+  const [form] = Form.useForm();
 
-  const [ usuario, setUsuario ] = useState([]);
-  const [ cargandoUsuario, setCargandoUsuario ] = useState(true);
-  const [ guadandoCargando, setGuardandoCargando ] = useState(false);
+  const [usuario, setUsuario] = useState([]);
+  const [cargandoUsuario, setCargandoUsuario] = useState(true);
+  const [guadandoCargando, setGuardandoCargando] = useState(false);
 
   const [cargandoDependencias, setCargandoDependencias] = useState(false);
   const [dependencias, setDependencias] = useState([]);
 
-  const [ atendidos, setAtendidos ] = useState(0);
-  const [ pendientes, setPendientes ] = useState(0);
-  const [ incompletos, setIncompletos ] = useState(0);
-  const [ totales, setTotales ] = useState(0);
+  const [atendidos, setAtendidos] = useState(0);
+  const [pendientes, setPendientes] = useState(0);
+  const [incompletos, setIncompletos] = useState(0);
+  const [totales, setTotales] = useState(0);
 
-  const [ esLiderGlobal, setEsLiderGlobal ] = useState(false);
+  const [esLiderGlobal, setEsLiderGlobal] = useState(false);
 
-  const multipleButtonData = [{
-    text: "Volver",
-    to: () => history.push(url),
-    icon: <ArrowLeftOutlined />,
-    props: { disabled: false, type: 'primary', }
-  }]; 
+  const multipleButtonData = [
+    {
+      text: "Volver",
+      to: () => history.push(url),
+      icon: <ArrowLeftOutlined />,
+      props: { disabled: false, type: "primary" },
+    },
+  ];
 
   const onFinish = async (values) => {
     try {
-      setGuardandoCargando(true)
-      const { ciudad, email, facebook, genero, instagram, nombre, rol, telefono, twitter, dependencias } = values;
+      setGuardandoCargando(true);
+      const {
+        ciudad,
+        email,
+        facebook,
+        genero,
+        instagram,
+        nombre,
+        rol,
+        telefono,
+        twitter,
+        dependencias,
+      } = values;
 
       let body = {
         ciudad: ciudad,
         email: email,
         dependencias: dependencias,
-        facebook: facebook?.trim() || '',
-        genero: genero?.trim(), 
-        instagram: instagram?.trim() || '',
+        facebook: facebook?.trim() || "",
+        genero: genero?.trim(),
+        instagram: instagram?.trim() || "",
         estatus: true,
         nombre: nombre,
         rol: rol,
-        telefono: `${telefono}`?.replace("+52", "") || "", 
-        twitter: twitter?.trim() || '',
+        telefono: `${telefono}`?.replace("+52", "") || "",
+        twitter: twitter?.trim() || "",
         liderGlobal: esLiderGlobal,
-        sincronizado: null
-      }
-
-      if( editando ) {
-        body['uid'] = id;
-      } else {
-        body['verificado'] = '';
-        body['clave'] = "yager2022";
-        body['timestamp'] = new Date();
-      }
+        sincronizado: null,
+      };
 
-      let res = null
-      if( editando ) {
-        res = await HttpService.putCF('/registro', body);
+      if (editando) {
+        body["uid"] = id;
       } else {
-        res = await HttpService.postCF('/registro', body);
+        body["verificado"] = "";
+        body["clave"] = "yager2022";
+        body["timestamp"] = new Date();
       }
 
-      
-      if( res?.status >= 200 && res?.status <= 299 ) {
+      let res = null;
+      res = await HttpService.post("v1/usuario-firebase/post", body);
 
-        body['uid'] = editando ? id : res?.response?.uid;
-        body['grupos'] = editando ? usuario?.grupos : [];
+      if (res?.status >= 200 && res?.status <= 299) {
+        body["uid"] = editando ? id : res?.response?.uid;
+        body["grupos"] = editando ? usuario?.grupos : [];
 
-        await updateDoc(doc(firestore, "usuarios", res?.response?.uid), body);  
+        await updateDoc(doc(firestore, "usuarios", res?.response?.uid), body);
 
         Modal.success({
-          title: 'Éxito',
-          content: 'Usuario guardado correctamente',
+          title: "Éxito",
+          content: "Usuario guardado correctamente",
         });
-        history.push('/administracion/usuarios/')
+        history.push("/administracion/usuarios/");
       }
-
     } catch (error) {
-      console.log('Error al r usuario: ', error)
+      console.log("Error al r usuario: ", error);
       Modal.warning({
-        title: 'Atención',
-        content: 'Hubo un problema al guardar el usuario',
+        title: "Atención",
+        content: "Hubo un problema al guardar el usuario",
       });
     } finally {
-      setGuardandoCargando(false)
+      setGuardandoCargando(false);
     }
-
   };
 
   const onFinishFailed = () => {
     Modal.warning({
-      title: 'Atención',
-      content: 'Por favor revise los datos.',
-      style: { marginTop: '20vh' },
+      title: "Atención",
+      content: "Por favor revise los datos.",
+      style: { marginTop: "20vh" },
     });
   };
 
@@ -140,119 +154,121 @@ const UsuariosDetalle = () => {
       const idUsuario = usuario?.uid;
 
       // Obtener los eventos de todos los grupos
-      if( gruposUsuario?.length > 0 ) {
-        let q = queryFirestore(collection(firestore, "eventos"), 
+      if (gruposUsuario?.length > 0) {
+        let q = queryFirestore(
+          collection(firestore, "eventos"),
           orderBy("timestamp"),
-          where('grupos', 'array-contains-any', gruposUsuario), 
-          limit(25)
+          where("grupos", "array-contains-any", gruposUsuario),
+          limit(25),
         );
         let querySnapshot = await getDocs(q);
         const docs = [];
 
         let ultimoDoc = null;
-        while(querySnapshot.docs.length) {
+        while (querySnapshot.docs.length) {
           // eslint-disable-next-line no-loop-func
           querySnapshot.forEach((doc) => {
             const data = doc.data();
             ultimoDoc = doc;
-            docs.push({ 
-              accion: data?.accion, 
-              resultado: data?.resultado, 
-              usuarios: data?.usuarios, 
+            docs.push({
+              accion: data?.accion,
+              resultado: data?.resultado,
+              usuarios: data?.usuarios,
               sinFechaFin: data?.sinFechaFin,
               fechaFinal: data?.fechaFinal,
-              id: doc.id 
+              id: doc.id,
             });
           });
 
-          q = queryFirestore(collection(firestore, "eventos"), 
+          q = queryFirestore(
+            collection(firestore, "eventos"),
             orderBy("timestamp"),
-            where('grupos', 'array-contains-any', gruposUsuario), 
+            where("grupos", "array-contains-any", gruposUsuario),
             limit(25),
-            startAfter(ultimoDoc)
+            startAfter(ultimoDoc),
           );
           querySnapshot = await getDocs(q);
         }
 
-
         let _pendientes = 0;
         let _atendidos = 0;
         let _incompletos = 0;
-        let _totales = 0
-        for( let i = 0; i < docs?.length; i ++ ) {
-          _totales = _totales + 1
-          if( docs[i]?.resultado ) {
-            if( docs[i]?.resultado[idUsuario] ) {
-              if( docs[i]?.resultado[idUsuario].length >= 1  ) {
-                _atendidos = _atendidos + 1
+        let _totales = 0;
+        for (let i = 0; i < docs?.length; i++) {
+          _totales = _totales + 1;
+          if (docs[i]?.resultado) {
+            if (docs[i]?.resultado[idUsuario]) {
+              if (docs[i]?.resultado[idUsuario].length >= 1) {
+                _atendidos = _atendidos + 1;
               }
-              if( docs[i]?.resultado[idUsuario].length === 0 ) {
-                _pendientes = _pendientes + 1
+              if (docs[i]?.resultado[idUsuario].length === 0) {
+                _pendientes = _pendientes + 1;
               }
-              if( !docs[i]?.sinFechaFin ) { // Los que tienen fecha final.
-                let fechaHoy = moment( new Date() )
-                let fechaFinal = moment( docs[i]?.fechaFinal )
-                let diff = fechaFinal.diff(fechaHoy, 'days')
-                if( diff < 0 && docs[i]?.resultado[idUsuario].length === 0 ) {
+              if (!docs[i]?.sinFechaFin) {
+                // Los que tienen fecha final.
+                let fechaHoy = moment(new Date());
+                let fechaFinal = moment(docs[i]?.fechaFinal);
+                let diff = fechaFinal.diff(fechaHoy, "days");
+                if (diff < 0 && docs[i]?.resultado[idUsuario].length === 0) {
                   _incompletos = _incompletos + 1;
                 }
               }
-
             }
           }
-        }  
-        setIncompletos(_incompletos)
-        setPendientes(_pendientes)
-        setAtendidos(_atendidos)
-        setTotales(_totales)
+        }
+        setIncompletos(_incompletos);
+        setPendientes(_pendientes);
+        setAtendidos(_atendidos);
+        setTotales(_totales);
       }
-
     } catch (error) {
-      console.log('eror al obtener eventos del usuario: ',  error);
+      console.log("eror al obtener eventos del usuario: ", error);
     }
   }, [usuario?.grupos, usuario?.uid]);
 
   const obtenerDependencias = useCallback(async () => {
     try {
       setCargandoDependencias(true);
-      const querySnapshot = await getDocs(collection(firestore, "dependencias"));
+      const querySnapshot = await getDocs(
+        collection(firestore, "dependencias"),
+      );
       const _docs = [];
       querySnapshot.forEach((doc) => {
         _docs.push({ ...doc.data(), id: doc.id });
       });
       setDependencias(_docs);
     } catch (error) {
-      console.log('error al obtener dependencias: ', error);
+      console.log("error al obtener dependencias: ", error);
     } finally {
-      setCargandoDependencias(false)
+      setCargandoDependencias(false);
     }
   }, []);
-  
+
   // Obtener eventos del usuario.
   useEffect(() => {
-      obtenerEventosUsuario()
+    obtenerEventosUsuario();
   }, [obtenerEventosUsuario]);
 
   // Obtener usuario
   useEffect(() => {
     let mounted = true;
-    if( mounted && editando ) {
+    if (mounted && editando) {
       try {
-        setTimeout( async () => {
+        setTimeout(async () => {
           const docRef = doc(firestore, "usuarios", id);
           const docSnap = await getDoc(docRef);
           setUsuario(docSnap.data());
-          if(docSnap.data()?.liderGlobal) {
-            setEsLiderGlobal(docSnap.data()?.liderGlobal)
+          if (docSnap.data()?.liderGlobal) {
+            setEsLiderGlobal(docSnap.data()?.liderGlobal);
           }
         }, 0);
       } catch (error) {
-        console.log('error al obtener usuario: ', error);
+        console.log("error al obtener usuario: ", error);
       } finally {
-        setCargandoUsuario(false)
+        setCargandoUsuario(false);
       }
-    };
-    return () => mounted = false;
+    }
+    return () => (mounted = false);
   }, [editando, id]);
 
   // Dependencias
@@ -263,21 +279,20 @@ const UsuariosDetalle = () => {
   // Set form
   useEffect(() => {
     let mounted = true;
-    if( mounted && usuario && editando ) {
+    if (mounted && usuario && editando) {
       form.setFieldsValue({
         ...usuario,
       });
-    };
-    return () => mounted = false;
+    } else {
+      form.setFieldValue("rol", "cliente");
+    }
+    return () => (mounted = false);
   }, [editando, form, usuario]);
 
-  if( cargandoUsuario && editando ) return <ViewLoading />
+  if (cargandoUsuario && editando) return <ViewLoading />;
 
   return (
-    <DefaultLayout
-      title={titulo}
-      multipleButtonData={multipleButtonData}
-    >
+    <DefaultLayout title={titulo} multipleButtonData={multipleButtonData}>
       <Form
         form={form}
         name="form"
@@ -286,16 +301,9 @@ const UsuariosDetalle = () => {
         onFinish={onFinish}
         onFinishFailed={onFinishFailed}
       >
-
         {/* Nombre - Género - Correo  */}
-        <Row gutter={10}>
-          <Col
-            className="gutter-row"
-            xs={{ span: 24 }}
-            sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
-          >
+        <Row gutter={[10, 10]}>
+          <Col className="gutter-row" span={24} md={12} lg={8}>
             <Form.Item
               label="Nombre"
               name="nombre"
@@ -304,274 +312,224 @@ const UsuariosDetalle = () => {
               <Input />
             </Form.Item>
           </Col>
-          <Col
-            className="gutter-row"
-            xs={{ span: 24 }}
-            sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
-          >
+          <Col className="gutter-row" span={24} md={12} lg={8}>
             <Form.Item
-              label="Género"
-              name="genero"
               rules={[{ required: true, message: "Requerido" }]}
+              label="Celular"
+              name="telefono"
             >
-              <Select
-                placeholder="Seleccionar un género"
-                style={{ width: '100%' }}
-              >
-                <Option value="m">Mujer</Option>
-                <Option value="h">Hombre</Option>
-              </Select>
+              <InputNumber
+                minLength={10}
+                maxLength={10}
+                style={{ width: "100%" }}
+              />
             </Form.Item>
           </Col>
-          <Col
-            className="gutter-row"
-            xs={{ span: 24 }}
-            sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
-          >
+          <Col className="gutter-row" span={24} md={12} lg={8}>
             <Form.Item
               label="Correo electrónico"
               name="email"
-              rules={[ { type: 'email', message: 'Por favor, escriba un correo electrónico válido' }, { required: true, message: 'Requerido' } ]}
+              rules={[
+                {
+                  type: "email",
+                  message: "Por favor, escriba un correo electrónico válido",
+                },
+                { required: true, message: "Requerido" },
+              ]}
             >
               <Input />
             </Form.Item>
           </Col>
-
-        </Row>
-
-        {/* Facebook - Twitter - Instagram  */}
-        <Row gutter={10}>
-          <Col
-            className="gutter-row"
-            xs={{ span: 24 }}
-            sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
-          >
+          <Col className="gutter-row" span={24} md={12} lg={8}>
             <Form.Item
-              label="Facebook"
-              name="facebook"
+              rules={[{ required: true, message: "Requerido" }]}
+              label="Dependencia"
+              name="dependencias"
             >
-              <Input />
+              <Select
+                placeholder="Seleccionar un una dependencia"
+                style={{ width: "100%" }}
+                allowClear
+                loading={cargandoDependencias}
+                showSearch
+                disabled={cargandoDependencias}
+                options={
+                  dependencias?.length > 0 &&
+                  dependencias?.map((i) => ({
+                    ...i,
+                    value: i?.id,
+                    label: i?.nombre,
+                  }))
+                }
+              />
             </Form.Item>
           </Col>
-
-          <Col
-            className="gutter-row"
-            xs={{ span: 24 }}
-            sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
-          >
+          <Col className="gutter-row" span={24} md={12} lg={8}>
             <Form.Item
-              label="Twitter"
-              name="twitter"
+              rules={[{ required: true, message: "Requerido" }]}
+              label="Ciudad"
+              name="ciudad"
             >
               <Input />
             </Form.Item>
           </Col>
 
+          <Col className="gutter-row" span={24} md={12} lg={8}>
+            <Form.Item label="Género" name="genero">
+              <Select
+                placeholder="Seleccionar un género"
+                style={{ width: "100%" }}
+              >
+                <Option value="m">Mujer</Option>
+                <Option value="h">Hombre</Option>
+              </Select>
+            </Form.Item>
+          </Col>
           <Col
             className="gutter-row"
             xs={{ span: 24 }}
             sm={{ span: 24 }}
             md={{ span: 12 }}
-            lg={{ span:  8 }}
+            lg={{ span: 8 }}
           >
-            <Form.Item
-              label="Instagram"
-              name="instagram"
-            >
+            <Form.Item label="Facebook" name="facebook">
               <Input />
             </Form.Item>
           </Col>
-
-        </Row>
-
-        {/*  Celular - Rol - Dependencia - Ciudad */}
-        <Row gutter={10}>
-          
           <Col
             className="gutter-row"
             xs={{ span: 24 }}
             sm={{ span: 24 }}
             md={{ span: 12 }}
-            lg={{ span:  4 }}
+            lg={{ span: 8 }}
           >
-            <Form.Item
-              rules={[{ required: true, message: "Requerido" }]}
-              label="Celular"
-              name="telefono"
-            >
-              <InputNumber minLength={10} maxLength={10} style={{ width: '100%' }} />
+            <Form.Item label="Twitter" name="twitter">
+              <Input />
             </Form.Item>
           </Col>
-
           <Col
             className="gutter-row"
             xs={{ span: 24 }}
             sm={{ span: 24 }}
             md={{ span: 12 }}
-            lg={{ span:  4 }}
+            lg={{ span: 8 }}
           >
+            <Form.Item label="Instagram" name="instagram">
+              <Input />
+            </Form.Item>
+          </Col>
+          <Col className="gutter-row" span={24} md={12} lg={8}>
             <Form.Item
               rules={[{ required: true, message: "Requerido" }]}
               label="Rol"
               name="rol"
             >
-              <Select 
+              <Select
                 placeholder="Seleccionar un rol"
-                style={{ width: '100%' }}
+                style={{ width: "100%" }}
               >
                 <Option value="admin">Administrador</Option>
                 <Option value="cliente">Cliente</Option>
               </Select>
             </Form.Item>
           </Col>
+          <Col className="gutter-row" span={24} md={12} lg={8}>
+            <Form.Item label="Lider Global" name="liderGlobal">
+              <Checkbox
+                checked={esLiderGlobal}
+                onChange={(e) => setEsLiderGlobal(e.target.checked)}
+              />
+            </Form.Item>
+          </Col>
+          <Col span={24} md={12}>
+            <Form.Item label="Password" name="clave">
+              <Input.Password />
+            </Form.Item>
+          </Col>
+          <Col span={24} md={12}>
+            <Form.Item label="Confirmar Password" name="pwdConfirm">
+              <Input.Password />
+            </Form.Item>
+          </Col>
+          <Col className="gutter-row" span={24} md={12} lg={8}>
+            <Button
+              type="primary"
+              htmlType="submit"
+              icon={<SaveOutlined />}
+              block
+              size="large"
+              loading={guadandoCargando}
+            >
+              Guardar
+            </Button>
+          </Col>
+        </Row>
+      </Form>
+
+      <Divider />
 
+      {/* Atendidos | Pendientes | Incompletos | Totales  */}
+      {editando && (
+        <Row gutter={10}>
           <Col
             className="gutter-row"
             xs={{ span: 24 }}
             sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
+            md={{ span: 6 }}
+            lg={{ span: 6 }}
           >
-            <Form.Item
-              rules={[{ required: true, message: "Requerido" }]}
-              label="Dependencia"
-              name="dependencias"
-            >
-              <Select 
-                placeholder="Seleccionar un una dependencia"
-                style={{ width: '100%' }}
-                allowClear
-                loading={cargandoDependencias}
-                showSearch
-                disabled={cargandoDependencias}
-                options={ dependencias?.length > 0 && dependencias?.map (i => ({
-                  ...i,
-                  value: i?.id,
-                  label: i?.nombre,
-                })) }
-              />
-            </Form.Item>
+            <Statistic
+              title="Atendidos"
+              value={atendidos}
+              prefix={<LikeOutlined />}
+            />
           </Col>
-          
+
           <Col
             className="gutter-row"
             xs={{ span: 24 }}
             sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
+            md={{ span: 6 }}
+            lg={{ span: 6 }}
           >
-            <Form.Item
-              rules={[{ required: true, message: "Requerido" }]}
-              label="Ciudad"
-              name="ciudad"
-            >
-              <Input />
-            </Form.Item>
+            <Statistic
+              title="Pendientes"
+              value={pendientes}
+              prefix={<HourglassOutlined />}
+            />
           </Col>
 
-        </Row>
-
-        <Row gutter={10}>
           <Col
+            className="gutter-row"
             xs={{ span: 24 }}
             sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
+            md={{ span: 6 }}
+            lg={{ span: 6 }}
           >
-            <Form.Item
-              // rules={[{ required: true, message: "Requerido" }]}
-              label="Lider Global"
-              name="liderGlobal"
-            >
-              <Checkbox
-                checked={esLiderGlobal}
-                onChange={(e) => setEsLiderGlobal(e.target.checked)}
-              />
-            </Form.Item>
+            <Statistic
+              title="Incompletos"
+              value={incompletos}
+              prefix={<AlertOutlined />}
+            />
           </Col>
-        </Row>
 
-        <Row gutter={10}>
           <Col
+            className="gutter-row"
             xs={{ span: 24 }}
             sm={{ span: 24 }}
-            md={{ span: 12 }}
-            lg={{ span:  8 }}
+            md={{ span: 6 }}
+            lg={{ span: 6 }}
           >
-            <Button
-              type="primary"
-              htmlType="submit"
-              icon={<SaveOutlined />}
-              block
-              size="large"
-              loading={guadandoCargando}
-            >
-              Guardar
-            </Button>
+            <Statistic
+              title="Eventos totales"
+              value={totales}
+              prefix={<NumberOutlined />}
+            />
           </Col>
         </Row>
-
-      </Form>
-
-      <Divider />
-
-      {/* Atendidos | Pendientes | Incompletos | Totales  */}
-      { editando && ( 
-      <Row gutter={10}>
-        <Col
-          className="gutter-row"
-          xs={{ span: 24 }}
-          sm={{ span: 24 }}
-          md={{ span: 6 }}
-          lg={{ span: 6 }}
-        >
-          <Statistic title="Atendidos" value={atendidos} prefix={<LikeOutlined />} />
-        </Col>
-
-        <Col
-          className="gutter-row"
-          xs={{ span: 24 }}
-          sm={{ span: 24 }}
-          md={{ span: 6 }}
-          lg={{ span: 6 }}
-        >
-          <Statistic title="Pendientes" value={pendientes} prefix={<HourglassOutlined />} />
-        </Col>
-
-        <Col
-          className="gutter-row"
-          xs={{ span: 24 }}
-          sm={{ span: 24 }}
-          md={{ span: 6 }}
-          lg={{ span: 6 }}
-        >
-          <Statistic title="Incompletos" value={incompletos} prefix={<AlertOutlined />} />
-        </Col>
-
-        <Col
-          className="gutter-row"
-          xs={{ span: 24 }}
-          sm={{ span: 24 }}
-          md={{ span: 6 }}
-          lg={{ span: 6 }}
-        >
-          <Statistic title="Eventos totales" value={totales} prefix={<NumberOutlined />} />
-        </Col>
-
-      </Row>
-      ) }
-      
-
+      )}
     </DefaultLayout>
-  )
-}
+  );
+};
 
-export default UsuariosDetalle
+export default UsuariosDetalle;

+ 5 - 6
src/views/administracion/usuarios/UsuariosListado.js

@@ -273,7 +273,7 @@ const UsuariosListado = () => {
           twitter: usuarios[i]?.twitter,
           telefono: usuarios[i]?.telefono,
           registro: moment(usuarios[i]?.timestamp?.toDate()).format(
-            "DD-MM-YYYY"
+            "DD-MM-YYYY",
           ),
           verificado: usuarios[i]?.verificado === "" ? "-" : "Verificado",
         });
@@ -344,7 +344,7 @@ const UsuariosListado = () => {
         "Usuarios ",
         `Fecha: ${moment(new Date()).format("DD-MM-YYYY")}`,
         "/LAUD-Logotipo.png",
-        ""
+        "",
       );
     } catch (error) {
       console.log("error al generar reporte: ", error);
@@ -381,9 +381,8 @@ const UsuariosListado = () => {
         const docs = [];
         querySnapshot.forEach((doc) => {
           let data = doc.data();
-          if (data?.estatus) {
-            docs.push({ ...data, id: doc.id });
-          }
+          console.log("datastatus", data);
+          docs.push({ ...data, id: doc.id });
         });
         setUsuarios(docs);
       }, 0);
@@ -423,7 +422,7 @@ const UsuariosListado = () => {
       idDependencia.forEach((id) => {
         if (dependencias[id] !== undefined) {
           dependenciasNombres += `${dependencias[id]} `;
-        }else{
+        } else {
           dependenciasNombres = "Sin dependencia";
         }
       });