新增data-upload-filename-field上传特性;生成的file默认开启预览

This commit is contained in:
2023-04-11 16:30:46 +08:00
parent 0c0b623a14
commit bd833f70e5
6 changed files with 69 additions and 11 deletions

View File

@@ -4,7 +4,7 @@
<div class="layui-input-block layuimini-upload">
<input name="{{field}}" class="layui-input layui-col-xs6" {{required}} placeholder="请上传{{comment}}" value="{{value}}">
<div class="layuimini-upload-btn">
<span><a class="layui-btn" data-upload="{{field}}" data-upload-number="one" data-upload-exts="zip" data-upload-icon="file" data-disable-preview="1"><i class="fa fa-upload"></i> 上传</a></span>
<span><a class="layui-btn" data-upload="{{field}}" data-upload-number="one" data-upload-exts="zip" data-upload-icon="file" data-upload-disable-preview="0"><i class="fa fa-upload"></i> 上传</a></span>
<span><a class="layui-btn layui-btn-normal" id="select_{{field}}" data-upload-select="{{field}}" data-upload-number="one" data-upload-mimetype="*"><i class="fa fa-list"></i> 选择</a></span>
</div>
</div>

View File

@@ -4,7 +4,7 @@
<div class="layui-input-block layuimini-upload">
<input name="{{field}}" class="layui-input layui-col-xs6" {{required}} placeholder="请上传{{comment}}" value="{{value}}">
<div class="layuimini-upload-btn">
<span><a class="layui-btn" data-upload="{{field}}" data-upload-number="more" data-upload-exts="zip" data-upload-icon="file" data-disable-preview="1"><i class="fa fa-upload" data-upload-sign="{{define}}" ></i> 上传</a></span>
<span><a class="layui-btn" data-upload="{{field}}" data-upload-number="more" data-upload-exts="zip" data-upload-icon="file" data-upload-disable-preview="0"><i class="fa fa-upload" data-upload-sign="{{define}}" ></i> 上传</a></span>
<span><a class="layui-btn layui-btn-normal" id="select_{{field}}" data-upload-select="{{field}}" data-upload-number="more" data-upload-mimetype="*" data-upload-sign="{{define}}"><i class="fa fa-list"></i> 选择</a></span>
</div>
</div>

View File

@@ -79,7 +79,23 @@
<textarea name="describe" rows="20" class="layui-textarea editor" placeholder="请输入商品描述"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">授权文件名称</label>
<div class="layui-input-block">
<input type="text" name="license_name" class="layui-input" lay-verify="required" placeholder="请输入授权文件名称" value="">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">授权文件</label>
<div class="layui-input-block layuimini-upload">
<input name="license" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传授权文件" value="">
<div class="layuimini-upload-btn">
<span><a class="layui-btn" data-upload="license" data-upload-number="one" data-upload-exts="zip" data-upload-icon="file" data-upload-disable-preview="0" data-upload-filename-field="license_name"><i class="fa fa-upload"></i> 上传</a></span>
<span><a class="layui-btn layui-btn-normal" id="select_license" data-upload-select="license" data-upload-number="one" data-upload-mimetype="*" data-upload-filename-field="license_name"><i class="fa fa-list"></i> 选择</a></span>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">分类排序</label>
<div class="layui-input-block">

View File

@@ -78,6 +78,22 @@
<textarea name="describe" rows="20" class="layui-textarea editor" placeholder="请输入商品描述">{$row.describe|raw|default=''}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">授权文件名称</label>
<div class="layui-input-block">
<input type="text" name="license_name" class="layui-input" lay-verify="required" placeholder="请输入授权文件名称" value="{$row.license_name|default=''}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">授权文件</label>
<div class="layui-input-block layuimini-upload">
<input name="license" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传授权文件" value="{$row.license|default=''}">
<div class="layuimini-upload-btn">
<span><a class="layui-btn" data-upload="license" data-upload-number="one" data-upload-exts="zip" data-upload-icon="file" data-upload-disable-preview="0" data-upload-filename-field="license_name"><i class="fa fa-upload"></i> 上传</a></span>
<span><a class="layui-btn layui-btn-normal" id="select_license" data-upload-select="license" data-upload-number="one" data-upload-mimetype="*" data-upload-filename-field="license_name"><i class="fa fa-list"></i> 选择</a></span>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">分类排序</label>

View File

@@ -37,7 +37,7 @@ return [
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => Env::get('database.charset', 'utf8'),
'charset' => Env::get('database.charset', 'utf8mb4'),
// 数据库表前缀
'prefix' => Env::get('database.prefix', 'ul_'),

View File

@@ -263,7 +263,7 @@ define(["jquery", "tableSelect", "ckeditor", 'miniTheme', 'tableData', 'citypick
options.limit = options.limit || 15;
options.limits = options.limits || [10, 15, 20, 25, 50, 100];
options.cols = options.cols || [];
var defaultToolbar = ['filter', 'print'];
if (options.search) {
@@ -1859,12 +1859,12 @@ define(["jquery", "tableSelect", "ckeditor", 'miniTheme', 'tableData', 'citypick
// url :'system.menu/index?id=1'
// }
// ea.api.reloadTable('currentTableRenderId',options)
reloadTable:function(tableName, options,mode){
reloadTable: function (tableName, options, mode) {
tableName = tableName || 'currentTableRenderId';
if (mode == 'table') {
table.reload(tableName,options);
table.reload(tableName, options);
} else {
table.reloadData(tableName,options);
table.reloadData(tableName, options);
}
},
formRequired: function () {
@@ -2028,10 +2028,14 @@ define(["jquery", "tableSelect", "ckeditor", 'miniTheme', 'tableData', 'citypick
uploadSign = $(this).attr('data-upload-sign') || '|',
uploadAccept = $(this).attr('data-upload-accept') || 'file',
uploadAcceptMime = $(this).attr('data-upload-mimetype') || '',
disablePreview = $(this).attr('data-disable-preview') || '',
uploadDisablePreview = $(this).attr('data-upload-disable-preview') || '0',
uploadFilenameField = $(this).attr('data-upload-filename-field') || '',
elem = "input[name='" + uploadName + "']",
uploadElem = this;
uploadElem = this;
if (uploadFilenameField) {
var elemFilenameField = "input[name='" + uploadFilenameField + "']";
}
if (uploadExts == '*') {
uploadExts = init.upload_exts;
} else if (uploadExts.charAt(0) == '*') {
@@ -2053,11 +2057,22 @@ define(["jquery", "tableSelect", "ckeditor", 'miniTheme', 'tableData', 'citypick
done: function (res) {
if (res.code === 1) {
var url = res.data.url;
var filename = res.data.original_name;
if (uploadNumber !== 'one') {
var oldUrl = $(elem).val();
if (oldUrl !== '') {
url = oldUrl + uploadSign + url;
}
if (elemFilenameField) {
var oldFilename = $(elemFilenameField).val();
if (oldFilename !== '') {
filename = oldFilename + uploadSign + filename;
}
}
}
if (elemFilenameField) {
$(elemFilenameField).val(filename);
}
$(elem).val(url);
$(elem).trigger("input");
@@ -2069,7 +2084,7 @@ define(["jquery", "tableSelect", "ckeditor", 'miniTheme', 'tableData', 'citypick
}
});
if (disablePreview == 0) {
if (uploadDisablePreview == 0) {
// 监听上传input值变化
$(elem).bind("input propertychange", function (event) {
var urlString = $(this).val(),
@@ -2141,6 +2156,11 @@ define(["jquery", "tableSelect", "ckeditor", 'miniTheme', 'tableData', 'citypick
var uploadName = $(this).attr('data-upload-select'),
uploadNumber = $(this).attr('data-upload-number') || 'one',
uploadSign = $(this).attr('data-upload-sign') || '|';
uploadFilenameField = $(this).attr('data-upload-filename-field') || '';
if (uploadFilenameField) {
var elemFilenameField = "input[name='" + uploadFilenameField + "']";
}
var selectCheck = uploadNumber === 'one' ? 'radio' : 'checkbox';
var elem = "input[name='" + uploadName + "']",
@@ -2166,12 +2186,18 @@ define(["jquery", "tableSelect", "ckeditor", 'miniTheme', 'tableData', 'citypick
},
done: function (e, data) {
var urlArray = [];
var filenameArray = [];
$.each(data.data, function (index, val) {
urlArray.push(val.url)
filenameArray.push(val.original_name)
});
var url = urlArray.join(uploadSign);
var filename = filenameArray.join(uploadSign);
admin.msg.success('选择成功', function () {
$(elem).val(url);
if (uploadFilenameField) {
$(elemFilenameField).val(filename);
}
$(elem).trigger("input");
});
}