// 配置参数
var config = {
base_path : 'http://127.0.0.1:8080/cs_core/', // 项目默认路径
ws_path : '127.0.0.1:8080/cs_core/',
dlg : { // 默认对话框属性
width : '800px',
height : '480px',
shade : 0.7,
},
thumbnail : { // 缩略图属性
width : "100px",
height: "80px",
},
pic_path : 'http://127.0.0.1:8080/cs_core/',
window :{
height: 960,
width : 1280
}
};
// 验证字符串是否以指定的str开头
String.prototype.startWith=function(str){
var reg=new RegExp("^" + str);
return reg.test(this);
}
// 验证字符串是否以指定的str结尾
String.prototype.endWith=function(str){
var reg = new RegExp(str + "$");
reg.IgnoreCase;
return reg.test(this);
}
// 验证是否是图片url
function isPicUrl(url){
if('undefined' == url) return false;
if(url.endWith('.BMP')
|| url.endWith('.bmp')
|| url.endWith('.png')
|| url.endWith('.PNG')
|| url.endWith('.png')
|| url.endWith('.GIF')
|| url.endWith('.jpg')
|| url.endWith('.JPG')
|| url.endWith('.jpeg')
|| url.endWith('.JPEG')){
return true;
}
return false;
}
function toJSON(_obj){
return JSON.parse(JSON.stringify(_obj));
}
$.fn.stringify = function() {
return JSON.stringify(this);
}
//以下为修改jQuery Validation插件兼容Bootstrap的方法,没有直接写在插件中是为了便于插件升级
$.validator.setDefaults({
highlight: function (element) {
$(element).closest('.form-group').removeClass('has-success').addClass('has-error');
},
success: function (element) {
element.closest('.form-group').removeClass('has-error').addClass('has-success');
},
errorElement: "span",
errorPlacement: function (error, element) {
if (element.is(":radio") || element.is(":checkbox")) {
//error.appendTo(element.parent().parent().parent());
error.appendTo(element.parent().parent());
} else {
error.appendTo(element.parent().parent());
}
},
errorClass: "help-block m-b-none",
validClass: "help-block m-b-none"
});
$.fn.extend({
form_validate:function(){
var _obj = $(this);
if(!_obj.is('form')){
return;
}
var v_rules = {}, v_messages = {};
$('input,select,textarea').each(function(){
var v = null, vm = null;
eval("v = " + $(this).attr("validate"));
if(v)
{
v_rules[$(this).attr('name')] = v;
}
eval("vm = " + $(this).attr("validateMessage"));
if(vm)
{
v_messages[$(this).attr('name')] = vm;
}
});
_obj.validate({
rules: v_rules,
messages: v_messages,
submitHandler:function(form){
// form.submit();
$(form).ajaxSubmit({
type:"post",
dataType:"json",
success:function(json){
if(json.code == "200"){
var index = parent.layer.getFrameIndex(window.name);
// parent.location.reload();
$(parent.document.getElementsByTagName('table')).each(function(){
_id = $(this).attr('id');
if(_id != '' && _id != undefined){
parent.reflush(_id);
}
});
parent.layer.close(index);
// parent.layer.close(index);
}else{
layer.msg(json.data);
}
},
error:function(){
alert('error');
}
});
}
});
}
});
$.fn.onlyNum = function() {
$(this).keypress(function(event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57))
return true;
else
return false;
}).focus(function() {
// 禁用输入法
this.style.imeMode = 'disabled';
}).bind("paste", function() {
// 获取剪切板的内容
var clipboard = window.clipboardData.getData("Text");
if (/^\d+$/.test(clipboard))
return true;
else
return false;
});
};
//
// 限制只能输入字母
//
// ----------------------------------------------------------------------
$.fn.onlyAlpha = function() {
$(this).keypress(
function(event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 65 && keyCode <= 90)
|| (keyCode >= 97 && keyCode <= 122))
return true;
else
return false;
}).focus(function() {
this.style.imeMode = 'disabled';
}).bind("paste", function() {
var clipboard = window.clipboardData.getData("Text");
if (/^[a-zA-Z]+$/.test(clipboard))
return true;
else
return false;
});
};
// ----------------------------------------------------------------------
//
// 限制只能输入数字和字母
//
// ----------------------------------------------------------------------
$.fn.onlyNumAlpha = function() {
$(this).keypress(
function(event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= 48 && keyCode <= 57)
|| (keyCode >= 65 && keyCode <= 90)
|| (keyCode >= 97 && keyCode <= 122))
return true;
else
return false;
}).focus(function() {
this.style.imeMode = 'disabled';
}).bind("paste", function() {
var clipboard = window.clipboardData.getData("Text");
if (/^(\d|[a-zA-Z])+$/.test(clipboard))
return true;
else
return false;
});
};
$.extend({
// 再次确认
confirm:function(_tips, _submit, _cancle){
layer.confirm(_tips, {
btn: ['确定','取消'] //按钮
},
function(index){
if(typeof(_submit) != 'undefined'){
_submit();
}
layer.close(index);
},
function(index){
if(typeof(_cancle) != 'undefined'){
_cancle();
}
layer.close(index);
}
)
},
tips:function(_tips){ // 提示信息
layer.msg(_tips);
},
loading:function(){
layer.msg('加载中', {icon: 4});
},
closeAll:function(){ // 关闭所有layer弹出框
layer.closeAll();
},
closeDlg:function(obj){ // 关闭当前打开的dlg
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
},
showPic:function(url){ // 图片预览
var img = new Image();
img.src = url; // 预加载图片,计算弹出框的width、height
if(img.width > config.window.width){
img.width = config.window.width;
}
if(img.height > config.window.height){
img.height = config.window.height;
}
img.onload = function(){
var index = layer.open({
type: 2,
title: false, // 去掉标题
shadeClose: true,
fixed: true, //不固定
skin: 'layui-layer-nobg', //没有背景色
shade: 0.7,
area: [img.width + 'px', img.height + 'px'],
content: url //pic 路径
});
}
img.onerror = function(){
$.tips('图片不存在');
}
},
openDlg:function(options){
if('undefined' == typeof(options.width)){
options.width = config.dlg.width;
}
if('undefined' == typeof(options.height)){
options.height = config.dlg.height;
}
if('undefined' == typeof(options.title)){
options.title = false;
}
if(isPicUrl(options.url)){
$.showPic(options.url);
return;
}
var index = layer.open({
type: 2,
area: [options.width, options.height],
fixed: false, //不固定
resize: true,
maxmin: true,
shade: 0.6,
title:options.title,
content: options.url,
});
// layer.iframeAuto(index);
}
});
function queryParams(params){
var page = params.offset / params.limit + 1;
return { page:page, pageSize:params.limit, search:params.search, sort:params.sort,order:params.order};
}
function getSelectedRow(table_id){
var data = $('#' + table_id).bootstrapTable('getSelections');
if(typeof(data) == 'undefined' || data.length < 1){
$.tips('未选中行');
return null;
}
return data[0];
}
/**
* 刷新table數據
* @param table_id
*/
function reflush(table_id){
$('#' + table_id).bootstrapTable('refresh');
}
/**
* 图片路径 - 暂定
* @param value
* @param row
* @param index
* @returns {String}
*/
function defParsePic(value,row,index){
return '';
}
/**
* 关闭当前窗口
* @param value
* @param row
* @param index
* @returns {String}
*/
function closeCurrentDlg(){
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
var NotifyMsg = function(type, data, url){
}
function format_time(value,row,index){
if(value == null || value ==''){
return '-- -- --';
}
var date = new Date();
date.setTime(value);
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
return Y+M+D+h+m+s;
}
function format_date(value,row,index){
if(value == null || value ==''){
return '-- -- --';
}
var date = new Date();
date.setTime(value);
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
return Y+M+D;
}