Commit 077b355abd3398253c084562c03abe27faeb4729

Authored by teemitop
1 parent 21bdd5ea

数据统计

@@ -574,58 +574,114 @@ class Card extends Common @@ -574,58 +574,114 @@ class Card extends Common
574 } 574 }
575 575
576 /** 576 /**
577 - * 商家卡券-数据统计-统计列表 577 + * 商家卡券-数据统计-某个商家订单详情
578 */ 578 */
579 public function sellercarddatalog(){ 579 public function sellercarddatalog(){
  580 + $data = Request::except('file');
580 if(Request::isAjax()){ 581 if(Request::isAjax()){
581 - $data = Request::except('file');  
582 -  
583 $where = ''; 582 $where = '';
584 $channel = $data['channel'] ? $data['channel'] : 1; 583 $channel = $data['channel'] ? $data['channel'] : 1;
585 584
586 - $where .= ($channel && $channel==4) ? ' re.type_id in (1,2,3)' : " re.type_id in ($channel)";  
587 - $where .= $data['key'] ? ' and s.sellername like "%'.$data['key'].'%"' : ""; 585 + $where .= ($channel && $channel==4) ? 'rel.type_id in (1,2,3)' : 'rel.type_id in (1,2,3)';//"rel.type_id in ($channel)";
  586 + //证明是需要根据名称搜索,忽略隐藏域商家ID
  587 + $where .= $data['key'] ? ' AND s.sellername = "%'.$data['key'].'%"' : ' AND s.id = '.$data['seller_id'].'';
  588 +
  589 +
  590 + //日期
  591 + $time = $data['time'] ? explode(' - ', $data['time']) : '';
  592 + $start = $time ? strtotime(date($time[0],time())) : 0;
  593 + $end = $time ? strtotime(date($time[1],time())) : 0;
  594 +
  595 + $where .= $data['time'] ? ' AND r.cdate BETWEEN '.$start.' AND '.$end : '';
588 596
589 $offset = ($data["page"] - 1) * $data["limit"]; 597 $offset = ($data["page"] - 1) * $data["limit"];
590 $limit = " LIMIT $offset,".$data['limit']; 598 $limit = " LIMIT $offset,".$data['limit'];
591 599
592 - //卡券信息 600 + //订单信息
593 $rs = Db::query("SELECT 601 $rs = Db::query("SELECT
594 - s.* 602 + r.id,
  603 + r.sid,
  604 + r.tableinfo,
  605 + r.ddate,
  606 + r.ddate_solt,
  607 + r.rname,
  608 + r.sex,
  609 + s.sellername,
  610 + data_rel.cid,
  611 + data_rel.oid
595 FROM 612 FROM
596 - `xt-member-two-LINE`.xt_dc_dz_card_info AS s  
597 - LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.sid  
598 - WHERE s.owner = 2 AND  
599 - ".$where." order by s.sid".$limit); 613 + `xt-member-two-LINE`.xt_dc_reserve AS r
  614 + LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON r.sid = s.id
  615 + LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS rel ON rel.sid = s.id
  616 + LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_data_rel AS data_rel ON data_rel.rid = r.id
  617 + WHERE
  618 + ".$where.$limit);
600 //格式化数据 619 //格式化数据
601 foreach ($rs as $key => $value) { 620 foreach ($rs as $key => $value) {
602 - $rs[$key]['create_time'] = date("Y年m月d日",$value['create_time']);  
603 - switch ($value['status']) { 621 + $rs[$key]['rname'] = $value['sex']==1 ? $value['rname'].'先生' : ($value['sex']==2 ? $value['rname'].'女士' : $value['rname']);
  622 + $rs[$key]['ddate'] = date("Y年m月d日",$value['ddate']);
  623 + $rs[$key]['tableinfo'] = $value['tableinfo'] ? implode(',', array_column(json_decode($value['tableinfo']), 'name')) : '';
  624 + switch ($value['ddate_solt']) {
604 case '1': 625 case '1':
605 - $rs[$key]['status'] = '已投放'; 626 + $rs[$key]['ddate_solt'] = '早餐';
606 break; 627 break;
607 case '2': 628 case '2':
608 - $rs[$key]['status'] = '未投放'; 629 + $rs[$key]['ddate_solt'] = '午餐';
609 break; 630 break;
610 case '3': 631 case '3':
611 - $rs[$key]['status'] = '停止投放'; 632 + $rs[$key]['ddate_solt'] = '晚餐';
612 break; 633 break;
613 default: 634 default:
614 # code... 635 # code...
615 break; 636 break;
616 } 637 }
  638 + //查询账单所牵扯的卡券
  639 + if($value['oid']) {
  640 + $card_title = Db::query("SELECT
  641 + i.card_title
  642 + FROM
  643 + `xt-member-two-LINE`.xt_dc_dz_discount_act act
  644 + LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_data_rel rel ON act.cid = rel.id
  645 + LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_info i ON rel.cid = i.id
  646 + WHERE
  647 + orderid = ".$value['oid']);
  648 +
  649 + $rs[$key]['card_title'] = implode("<br/>", array_column($card_title, 'card_title'));
  650 + //查询提前买单账单金额
  651 + $price = Db::query("SELECT
  652 + should_price,
  653 + actual_price
  654 + FROM
  655 + `xt-member-two-LINE`.xt_dc_dz_seller_flowing_log
  656 + WHERE
  657 + rid = ".$value['id']);
  658 + $rs[$key]['should_price'] = $price ? $price['should_price'] : '';
  659 + $rs[$key]['actual_price'] = $price ? $price['actual_price'] : '';
  660 + }
617 } 661 }
618 662
619 //获取总条数 663 //获取总条数
620 $total = Db::query("SELECT 664 $total = Db::query("SELECT
621 - s.id  
622 - FROM  
623 - `xt-member-two-LINE`.xt_dc_dz_card_info AS s  
624 - LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.sid  
625 - WHERE s.owner = 2 AND  
626 - ".$where.""); 665 + r.id,
  666 + r.sid,
  667 + r.tableinfo,
  668 + r.ddate,
  669 + r.ddate_solt,
  670 + r.rname,
  671 + r.sex,
  672 + s.sellername,
  673 + data_rel.cid,
  674 + data_rel.oid
  675 + FROM
  676 + `xt-member-two-LINE`.xt_dc_reserve AS r
  677 + LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON r.sid = s.id
  678 + LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS rel ON rel.sid = s.id
  679 + LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_data_rel AS data_rel ON data_rel.rid = r.id
  680 + WHERE
  681 + ".$where);
627 return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1]; 682 return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
628 } 683 }
  684 + $this->assign ( 'sid',$data['id']);
629 $this->assign ( 'title','商家卡券信息统计'); 685 $this->assign ( 'title','商家卡券信息统计');
630 return $this->fetch(); 686 return $this->fetch();
631 } 687 }
@@ -17,14 +17,6 @@ @@ -17,14 +17,6 @@
17 <i class="fa fa-file-image-o"></i> 数据统计 17 <i class="fa fa-file-image-o"></i> 数据统计
18 </a> 18 </a>
19 </blockquote> 19 </blockquote>
20 - <blockquote class="layui-elem-quote">  
21 - <a href="{:url('card/sellercarddatalist')}" class="layui-btn layui-btn-sm layui-btn-danger">  
22 - <i class="fa fa-file-image-o"></i> 卡券数据  
23 - </a>  
24 - <a href="{:url('card/sellercarddatalog')}" class="layui-btn layui-btn-sm">  
25 - <i class="fa fa-file-image-o"></i> 使用记录  
26 - </a>  
27 - </blockquote>  
28 20
29 <div class="demoTable"> 21 <div class="demoTable">
30 商家名称:<div class="layui-inline"> 22 商家名称:<div class="layui-inline">
@@ -53,6 +45,10 @@ @@ -53,6 +45,10 @@
53 </div> 45 </div>
54 {include file="common/foot"/} 46 {include file="common/foot"/}
55 47
  48 +<script type="text/html" id="action">
  49 + <a href="{:url('sellercarddatalog')}?id={{d.sid}}&name={{d.sellername}}" class="layui-btn layui-btn-xs">查看订单</a>
  50 +</script>
  51 +
56 <script> 52 <script>
57 layui.use(['table','form','laydate'], function() { 53 layui.use(['table','form','laydate'], function() {
58 var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer; 54 var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer;
@@ -74,7 +70,8 @@ @@ -74,7 +70,8 @@
74 {field: 'write_off_people_number', align: 'center', title: '核销人数'}, 70 {field: 'write_off_people_number', align: 'center', title: '核销人数'},
75 {field: 'write_off_people_frequency', align: 'center', title: '核销次数'}, 71 {field: 'write_off_people_frequency', align: 'center', title: '核销次数'},
76 {field: 'amount_receivable', align: 'center', title: '应收金额'}, 72 {field: 'amount_receivable', align: 'center', title: '应收金额'},
77 - {field: 'paid_in_amount', align: 'center', title: '实收金额'} 73 + {field: 'paid_in_amount', align: 'center', title: '实收金额'},
  74 + {align: 'center', width:200,title: '操作', toolbar: '#action'}
78 ]] 75 ]]
79 ,id: 'cardReload' 76 ,id: 'cardReload'
80 ,page: true 77 ,page: true
1 {include file="common/head"/} 1 {include file="common/head"/}
  2 +<style>
  3 + .layui-table-cell {
  4 + height: auto;
  5 +}
  6 + </style>
2 <div class="admin-main layui-anim layui-anim-upbit"> 7 <div class="admin-main layui-anim layui-anim-upbit">
3 <fieldset class="layui-elem-field layui-field-title"> 8 <fieldset class="layui-elem-field layui-field-title">
4 <legend>{:$title}</legend> 9 <legend>{:$title}</legend>
@@ -17,16 +22,9 @@ @@ -17,16 +22,9 @@
17 <i class="fa fa-file-image-o"></i> 数据统计 22 <i class="fa fa-file-image-o"></i> 数据统计
18 </a> 23 </a>
19 </blockquote> 24 </blockquote>
20 - <blockquote class="layui-elem-quote">  
21 - <a href="{:url('card/sellercarddatalist')}" class="layui-btn layui-btn-sm">  
22 - <i class="fa fa-file-image-o"></i> 卡券数据  
23 - </a>  
24 - <a href="{:url('card/sellercarddatalog')}" class="layui-btn layui-btn-sm layui-btn-danger">  
25 - <i class="fa fa-file-image-o"></i> 使用记录  
26 - </a>  
27 - </blockquote>  
28 25
29 <div class="demoTable"> 26 <div class="demoTable">
  27 + <input type="hidden" name="sid" id="sid" value="{:$sid}" autocomplete="off">
30 商家名称:<div class="layui-inline"> 28 商家名称:<div class="layui-inline">
31 <input class="layui-input" name="key" id="key" placeholder="{:lang('pleaseEnter')}店铺名称" autocomplete="off"> 29 <input class="layui-input" name="key" id="key" placeholder="{:lang('pleaseEnter')}店铺名称" autocomplete="off">
32 </div> 30 </div>
@@ -44,10 +42,7 @@ @@ -44,10 +42,7 @@
44 <div class="layui-inline"> 42 <div class="layui-inline">
45 <label class="layui-form-label">日期范围</label> 43 <label class="layui-form-label">日期范围</label>
46 <div class="layui-input-inline"> 44 <div class="layui-input-inline">
47 - <input type="text" class="layui-input" id="start" placeholder="yyyy-MM-dd">  
48 - </div>至  
49 - <div class="layui-input-inline">  
50 - <input type="text" class="layui-input" id="end" placeholder="yyyy-MM-dd"> 45 + <input type="text" class="layui-input" id="time" placeholder="默认查询所有">
51 </div> 46 </div>
52 </div> 47 </div>
53 <button class="layui-btn" id="search" data-type="reload">查询统计</button> 48 <button class="layui-btn" id="search" data-type="reload">查询统计</button>
@@ -61,19 +56,22 @@ @@ -61,19 +56,22 @@
61 var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer; 56 var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer;
62 var tableIn = table.render({ 57 var tableIn = table.render({
63 elem: '#list', 58 elem: '#list',
64 - url: '{:url("sellercarddatalist")}', 59 + url: '{:url("sellercarddatalog")}',
65 method: 'post', 60 method: 'post',
66 title: '卡券列表', 61 title: '卡券列表',
67 toolbar: '#toolbarDemo', 62 toolbar: '#toolbarDemo',
  63 + where:{seller_id:$('#sid').val()},//将默认参数传递与后台
68 cols: [[ 64 cols: [[
69 {field: 'id', title: '商家卡券编号',hide:true, fixed: true}, 65 {field: 'id', title: '商家卡券编号',hide:true, fixed: true},
70 {field: 'sid', title: '商家编号', fixed: true}, 66 {field: 'sid', title: '商家编号', fixed: true},
71 {field: 'sellername', title: '商家名称'}, 67 {field: 'sellername', title: '商家名称'},
72 - {field: 'card_title', title: '卡券名称'},  
73 - {field: 'price', align: 'center',title: '金额'},  
74 - {field: 'create_time', align: 'center', title: '创建日期'},  
75 - {field: 'creator', align: 'center', title: '创建人'},  
76 - {field: 'status', align: 'center',title: '状态'} 68 + {field: 'ddate', title: '到店日期'},
  69 + {field: 'ddate_solt', title: '时段'},
  70 + {field: 'tableinfo', title: '包间名称'},
  71 + {field: 'rname', title: '客户姓名'},
  72 + {field: 'card_title',title: '卡券'},
  73 + {field: 'should_price', align: 'center',title: '应收金额'},
  74 + {field: 'actual_price', align: 'center', title: '实收金额'}
77 ]] 75 ]]
78 ,id: 'cardReload' 76 ,id: 'cardReload'
79 ,page: true 77 ,page: true
@@ -121,14 +119,10 @@ @@ -121,14 +119,10 @@
121 } 119 }
122 }; 120 };
123 121
124 - //开启公历节日  
125 - laydate.render({  
126 - elem: '#start'  
127 - ,calendar: true  
128 - }); 122 + //日期插件
129 laydate.render({ 123 laydate.render({
130 - elem: '#end'  
131 - ,calendar: true  
132 - }); 124 + elem: '#time'
  125 + ,range: true
  126 + })
133 }) 127 })
134 </script> 128 </script>