599 lines
23 KiB
JavaScript
599 lines
23 KiB
JavaScript
<!DOCTYPE html>
|
||
<html>
|
||
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title></title>
|
||
<meta name="renderer" content="webkit">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||
<link rel="stylesheet" href="../../lib/layui-v2.5.5/css/layui.css" media="all">
|
||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||
</head>
|
||
|
||
<body>
|
||
<div class="layuimini-container">
|
||
<div class="layuimini-main">
|
||
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
|
||
<legend>礼物添加</legend>
|
||
</fieldset>
|
||
<form class="layui-form" action="" lay-filter="MyForm" autocomplete="off">
|
||
<input type="hidden" name="gid" value="" lay-verify="required" class="layui-input" />
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">礼物名称</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="gift_name" value="" lay-verify="required" class="layui-input" />
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">礼物价格</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="gift_price" value="" lay-verify="required" class="layui-input" />
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label ">标签</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="tag_name" value="" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">
|
||
礼物类型
|
||
</label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" name="type" lay-filter="type" value="1" title="普通礼物" checked>
|
||
<input type="radio" name="type" lay-filter="type" value="3" title="情侣礼物">
|
||
<!--<input type="radio" name="type" lay-filter="type" value="4" title="幸运礼物">-->
|
||
<input type="radio" name="type" lay-filter="type" value="5" title="盲盒">
|
||
<input type="radio" name="type" lay-filter="type" value="6" title="爵位礼物">
|
||
<input type="radio" name="type" lay-filter="type" value="7" title="麦位礼物">
|
||
<input type="radio" name="type" lay-filter="type" value="8" title="挂件礼物">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item" id="nobility_div">
|
||
<label class="layui-form-label required">选择爵位</label>
|
||
<div class="layui-input-inline">
|
||
<select name="nid" lay-filter="nid">
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item" id="multiple_div">
|
||
<label class="layui-form-label required">选择倍率</label>
|
||
<div class="layui-input-inline">
|
||
<select name="mid" lay-filter="mid">
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item" id="position_div">
|
||
<label class="layui-form-label required">选择礼物位置</label>
|
||
<div class="layui-input-inline">
|
||
<select name="position" lay-filter="position">
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">二级密码</label>
|
||
<div class="layui-input-inline">
|
||
<input type="password" name="secondary_password" value="" lay-verify="required" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label ">礼物展示图</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="base_image" value="" id="base_image" class="layui-input layui-hide">
|
||
<img src="../../images/bg.jpg" id="base_image_image" height="100px" width="100px">
|
||
|
||
<div class="layui-upload" style="margin-top: 10px;">
|
||
<button type="button" class="layui-btn" id="test1">上传图片</button>
|
||
<div class="layui-upload-list">
|
||
<img class="layui-upload-img" id="demo1">
|
||
<p id="demoText"></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">特效文件类型</label>
|
||
<div class="layui-input-inline">
|
||
<input type="radio" name="file_type" lay-filter="file_type" value="1" title="SVGA" checked />
|
||
<input type="radio" name="file_type" lay-filter="file_type" value="2" title="MP4" />
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item" id="play_image_div" style="display:block;">
|
||
<label class="layui-form-label ">礼物特效图(SVGA)</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="play_image" value="" id="play_image" class="layui-input layui-hide">
|
||
<div id="demoCanvas" class="layui-upload-img" style="height: 300px;display: none;">
|
||
</div>
|
||
<div class="layui-upload" style="margin-top: 10px;">
|
||
<button type="button" class="layui-btn" id="test2">上传文件</button>
|
||
<div class="layui-upload-list">
|
||
|
||
<p id="demoText"></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item" id="plays_images_div" style="display:block;">
|
||
<label class="layui-form-label ">礼物特效图(MP4)</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="plays_image" value="" id="plays_images" class="layui-input layui-hide">
|
||
<div class="layui-upload" style="margin-top: 10px;">
|
||
<button type="button" class="layui-btn" id="test3">上传文件</button>
|
||
<div class="layui-upload-list">
|
||
|
||
<p id="demoText"></p>
|
||
</div>
|
||
</div>
|
||
<div style="float: left; margin-left: 10px;">
|
||
<video width="500" height="300" id="preview_play_image_vap" src="" controls>
|
||
|
||
</video>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item" id="pendant_images_div" style="display:block;">
|
||
<label class="layui-form-label ">挂件图(MP4)</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="pendant_image" value="" id="pendant_images" class="layui-input layui-hide">
|
||
<div class="layui-upload" style="margin-top: 10px;">
|
||
<button type="button" class="layui-btn" id="test4">上传文件</button>
|
||
<div class="layui-upload-list">
|
||
|
||
<p id="demoText"></p>
|
||
</div>
|
||
</div>
|
||
<div style="float: left; margin-left: 10px;">
|
||
<video width="500" height="300" id="preview_plays_image_vap" src="" controls>
|
||
|
||
</video>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">是否有特效</label>
|
||
<div class="layui-input-inline">
|
||
<input type="radio" name="gift_type" value="1" title="无" checked />
|
||
<input type="radio" name="gift_type" value="2" title="有" />
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">公屏播报</label>
|
||
<div class="layui-input-inline">
|
||
<input type="radio" name="is_public_screen" value="1" title="是" checked />
|
||
<input type="radio" name="is_public_screen" value="2" title="否" />
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">全服播报</label>
|
||
<div class="layui-input-inline">
|
||
<input type="radio" name="is_public_server" value="1" title="是" checked />
|
||
<input type="radio" name="is_public_server" value="2" title="否" />
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">购买状态</label>
|
||
<div class="layui-input-inline">
|
||
<input type="radio" name="is_can_buy" value="1" title="是" checked />
|
||
<input type="radio" name="is_can_buy" value="2" title="否" />
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label required">显示状态</label>
|
||
<div class="layui-input-inline">
|
||
<input type="radio" name="is_show" value="1" title="是" checked />
|
||
<input type="radio" name="is_show" value="2" title="否" />
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">排序</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="sort" value="0" lay-verify="required" class="layui-input" />
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit lay-filter="saveBtn">确认保存</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
|
||
<script src="../../common/common.js" charset="utf-8"></script>
|
||
<script src="../../extend/svgaplayerweb@2.3.1/svga.min.js" charset="utf-8"></script>
|
||
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
|
||
|
||
<script>
|
||
layui.use(['form', 'table'], function () {
|
||
var form = layui.form,
|
||
layer = layui.layer,
|
||
table = layui.table,
|
||
$ = layui.$;
|
||
/**
|
||
* 初始化表单,要加上,不然刷新部分组件可能会不加载
|
||
*/
|
||
form.render();
|
||
// 当前弹出层,防止ID被覆盖
|
||
var parentIndex = layer.index;
|
||
var roomInfo;
|
||
$("#nobility_div").hide();
|
||
$("#multiple_div").hide();
|
||
$("#pendant_images_div").hide();
|
||
$('#position_div').hide();
|
||
$.post(WebHost + "Gift/gift_info", {
|
||
"login_token": AdminLoginToken,
|
||
"gid": parent.Id,
|
||
}, function (data) {
|
||
if (data.code == 201) {
|
||
layer.msg(data.msg, { time: 1000 }, function () {
|
||
});
|
||
} else {
|
||
roomInfo = data.data;
|
||
|
||
if(roomInfo.type == 6){
|
||
$("#nobility_div").show();
|
||
}
|
||
|
||
if(roomInfo.type == 4){
|
||
$("#multiple_div").show();
|
||
}
|
||
if(roomInfo.type == 7){
|
||
$("#position_div").show();
|
||
}
|
||
if(roomInfo.type == 8){
|
||
$("#pendant_images_div").show();
|
||
$('#preview_plays_image_vap').attr('src', roomInfo.pendant_image_path);
|
||
}
|
||
|
||
$("#base_image_image").attr('src', roomInfo.http_base_image);
|
||
if (roomInfo.show_status == 2) {
|
||
$("#play_image_div").hide();
|
||
}
|
||
if(roomInfo.file_type == 1){
|
||
$("#plays_images_div").hide();
|
||
$("#demoCanvas").show();
|
||
var player = new SVGA.Player('#demoCanvas');
|
||
var parser = new SVGA.Parser('#demoCanvas'); // 如果你需要支持 IE6+,那么必须把同样的选择器传给 Parser。
|
||
parser.load(roomInfo.http_play_image, function (videoItem) {
|
||
player.setVideoItem(videoItem);
|
||
player.startAnimation();
|
||
})
|
||
}else{
|
||
$("#play_image_div").hide();
|
||
$('#preview_play_image_vap').attr('src', roomInfo.http_play_image);
|
||
}
|
||
|
||
// $("#reg_code_path_img").attr('src',roomInfo.reg_code_path);
|
||
form.val('MyForm', roomInfo)
|
||
}
|
||
}, "json");
|
||
|
||
//监听提交
|
||
form.on('submit(saveBtn)', function (data) {
|
||
data.field.login_token = AdminLoginToken
|
||
$.post(
|
||
WebHost + 'Gift/edit_gift',
|
||
data.field,
|
||
function (data, textStatus, jqXHR) {
|
||
if (data.code == 200) {
|
||
parent.layui.table.reload('currentTableId', {}, 'json');//刷新父级页面
|
||
}
|
||
layer.msg(data.msg, { time: 1000 }, function () {
|
||
|
||
});
|
||
|
||
},
|
||
"json"
|
||
);
|
||
// var index = layer.alert(JSON.stringify(data.field), {
|
||
// title: '最终的提交信息'
|
||
// }, function () {
|
||
// // 关闭弹出层
|
||
// layer.close(index);
|
||
// layer.close(parentIndex);
|
||
// });
|
||
return false;
|
||
});
|
||
|
||
|
||
form.on("radio(type)", function (data) {
|
||
var value = data.value;
|
||
if (value == 6) {
|
||
$("#nobility_div").show();
|
||
} else {
|
||
$("#nobility_div").hide();
|
||
}
|
||
|
||
if (value == 4) {
|
||
$("#multiple_div").show();
|
||
} else {
|
||
$("#multiple_div").hide();
|
||
}
|
||
|
||
if(value == 7){
|
||
$("#position_div").show();
|
||
}else{
|
||
$("#position_div").hide();
|
||
}
|
||
|
||
if(value == 8){
|
||
$("#pendant_images_div").show();
|
||
}else{
|
||
$("#pendant_images_div").hide();
|
||
}
|
||
});
|
||
|
||
form.on("radio(file_type)", function (data) {
|
||
var value = data.value;
|
||
if (value == 2) {
|
||
$("#play_image_div").hide();
|
||
$("#plays_images_div").show();
|
||
} else {
|
||
$("#play_image_div").show();
|
||
$("#plays_images_div").hide();
|
||
}
|
||
});
|
||
|
||
|
||
initNobilitySelect();
|
||
function initNobilitySelect() {
|
||
$.ajax({
|
||
type: "POST",
|
||
url: WebHost + "nobility/get_nobility_list",
|
||
data: { "login_token": AdminLoginToken, "limit": 999 },
|
||
dataType: "json",
|
||
async: false,
|
||
success: function (data) {
|
||
var list = data.data;
|
||
$("select[name='nid']").html('');
|
||
var option = document.createElement("option");
|
||
option.setAttribute("value", 0);
|
||
option.innerText = '请选择爵位';
|
||
$("select[name='nid']").append(option)
|
||
if (list != null || list.size() > 0) {
|
||
for (var c in list) {
|
||
var option = document.createElement("option");
|
||
option.setAttribute("value", list[c].lid);
|
||
option.innerText = list[c].name;
|
||
$("select[name='nid']").append(option)
|
||
}
|
||
};
|
||
form.render();
|
||
}
|
||
});
|
||
}
|
||
|
||
initPositionSelect();
|
||
function initPositionSelect() {
|
||
$.ajax({
|
||
type: "POST",
|
||
url: WebHost + "gift/get_gift_position_list",
|
||
data: { "login_token": AdminLoginToken, "limit": 999 },
|
||
dataType: "json",
|
||
async: false,
|
||
success: function (data) {
|
||
var list = data.data;
|
||
$("select[name='position']").html('');
|
||
var option = document.createElement("option");
|
||
option.setAttribute("value", 0);
|
||
option.innerText = '请选择礼物位置';
|
||
$("select[name='position']").append(option)
|
||
if (list != null || list.size() > 0) {
|
||
for (var c in list) {
|
||
var option = document.createElement("option");
|
||
option.setAttribute("value", list[c].id);
|
||
option.innerText = list[c].name;
|
||
$("select[name='position']").append(option)
|
||
}
|
||
};
|
||
form.render();
|
||
}
|
||
});
|
||
}
|
||
|
||
initMultipleSelect();
|
||
function initMultipleSelect() {
|
||
$.ajax({
|
||
type: "POST",
|
||
url: WebHost + "multiple/get_gift_multiple_type_list",
|
||
data: { "login_token": AdminLoginToken, "limit": 999 },
|
||
dataType: "json",
|
||
async: false,
|
||
success: function (data) {
|
||
var list = data.data;
|
||
$("select[name='mid']").html('');
|
||
var option = document.createElement("option");
|
||
option.setAttribute("value", 0);
|
||
option.innerText = '请选择倍率类型';
|
||
$("select[name='mid']").append(option)
|
||
if (list != null || list.size() > 0) {
|
||
for (var c in list) {
|
||
var option = document.createElement("option");
|
||
option.setAttribute("value", list[c].id);
|
||
option.innerText = list[c].name;
|
||
$("select[name='mid']").append(option)
|
||
}
|
||
};
|
||
form.render();
|
||
}
|
||
});
|
||
}
|
||
|
||
});
|
||
</script>
|
||
|
||
<script>
|
||
layui.use('upload', function () {
|
||
var $ = layui.jquery
|
||
, upload = layui.upload;
|
||
|
||
//普通图片上传
|
||
var uploadInst = upload.render({
|
||
elem: '#test1'
|
||
, url: WebHost + "Upload/file_upload"//改成您自己的上传接口
|
||
, data: {
|
||
"login_token": AdminLoginToken,
|
||
"file_category": "gift"
|
||
}
|
||
, before: function (obj) {
|
||
//预读本地文件示例,不支持ie8
|
||
obj.preview(function (index, file, result) {
|
||
$('#base_image_image').attr('src', result); //图片链接(base64)
|
||
});
|
||
}
|
||
, done: function (res) {
|
||
//如果上传失败
|
||
if (res.code == 201) {
|
||
return layer.msg('上传失败');
|
||
}
|
||
//上传成功
|
||
|
||
$('#base_image').val(res.data.image_path); //图片链接(base64)
|
||
}
|
||
, error: function () {
|
||
//演示失败状态,并实现重传
|
||
var demoText = $('#demoText');
|
||
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||
demoText.find('.demo-reload').on('click', function () {
|
||
uploadInst.upload();
|
||
});
|
||
}
|
||
});
|
||
|
||
//普通文件上传
|
||
var uploadInst = upload.render({
|
||
elem: '#test2'
|
||
, url: WebHost + "Upload/file_upload"//改成您自己的上传接口
|
||
, data: {
|
||
"login_token": AdminLoginToken,
|
||
"file_category": "gift"
|
||
}
|
||
, accept: 'file' //普通文件
|
||
, exts: 'svga' //只允许上传压缩文件
|
||
, before: function (obj) {
|
||
//
|
||
}
|
||
, done: function (res) {
|
||
//如果上传失败
|
||
if (res.code == 201) {
|
||
return layer.msg('上传失败');
|
||
}
|
||
//上传成功
|
||
$('#play_image').val(res.data.image_path); //图片链接(base64)
|
||
|
||
var player = new SVGA.Player('#demoCanvas');
|
||
var parser = new SVGA.Parser('#demoCanvas'); // 如果你需要支持 IE6+,那么必须把同样的选择器传给 Parser。
|
||
parser.load(res.data.http_image_path, function (videoItem) {
|
||
player.setVideoItem(videoItem);
|
||
player.startAnimation();
|
||
})
|
||
|
||
}
|
||
, error: function () {
|
||
//演示失败状态,并实现重传
|
||
var demoText = $('#demoText');
|
||
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||
demoText.find('.demo-reload').on('click', function () {
|
||
uploadInst.upload();
|
||
});
|
||
}
|
||
});
|
||
|
||
//普通文件上传
|
||
var uploadInst = upload.render({
|
||
elem: '#test3'
|
||
, url: WebHost + "Upload/file_upload"//改成您自己的上传接口
|
||
, data: {
|
||
"login_token": AdminLoginToken,
|
||
"file_category": "gift"
|
||
}
|
||
, accept: 'file' //普通文件
|
||
, exts: 'mp4' //只允许上传压缩文件
|
||
, before: function (obj) {
|
||
//
|
||
}
|
||
, done: function (res) {
|
||
//如果上传失败
|
||
if (res.code == 201) {
|
||
return layer.msg('上传失败');
|
||
}
|
||
//上传成功
|
||
$('#plays_images').val(res.data.image_path); //图片链接(base64)
|
||
$('#preview_play_image_vap').attr('src', res.data.http_image_path);
|
||
|
||
}
|
||
, error: function () {
|
||
//演示失败状态,并实现重传
|
||
var demoText = $('#demoText');
|
||
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||
demoText.find('.demo-reload').on('click', function () {
|
||
uploadInst.upload();
|
||
});
|
||
}
|
||
});
|
||
|
||
//普通文件上传
|
||
var uploadInst = upload.render({
|
||
elem: '#test4'
|
||
, url: WebHost + "Upload/file_upload"//改成您自己的上传接口
|
||
, data: {
|
||
"login_token": AdminLoginToken,
|
||
"file_category": "gift"
|
||
}
|
||
, accept: 'file' //普通文件
|
||
, exts: 'mp4' //只允许上传压缩文件
|
||
, before: function (obj) {
|
||
//
|
||
}
|
||
, done: function (res) {
|
||
//如果上传失败
|
||
if (res.code == 201) {
|
||
return layer.msg('上传失败');
|
||
}
|
||
//上传成功
|
||
$('#pendant_images').val(res.data.image_path); //图片链接(base64)
|
||
$('#preview_plays_image_vap').attr('src', res.data.http_image_path);
|
||
|
||
}
|
||
, error: function () {
|
||
//演示失败状态,并实现重传
|
||
var demoText = $('#demoText');
|
||
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||
demoText.find('.demo-reload').on('click', function () {
|
||
uploadInst.upload();
|
||
});
|
||
}
|
||
});
|
||
|
||
});
|
||
</script>
|
||
|
||
|
||
</body>
|
||
|
||
</html> |