';
if (obj.type === 'down') {
window.open(obj.id);
} else if (obj.type === 'choose') {
that.choose(obj.id);
} else {
if (obj.type === 'delete') {
elem = '
';
}
$(options.elem).append(elem);
$(fileEl).trigger('click');
obj.type === 'delete' && that.reload();
}
$(fileEl).remove();
}
});
})
if (!options.elem.find('#files-page>div').length) {
laypage.render({
elem: options.elem.find('#files-page'),
count: data.count,
limit: options.limit,
jump: function (obj, first) {
if (!first) {
that.getData(obj.curr, $('.layui-tab-title li.layui-this').data('type'), $('#filename').val());
}
}
});
}
}
// 文件扩展名
Class.prototype.fileExt = function (ext) {
let type = 'file';
let icons = this.config.icons;
for (let i = 0; i < icons.length; i++) {
icons[i].suffix.find(function (item) {
if (ext.toLowerCase() === item) {
type = icons[i].icon;
}
})
}
return layui.cache.base + 'fileManager/ico/' + type + '.png';
}
//事件
Class.prototype.events = function () {
var that = this
, options = that.config;
$(options.elem).on('click', '.layui-tab-title li', function (res) {
let type = $(this).data('type');
$(options.elem).find('#files-page').html('');
that.getData(1, type, $('#filename').val());
});
$('#file-search').click(function (e) {
let filename = $('#filename').val();
$(options.elem).find('#files-page').html('');
that.getData(1, options.type, filename);
})
// 选择回显
$(options.elem).on('dblclick', '.file-list-item', function (e) {
if (options.choose) {
that.choose(this);
}
})
};
// 选择文件
Class.prototype.choose = function (obj) {
let url = $(obj).data('url'),
field = $('#_fileFiled').val(),
type = $('#_fileType').val();
if (!field || !type) {
return layer.info('请先配置选择参数');
}
if (type === 'images') {
let o = parent.layui.$('img.' + field);
o.prop('src', url);
o.parent('div').removeClass('layui-hide');
parent.layui.$(o).parents('.layui-upload-drag').find('p,i,hr').addClass('layui-hide');
parent.layui.$('input.' + field).val(url);
} else if (type === 'multiple') {
let boxList = parent.layui.$('[lay-choose="' + field + '"]').parents('.layui-imagesbox').find('.layui-input-inline');
let length = boxList.length;
$(boxList).each(function (i, item) {
$(item).find('input.layui-hide').prop('name', field + '[' + i + '][src]');
$(item).find('input.layui-input').prop('name', field + '[' + i + '][title]');
})
let html = '
';
let elem = parent.layui.$('[lay-upload="' + field + '"]');
parent.layui.$(elem).parent().before(html);
parent.layui.$(elem).parents('form').find('input#' + field + '_clear').remove();
} else {
parent.layui.$('input.' + field).val(url);
}
parent.layer.close($('#_fileChoose').data('index'));
}
//记录所有实例
thisTags.that = {};
//获取当前实例对象
thisTags.getThis = function (id) {
var that = thisTags.that[id];
if (!that) hint.error(id ? (MOD_NAME + ' instance with ID \'' + id + '\' not found') : 'ID argument required');
return that
};
//重载实例
MODULE_FILE_NAME.reload = function (id, options) {
var that = thisTags.that[id];
that.reload(options);
return thisTags.call(that);
};
//核心入口
MODULE_FILE_NAME.render = function (options) {
var inst = new Class(options);
return thisTags.call(inst);
};
$('body').append('');
exports(MOD_NAME, MODULE_FILE_NAME);
})