|
@@ -159,7 +159,13 @@ require(['jquery', 'bootstrap'], function ($, undefined) {
|
|
|
//加载相应模块
|
|
|
if (Config.jsname) {
|
|
|
require([Config.jsname], function (Controller) {
|
|
|
- Controller[Config.actionname] != undefined && Controller[Config.actionname]();
|
|
|
+ if (Controller.hasOwnProperty(Config.actionname)) {
|
|
|
+ Controller[Config.actionname]();
|
|
|
+ } else {
|
|
|
+ if (Controller.hasOwnProperty("_empty")) {
|
|
|
+ Controller._empty();
|
|
|
+ }
|
|
|
+ }
|
|
|
}, function (e) {
|
|
|
console.error(e);
|
|
|
// 这里可捕获模块加载的错误
|
|
@@ -5708,9 +5714,9 @@ define('backend',['fast', 'template', 'moment'], function (Fast, Template, Momen
|
|
|
if (url.indexOf("{ids}") > -1) {
|
|
|
var ids = 0;
|
|
|
var tableId = $(elem).data("table-id");
|
|
|
- if (tableId && $(tableId).size() > 0 && $(tableId).data("bootstrap.table")) {
|
|
|
+ if (tableId && $("#" + tableId).size() > 0 && $("#" + tableId).data("bootstrap.table")) {
|
|
|
var Table = require("table");
|
|
|
- ids = Table.api.selectedids($(tableId)).join(",");
|
|
|
+ ids = Table.api.selectedids($("#" + tableId)).join(",");
|
|
|
}
|
|
|
url = url.replace(/\{ids\}/g, ids);
|
|
|
}
|
|
@@ -6451,17 +6457,49 @@ define('upload',['jquery', 'bootstrap', 'plupload', 'template'], function ($, un
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
+ //刷新隐藏textarea的值
|
|
|
+ var refresh = function (name) {
|
|
|
+ var data = {};
|
|
|
+ var textarea = $("textarea[name='" + name + "']");
|
|
|
+ var container = textarea.prev("ul");
|
|
|
+ $.each($("input,select,textarea", container).serializeArray(), function (i, j) {
|
|
|
+ var reg = /\[?(\w+)\]?\[(\w+)\]$/g;
|
|
|
+ var match = reg.exec(j.name);
|
|
|
+ if (!match)
|
|
|
+ return true;
|
|
|
+ if (!isNaN(match[2])) {
|
|
|
+ data[i] = j.value;
|
|
|
+ } else {
|
|
|
+ match[1] = "x" + parseInt(match[1]);
|
|
|
+ if (typeof data[match[1]] === 'undefined') {
|
|
|
+ data[match[1]] = {};
|
|
|
+ }
|
|
|
+ data[match[1]][match[2]] = j.value;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ var result = [];
|
|
|
+ $.each(data, function (i, j) {
|
|
|
+ result.push(j);
|
|
|
+ });
|
|
|
+ textarea.val(JSON.stringify(result));
|
|
|
+ };
|
|
|
if (preview_id && input_id) {
|
|
|
- $(document.body).on("keyup change", "#" + input_id, function () {
|
|
|
+ $(document.body).on("keyup change", "#" + input_id, function (e) {
|
|
|
var inputStr = $("#" + input_id).val();
|
|
|
var inputArr = inputStr.split(/\,/);
|
|
|
$("#" + preview_id).empty();
|
|
|
var tpl = $("#" + preview_id).data("template") ? $("#" + preview_id).data("template") : "";
|
|
|
+ var extend = $("#" + preview_id).next().is("textarea") ? $("#" + preview_id).next("textarea").val() : "{}";
|
|
|
+ var json = {};
|
|
|
+ try {
|
|
|
+ json = JSON.parse(extend);
|
|
|
+ } catch (e) {
|
|
|
+ }
|
|
|
$.each(inputArr, function (i, j) {
|
|
|
if (!j) {
|
|
|
return true;
|
|
|
}
|
|
|
- var data = {url: j, fullurl: Fast.api.cdnurl(j), data: $(that).data()};
|
|
|
+ var data = {url: j, fullurl: Fast.api.cdnurl(j), data: $(that).data(), key: i, index: i, value: (json && typeof json[i] !== 'undefined' ? json[i] : null)};
|
|
|
var html = tpl ? Template(tpl, data) : Template.render(Upload.config.previewtpl, data);
|
|
|
$("#" + preview_id).append(html);
|
|
|
});
|
|
@@ -6469,15 +6507,20 @@ define('upload',['jquery', 'bootstrap', 'plupload', 'template'], function ($, un
|
|
|
$("#" + input_id).trigger("change");
|
|
|
}
|
|
|
if (preview_id) {
|
|
|
+ //监听文本框改变事件
|
|
|
+ $("#" + preview_id).on('change keyup', "input,textarea,select", function () {
|
|
|
+ refresh($(this).closest("ul").data("name"));
|
|
|
+ });
|
|
|
// 监听事件
|
|
|
$(document.body).on("fa.preview.change", "#" + preview_id, function () {
|
|
|
- var urlArr = new Array();
|
|
|
+ var urlArr = [];
|
|
|
$("#" + preview_id + " [data-url]").each(function (i, j) {
|
|
|
urlArr.push($(this).data("url"));
|
|
|
});
|
|
|
if (input_id) {
|
|
|
$("#" + input_id).val(urlArr.join(","));
|
|
|
}
|
|
|
+ refresh($("#" + preview_id).data("name"));
|
|
|
});
|
|
|
// 移除按钮事件
|
|
|
$(document.body).on("click", "#" + preview_id + " .btn-trash", function () {
|
|
@@ -8901,7 +8944,7 @@ define('form',['jquery', 'bootstrap', 'upload', 'validator'], function ($, undef
|
|
|
},
|
|
|
dataFilter: function (data) {
|
|
|
if (data.code === 1) {
|
|
|
- return "";
|
|
|
+ return data.msg ? { "ok": data.msg } : '';
|
|
|
} else {
|
|
|
return data.msg;
|
|
|
}
|
|
@@ -9153,7 +9196,7 @@ define('form',['jquery', 'bootstrap', 'upload', 'validator'], function ($, undef
|
|
|
var textarea = $("textarea[name='" + name + "']", form);
|
|
|
var container = textarea.closest("dl");
|
|
|
var template = container.data("template");
|
|
|
- $.each($("input,select", container).serializeArray(), function (i, j) {
|
|
|
+ $.each($("input,select,textarea", container).serializeArray(), function (i, j) {
|
|
|
var reg = /\[(\w+)\]\[(\w+)\]$/g;
|
|
|
var match = reg.exec(j.name);
|
|
|
if (!match)
|
|
@@ -9423,7 +9466,9 @@ define('form',['jquery', 'bootstrap', 'upload', 'validator'], function ($, undef
|
|
|
// 重置搜索
|
|
|
form.on("click", "button[type=reset]", function (event) {
|
|
|
form[0].reset();
|
|
|
- that.onCommonSearch();
|
|
|
+ setTimeout(function () {
|
|
|
+ that.onCommonSearch();
|
|
|
+ }, 0);
|
|
|
});
|
|
|
|
|
|
};
|
|
@@ -9967,6 +10012,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
|
|
|
return __('Choose');
|
|
|
}
|
|
|
}, locales);
|
|
|
+ $.fn.bootstrapTable.defaults.exportTypes = defaults.exportTypes;
|
|
|
},
|
|
|
// 绑定事件
|
|
|
bindevent: function (table) {
|
|
@@ -10035,7 +10081,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
|
|
|
var field = $(this).closest("ul").data("field");
|
|
|
var value = $(this).data("value");
|
|
|
$("select[name='" + field + "'] option[value='" + value + "']", table.closest(".bootstrap-table").find(".commonsearch-table")).prop("selected", true);
|
|
|
- table.bootstrapTable('refresh', {});
|
|
|
+ table.bootstrapTable('refresh', {pageNumber:1});
|
|
|
return false;
|
|
|
});
|
|
|
// 刷新按钮事件
|
|
@@ -10141,7 +10187,8 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
|
|
|
pid: pid,
|
|
|
field: Table.config.dragsortfield,
|
|
|
orderway: options.sortOrder,
|
|
|
- table: options.extend.table
|
|
|
+ table: options.extend.table,
|
|
|
+ pk: options.pk
|
|
|
}
|
|
|
};
|
|
|
Fast.api.ajax(params, function (data, ret) {
|
|
@@ -10273,6 +10320,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
|
|
|
});
|
|
|
Layer.photos({
|
|
|
photos: {
|
|
|
+ "start": $(this).parent().index(),
|
|
|
"data": data
|
|
|
},
|
|
|
anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
|