Browse Source

Merge branch '20220729_newtpl' of gitea.intra.yunpaper.com:application/kuaileorder into 20220729_newtpl

pull/9/head
Jason 3 years ago
parent
commit
6de521b24a
  1. 2
      config/define.php
  2. 9
      control/index.php
  3. 77
      model/mOrder.php
  4. 4
      view/templates/include/admin_header.html
  5. 2
      view/templates/include/admin_leftmenu.html
  6. 117
      view/templates/index/home.html

2
config/define.php

@ -11,6 +11,8 @@
date_default_timezone_set("Asia/Shanghai");
define('BEIAN', '鲁ICP备14002313号-1');
define('LOG_PATH_BASE', DATACENTER_ROOT.'/logs/');
define('LOG_TRACK_SAVE_PATH', LOG_PATH_BASE.'track/%s/%s.log'); // 监控日志的路径,如2014-02-14/1(检测类型).log

9
control/index.php

@ -16,7 +16,7 @@ class index extends publicBase {
$this->view['menu_page'] = 'home';
}
public function ajax_get_data() {
public function ajax_get_charts_data() {
$shopinfo = $this->get_shopinfo();
$uid = $shopinfo['uid'];
$shop_id = $shopinfo['id'];
@ -214,4 +214,11 @@ class index extends publicBase {
return $nlist;
}
public function logout() {
unset($_SESSION['app_uid']);
unset($_SESSION['app_name']);
header('Location:/index');
exit();
}
}

77
model/mOrder.php

@ -301,24 +301,33 @@ class mOrder extends mBase {
}
public function getSumData($uid, $shop_id, $day=7) {
$default_date = date("Y-m-d");
$end_time = date("Y-m-d").' 23:59:59';
$dates = array();
if ($day == 7) {
$week = $this->getWeekStartEndDate($default_date);
$start_time = $week['start'].' 00:00:00';
$end_time = $week['end'].' 23:59:59';
$start_time = date("Y-m-d", strtotime('-6 day')).' 00:00:00';
$sql = 'select sum(`pay_amount`) as sumgroup,DATE_FORMAT(`pay_time`,"%Y-%m-%d") as dategroup from '.$this->order.' where `uid`='.$uid.' and `shop_id`='.$shop_id.' and `pay_time`>="'.$start_time.'" and `pay_time`<="'.$end_time.'" group by DATE_FORMAT(`pay_time`,"%Y-%m-%d")';
for ($i=0;$i<7;$i++) {
$dates[] = date("Y-m-d", strtotime('-'.$i.' day'));
}
$sql = 'select IFNULL(sum(`pay_amount`), 0) as sumgroup,DATE_FORMAT(`pay_time`,"%Y-%m-%d") as dategroup from '.$this->order.' where `uid`='.$uid.' and `shop_id`='.$shop_id.' and `pay_time`>="'.$start_time.'" and `pay_time`<="'.$end_time.'" group by DATE_FORMAT(`pay_time`,"%Y-%m-%d")';
} elseif ($day == 30) {
$start_time = date("Y-m-01").' 00:00:00';
$end_time = date("Y-m-t").' 23:59:59';
$start_time = date("Y-m-d", strtotime('-29 day')).' 00:00:00';
for ($i=0;$i<29;$i++) {
$dates[] = date("Y-m-d", strtotime('-'.$i.' day'));
}
$sql = 'select sum(`pay_amount`) as sumgroup,DATE_FORMAT(`pay_time`,"%Y-%m-%d") as dategroup from '.$this->order.' where `uid`='.$uid.' and `shop_id`='.$shop_id.' and `pay_time`>="'.$start_time.'" and `pay_time`<="'.$end_time.'" group by DATE_FORMAT(`pay_time`,"%Y-%m-%d")';
} elseif ($day == 365) {
$start_time = date("Y-01-01").' 00:00:00';
$end_time = date("Y-12-31").' 23:59:59';
$start_time = date("Y-m-d", strtotime('-1 year')).' 00:00:00';
for ($i=0;$i<12;$i++) {
$dates[] = date("Y-m", strtotime('-'.$i.' month'));
}
$sql = 'select sum(`pay_amount`) as sumgroup,DATE_FORMAT(`pay_time`,"%Y-%m") as dategroup from '.$this->order.' where `uid`='.$uid.' and `shop_id`='.$shop_id.' and `pay_time`>="'.$start_time.'" and `pay_time`<="'.$end_time.'" group by DATE_FORMAT(`pay_time`,"%Y-%m")';
@ -328,49 +337,73 @@ class mOrder extends mBase {
if (!$res) return array();
$date2sum = array();
foreach ($res[0] as $info) {
foreach ($res as $info) {
$date2sum[$info['dategroup']] = $info['sumgroup'];
}
$dates = array_reverse($dates);
$data = array();
foreach ($dates as $date) {
$data[$date] = $date2sum[$date] ? $date2sum[$date] : 0;
}
unset($res);
unset($date2sum);
return $date2sum;
return $data;
}
public function getRefundCountData($uid, $shop_id, $day=7) {
$default_date = date("Y-m-d");
$end_time = date("Y-m-d").' 23:59:59';
$dates = array();
if ($day == 7) {
$week = $this->getWeekStartEndDate($default_date);
$start_time = $week['start'].' 00:00:00';
$end_time = $week['end'].' 23:59:59';
$start_time = date("Y-m-d", strtotime('-6 day')).' 00:00:00';
for ($i=0;$i<7;$i++) {
$dates[] = date("Y-m-d", strtotime('-'.$i.' day'));
}
$sql = 'select count(*) as countgroup,DATE_FORMAT(`pay_time`,"%Y-%m-%d") as dategroup from '.$this->order.' where `uid`='.$uid.' and `shop_id`='.$shop_id.' and `refund_status` != '.REFUND_STATUS_NO_AFTER_SALES.' and `pay_time`>="'.$start_time.'" and `pay_time`<="'.$end_time.'" group by DATE_FORMAT(`pay_time`,"%Y-%m-%d")';
} elseif ($day == 30) {
$start_time = date("Y-m-01").' 00:00:00';
$end_time = date("Y-m-t").' 23:59:59';
$start_time = date("Y-m-d", strtotime('-29 day')).' 00:00:00';
for ($i=0;$i<29;$i++) {
$dates[] = date("Y-m-d", strtotime('-'.$i.' day'));
}
$sql = 'select count(*) as countgroup,DATE_FORMAT(`pay_time`,"%Y-%m-%d") as dategroup from '.$this->order.' where `uid`='.$uid.' and `shop_id`='.$shop_id.' and `refund_status` != '.REFUND_STATUS_NO_AFTER_SALES.' and `pay_time`>="'.$start_time.'" and `pay_time`<="'.$end_time.'" group by DATE_FORMAT(`pay_time`,"%Y-%m-%d")';
} elseif ($day == 365) {
$start_time = date("Y-01-01").' 00:00:00';
$end_time = date("Y-12-31").' 23:59:59';
$start_time = date("Y-m-d", strtotime('-1 year')).' 00:00:00';
$sql = 'select count(*) as countgroup,DATE_FORMAT(`pay_time`,"%Y-%m") as dategroup from '.$this->order.' where `uid`='.$uid.' and `shop_id`='.$shop_id.' and `refund_status` != '.REFUND_STATUS_NO_AFTER_SALES.' and `pay_time`>="'.$start_time.'" and `pay_time`<="'.$end_time.'" group by DATE_FORMAT(`pay_time`,"%Y-%m")';
for ($i=0;$i<12;$i++) {
$dates[] = date("Y-m", strtotime('-'.$i.' month'));
}
$sql = 'select count(*) as countgroup,DATE_FORMAT(`pay_time`,"%Y-%m") as dategroup from '.$this->order.' where `uid`='.$uid.' and `shop_id`='.$shop_id.' and `refund_status` != '.REFUND_STATUS_NO_AFTER_SALES.' and `pay_time`>="'.$start_time.'" and `pay_time`<="'.$end_time.'" group by DATE_FORMAT(`pay_time`,"%Y-%m")';
}
$res = $this->obj->execute($sql, true, true);
if (!$res) return array();
$date2count = array();
foreach ($res[0] as $info) {
foreach ($res as $info) {
$date2count[$info['dategroup']] = $info['countgroup'];
}
$dates = array_reverse($dates);
$data = array();
foreach ($dates as $date) {
$data[$date] = $date2count[$date] ? $date2count[$date] : 0;
}
unset($res);
unset($date2count);
return $date2count;
return $data;
}
}

4
view/templates/include/admin_header.html

@ -27,7 +27,7 @@
<li class="layui-nav-item layui-hide layui-show-md-inline-block">
<a href="javascript:;" style="color:#ffffff !important;" class="admin-header-user-info">
<img src="/images/header_user_logo.png" class="layui-nav-img admin-layui-nav-img">
ID:88900006543
{$_shopinfo.name}
</a>
<!-- <dl class="layui-nav-child">
@ -38,7 +38,7 @@
</li>
<li class="layui-nav-item layui-hide layui-show-md-inline-block" style="margin-left: 39px !important;">
<a href="javascript:;" style="color:rgba(255,255,255,0.8) !important;padding: 0px !important;margin-left: 0px !important;">
<a href="/index/logout" style="color:rgba(255,255,255,0.8) !important;padding: 0px !important;margin-left: 0px !important;">
<img src="/images/logout.svg" class="layui-nav-img admin_logout_img">
退出
</a>

2
view/templates/include/admin_leftmenu.html

@ -59,7 +59,7 @@
<img src="/images/menuleft_bottom_line.png" alt="">
<div>快乐分销v3.0</div>
<div>© Inc.All rights reserved.</div>
<div>鲁ICP备14002313号-1</div>
<a href="https://beian.miit.gov.cn" target="_blank" style="color: #3D7FFF"><div>{$smarty.const.BEIAN}</div></a>
</div>
</div>
</div>

117
view/templates/index/home.html

@ -36,21 +36,21 @@
<div class="admin-index-top-item-list-item">
<div class="admin-index-top-item-list-item-child">
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-red admin-index-top-item-list-item-child-dot1"></i> <span class="icon-- admin-index-top-item-list-item-child-icon1"></span>催发订单:</div>
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-{if $today_data.urge_order_count}red{else}grey{/if} admin-index-top-item-list-item-child-dot1"></i> <span class="icon-- admin-index-top-item-list-item-child-icon1"></span>催发订单:</div>
<div class="fr">{$today_data.urge_order_count}</div>
<div class="clear"></div>
</div>
<img class="admin-dashed-line" src="/images/admin_index_dashed_line.png">
<div class="admin-index-top-item-list-item-child">
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-red"></i><span class="icon-uniE900 admin-index-top-item-list-item-child-icon2"></span>倒计时订单:</div>
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-{if $today_data.countdown_order_count}red{else}grey{/if}"></i><span class="icon-uniE900 admin-index-top-item-list-item-child-icon2"></span>倒计时订单:</div>
<div class="fr">{$today_data.countdown_order_count}</div>
<div class="clear"></div>
</div>
<img class="admin-dashed-line" src="/images/admin_index_dashed_line.png">
<div class="admin-index-top-item-list-item-child">
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-grey"></i><span class="icon--1 admin-index-top-item-list-item-child-icon3"></span>待发货订单:</div>
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-{if $today_data.wait_deliver_goods_count}red{else}grey{/if}"></i><span class="icon--1 admin-index-top-item-list-item-child-icon3"></span>待发货订单:</div>
<div class="fr">{$today_data.wait_deliver_goods_count}</div>
<div class="clear"></div>
</div>
@ -61,14 +61,14 @@
<img class="admin-dashed-line" src="/images/admin_index_dashed_line.png">
<div class="admin-index-top-item-list-item">
<div class="admin-index-top-item-list-item-child">
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-red"></i><span class="icon-uniE9001 admin-index-top-item-list-item-child-icon4"></span>平台介入中:</div>
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-{if $today_data.platform_processing_count}red{else}grey{/if}"></i><span class="icon-uniE9001 admin-index-top-item-list-item-child-icon4"></span>平台介入中:</div>
<div class="fr">{$today_data.platform_processing_count}</div>
<div class="clear"></div>
</div>
<img class="admin-dashed-line" src="/images/admin_index_dashed_line.png">
<div class="admin-index-top-item-list-item-child">
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-grey"></i><span class="icon-11 admin-index-top-item-list-item-child-icon4"></span>待售后订单:</div>
<div class="fl"><i class="admin-index-top-item-list-item-child-dot-{if $today_data.wait_after_sale_count}red{else}grey{/if}"></i><span class="icon-11 admin-index-top-item-list-item-child-icon4"></span>待售后订单:</div>
<div class="fr">{$today_data.wait_after_sale_count}</div>
<div class="clear"></div>
</div>
@ -81,14 +81,14 @@
<div class="admin-index-top-item">
<div class="admin-index-top-item-header">
<ul class="admin-index-top-item-header-left">
<li class="active">销售额</li>
<li>退订单数</li>
<li class="active" onclick="getChartsData3('sales_volume', '365', this);">销售额</li>
<li onclick="getChartsData3('refund', '365', this);">退订单数</li>
</ul>
<input id="hidden_params" type="hidden" flag="sales_volume">
<ul class="admin-index-top-item-header-right">
<li>本周</li>
<li>本月</li>
<li class="active">全年</li>
<li onclick="getChartsData2(7, this);">7天</li>
<li onclick="getChartsData2(30, this);">30天</li>
<li class="active" onclick="getChartsData2(365, this);">全年</li>
</ul>
</div>
<div class="admin-index-top-item-header-line"></div>
@ -102,27 +102,33 @@
<div class="admin-index-bottom-item">
<div class="admin-card-text-1"><a href="/index/wait_deliver_list">催发货订单(总)&nbsp;&nbsp;<span class="icon-1-2 admin-right-arrow"></span></a></div>
<div class="admin-card-text-2">{$total_data.total_urge_order_count}<span>&nbsp;</span></div>
<div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div>
<div class="admin-card-text-5"><i class="admin-index-top-item-list-item-child-dot-red2"></i>这些顾客在催促发货咯</div>
<!-- <div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div> -->
<div class="admin-card-text-3">&nbsp;</div>
<div class="admin-card-text-4">&nbsp;</div>
<div class="admin-card-text-5 {if $total_data.total_urge_order_count==0}primary-msg{/if}"><i class="admin-index-top-item-list-item-child-dot-{if $total_data.total_urge_order_count}red2{else}grey2{/if}"></i>这些顾客在催促发货咯</div>
</div>
</div>
<div class="layui-col-lg2dot4 admin-layui-col-bottom-list">
<div class="admin-index-bottom-item">
<div class="admin-card-text-1"><a href="/index/wait_deliver_list">倒计时订单(总)&nbsp;&nbsp;<span class="icon-1-2 admin-right-arrow"></span></a></div>
<div class="admin-card-text-2">{$total_data.total_countdown_order_count}<span>&nbsp;</span></div>
<div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div>
<div class="admin-card-text-5"><i class="admin-index-top-item-list-item-child-dot-red2"></i>这些订单还有12h超时!</div>
<!-- <div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div> -->
<div class="admin-card-text-3">&nbsp;</div>
<div class="admin-card-text-4">&nbsp;</div>
<div class="admin-card-text-5 {if $total_data.total_countdown_order_count==0}primary-msg{/if}"><i class="admin-index-top-item-list-item-child-dot-{if $total_data.total_countdown_order_count}red2{else}grey2{/if}"></i>这些订单还有12h超时!</div>
</div>
</div>
<div class="layui-col-lg2dot4 admin-layui-col-bottom-list">
<div class="admin-index-bottom-item">
<div class="admin-card-text-1"><a href="/index/wait_deliver_list">待发货订单(总)&nbsp;&nbsp;<span class="icon-1-2 admin-right-arrow"></span></a></div>
<div class="admin-card-text-2">{$total_data.total_wait_deliver_goods_count}<span>&nbsp;</span></div>
<div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div>
<div class="admin-card-text-5 primary-msg"><i class="admin-index-top-item-list-item-child-dot-grey2"></i>有新增的订单啦</div>
<!-- <div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div> -->
<div class="admin-card-text-3">&nbsp;</div>
<div class="admin-card-text-4">&nbsp;</div>
<div class="admin-card-text-5 {if $total_data.total_wait_deliver_goods_count==0}primary-msg{/if}"><i class="admin-index-top-item-list-item-child-dot-{if $total_data.total_wait_deliver_goods_count}red2{else}grey2{/if}"></i>有新增的订单啦</div>
</div>
</div>
@ -130,9 +136,11 @@
<div class="admin-index-bottom-item">
<div class="admin-card-text-1"><a href="/index/after_sale_list">平台介入中订单(总)&nbsp;&nbsp;<span class="icon-1-2 admin-right-arrow"></span></a></div>
<div class="admin-card-text-2">{$total_data.total_platform_processing_count}<span>&nbsp;</span></div>
<div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div>
<div class="admin-card-text-5"><i class="admin-index-top-item-list-item-child-dot-red2"></i>这些订单官方客服已介入</div>
<!-- <div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div> -->
<div class="admin-card-text-3">&nbsp;</div>
<div class="admin-card-text-4">&nbsp;</div>
<div class="admin-card-text-5 {if $total_data.total_platform_processing_count==0}primary-msg{/if}"><i class="admin-index-top-item-list-item-child-dot-{if $total_data.total_platform_processing_count}red2{else}grey2{/if}"></i>这些订单官方客服已介入</div>
</div>
</div>
@ -140,9 +148,11 @@
<div class="admin-index-bottom-item">
<div class="admin-card-text-1"><a href="/index/after_sale_list">待售后订单(总)&nbsp;&nbsp;<span class="icon-1-2 admin-right-arrow"></span></a></div>
<div class="admin-card-text-2">{$total_data.total_wait_after_sale_count}<span>&nbsp;</span></div>
<div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div>
<div class="admin-card-text-5 primary-msg"><i class="admin-index-top-item-list-item-child-dot-grey2"></i>这些顾客想要退款</div>
<!-- <div class="admin-card-text-3">日增长:+0.61%<span class="icon--2"></span></div>
<div class="admin-card-text-4">周减少:-0.61%<span class="icon-21"></span></div> -->
<div class="admin-card-text-3">&nbsp;</div>
<div class="admin-card-text-4">&nbsp;</div>
<div class="admin-card-text-5 {if $total_data.total_wait_after_sale_count == 0}primary-msg{/if}"><i class="admin-index-top-item-list-item-child-dot-{if $total_data.total_wait_after_sale_count}red2{else}grey2{/if}"></i>这些顾客想要退款</div>
</div>
</div>
</div>
@ -155,8 +165,13 @@
</div>
<script src="/js/layui.js"></script>
<script src="/js/echarts_5.5.3.min.js"></script>
<script src="/js/jquery-1.8.1.min.js"></script>
{literal}
<script>
$(function(){
getChartsData('sales_volume', '365');
})
layui.use(['element', 'layer', 'util'], function(){
var element = layui.element
,layer = layui.layer
@ -199,8 +214,46 @@ layui.use(['element', 'layer', 'util'], function(){
});
});
function getChartsData(type, day) {
$('#hidden_params').attr('flag', type);
$.ajax({
url:"/index/ajax_get_charts_data",
type:'post',
data:{type:type, day:day},
dataType:"json",
success:function(data){
var charts_dates = [];
var charts_values = [];
$.each(data.data,function(d, v){
charts_dates.push(d);
charts_values.push(v);
});
value_name = '';
if (type == 'sales_volume') value_name = '销售额';
if (type == 'refund') value_name = '退款订单数';
createCharts(charts_dates, charts_values, value_name);
},
error:function(){
alert("请求失败");
}
});
}
function getChartsData2(day, obj) {
$('.admin-index-top-item-header-right').find('li').removeClass('active');
$(obj).addClass('active');
getChartsData($('#hidden_params').attr('flag'), day);
}
function getChartsData3(type, day, obj) {
$('.admin-index-top-item-header-left').find('li').removeClass('active');
$(obj).addClass('active');
getChartsData(type, day);
}
function createCharts(charts_dates, charts_values, value_name) {
var myChart = echarts.init(document.getElementById('admin-map-container'));
var monthList = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];
// var monthList = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];
var option = {
title: {
text: '销售额趋势',
@ -224,7 +277,7 @@ var option = {
}
},
xAxis: {
data: monthList,
data: charts_dates,
axisLabel:{
show:true,
color:'rgba(0,0,0,0.65)',
@ -254,9 +307,10 @@ var option = {
},
series: [
{
name: '销量',
name: value_name,
type: 'bar',
data: [100, 1000, 256, 488, 588, 189, 110, 100, 556, 188, 888, 289],
data: charts_values,
//data: [100, 1000, 256, 488, 588, 189, 110, 100, 556, 188, 888, 289],
itemStyle:{
color:'rgba(24, 144, 255)',
opacity:0.85
@ -264,9 +318,10 @@ var option = {
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
</script>
{/literal}

Loading…
Cancel
Save