diff --git a/public/assets/js/require-table.js b/public/assets/js/require-table.js index ceeb0b07..3502d36a 100644 --- a/public/assets/js/require-table.js +++ b/public/assets/js/require-table.js @@ -831,8 +831,11 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table }, search: function (value, row, index) { var field = this.field; - if (typeof this.customField !== 'undefined' && typeof row[this.customField] !== 'undefined') { - value = row[this.customField]; + if (typeof this.customField !== 'undefined') { + var customValue = this.customField.split('.').reduce(function (obj, key) { + return obj === null || obj === undefined ? '' : obj[key]; + }, row); + value = Fast.api.escape(customValue); field = this.customField; } return '' + value + ''; @@ -856,8 +859,11 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table colorArr = $.extend(colorArr, this.custom); } var field = this.field; - if (typeof this.customField !== 'undefined' && typeof row[this.customField] !== 'undefined') { - value = row[this.customField]; + if (typeof this.customField !== 'undefined') { + var customValue = this.customField.split('.').reduce(function (obj, key) { + return obj === null || obj === undefined ? '' : obj[key]; + }, row); + value = Fast.api.escape(customValue); field = this.customField; } if (typeof that.searchList === 'object' && typeof that.custom === 'undefined') { @@ -1007,17 +1013,11 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table url + (url.match(/(\?|&)+/) ? "&ids=" : "/ids/") + '{ids}' : url; url = url.replace(/\{(.*?)\}/gi, function (matched) { matched = matched.substring(1, matched.length - 1); - if (matched.indexOf(".") !== -1) { - var temp = row; - var arr = matched.split(/\./); - for (var i = 0; i < arr.length; i++) { - if (typeof temp[arr[i]] !== 'undefined') { - temp = temp[arr[i]]; - } - } - return typeof temp === 'object' ? '' : temp; - } - return row[matched]; + var temp = matched.split('.').reduce(function (obj, key) { + return obj === null || obj === undefined ? '' : obj[key]; + }, row); + temp = Fast.api.escape(temp); + return temp; }); return url; },