| | |
| | |
|
| | | // 设置原型函数
|
| | | 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);
|
| | |
| | | });
|
| | | }
|
| | | ,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');
|
| | |
| | | // 判断当前内容是否为对应的需要更新的数据
|
| | | 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;
|
| | |
| | |
|
| | | return false;
|
| | | }
|
| | | ,_getIndex: function(field, value) {
|
| | | ,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;
|
| | | }
|
| | | };
|