var lab = {};
lab.loading = false;
lab.PrevImage = function (rootpath, paths)
{
for (var i in paths)
{
$('
').attr('src', rootpath+paths[i]);
}
};
lab.tip = function (message)
{
if (window.wintip)
{
window.wintip.set('content', message);
window.wintip.show();
}
else
{
window.wintip = $.ligerDialog.tip({ content: message });
}
setTimeout(function ()
{
window.wintip.hide()
}, 4000);
};
//显示loading
lab.showLoading = function (message) {
message = message || "正在加载中...";
$('body').append("
" + message + "
");
$.ligerui.win.mask();
};
//隐藏loading
lab.hideLoading = function (message) {
$('body > div.jloading').remove();
$.ligerui.win.unmask({ id: new Date().getTime() });
}
lab.ajax = function (options)
{
var p = options || {};
$.ajax({
cache: false,
url: p.url,
data: p.data,
dataType: 'json', type: 'post',
beforeSend: function () {
lab.loading = true;
lab.showLoading(p.loading);
},
complete: function () {
lab.loading = false;
lab.hideLoading();
},
success: function (result) {
if (!result.Error) {
if (p.success)
p.success(result.Data, result.Message);
}
else {
if (p.error)
p.error(result.Message);
}
},
error: function (result) {
lab.tip('发现系统错误:' + result);
}
});
};
//填充表单数据
lab.loadForm = function (mainform, data, prefix)
{
//根据返回的属性名,找到相应ID的表单元素,并赋值
prefix = prefix || "";
if (data)
{
for (var p in data)
{
$("#" + prefix + p).val(data[p]);
}
}
//下面是更新表单的样式
var managers = $.ligerui.find($.ligerui.controls.Input);
for (var i = 0, l = managers.length; i < l; i++)
{
//改变了表单的值,需要调用这个方法来更新ligerui样式
managers[i].updateStyle();
}
};
//带验证、带loading的提交
lab.submitForm = function (mainform, success)
{
if (!mainform)
mainform = $("form:first");
if (mainform.valid())
{
mainform.ajaxSubmit({
dataType: 'json',
success: success,
beforeSend: function ()
{
$('body').append("正在保存数据中...
");
$.ligerui.win.mask();
},
complete: function ()
{
$('body > div.jloading').remove();
$.ligerui.win.unmask();
}
});
}
else
{
lab.showInvalid();
}
};
//提示 验证错误信息
lab.showInvalid = function (validator)
{
validator = validator || lab.validator;
if (!validator) return;
var message = '存在' + validator.errorList.length + '个字段验证不通过,请检查!
';
$.ligerDialog.error(message);
};
//表单验证
lab.validate = function (form, options)
{
if (typeof (form) == "string")
form = $(form);
else if (typeof (form) == "object" && form.NodeType == 1)
form = $(form);
options = $.extend({
errorPlacement: function (lable, element)
{
if (!element.attr("id"))
element.attr("id", new Date().getTime());
if (element.hasClass("l-textarea"))
{
element.addClass("l-textarea-invalid");
}
else if (element.hasClass("l-text-field"))
{
element.parent().addClass("l-text-invalid");
}
$(element).removeAttr("title").ligerHideTip();
$(element).attr("title", lable.html()).ligerTip({
distanceX: 5,
distanceY: -3,
auto: true
});
},
success: function (lable)
{
if (!lable.attr("for")) return;
var element = $("#" + lable.attr("for"));
if (element.hasClass("l-textarea"))
{
element.removeClass("l-textarea-invalid");
}
else if (element.hasClass("l-text-field"))
{
element.parent().removeClass("l-text-invalid");
}
$(element).removeAttr("title").ligerHideTip();
}
}, options || {});
lab.validator = form.validate(options);
return lab.validator;
};
//附加表单搜索按钮:搜索、高级搜索
lab.appendSearchButtons = function (form, grid, filterbtn,callback)
{
if (!form) return;
form = $(form);
var container = $('').appendTo(form);
if (!filterbtn) container.find("#btn2container").remove();
lab.addSearchButtons(form, grid, container.find("li:eq(0)"), filterbtn ? container.find("li:eq(1)") : null,callback);
};
//创建过滤规则
lab.bulidFilterGroup = function (form)
{
if (!form) return null;
var group = { op: "and", rules: [] };
$(":input", form).not(":submit, :reset, :image,:button, [disabled]")
.each(function ()
{
if (!this.name) return;
//field : 标示为搜索用到的字段
if (!$(this).hasClass("field")) return;
if ($(this).val() == null || $(this).val() == "") return;
var op = $(this).attr("op") || "like";
//get the value type(number or date)
var vt = $(this).attr("vt") || "string";
group.rules.push({
op: op,
field: this.name,
value: $(this).val()
});
});
return group;
};
//创建按钮
lab.createButton = function (options)
{
var p = $.extend({
appendTo: $('body')
}, options || {});
var btn = $('');
if (p.icon)
{
btn.removeClass("buttonnoicon");
btn.append(' ');
}
//绿色皮肤
if (p.green)
{
btn.removeClass("button2");
}
if (p.width)
{
btn.width(p.width);
}
if (p.click)
{
btn.click(p.click);
}
if (p.text)
{
$("span", btn).html(p.text);
}
if (typeof (p.appendTo) == "string") p.appendTo = $(p.appendTo);
btn.appendTo(p.appendTo);
};
//创建表单搜索按钮:搜索、高级搜索
lab.addSearchButtons = function (form, grid, btn1Container, btn2Container, callback)
{
if (!form) return;
if (btn1Container)
{
lab.createButton({
appendTo: btn1Container,
text: '搜索',
click: function ()
{
var rule = lab.bulidFilterGroup(form);
loadClientData(rule);
function loadClientData(data)
{
//filterTranslator 在demos/filter/ligerGrid.showFilter.js中定义
var fnbody = ' return ' + filterTranslator.translateGroup(data);
grid.loadData(new Function("o", fnbody));
if (callback) callback();
}
}
});
}
if (btn2Container)
{
lab.createButton({
appendTo: btn2Container,
text: '高级搜索>>',
click: function ()
{
//showFilter 在demos/filter/ligerGrid.showFilter.js中定义
grid.showFilter();
}
});
}
};