202 lines
9.2 KiB
JavaScript
202 lines
9.2 KiB
JavaScript
layui.use(['laytpl', 'table', 'jquery', 'form', 'miniTab', 'tree', 'xmSelect', 'laydate','upload',"layer"], function () {
|
|
let $ = layui.jquery,
|
|
layer = layui.layer,
|
|
upload = layui.upload,
|
|
form = layui.form,
|
|
laydate = layui.laydate;
|
|
//日期时间选择器
|
|
laydate.render({
|
|
elem: '#lottery_time'
|
|
,type: 'datetime'
|
|
});
|
|
//监听开奖类型
|
|
form.on('select(lottery_method)', function(data){
|
|
switch (data.value) {
|
|
case "time":
|
|
$("#lottery_time_row").show();
|
|
$("#lottery_people_number_row").hide();
|
|
break;
|
|
case "people_number":
|
|
$("#lottery_time_row").hide();
|
|
$("#lottery_people_number_row").show();
|
|
break;
|
|
default:
|
|
$("#lottery_time_row").hide();
|
|
$("#lottery_people_number_row").hide();
|
|
;
|
|
}
|
|
return false;
|
|
});
|
|
//监听红包类型
|
|
form.on('select(type)', function(data){
|
|
|
|
switch (data.value) {
|
|
case "prize":
|
|
$("#type_redpack_row").hide();
|
|
$("#redpack_money_row").hide();
|
|
$("#redpack_num_row").hide();
|
|
break;
|
|
case "redpack":
|
|
$("#type_redpack_row").show();
|
|
$("#redpack_money_row").show();
|
|
$("#redpack_num_row").show();
|
|
break;
|
|
default:
|
|
$("#type_redpack_row").hide();
|
|
$("#redpack_money_row").hide();
|
|
$("#redpack_num_row").hide();
|
|
break;
|
|
}
|
|
return false;
|
|
});
|
|
let image_exts = $('#image_exts').data('exts') ? $('#image_exts').data('exts') : "jpg|png|gif|bmp|jpeg";//图片上传后缀
|
|
// 删除时间
|
|
$('body').on('click', '.upload-file-div-close', function () {
|
|
$(this).parent().remove()
|
|
});
|
|
|
|
|
|
// 根据input 刷新预览图片列表
|
|
function initPreviewList() {
|
|
let input = $('.upload-file-value');
|
|
if (input.length > 0) {
|
|
input.each(function () {
|
|
let that = $(this);
|
|
let fileList = that.val();
|
|
let fileArr = [];
|
|
let html = '';
|
|
if (fileList) {
|
|
fileArr = fileList.split(',');
|
|
}
|
|
if (fileArr.length > 0) {
|
|
$.each(fileArr, function (index, item) {
|
|
let ext = item.split('.');
|
|
src = getFileRequestUrl(item);
|
|
let aLink = getFileRequestUrl(item);
|
|
|
|
html += `<li class="layui-col-xs12 layui-col-md2 preview-li">
|
|
<a href="${aLink}" target="_blank" class="preview-li-img">
|
|
<img src="${src}" data-img="${item}">
|
|
</a>
|
|
<a href="javascript:;" class="layui-btn layui-btn-xs layui-btn-danger del-preview-img">
|
|
<i class="fa fa-trash-o"></i> 删除
|
|
</a>
|
|
</li>`;
|
|
})
|
|
}
|
|
that.parents('.upload-file-div').find('.preview-list').html(html);
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
//渲染节点
|
|
function renderImgListNode(id) {
|
|
// 多个上传组件 多个实例
|
|
|
|
upload.render({
|
|
elem: '#ImgListNode-upload-btn-' + id
|
|
, url: '/manager/upload/image'
|
|
, auto: true
|
|
, field: 'image_image'
|
|
, accept: 'images'
|
|
, acceptMime: 'images/*'
|
|
, exts: image_exts
|
|
, size: 50 * 1204
|
|
, number: 0
|
|
, multiple: false
|
|
, data: {}
|
|
, before: function (obj) {
|
|
layer.load(2);
|
|
}
|
|
, done: function (res, index, upload) { //每个文件提交一次触发一次。详见“请求成功的回调”
|
|
layer.closeAll('loading'); //关闭loading
|
|
let item = this.item;
|
|
let div = item.parents('.upload-file-div');
|
|
let existsNotice = item.data('notice-exists');//已存在文件是否提示 默认不提示
|
|
let callback = item.data('callback');//上传成功执行函数
|
|
if (callback) {
|
|
eval(callback);
|
|
}
|
|
|
|
// 200=已存在文件 0=新上传成功
|
|
if (res.code === 0 || res.code === 200) {
|
|
let inputValue = '';
|
|
inputValue += res.data.src;
|
|
$(div).find('.upload-file-value').val(inputValue);
|
|
initPreviewList();
|
|
if (existsNotice && res.code === 200) {
|
|
layer.alert(res.msg);
|
|
}
|
|
} else {
|
|
layer.msg(res.msg);
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
function setImgListNode(key){
|
|
let html = ` <div class="layui-row upload-file-div">
|
|
<div class=" layui-col-xs12 layui-col-md4">
|
|
<input class="layui-input upload-file-value" name="winner[${key}][avatar]" type="text" value="">
|
|
<div class="layui-form-mid layui-word-aux">中奖者头像:请上传合适尺寸</div>
|
|
</div>
|
|
<div class="layui-col-xs12 layui-col-md3">
|
|
<span>
|
|
<button type="button" class="layui-btn layui-btn-danger " id="ImgListNode-upload-btn-${key}">
|
|
<i class="fa fa-upload"></i> 上传
|
|
</button>
|
|
</span>
|
|
<span><button type="button" class="layui-btn layui-btn-primary upload-choose-btn"
|
|
data-url="/manager/attachment/image"
|
|
data-type="image"
|
|
data-multiple="false">
|
|
<i class="fa fa-list"></i> 选择
|
|
</button></span>
|
|
</div>
|
|
<ul class="layui-row layui-col-xs12 layui-col-md9 preview-list layui-col-space5"></ul>
|
|
|
|
<div class="layui-row">
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">奖品标题</label>
|
|
<div class="layui-input-inline">
|
|
<input type="text" name="winner[${key}][prize_title]" class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">中奖者昵称</label>
|
|
<div class="layui-input-inline">
|
|
<input type="text" name="winner[${key}][winner_title]" class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<label class="layui-form-label">排序</label>
|
|
<div class="layui-input-inline">
|
|
<input type="number" name="winner[${key}][sort]" class="layui-input">
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<button class="layui-btn upload-file-div-close">删除</button>
|
|
</div>`;
|
|
$("#img_list").append(html);
|
|
renderImgListNode(key);
|
|
|
|
ImgListNodeKey++;
|
|
}
|
|
|
|
$(function () {
|
|
if(addImgListNode == true){
|
|
//添加第一个节点
|
|
setImgListNode(ImgListNodeKey);
|
|
}
|
|
|
|
//增加节点绑定
|
|
$("#addrImgListNode").on("click",function () {
|
|
setImgListNode(ImgListNodeKey)
|
|
});
|
|
initPreviewList();
|
|
})
|
|
|
|
}); |