luck-draw/public/static/manager/js/add_activity.js

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();
})
});