diff --git a/app/admin/view/api/upload/image.html b/app/admin/view/api/upload/image.html
index e70ac2f4a..95ce3c86a 100644
--- a/app/admin/view/api/upload/image.html
+++ b/app/admin/view/api/upload/image.html
@@ -33,6 +33,7 @@
list: [],
data: [],
idxs: {},
+ urls: [],
},
created: function () {
this.$btn = $('#{$get.id|default=""}');
@@ -46,15 +47,24 @@
this.page = 1;
this.loadPage();
},
+ // 确认选择数据
+ confirm: function () {
+ this.urls = [];
+ this.data.forEach(function (file) {
+ app.setValue(file.xurl);
+ });
+ this.setInput();
+ },
// 设置单项数据
setItem: function (item) {
- if (!this.mult) return this.setValue(item.xurl);
- if ((item.checked = !this.idxs[item.id])) {
+ if (!this.mult) {
+ this.setValue(item.xurl).setInput();
+ } else if ((item.checked = !this.idxs[item.id])) {
(this.idxs[item.id] = item) && this.data.push(item);
} else {
delete this.idxs[item.id];
- layui.each(this.data, function (idx, _ite) {
- _ite.id === item.id && app.data.splice(idx, 1);
+ this.data.forEach(function (temp, idx) {
+ temp.id === item.id && app.data.splice(idx, 1);
});
}
},
@@ -64,20 +74,19 @@
this.list.forEach(function (item) {
item.checked = !!app.idxs[item.id]
item.style = 'background-image:url(' + item.xurl + ')';
- });
- this.addPage(count);
- },
- // 确认选择数据
- confirm: function () {
- layui.each(this.data, function (idx, file) {
- app.setValue(file.xurl);
- });
+ }), this.addPage(count);
},
// 设置选择数据
- setValue: function (url) {
- this.$btn.triggerHandler('push', url);
- if (this.$btn.data('input')) $(this.$btn.data('input')).val(url).trigger('change', url);
+ setValue: function (xurl) {
+ this.urls.push(xurl) && this.$btn.triggerHandler('push', xurl);
$('#ImageDialog').parents('.layui-layer-content').next().find('.layui-layer-close').trigger('click');
+ return this;
+ },
+ // 设置输入表单
+ setInput: function () {
+ if (this.$btn.data('input')) {
+ $(this.$btn.data('input')).val(this.urls.join('|')).trigger('change');
+ }
},
// 创建分页工具条
addPage: function (count) {
@@ -99,8 +108,11 @@
},
// 上传图片文件
uploadImage: function () {
+ this.urls = [];
this.$ups.off('push').on('push', function (e, xurl) {
app.setValue(xurl);
+ }).off('upload.complete').on('upload.complete', function () {
+ app.setInput();
}).click();
},
}