/* 应用通用功能 */ // 判断地址栏是否有lang参数,没有则跳转到带lang参数的地址 if(typeof MET !='undefined' && MET['url']['basepath'] !='undefined'){ var str=window.parent.document.URL, s=str.indexOf("lang="+M['lang']), z=str.indexOf("lang"); if (s=='-1' && z!='-1') { var s1=str.indexOf('#'); if (s1=='-1') { str=str.replace(/(lang=[^#]*)/g, "lang="+M['lang']+"#"); } str=str.replace(/(lang=[^#]*#)/g, "lang="+lang+"#"); parent.location.href=str; } } // 获取地址栏参数 function getQueryString(name) { var reg=new RegExp("(^|&)"+name+"=([^&]*)(&|$)", "i"); var r=window.location.search.substr(1).match(reg); if (r!=null) return unescape(decodeURIComponent(r[2])); return null; } // 修改、添加、删除地址栏参数 function replaceParamVal(paramName,replaceWith) { var newUrl=oldUrl=window.location.href, paramNames='&' + paramName + '='; re = eval('/('+paramNames+')([^&]*)/gi'); if(replaceWith){ if(oldUrl.indexOf(paramNames)>=0){ newUrl = oldUrl.replace(re, paramNames + replaceWith); }else{ newUrl = oldUrl+ paramNames + replaceWith; } }else if(oldUrl.indexOf(paramNames)>=0){ newUrl = oldUrl.replace(re, ''); } history.pushState('','',newUrl); } // 可视化弹框中页面隐藏头部 if (parent.window.location.search.indexOf('pageset=1') >= 0) $('.metadmin-head').hide(); // 操作成功、失败提示信息 if(top.location!=location) $("html",parent.document).find('.turnovertext').remove(); // 弹出提示信息 function metAlert(text,delay,bg_ok,type){ delay=typeof delay != 'undefined'?delay:2000; bg_ok=bg_ok?'bgshow':''; if(text!=' '){ text=text||METLANG.jsok; text='
'+text+'
'; if(parseInt(type)==0) text+=''; if(!$('.metalert-text').length){ var html='
'+text+'
'; if(bg_ok) html='
'+html+'
'; $('body').append(html); } var $met_alert=$('.metalert-text'), $obj=bg_ok?$('.metalert-wrapper'):$met_alert; $met_alert.html(text); $obj.show(); if($met_alert.height()%2) $met_alert.height($met_alert.height()+1); } if(delay){ setTimeout(function(){ var $obj=bg_ok?$('.metalert-wrapper'):$('.metalert-text'); $obj.fadeOut(); },delay); } } // 弹出页面返回的提示信息 var turnover=[]; turnover['text']=getQueryString('turnovertext'); turnover['type']=parseInt(getQueryString('turnovertype')); turnover['delay']=turnover['type']?undefined:0; if(turnover['text']) metAlert(turnover['text'],turnover['delay'],!turnover['type'],turnover['type']); // 系统参数 var lang=M['lang'], siteurl=M['weburl'], basepath=(typeof MET!='undefined' && MET['url']['basepath'])?MET['url']['basepath']:''; if(typeof MET != 'undefined'){ for(var name in MET){ if(!M[name]) M[name]=MET[name]; } } M['n']=getQueryString('n'), M['c']=getQueryString('c'), M['a']=getQueryString('a'); if(!M['url']) M['url']=[]; M['url']['system']=M['weburl']+'app/system/'; M['url']['static']=M['url']['system']+'include/static/'; M['url']['static_vendor']=M['url']['static']+'vendor/'; M['url']['static2']=M['url']['system']+'include/static2/'; M['url']['static2_vendor']=M['url']['static2']+'vendor/'; M['url']['static2_plugin']=M['url']['static2']+'js/Plugin/'; M['url']['uiv2']=M['weburl']+'public/ui/v2/'; M['url']['uiv2_css']=M['url']['uiv2']+'static/css/'; M['url']['uiv2_js']=M['url']['uiv2']+'static/js/'; M['url']['uiv2_plugin']=M['url']['uiv2']+'static/plugin/'; M['url']['app']=M['weburl']+'app/app/'; M['url']['pub']=M['weburl']+'app/system/include/public/'; M['url']['epl']=M['url']['pub']+'js/examples/'; M['url']['editor']=M['url']['app']+(typeof MET !='undefined'?MET['met_editor']:'')+'/'; // 插件路径 M['plugin']=[]; M['plugin']['formvalidation']=[ M['url']['static2_vendor']+'formvalidation/formValidation.min.css', M['url']['static2_vendor']+'formvalidation/formValidation.min.js', M['url']['static2_vendor']+'formvalidation/language/zh_CN.js', M['url']['static2_vendor']+'formvalidation/framework/bootstrap4.min.js', M['url']['static2_vendor']+'jquery-enplaceholder/jquery.enplaceholder.min.js', M['url']['uiv2_js']+'form.js' ]; M['plugin']['datatables']=[ M['url']['static2_vendor']+'datatables-bootstrap/dataTables.bootstrap.min.css', M['url']['static2_vendor']+'datatables-responsive/dataTables.responsive.min.css', M['url']['static2_vendor']+'datatables/jquery.dataTables.min.js', M['url']['static2_vendor']+'datatables-bootstrap/dataTables.bootstrap.min.js', M['url']['static2_vendor']+'datatables-responsive/dataTables.responsive.min.js', M['url']['uiv2_js']+'datatable.js' ]; M['plugin']['ueditor']=[ M['weburl']+'app/app/ueditor/ueditor.config.js', M['weburl']+'app/app/ueditor/ueditor.all.min.js' ]; M['plugin']['minicolors']=[ M['url']['epl']+'color/jquery.minicolors.css', M['url']['epl']+'color/jquery.minicolors.min.js' ]; M['plugin']['tokenfield']=[ M['url']['static2_vendor']+'bootstrap-tokenfield/bootstrap-tokenfield.min.css', M['url']['static2_vendor']+'bootstrap-tokenfield/bootstrap-tokenfield.min.js', M['url']['static2_plugin']+'bootstrap-tokenfield.min.js' ]; M['plugin']['ionrangeslider']=[ M['url']['static2_vendor']+'ionrangeslider/ionrangeslider.min.css', M['url']['static2_vendor']+'ionrangeslider/ion.rangeSlider.min.js' ]; M['plugin']['datetimepicker']=[ M['url']['epl']+'time/jquery.datetimepicker.css', M['url']['epl']+'time/jquery.datetimepicker.js' ]; M['plugin']['select-linkage']=M['url']['static_vendor']+'select-linkage/jquery.cityselect.js'; M['plugin']['alertify']=[ M['url']['static2_vendor']+'alertify/alertify.min.css', M['url']['static2_vendor']+'alertify/alertify.js', M['url']['static2_plugin']+'alertify.min.js' ]; M['plugin']['selectable']=[ M['url']['static2_plugin']+'asselectable.min.js', M['url']['static2_plugin']+'selectable.min.js' ]; M['plugin']['fileinput']=[ M['url']['static2']+'fonts/glyphicons/glyphicons.min.css', M['url']['pub']+'bootstrap/fileinput/css/fileinput.min.css', M['url']['static2_vendor']+'fileinput/fileinput.min.js', M['url']['static2_vendor']+'fileinput/fileinput_locale_zh.js' ]; M['plugin']['lazyload']=M['weburl']+'public/ui/v2/static/plugin/jquery.lazyload.min.js'; M['plugin']['hover-dropdown']=M['url']['static_vendor']+'bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js'; M['plugin']['asscrollable']=[ M['url']['static2_vendor']+'asscrollable/asScrollable.min.css', M['url']['static2_vendor']+'asscrollbar/jquery-asScrollbar.min.js', M['url']['static2_vendor']+'asscrollable/jquery-asScrollable.min.js', M['url']['static2_plugin']+'asscrollable.min.js' ] M['plugin']['touchspin']=[ M['url']['static2_vendor']+'bootstrap-touchspin/bootstrap-touchspin.min.css', M['url']['static2_vendor']+'bootstrap-touchspin/bootstrap-touchspin.min.js' ] M['plugin']['masonry']=M['url']['static2_vendor']+'masonry/masonry.pkgd.min.js'; M['plugin']['appear']=[ M['url']['static2_vendor']+'jquery-appear/jquery.appear.min.js', M['url']['static2_plugin']+'jquery-appear.min.js' ]; M['plugin']['ladda']=[ M['url']['static2_vendor']+'ladda/ladda.min.css', M['url']['static2_vendor']+'ladda/spin.min.js', M['url']['static2_vendor']+'ladda/ladda.min.js', M['url']['static2_plugin']+'ladda.min.js' ]; M['plugin']['webui-popover']=[ M['url']['static2_vendor']+'webui-popover/webui-popover.min.css', M['url']['static2_vendor']+'webui-popover/jquery.webui-popover.min.js' ]; // 系统功能 $.fn.extend({ // 编辑器 metEditor:function(){ if(!$(this).length) return; if(M['met_editor']=='ueditor'){// 百度编辑器 if(typeof textarea_editor_val =='undefined') window.textarea_editor_val=[]; var $self=$(this); $.include(M['plugin']['ueditor'],function(){ $self.each(function(index, val) { var index1=$(this).index('textarea[data-plugin="editor"]'); if(!$(this).attr('id')) $(this).attr({id:'textarea-editor'+index1}); textarea_editor_val[index1]=UE.getEditor(val.id,{ scaleEnabled:true, // 是否可以拉伸长高,默认false(当开启时,自动长高失效) autoFloatEnabled:false, // 是否保持toolbar的位置不动,默认true initialFrameWidth : $(this).data('editor-x')||'100%', initialFrameHeight : $(this).data('editor-y')||400, }); }); }); }else if(M['met_editor']=='editormd'){// markdown编辑器 } }, // 颜色选择器 metDatetimepicker:function(){ if(!$(this).length) return; $(this).each(function(index, el) { var $self=$(this); $(this).datetimepicker({ lang:M.synchronous=='cn'?'ch':'en', timepicker:$self.attr("data-day-type")==2?true:false, format:$self.attr("data-day-type")==2?'Y-m-d H:i:s':'Y-m-d' }); }); }, // 联动菜单 metCitySelect:function(){ if(!$(this).length) return; if(typeof citySelect =='undefined') window.citySelect=[]; $(this).each(function(index){ var option = { url: $(this).attr('data-select-url')?$(this).attr('data-select-url'):M['url']['static2_vendor']+'select-linkage/citydata.min.json', prov: $(this).find(".prov").attr("data-checked"), city: $(this).find(".city").attr("data-checked"), dist: $(this).find(".dist").attr("data-checked"), value_key: 'id', nodata: 'none' }; if($(this).hasClass('shop-address-select')){ option=$.extend({ country:$(this).find(".country").attr("data-checked"), required:false, country_name_key:'name', p_name_key:'name', n_name_key:'name', s_name_key:'name', p_children_key:'children', n_children_key:'children', getCityjson:function(json,key){ key=key||0; return json[key]['children']; } },option); } citySelect[index]=$(this).citySelect(option); }); }, // 上传文件 metFileInput:function(){ if(!$(this).length) return; var errorFun=function(obj,data){ obj.find('.file-preview-thumbnails .file-preview-frame.disabled').remove(); // 显示报错文字 // obj.removeClass('has-success').addClass('has-danger'); // if(!obj.find('small.form-control-label').length) obj.append(''); // obj.find('small.form-control-label').text(data.response.error); }, successFun=function(obj1,obj2,data,multiple){ var $obj1=obj1.parents('.input-group').find('input[type="hidden"][name="'+obj1.attr('name')+'"]'), path=''; if(multiple){ path=$obj1.val()?$obj1.val()+','+data.response.path:data.response.path; }else{ path=data.response.path; obj2.find('.file-preview-thumbnails .file-preview-frame:last-child').prev().remove(); } $obj1.val(path); // input值更新 // 显示上传成功文字 obj2.find('.file-input .input-group .file-caption-name').html(''+path); obj2.removeClass('has-danger').addClass('has-success'); if(!obj2.find('small.form-control-label').length) obj2.append(''); var tips=M['langtxt'].jsx17||M['langtxt'].fileOK; obj2.find('small.form-control-label').text(tips); }; $(this).each(function(index, el) { if(!(typeof MET['url']['basepath']!='undefined' || (typeof $(this).data('url')!='undefined' && $(this).data('url').indexOf('app/system/entrance.php?lang=cn&c=uploadify&m=include&a=dohead')>=0))) return; var $self=$(this), $form_group=$(this).parents('.form-group:eq(0)'), name=$(this).attr('name'), url=$(this).data('url')||M['url']['system']+'entrance.php?lang='+M['lang']+'&c=uploadify&m=include&a=doupfile&type=1', multiple=typeof $(this).attr('multiple') !='undefined'?true:false, minFileCount=$(this).data('fileinput-minfilecount')||1, maxFileCount=$(this).data('fileinput-maxfilecount')||20, maxFileSize=$(this).data('fileinput-maxfilesize')||0, accept=$(this).attr('accept')||'', format='', initialPreview=[], dropZoneEnabled=$(this).data('drop-zone-enabled')=='false'?false:true, value=$(this).attr('value'); if(typeof value !='undefined' && value!='' && (value.indexOf('.png')>=0||value.indexOf('.jpg')>=0||value.indexOf('.bmp')>=0||value.indexOf('.gif')>=0||value.indexOf('.ico')>=0)){ if(value.indexOf(',')>=0){ value=value.split(','); }else{ value=[value]; } $.each(value, function(index, val) { var html='' +''; initialPreview.push(html); }); } if(accept){ if(accept.indexOf(',')>=0){ accept=accept.split(','); }else{ accept=[accept]; } $.each(accept, function(index, val) { val=val.indexOf('/')>=0?val.split('/')[1]:''; if(val=='*') val=''; if(val){ if(format) format+='|'; format+=val; } }); if(accept=='image/*') format='jpg|png|bmp|gif|webp'; } if(format) url+='&format='+format; var allowedFileExtensions=format?(format.indexOf('|')?format.split('|'):[format]):''; $(this).removeAttr('hidden').fileinput({// fileinput插件 uploadUrl: url, // 处理上传 uploadAsync:multiple, // 异步批量上传 allowedFileExtensions:allowedFileExtensions,// 接收的文件后缀 minFileCount:minFileCount, maxFileCount:maxFileCount, maxFileSize:maxFileSize, language:typeof M.synchronous!='undefined'?(M.synchronous=='cn'?'zh':'en'):'zh',// 语言文字 initialPreview:initialPreview, initialCaption:value, // 初始化输入框值 // showCaption:false, // 输入框 // showRemove:false, // 删除按钮 // browseLabel:'', // 按钮文字 showUpload:false, // 上传按钮 dropZoneEnabled:dropZoneEnabled,// 是否显示拖拽区域 // browseClass:"btn btn-primary", //按钮样式 }).on("filebatchselected", function(event, files) { $(this).fileinput("upload"); }).on('filebatchuploadsuccess', function(event, data, previewId, index) {// 同步上传成功结果处理 successFun($(this),$form_group,data,multiple); }).on('fileuploaded', function(event, data, previewId, index) {// 异步上传成功结果处理 successFun($(this),$form_group,data,multiple); }).on('filebatchuploaderror', function(event, data, previewId, index) {// 同步上传错误结果处理 errorFun($form_group,data); }).on('fileuploaderror', function(event, data, previewId, index) {// 异步上传错误结果处理 errorFun($form_group,data); }); if(!$(this).parents('form').find('input[type="hidden"][name="'+name+'"]').length) $(this).after(''); // $(this).siblings('i').attr({class:'icon wb-upload'}).parents('.btn-file').insertAfter($(this).parents('.file-input')); // 删除图片后图片路径数据更新 $form_group.on('click', '.file-preview-thumbnails .file-preview-frame .kv-file-remove,.fileinput-remove', function(event) { event.preventDefault(); var $input_name=$form_group.find('input[type="hidden"][name="'+name+'"]'), $caption_name=$form_group.find('.file-input .input-group .file-caption-name'); if($(this).hasClass('kv-file-remove')){ var active=$(this).parents('.file-preview-frame').index(), input_value=$input_name.val(), path=''; setTimeout(function(){ if(multiple){ if(input_value){ if(input_value.indexOf(',')>=0){ input_value=input_value.split(','); }else{ input_value=[input_value]; } $.each(input_value, function(index, val) { if(index!=active) path=path?path+','+val:val; }); } }else{ var $file_preview_frame=$form_group.find('.file-preview-thumbnails .file-preview-frame'); path=$file_preview_frame.length?$file_preview_frame.find('img').attr('src'):''; } $input_name.val(path); // input值更新 $caption_name.html(''+path); },1000) }else{ $input_name.val(''); // input值更新 $caption_name.html(''); } $form_group.removeClass('has-success').find('small.form-control-label').remove(); }); }); }, // 单选、多选默认选中 metRadioCheckboxChecked:function(){ if(!$(this).length) return; $(this).each(function(index, el) { var checked=String($(this).data('checked')), delimiter=$(this).data('delimiter')||'#@met@#'; if(checked!=''){ checked=checked.indexOf(delimiter)>=0?checked.split(delimiter):[checked]; var name=$(this).attr('name'); for (var i=0; i < checked.length; i++) { $('input[name="'+name+'"][value="'+checked[i]+'"]').attr('checked', true); } } }); }, // 下拉菜单默认选中 metSelectChecked:function(){ if(!$(this).length) return; $(this).each(function(index, el) { $('option[value="'+$(this).data('checked')+'"]',this).attr({selected:true}); }); }, // 图片延迟加载 metLazyLoad:function(){ if(!$(this).length) return; var $self=$(this); metFileLoadFun(M['plugin']['lazyload'],function(){ return typeof $.fn.lazyload=='function'; },function(){ $self.lazyload(); }); }, // 表单删除按钮ajax提交 metFormAjaxDel:function(url){ var $form=$(this).parents('form'), del_id=$form.find('[name="all_id"]')?$form.find('[name="all_id"]').val():''; if(del_id!=''){ $.ajax({ url: $(this).data('url')||$form.attr('action'), type: "POST", dataType:'json', data:{del_id:del_id}, success: function(result){ metAjaxFun({result:result}); } }); }else{ metAlert(METLANG.jslang3,'','bgshow',0); } }, // 表单两种类型提交前的处理(保存、删除) metSubmit:function(type){ // 插入submit_type字段 var type=typeof type!='undefined'?type:1, type_str=type?'save':'delet'; if($(this).find('[name="submit_type"]').length){ $(this).find('[name="submit_type"]').val(type_str); }else $(this).append(''); // 插入表格的all_id字段 if($(this).find('.dataTable').length){ var $table=$(this).find('.dataTable'), checked_str=type?'':':checked', $checkbox=$table.find('tbody input[type="checkbox"][name="id"]'+checked_str), all_id=''; $checkbox.each(function(index, el) { all_id+=all_id?','+$(this).val():$(this).val(); }) if(!$(this).find('[name="all_id"]').length) $(this).append(''); $(this).find('[name="all_id"]').val(all_id); } }, // 表单更新验证 metFormAddField:function(name){ var $form=$(this)[0].tagName=='FORM'?$(this):$(this).parents('form'); if($form.length){ if(name){ if(!$.isArray(name)){ if(name.indexOf(',')>=0){ name=name.split(','); }else name=[name]; } $.each(name, function(index, val) { $form.data('formValidation').addField(val); }) }else{ var name_array=[]; $('[name]',this).each(function(index, el) { var name=$(this).attr('name'); if($.inArray(name, name_array)<=0){ name_array.push(name); if(typeof $(this).attr('required') !='undefined'){ $form.data('formValidation').addField(name); }else{ $.each($(this).data(), function(index, val) { var third_str=index.substr(2,1); if(index.substr(0,2)=='fv' && index.length>2 && third_str >= 'A' && third_str <= 'Z'){ $form.data('formValidation').addField(name); return false; } }); } } }); } } }, // 点击ajax请求弹出确认框后以及返回结果通用处理 metClickConfirmAjax:function(default_options){ var default_options = $.extend({ ajax_data:'', true_text:METLANG.confirm, false_text:METLANG.cancel, confirm_text:METLANG.delete_information, true_fun:function(){ var url=typeof this.url=='function'?this.url():this.url, ajax_data=typeof this.ajax_data=='function'?this.ajax_data():this.ajax_data, options_this=this; $.ajax({ url: url, type: ajax_data?'POST':'GET', dataType: 'json', data:ajax_data, success:function(result){ options_this.ajax_fun(result); } }); }, false_fun:'', ajax_fun:function(result){ metAjaxFun({result:result}); } },default_options); $(document).on('click', this.selector, function(event) { var options = $.extend({ el:$(this), url:$(this).data('url') },default_options); metAlertifyLoadFun(function(){ var confirm_text=typeof options.confirm_text=='function'?options.confirm_text():options.confirm_text; alertify.okBtn(options.true_text).cancelBtn(options.false_text).confirm(confirm_text, function (ev) { options.true_fun(); },function(){ if(typeof options.false_fun=='function') options.false_fun(); }); }) }); }, // 通用功能开启 metCommon:function(){ var dom=this; // 表单验证 if($('form',dom).length){ if(typeof validate =='undefined'){ $.include(M['plugin']['formvalidation']); }else{ $(dom).metValidate(); } } // ajax表格 if($('.dataTable',dom).length){ if(typeof datatableOption =='undefined'){ $.include(M['plugin']['datatables']); }else{ $(dom).metDataTable(); } } // 编辑器 if($('textarea[data-plugin="editor"]',dom).length && typeof MET['url']['basepath']!='undefined') $('textarea[data-plugin="editor"]',dom).metEditor(); // 颜色选择器 if($('input[data-plugin="minicolors"]',dom).length) $.include(M['plugin']['minicolors'],function(){ $('input[data-plugin="minicolors"]',dom).minicolors(); }); // 标签 if($('input[data-plugin="tokenfield"]',dom).length) $.include(M['plugin']['tokenfield'],'','siterun'); // 滑块 if($('input[type="text"][data-plugin="ionRangeSlider"]',dom).length) $.include(M['plugin']['ionrangeslider'],'','siterun'); // 日期选择器 if($('input[data-plugin="datetimepicker"]',dom).length) $.include(M['plugin']['datetimepicker'],function(){ $('input[data-plugin="datetimepicker"]',dom).metDatetimepicker(); }); // 联动菜单 if($('[data-plugin="select-linkage"]',dom).length) $.include(M['plugin']['select-linkage'],function(){ $('[data-plugin="select-linkage"]',dom).metCitySelect(); }); // 模态对话框 if($('[data-plugin="alertify"]',dom).length) $.include(M['plugin']['alertify'],'','siterun'); // 全选、全不选 if($('[data-plugin="selectable"]',dom).length) $.include(M['plugin']['selectable'],'','siterun'); // 上传文件 if($('input[type="file"][data-plugin="fileinput"]',dom).length) $.include(M['plugin']['fileinput'],function(){ $('input[type="file"][data-plugin="fileinput"]',dom).metFileInput(); }) // 滚动条 if($('[data-plugin="scrollable"]',dom).length) $.include(M['plugin']['asscrollable'],'','siterun'); // 单选、多选默认选中 if($('input[data-checked]',dom).length) $('input[data-checked]',dom).metRadioCheckboxChecked(); // 下拉菜单默认选中 if($('select[data-checked]',dom).length) $('select[data-checked]',dom).metSelectChecked(); // 数量改变 if($('[data-plugin="touchSpin"]',dom).length && typeof $.fn.TouchSpin =='undefined') $.include(M['plugin']['touchspin'],function(){ $('[data-plugin="touchSpin"]',dom).TouchSpin(); }); // 图片延迟加载 if($('[data-original]',dom).length && dom!=document) $('[data-original]',dom).metLazyLoad(); } }); // 通用功能开启 $(document).metCommon(); // 勾选开关 $(document).on('change', 'input[type="checkbox"][data-plugin="switchery"]', function(event) { var val=$(this).is(':checked')?1:0; $(this).val(val); }); $(function(){ // 非前台模板页面-兼容老模板 if(M['url']['basepath'] || $('script[src*="js/basic_web.js"]').length){ // 返回顶部 $(".met-scroll-top").click(function(){ $('html,body').animate({scrollTop:0},300); }); // 返回顶部按钮显示/隐藏 var wh=$(window).height(); $(window).scroll(function(){ if($(this).scrollTop()>wh){ $(".met-scroll-top").removeAttr('hidden').addClass("animation-slide-bottom"); }else{ $(".met-scroll-top").attr({hidden:''}).removeClass('animation-slide-bottom'); } }); } // 会员侧栏手机端当前页面标题显示在导航徒步 Breakpoints.on('xs',{ enter:function(){ if($('.met-sidebar-nav-active-name').length) $('.met-sidebar-nav-active-name').html($('.met-sidebar-nav-mobile .dropdown-menu .dropdown-item.active').text()); } }) // 在&pageset=1弹窗中时,页面的表单提交地址添加参数pageset=1 if(getQueryString('pageset')) $('form').each(function(index, el) { if($(this).attr('action')) $(this).attr({action:$(this).attr('action')+'&pageset=1'}); }); // 下拉展开时下拉图标旋转 $(document).on('click', '[data-toggle="collapse"]', function(event) { var $icon=$('.icon[class*="fa-angle-"]',this); if($icon.length){ if(!$icon.hasClass('transition500')) $icon.addClass('transition500'); if($($(this).data('target')).height()){ $icon.removeClass('rotate90'); }else{ $icon.addClass('rotate90'); } } }); // 表单功能 // 添加项 $(document).on('click', '[table-addlist]', function(event) { var $self=$(this), $table=$(this).parents('table').length?$(this).parents('table'):$($(this).data('table-id')), addlist=function(data){ $table.find('tbody').append(data); var $new_tr=$table.find('tbody tr:last-child'); if(!$new_tr.find('[table-cancel]').length && typeof $self.data('nocancel')=='undefined') $new_tr.find('td:last-child').append(''); // 添加表单验证 $new_tr.metFormAddField(); }; if($table.find('[table-addlist-data]').length){ var html=$table.find('[table-addlist-data]').val(); addlist(html); }else{ if(typeof datatable_option=='undefined') datatable_option=[]; if(typeof datatable_option[datatable_index]=='undefined'){ var datatable_index=$table.index('.dataTable'); datatable_option[datatable_index]=[]; } if(typeof datatable_option[datatable_index]['new_id']=='undefined'){ datatable_option[datatable_index]['new_id']=0; }else{ datatable_option[datatable_index]['new_id']++; } $.ajax({ url: $(this).data('url'), type: 'POST', data:{new_id:datatable_option[datatable_index]['new_id']}, success:function(result){ addlist(result); } }); } }); // 撤销项 $(document).on('click', '[table-cancel]', function(event) { $(this).parents('tr').remove(); }) // 删除项-不提交 $(document).on('click', '[table-del]', function(event) { var $self=$(this), remove=function(){ alertify.theme('bootstrap').okBtn(METLANG.confirm).cancelBtn(METLANG.cancel).confirm(METLANG.delete_information, function (ev) { $self.parents('tr').remove(); }) }; metAlertifyLoadFun(function(){ remove(); }); }) // 点击保存按钮 $(document).on('click', 'form .btn[type="submit"]', function(event) { if($(this).data('plugin')=='alertify' && $(this).data('type')=='confirm') event.preventDefault(); $(this).parents('form').metSubmit(); }) // 删除多项提交 $(document).on('click', '[table-delet]', function(event) { event.preventDefault(); var $form=$(this).parents('form'); $form.metSubmit(0); if($(this).data('plugin')!='alertify'){ if($(this).data('url')){ $(this).metFormAjaxDel(); }else $form.submit(); } }) // 表单输入框回车时,触发提交按钮 $(document).on('keydown', 'form input[type="text"]', function(event) { if(event.keyCode==13){ event.preventDefault(); $(this).parents('form').find('.btn[type="submit"]').click(); } }); // 表单提交 $(document).on('submit', 'form', function(event) { // 提交删除时没有勾选时提示 if($(this).find('[name="submit_type"]').length && $(this).find('[name="submit_type"]').val()=='delet' && $(this).find('[name="all_id"]').val()==''){ event.preventDefault(); metAlert(METLANG.jslang3,'','bgshow',0); } }); }); // 判断是否加载了formvalidation后回调 function metFormvalidationLoadFun(fun){ metFileLoadFun(M['plugin']['formvalidation'],function(){ return typeof $.fn.formValidation=='function'; },function(){ if(typeof fun=='function') fun(); }); } // 判断是否加载了alertify后回调 function metAlertifyLoadFun(fun){ metFileLoadFun(M['plugin']['alertify'],function(){ return typeof alertify!='undefined'; },function(){ if(typeof fun=='function') fun(); }); } // ajax请求返回后通用处理 function metAjaxFun(options){ options = $.extend({ result:'', false_fun:'', true_fun:'', status_key:'status', msg_key:'msg', true_val:function(){ return parseInt(options.result[options.status_key]); } },options); metAlertifyLoadFun(function(){ if(options.true_val()){ if(typeof options.result[options.msg_key]!='undefined' && options.result[options.msg_key]!='') alertify.success(options.result[options.msg_key]); if(typeof options.true_fun=='function'){ options.true_fun(); }else{ setTimeout(function(){ location.reload(); },1000); } }else{ if(typeof options.result[options.msg_key]!='undefined' && options.result[options.msg_key]!='') alertify.error(options.result[options.msg_key]); if(typeof options.false_fun=='function') options.false_fun(); } }); } // 设置cookie function setCookie(name,value,path,term){ var exp = new Date(), terms =term||30, paths =path||'/'; exp.setTime(exp.getTime() + terms*24*60*60*1000); document.cookie = name + "="+ value + ";path="+paths+";expires=" + exp.toGMTString(); } // 获取指定名称的cookie的值 function getCookie(name) { var cookie_str = document.cookie.split(";"); for (var i = 0; i < cookie_str.length; i++) { cookie_str[i]=$.trim(cookie_str[i]); var index = cookie_str[i].indexOf("="), cookie_name = cookie_str[i].substring(0, index); if (cookie_name == name) { var temp = cookie_str[i].substring(index + 1); return decodeURIComponent(temp); } } }