在nodejs中res.render加倍

时间:2017-06-29 13:21:48

标签: javascript node.js

我发送了此查询,用于填写jade

中的表格
getAnalisisDetallado: function(req, res, next) {
        console.log('Entro aqui');
        var config = require('.././database/config');
        var articulos = null;
        var usuarios;
        sql.connect(config)
            .then(function() {
                var request = new sql.Request();
                request.query("SELECT DISTINCT t.SI_Articulo,  m.SI_Descripcion,  t.SI_UM, (CASE WHEN c.SI_OV IS NOT NULL THEN '*' ELSE NULL END) AS SI_OV, (SELECT COUNT(t3.SI_Ubicacion) from SI_Inventario_Teorico_QAD t3 WHERE t.SI_Articulo = t3.SI_Articulo)  AS SI_Ubicacion, (SELECT SUM(t2.SI_Existencia)  from SI_Inventario_Teorico_QAD t2 WHERE t.SI_Articulo = t2.SI_Articulo) as SI_Existencia, c.SI_Cantidad, c.SI_Cantidad - t.SI_Existencia AS SI_Dif ,(c.SI_Cantidad - t.SI_Existencia) * m.SI_Costo_Promedio AS SI_Dif_Dinero FROM SI_Inventario_Teorico_QAD t INNER JOIN SI_Maestro_Ref_QAD m ON m.SI_Num_Articulo = t.SI_Articulo LEFT JOIN SI_Conteo c ON c.SI_Num_Articulo = t.SI_Articulo GROUP BY t.SI_Articulo, m.SI_Descripcion, t.SI_UM, c.SI_OV, t.SI_Existencia, c.SI_Cantidad,m.SI_Costo_Promedio")
                    .then(function(recordset) {
                        articulos = recordset['recordset'];
                        console.log('Recordset: ' + recordset);
                        console.log('Affected: ' + request.rowsAffected);
                        //console.log(articulos);
                        sql.close();
                        res.render('menu/analisisDetallado', { ListArticulos: articulos });
                        next();

                    })
                    .catch(function(err) {
                        console.log('Request error: ' + err);
                    });
            })
            .catch(function(err) {
                if (err) {
                    console.log('SQL Connection Error: ' + err);
                }
            });


    }

带来它们并完美地放置它们。现在在同一个表中有一个按钮,向我显示详细的文章然后用ajax我带来文章的数量

$(function(){
    //function ajax
    $('#example-table #analisiInterno').click(function(e){
        e.preventDefault();
        var elemento = $(this);
        var id = elemento.parent().parent().find('#id_articulo').text();
        //alert(id);

        $.ajax({
            url: 'http://localhost:3000/visualizarArticulo',
            method: 'post',
            data : {id: id},
            success : function(res){
                console.log(res);
            }
        })
    })
});

能够进行新的咨询

getVisualizarArticulo: function(req, res, next) {
        console.log('Entra al otro');
        var id = req.body.id;
        var config = require('.././database/config');
        console.log(id);
        var respuesta = { res: false };
        sql.connect(config)
            .then(function() {
                var request = new sql.Request();
                request.query("SELECT SI_Articulo, SI_Ubicacion, SI_Existencia FROM SI_Inventario_Teorico_QAD WHERE SI_Articulo = '" + req.body.id + "'")
                    .then(function(recordset) {
                        detalle = recordset['recordset'];
                        console.log('Recordset: ' + recordset);
                        console.log('Affected: ' + request.rowsAffected);
                        console.log(detalle);
                        sql.close();
                        respuesta.res = true;
                        res.json(respuesta);
                        console.log(respuesta);

                        res.render('menu/analisisDetallado', { ListDetalle: detalle });

                    })
                    .catch(function(err) {
                        console.log('Request error: ' + err);
                    });
            })
            .catch(function(err) {
                if (err) {
                    console.log('SQL Connection Error: ' + err);
                }
            });
    }

我怀疑是同一个人res.render('menu/analisisDetallado', { ListDetalle: detalle }); 告诉我

  

无法读取属性'长度'未定义的

正如我所做的那样,再次将res.render传递到同一路线,考虑到我必须先填写第一个查询来填充表格。

这是jade视图

div(class="container aDetallado")
    div(class="row center span10")
      table(id='example-table' class='table table-striped table-hover table-condensed')
        thead
          tr
            th='Articulo'
            th='Descripción'
            th='Um'
            th='Ov'
            th='#Ubic'
            th='Teorico'
            th='Conteo2'
            th='Dif'
            th='Dif $'
            th='Asignar conteo'
            th='Seleccionar'
              input(type="checkbox")

          tbody
            each Articulos in ListArticulos
              tr
                td(id='id_articulo')= Articulos.SI_Articulo
                td= Articulos.SI_Descripcion
                td= Articulos.SI_UM
                td= Articulos.SI_OV
                td
                  button(type='button' id='analisiInterno' class='btn btn-danger' data-toggle='modal' data-target='#myModal')= Articulos.SI_Ubicacion
                td= Articulos.SI_Existencia
                td= Articulos.SI_Cantidad
                td= Articulos.SI_Dif
                td= Articulos.SI_Dif_Dinero
                td
                  select(class='form-control widthSelect' name='mood')
                    option(value="0") -- Seleccione usuario --
                    option(value="1") 1020433143
                    option(value="2") 1026138136
                    option(value="3") 1037618420
                    option(value="4") 1128430921
                    option(value="5") 1152683886
                    option(value="6") 15255651
                    option(value="7") 43222012
                    option(value="8") 71268442
                    option(value="9") 71703960
                    option(value="10") 8463111
                    option(value="11") 98514535
                    option(value="12") 98643619
                    option(value="13") Admin
                td
                  div(class='checkbox')
                    label
                      input(type='checkbox' autocomplete='off')
                      span(class='cr')
                        i(class='cr-icon glyphicon glyphicon-ok')
  form(action="/menu/analisisDetallado" method="post")
    div(class='container')
      div(id='myModal' class='modal fade' role='dialog')
        div(class='modal-dialog')
          div(class='modal-content')
            div(class='modal-header')
              button(type='button' class='close' data-dismiss='modal')= 'X'
              h4(class='modal-title')= 'Analisis interno'
            div(class='modal-body')
              table(class='table table-striped table-hover table-condensed')
                thead
                  tr
                    th='Articulo'
                    th='Ubicacion'
                    th='Teorico'
                  tbody
                    for Detalle in ListDetalle
                      tr
                        td= Detalle.SI_Articulo
                        td= Detalle.SI_Ubicacion
                        td= Detalle.SI_Existencia            
            div(class='modal-footer')
              button(type='button' class='btn btn-danger' data-dismiss='modal')= 'Cerrar'

或者以不同的方式填充弹出窗口中的表格?

0 个答案:

没有答案