whyclj
2019-01-07 b3460365bca5a645e3e37d69dd606ae8bea8cbb0
gx_tieta/WebRoot/pages/js/mylayui.js
@@ -403,16 +403,29 @@
LayuiTbl.prototype = {
    updateTr: function(index, data) {
        var layui = this.layui;
        var preData = this.cache[index];
        var _data = $.extend(preData, data||{});
        var _data = $.extend(preData||{}, data||{});
        var tds = this._getBodyTds(index);
        console.log(preData);
        var tdRs = this._getFixedRTds(index);
        //console.log(_data);
        // 遍历
        var _this = this;
        layui.each(_data, function(key, value) {
            // 遍历tds的值
            tds.each(function() {
            tds.each(function(k) {
                var _field = $(this).data('field');
                if(key == _field) {
                    var cell = $(this).find('.layui-table-cell');
                    var content = _this._getContent(key, value, _data);
                    cell.html(content);
                }
            });
        });
        // 修改浮动
        layui.each(_data, function(key, value) {
            // 遍历tds的值
           tdRs.each(function(k) {
                var _field = $(this).data('field');
                if(key == _field) {
                    var cell = $(this).find('.layui-table-cell');
@@ -422,12 +435,28 @@
            });
        });
    }
   ,updateCol: function(major, field, data) {         // 更新列的值
      // 判断当前属性是否是data的属性
      if(field in data) {
         var index = this.getIndex(major, data[major]);      // 获取需要更新的行
         if(index != undefined) {                     // 获取到
            this.updateTr(index, data);                  // 更新表格的数据
         }
      }
   }
    ,_getBodyTds: function(index) {
        var layuiTableView = $(this.ele).next('.layui-table-view');
        var layuiTableBody = layuiTableView.find('.layui-table-body .layui-table tbody');
        var trList = layuiTableBody.find('tr');
        return trList.eq(index).find('td');
    }
    ,_getFixedRTds: function(index) {
       var layuiTableView = $(this.ele).next('.layui-table-view');
       var layuiFixedR = layuiTableView.find('.layui-table-fixed.layui-table-fixed-r .layui-table tbody');
       var trList = layuiFixedR.find('tr');
       return trList.eq(index).find('td');
    }
    ,_getContent: function(key, value, data) {
        var col = this.col;             //  所有的列
@@ -440,7 +469,11 @@
            // 判断当前内容是否为对应的需要更新的数据
            if(key == _col.field) {
                // 判断是否有模板
                templet = _col.templet?$(_col.templet).html():_col.toolbar?$(_col.toolbar).html():value;
               // console.log(key+'***'+_col.field);
               // console.log(_col.templet);
                templet = _col.templet?$(_col.templet).html():_col.toolbar?$(_col.toolbar).html():typeof value == 'number'?value.toString():value;
                //console.log(templet);
                templet = templet?templet:typeof value == 'number'?value.toString():value;
                // 根据模板构成content
                laytpl(templet).render(data, function(html) {
                    rs = html;
@@ -452,5 +485,23 @@
        return false;
    }
    ,getIndex: function(field, value) {
       // 遍历cache的值
       var cache = this.cache;
       var index = undefined;
       for(var i=0; i<cache.length; i++) {
          var _cache = cache[i];
          console.log(_cache)
          if(field in _cache && _cache[field] == value) {
             index = i;
             break;
          }
       }
       return index;
    }
    ,setCache: function(cache) {
       this.cache = cache;
    }
};