gx_tieta/WebRoot/pages/js/mylayui.js
@@ -401,9 +401,8 @@
// 设置原型函数
LayuiTbl.prototype = {
    updateTr: function(index, data) {
   updateTr: function(index, data) {
        var layui = this.layui;
        var preData = this.cache[index];
        var _data = $.extend(preData||{}, data||{});
        var tds = this._getBodyTds(index);
@@ -436,6 +435,33 @@
            });
        });
    }
   ,updateCol: function(major, field, data) {         // 更新列的值
      // 判断当前属性是否是data的属性
      if(field in data) {
         var index = this.getIndex(major, data[major]);      // 获取需要更新的行
         if(index != undefined) {                     // 获取到
            this.updateTr(index, data);                  // 更新表格的数据
         }
      }
   }
   ,update: function(field, data) {
      for(var i=0; i<data.length; i++) {
         var _data = data[i];
         if(field in _data) {                        // 判断对象中是否存在标识位
            var _field = _data[field];                  // 获取标识位的值
            var index = this.getIndex(field, _field);      // 获取对象所在的行
            if(index != undefined) {                  // 判断是否获取到了行号
               this.updateTr(index, _data);            // 更新指定的行
            }else {
               console.log(' 第'+i+'个对象没有对象的表格行');
               console.log(_data);
            }
         }else {
            console.log(' 第'+i+'个对象的'+field+'主键标识不存在');
         }
      }
   }
    ,_getBodyTds: function(index) {
        var layuiTableView = $(this.ele).next('.layui-table-view');
        var layuiTableBody = layuiTableView.find('.layui-table-body .layui-table tbody');
@@ -460,8 +486,11 @@
            // 判断当前内容是否为对应的需要更新的数据
            if(key == _col.field) {
                // 判断是否有模板
                templet = _col.templet?$(_col.templet).html():_col.toolbar?$(_col.toolbar).html():value.toString();
               // 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;
@@ -473,5 +502,139 @@
        return false;
    }
    ,getIndex: function(field, value) {      // 获取tr的下标
       // 遍历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;
    }
    ,getTr: function(field, value) {      // 获取Tr的数据
       // 遍历cache的值
       var cache = this.cache;
       var rs = {
          code: 0
          ,data: {}
          ,msg: '获取标识位'+field+',值为'+value+'对应的tr的数据失败'
       };
       // 遍历cache的值
       for(var i=0; i<cache.length; i++) {
          var _cache = cache[i];
          if(field in _cache && _cache[field] == value) {
             rs.code = 1;
             rs.data = _cache;
             rs.msg = '获取标识位'+field+',值为'+value+'对应的tr的数据成功'
             break;
          }
       }
       return rs;
    }
    ,setCache: function(cache) {
       this.cache = cache;
    }
};
//获取layui的form表单的值(支持input和select)
var LayuiForm = function(ele) {
    this.ele = ele;
};
// 定义原型方法
LayuiForm.prototype = {
    get: function(callback) {
        var ele = $('#'+this.ele);
        var isGood = this._checkForm(ele);
        if(isGood) {
            var iptsVals = this._getIpts(ele);
            var selVals = this._getSels(ele);
            //  获取所有的form值
            var rs = $.extend({}, iptsVals, selVals);
            callback(rs);
        }
    }
    ,_getIpts: function(ele) {
        var ipts = ele.find('input');
        var iptVals = {};
        ipts.each(function() {
            var name = $(this).attr('name');
            if(name) {
                iptVals[name] = $(this).val();
            }
        });
        return iptVals;
    }
    ,_getSels: function(ele) {
        var sels = ele.find('select');
        var selVals = {};
        sels.each(function() {
            var name = $(this).attr('name');
            if(name) {
                selVals[name] = $(this).val();
            }
        });
        return selVals;
    }
    ,_checkForm: function(ele) {
        var isGood = true;
        var ipts = ele.find('input');
        var sels = ele.find('select');
        //  遍历所有的input查询是否有数据不正确的
        ipts.each(function() {
            if($(this).hasClass('layui-form-danger')) {
                isGood = false;
            }
        });
        //  遍历所有的select查询是否有数据不正确的
        sels.each(function() {
            if($(this).hasClass('layui-form-danger')) {
                isGood = false;
            }
        });
        // 返回结果
        return isGood;
    }
};
// 统计数据选中个数/总个数
var QuantNumber = function(ele) {
   this.ele = ele;
   this.mol = 0;
   this.den = 0;
   this._init();
}
// 设置原型方法
QuantNumber.prototype = {
   _init: function() {
      this._setEleTxt();
   }
   ,set: function(mol, den) {
      this.mol = mol;
      this.den = den;
      this._setEleTxt();
   }
   ,setMol: function(val) {
      this.mol = val;
      this._setEleTxt();
   }
   ,setDen: function(val) {
      this.den = val;
      this._setEleTxt();
   }
   ,_setEleTxt: function() {
      var str = this.mol+'/'+this.den;
      this.ele.text(str)
   }
};