//全选的实现 $(document).on('click','.check-all',function(){ $(".ids").prop("checked", $(this).prop('checked')); }); // $(document).on('click','.uncheck-all',function(){ // $(".ids").prop("checked", false); // }); //ajax get请求 $(document).on('click','.ajax-get',function(){ var that = this; var confirm_msg = $(this).attr('data-confirm')?$(this).attr('data-confirm'):'确认要执行该操作吗?'; if ( $(this).hasClass('confirm') ) { layer.confirm(confirm_msg, { btn: ['确认', '取消'], //按钮 shade: false //不显示遮罩 }, function() { layer.closeAll(); ajax_get_fun(that); }, function() { layer.closeAll(); }); }else{ ajax_get_fun(that); } return false; }); function ajax_get_fun(that) { var target; if ( (target = $(that).attr('href')) || (target = $(that).attr('url')) ) { var flag = $(that).attr('data-flag'); if(flag == 1){ return ''; } $(that).attr('data-flag',1); $.get(target).success(function(data){ if (data.code==1) { if (data.url) { updateAlert(data.msg,'alert-success'); }else{ updateAlert(data.msg,'alert-success'); } setTimeout(function(){ if($(that).hasClass('data-reload')){ window.location.reload(); } if($(that).hasClass('data-reload1')){ parent.location.reload(); } if( $(that).hasClass('no-refresh')){ $('#top-alert').find('button').click(); $(that).attr('data-flag',0); }else{ var datatable = $(that).attr('data-table'); if(datatable==1){ $('#top-alert').find('button').click(); $("#table").trigger("reloadGrid"); }else{ var datalayer = $(that).attr('data-layer'); if(datalayer==1) { parent.layer.closeAll(); parent.location.reload(); }else{ location.href=data.url; } } } },1500); }else{ updateAlert(data.msg,'alert-danger'); setTimeout(function(){ if (data.url) { location.href=data.url; }else{ $('#top-alert').find('button').click(); $(that).attr('data-flag',0); } },1500); } }); } } //ajax post submit请求 $(document).on('click','.ajax-post',function(){ var target,query,form; var target_form = $(this).attr('target-form'); var that = this; var nead_confirm=false; var confirm_msg = $(this).attr('data-confirm')?$(this).attr('data-confirm'):'确认要执行该操作吗?'; if( ($(this).attr('type')=='submit') || (target = $(this).attr('href')) || (target = $(this).attr('url')) ){ form = $('.'+target_form); if ($(this).attr('hide-data') === 'true'){//无数据时也可以使用的功能 form = $('.hide-data'); query = form.serialize(); }else if (form.get(0)==undefined){ return false; }else if ( form.get(0).nodeName=='FORM' ){ if ( $(this).hasClass('confirm') ) { layer.confirm(confirm_msg, { btn: ['确认', '取消'], //按钮 shade: false //不显示遮罩 }, function() { layer.closeAll(); if($(this).attr('url') !== undefined){ target = $(this).attr('url'); }else{ target = form.get(0).action; } query = form.serialize(); ajax_post_fun(target,that,query); return false; }, function() { layer.closeAll(); }); return false; }else{ if($(this).attr('url') !== undefined){ target = $(this).attr('url'); }else{ target = form.get(0).action; } query = form.serialize(); } }else if( form.get(0).nodeName=='INPUT' || form.get(0).nodeName=='SELECT' || form.get(0).nodeName=='TEXTAREA') { form.each(function(k,v){ if(v.type=='checkbox' && v.checked==true){ nead_confirm = true; } }) if ( nead_confirm && $(this).hasClass('confirm') ) { layer.confirm(confirm_msg, { btn: ['确认', '取消'], //按钮 shade: false //不显示遮罩 }, function() { layer.closeAll(); query = form.serialize(); ajax_post_fun(target,that,query); return false; }, function() { layer.closeAll(); }); return false; }else{ query = form.serialize(); } }else{ if ( $(this).hasClass('confirm') ) { layer.confirm(confirm_msg, { btn: ['确认', '取消'], //按钮 shade: false //不显示遮罩 }, function() { layer.closeAll(); query = form.find('input,select,textarea').serialize(); ajax_post_fun(target,that,query); return false; }, function() { layer.closeAll(); }); return false; }else{ query = form.find('input,select,textarea').serialize(); } } ajax_post_fun(target,that,query); } return false; }); function ajax_post_fun(target,that,query) { $(that).addClass('disabled').attr('autocomplete','off').prop('disabled',true); $.post(target,query).success(function(data){ if (data.code==1) { if (data.url) { updateAlert(data.msg,'alert-success'); // updateAlert(data.msg + ' 页面即将自动跳转~','alert-success'); }else{ updateAlert(data.msg ,'alert-success'); } setTimeout(function(){ $(that).removeClass('disabled').prop('disabled',false); if( $(that).hasClass('no-refresh')){ $('#top-alert').find('button').click(); }else{ var datatable = $(that).attr('data-table'); if(datatable==1){ $('#top-alert').find('button').click(); $("#table").trigger("reloadGrid"); }else{ var datalayer = $(that).attr('data-layer'); var datalayer1 = $(that).attr('data-layer_c'); var datalayer2 = $(that).attr('data-layer_d'); if(datalayer==1){ parent.layer.closeAll(); // parent.location.reload(); }else{ if(datalayer1==1){ parent.layer.closeAll(); }else { if(datalayer2==1){ parent.layer.closeAll(); parent.location.reload(); }else { if (data.url && !datalayer) { location.href = data.url; } $('#top-alert').find('button').click(); } } } } } },1500); }else{ console.log(111) updateAlert(data.msg,'alert-danger'); setTimeout(function(){ $(that).removeClass('disabled').prop('disabled',false); if (data.url) { location.href=data.url; }else{ $('#top-alert').find('button').click(); } },1500); } }); } /**顶部警告栏*/ var top_alert = $('#top-alert'); top_alert.find('.close').on('click', function () { top_alert.removeClass('block').slideUp(200); }); window.updateAlert = function (text,c) { text = text||'default'; c = c||false; if ( text!='default' ) { top_alert.find('.alert-content').text(text); if (top_alert.hasClass('block')) { } else { top_alert.addClass('block').slideDown(200); } } else { if (top_alert.hasClass('block')) { top_alert.removeClass('block').slideUp(200); } } if ( c!=false ) { top_alert.removeClass('alert-danger alert-warning alert-info alert-success').addClass(c); } }; window.updateAlertSuccess = function (text,t) { updateAlert(text,'alert-success'); setTimeout(function(){ $(that).removeClass('disabled').prop('disabled',false); if (t==1) { location.reload(); }else{ $('#top-alert').find('button').click(); } },1500); }; window.updateAlertError = function (text,t) { updateAlert(text,'alert-danger'); setTimeout(function(){ $(that).removeClass('disabled').prop('disabled',false); if (t==1) { location.reload(); }else{ $('#top-alert').find('button').click(); } },1500); }; /* 设置表单的值 */ function formSetValue(name, value){ var first = name.substr(0,1), input, i = 0, val; if(value === "") return; if("#" === first || "." === first){ input = $(name); } else { input = $("[name='" + name + "']"); } if(input.eq(0).is(":radio")) { //单选按钮 input.filter("[value='" + value + "']").each(function(){this.checked = true}); } else if(input.eq(0).is(":checkbox")) { //复选框 if(!$.isArray(value)){ val = new Array(); val[0] = value; } else { val = value; } for(i = 0, len = val.length; i < len; i++){ input.filter("[value='" + val[i] + "']").each(function(){this.checked = true}); } } else { //其他表单选项直接设置值 input.val(value); } } /** * 列表页排序 * @param _self */ function updateSort(_self) { var url = $(_self).attr('data-url');; var id = $(_self).attr('data-id'); var old = $(_self).attr('data-old'); var sort = $(_self).val(); $.post(url,{id:id,sort:sort},function(data){ if(data.code){ $("#table").trigger("reloadGrid"); }else{ $(_self).val(old); updateAlert(data.msg,'alert-danger'); setTimeout(function(){ if (data.url) { location.href=data.url; }else{ $('#top-alert').find('button').click(); } },1500); } }); } $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; //搜索 $('#search-btn').on('click', function() { var self = $("#form-search"); var url = self.attr('action'); console.log('search',url); if(url){ var pdata = self.serializeObject(); $("#table").jqGrid('setGridParam', { url: url, postData:pdata, page: 1 }).trigger("reloadGrid"); } }); //清除搜索 $('#search-clear').on('click',function () { $("#form-search")[0].reset(); var url = $("#form-search").attr('action'); if(url){ var pdata = $("#form-search").serializeObject(); $("#table").jqGrid('setGridParam',{url:url,postData:pdata,page:1}).trigger("reloadGrid"); } }); /** * 输入限制,只可以输入小数点和数字且小数点后只可以输入两个数字 * 一般用于onkeyup 和 onpaste方法 * 例:onkeyup="clearNoNum(this)" * @param obj */ function clearNoNum(obj){ if(obj.value.substr(0,1)=='.'){ obj.value = ''; } obj.value = obj.value.replace(/[^\d.]/g,""); obj.value = obj.value.replace(/\.{2,}/g,"."); obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); if(obj.value.indexOf(".")< 0 && obj.value !=""){ obj.value= parseFloat(obj.value); } } /** * 输入限制,只可以输入数字 * 一般用于onkeyup 和 onpaste方法 * 例:onkeyup="clearNoNum(this)" * @param obj */ function clearNoNum1(obj){ if(obj.value.substr(0,1)=='.'){ obj.value = ''; } obj.value = obj.value.replace(/[^\d.]/g,""); obj.value = obj.value.replace(/\./g,""); } /** * 输入限制,只可以输入小数点和数字且小数点后只可以输入一个数字 * 一般用于onkeyup 和 onpaste方法 * 例:onkeyup="clearNoNum(this)" * @param obj */ function clearNoNum2(obj){ if(obj.value.substr(0,1)=='.'){ obj.value = ''; } obj.value = obj.value.replace(/[^\d.]/g,""); obj.value = obj.value.replace(/\.{2,}/g,"."); obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3'); if(obj.value.indexOf(".")< 0 && obj.value !=""){ obj.value= parseFloat(obj.value); } } /** * 清除“数字”以外的字符 * 一般用于onkeyup 和 onpaste方法 * 例:onkeyup="clearNoNum(this)" * @param obj */ function clearNoNum3(obj){ obj.value = obj.value.replace(/[^\d]/g,""); //清除“数字”以外的字符 } //清除特殊字符 function stripscript(obj) { var s = $(obj).val(); var pattern = new RegExp("[`~!@#$%+^&*()=|{}':;'\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"); var rs = ""; for (var i = 0; i < s.length; i++) { rs = rs + s.substr(i, 1).replace(pattern, ''); } $(obj).val(rs); } function layer_open(_self,flag){ var url = $(_self).attr('url'); var title = $(_self).attr('data-title'); var width = $(_self).attr('data-width')?$(_self).attr('data-width'):'90%'; var height = $(_self).attr('data-height')?$(_self).attr('data-height'):'90%'; layer.open({ type: 2, title: title, shadeClose: true, shade: 0.3, maxmin: true, area: [width, height], content: url, end: function () { if(flag==1){ $("#table").trigger("reloadGrid"); }else if(flag==2){ window.location.reload(); } } }); } //打开查看图片 function open_img(_self) { var src = $(_self).attr('src'); var img = new Image(); img.src = src; var width = $(window).width()*0.8; var height = $(window).height()*0.8; img.onload = function(){ var imgw = img.width; var imgh = img.height; if(imgw > width&&imgh < height){ imgh = imgh*width/imgw; imgw = width; }else if(imgw < width&&imgh > height){ imgw = imgw*height/imgh; imgh = height; }else if(imgw > width&&imgh > height){ var bl1 = width/height; var bl2 = imgw/imgh; if(bl1 < bl2){ imgh = imgh*width/imgw; imgw = width; }else if(bl1 > bl2){ imgw = imgw*height/imgh; imgh = height; }else{ imgh = height; imgw = width; } } var imgs = ''; layer.open({ type: 1, title: false, closeBtn: 1, area: [imgw+'px', imgh+'px'], skin: 'layui-layer-nobg', //没有背景色 shadeClose: true, content: imgs }); }; } $('.cancel-btn').click(function () { parent.layer.closeAll(); }) $('#upload').click(function () { var url = $(this).attr('data-url'); layer.open({ type: 2, title: '导入', shadeClose: true, shade: 0.3, maxmin: true, area: ['90%', '90%'], content: url, }); }) $('#export').click(function () { var url = $(this).attr('data-url'); var data = $("#form-search").serialize(); window.location.href=url+'?'+data; }) function layerOpen(_self){ var url = $(_self).attr('url'); var title = $(_self).attr('data-title'); layer.open({ type: 2, title: title, shadeClose: true, shade: 0.3, area: ['90%', '90%'], content: url, }); }