Muestre todos los archivos adjuntos uno por uno a través del botón Siguiente en el archivo adjunto
Publicado por Miriam (1 intervención) el 03/10/2023 18:50:56
Tengo estas funciones que me muestran todos los archivos adjuntos a la vez y lo que quiero es que se abran uno a la vez y el siguiente se muestre a través de un botón de siguiente en el archivo adjunto que se muestra pero no puedo hacerlo.
1
2
3
4
5
6
7
8
9
10
11
12
13
$scope.previsualizarTodosAdjuntos = function() {
var ultimaPosicion = $scope.datos.adjuntos.preguntasAdjuntos.length - 1;
var preguntasUltimaPosicion = $scope.datos.adjuntos.preguntasAdjuntos[ultimaPosicion].preguntas;
var idDetalles = preguntasUltimaPosicion.map(pregunta => pregunta.idDetalle);
console.log(idDetalles);
idDetalles.forEach(function(idDetalle) {
$scope.funciones.previsualizarTodosAdjunto({ idDetalle: idDetalle });
});
};
1
2
3
4
5
6
7
8
9
10
previsualizarTodosAdjunto: function (params, BBASE64) {
params = {
SSISTEMA: "",
IEMPRESA: kUtil.empresa,
IPRESUPUESTO: $scope.datos.presupuesto.presupuesto,
IDETALLEPREGUNTA: params.idDetalle,
BBASE64: true,
};
$scope.servicios.servicioPrevisualizarTodosAdjunto(params);
},
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
servicioPrevisualizarTodosAdjunto: function (params, ev) {
ServicioNuevoPresupuesto.descargarAdjunto(params).then(function (ok) {
var nameImg = ok.data.value.Rows[0].NOMBRE;
var urlArchive = ok.data.value.Rows[0].DATA;
console.log(urlArchive)
var archiveBase64 = ok.data.value.Rows[0].BASE64;
var allowedExtensions = ["jpg", "jpeg", "png", "gif", "pdf"];
var lastDotIndex = nameImg.lastIndexOf('.');
var fileExtension = nameImg.substring(lastDotIndex + 1).toLowerCase();
if (allowedExtensions.includes(fileExtension)) {
if (fileExtension === "pdf") {
var byteCharacters = atob(archiveBase64);
var byteNumbers = new Array(byteCharacters.length);
for (var i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
var pdfBlob = new Blob([byteArray], { type: "application/pdf" });
var pdfUrl = URL.createObjectURL(pdfBlob);
var confirmDialog = $mdDialog.confirm();
confirmDialog._options.template =
'<md-dialog>' +
'<md-dialog-content>' +
'<iframe src="' + pdfUrl + '" style="width: 149vh; height: 71vh;"></iframe>' +
'</md-dialog-content>' +
'<md-dialog-actions>' +
'<md-button ng-click="dialog.abort()" >' +
'Cerrar' +
'</md-button>' +
'</md-dialog-actions>' +
'</md-dialog>',
$mdDialog.show(confirmDialog)
} else {
var confirmDialog = $mdDialog.confirm();
confirmDialog._options.template =
'<md-dialog>' +
'<md-dialog-content>' +
'<img src="' + urlArchive + '" alt="' + nameImg + '" style="max-width: 100%;">' +
'</md-dialog-content>' +
'<md-dialog-actions>' +
'<md-button ng-click="dialog.abort()" class="md-primary">' +
'Cerrar' +
'</md-button>' +
'</md-dialog-actions>' +
'</md-dialog>',
$mdDialog.show(confirmDialog)
}
}
});
},
Valora esta pregunta


0