Sfoglia il codice sorgente

优化格式化输出时文本编码

# Conflicts:
#	public/assets/js/require-table.js
Karson 1 anno fa
parent
commit
8e88e1c9dc
1 ha cambiato i file con 15 aggiunte e 15 eliminazioni
  1. 15 15
      public/assets/js/require-table.js

+ 15 - 15
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 '<a href="javascript:;" class="searchit" data-toggle="tooltip" title="' + __('Click to search %s', value) + '" data-field="' + field + '" data-value="' + value + '">' + value + '</a>';
@@ -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;
             },