admin/addon/futures/shop/view/config/basics.html

550 lines
28 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{extend name="app/shop/view/base.html"/}
{block name="resources"}
<style>
#container{ width: 650px; height: 500px; }
#container > div {z-index: 500!important}
.empty-address{ display: none; }
.address-content {display: inline-block;vertical-align: top;}
.form-wrap {margin-top: 0;}
</style>
{/block}
{block name="main"}
<div class="layui-form form-wrap">
<!-- 基础上传 -->
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">秒杀时间设置</span>
</div>
<div class="layui-card-body">
<!-- <div class="layui-form-item time-view">-->
<!-- <div class="layui-inline">-->
<!-- <label class="layui-form-label">秒杀日期:</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input type="radio" name="time_type" value="0" title="每天" lay-filter="time_type" {//if !isset($info.time_type) || $info.time_type== 0}checked{/if}/>-->
<!-- <input type="radio" name="time_type" value="1" title="自定义" lay-filter="time_type" {//if !isset($info.time_type) || $info.time_type== 1 }checked{/if}/>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div class="time-view">
<div class="layui-form-item time-type-view" lay-verify="time_week">
<div class="layui-inline">
<label class="layui-form-label"></label>
<div class="layui-input-inline">
<input type="checkbox" value="1" class='time-week' name="time_week[]" title="周一"
lay-skin="primary" {if !empty($info.time_week) && in_array(1,$info.time_week)}
checked {/if}>
<input type="checkbox" value="2" class='time-week' name="time_week[]" title="周二"
lay-skin="primary" {if !empty($info.time_week) && in_array(2,$info.time_week)}
checked {/if}>
<input type="checkbox" value="3" class='time-week' name="time_week[]" title="周三"
lay-skin="primary" {if !empty($info.time_week) && in_array(3,$info.time_week)}
checked {/if}>
<input type="checkbox" value="4" class='time-week' name="time_week[]" title="周四"
lay-skin="primary" {if !empty($info.time_week) && in_array(4,$info.time_week)}
checked {/if}>
<input type="checkbox" value="5" class='time-week' name="time_week[]" title="周五"
lay-skin="primary" {if !empty($info.time_week) && in_array(5,$info.time_week)}
checked {/if}>
<input type="checkbox" value="6" class='time-week' name="time_week[]" title="周六"
lay-skin="primary" {if !empty($info.time_week) && in_array(6,$info.time_week)}
checked {/if}>
<input type="checkbox" value="0" class='time-week' name="time_week[]" title="周日"
lay-skin="primary" {if !empty($info.time_week) && in_array(0,$info.time_week)}
checked {/if}>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>秒杀时间段设置:</label>
</div>
<div class="layui-form-item js-new-attr-list">
<label class="layui-form-label"></label>
<div class="layui-input-block">
<div class="layui-form">
<table class="layui-table">
<colgroup>
<col width="18%" />
<col width="18%" />
<col width="18%" />
<col width="18%" />
<col width="18%" />
<col width="10%" />
</colgroup>
<thead>
<tr>
<th><span class="required">*</span>秒杀提前开始时间</th>
<th><span class="required">*</span>秒杀开始时间</th>
<th><span class="required">*</span>秒杀结束时间</th>
<th><span class="required">*</span>捡漏开始时间</th>
<th><span class="required">*</span>捡漏结束时间</th>
<th>操作</th>
</tr>
</thead>
<tbody class="attr-new">
<tr class="null-data">
<td colspan="5" align="center">无数据</td>
</tr>
</tbody>
</table>
</div>
<button class="layui-btn layui-btn-primary"
onclick="addNewAttr({
miaosha_start_time: 0,
miaosha_end_time: 0,
jianlou_start_time: 0,
jianlou_end_time: 0,
})">添加时间段</button>
</div>
</div>
<div class="layui-form-item time-type-view-all" >
<label class="layui-form-label">上架后可秒杀延迟时间:</label>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="release_wait" placeholder="上架后可秒杀延迟时间" value="<?= !isset($info['release_wait']) ? '' :$info['release_wait'] ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
</div>
</div>
<div class="layui-card-header">
<span class="card-title">抢购设置</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">订单数限制:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="number" name="order_restrictions_num" class="layui-input ns-len-mid" value="{$info.order_restrictions_num ?? 0}" />
</div>
</div>
<div class="word-aux ">达到订单数限制后,进行提货恢复限制数</div>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">首单送积分:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="number" name="give_integral" class="layui-input ns-len-mid" value="{$info.give_integral ?? 0}" />
</div>
</div>
<div class="word-aux ">用户抢购首单送积分</div>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">新用户赠送钻石:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="number" name="newuser_points" class="layui-input ns-len-mid" value="{$info.newuser_points??0}" />
</div>
</div>
<div class="word-aux ">新用户赠送积分</div>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">下单赠送积分:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="number" name="order_give_points_ratio" class="layui-input ns-len-mid" value="{$info.order_give_points_ratio??0}" />
</div>
<div class="layui-form-mid">%</div>
</div>
<div class="word-aux ">下单赠送积分,得消费额百分比,系统自动取整</div>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form-item time-type-view-all" >
<label class="layui-form-label">价格涨幅区间设置:</label>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="price_range[min]" placeholder="最小涨幅" value="<?= empty($info['price_range']) ? '' :$info['price_range']['min'] ?>">
</div>
<div class="layui-form-mid layui-word-aux">%</div>
<div class="layui-form-mid layui-word-aux">~</div>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="price_range[max]" placeholder="最大涨幅" value="<?= empty($info['price_range']) ? '' : $info['price_range']['max'] ?>">
</div>
<div class="layui-form-mid layui-word-aux">%</div>
</div>
<div class="layui-form-item time-type-view-all" >
<label class="layui-form-label">建议出售价格比例:</label>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="proposed_range" value="<?= empty($info['proposed_range']) ? '' :$info['proposed_range'] ?>">
</div>
<div class="layui-form-mid layui-word-aux">%</div>
</div>
<div class="word-aux ">建议出售价格比例</div>
</div>
<div class="layui-card-body">
<div class="layui-form-item time-type-view-all" >
<label class="layui-form-label">服务费比例设置:</label>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="service_price" placeholder="服务费比例" value="<?= !isset($info['service_price']) ? '' :$info['service_price'] ?>">
</div>
<div class="layui-form-mid layui-word-aux">%</div>
</div>
<div class="word-aux ">商家出售商品担保交易费用,包含计算服务费商家佣金</div>
<div class="layui-form-item time-type-view-all" >
<label class="layui-form-label">技术服务费:</label>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="technical_range" placeholder="" value="<?= !isset($info['technical_range']) ? '' :$info['technical_range'] ?>">
</div>
<div class="layui-form-mid layui-word-aux">%</div>
</div>
<div class="word-aux ">服务费拆分,用于区分服务费费用名目</div>
<div class="layui-form-item time-type-view-all" >
<label class="layui-form-label">订单商品数量最大翻倍次数:</label>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="order_total_double_times" placeholder="订单商品数量最大翻倍次数" value="<?= !isset($info['order_total_double_times']) ? '' :$info['order_total_double_times'] ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="word-aux ">订单发布时超过单订单数量最大翻倍次数时进行拆单</div>
<div class="layui-form-item time-type-view-all" >
<label class="layui-form-label">拆单后订单数量:</label>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="split_order_num" placeholder="拆单后订单数量" value="<?= !isset($info['split_order_num']) ? '' :$info['split_order_num'] ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="word-aux ">拆单后订单数量</div>
</div>
</div>
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">推广奖励</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item time-type-view-all">
<label class="layui-form-label"><span class="required">*</span>直推:</label>
<div class="layui-input-inline">
<input type="number" min="0" name="direct_push" value="{$info.direct_push ?? 0}" autocomplete="off" class="layui-input len-short">
</div>
<div class="layui-form-mid">%</div>
</div>
<div class="word-aux">
<p>会员购买后给对应推广商的返佣比例</p>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form-item ">
<label class="layui-form-label"><span class="required">*</span>间推:</label>
<div class="layui-input-inline">
<input type="number" min="0" name="indirect_push" value="{$info.indirect_push ?? 0}" autocomplete="off" class="layui-input len-short">
</div>
<div class="layui-form-mid">%</div>
</div>
<div class="word-aux">
<p>会员购买后给对应推广商的返佣比例</p>
</div>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">是否极差:</label>
<div class="layui-input-block">
<input type="checkbox" name="is_range" value="1" lay-skin="switch" {if $info.is_range??0} checked {/if} >
</div>
<div class="word-aux ">开启极差间推奖励扣除直荐奖励</div>
</div>
</div>
</div>
<!-- 违规设置 -->
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">违规设置</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">未支付次数:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="number" name="violation_unpaid" class="layui-input ns-len-mid" value="{$info.violation_unpaid ?? 0}" />
</div>
</div>
<div class="word-aux ">用户在秒杀专区购买商品后,多少次为支付则进行违规惩罚!</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">惩罚时间:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="number" name="violation_hour" class="layui-input ns-len-mid" value="{$info.violation_hour ?? 0}" />
</div>
<div class="layui-form-mid">小时</div>
</div>
<div class="word-aux ">惩罚时间内不能进入抢购专区</div>
</div>
</div>
</div>
<!-- 自动回购设置 -->
<div class="layui-card card-common card-brief">
<div class="layui-card-header">
<span class="card-title">自动回购设置</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">是否开启自动回购:</label>
<div class="layui-input-block">
<input type="checkbox" name="auto_buyback" value="1" lay-skin="switch" {if isset($info['auto_buyback']) && $info['auto_buyback'] == 1} checked {/if} lay-filter="auto_buyback">
</div>
<div class="word-aux ">秒杀/捡漏结束自动回购</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">秒杀/捡漏结束前几分钟开始自动回购:</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="number" name="auto_buyback_time" class="layui-input ns-len-mid" value="{$info.auto_buyback_time ?? 0}" />
</div>
<div class="layui-form-mid">分钟</div>
</div>
<div class="word-aux ">秒杀/捡漏结束前几分钟开始自动回购</div>
</div>
</div>
</div>
<div class="form-row">
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
</div>
</div>
{/block}
{block name="script"}
<script>
var form, repeat_flag, map_class;
var saveData = null;
var totalUploadNum = 0;
var completeUploadNum = 0;
var upload;
// 删除属性
function delAttr(obj) {
$(obj).parents("tr").remove();
isNullTable();
}
// 属性表格是否为空
function isNullTable() {
var len = $(".attr-new .goods-attr-tr").length;
if (len == 0) {
$(".attr-new").html('<tr class="null-data"><td colspan="6" align="center">无数据</td></tr>');
} else {
$(".attr-new .null-data").remove();
}
}
function getData(n) {
let now = new Date(),
y = now.getFullYear(),
m = now.getMonth() + 1,
d = now.getDate();
let thisTime = new Date(Date.parse(y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d)) - 8 * 60 * 60 * 1000 + n * 1000)
return thisTime.toTimeString().substr(0, 8);
// return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
}
layui.use(['form','laydate'], function() {
var laydate = layui.laydate;
form = layui.form;
repeat_flag = false;//防重复标识
form.render();
addNewAttr = function (times = {
miaosha_early_start_time: 0,
miaosha_start_time: 0,
miaosha_end_time: 0,
jianlou_start_time: 0,
jianlou_end_time: 0,
}){
var html = '<tr class="goods-attr-tr goods-new-attr-tr">' +
'<td>' +
'<input type="text" class="layui-input" id="miaoshaEarlyStartTime' + $('.goods-attr-tr').length + '" placeholder="秒杀提前开始时间" value="" readonly >' +
'<input type="hidden" class="layui-input" id="miaoshaEarlyStartTimeInput' + $('.goods-attr-tr').length + '" name="times[' + $('.goods-attr-tr').length + '][miaosha_early_start_time]" placeholder="秒杀提前开始时间" value="' + times.miaosha_early_start_time + '">' +
'</td>' +
'<td>' +
'<input type="text" class="layui-input" id="miaoshaStartTime' + $('.goods-attr-tr').length + '" placeholder="秒杀开始时间" value="" readonly >' +
'<input type="hidden" class="layui-input" id="miaoshaStartTimeInput' + $('.goods-attr-tr').length + '" name="times[' + $('.goods-attr-tr').length + '][miaosha_start_time]" placeholder="秒杀开始时间" value="' + times.miaosha_start_time + '">' +
'</td>' +
'<td>' +
'<input type="text" class="layui-input" id="miaoshaEndTime' + $('.goods-attr-tr').length + '" placeholder="秒杀结束时间" value="" readonly >' +
'<input type="hidden" class="layui-input" id="miaoshaEndTimeInput' + $('.goods-attr-tr').length + '" name="times[' + $('.goods-attr-tr').length + '][miaosha_end_time]" placeholder="秒杀结束时间" value="' + times.miaosha_end_time + '">' +
'</td>' +
'<td>' +
'<input type="text" class="layui-input" id="jianlouStartTime' + $('.goods-attr-tr').length + '" placeholder="捡漏开始时间" value="" readonly >' +
'<input type="hidden" class="layui-input" id="jianlouStartTimeInput' + $('.goods-attr-tr').length + '" name="times[' + $('.goods-attr-tr').length + '][jianlou_start_time]" placeholder="捡漏开始时间" value="' + times.jianlou_start_time + '">' +
'</td>' +
'<td>' +
'<input type="text" class="layui-input" id="jianlouEndTime' + $('.goods-attr-tr').length + '" placeholder="捡漏结束时间" value="" readonly >' +
'<input type="hidden" class="layui-input" id="jianlouEndTimeInput' + $('.goods-attr-tr').length + '" name="times[' + $('.goods-attr-tr').length + '][jianlou_end_time]" placeholder="捡漏结束时间" value="' + times.jianlou_end_time + '">' +
'</td>' +
'<td>' +
'<div class="table-btn"><a class="layui-btn" onclick="delAttr(this)">删除</a></div>' +
'</td>' +
'</tr>';
$(".attr-new").append(html);
isNullTable();
laydate.render({
elem: '#miaoshaEarlyStartTime' + ($('.goods-attr-tr').length - 1)
, type: 'time'
,value: getData(times.miaosha_early_start_time)
,done: function(value, date, endDate){
var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
$('#miaoshaEarlyStartTimeInput' + this.elem.selector.substr(-1)).val(time);
}
});
console.log($('.goods-attr-tr').length)
laydate.render({
elem: '#miaoshaStartTime' + ($('.goods-attr-tr').length - 1)
, type: 'time'
,value: getData(times.miaosha_start_time)
,done: function(value, date, endDate){
var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
$('#miaoshaStartTimeInput' + this.elem.selector.substr(-1)).val(time);
}
});
console.log($('.goods-attr-tr').length)
laydate.render({
elem: '#miaoshaEndTime' + ($('.goods-attr-tr').length - 1)
, type: 'time'
,value: getData(times.miaosha_end_time)
,done: function(value, date, endDate){
var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
$('#miaoshaEndTimeInput' + this.elem.selector.substr(-1)).val(time);
}
});
laydate.render({
elem: '#jianlouStartTime' + ($('.goods-attr-tr').length - 1)
, type: 'time'
,value: getData(times.jianlou_start_time)
,done: function(value, date, endDate){
var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
$('#jianlouStartTimeInput' + this.elem.selector.substr(-1)).val(time);
}
});
laydate.render({
elem: '#jianlouEndTime' + ($('.goods-attr-tr').length - 1)
, type: 'time'
,value: getData(times.jianlou_end_time)
,done: function(value, date, endDate){
var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
$('#jianlouEndTimeInput' + this.elem.selector.substr(-1)).val(time);
}
});
}
<?php if (isset($info['times'])){ ?>
{foreach name="info.times" item="vo"}
addNewAttr({
miaosha_early_start_time: {$vo['miaosha_early_start_time']},
miaosha_start_time: {$vo['miaosha_start_time']},
miaosha_end_time: {$vo['miaosha_end_time']},
jianlou_start_time: {$vo['jianlou_start_time']},
jianlou_end_time: {$vo['jianlou_end_time']},
})
{/foreach}
<?php }else{ ?>
addNewAttr()
<?php } ?>
form.verify({
start_time: function(value, item){ //value表单的值、item表单的DOM对象
var end_time = $("input[name=end_time]").val();
var start_time = $("input[name=start_time]").val();
if(parseInt(start_time) > parseInt(end_time)){
return '营业开始时间不能大于自提结束时间';
}
},
end_time: function(value, item){ //value表单的值、item表单的DOM对象
var end_time = $("input[name=end_time]").val();
var start_time = $("input[name=start_time]").val();
if(parseInt(end_time) < parseInt(start_time)){
return '营业结束时间不能小于自提开始时间';
}
},
});
timeTypeChange($("input[name=time_type]:checked").val());
form.on('radio(time_type)', function(data){
timeTypeChange(data.value);
});
form.on('switch(pickup)', function(data){
if(data.elem.checked){
$('.time-view').removeClass('layui-hide')
}else{
$('.time-view').addClass('layui-hide')
}
});
/**
* 验证码
*/
form.verify({
required : function(value, item){
var msg = $(item).attr("placeholder") != undefined ? $(item).attr("placeholder") : '';
if(value == '') return msg;
},
time_week: function(){
if ($('[name="is_pickup"]').is(':checked') && $('[name="time_type"]:checked').val() == 1 && !$('.time-week:checked').length)
return '请选择可配送日期';
}
});
/**
* 监听提交
*/
form.on('submit(save)', function(data){
if(repeat_flag) return;
repeat_flag = true;
console.log(data)
$.ajax({
type : "POST",
dataType: 'JSON',
url : ns.url("futures://shop/config/basics"),
async : true,
data : data.field,
success : function(res) {
repeat_flag = false;
if (res.code == 0) {
location.reload();
// layer.confirm('编辑成功', {
// title: '操作提示',
// btn: ['返回列表', '继续操作'],
// yes: function() {
// location.href = ns.url("store://shop/store/lists")
// },
// btn2: function() {
// location.reload();
// }
// });
} else {
layer.msg(res.message);
}
}
})
});
});
function back() {
location.href = ns.url("store://shop/store/lists");
}
function timeTypeChange(type){
if(type == 1){
$('.time-type-view').show();
}else{
$('.time-type-view').hide();
}
}
</script>
{/block}