<div class="layui-fluid layui-anim febs-anim" id="febs-activity-discount" lay-title="活动设置">
|
<div class="layui-row febs-container">
|
<div class="layui-col-md12">
|
<div class="layui-fluid" id="activity-discount-update">
|
<form class="layui-form" action="" lay-filter="activity-discount-update-form">
|
<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
<ul class="layui-tab-title">
|
<li class="layui-this">基础信息</li>
|
</ul>
|
<div class="layui-tab-content">
|
<div class="layui-tab-item layui-show">
|
<blockquote class="layui-elem-quote blue-border">基础信息</blockquote>
|
<!-- 隐藏的 ID 项 -->
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label">ID:</label>
|
<div class="layui-input-block">
|
<input type="text" name="id" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">分类:</label>
|
<div class="layui-input-block">
|
<div id="activity-group"></div>
|
</div>
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">排序:</label>
|
<div class="layui-input-block">
|
<input type="text" name="orderCnt" lay-verify="required"
|
placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">名称:</label>
|
<div class="layui-input-block">
|
<input type="text" name="name" lay-verify="required"
|
placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">类型:</label>
|
<div class="layui-input-block">
|
<select name="type">
|
<option value="">请选择</option>
|
<option value="1">普通活动</option>
|
<option value="2">众筹活动</option>
|
<option value="3">投票活动</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">推荐首页:</label>
|
<div class="layui-input-block">
|
<select name="hotState">
|
<option value="">请选择</option>
|
<option value="0">不推荐</option>
|
<option value="1">推荐</option>
|
</select>
|
</div>
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">联系方式:</label>
|
<div class="layui-input-block">
|
<input type="text" name="phone" lay-verify="required"
|
placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">地址:</label>
|
<div class="layui-input-block">
|
<input type="text" name="address" lay-verify="required"
|
placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">投票次数:</label>
|
<div class="layui-input-block">
|
<input type="text" name="voteCnt" lay-verify="required"
|
placeholder="" autocomplete="off" class="layui-input">
|
<div class="layui-form-mid layui-word-aux">投票活动,单个ID每天投票次数</div>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">自主报名:</label>
|
<div class="layui-input-block">
|
<select name="addState">
|
<option value="">请选择</option>
|
<option value="0">不允许</option>
|
<option value="1">允许</option>
|
</select>
|
<div class="layui-form-mid layui-word-aux">投票活动,是否允许用户小程序自主报名</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">开始时间:</label>
|
<div class="layui-input-block">
|
<input type="text" name="startTime" id="febs-form-group-date-start" lay-verify="datetime"
|
placeholder="yyyy-MM-dd hh:mm:ss" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">结束时间:</label>
|
<div class="layui-input-block">
|
<input type="text" name="endTime" id="febs-form-group-date-end" lay-verify="datetime"
|
placeholder="yyyy-MM-dd hh:mm:ss" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
|
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">门票售卖:</label>
|
<div class="layui-input-block">
|
<select name="payState">
|
<option value="">请选择</option>
|
<option value="0">关闭</option>
|
<option value="1">开启</option>
|
</select>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">门票总数:</label>
|
<div class="layui-input-block">
|
<input type="text" name="joinCnt" lay-verify="required"
|
placeholder="" autocomplete="off" class="layui-input">
|
<div class="layui-form-mid layui-word-aux">门票总数</div>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">门票价格:</label>
|
<div class="layui-input-block">
|
<input type="text" name="payAmount" lay-verify="required"
|
placeholder="" autocomplete="off" class="layui-input">
|
<div class="layui-form-mid layui-word-aux">门票价格(关闭众筹,或者免费参与,请填写0)</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">封面:</label>
|
<div class="layui-input-block">
|
<div class="layui-upload">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn" id="test1Max">上传</button>
|
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
|
<div class="layui-upload-list" id="demo1Max"></div>
|
</blockquote>
|
</div>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">背景:</label>
|
<div class="layui-input-block">
|
<div class="layui-upload">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn" id="testMax">上传</button>
|
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
|
<div class="layui-upload-list" id="demoMax"></div>
|
</blockquote>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-row layui-col-space10 layui-form-item febs-hide">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label">封面链接:</label>
|
<div class="layui-input-block">
|
<input type="text" id="indexImg" lay-verify="required" name="indexImg" autocomplete="off" class="layui-input" readonly>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label">背景链接:</label>
|
<div class="layui-input-block">
|
<input type="text" id="backImg" lay-verify="required" name="backImg" autocomplete="off" class="layui-input" readonly>
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-form-item">
|
<label class="layui-form-label febs-form-item-require">活动描述:</label>
|
<div class="layui-input-block">
|
<div style="border: 1px solid #ccc;">
|
<div id="toolbar-container" class="toolbar"></div>
|
<div id="text-container" class="text" style="height: 450px;"></div>
|
</div>
|
</div>
|
</div>
|
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<button class="layui-btn" lay-submit="" lay-filter="activity-discount-update-form-submit" id="submit">保存</button>
|
</div>
|
</form>
|
</div>
|
</div>
|
</div>
|
</div>
|
<style>
|
.blue-border {
|
border-left-color: #2db7f5;
|
font-size: 18px;
|
}
|
</style>
|
<script type="text/html" id="toolbar">
|
<div class="layui-btn-container">
|
<button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delSku">删除</button>
|
</div>
|
</script>
|
<!-- 表格操作栏 end -->
|
<script data-th-inline="javascript">
|
layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate', 'layedit', 'upload', 'element', 'table', 'xmSelect'], function () {
|
var $ = layui.jquery,
|
febs = layui.febs,
|
layer = layui.layer,
|
table = layui.table,
|
formSelects = layui.formSelects,
|
treeSelect = layui.treeSelect,
|
form = layui.form,
|
laydate = layui.laydate,
|
eleTree = layui.eleTree,
|
$view = $('#activity-discount-update'),
|
layedit = layui.layedit,
|
activity = [[${activity}]],
|
upload = layui.upload,
|
validate = layui.validate,
|
element = layui.element;
|
|
|
const E = window.wangEditor;
|
const editor = new E('#toolbar-container', '#text-container'); // 传入两个元素
|
editor.config.showLinkImg = false;
|
editor.config.uploadFileName = 'file';
|
editor.config.customUploadImg = function (files, insertImgFn) {
|
// files 是 input 中选中的文件列表
|
// insertImgFn 是获取图片 url 后,插入到编辑器的方法
|
// 上传图片,返回结果,将图片插入到编辑器中
|
for (let i = 0; i < files.length; i++){
|
var form = new FormData();
|
form.append("file", files[0]);
|
$.ajax({
|
url:'/admin/goods/uploadFileBase64',
|
type: "post",
|
processData: false,
|
contentType: false,
|
data: form,
|
dataType: 'json',
|
success(res) {
|
// 上传代码返回结果之后,将图片插入到编辑器中
|
insertImgFn(res.data.src, res.data.title, '')
|
}
|
})
|
}
|
};
|
editor.create();
|
|
laydate.render({
|
elem: '#febs-form-group-date-start',
|
type: 'datetime', // 选择器类型为日期时间
|
format: 'yyyy-MM-dd HH:mm:ss' // 自定义格式
|
});
|
|
laydate.render({
|
elem: '#febs-form-group-date-end',
|
type: 'datetime', // 选择器类型为日期时间
|
format: 'yyyy-MM-dd HH:mm:ss' // 自定义格式
|
});
|
|
formSelects.render();
|
|
let activityGroup = xmSelect.render({
|
el: '#activity-group',
|
language: 'zn',
|
prop : {
|
value : 'id',
|
children : 'child'
|
},
|
iconfont: {
|
parent: 'hidden',
|
},
|
tips: '请选择',
|
filterable: true,
|
radio: true,
|
clickClose: true,
|
tree: {
|
show: true,
|
//非严格模式
|
strict: false,
|
},
|
data: []
|
})
|
|
febs.get(ctx + 'admin/happyActivity/allGroup', null, function(res) {
|
activityGroup.update({
|
data : res.data,
|
autoRow: true,
|
});
|
|
initActivityValue();
|
})
|
|
//图片上传
|
upload.render({
|
elem: '#test1Max'
|
,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
,accept: 'file' //普通文件
|
,size: 10240 //限制文件大小,单位 KB
|
,before: function(obj){
|
//预读本地文件示例,不支持ie8
|
obj.preview(function(index, file, result){
|
$('#demo1Max').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
|
});
|
}
|
,done: function(res){
|
$("#indexImg").val(res.data.src);
|
}
|
});
|
|
//图片上传
|
upload.render({
|
elem: '#testMax'
|
,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
,accept: 'file' //普通文件
|
,size: 10240 //限制文件大小,单位 KB
|
,before: function(obj){
|
//预读本地文件示例,不支持ie8
|
obj.preview(function(index, file, result){
|
$('#demoMax').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
|
});
|
}
|
,done: function(res){
|
$("#backImg").val(res.data.src);
|
}
|
});
|
|
|
function initActivityValue() {
|
if (!activity) {
|
console.warn("activity 数据为空,无法初始化表单!");
|
return;
|
}
|
|
form.val("activity-discount-update-form", {
|
"id": activity.id,
|
"name": activity.name,
|
"type": activity.type,
|
"joinCnt": activity.joinCnt,
|
"startTime": activity.startTime,
|
"endTime": activity.endTime,
|
"phone": activity.phone,
|
"address": activity.address,
|
"payState": activity.payState,
|
"payAmount": activity.payAmount,
|
"orderCnt": activity.orderCnt,
|
"hotState": activity.hotState,
|
"voteCnt": activity.voteCnt,
|
"addState": activity.addState,
|
});
|
$('#demoMax').append('<img src="' + activity.backImg + '" alt="" class="layui-upload-img single-image" style="width: 130px">');
|
$("#backImg").val(activity.backImg);
|
$('#demo1Max').append('<img src="' + activity.indexImg + '" alt="" class="layui-upload-img single-image" style="width: 130px">');
|
$("#indexImg").val(activity.indexImg);
|
|
var arr = [];
|
arr.push(activity.categoryId);
|
activityGroup.setValue(arr);
|
|
editor.txt.html(activity.textRemark);
|
}
|
|
|
|
form.on('submit(activity-discount-update-form-submit)', function (data) {
|
data.field.groupId = activityGroup.getValue('valueStr');
|
data.field.introduce = editor.txt.html();
|
$.ajax({
|
'url':ctx + 'admin/happyActivity/activityUpdate',
|
'type':'post',
|
'dataType':'json',
|
'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, //接口json格式
|
'traditional': true,//ajax传递数组必须添加属性
|
'data':JSON.stringify(data.field),
|
'success':function (data) {
|
if(data.code==200){
|
layer.closeAll();
|
febs.alert.success(data.message);
|
$('#febs-activity').find('#reset').click();
|
}else{
|
febs.alert.warn(data.message);
|
}
|
},
|
'error':function () {
|
febs.alert.warn('服务器繁忙');
|
}
|
})
|
return false;
|
});
|
});
|
</script>
|