【增加】秒杀配置页面

This commit is contained in:
liqianjin 2023-02-28 10:23:20 +08:00
parent 0aa1f234ef
commit 85116901dd
2 changed files with 205 additions and 63 deletions

View File

@ -1,7 +1,7 @@
<?php
namespace addon\futures\shop\controller;
use addon\fenxiao\model\Config as ConfigModel;
use addon\futures\model\Futures;
use app\shop\controller\BaseShop;
class Config extends BaseShop{
@ -11,13 +11,13 @@ class Config extends BaseShop{
*/
public function basics()
{
$model = new ConfigModel();
$model = new Futures();
if (request()->isAjax()) {
$res = $model->setFenxiaoBasicsConfig($this->request->param(), 1, $this->site_id);
$res = $model->setBasicsConfig(request()->param(), 1, $this->site_id);
return $res;
} else {
$basics = $model->getFenxiaoBasicsConfig($this->site_id);
$basics = $model->getBasicsConfig($this->site_id);
$this->assign("info", $basics[ 'data' ][ 'value' ]);
$this->forthMenu();

View File

@ -9,52 +9,109 @@
</style>
{/block}
{block name="main"}
<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 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>
</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="22%" />
<col width="22%" />
<col width="22%" />
<col width="22%" />
<!-- <col width="12%" />-->
</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>操作</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="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 time-type-view-all" >
<label class="layui-form-label">秒杀时间:</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="startTime" lay-verify="start_time" placeholder="秒杀开始时间" value="" readonly >
<input type="hidden" class="layui-input" name="start_time" placeholder="秒杀开始时间" value="{$info.start_time}">
</div>
<div class="layui-form-mid layui-word-aux">~</div>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="endTime" lay-verify="end_time" placeholder="自提结束时间" value="" readonly >
<input type="hidden" class="layui-input" name="end_time" placeholder="秒杀结束时间" value="{$info.end_time}">
</div>
<div class="form-row">
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
<!-- <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>-->
</div>
</div>
<div class="form-row">
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
<!-- <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>-->
<a id="storeImage"></a>
</div>
</div>
{/block}
{block name="script"}
<script>
@ -64,6 +121,32 @@
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="5" 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;
@ -71,28 +154,87 @@
form.render();
//时间选择器
laydate.render({
elem: '#startTime'
, type: 'time'
,value: "{:date('H:i:s', strtotime(date('Y-m-d')) + $info.start_time)}"
,done: function(value, date, endDate){
var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
$("input[name=start_time]").val(time);
}
addNewAttr = function (times){
var html = '<tr class="goods-attr-tr goods-new-attr-tr">' +
'<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>';
});
//时间选择器
laydate.render({
elem: '#endTime'
, type: 'time'
,value: "{:date('H:i:s', strtotime(date('Y-m-d')) + $info.end_time)}"
,done: function(value, date, endDate){
var time = date.hours * 3600 + date.minutes * 60 + date.seconds;
$("input[name=end_time]").val(time);
}
});
$(".attr-new").append(html);
isNullTable();
console.log(times.miaosha_start_time,getData(times.miaosha_start_time))
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' + ($('.goods-attr-tr').length - 1)).val(time);
}
});
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' + ($('.goods-attr-tr').length - 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' + ($('.goods-attr-tr').length - 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' + ($('.goods-attr-tr').length - 1)).val(time);
}
});
}
<?php if (isset($info['times'])){ ?>
{foreach name="info.times" item="vo"}
addNewAttr({
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({
miaosha_start_time: 0,
miaosha_end_time: 0,
jianlou_start_time: 0,
jianlou_end_time: 0,
})
<?php } ?>
form.verify({
start_time: function(value, item){ //value表单的值、item表单的DOM对象
var end_time = $("input[name=end_time]").val();
@ -145,7 +287,7 @@
form.on('submit(save)', function(data){
if(repeat_flag) return;
repeat_flag = true;
console.log(data)
$.ajax({
type : "POST",
dataType: 'JSON',