正在显示
2 个修改的文件
包含
61 行增加
和
22 行删除
@@ -51,9 +51,11 @@ class Frontend extends Controller | @@ -51,9 +51,11 @@ class Frontend extends Controller | ||
51 | // 语言检测 | 51 | // 语言检测 |
52 | $lang = Lang::detect(); | 52 | $lang = Lang::detect(); |
53 | 53 | ||
54 | + $site = Config::get("site"); | ||
55 | + | ||
54 | // 配置信息 | 56 | // 配置信息 |
55 | $config = [ | 57 | $config = [ |
56 | - 'site' => Config::get("site"), | 58 | + 'site' => array_intersect_key($site, array_flip(['name', 'cdnurl', 'version', 'timezone', 'languages'])), |
57 | 'upload' => Configvalue::upload(), | 59 | 'upload' => Configvalue::upload(), |
58 | 'modulename' => $modulename, | 60 | 'modulename' => $modulename, |
59 | 'controllername' => $controllername, | 61 | 'controllername' => $controllername, |
@@ -63,7 +65,7 @@ class Frontend extends Controller | @@ -63,7 +65,7 @@ class Frontend extends Controller | ||
63 | 'language' => $lang | 65 | 'language' => $lang |
64 | ]; | 66 | ]; |
65 | $this->loadlang($controllername); | 67 | $this->loadlang($controllername); |
66 | - $this->assign('site', Config::get("site")); | 68 | + $this->assign('site', $site); |
67 | $this->assign('config', $config); | 69 | $this->assign('config', $config); |
68 | } | 70 | } |
69 | 71 |
@@ -6530,15 +6530,10 @@ define('backend',['jquery', 'bootstrap', 'toastr', 'layer', 'lang', 'moment'], f | @@ -6530,15 +6530,10 @@ define('backend',['jquery', 'bootstrap', 'toastr', 'layer', 'lang', 'moment'], f | ||
6530 | }); | 6530 | }); |
6531 | }, | 6531 | }, |
6532 | open: function (url, title, options) { | 6532 | open: function (url, title, options) { |
6533 | - title = title == undefined ? "" : title; | 6533 | + title = title ? title : ""; |
6534 | url = Backend.api.fixurl(url); | 6534 | url = Backend.api.fixurl(url); |
6535 | url = url + (url.indexOf("?") > -1 ? "&" : "?") + "dialog=1"; | 6535 | url = url + (url.indexOf("?") > -1 ? "&" : "?") + "dialog=1"; |
6536 | - var area; | ||
6537 | - if ($(window).width() < 800) { | ||
6538 | - area = ["95%", "95%"]; | ||
6539 | - } else { | ||
6540 | - area = ['800px', '600px']; | ||
6541 | - } | 6536 | + var area = [$(window).width() > 800 ? '800px' : '95%', $(window).height() > 600 ? '600px' : '95%']; |
6542 | Backend.api.layer.open($.extend({ | 6537 | Backend.api.layer.open($.extend({ |
6543 | type: 2, | 6538 | type: 2, |
6544 | title: title, | 6539 | title: title, |
@@ -6599,7 +6594,7 @@ define('backend',['jquery', 'bootstrap', 'toastr', 'layer', 'lang', 'moment'], f | @@ -6599,7 +6594,7 @@ define('backend',['jquery', 'bootstrap', 'toastr', 'layer', 'lang', 'moment'], f | ||
6599 | var btnHeight = layero.find('.layui-layer-btn').outerHeight() || 0; | 6594 | var btnHeight = layero.find('.layui-layer-btn').outerHeight() || 0; |
6600 | 6595 | ||
6601 | var oldheg = heg + titHeight + btnHeight; | 6596 | var oldheg = heg + titHeight + btnHeight; |
6602 | - var maxheg = 600; | 6597 | + var maxheg = $(window).height() < 600 ? $(window).height() : 600; |
6603 | if (frame.outerWidth() < 768 || that.area[0].indexOf("%") > -1) { | 6598 | if (frame.outerWidth() < 768 || that.area[0].indexOf("%") > -1) { |
6604 | maxheg = $(window).height(); | 6599 | maxheg = $(window).height(); |
6605 | } | 6600 | } |
@@ -7313,14 +7308,23 @@ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length) | @@ -7313,14 +7308,23 @@ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length) | ||
7313 | htmlForm.push(sprintf('<select class="form-control" name="%s" %s>%s</select>', vObjCol.field, style, sprintf('<option value="">%s</option>', that.options.formatCommonChoose()))); | 7308 | htmlForm.push(sprintf('<select class="form-control" name="%s" %s>%s</select>', vObjCol.field, style, sprintf('<option value="">%s</option>', that.options.formatCommonChoose()))); |
7314 | (function (vObjCol, that) { | 7309 | (function (vObjCol, that) { |
7315 | $.when(vObjCol.searchList).done(function (ret) { | 7310 | $.when(vObjCol.searchList).done(function (ret) { |
7311 | + | ||
7312 | + var isArray = false; | ||
7316 | if (ret.data && ret.data.searchlist && $.isArray(ret.data.searchlist)) { | 7313 | if (ret.data && ret.data.searchlist && $.isArray(ret.data.searchlist)) { |
7317 | - var optionList = []; | 7314 | + var resultlist = {}; |
7318 | $.each(ret.data.searchlist, function (key, value) { | 7315 | $.each(ret.data.searchlist, function (key, value) { |
7319 | - var isSelect = value.id === vObjCol.defaultValue ? 'selected' : ''; | ||
7320 | - optionList.push(sprintf("<option value='" + value.id + "' %s>" + value.name + "</option>", isSelect)); | 7316 | + resultlist[value.id] = value.name; |
7321 | }); | 7317 | }); |
7322 | - $("form.form-commonsearch select[name='" + vObjCol.field + "']", that.$container).append(optionList.join('')); | 7318 | + } else if (ret.constructor === Array || ret.constructor === Object) { |
7319 | + var resultlist = ret; | ||
7320 | + isArray = ret.constructor === Array ? true : isArray; | ||
7323 | } | 7321 | } |
7322 | + var optionList = []; | ||
7323 | + $.each(resultlist, function (key, value) { | ||
7324 | + var isSelect = (isArray ? value : key) == vObjCol.defaultValue ? 'selected' : ''; | ||
7325 | + optionList.push(sprintf("<option value='" + (isArray ? value : key) + "' %s>" + value + "</option>", isSelect)); | ||
7326 | + }); | ||
7327 | + $("form.form-commonsearch select[name='" + vObjCol.field + "']", that.$container).append(optionList.join('')); | ||
7324 | }); | 7328 | }); |
7325 | })(vObjCol, that); | 7329 | })(vObjCol, that); |
7326 | } else if (typeof vObjCol.searchList == 'function') { | 7330 | } else if (typeof vObjCol.searchList == 'function') { |
@@ -7330,7 +7334,7 @@ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length) | @@ -7330,7 +7334,7 @@ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length) | ||
7330 | var searchList = []; | 7334 | var searchList = []; |
7331 | searchList.push(sprintf('<option value="">%s</option>', that.options.formatCommonChoose())); | 7335 | searchList.push(sprintf('<option value="">%s</option>', that.options.formatCommonChoose())); |
7332 | $.each(vObjCol.searchList, function (key, value) { | 7336 | $.each(vObjCol.searchList, function (key, value) { |
7333 | - var isSelect = (isArray ? value : key) === vObjCol.defaultValue ? 'selected' : ''; | 7337 | + var isSelect = (isArray ? value : key) == vObjCol.defaultValue ? 'selected' : ''; |
7334 | searchList.push(sprintf("<option value='" + (isArray ? value : key) + "' %s>" + value + "</option>", isSelect)); | 7338 | searchList.push(sprintf("<option value='" + (isArray ? value : key) + "' %s>" + value + "</option>", isSelect)); |
7335 | }); | 7339 | }); |
7336 | htmlForm.push(sprintf('<select class="form-control" name="%s" %s>%s</select>', vObjCol.field, style, searchList.join(''))); | 7340 | htmlForm.push(sprintf('<select class="form-control" name="%s" %s>%s</select>', vObjCol.field, style, searchList.join(''))); |
@@ -7600,13 +7604,26 @@ define("bootstrap-table-commonsearch", ["bootstrap-table"], (function (global) { | @@ -7600,13 +7604,26 @@ define("bootstrap-table-commonsearch", ["bootstrap-table"], (function (global) { | ||
7600 | 7604 | ||
7601 | /*!art-template - Template Engine | http://aui.github.com/artTemplate/*/ | 7605 | /*!art-template - Template Engine | http://aui.github.com/artTemplate/*/ |
7602 | !function(){function a(a){return a.replace(t,"").replace(u,",").replace(v,"").replace(w,"").replace(x,"").split(y)}function b(a){return"'"+a.replace(/('|\\)/g,"\\$1").replace(/\r/g,"\\r").replace(/\n/g,"\\n")+"'"}function c(c,d){function e(a){return m+=a.split(/\n/).length-1,k&&(a=a.replace(/\s+/g," ").replace(/<!--[\w\W]*?-->/g,"")),a&&(a=s[1]+b(a)+s[2]+"\n"),a}function f(b){var c=m;if(j?b=j(b,d):g&&(b=b.replace(/\n/g,function(){return m++,"$line="+m+";"})),0===b.indexOf("=")){var e=l&&!/^=[=#]/.test(b);if(b=b.replace(/^=[=#]?|[\s;]*$/g,""),e){var f=b.replace(/\s*\([^\)]+\)/,"");n[f]||/^(include|print)$/.test(f)||(b="$escape("+b+")")}else b="$string("+b+")";b=s[1]+b+s[2]}return g&&(b="$line="+c+";"+b),r(a(b),function(a){if(a&&!p[a]){var b;b="print"===a?u:"include"===a?v:n[a]?"$utils."+a:o[a]?"$helpers."+a:"$data."+a,w+=a+"="+b+",",p[a]=!0}}),b+"\n"}var g=d.debug,h=d.openTag,i=d.closeTag,j=d.parser,k=d.compress,l=d.escape,m=1,p={$data:1,$filename:1,$utils:1,$helpers:1,$out:1,$line:1},q="".trim,s=q?["$out='';","$out+=",";","$out"]:["$out=[];","$out.push(",");","$out.join('')"],t=q?"$out+=text;return $out;":"$out.push(text);",u="function(){var text=''.concat.apply('',arguments);"+t+"}",v="function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);"+t+"}",w="'use strict';var $utils=this,$helpers=$utils.$helpers,"+(g?"$line=0,":""),x=s[0],y="return new String("+s[3]+");";r(c.split(h),function(a){a=a.split(i);var b=a[0],c=a[1];1===a.length?x+=e(b):(x+=f(b),c&&(x+=e(c)))});var z=w+x+y;g&&(z="try{"+z+"}catch(e){throw {filename:$filename,name:'Render Error',message:e.message,line:$line,source:"+b(c)+".split(/\\n/)[$line-1].replace(/^\\s+/,'')};}");try{var A=new Function("$data","$filename",z);return A.prototype=n,A}catch(a){throw a.temp="function anonymous($data,$filename) {"+z+"}",a}}var d=function(a,b){return"string"==typeof b?q(b,{filename:a}):g(a,b)};d.version="3.0.0",d.config=function(a,b){e[a]=b};var e=d.defaults={openTag:"<%",closeTag:"%>",escape:!0,cache:!0,compress:!1,parser:null},f=d.cache={};d.render=function(a,b){return q(a)(b)};var g=d.renderFile=function(a,b){var c=d.get(a)||p({filename:a,name:"Render Error",message:"Template not found"});return b?c(b):c};d.get=function(a){var b;if(f[a])b=f[a];else if("object"==typeof document){var c=document.getElementById(a);if(c){var d=(c.value||c.innerHTML).replace(/^\s*|\s*$/g,"");b=q(d,{filename:a})}}return b};var h=function(a,b){return"string"!=typeof a&&(b=typeof a,"number"===b?a+="":a="function"===b?h(a.call(a)):""),a},i={"<":"<",">":">",'"':""","'":"'","&":"&"},j=function(a){return i[a]},k=function(a){return h(a).replace(/&(?![\w#]+;)|[<>"']/g,j)},l=Array.isArray||function(a){return"[object Array]"==={}.toString.call(a)},m=function(a,b){var c,d;if(l(a))for(c=0,d=a.length;c<d;c++)b.call(a,a[c],c,a);else for(c in a)b.call(a,a[c],c)},n=d.utils={$helpers:{},$include:g,$string:h,$escape:k,$each:m};d.helper=function(a,b){o[a]=b};var o=d.helpers=n.$helpers;d.onerror=function(a){var b="Template Error\n\n";for(var c in a)b+="<"+c+">\n"+a[c]+"\n\n";"object"==typeof console&&console.error(b)};var p=function(a){return d.onerror(a),function(){return"{Template Error}"}},q=d.compile=function(a,b){function d(c){try{return new i(c,h)+""}catch(d){return b.debug?p(d)():(b.debug=!0,q(a,b)(c))}}b=b||{};for(var g in e)void 0===b[g]&&(b[g]=e[g]);var h=b.filename;try{var i=c(a,b)}catch(a){return a.filename=h||"anonymous",a.name="Syntax Error",p(a)}return d.prototype=i.prototype,d.toString=function(){return i.toString()},h&&b.cache&&(f[h]=d),d},r=n.$each,s="break,case,catch,continue,debugger,default,delete,do,else,false,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,void,while,with,abstract,boolean,byte,char,class,const,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchronized,throws,transient,volatile,arguments,let,yield,undefined",t=/\/\*[\w\W]*?\*\/|\/\/[^\n]*\n|\/\/[^\n]*$|"(?:[^"\\]|\\[\w\W])*"|'(?:[^'\\]|\\[\w\W])*'|\s*\.\s*[$\w\.]+/g,u=/[^\w$]+/g,v=new RegExp(["\\b"+s.replace(/,/g,"\\b|\\b")+"\\b"].join("|"),"g"),w=/^\d[^,]*|,\d[^,]*/g,x=/^,+|,+$/g,y=/^$|,+/;"object"==typeof exports&&"undefined"!=typeof module?module.exports=d:"function"==typeof define?define('template',[],function(){return d}):this.template=d}(); | 7606 | !function(){function a(a){return a.replace(t,"").replace(u,",").replace(v,"").replace(w,"").replace(x,"").split(y)}function b(a){return"'"+a.replace(/('|\\)/g,"\\$1").replace(/\r/g,"\\r").replace(/\n/g,"\\n")+"'"}function c(c,d){function e(a){return m+=a.split(/\n/).length-1,k&&(a=a.replace(/\s+/g," ").replace(/<!--[\w\W]*?-->/g,"")),a&&(a=s[1]+b(a)+s[2]+"\n"),a}function f(b){var c=m;if(j?b=j(b,d):g&&(b=b.replace(/\n/g,function(){return m++,"$line="+m+";"})),0===b.indexOf("=")){var e=l&&!/^=[=#]/.test(b);if(b=b.replace(/^=[=#]?|[\s;]*$/g,""),e){var f=b.replace(/\s*\([^\)]+\)/,"");n[f]||/^(include|print)$/.test(f)||(b="$escape("+b+")")}else b="$string("+b+")";b=s[1]+b+s[2]}return g&&(b="$line="+c+";"+b),r(a(b),function(a){if(a&&!p[a]){var b;b="print"===a?u:"include"===a?v:n[a]?"$utils."+a:o[a]?"$helpers."+a:"$data."+a,w+=a+"="+b+",",p[a]=!0}}),b+"\n"}var g=d.debug,h=d.openTag,i=d.closeTag,j=d.parser,k=d.compress,l=d.escape,m=1,p={$data:1,$filename:1,$utils:1,$helpers:1,$out:1,$line:1},q="".trim,s=q?["$out='';","$out+=",";","$out"]:["$out=[];","$out.push(",");","$out.join('')"],t=q?"$out+=text;return $out;":"$out.push(text);",u="function(){var text=''.concat.apply('',arguments);"+t+"}",v="function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);"+t+"}",w="'use strict';var $utils=this,$helpers=$utils.$helpers,"+(g?"$line=0,":""),x=s[0],y="return new String("+s[3]+");";r(c.split(h),function(a){a=a.split(i);var b=a[0],c=a[1];1===a.length?x+=e(b):(x+=f(b),c&&(x+=e(c)))});var z=w+x+y;g&&(z="try{"+z+"}catch(e){throw {filename:$filename,name:'Render Error',message:e.message,line:$line,source:"+b(c)+".split(/\\n/)[$line-1].replace(/^\\s+/,'')};}");try{var A=new Function("$data","$filename",z);return A.prototype=n,A}catch(a){throw a.temp="function anonymous($data,$filename) {"+z+"}",a}}var d=function(a,b){return"string"==typeof b?q(b,{filename:a}):g(a,b)};d.version="3.0.0",d.config=function(a,b){e[a]=b};var e=d.defaults={openTag:"<%",closeTag:"%>",escape:!0,cache:!0,compress:!1,parser:null},f=d.cache={};d.render=function(a,b){return q(a)(b)};var g=d.renderFile=function(a,b){var c=d.get(a)||p({filename:a,name:"Render Error",message:"Template not found"});return b?c(b):c};d.get=function(a){var b;if(f[a])b=f[a];else if("object"==typeof document){var c=document.getElementById(a);if(c){var d=(c.value||c.innerHTML).replace(/^\s*|\s*$/g,"");b=q(d,{filename:a})}}return b};var h=function(a,b){return"string"!=typeof a&&(b=typeof a,"number"===b?a+="":a="function"===b?h(a.call(a)):""),a},i={"<":"<",">":">",'"':""","'":"'","&":"&"},j=function(a){return i[a]},k=function(a){return h(a).replace(/&(?![\w#]+;)|[<>"']/g,j)},l=Array.isArray||function(a){return"[object Array]"==={}.toString.call(a)},m=function(a,b){var c,d;if(l(a))for(c=0,d=a.length;c<d;c++)b.call(a,a[c],c,a);else for(c in a)b.call(a,a[c],c)},n=d.utils={$helpers:{},$include:g,$string:h,$escape:k,$each:m};d.helper=function(a,b){o[a]=b};var o=d.helpers=n.$helpers;d.onerror=function(a){var b="Template Error\n\n";for(var c in a)b+="<"+c+">\n"+a[c]+"\n\n";"object"==typeof console&&console.error(b)};var p=function(a){return d.onerror(a),function(){return"{Template Error}"}},q=d.compile=function(a,b){function d(c){try{return new i(c,h)+""}catch(d){return b.debug?p(d)():(b.debug=!0,q(a,b)(c))}}b=b||{};for(var g in e)void 0===b[g]&&(b[g]=e[g]);var h=b.filename;try{var i=c(a,b)}catch(a){return a.filename=h||"anonymous",a.name="Syntax Error",p(a)}return d.prototype=i.prototype,d.toString=function(){return i.toString()},h&&b.cache&&(f[h]=d),d},r=n.$each,s="break,case,catch,continue,debugger,default,delete,do,else,false,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,void,while,with,abstract,boolean,byte,char,class,const,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchronized,throws,transient,volatile,arguments,let,yield,undefined",t=/\/\*[\w\W]*?\*\/|\/\/[^\n]*\n|\/\/[^\n]*$|"(?:[^"\\]|\\[\w\W])*"|'(?:[^'\\]|\\[\w\W])*'|\s*\.\s*[$\w\.]+/g,u=/[^\w$]+/g,v=new RegExp(["\\b"+s.replace(/,/g,"\\b|\\b")+"\\b"].join("|"),"g"),w=/^\d[^,]*|,\d[^,]*/g,x=/^,+|,+$/g,y=/^$|,+/;"object"==typeof exports&&"undefined"!=typeof module?module.exports=d:"function"==typeof define?define('template',[],function(){return d}):this.template=d}(); |
7607 | +/** | ||
7608 | + * 将BootstrapTable的行使用自定义的模板来渲染 | ||
7609 | + * | ||
7610 | + * @author: karson | ||
7611 | + * @version: v0.0.1 | ||
7612 | + * | ||
7613 | + * @update 2017-06-24 <http://github.com/karsonzhang/fastadmin> | ||
7614 | + */ | ||
7615 | + | ||
7603 | !function ($) { | 7616 | !function ($) { |
7604 | 'use strict'; | 7617 | 'use strict'; |
7605 | 7618 | ||
7606 | $.extend($.fn.bootstrapTable.defaults, { | 7619 | $.extend($.fn.bootstrapTable.defaults, { |
7620 | + //是否启用模板渲染 | ||
7607 | templateView: false, | 7621 | templateView: false, |
7622 | + //数据格式化的模板ID或格式函数 | ||
7608 | templateFormatter: "itemtpl", | 7623 | templateFormatter: "itemtpl", |
7624 | + //添加的父类的class | ||
7609 | templateParentClass: "row row-flex", | 7625 | templateParentClass: "row row-flex", |
7626 | + //向table添加的class | ||
7610 | templateTableClass: "table-template", | 7627 | templateTableClass: "table-template", |
7611 | 7628 | ||
7612 | }); | 7629 | }); |
@@ -7632,14 +7649,14 @@ define("bootstrap-table-commonsearch", ["bootstrap-table"], (function (global) { | @@ -7632,14 +7649,14 @@ define("bootstrap-table-commonsearch", ["bootstrap-table"], (function (global) { | ||
7632 | showFooter: !that.options.templateView ? $.fn.bootstrapTable.defaults.showFooter : false, | 7649 | showFooter: !that.options.templateView ? $.fn.bootstrapTable.defaults.showFooter : false, |
7633 | }); | 7650 | }); |
7634 | $(that.$el).toggleClass(that.options.templateTableClass, that.options.templateView); | 7651 | $(that.$el).toggleClass(that.options.templateTableClass, that.options.templateView); |
7635 | - | 7652 | + |
7636 | _initBody.apply(this, Array.prototype.slice.apply(arguments)); | 7653 | _initBody.apply(this, Array.prototype.slice.apply(arguments)); |
7637 | 7654 | ||
7638 | if (!that.options.templateView) { | 7655 | if (!that.options.templateView) { |
7639 | return; | 7656 | return; |
7640 | } else { | 7657 | } else { |
7641 | //由于Bootstrap是基于Table的,添加一个父类容器 | 7658 | //由于Bootstrap是基于Table的,添加一个父类容器 |
7642 | - $("> *", that.$body).wrapAll($("<div />").addClass(that.options.templateParentClass)); | 7659 | + $("> *:not(.no-records-found)", that.$body).wrapAll($("<div />").addClass(that.options.templateParentClass)); |
7643 | } | 7660 | } |
7644 | }; | 7661 | }; |
7645 | 7662 | ||
@@ -7889,6 +7906,10 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | @@ -7889,6 +7906,10 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | ||
7889 | $(table).on("click", "input[data-id][name='checkbox']", function (e) { | 7906 | $(table).on("click", "input[data-id][name='checkbox']", function (e) { |
7890 | table.trigger('fa.event.check'); | 7907 | table.trigger('fa.event.check'); |
7891 | }); | 7908 | }); |
7909 | + $(table).on("click", "[data-id].btn-change", function (e) { | ||
7910 | + e.preventDefault(); | ||
7911 | + Table.api.multi($(this).data("action") ? $(this).data("action") : '', [$(this).data("id")], table, this); | ||
7912 | + }); | ||
7892 | $(table).on("click", "[data-id].btn-edit", function (e) { | 7913 | $(table).on("click", "[data-id].btn-edit", function (e) { |
7893 | e.preventDefault(); | 7914 | e.preventDefault(); |
7894 | Backend.api.open(options.extend.edit_url + "/ids/" + $(this).data("id"), __('Edit')); | 7915 | Backend.api.open(options.extend.edit_url + "/ids/" + $(this).data("id"), __('Edit')); |
@@ -7915,9 +7936,11 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | @@ -7915,9 +7936,11 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | ||
7915 | // 批量操作请求 | 7936 | // 批量操作请求 |
7916 | multi: function (action, ids, table, element) { | 7937 | multi: function (action, ids, table, element) { |
7917 | var options = table.bootstrapTable('getOptions'); | 7938 | var options = table.bootstrapTable('getOptions'); |
7918 | - var url = action == "del" ? options.extend.del_url : options.extend.multi_url; | 7939 | + var data = element ? $(element).data() : {}; |
7940 | + var url = typeof data.url !== "undefined" ? data.url : (action == "del" ? options.extend.del_url : options.extend.multi_url); | ||
7919 | url = url + "/ids/" + ($.isArray(ids) ? ids.join(",") : ids); | 7941 | url = url + "/ids/" + ($.isArray(ids) ? ids.join(",") : ids); |
7920 | - var options = {url: url, data: {action: action, ids: ids, params: element ? $(element).data("params") : ''}}; | 7942 | + var params = typeof data.params !== "undefined" ? (typeof data.params == 'object' ? $.param(data.params) : data.params) : ''; |
7943 | + var options = {url: url, data: {action: action, ids: ids, params: params}}; | ||
7921 | Backend.api.ajax(options, function (data) { | 7944 | Backend.api.ajax(options, function (data) { |
7922 | Toastr.success(__('Operation completed')); | 7945 | Toastr.success(__('Operation completed')); |
7923 | table.bootstrapTable('refresh'); | 7946 | table.bootstrapTable('refresh'); |
@@ -7927,10 +7950,12 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | @@ -7927,10 +7950,12 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | ||
7927 | events: { | 7950 | events: { |
7928 | operate: { | 7951 | operate: { |
7929 | 'click .btn-editone': function (e, value, row, index) { | 7952 | 'click .btn-editone': function (e, value, row, index) { |
7953 | + e.stopPropagation(); | ||
7930 | var options = $(this).closest('table').bootstrapTable('getOptions'); | 7954 | var options = $(this).closest('table').bootstrapTable('getOptions'); |
7931 | Backend.api.open(options.extend.edit_url + "/ids/" + row[options.pk], __('Edit')); | 7955 | Backend.api.open(options.extend.edit_url + "/ids/" + row[options.pk], __('Edit')); |
7932 | }, | 7956 | }, |
7933 | 'click .btn-delone': function (e, value, row, index) { | 7957 | 'click .btn-delone': function (e, value, row, index) { |
7958 | + e.stopPropagation(); | ||
7934 | var that = this; | 7959 | var that = this; |
7935 | var top = $(that).offset().top - $(window).scrollTop(); | 7960 | var top = $(that).offset().top - $(window).scrollTop(); |
7936 | var left = $(that).offset().left - $(window).scrollLeft() - 260; | 7961 | var left = $(that).offset().left - $(window).scrollLeft() - 260; |
@@ -7950,7 +7975,6 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | @@ -7950,7 +7975,6 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | ||
7950 | Backend.api.layer.close(index); | 7975 | Backend.api.layer.close(index); |
7951 | } | 7976 | } |
7952 | ); | 7977 | ); |
7953 | - | ||
7954 | } | 7978 | } |
7955 | } | 7979 | } |
7956 | }, | 7980 | }, |
@@ -8018,6 +8042,18 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | @@ -8018,6 +8042,18 @@ define('table',['jquery', 'bootstrap', 'backend', 'toastr', 'moment', 'bootstrap | ||
8018 | }); | 8042 | }); |
8019 | return html.join(' '); | 8043 | return html.join(' '); |
8020 | }, | 8044 | }, |
8045 | + label: function (value, row, index, custom) { | ||
8046 | + var colorArr = ['success', 'warning', 'danger', 'info']; | ||
8047 | + //渲染Flag | ||
8048 | + var html = []; | ||
8049 | + var arr = value.split(','); | ||
8050 | + $.each(arr, function (i, value) { | ||
8051 | + value = value.toString(); | ||
8052 | + var color = colorArr[i % colorArr.length]; | ||
8053 | + html.push('<span class="label label-' + color + '">' + __(value) + '</span>'); | ||
8054 | + }); | ||
8055 | + return html.join(' '); | ||
8056 | + }, | ||
8021 | datetime: function (value, row, index) { | 8057 | datetime: function (value, row, index) { |
8022 | return value ? Moment(parseInt(value) * 1000).format("YYYY-MM-DD HH:mm:ss") : __('None'); | 8058 | return value ? Moment(parseInt(value) * 1000).format("YYYY-MM-DD HH:mm:ss") : __('None'); |
8023 | }, | 8059 | }, |
@@ -11050,8 +11086,6 @@ define('form',['jquery', 'bootstrap', 'backend', 'toastr', 'upload', 'validator' | @@ -11050,8 +11086,6 @@ define('form',['jquery', 'bootstrap', 'backend', 'toastr', 'upload', 'validator' | ||
11050 | return false; | 11086 | return false; |
11051 | }, | 11087 | }, |
11052 | bindevent: function (form, onBeforeSubmit, onAfterSubmit) { | 11088 | bindevent: function (form, onBeforeSubmit, onAfterSubmit) { |
11053 | - //移除提交按钮的disabled类 | ||
11054 | - $(".layer-footer .btn.disabled", form).removeClass("disabled"); | ||
11055 | //绑定表单事件 | 11089 | //绑定表单事件 |
11056 | form.validator($.extend({ | 11090 | form.validator($.extend({ |
11057 | validClass: 'has-success', | 11091 | validClass: 'has-success', |
@@ -11088,6 +11122,9 @@ define('form',['jquery', 'bootstrap', 'backend', 'toastr', 'upload', 'validator' | @@ -11088,6 +11122,9 @@ define('form',['jquery', 'bootstrap', 'backend', 'toastr', 'upload', 'validator' | ||
11088 | return false; | 11122 | return false; |
11089 | } | 11123 | } |
11090 | }, form.data("validator-options") || {})); | 11124 | }, form.data("validator-options") || {})); |
11125 | + | ||
11126 | + //移除提交按钮的disabled类 | ||
11127 | + $(".layer-footer .btn.disabled", form).removeClass("disabled"); | ||
11091 | 11128 | ||
11092 | //绑定select元素事件 | 11129 | //绑定select元素事件 |
11093 | if ($(".selectpicker", form).size() > 0) { | 11130 | if ($(".selectpicker", form).size() > 0) { |
-
请 注册 或 登录 后发表评论