Commit 1852af64d25b98e3808a4009f502ccbd75741ac2

Authored by teemitop
1 parent a90ab154

平台卡券

... ... @@ -26,7 +26,7 @@ class Card extends Common
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
WHERE s.owner = 2 AND
".$where." order by s.sid".$limit);
//格式化数据
foreach ($rs as $key => $value) {
... ... @@ -53,7 +53,7 @@ class Card extends Common
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
WHERE s.owner = 2 AND
".$where."");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
... ... @@ -175,8 +175,8 @@ class Card extends Common
$data = Request::except('file');
if(Request::isAjax()){
$arr = [];
$arr['sid'] = $data['seller_id'];
$arr['sellername'] = $data['seller_name'];
$arr['sid'] = $data['seller_id'] ? $data['seller_id'] : 0;
$arr['sellername'] = $data['seller_name'] ? $data['seller_name'] : '';
$arr['bid'] = $data['card_id'];
$arr['card_title'] = $data['title'];
$arr['price'] = $data['price'];
... ... @@ -226,12 +226,12 @@ class Card extends Common
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
WHERE s.owner = 2 AND
".$where." order by s.sid".$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['create_time'] = date("Y年m月d日",$value['create_time']);
$rs[$key]['contributor_time'] = date("Y年m月d日",$value['create_time']);
$rs[$key]['contributor_time'] = $value['contributor_time'] ? date("Y年m月d日",$value['contributor_time']) : '';
switch ($value['status']) {
case '1':
$rs[$key]['status_msg'] = '已投放';
... ... @@ -254,7 +254,7 @@ class Card extends Common
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
WHERE s.owner = 2 AND
".$where."");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
... ... @@ -347,17 +347,11 @@ class Card extends Common
}
/**
* 商家卡券-优惠券-卡券列表
* 平台卡券-优惠券-卡券列表
*/
public function sellercardsss(){
public function platformcard(){
if(Request::isAjax()){
$data = Request::except('file');
$where = '';
$channel = $data['channel'] ? $data['channel'] : 1;
$where .= ($channel && $channel==4) ? ' re.type_id in (1,2,3)' : " re.type_id in ($channel)";
$where .= $data['key'] ? ' and s.sellername like "%'.$data['key'].'%"' : "";
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
... ... @@ -367,9 +361,7 @@ class Card extends Common
s.*
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
".$where." order by s.sid".$limit);
WHERE s.owner = 1 order by s.sid".$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['create_time'] = date("Y年m月d日",$value['create_time']);
... ... @@ -394,9 +386,64 @@ class Card extends Common
s.id
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
".$where."");
WHERE s.owner = 1");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','平台卡券');
return $this->fetch();
}
/**
* 创建优惠券-选择商户
*/
public function selectplatform(){
$this->assign ( 'title','创建卡券');
return $this->fetch();
}
/**
* 平台卡券-卡券投放-卡券列表
*/
public function cardputforplat(){
if(Request::isAjax()){
$data = Request::except('file');
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//卡券信息
$rs = Db::query("SELECT
s.*
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
WHERE s.owner = 1 order by s.sid".$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['create_time'] = date("Y年m月d日",$value['create_time']);
$rs[$key]['contributor_time'] = $value['contributor_time'] ? date("Y年m月d日",$value['contributor_time']) : '';
switch ($value['status']) {
case '1':
$rs[$key]['status_msg'] = '已投放';
break;
case '2':
$rs[$key]['status_msg'] = '未投放';
break;
case '3':
$rs[$key]['status_msg'] = '停止投放';
break;
default:
# code...
break;
}
}
//获取总条数
$total = Db::query("SELECT
s.id
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
WHERE s.owner = 1");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','商家卡券');
... ...
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit">
<fieldset class="layui-elem-field layui-field-title">
<legend>{:$title}</legend>
</fieldset>
<blockquote class="layui-elem-quote">
<a href="{:url('card/platformcard')}" class="layui-btn layui-btn-lg">
<i class="fa fa-file-image-o"></i> 优惠券
</a>
<a href="{:url('card/cardputforplat')}" class="layui-btn layui-btn-lg layui-btn-danger">
<i class="fa fa-file-image-o"></i> 卡券投放
</a>
<a href="{:url('card/cardwriteoff')}" class="layui-btn layui-btn-lg">
<i class="fa fa-file-image-o"></i> 卡券核销
</a>
<a href="{:url('card/carddata')}" class="layui-btn layui-btn-lg">
<i class="fa fa-file-image-o"></i> 数据统计
</a>
</blockquote>
<table class="layui-table" id="list" lay-filter="list"></table>
</div>
{include file="common/foot"/}
<script type="text/html" id="action">
{{#if(d.status==1){}}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="stop">停止投放</a>
{{#} else if(d.status==2) {}} 
<a class="layui-btn layui-btn-xs" lay-event="putin">投放</a>
{{#} else {}} 
暂无操作
{{#}}}
</script>
<script>
layui.use(['table','form','laydate'], function() {
var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer;
var tableIn = table.render({
elem: '#list',
url: '{:url("cardputforplat")}',
method: 'post',
title: '卡券列表',
cols: [[
{field: 'id', title: '卡券编号',hide:true, fixed: true},
{field: 'card_title', title: '卡券名称'},
{field: 'price', align: 'center',title: '金额'},
{field: 'contributor_time', align: 'center', title: '投放日期'},
{field: 'contributor', align: 'center', title: '投放人'},
{field: 'status_msg', align: 'center',title: '状态'},
{align: 'center', width:200,title: '操作', toolbar: '#action'}
]]
,id: 'cardReload'
,page: true
});
//监听行双击事件
table.on('rowDouble(list)', function(obj){
//table.on('row(list)', function(obj){ 双击事件
//console.log(obj.tr) //得到当前行元素对象
console.log(obj.data) //得到当前行数据
layer.open({
type: 2,
title: obj.data.sellername,
shadeClose: true,
shade: 0.8,
area: ['90%', '90%'],
content: '{:url("carddetail")}?id='+obj.data.id //iframe的url
/*success:function(dom){
let $iframeDom=$(dom[0]).find("iframe").eq(0).contents();
$iframeDom.find("#test").html("我是从父级传来的值哟……")
}*/
});
});
//停止投放、投放
table.on('tool(list)', function(obj){
var data = obj.data;
//停止投放
if(obj.event === 'stop'){
layer.confirm('确认要停止发放这个红包吗? 停止后,用户将不能在领取这个红包,已经领取的可以在有效期内继续消费。', function(index){
$.post("{:url('cardstop')}",{id:data.id},function(res){
if(res.code==1){
layer.msg(res.msg,{time:1000,icon:1});
location.reload();
}else{
layer.msg(res.msg,{time:1000,icon:2});
}
});
layer.close(index);
});
}
//投放
if(obj.event === 'putin'){
layer.open({
type: 2,
title: '投放卡券',
shadeClose: true,
shade: 0.8,
area: ['90%', '90%'],
content: '{:url("cardputin")}?id='+obj.data.id //iframe的url
/*success:function(dom){
let $iframeDom=$(dom[0]).find("iframe").eq(0).contents();
$iframeDom.find("#test").html("我是从父级传来的值哟……")
}*/
});
}
});
})
</script>
\ No newline at end of file
... ...
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit">
<fieldset class="layui-elem-field layui-field-title">
<legend>{:$title}</legend>
</fieldset>
<blockquote class="layui-elem-quote">
<a href="{:url('card/platformcard')}" class="layui-btn layui-btn-lg layui-btn-danger">
<i class="fa fa-file-image-o"></i> 优惠券
</a>
<a href="{:url('card/cardputforplat')}" class="layui-btn layui-btn-lg">
<i class="fa fa-file-image-o"></i> 卡券投放
</a>
<a href="{:url('card/cardwriteoff')}" class="layui-btn layui-btn-lg">
<i class="fa fa-file-image-o"></i> 卡券核销
</a>
<a href="{:url('card/carddata')}" class="layui-btn layui-btn-lg">
<i class="fa fa-file-image-o"></i> 数据统计
</a>
</blockquote>
<div class="demoTable">
<!--商家名称:<div class="layui-inline">
<input class="layui-input" name="key" id="key" placeholder="{:lang('pleaseEnter')}店铺名称" autocomplete="off">
</div>
商家来源:
<div class="layui-input-inline layui-form">
<div class="layui-input-8">
<select name="class" id="channel" lay-filter="myselect">
<option value="4">全部</option>
<option value="1" selected>合作</option>
<option value="2">推广</option>
<option value="3">测试</option>
</select>
</div>
</div>
<button class="layui-btn" id="search" data-type="reload">搜索</button> --><button class="layui-btn" style="float:right;" id="addcard">新建卡券</button>
</div>
<table class="layui-table" id="list" lay-filter="list"></table>
</div>
{include file="common/foot"/}
<script>
layui.use(['table','form'], function() {
var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer;
var tableIn = table.render({
elem: '#list',
url: '{:url("platformcard")}',
method: 'post',
title: '卡券列表',
toolbar: '#toolbarDemo',
cols: [[
{field: 'id', title: '卡券编号',hide:true, fixed: true},
{field: 'card_title', title: '卡券名称'},
{field: 'price', align: 'center',title: '金额'},
{field: 'create_time', align: 'center', title: '创建日期'},
{field: 'creator', align: 'center', title: '创建人'},
{field: 'status', align: 'center',title: '状态'}
]]
,id: 'cardReload'
,page: true
});
//监听行双击事件
table.on('rowDouble(list)', function(obj){
//table.on('row(list)', function(obj){ 双击事件
//console.log(obj.tr) //得到当前行元素对象
console.log(obj.data) //得到当前行数据
layer.open({
type: 2,
title: obj.data.sellername,
shadeClose: true,
shade: 0.8,
area: ['90%', '90%'],
content: '{:url("carddetail")}?id='+obj.data.id //iframe的url
/*success:function(dom){
let $iframeDom=$(dom[0]).find("iframe").eq(0).contents();
$iframeDom.find("#test").html("我是从父级传来的值哟……")
}*/
});
});
//搜索
/*$('#search').on('click', function() {
//关键字
var key = $('#key').val();
var channel = $('#channel').val();
//传参
tableIn.reload({ page: {page: 1},where: {key: key,channel: channel}});
});
var $ = layui.$, active = {
reload: function(){
var channel = $('#channel');
var key = $('#key');
//执行重载
table.reload('cardReload', {
page: {
curr: 1 //重新从第 1 页开始
}
,where: {
key: {
id: key.val(),
channel: channel.val()
}
}
});
}
};*/
//新建卡券
$('#addcard').on('click', function() {
layer.open({
type: 2,
title: '创建优惠券',
shadeClose: true,
shade: 0.8,
area: ['90%', '90%'],
content: '{:url("selectplatform")}' //iframe的url
/*success:function(dom){
let $iframeDom=$(dom[0]).find("iframe").eq(0).contents();
$iframeDom.find("#test").html("我是从父级传来的值哟……")
}*/
});
});
})
</script>
\ No newline at end of file
... ...
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit">
<fieldset class="layui-elem-field layui-field-title">
<legend>{:$title}</legend>
</fieldset>
<form class="layui-form layui-form-pane" action="" lay-filter="card_info">
<div class="layui-tab layui-tab-card" lay-filter="demo">
<input type="hidden" value="1" name="card_from_type">
<input type="hidden" value="" id="card_id" name="card_id">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="1">1.选择卡券类型</li>
<li lay-id="2">2.填写卡券信息</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show" id="card_list_div">
<table class="layui-table" id="card_list" lay-filter="card_list"></table>
</div>
<div class="layui-tab-item">
<div class="layui-form-item">
<label class="layui-form-label">卡券名称</label>
<div class="layui-input-inline">
<input type="text" name="title" lay-verify="required" lay-reqtext="卡券名称是必填项,岂能为空?" id="title" autocomplete="off" placeholder="请输入卡券名称" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">例如进店红包,顾客在领取时将看到这个名字</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">卡券金额</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="price" id="price" lay-verify="required" placeholder="¥" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">元</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">卡券有效期</label>
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="date" id="date" lay-verify="required" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">该期间内可以消费使用</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn" lay-submit="" lay-filter="submit_add_card">完成创建</button>
<button type="reset" class="layui-btn layui-btn-primary">重新填写</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
{include file="common/foot"/}
<script type="text/html" id="sTpl">
{{# if(d.card_id == 1){ }}
<span style="color: #0000C6;">{{ d.card_name }}</span>
{{# } else { }}
{{ d.card_name }}
{{# } }}
</script>
<script>
layui.use(['table','form','element','laydate'], function() {
var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer,element = layui.element;
form.render(); //更新全部
var tableCr = table.render({
elem: '#card_list',
url: '{:url("cardtypelist")}',
method: 'post',
cols: [[
{field: 'card_id', title: '类型ID', align: 'center'},
{field: 'card_name', title: '卡券类型名称', align: 'center', templet: '#sTpl'},
{field:'card_desc', title: '卡券类型描述'},
{type:'radio', title: '选择', align: 'center',width:100}
]]
,id: 'cardtypeReload',
done: function(res, curr, count){
//部分单选按钮不可选中
for(var i = 0;i<res.data.length;i++){
var state = res.data[i].card_id;
if(state != 1 && res.rel==2){
//console.log(res.data[i]);return;
var index = res.data[i]['LAY_TABLE_INDEX'];
//按钮不可点击
$("div").children("#card_list_div tr[data-index="+index+"] input[type='radio']").prop("disabled","disabled");
//重新渲染按钮
form.render('radio');
}
}
}
});
//添加卡券
form.on('submit(submit_add_card)', function (data) {
var loading = layer.load(1, {shade: [0.1, '#fff']});
$.post("{:url('add_card')}", data.field, function (res) {
layer.close(loading);
if (res.code == 1) {
layer.msg(res.msg, {time: 1000, icon: 1}, function () {
window.parent.location.reload();
});
} else {
layer.msg(res.msg, {time: 1000, icon: 2});
}
});
})
//触发单选按钮时赋值
table.on('row(card_list)', function(obj) {
if(obj.data.card_id==1)
$('#card_id').val(obj.data.card_id);
});
//日期时间范围
laydate.render({
elem: '#date'
,type: 'datetime'
,range: true
});
})
</script>
\ No newline at end of file
... ...
... ... @@ -78,7 +78,7 @@
{include file="common/foot"/}
<script type="text/html" id="sTpl">
{{# if(d.card_id != 1){ }}
{{# if(d.card_id == 1){ }}
<span style="color: #0000C6;">{{ d.card_name }}</span>
{{# } else { }}
{{ d.card_name }}
... ... @@ -113,7 +113,7 @@
{field: 'card_id', title: '类型ID', align: 'center'},
{field: 'card_name', title: '卡券类型名称', align: 'center', templet: '#sTpl'},
{field:'card_desc', title: '卡券类型描述'},
{type:'radio', title: '选择店铺', align: 'center',width:100}
{type:'radio', title: '选择', align: 'center',width:100}
]]
,id: 'cardtypeReload',
done: function(res, curr, count){
... ...