添加网站文件
This commit is contained in:
308
application/admin/view/bargain/activity.html
Normal file
308
application/admin/view/bargain/activity.html
Normal file
@@ -0,0 +1,308 @@
|
||||
{layout name="layout1" /}
|
||||
<style> .layui-table-cell { height: auto; } </style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<!-- 操作提示 -->
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<p>*设置参与砍价活动的商品。</p>
|
||||
<p>*生效的砍价活动商品需要满足两个条件,一是开启活动,二是在活动有效期内。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 搜索模块 -->
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label for="goods_name" class="layui-form-label">商品名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="goods_name" name="goods_name" placeholder="请输入" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label for="status" class="layui-form-label">砍价状态:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="status" id="status" >
|
||||
<option value="">全部</option>
|
||||
<option value="1">已开启</option>
|
||||
<option value="0">已关闭</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-article {$view_theme_color}" lay-submit lay-filter="search">
|
||||
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||
</button>
|
||||
<button class="layui-btn layui-btn-sm layui-btn-primary layuiadmin-btn-article }" lay-submit lay-filter="clear-search">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 数据表格 -->
|
||||
<div class="layui-card-body">
|
||||
<div style="padding-bottom: 10px;">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn {$view_theme_color}" data-type="add">新增砍价商品</button>
|
||||
</div>
|
||||
<table id="table-lists" lay-filter="table-lists"></table>
|
||||
<script type="text/html" id="table-goods">
|
||||
<div>
|
||||
<img src="{{d.goods.image}}" alt="图片" style="width:60px;height:60px;float:left;" class="image-show">
|
||||
<div style="margin-left:5px; width:150px;height:60px;white-space:normal;float: left;">{{d.goods.name}}</div>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="table-cost_price">
|
||||
¥{{d.goods.min_price}} ~ ¥{{d.goods.max_price}}
|
||||
</script>
|
||||
<script type="text/html" id="table-floor_price">
|
||||
¥{{d.bargain_min_price}} ~ ¥{{d.bargain_max_price}}
|
||||
</script>
|
||||
<script type="text/html" id="table-activity_time">
|
||||
{{d.activity_start_time}} ~ {{d.activity_end_time}}
|
||||
</script>
|
||||
<script type="text/html" id="table-status">
|
||||
<input type="checkbox" lay-filter="switch-status"
|
||||
data-end-time="{{d.activity_end_time}}"
|
||||
data-id={{d.id}} data-field='status' lay-skin="switch"
|
||||
lay-text="是|否" {{# if(d.status){ }} checked {{# } }} />
|
||||
</script>
|
||||
<script type="text/html" id="operation">
|
||||
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="lists">砍价列表</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除活动</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.config({
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'table', 'like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like;
|
||||
|
||||
// 渲染数据表格
|
||||
table.render({
|
||||
elem: '#table-lists'
|
||||
,url: '{:url("Bargain/activity")}'
|
||||
,cols: [[
|
||||
{field: 'id', title: 'ID',width:60, align:"center"}
|
||||
,{field: 'goods', title: '商品',width:250, templet: '#table-goods'}
|
||||
,{field: 'cost_price', title: '原价',width:180, align: 'center', templet: '#table-cost_price'}
|
||||
,{field: 'floor_price', title: '底价',width:180, align: 'center', templet: '#table-floor_price'}
|
||||
,{field: 'launch_people_number_count', title: '发起砍价人数', width:130, align: 'center'}
|
||||
,{field: 'success_knife_people_number_count', title: '砍价成功人数', width:130, align: 'center'}
|
||||
,{field: 'activity_time', title: '活动有效期', width:300, align: 'center', templet: '#table-activity_time'}
|
||||
,{field: 'status', title: '状态', width:100, align: 'center', templet: '#table-status'}
|
||||
,{fixed: 'right', title: '操作', width:250, align: 'center', toolbar: '#operation'}
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count,
|
||||
"data": res.data.lists
|
||||
};
|
||||
}
|
||||
,done: function(){
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// 事件
|
||||
var active = {
|
||||
add: function (obj) {
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '新增砍价商品'
|
||||
,content: '{:url("Bargain/add")}'
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index];
|
||||
var submitID = 'addSubmit';
|
||||
var submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
like.ajax({
|
||||
url:'{:url("Bargain/add")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res) {
|
||||
if(res.code === 1) {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:1, time:1000 });
|
||||
layer.close(index);
|
||||
table.reload('table-lists');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
},
|
||||
edit: function (obj) {
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑砍价商品'
|
||||
,content: '{:url("Bargain/edit")}?id=' + obj.data.id
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index];
|
||||
var submitID = 'addSubmit';
|
||||
var submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
like.ajax({
|
||||
url:'{:url("Bargain/edit")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res) {
|
||||
if(res.code === 1) {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:1, time:1000 });
|
||||
layer.close(index);
|
||||
table.reload('table-lists');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
},
|
||||
del: function(obj) {
|
||||
if (obj.data.del !== 0 || obj.data.status !== 0) {
|
||||
layui.layer.msg('活动进行中,禁止删除,请先结束活动!', { time:1000 });
|
||||
return false;
|
||||
}
|
||||
layer.confirm('确定要删除该活动吗? ', function(index) {
|
||||
like.ajax({
|
||||
url: '{:url("Bargain/del")}',
|
||||
data: {id:obj.data.id},
|
||||
type: "post",
|
||||
success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layui.layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000});
|
||||
layer.close(index);
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
})
|
||||
},
|
||||
// 切换状态
|
||||
switchStatus: function (obj) {
|
||||
if (obj.status) {
|
||||
var endTime = Times.tostrtime(obj.endTime);
|
||||
var curTime = Times.curTimestamp();
|
||||
if (endTime <= curTime) {
|
||||
layui.layer.msg('砍价时间已过,请重新修改活动时间后再开启!', {time: 1000});
|
||||
table.reload('table-lists', {where: []});
|
||||
return false;
|
||||
}
|
||||
like.ajax({
|
||||
url:'{:url("Bargain/switchStatus")}',
|
||||
data:obj,
|
||||
type:"post",
|
||||
success:function(res) {
|
||||
if(res.code === 1) {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:1, time:1000 });
|
||||
table.reload('table-lists', { where: [] });
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.confirm('您确定要关闭该砍价活动吗?', {
|
||||
btn: ['确定','取消']
|
||||
}, function(){
|
||||
like.ajax({
|
||||
url:'{:url("Bargain/switchStatus")}',
|
||||
data:obj,
|
||||
type:"post",
|
||||
success:function(res) {
|
||||
if(res.code === 1) {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:1, time:1000 });
|
||||
table.reload('table-lists', { where: [] });
|
||||
}
|
||||
}
|
||||
});
|
||||
}, function(){
|
||||
table.reload('table-lists', {where: []});
|
||||
});
|
||||
}
|
||||
},
|
||||
lists: function (obj) {
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '砍价列表'
|
||||
,content: '{:url("Bargain/launch")}?bargain_id='+obj.data.id
|
||||
,area: ['90%','90%']
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// 监听表格右侧工具条
|
||||
table.on('tool(table-lists)', function(obj){
|
||||
var type = obj.event;
|
||||
active[type] ? active[type].call(this, obj) : '';
|
||||
});
|
||||
|
||||
// 切换状态
|
||||
form.on('switch(switch-status)',function (obj) {
|
||||
var id = obj.elem.attributes['data-id'].nodeValue;
|
||||
var fields = obj.elem.attributes['data-field'].nodeValue;
|
||||
var status = this.checked ? 1 : 0;
|
||||
var endTime = obj.elem.attributes['data-end-time'].nodeValue;
|
||||
|
||||
var data = {"id":id, "field":fields, "status":status, endTime:endTime};
|
||||
active['switchStatus'] ? active['switchStatus'].call(this, data) : '';
|
||||
});
|
||||
|
||||
// 绑定点击按钮事件
|
||||
$('.layui-btn.layuiadmin-btn').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
//监听搜索
|
||||
form.on('submit(search)', function(data){
|
||||
var field = data.field;
|
||||
table.reload('table-lists', {
|
||||
where: field,
|
||||
page: { curr: 1 }
|
||||
});
|
||||
});
|
||||
|
||||
// 监听重置搜素
|
||||
form.on('submit(clear-search)', function(){
|
||||
$('#goods_name').val('');
|
||||
$('#status').val('');
|
||||
form.render('select');
|
||||
table.reload('table-lists', { where: [] });
|
||||
});
|
||||
|
||||
// 图片放大
|
||||
$(document).on('click', '.image-show', function () {
|
||||
var src = $(this).attr('src');
|
||||
like.showImg(src);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
277
application/admin/view/bargain/add.html
Normal file
277
application/admin/view/bargain/add.html
Normal file
@@ -0,0 +1,277 @@
|
||||
{layout name="layout2" /}
|
||||
<style>
|
||||
.layui-form-label {
|
||||
width: 110px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="layui-card layui-form">
|
||||
<div class="layui-card-body">
|
||||
<!-- 选择商品 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><font color="red">*</font>砍价商品:</label>
|
||||
<div class="layui-input-block">
|
||||
<a class="layui-btn layui-btn-normal select-goods">选择砍价商品</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 商品信息 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="goods_info"></div>
|
||||
<table id="goods_list" class="layui-table" lay-size="sm" style="display:none;width:630px;">
|
||||
<thead>
|
||||
<tr style="background-color: #f3f5f9">
|
||||
<th style="width: 120px;text-align: center">商品规格</th>
|
||||
<th style="width: 60px;text-align: center">商品价格</th>
|
||||
<th style="width: 40px;text-align: center">活动底价</th>
|
||||
<th style="width: 40px;text-align: center">首刀金额</th>
|
||||
<th style="width: 40px;text-align: center">商品库存</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 砍价有效时长 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label for="time_limit" class="layui-form-label"><font color="red">*</font>砍价有效时长:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" min="0" id="time_limit" name="time_limit" class="layui-input" autocomplete="off"
|
||||
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
|
||||
lay-verType="tips" lay-verify="required|number|time_limit">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">小时</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">本次发起砍价活动有效时长。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 拼团活动时间 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label class="layui-form-label" style="width:110px;"><font color="red">*</font>砍价活动时间:</label>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="activity_start_time" name="activity_start_time" placeholder="开始时间" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="activity_end_time" name="activity_end_time" placeholder="结束时间" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:110px;"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">本商品参与砍价活动的时间范围。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 砍价分享标题 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label for="share_title" class="layui-form-label" style="width:110px;">砍价分享标题:</label>
|
||||
<div class="layui-input-inline" style="width: 300px;">
|
||||
<input type="text" id="share_title" name="share_title" class="layui-input" autocomplete="off" lay-verType="tips">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:110px;"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">分享砍价活动时的标题,为空时默认使用商品标题</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 砍价分享简介 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label for="share_intro" class="layui-form-label" style="width:110px;">砍价分享简介:</label>
|
||||
<div class="layui-input-inline" style="width: 300px;">
|
||||
<input type="text" id="share_intro" name="share_intro" class="layui-input" autocomplete="off" lay-verType="tips">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:110px;"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">分享砍价活动时的简介,为空时默认使用商品简介</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 购买方式 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label class="layui-form-label"><font color="red">*</font>购买方式:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="payment_where" value="1" title="砍到指定底价才可购买" checked>
|
||||
<input type="radio" name="payment_where" value="2" title="任意金额可购买">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 每刀金额 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><font color="red">*</font>每刀金额:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-inline">
|
||||
<input type="radio" name="knife_type" value="1" title="随机金额" checked>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="min_knife_price" class="layui-input" autocomplete="off"
|
||||
lay-verType="tips" lay-verify="min_knife_price" style="width:100px;" placeholder="最小金额"
|
||||
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
|
||||
</div>
|
||||
<div class="layui-inline"><span>~</span></div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="max_knife_price" class="layui-input" autocomplete="off"
|
||||
lay-verType="tips" lay-verify="max_knife_price" style="width:100px;" placeholder="最大金额"
|
||||
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
|
||||
</div>
|
||||
</div>
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-inline">
|
||||
<input type="radio" name="knife_type" value="2" title="固定金额">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="fixed_knife_price" class="layui-input" autocomplete="off"
|
||||
lay-verType="tips" lay-verify="fixed_knife_price" style="width:100px;" placeholder="元"
|
||||
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 活动状态 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label class="layui-form-label"><font color="red">*</font>活动状态:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="status" value="1" title="开启">
|
||||
<input type="radio" name="status" value="0" title="关闭" checked>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">活动开启并且在砍价活动时间内才能发起新的砍价活动</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 确认按钮 -->
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="addSubmit" id="addSubmit" value="确认">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.config({
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'form', 'like', 'laydate'], function() {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, like = layui.like
|
||||
, laydate = layui.laydate;
|
||||
|
||||
// 开始时间
|
||||
laydate.render({
|
||||
type: 'datetime'
|
||||
,elem: '#activity_start_time'
|
||||
,trigger: 'click'
|
||||
});
|
||||
|
||||
// 结束时间
|
||||
laydate.render({
|
||||
type: 'datetime'
|
||||
,elem: '#activity_end_time'
|
||||
,trigger: 'click'
|
||||
});
|
||||
|
||||
// 选择商品
|
||||
$(document).on('click','.select-goods',function () {
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '选择商品'
|
||||
,content: '{:url("common/selectGoods")}'
|
||||
,area: ['90%', '90%']
|
||||
,btn: ['确认', '取消']
|
||||
,yes: function(index, layero){
|
||||
var data = window["layui-layer-iframe" + index].callbackdata();
|
||||
if(data.length){
|
||||
goods_ids = [];
|
||||
$('#goods_list tbody').remove();
|
||||
}
|
||||
data.forEach(function(item, index) {
|
||||
console.log(item);
|
||||
var goods_info_html = '<img src="'+item.image+'" alt="商品图片" style="width:80px;height:80px;">\n' +
|
||||
'<span style="margin-left:5px;">'+item.name+'</span>\n' +
|
||||
'<input type="hidden" name="goods_id" value="'+item.id+'">';
|
||||
$(".goods_info").html(goods_info_html);
|
||||
$("#goods_list").show();
|
||||
for(var i = 0; item.goods_item.length > i; i++){
|
||||
var goods_item = item.goods_item[i];
|
||||
if(goods_ids.indexOf(goods_item.id) === -1) {
|
||||
goods_ids.push(goods_item.id);
|
||||
var goods_html = '<tr>\n' +
|
||||
'<td style="text-align: center">'+goods_item.spec_value_str+'</td>\n' +
|
||||
'<td style="text-align: center">'+goods_item.price+'</td>\n' +
|
||||
'<td style="width: 40px;"><input onkeyup="value=value.replace(/^\\D*(\\d*(?:\\.\\d{0,2})?).*$/g, \'$1\')" type="number" name=floor_price['+item.id+']['+goods_item.id+'] lay-verType="tips" lay-verify="required" autocomplete="off" class="layui-input"></td>\n' +
|
||||
'<td style="width: 40px;"><input onkeyup="value=value.replace(/^\\D*(\\d*(?:\\.\\d{0,2})?).*$/g, \'$1\')" type="number" name=first_knife_price['+item.id+']['+goods_item.id+'] lay-verType="tips" lay-verify="required|first_knife_price" autocomplete="off" class="layui-input"></td>\n' +
|
||||
'<td style="width: 40px;text-align: center">'+item.stock+'</td>\n' +
|
||||
'</tr>';
|
||||
$('#goods_list').append(goods_html);
|
||||
}
|
||||
}
|
||||
});
|
||||
$('.goods').show();
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
// 表单验证
|
||||
form.verify({
|
||||
min_knife_price: function(value){
|
||||
var type = $('input[name=knife_type]:checked').val();
|
||||
if (type === '1') {
|
||||
if (!value || value === '') {
|
||||
return '请填写最小砍价金额';
|
||||
}
|
||||
if(parseFloat(value) < 0){
|
||||
return '最小砍价金额不能小于0';
|
||||
}
|
||||
}
|
||||
},
|
||||
max_knife_price: function(value){
|
||||
var type = $('input[name=knife_type]:checked').val();
|
||||
if (type === '1') {
|
||||
if (!value || value === '') {
|
||||
return '请填写最大砍价金额';
|
||||
}
|
||||
if(parseFloat(value) < 0){
|
||||
return '最大砍价金额不能小于0';
|
||||
}
|
||||
}
|
||||
},
|
||||
fixed_knife_price: function (value) {
|
||||
var type = $('input[name=knife_type]:checked').val();
|
||||
if (type === '2') {
|
||||
if (!value || value === '') {
|
||||
return '请填写固定砍价金额';
|
||||
}
|
||||
if(parseFloat(value) < 0){
|
||||
return '固定砍价金额不能小于0';
|
||||
}
|
||||
}
|
||||
},
|
||||
first_knife_price: function (value, that) {
|
||||
var goods_price = $(that).parent().prev().prev().html();
|
||||
if (parseFloat(value) > parseFloat(goods_price)) {
|
||||
return '首刀价格不能大于商品价格';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
216
application/admin/view/bargain/detail.html
Normal file
216
application/admin/view/bargain/detail.html
Normal file
@@ -0,0 +1,216 @@
|
||||
{layout name="layout1" /}
|
||||
<style>
|
||||
.layui-table-cell { height: auto; }
|
||||
.layui-input-block { line-height: 38px; }
|
||||
.layui-form-label { width: 100px; }
|
||||
</style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
|
||||
<div class="layui-form layui-card-body">
|
||||
<!-- 发起人信息 -->
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<span>发起人信息</span>
|
||||
</div>
|
||||
<div style="margin-left:30px">
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">会员编号:</label>
|
||||
<div class="layui-input-block">{$detail.user.sn}</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">会员昵称:</label>
|
||||
<div class="layui-input-block">{$detail.user.nickname}</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">手机号码:</label>
|
||||
<div class="layui-input-block">{$detail.user.mobile}</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">会员等级:</label>
|
||||
<div class="layui-input-block">{$detail.user.level.name}</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 砍价信息 -->
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<span>砍价信息</span>
|
||||
</div>
|
||||
<div style="margin-left:30px">
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">发起砍价时间:</label>
|
||||
<div class="layui-input-block">{$detail.launch_start_time}</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">砍价有效期限:</label>
|
||||
<div class="layui-input-block">{$detail.launch_end_time}</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">砍价商品:</label>
|
||||
<div class="layui-input-block">
|
||||
<img src="{$detail.goods_snap.goods_iamge}" alt="图片" style="width:60px;height:60px;float:left;" class="image-show">
|
||||
<div class="layui-inline">
|
||||
<div>{$detail.goods_snap.name}</div>
|
||||
<div>{$detail.goods_snap.spec_value_str} ¥{$detail.goods_snap.price}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">活动底价:</label>
|
||||
<div class="layui-input-block">¥{$detail.bargain_price}</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">购买方式:</label>
|
||||
<div class="layui-input-block">任意金额可购买</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">已砍次数:</label>
|
||||
<div class="layui-input-block">{$detail.help_number}</div>
|
||||
</div>
|
||||
<div class="layui-form-item" style="margin-bottom:0;">
|
||||
<label class="layui-form-label">砍价状态:</label>
|
||||
<div class="layui-input-block">{$detail.status}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ===================砍价订单列表 ====================== -->
|
||||
<div class="layui-form-item" style="margin:30px 0 10px 0;">
|
||||
<span>砍价订单</span>
|
||||
</div>
|
||||
<div style="margin-left:30px">
|
||||
<table id="table-lists-order" lay-filter="table-lists-order"></table>
|
||||
<script type="text/html" id="table-goods-order">
|
||||
<div>
|
||||
<img src="{{d.domain}}{{d.goods_snap.image}}" alt="图片" style="width:60px;height:60px;float:left;" class="image-show">
|
||||
<div class="layui-inline">
|
||||
<div>{{d.goods_snap.name}}</div>
|
||||
<div>{{d.goods_snap.spec_value_str}} ¥{{d.goods_snap.price}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="table-order_sn-order">
|
||||
{{# if(d.order){ }} {{d.order.order_sn}} {{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="table-create_time-order">
|
||||
{{# if(d.order){ }} {{d.order.create_time}} {{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="table-order_amount-order">
|
||||
{{# if(d.order){ }} {{d.order.order_amount}} {{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="table-order_status-order">
|
||||
{{d.order_status}}
|
||||
</script>
|
||||
<!--会员信息-->
|
||||
<script type="text/html" id="table-user-order">
|
||||
<div class="layui-input-inline" style="text-align: left">
|
||||
{{# if(d.user){ }}
|
||||
<img src="{{d.user.avatar}}" alt="头象" style="width: 80px; height: 80px;">
|
||||
<div class="layui-inline">
|
||||
<p>会员编号:{{d.user.sn}}</p>
|
||||
<p>会员昵称:{{d.user.nickname}}</p>
|
||||
<p>会员等级:{{d.user.level.name ?? '无'}}</p>
|
||||
</div>
|
||||
{{# } }}
|
||||
</div>
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- ===================砍价记录列表 ====================== -->
|
||||
<div class="layui-form-item" style="margin:30px 0 10px 0;">
|
||||
<span>砍价记录</span>
|
||||
</div>
|
||||
<div style="margin-left:30px">
|
||||
<table id="table-lists-knife" lay-filter="table-lists-knife"></table>
|
||||
<!--会员信息-->
|
||||
<script type="text/html" id="table-user-knife">
|
||||
<div class="layui-input-inline" style="text-align: left">
|
||||
{{# if(d.user){ }}
|
||||
<img src="{{d.user.avatar}}" alt="头象" style="width: 80px; height: 80px;">
|
||||
<div class="layui-inline">
|
||||
<p>会员编号:{{d.user.sn}}</p>
|
||||
<p>会员昵称:{{d.user.nickname}}</p>
|
||||
<p>会员等级:{{d.user.level.name ?? '无'}}</p>
|
||||
</div>
|
||||
{{# } }}
|
||||
</div>
|
||||
</script>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.config({
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like;
|
||||
|
||||
//图片放大
|
||||
$(document).on('click', '.image-show', function () {
|
||||
var src = $(this).attr('src');
|
||||
like.showImg(src);
|
||||
});
|
||||
|
||||
// 渲染数据表格
|
||||
table.render({
|
||||
elem: '#table-lists-order'
|
||||
,url: '{:url("Bargain/knifeOrderRecord")}?launch_id={$detail.id}'
|
||||
,cols: [[
|
||||
{field: 'userInfo', title: '发起人',width:280, templet: '#table-user-order'}
|
||||
,{field: 'order_sn', title: '订单号', width:180, align: 'center', templet: '#table-order_sn-order'}
|
||||
,{field: 'goods', title: '商品信息',width:250, templet: '#table-goods-order'}
|
||||
,{field: 'create_time', title: '下单时间', width:160, align: 'center', templet: '#table-create_time-order'}
|
||||
,{field: 'order_amount', title: '下单金额', width:100, align: 'center', templet: '#table-order_amount-order'}
|
||||
,{field: 'order_status', title: '订单状态',width:100, align: 'center', templet: '#table-order_status-order'}
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count,
|
||||
"data": res.data.lists
|
||||
};
|
||||
}
|
||||
,done: function(res, curr, count){
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
table.render({
|
||||
elem: '#table-lists-knife'
|
||||
,url: '{:url("Bargain/knifeRecord")}?launch_id={$detail.id}'
|
||||
,cols: [[
|
||||
{field: 'userInfo', title: '会员信息',width:280, templet: '#table-user-knife'}
|
||||
,{field: 'help_price', title: '砍掉金额', width:180, align: 'center'}
|
||||
,{field: 'surplus_price', title: '剩余金额', width:180, align: 'center'}
|
||||
,{field: 'help_time', title: '砍价时间', width:160, align: 'center'}
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count,
|
||||
"data": res.data.lists
|
||||
};
|
||||
}
|
||||
,done: function(res, curr, count){
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
306
application/admin/view/bargain/edit.html
Normal file
306
application/admin/view/bargain/edit.html
Normal file
@@ -0,0 +1,306 @@
|
||||
{layout name="layout2" /}
|
||||
<style>
|
||||
.layui-form-label {
|
||||
width: 110px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="layui-card layui-form">
|
||||
<div class="layui-card-body">
|
||||
<!-- 选择商品 -->
|
||||
<input type="hidden" name="id" value="{$detail.id}">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><font color="red">*</font>砍价商品:</label>
|
||||
<div class="layui-input-block">
|
||||
<a class="layui-btn layui-btn-normal select-goods">选择砍价商品</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 商品信息 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="goods_info">
|
||||
{if $detail.is_goods_item}
|
||||
<img src="{$detail.goods.image}" alt="商品图片" style="width:80px;height:80px;">
|
||||
<span style="margin-left:5px;">{$detail.goods.name}</span>
|
||||
<input type="hidden" name="goods_id" value="{$detail.goods.id}">
|
||||
{/if}
|
||||
</div>
|
||||
<table id="goods_list" class="layui-table" lay-size="sm" style="width:630px;">
|
||||
<thead>
|
||||
<tr style="background-color: #f3f5f9">
|
||||
<th style="width: 120px;text-align: center">商品规格</th>
|
||||
<th style="width: 60px;text-align: center">商品价格</th>
|
||||
<th style="width: 40px;text-align: center">活动底价</th>
|
||||
<th style="width: 40px;text-align: center">首刀金额</th>
|
||||
<th style="width: 40px;text-align: center">商品库存</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{if $detail.is_goods_item}
|
||||
{volist name="$detail.item" id="vo"}
|
||||
<tr>
|
||||
<td style="text-align: center">{$vo.spec_value_str}</td>
|
||||
<td style="text-align: center">{$vo.spec_item_price}</td>
|
||||
<td style="width: 40px;">
|
||||
<input onkeyup="value=value.replace(/^\\D*(\\d*(?:\\.\\d{0,2})?).*$/g, \'$1\')"
|
||||
type="number" name=floor_price[{$detail.goods_id}][{$vo.spec_item_id}]
|
||||
lay-verType="tips" lay-verify="required" autocomplete="off"
|
||||
class="layui-input" value="{$vo.floor_price}">
|
||||
</td>
|
||||
<td style="width: 40px;">
|
||||
<input onkeyup="value=value.replace(/^\\D*(\\d*(?:\\.\\d{0,2})?).*$/g, \'$1\')"
|
||||
type="number" name=first_knife_price[{$detail.goods_id}][{$vo.spec_item_id}]
|
||||
lay-verType="tips" lay-verify="required|first_knife_price" autocomplete="off"
|
||||
class="layui-input" value="{$vo.first_knife_price}">
|
||||
</td>
|
||||
<td style="width: 40px;text-align: center;">{$vo.stock}</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 砍价有效时长 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label for="time_limit" class="layui-form-label"><font color="red">*</font>砍价有效时长:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" min="0" id="time_limit" name="time_limit" value="{$detail.time_limit}" class="layui-input" autocomplete="off"
|
||||
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
|
||||
lay-verType="tips" lay-verify="required|number|time_limit">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">小时</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">本次发起砍价活动有效时长。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 拼团活动时间 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label class="layui-form-label" style="width:110px;"><font color="red">*</font>砍价活动时间:</label>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="activity_start_time" name="activity_start_time" value="{$detail.activity_start_time}" placeholder="开始时间" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="activity_end_time" name="activity_end_time" value="{$detail.activity_end_time}" placeholder="结束时间" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:110px;"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">本商品参与砍价活动的时间范围。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 砍价分享标题 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label for="share_title" class="layui-form-label" style="width:110px;">砍价分享标题:</label>
|
||||
<div class="layui-input-inline" style="width: 300px;">
|
||||
<input type="text" id="share_title" name="share_title" value="{$detail.share_title}" class="layui-input" autocomplete="off" lay-verType="tips">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:110px;"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">分享砍价活动时的标题,为空时默认使用商品标题</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 砍价分享简介 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label for="share_intro" class="layui-form-label" style="width:110px;">砍价分享简介:</label>
|
||||
<div class="layui-input-inline" style="width: 300px;">
|
||||
<input type="text" id="share_intro" name="share_intro" value="{$detail.share_intro}" class="layui-input" autocomplete="off" lay-verType="tips">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:110px;"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">分享砍价活动时的简介,为空时默认使用商品简介</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 购买方式 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label class="layui-form-label"><font color="red">*</font>购买方式:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="payment_where" value="1" title="砍到指定底价才可购买" {if $detail.payment_where == 1}checked{/if}>
|
||||
<input type="radio" name="payment_where" value="2" title="任意金额可购买" {if $detail.payment_where == 2}checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 每刀金额 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><font color="red">*</font>每刀金额:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-inline">
|
||||
<input type="radio" name="knife_type" value="1" title="随机金额" {if $detail.knife_type == 1}checked{/if}>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="min_knife_price" value="{$detail.min_knife_price}" class="layui-input" autocomplete="off"
|
||||
lay-verType="tips" lay-verify="min_knife_price" style="width:100px;" placeholder="最小金额"
|
||||
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
|
||||
</div>
|
||||
<div class="layui-inline"><span>~</span></div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="max_knife_price" value="{$detail.max_knife_price}" class="layui-input" autocomplete="off"
|
||||
lay-verType="tips" lay-verify="max_knife_price" style="width:100px;" placeholder="最大金额"
|
||||
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
|
||||
</div>
|
||||
</div>
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-inline">
|
||||
<input type="radio" name="knife_type" value="2" title="固定金额" {if $detail.knife_type == 2}checked{/if}>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" name="fixed_knife_price" value="{$detail.fixed_knife_price}" class="layui-input" autocomplete="off"
|
||||
lay-verType="tips" lay-verify="fixed_knife_price" style="width:100px;" placeholder="元"
|
||||
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 活动状态 -->
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label class="layui-form-label"><font color="red">*</font>活动状态:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="status" value="1" title="开启" {if $detail.status}checked{/if}>
|
||||
<input type="radio" name="status" value="0" title="关闭" {if !$detail.status}checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">活动开启并且在砍价活动时间内才能发起新的砍价活动</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 确认按钮 -->
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="addSubmit" id="addSubmit" value="确认">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.config({
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'form', 'like', 'laydate'], function() {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, like = layui.like
|
||||
, laydate = layui.laydate;
|
||||
|
||||
// 开始时间
|
||||
laydate.render({
|
||||
type: 'datetime'
|
||||
,elem: '#activity_start_time'
|
||||
,trigger: 'click'
|
||||
});
|
||||
|
||||
// 结束时间
|
||||
laydate.render({
|
||||
type: 'datetime'
|
||||
,elem: '#activity_end_time'
|
||||
,trigger: 'click'
|
||||
});
|
||||
|
||||
// 选择商品
|
||||
$(document).on('click','.select-goods',function () {
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '选择商品'
|
||||
,content: '{:url("common/selectGoods")}'
|
||||
,area: ['90%', '90%']
|
||||
,btn: ['确认', '取消']
|
||||
,yes: function(index, layero){
|
||||
var data = window["layui-layer-iframe" + index].callbackdata();
|
||||
if(data.length){
|
||||
goods_ids = [];
|
||||
$('#goods_list tbody').remove();
|
||||
}
|
||||
data.forEach(function(item, index) {
|
||||
console.log(item);
|
||||
var goods_info_html = '<img src="'+item.image+'" alt="商品图片" style="width:80px;height:80px;">\n' +
|
||||
'<span style="margin-left:5px;">'+item.name+'</span>\n' +
|
||||
'<input type="hidden" name="goods_id" value="'+item.id+'">';
|
||||
$(".goods_info").html(goods_info_html);
|
||||
$("#goods_list").show();
|
||||
for(var i = 0; item.goods_item.length > i; i++){
|
||||
var goods_item = item.goods_item[i];
|
||||
if(goods_ids.indexOf(goods_item.id) === -1) {
|
||||
goods_ids.push(goods_item.id);
|
||||
var goods_html = '<tr>\n' +
|
||||
'<td style="text-align: center">'+goods_item.spec_value_str+'</td>\n' +
|
||||
'<td style="text-align: center">'+goods_item.price+'</td>\n' +
|
||||
'<td style="width: 40px;"><input onkeyup="value=value.replace(/^\\D*(\\d*(?:\\.\\d{0,2})?).*$/g, \'$1\')" type="number" name=floor_price['+item.id+']['+goods_item.id+'] lay-verType="tips" lay-verify="required" autocomplete="off" class="layui-input"></td>\n' +
|
||||
'<td style="width: 40px;"><input onkeyup="value=value.replace(/^\\D*(\\d*(?:\\.\\d{0,2})?).*$/g, \'$1\')" type="number" name=first_knife_price['+item.id+']['+goods_item.id+'] lay-verType="tips" lay-verify="required|first_knife_price" autocomplete="off" class="layui-input"></td>\n' +
|
||||
'<td style="width: 40px;text-align: center">'+item.stock+'</td>\n' +
|
||||
'</tr>';
|
||||
$('#goods_list').append(goods_html);
|
||||
}
|
||||
}
|
||||
});
|
||||
$('.goods').show();
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
// 表单验证
|
||||
form.verify({
|
||||
min_knife_price: function(value){
|
||||
var type = $('input[name=knife_type]:checked').val();
|
||||
if (type === '1') {
|
||||
if (!value || value === '') {
|
||||
return '请填写最小砍价金额';
|
||||
}
|
||||
if(parseFloat(value) < 0){
|
||||
return '最小砍价金额不能小于0';
|
||||
}
|
||||
}
|
||||
},
|
||||
max_knife_price: function(value){
|
||||
var type = $('input[name=knife_type]:checked').val();
|
||||
if (type === '1') {
|
||||
if (!value || value === '') {
|
||||
return '请填写最大砍价金额';
|
||||
}
|
||||
if(parseFloat(value) < 0){
|
||||
return '最大砍价金额不能小于0';
|
||||
}
|
||||
}
|
||||
},
|
||||
fixed_knife_price: function (value) {
|
||||
var type = $('input[name=knife_type]:checked').val();
|
||||
if (type === '2') {
|
||||
if (!value || value === '') {
|
||||
return '请填写固定砍价金额';
|
||||
}
|
||||
if(parseFloat(value) < 0){
|
||||
return '固定砍价金额不能小于0';
|
||||
}
|
||||
}
|
||||
},
|
||||
first_knife_price: function (value, that) {
|
||||
var goods_price = $(that).parent().prev().prev().html();
|
||||
if (parseFloat(value) > parseFloat(goods_price)) {
|
||||
return '首刀价格不能大于商品价格';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
251
application/admin/view/bargain/launch.html
Normal file
251
application/admin/view/bargain/launch.html
Normal file
@@ -0,0 +1,251 @@
|
||||
{layout name="layout1" /}
|
||||
<style> .layui-table-cell { height: auto; } </style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<!-- 操作提示 -->
|
||||
{if !$bargain_id}
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<p>*砍价列表,查看帮砍人数,信息,砍价订单等信息;</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- 搜索模块 -->
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label for="goods_name" class="layui-form-label">商品名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="goods_name" name="goods_name" placeholder="请输入" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<label for="keyword_type" class="layui-form-label">发起用户:</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="keyword_type" name="keyword_type" >
|
||||
<option value="">请选择</option>
|
||||
<option value="sn">会员编号</option>
|
||||
<option value="nickname">会员昵称</option>
|
||||
<option value="mobile">手机号码</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="keyword" name="keyword" placeholder="请输入" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<label for="status" class="layui-form-label">砍价状态:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="status" id="status" >
|
||||
<option value="">全部</option>
|
||||
<option value="0">砍价中</option>
|
||||
<option value="1">砍价成功</option>
|
||||
<option value="2">砍价失败</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">发起时间:</label>
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="launch_start_time" name="launch_start_time" placeholder="开始时间" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-inline"> - </div>
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="launch_end_time" name="launch_end_time" placeholder="结束时间" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-btn-group">
|
||||
<button type="button" day="-7" class="layui-btn layui-btn-sm layui-btn-primary day">近7天</button>
|
||||
<button type="button" day="-30" class="layui-btn layui-btn-sm layui-btn-primary day">近30天</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-article {$view_theme_color}" lay-submit lay-filter="search">
|
||||
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
||||
</button>
|
||||
<button class="layui-btn layui-btn-sm layui-btn-primary layuiadmin-btn-article }" lay-submit lay-filter="clear-search">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 数据表格 -->
|
||||
<div class="layui-card-body">
|
||||
<table id="table-lists" lay-filter="table-lists"></table>
|
||||
<script type="text/html" id="table-user">
|
||||
{{# if((d.user) == null){ }}
|
||||
会员信息缺失
|
||||
{{# } else { }}
|
||||
<img src="{{d.user.avatar}}" style="height:80px;width: 80px" class="image-show">
|
||||
<div class="layui-input-inline" style="text-align: left">
|
||||
<p>会员编号:{{d.user.sn}}</p>
|
||||
<p>会员昵称:{{d.user.nickname}}</p>
|
||||
<p>会员等级:{{d.user.level.name ?? '无'}}</p>
|
||||
</div>
|
||||
{{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="table-goods">
|
||||
<div>
|
||||
<img src="{{d.domain}}{{d.goods_image}}" alt="图片" style="width:60px;height:60px;float:left;" class="image-show">
|
||||
<div class="layui-inline">
|
||||
<div >{{d.goods_snap.name}}</div>
|
||||
<div>{{d.goods_snap.spec_value_str}} ¥{{d.goods_snap.price}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="table-start_time">
|
||||
<div style="width:100px;height:60px;white-space:normal;">
|
||||
{{d.launch_start_time}}
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="table-end_time">
|
||||
<div style="width:100px;height:60px;white-space:normal;">
|
||||
{{d.launch_end_time}}
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="operation">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm " lay-event="detail">详细</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.config({
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like', 'laydate'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like
|
||||
,laydate = layui.laydate;
|
||||
|
||||
// 渲染数据表格
|
||||
table.render({
|
||||
elem: '#table-lists'
|
||||
,url: '{:url("Bargain/launch")}?bargain_id={$bargain_id}'
|
||||
,cols: [[
|
||||
{field: 'id', title: 'ID',width:60, align:"center"}
|
||||
,{field: 'user', title: '发起用户',width:300, templet: '#table-user'}
|
||||
,{field: 'goods', title: '砍价商品',width:250, templet: '#table-goods'}
|
||||
,{field: 'launchStartTime', title: '发起时间', width:120, align: 'center', templet: '#table-start_time'}
|
||||
,{field: 'launchEndTime', title: '结束时间', width:120, align: 'center', templet: '#table-end_time'}
|
||||
,{field: 'help_number', title: '已砍价次数', width:120, align: 'center'}
|
||||
,{field: 'current_price', title: '当前价格', width:120, align: 'center'}
|
||||
,{field: 'status', title: '砍价状态', width:100, align: 'center'}
|
||||
,{fixed: 'right', title: '操作', align: 'center', toolbar: '#operation',width:100}
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count,
|
||||
"data": res.data.lists
|
||||
};
|
||||
}
|
||||
,done: function(res, curr, count){
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//事件
|
||||
var active = {
|
||||
detail: function (obj) {
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '砍价详细'
|
||||
,content: '{:url("Bargain/detail")}?id='+obj.data.id
|
||||
,area: ['90%','90%']
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// 监听表格右侧工具条
|
||||
table.on('tool(table-lists)', function(obj){
|
||||
var type = obj.event;
|
||||
active[type] ? active[type].call(this, obj) : '';
|
||||
});
|
||||
|
||||
// 切换状态
|
||||
form.on('switch(switch-status)',function (obj) {
|
||||
var id = obj.elem.attributes['data-id'].nodeValue;
|
||||
var fields = obj.elem.attributes['data-field'].nodeValue;
|
||||
var status = this.checked ? 1 : 0;
|
||||
var data = {"id":id, "field":fields, "status":status};
|
||||
active['switchStatus'] ? active['switchStatus'].call(this, data) : '';
|
||||
});
|
||||
|
||||
// 绑定点击按钮事件
|
||||
$('.layui-btn.layuiadmin-btn').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
//图片放大
|
||||
$(document).on('click', '.image-show', function () {
|
||||
var src = $(this).attr('src');
|
||||
like.showImg(src);
|
||||
});
|
||||
|
||||
// 开始时间
|
||||
laydate.render({
|
||||
type: 'datetime'
|
||||
,elem: '#launch_start_time'
|
||||
,trigger: 'click'
|
||||
});
|
||||
laydate.render({
|
||||
type: 'datetime'
|
||||
,elem: '#launch_end_time'
|
||||
,trigger: 'click'
|
||||
});
|
||||
|
||||
//监听搜索
|
||||
form.on('submit(search)', function(data){
|
||||
var field = data.field;
|
||||
table.reload('table-lists', {
|
||||
where: field,
|
||||
page: { curr: 1 }
|
||||
});
|
||||
});
|
||||
|
||||
// 监听重置搜素
|
||||
form.on('submit(clear-search)', function(){
|
||||
$('#goods_name').val('');
|
||||
$('#status').val('');
|
||||
$('#keyword_type').val('');
|
||||
$('#keyword').val('');
|
||||
$('#launch_start_time').val('');
|
||||
$('#launch_end_time').val('');
|
||||
form.render('select');
|
||||
table.reload('table-lists', { where: [] });
|
||||
});
|
||||
|
||||
$(document).on('click', '.day', function () {
|
||||
var value = parseInt($(this).attr('day'));
|
||||
var toDay = Times.getDay(value, false);
|
||||
var curDay = Times.getDay(0);
|
||||
|
||||
$("#launch_start_time").val(toDay + ' 00:00:00');
|
||||
$("#launch_end_time").val(curDay + ' 00:00:00');
|
||||
})
|
||||
|
||||
});
|
||||
</script>
|
||||
97
application/admin/view/bargain/set.html
Normal file
97
application/admin/view/bargain/set.html
Normal file
@@ -0,0 +1,97 @@
|
||||
{layout name="layout1" /}
|
||||
<style> .layui-table-cell { height: auto; } </style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<!-- 操作提示 -->
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<p>*砍价活动的通用设置。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 设置 -->
|
||||
<div class="layui-card-body layui-form">
|
||||
<div class="layui-form-item" style="margin-bottom: 0;">
|
||||
<label class="layui-form-label" style="width:200px;"><font color="red">*</font>砍价成功下单有效时长:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="payment_limit_time" value="{$payment_limit_time}" onkeyup="value=value.replace(/[^\d]/g,'')" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">分钟</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">砍价成功后,在设置的有效时长内可以提交订单,为空或不填表示无时间限制</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn {$view_theme_color}" lay-submit lay-filter="addSubmit">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.config({
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,like = layui.like;
|
||||
|
||||
form.on('submit(addSubmit)', function(data){
|
||||
like.ajax({
|
||||
url:'{:url("Bargain/set")}',
|
||||
data: data.field,
|
||||
type:"post",
|
||||
success:function(res) {
|
||||
if(res.code === 1) {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:1, time:1000 });
|
||||
} else {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:2, time:1000 });
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
//事件
|
||||
var active = {
|
||||
// 切换状态
|
||||
set: function (obj) {
|
||||
|
||||
like.ajax({
|
||||
url:'{:url("TeamSet/set")}',
|
||||
data:{},
|
||||
type:"post",
|
||||
success:function(res) {
|
||||
if(res.code === 1) {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:1, time:1000 });
|
||||
} else {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:2, time:1000 });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// 绑定点击按钮事件
|
||||
$('.layui-btn.layuiadmin-btn').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user