se agregatron cambios a expedientes datastage y documentos

This commit is contained in:
2025-10-04 22:17:28 -06:00
parent 4b6abb0cad
commit 7f2066fa16
7 changed files with 494 additions and 345 deletions

View File

@@ -13,6 +13,8 @@ const initialForm = {
};
export default function Users() {
// Estado para RFC importadores
const [importadores, setImportadores] = useState([]);
// Inyectar animaciones solo una vez en el cliente
useEffect(() => {
if (typeof window !== 'undefined' && !document.getElementById('users-animations')) {
@@ -561,7 +563,22 @@ export default function Users() {
<span className="sm:hidden">Agente</span>
</button>
<button
onClick={() => { setShowCreateModal(true); setCreateType('importador'); }}
onClick={async () => {
setCreateType('importador');
// Fetch importadores RFC
try {
const res = await fetch(`${import.meta.env.VITE_EFC_API_URL}/customs/importadores/`, { method: 'GET', headers: { 'Authorization': `Bearer ${localStorage.getItem('access')}` } });
const data = await res.json();
if (Array.isArray(data)) {
setImportadores(data);
} else {
setImportadores([]);
}
} catch {
setImportadores([]);
}
setShowCreateModal(true);
}}
type="button"
className="inline-flex items-center justify-center px-4 py-2 border border-transparent rounded-lg shadow-sm text-sm font-medium text-white bg-gradient-to-r from-green-600 to-green-700 hover:from-green-700 hover:to-green-800 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 transition-all duration-200 transform hover:scale-105"
>
@@ -1185,17 +1202,19 @@ export default function Users() {
<label className="block text-xs font-semibold text-slate-700">
RFC del Importador <span className="text-red-600">*</span>
</label>
<input
type="text"
<select
name="rfc"
value={form.rfc || ''}
onChange={handleChange}
required
maxLength="13"
className="w-full px-3 py-2 border border-green-300 rounded-md shadow-sm focus:ring-2 focus:ring-green-500 focus:border-green-500 transition-all duration-200 bg-white text-slate-900 placeholder-slate-400 text-sm font-mono uppercase"
placeholder="RFC13CARACTERES"
className="w-full px-3 py-2 border border-green-300 rounded-md shadow-sm focus:ring-2 focus:ring-green-500 focus:border-green-500 transition-all duration-200 bg-white text-slate-900 text-sm font-mono uppercase"
style={{ textTransform: 'uppercase' }}
/>
>
<option value="" disabled>Selecciona un RFC</option>
{importadores.map(imp => (
<option key={imp.rfc} value={imp.rfc}>{imp.rfc}</option>
))}
</select>
<p className="text-xs text-green-600 mt-1">Formato: 12-13 caracteres (ABCD123456ABC)</p>
</div>
<input type="hidden" name="is_importador" value="true" />