mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
terminado
This commit is contained in:
@ -5,6 +5,7 @@ use App\Controllers\BaseResourceController;
|
||||
use App\Entities\Catalogo\CatalogoLibroEntity;
|
||||
use App\Models\Catalogo\CatalogoLibroModel;
|
||||
use App\Controllers\Presupuestos\Presupuestocliente;
|
||||
use App\Services\PresupuestoService;
|
||||
|
||||
class ImportadorCatalogo extends BaseResourceController
|
||||
{
|
||||
@ -281,17 +282,19 @@ class ImportadorCatalogo extends BaseResourceController
|
||||
]
|
||||
];
|
||||
|
||||
// Ajuste del precio a RAMA
|
||||
$dataToUpdate = [
|
||||
'total_aceptado' => ($tirada * $precio_compra),
|
||||
'total_aceptado_revisado' => ($tirada * $precio_compra),
|
||||
'total_precio_unidad' => $precio_compra
|
||||
];
|
||||
$presupuestoModel = model('App\Models\Presupuestos\Presupuestomodel');
|
||||
$presupuestoModel->update($response['data']['sk_id'], $dataToUpdate);
|
||||
|
||||
|
||||
|
||||
// Ajuste del precio a RAMA
|
||||
$respuesta_ajuste = PresupuestoService::ajustarPresupuesto(
|
||||
$response['data']['sk_id'],
|
||||
$precio_compra,
|
||||
$tirada
|
||||
);
|
||||
if ($respuesta_ajuste['warning'] == true) {
|
||||
$response['price_warning'] = [
|
||||
'new_precio_unidad' => $respuesta_ajuste['new_precio_unidad'],
|
||||
'new_total' => $respuesta_ajuste['new_total'],
|
||||
];
|
||||
}
|
||||
|
||||
return $this->respond($response);
|
||||
|
||||
|
||||
@ -330,10 +330,16 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'a_favor_fibra' => 1,
|
||||
);
|
||||
|
||||
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
||||
$cliente = $cliente_model->find($cliente_id);
|
||||
// Para POD siempre es HQ
|
||||
if ($tirada[0] <= $POD) {
|
||||
if ($tirada[0] <= $POD && !$cliente->forzar_rotativa_pod) {
|
||||
$isHq = true;
|
||||
}
|
||||
$forzarRotativa = false;
|
||||
if ($tirada[0] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||
$forzarRotativa = true;
|
||||
}
|
||||
|
||||
$input_data = array(
|
||||
'uso' => 'interior',
|
||||
@ -346,7 +352,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'cliente_id' => $cliente_id,
|
||||
'paginas_color' => $paginas_color,
|
||||
'excluirRotativa' => $excluirRotativa,
|
||||
'papelInteriorDiferente' => $papelInteriorDiferente
|
||||
'papelInteriorDiferente' => $papelInteriorDiferente,
|
||||
'forzarRotativa' => $forzarRotativa,
|
||||
);
|
||||
|
||||
$interior = PresupuestoClienteService::obtenerInterior($input_data);
|
||||
@ -460,6 +467,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$id = $reqData['id'] ?? 0;
|
||||
|
||||
$cliente_id = $reqData['clienteId'] ?? -1;
|
||||
$noEnvioBase = model('App\Models\Clientes\ClienteModel')->find($cliente_id)->no_envio_base ?? false;
|
||||
|
||||
$tirada = $reqData['tirada'] ?? 0;
|
||||
$selectedTirada = $reqData['selectedTirada'] ?? -1;
|
||||
@ -609,6 +617,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
} else {
|
||||
$coste = floatval($coste_direccion->coste);
|
||||
$margen = $coste * (intval($coste_direccion->margen) / 100.0);
|
||||
if ($noEnvioBase) {
|
||||
$coste = 0.0;
|
||||
$margen = 0.0;
|
||||
}
|
||||
$return_data['eb'][$i] = round($coste + $margen, 2);
|
||||
}
|
||||
}
|
||||
@ -746,10 +758,16 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'a_favor_fibra' => 1,
|
||||
);
|
||||
|
||||
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
||||
$cliente = $cliente_model->find($cliente_id);
|
||||
// Para POD siempre es HQ
|
||||
if ($tirada[0] <= $POD) {
|
||||
if ($tirada[0] <= $POD && !$cliente->forzar_rotativa_pod) {
|
||||
$isHq = true;
|
||||
}
|
||||
$forzarRotativa = false;
|
||||
if ($tirada[0] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||
$forzarRotativa = true;
|
||||
}
|
||||
|
||||
$input_data = array(
|
||||
'uso' => 'interior',
|
||||
@ -762,7 +780,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'cliente_id' => $cliente_id,
|
||||
'paginas_color' => $paginas_color,
|
||||
'excluirRotativa' => $excluirRotativa,
|
||||
'papelInteriorDiferente' => $papelInteriorDiferente
|
||||
'papelInteriorDiferente' => $papelInteriorDiferente,
|
||||
'forzarRotativa' => $forzarRotativa,
|
||||
);
|
||||
|
||||
$interior = PresupuestoClienteService::obtenerInterior($input_data);
|
||||
@ -1126,6 +1145,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$peso_libro = $resultado_presupuesto['peso'][array_search($selected_tirada, $tirada)];
|
||||
|
||||
// calculo del envio base (tirada_maxima)
|
||||
$noEnvioBase = model('App\Models\Clientes\ClienteModel')->find($cliente_id)->no_envio_base ?? false;
|
||||
$resultado_presupuesto['eb'] = [];
|
||||
$datos_presupuesto['envio_base'] = 0;
|
||||
for ($i = 0; $i < count($tirada); $i++) {
|
||||
@ -1139,6 +1159,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
);
|
||||
|
||||
if (intval($selected_tirada) == intval($tirada[$i])) {
|
||||
if ($noEnvioBase) {
|
||||
$coste_direccion->coste = 0.0;
|
||||
$coste_direccion->margen = 0.0;
|
||||
}
|
||||
$datos_presupuesto['envio_base'] = round($coste_direccion->coste * (1 + $coste_direccion->margen / 100.0), 2);
|
||||
}
|
||||
|
||||
@ -1160,6 +1184,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
];
|
||||
return $resultado_presupuesto;
|
||||
} else {
|
||||
if ($noEnvioBase) {
|
||||
$coste_direccion->coste = 0.0;
|
||||
$coste_direccion->margen = 0.0;
|
||||
}
|
||||
$resultado_presupuesto['eb'][$i] = round($coste_direccion->coste, 2);
|
||||
$resultado_presupuesto['eb_margen'][$i] = round($coste_direccion->margen, 2);
|
||||
}
|
||||
@ -1176,10 +1204,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
for ($i = 0; $i < count($tirada); $i++) {
|
||||
$coste_envio = 0.0;
|
||||
$coste_envio += ($resultado_presupuesto['eb'][$i] / $tirada[$i]);
|
||||
$resultado_presupuesto['info']['totales'][$i]['envio_base_margen'] =
|
||||
floatval($resultado_presupuesto['eb'][$i])*(floatval($resultado_presupuesto['eb_margen'][$i])/100.0);
|
||||
$resultado_presupuesto['info']['totales'][$i]['envio_base_margen'] =
|
||||
floatval($resultado_presupuesto['eb'][$i]) * (floatval($resultado_presupuesto['eb_margen'][$i]) / 100.0);
|
||||
$resultado_presupuesto['info']['totales'][$i]['envio_base_coste'] = $resultado_presupuesto['eb'][$i];
|
||||
|
||||
|
||||
$resultado_presupuesto['precio_u'][$i] = round(floatval($resultado_presupuesto['precio_u'][$i]) + $coste_envio, 4);
|
||||
}
|
||||
|
||||
@ -1357,7 +1385,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
foreach ($serviciosAcabado as $service) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa(
|
||||
intval($service), intval($selected_tirada)+$resultado_presupuesto['info']['merma'], -1, $POD);
|
||||
intval($service),
|
||||
intval($selected_tirada) + $resultado_presupuesto['info']['merma'],
|
||||
-1,
|
||||
$POD
|
||||
);
|
||||
|
||||
if (count($servicio) > 0) {
|
||||
if ($servicio[0]->total > 0) {
|
||||
@ -1375,8 +1407,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
foreach ($serviciosAcabado as $service) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa(
|
||||
intval($service),
|
||||
intval($selected_tirada) + $resultado_presupuesto['info']['merma'], -1, $POD);
|
||||
intval($service),
|
||||
intval($selected_tirada) + $resultado_presupuesto['info']['merma'],
|
||||
-1,
|
||||
$POD
|
||||
);
|
||||
|
||||
if (count($servicio) > 0) {
|
||||
if ($servicio[0]->total > 0) {
|
||||
@ -1393,8 +1428,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
foreach ($serviciosAcabado as $service) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa(
|
||||
intval($service),
|
||||
intval($selected_tirada) + $resultado_presupuesto['info']['merma'], -1, $POD);
|
||||
intval($service),
|
||||
intval($selected_tirada) + $resultado_presupuesto['info']['merma'],
|
||||
-1,
|
||||
$POD
|
||||
);
|
||||
|
||||
if (count($servicio) > 0) {
|
||||
if ($servicio[0]->total > 0) {
|
||||
@ -1407,7 +1445,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$tarifa_id = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_lomo_redondo')->value;
|
||||
$serv_lomo = PresupuestoCLienteService::getServiciosManipulado([
|
||||
'tarifa_id' => intval($tarifa_id),
|
||||
'tirada' => $selected_tirada+$resultado_presupuesto['info']['merma'],
|
||||
'tirada' => $selected_tirada + $resultado_presupuesto['info']['merma'],
|
||||
'POD' => $POD,
|
||||
])[0];
|
||||
|
||||
@ -2039,10 +2077,16 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$info['merma'] = $datosPedido->merma;
|
||||
}
|
||||
|
||||
$cliente_model = model(('App\Models\Clientes\ClienteModel'));
|
||||
$cliente = $cliente_model->find($cliente_id);
|
||||
// Para POD siempre es HQ
|
||||
if ($tirada[$t] <= $POD) {
|
||||
if ($tirada[$t] <= $POD && !$cliente->forzar_rotativa_pod) {
|
||||
$isHq = true;
|
||||
}
|
||||
$forzarRotativa = false;
|
||||
if ($tirada[$t] <= $POD && $cliente->forzar_rotativa_pod) {
|
||||
$forzarRotativa = true;
|
||||
}
|
||||
|
||||
$input_data = array(
|
||||
'uso' => 'interior',
|
||||
@ -2055,7 +2099,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'cliente_id' => $cliente_id,
|
||||
'paginas_color' => $paginas_color,
|
||||
'excluirRotativa' => $excluirRotativa,
|
||||
'papelInteriorDiferente' => $papelInteriorDiferente
|
||||
'papelInteriorDiferente' => $papelInteriorDiferente,
|
||||
'forzarRotativa' => $forzarRotativa,
|
||||
);
|
||||
|
||||
$interior = PresupuestoClienteService::obtenerInterior($input_data);
|
||||
@ -3071,7 +3116,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$sumForFactor += round($linea['precio_pedido'], 2)
|
||||
- round($linea['margen_papel_pedido'], 2);
|
||||
$margenPapel += round($linea['margen_papel_pedido'], 2);
|
||||
|
||||
|
||||
$totalImpresion += round($linea['precio_click_pedido'], 2);
|
||||
$totalImpresion -= round($linea['margen_click_pedido'], 2);
|
||||
$sumForFactor += round($linea['precio_click_pedido'], 2)
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Migrations;
|
||||
|
||||
use CodeIgniter\Database\RawSql;
|
||||
use CodeIgniter\Database\Migration;
|
||||
|
||||
class AddClienteNoBasePODnoHQ extends Migration
|
||||
{
|
||||
protected array $COLUMNS = [
|
||||
"no_envio_base" => [
|
||||
"type" => "TINYINT",
|
||||
"default" => 0,
|
||||
],
|
||||
"forzar_rotativa_pod" => [
|
||||
"type" => "TINYINT",
|
||||
"default" => 0,
|
||||
],
|
||||
];
|
||||
public function up()
|
||||
{
|
||||
$this->forge->addColumn('clientes', $this->COLUMNS);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
$this->forge->dropColumn('clientes', array_keys($this->COLUMNS));
|
||||
}
|
||||
}
|
||||
@ -48,6 +48,8 @@ class ClienteEntity extends \CodeIgniter\Entity\Entity
|
||||
"updated_at" => null,
|
||||
"user_created_id" => 1,
|
||||
"user_update_id" => 1,
|
||||
"no_envio_base" => 0,
|
||||
"forzar_rotativa_pod" => 0,
|
||||
];
|
||||
protected $casts = [
|
||||
"comunidad_autonoma_id" => "?int",
|
||||
@ -70,6 +72,8 @@ class ClienteEntity extends \CodeIgniter\Entity\Entity
|
||||
"is_deleted" => "int",
|
||||
"user_created_id" => "int",
|
||||
"user_update_id" => "int",
|
||||
"no_envio_base" => "boolean",
|
||||
"forzar_rotativa_pod" => "boolean",
|
||||
];
|
||||
|
||||
public function comercial() : ?UserEntity
|
||||
|
||||
@ -46,6 +46,8 @@ return [
|
||||
'userCreatedId' => 'User Created ID',
|
||||
'userUpdateId' => 'User Update ID',
|
||||
'vencimiento' => 'Vencimiento',
|
||||
'removeEnvioBase' => 'No añadir Envio Base',
|
||||
'forzarRotativaPod' => 'Forzar rotativa en POD',
|
||||
|
||||
'direccionesEnvio' => 'Direcciones de Envío',
|
||||
|
||||
|
||||
@ -61,6 +61,8 @@ class ClienteModel extends \App\Models\BaseModel
|
||||
"comentarios",
|
||||
"user_created_id",
|
||||
"user_update_id",
|
||||
"no_envio_base",
|
||||
"forzar_rotativa_pod",
|
||||
];
|
||||
protected $returnType = ClienteEntity::class;
|
||||
protected $useSoftDeletes = true;
|
||||
|
||||
@ -9,7 +9,7 @@ class EmailService
|
||||
public function send(string $subject, string $body, $recipient): bool
|
||||
{
|
||||
|
||||
$skEnv = env('sk_environment', 'production'); // fallback a producción si no está definido
|
||||
$skEnv = env('SK_ENVIRONMENT', 'production'); // fallback a producción si no está definido
|
||||
|
||||
// Si no estamos en producción, forzar el destinatario a uno fijo
|
||||
if ($skEnv !== 'production') {
|
||||
|
||||
@ -58,7 +58,7 @@ class PresupuestoClienteService extends BaseService
|
||||
if ($total_plana < 0 && $total_rotativa < 0)
|
||||
return [];
|
||||
else {
|
||||
if ($total_plana > $total_rotativa)
|
||||
if ($total_plana > $total_rotativa && $data['forzarRotativa'] == 0)
|
||||
return $plana;
|
||||
else
|
||||
return [$rotativa];
|
||||
|
||||
@ -1983,4 +1983,55 @@ class PresupuestoService extends BaseService
|
||||
|
||||
return $peso;
|
||||
}
|
||||
|
||||
public static function ajustarPresupuesto($id, $precio_unidad = null, $unidades = null, $precio_total = null){
|
||||
|
||||
$precio_total_asignado = 0;
|
||||
$precio_unidad_asignado = $precio_unidad;
|
||||
$warning = false;
|
||||
|
||||
$model = model('App\Models\Presupuestos\PresupuestoModel');
|
||||
if($precio_unidad != null && $unidades != null){
|
||||
$precio_total_asignado = round(floatval($precio_unidad) * intval($unidades), 2);
|
||||
}
|
||||
else{
|
||||
$precio_total_asignado = floatval($precio_total);
|
||||
}
|
||||
$presupuesto = $model->find($id);
|
||||
$costes = floatval($presupuesto->total_costes);
|
||||
$envio_base = floatval($presupuesto->envio_base);
|
||||
if($costes + $envio_base > $precio_total_asignado){
|
||||
$precio_total_asignado = round($costes + $envio_base, 2);
|
||||
$precio_unidad_asignado = round($precio_total_asignado / intval($unidades), 4);
|
||||
$warning = true;
|
||||
}
|
||||
$total_margenes = $precio_total_asignado - $costes - $envio_base;
|
||||
|
||||
$sumForFactor = floatval($presupuesto->total_coste_papel) + floatval($presupuesto->total_coste_impresion);
|
||||
$sumForFactorPonderado = $sumForFactor + floatval($presupuesto->total_coste_servicios);
|
||||
|
||||
$factor = ($precio_total_asignado - floatval($presupuesto->envio_base)
|
||||
- floatval($presupuesto->total_coste_envios) - floatval($presupuesto->total_margen_envios)) / $sumForFactor;
|
||||
|
||||
$factorPonderado = ($precio_total_asignado - floatval($presupuesto->envio_base)
|
||||
- floatval($presupuesto->total_coste_envios) - floatval($presupuesto->total_margen_envios)) / $sumForFactorPonderado;
|
||||
|
||||
if ($presupuesto) {
|
||||
|
||||
$presupuesto->total_margenes = $total_margenes;
|
||||
$presupuesto->total_aceptado = $precio_total_asignado;
|
||||
$presupuesto->total_aceptado_revisado = $precio_total_asignado;
|
||||
$presupuesto->total_antes_descuento = $precio_total_asignado;
|
||||
$presupuesto->total_precio_unidad = $precio_unidad_asignado;
|
||||
$presupuesto->total_factor = round($factor, 2);
|
||||
$presupuesto->total_factor_ponderado = round($factorPonderado, 2);
|
||||
$model->update($id, $presupuesto);
|
||||
}
|
||||
return [
|
||||
"success" => true,
|
||||
"warning" => $warning,
|
||||
"new_total" => $precio_total_asignado,
|
||||
"new_precio_unidad" => $precio_unidad_asignado,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -521,6 +521,28 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-check">
|
||||
<label for="removeEnvioBase" class="form-check-label">
|
||||
<input type="checkbox" id="removeEnvioBase"
|
||||
name="no_envio_base" value="1"
|
||||
class="form-check-input"<?= $clienteEntity->no_envio_base == true ? 'checked' : ''; ?>>
|
||||
<?= lang('Clientes.removeEnvioBase') ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-check">
|
||||
<label for="rotativaPOD" class="form-check-label">
|
||||
<input type="checkbox" id="rotativaPOD"
|
||||
name="forzar_rotativa_pod" value="1"
|
||||
class="form-check-input"<?= $clienteEntity->forzar_rotativa_pod == true ? 'checked' : ''; ?>>
|
||||
<?= lang('Clientes.forzarRotativaPod') ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row g-3 mb-3">
|
||||
<div class="col-md-3">
|
||||
<div class="form-check">
|
||||
<label for="tiradaFlexible" class="form-check-label">
|
||||
|
||||
@ -169,12 +169,21 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
dataTable.row($row).data(rowData).draw(false); // Redibujar la fila SIN perder scroll ni filtros
|
||||
}
|
||||
|
||||
let html = skUrl
|
||||
? `La fila se importó exitosamente.<br><br><a href="${skUrl}" target="_blank" class="btn btn-primary mt-2">Ver presupuesto</a>`
|
||||
: 'La fila se importó exitosamente.';
|
||||
let icon = 'success';
|
||||
|
||||
if (result.price_warning) {
|
||||
html = skUrl ? `La fila se importó exitosamente, pero el precio no se ha podido ajustar (debajo de costes).<br><br><a href="${skUrl}" target="_blank" class="btn btn-primary mt-2">Ver presupuesto</a>`
|
||||
: 'La fila se importó exitosamente, pero el precio no se ha podido ajustar (debajo de costes).';
|
||||
icon = 'warning';
|
||||
}
|
||||
|
||||
Swal.fire({
|
||||
title: 'Importado correctamente',
|
||||
html: skUrl
|
||||
? `La fila se importó exitosamente.<br><br><a href="${skUrl}" target="_blank" class="btn btn-primary mt-2">Ver presupuesto</a>`
|
||||
: 'La fila se importó exitosamente.',
|
||||
icon: 'success',
|
||||
html: html,
|
||||
icon: icon,
|
||||
confirmButtonText: 'Aceptar',
|
||||
buttonsStyling: true,
|
||||
customClass: { confirmButton: 'btn btn-success' }
|
||||
@ -252,6 +261,9 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
}).then(async (result) => {
|
||||
if (!result.isConfirmed) return;
|
||||
|
||||
// array para contener los IDs que no se han podido ajustar
|
||||
let idsNoAjustados = [];
|
||||
|
||||
for (const fila of filasAptas) {
|
||||
try {
|
||||
const response = await fetch('/importador/catalogo/importar-fila', {
|
||||
@ -268,6 +280,10 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
if (response.ok && result.status === 200) {
|
||||
const skUrl = result.data?.sk_url?.replace('presupuestocliente', 'presupuestoadmin') ?? null;
|
||||
|
||||
if (result.price_warning) {
|
||||
idsNoAjustados.push(result.data.sk_id);
|
||||
}
|
||||
|
||||
if (skUrl) {
|
||||
fila.rowData[6] = `<a href="${skUrl}" target="_blank" class="btn btn-sm btn-primary">Ver presupuesto</a>`;
|
||||
} else {
|
||||
@ -286,10 +302,16 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
}
|
||||
}
|
||||
|
||||
let text = 'Se han procesado todas las filas seleccionadas.';
|
||||
let icon = 'success';
|
||||
if (idsNoAjustados.length > 0) {
|
||||
text = 'Se han procesado todas las filas seleccionadas, pero no se han podido ajustar los precios de los siguientes presupuestos: ' + idsNoAjustados.join(', ');
|
||||
icon = 'warning';
|
||||
}
|
||||
Swal.fire({
|
||||
title: 'Importación finalizada',
|
||||
text: 'Se han procesado todas las filas seleccionadas.',
|
||||
icon: 'success',
|
||||
text: text,
|
||||
icon: icon,
|
||||
confirmButtonText: 'Aceptar',
|
||||
buttonsStyling: true,
|
||||
customClass: { confirmButton: 'btn btn-success' }
|
||||
|
||||
Reference in New Issue
Block a user