AngularJS - Muestre todos los archivos adjuntos uno por uno a través del botón Siguiente en el archivo adjunto

<<>>
 
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder