init: import production code mss.nahaichuan.com (exclude Runtime/Uploads/backups/logs)
这个提交包含在:
@@ -0,0 +1,399 @@
|
||||
<html>
|
||||
<!--[1.4.75]-->
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>编辑活动</title>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/layui/css/layui.css"/>
|
||||
<script src="__PUBLIC__/jquery/js/jquery-3.2.1.min.js"></script>
|
||||
<script src="__PUBLIC__/layui/layui.js"></script>
|
||||
<style>
|
||||
a {
|
||||
color: #38f;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#app {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: center;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.lefttitle {
|
||||
padding: 18px 60px 0 60px;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
font-size: 16px;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
background: url(__PUBLIC__/Retail/SecKill/titlebar.png) no-repeat;
|
||||
}
|
||||
|
||||
.main .image-box-show {
|
||||
min-height: 200px;
|
||||
background: #e5e5e5;
|
||||
line-height: 200px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.main .goods-header {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.main .goods-price {
|
||||
position: relative;
|
||||
padding: 10px 155px 10px 10px;
|
||||
width: 100%;
|
||||
min-height: 50px;
|
||||
background-color: #ff4343;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
line-height: inherit;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.main current-price {
|
||||
display: inline-block;
|
||||
color: #fff;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.main .current-price .price-title {
|
||||
position: absolute;
|
||||
top: -19px;
|
||||
left: 0;
|
||||
padding: 4px 8px;
|
||||
background-color: #ff4343;
|
||||
border-radius: 0 4px 0 0;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.main .current-price .price {
|
||||
display: inline-block;
|
||||
vertical-align: baseline;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.main .original-price {
|
||||
display: inline-block;
|
||||
line-height: 12px;
|
||||
text-decoration: line-through;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
vertical-align: middle;
|
||||
opacity: .6;
|
||||
}
|
||||
|
||||
.main .overview-countdown {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 3px;
|
||||
font-size: 12px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.Seckill {
|
||||
padding-bottom: 40px;
|
||||
width: 320px;
|
||||
box-shadow: 0px 0px 5px #3D4357;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.leftshow {
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.rightedit {
|
||||
width: 420px;
|
||||
margin-top: 50px;
|
||||
margin-left: 20px;
|
||||
box-shadow: 0px 0px 5px #3D4357;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
em.required {
|
||||
font-size: 16px;
|
||||
color: #f00;
|
||||
}
|
||||
|
||||
.required {
|
||||
margin-right: 2px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.config-title {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
line-height: 30px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
}
|
||||
|
||||
.footer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
float: left;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin-top: 50px;
|
||||
box-shadow: 1px 1px 40px rgba(0, 0, 0, 0.5);
|
||||
padding: 20px 0px;
|
||||
background-color: white;
|
||||
}
|
||||
.layui-form-label{
|
||||
width: 116px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<div class="leftshow">
|
||||
<div class="Seckill">
|
||||
<h1 class="lefttitle"><span>限时秒杀</span></h1>
|
||||
<div class="main">
|
||||
<div class="seckill-goods-preview">
|
||||
<div class="image-box-show">
|
||||
<img class="layui-upload-img" src="{$seckill_res['goods_img']}"
|
||||
style="width: 320px;height: 300px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="goods-header goods-activity">
|
||||
<div class="goods-price clearfix">
|
||||
<div class="current-price" style="color: #fff">
|
||||
<span class="price-title">{$seckill_res['name']}</span>¥
|
||||
<i class="price">{$seckill_res['spike_price']}</i>
|
||||
<div class="original-price">¥{$seckill_res['online_price']}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rightedit">
|
||||
<div>
|
||||
<div class="app-sidebar" style="margin-top: 0px;">
|
||||
<div class="arrow"></div>
|
||||
<div class="app-sidebar-inner js-sidebar-region">
|
||||
<div>
|
||||
<form class="layui-form" novalidate="">
|
||||
<input type="hidden" id="gid" value="">
|
||||
<h1 class="config-title">商品设置</h1>
|
||||
<div class="good-choose">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><em class="required">*</em>秒杀价格:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" id="goods_seckill_price"
|
||||
name="goods_seckill_price" autocomplete="off"
|
||||
value="{$seckill_res['spike_price']}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><em class="required">*</em>秒杀库存:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" id="active_limit_num"
|
||||
name="active_limit_num" autocomplete="off"
|
||||
value="{$seckill_res['stock']}" disabled
|
||||
style="color: #CCCCCC">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="config-title">基本规则</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><em class="required">*</em>开始时间:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" id="active_starttime" name="active_starttime"
|
||||
disabled style="color: #CCCCCC" value="{$seckill_res['start_time']}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><em class="required">*</em>结束时间:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" id="active_endtime" autocomplete="off"
|
||||
name="active_endtime" value="{$seckill_res['end_time']}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><em class="required">*</em>活动标题:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="active_title" id="active_title" required
|
||||
lay-verify="required" autocomplete="off" class="layui-input"
|
||||
value="{$seckill_res['name']}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><em class="required">*</em>单人限购总量:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="active_personal_limit_num" id="active_personal_limit_num"
|
||||
value="{$seckill_res['limit_num']}" required
|
||||
lay-verify="required" autocomplete="off" class="layui-input"
|
||||
placeholder="默认1次,0为不限制" onkeyup="value=value.replace(/[^\d]/g,'')">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><em class="required">*</em>单笔起购数量:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="rise_num" id="rise_num"
|
||||
value="{$seckill_res['rise_num']}" required
|
||||
lay-verify="required" autocomplete="off" class="layui-input"
|
||||
placeholder="起购数量,0为不限制" onkeyup="value=value.replace(/[^\d]/g,'')">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span
|
||||
style="color:red;">* </span><span>配送方式:</span></label>
|
||||
<div style="display: flex;align-items: center;">
|
||||
<input type="checkbox" lay-filter="send_type" lay-skin="primary" name="send_type"
|
||||
value="1" title="自提" <if condition="in_array('1',$seckill_res['send_type'])">checked</if>>
|
||||
<input type="checkbox" lay-filter="send_type" lay-skin="primary" name="send_type"
|
||||
value="2" title="配送" <if condition="in_array('2',$seckill_res['send_type'])">checked</if>>
|
||||
<input type="checkbox" lay-filter="send_type" lay-skin="primary" name="send_type"
|
||||
value="3" title="快递" <if condition="in_array('3',$seckill_res['send_type'])">checked</if>>
|
||||
</div>
|
||||
</div>
|
||||
<div id="template" class="layui-form-item" style="display: none">
|
||||
<label class="layui-form-label"><span
|
||||
style="color:red;">* </span><span>配送模板:</span></label>
|
||||
<div style="display: flex;align-items: center;">
|
||||
<select name="delivery_template_id" lay-filter="delivery_template" lay-search>
|
||||
<volist name="delivery_template" id="vo">
|
||||
<option value="{$vo.id}" <eq name="seckill_res.delivery_template_id" value="$vo.id">selected</eq>>{$vo.title}</option>
|
||||
</volist>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<button type="button" class="layui-btn" id="submit">提交</button>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script type="text/javascript" src="__PUBLIC__/retails/js/vue.js"></script>
|
||||
<script>
|
||||
layui.use(['form', 'layer', 'laydate'], function () {
|
||||
|
||||
//时间
|
||||
var form = layui.form;
|
||||
var laydate = layui.laydate;
|
||||
laydate.render({
|
||||
elem: '#active_endtime', //结束时间
|
||||
type: 'datetime'
|
||||
});
|
||||
var send_type = {$send_type};
|
||||
if(send_type.indexOf('3')!=-1){
|
||||
$('#template').show();
|
||||
}else{
|
||||
$('#template').hide();
|
||||
}
|
||||
|
||||
form.on('checkbox(send_type)', function (data) {
|
||||
var obj = data.elem;
|
||||
var index = send_type.indexOf(obj.value);
|
||||
if (obj.checked) {
|
||||
if (index == -1) {
|
||||
send_type.push(obj.value);
|
||||
}
|
||||
if(obj.value==3){
|
||||
$('#template').show();
|
||||
}
|
||||
} else {
|
||||
if (index != -1) {
|
||||
send_type.splice(index, 1);
|
||||
}
|
||||
if(obj.value==3){
|
||||
$('#template').hide();
|
||||
}
|
||||
}
|
||||
})
|
||||
form.on('select(delivery_template)',function (data) {
|
||||
console.log(data);
|
||||
})
|
||||
//提交
|
||||
$("#submit").click(function () {
|
||||
var gid = "{$seckill_res['gid']}";
|
||||
var id = "{$seckill_res['id']}";
|
||||
var goods_seckill_price = $('#goods_seckill_price').val();
|
||||
if (!goods_seckill_price) {
|
||||
layer.msg('请输入活动价格');
|
||||
return;
|
||||
}
|
||||
var active_endtime = $('#active_endtime').val();
|
||||
if (!active_endtime) {
|
||||
layer.msg('请输入结束时间');
|
||||
return;
|
||||
}
|
||||
var active_title = $('#active_title').val();
|
||||
if (!active_title) {
|
||||
layer.msg('请输入活动标题');
|
||||
return;
|
||||
}
|
||||
var active_personal_limit_num = $('#active_personal_limit_num').val();
|
||||
if (active_personal_limit_num < 0) {
|
||||
layer.msg('请输入正确的限购,默认1,0为不限制');
|
||||
return;
|
||||
}
|
||||
var rise_num = $("#rise_num").val();
|
||||
if(parseFloat(rise_num) < 0){
|
||||
layer.msg('请输入正确的起购数量,0为不限制');
|
||||
return;
|
||||
}
|
||||
if(parseFloat(rise_num) > parseFloat(active_personal_limit_num)){
|
||||
layer.msg('起购数量不能大于限购数量');
|
||||
return;
|
||||
}
|
||||
if (!send_type.length) {
|
||||
layer.msg('请选择配送方式');
|
||||
return;
|
||||
}
|
||||
if (!$("select[name='delivery_template_id']").val() && send_type.indexOf('3') != -1) {
|
||||
layer.msg('请选择配送模板');
|
||||
return;
|
||||
}
|
||||
var data = {
|
||||
id: id,
|
||||
gid: gid,
|
||||
goods_seckill_price: goods_seckill_price,
|
||||
active_endtime: active_endtime,
|
||||
active_title: active_title,
|
||||
active_personal_limit_num: active_personal_limit_num,
|
||||
rise_num: rise_num,
|
||||
send_type: send_type.join(','),
|
||||
delivery_template_id: $("select[name='delivery_template_id']").val(),
|
||||
}
|
||||
$('#submit').attr("disabled", "disabled");
|
||||
$.ajax({
|
||||
url: "{:U('update')}",
|
||||
type: "post",
|
||||
data: data,
|
||||
success: function (res) {
|
||||
// console.log(res);
|
||||
if (res.status == 1) {
|
||||
layer.msg(res.msg, {
|
||||
time: 1000, //2秒关闭(如果不配置,默认是3秒)
|
||||
icon: 1
|
||||
}, function () {
|
||||
parent.layer.closeAll();
|
||||
});
|
||||
} else {
|
||||
layer.msg(res.msg, {time: 1000, icon: 2});
|
||||
}
|
||||
$('#submit').removeAttr("disabled");
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
在新工单中引用
屏蔽一个用户