修复项目任务列表新建时间戳

修复区域销售品类报表错误
This commit is contained in:
乐风 2021-06-14 03:52:48 +08:00
parent dc44127259
commit 43e437209e
9 changed files with 70 additions and 204 deletions

View File

@ -670,7 +670,7 @@ $(function() {
title: '添加表单组', title: '添加表单组',
onSubmit: function() { onSubmit: function() {
var title = $(this).find('#group_title').val(); var title = $(this).find('#group_title').val();
var type = $(this).find('group_type').val(); var type = $(this).find('#group_type').val();
var border = $(this).find('#group_border').val(); var border = $(this).find('#group_border').val();
var size = $('.droppedFields').size() + 1; var size = $('.droppedFields').size() + 1;
@ -699,7 +699,7 @@ $(function() {
}, },
onSubmit: function() { onSubmit: function() {
var title = $(this).find('#group_title').val(); var title = $(this).find('#group_title').val();
var type = $(this).find('group_type').val(); var type = $(this).find('#group_type').val();
var border = $(this).find('#group_border').val(); var border = $(this).find('#group_border').val();
dropped.attr('data-title', title); dropped.attr('data-title', title);
dropped.attr('data-type', type); dropped.attr('data-type', type);
@ -765,8 +765,8 @@ $(function() {
// 初始化字段 // 初始化字段
$.each(fields, function(k, form_group) { $.each(fields, function(k, form_group) {
var type = form_group.type; var type = form_group.type;
var size = form_group.column; var size = form_group.column;
var title = form_group.title || ''; var title = form_group.title || '';
var border = form_group.border; var border = form_group.border;
var _fields = Array(); var _fields = Array();
@ -789,7 +789,7 @@ $(function() {
}); });
droppedFieldsBox.append('<div class="panel b-a"><div class="panel-heading b-b"><span class="pull-right"><i class="fa fa-fw fa-pencil"></i><i class="fa fa-fw fa-remove"></i></span><span class="label bg-light panel-type">panel</span> <span class="panel-title">' + title + '</span></div><div data-type="' + type + '" data-border="'+border+'" data-title="' + title + '" data-column="' + size + '" id="selected-column-' + size + '" class="droppedFields">' + _fields.join('') + '</div></div>'); droppedFieldsBox.append('<div class="panel b-a"><div class="panel-heading b-b"><span class="pull-right"><i class="fa fa-fw fa-pencil"></i><i class="fa fa-fw fa-remove"></i></span><span class="label bg-light panel-type">' + type + '</span> <span class="panel-title">' + title + '</span></div><div data-type="' + type + '" data-border="'+border+'" data-title="' + title + '" data-column="' + size + '" id="selected-column-' + size + '" class="droppedFields">' + _fields.join('') + '</div></div>');
}); });

View File

@ -13,7 +13,6 @@ use Gdoo\Index\Controllers\DefaultController;
class ReportController extends DefaultController class ReportController extends DefaultController
{ {
public $permission = [ public $permission = [
'citydata',
'clientdata' 'clientdata'
]; ];
@ -1060,84 +1059,6 @@ class ReportController extends DefaultController
)); ));
} }
// 单区域数据分析
public function citydata()
{
// 获得销售员登录名
$year = Request::get('year');
$circle_id = Request::get('circle_id');
$rows = $model = DB::table('order_data as i')
->leftJoin('order_type as t', 't.id', '=', 'i.type')
->leftJoin('order as o', 'o.id', '=', 'i.order_id')
->leftJoin('user as c', 'c.id', '=', 'o.client_id')
->leftJoin('client', 'client.user_id', '=', 'c.id')
->leftJoin('region as r', 'r.id', '=', 'c.city_id')
->leftJoin('product as p', 'p.id', '=', 'i.product_id')
->where('i.deleted', 0)
->where('o.pay_time', '>', 0)
->where('client.circle_id', $circle_id)
->whereRaw('FROM_UNIXTIME(o.pay_time,"%Y")=?', [$year])
->where('t.type', 1)
->groupBy('p.category_id')
->groupBy('o.client_id')
//->groupBy('r.id')
->groupBy('month')
->orderBy('month', 'ASC')
->selectRaw('c.city_id,client.circle_id,o.client_id,c.nickname company_name,r.name city_name,c.salesman_id,p.category_id,i.product_id,SUM(i.fact_amount * i.price) money,FROM_UNIXTIME(o.pay_time,"%Y") year,FROM_UNIXTIME(o.pay_time,"%c") month');
$rows = $model->get();
if ($rows->count()) {
$single = array();
foreach ($rows as $v) {
if ($v['circle_id'] > 0) {
//循环产品
$single['money'][$v['month']][$v['category_en']] += $v['money'];
$single['cat'][$v['month']] += $v['money'];
$single['category'][$v['category_en']] = $v['category'];
}
}
}
//促销计算
$_promotions = DB::table('promotion as p')
->leftJoin('user as c', 'c.id', '=', 'p.customer_id')
->leftJoin('client', 'client.user_id', '=', 'c.id')
->leftJoin('region as r', 'r.id', '=', 'c.city_id')
->where('p.deleted_by', 0)
->where('client.circle_id', $circle_id)
->whereRaw("DATE_FORMAT(p.data_30, '%Y')=?", [$year])
->groupBy('p.customer_id')
//->groupBy('r.id')
->groupBy('month')
->selectRaw('r.id,c.salesman_id,client.circle_id,p.customer_id, DATE_FORMAT(p.end_at, "%c") as month, SUM(p.data_amount) as bd_sum, p.type_id')
->get();
if ($_promotions->count()) {
foreach ($_promotions as $v) {
if ($v['circle_id']) {
//促销分类金额
$promotions['month'][$v['month']][$v['type_id']] += $v['bd_sum'];
$promotions['month1'][$v['month']] += $v['bd_sum'];
}
}
}
unset($_promotions);
$circle = DB::table('customer_circle')->where('id', $circle_id)->first();
return $this->display(array(
'single' => $single,
'year' => $year,
'categorys' => $categorys,
'promotions'=> $promotions,
'select' => $selects,
'query' => $query,
'assess' => $assess,
'circle' => $circle,
));
}
// 单品客户数据分析 // 单品客户数据分析
public function client() public function client()
{ {

View File

@ -7,9 +7,8 @@
<a class="btn btn-default btn-sm" onclick="LocalTableExport('report_export', '地区品类销售');"><i class="fa fa-mail-forward"></i> 导出</a> <a class="btn btn-default btn-sm" onclick="LocalTableExport('report_export', '地区品类销售');"><i class="fa fa-mail-forward"></i> 导出</a>
</div> </div>
@if(Auth::user()->role->code != 'c001') @include('report/select')
@include('report/select')
@endif
<button type="submit" class="btn btn-default btn-sm"><i class="fa fa-search"></i> 筛选</button> <button type="submit" class="btn btn-default btn-sm"><i class="fa fa-search"></i> 筛选</button>
</form> </form>
</div> </div>
@ -17,51 +16,68 @@
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-bordered" id="report_export"> <table class="table table-bordered" id="report_export">
<tr> <tr>
<th style="white-space:nowrap">
销售组
</th>
@foreach($categorys as $k => $v) <th style="white-space:nowrap">销售区域</th>
@if($v['parent_id'] == 226)
<th nowrap="true">{{$v['name']}}</th> <th style="white-space:nowrap"></th>
@endif
@endforeach @if(count($categorys))
@foreach($categorys as $k => $v)
@if($v['parent_id'] == 226)
<th nowrap="nowrap">{{$v['name']}}</th>
@endif
@endforeach
@endif
<th>总销售额</th> <th>总销售额</th>
<th>促销费比</th> <th>促销费比</th>
<th>促销金额</th>
<!--
<th>消费促销</th> <th>消费促销</th>
<th>渠道促销</th> <th>渠道促销</th>
<th>经销促销</th> <th>经销促销</th>
-->
</tr> </tr>
@if(count($now_year_single['money']))
@foreach($now_year_single['money'] as $key => $value) @foreach($now_year_single['money'] as $key => $value)
<tr> <tr>
<td rowspan="3" align="center" style="white-space:nowrap;vertical-align:middle;"> <td rowspan="3" align="center" style="white-space:nowrap;vertical-align:middle;">
{{$regions[$key]}} {{$regions[$key]}}
<a class="option" href="{{url('citydata')}}?circle_id={{$key}}&year={{$now_year}}">
[月销]
</a>
</td> </td>
<td align="center" style="vertical-align:middle;color:#999;">销售金额()</td>
@if(count($categorys))
@foreach($categorys as $k => $v) @foreach($categorys as $k => $v)
@if($v['parent_id'] == 226) @if($v['parent_id'] == 226)
<td align="right"> <td align="right">
{{(int)$value[$k]}} {{number_format($value[$k], 2)}}
</td> </td>
@endif @endif
@endforeach @endforeach
@endif
<td style="vertical-align:middle;" align="right">{{$now_year_single['totalcost'][$key]}}</td> <td style="vertical-align:middle;" align="right">
{{number_format($now_year_single['totalcost'][$key], 2)}}
</td>
<td rowspan="3" style="vertical-align:middle;" align="center"> <td rowspan="3" style="vertical-align:middle;" align="center">
@if($promotions['all'][$key]) @if($promotions['all'][$key])
{{:$c = ($promotions['all'][$key]/$now_year_single['totalcost'][$key])}} {{:$c = ($promotions['all'][$key]/$now_year_single['totalcost'][$key])}}
{{number_format($c*100, 2)}}% {{number_format($c * 100, 2)}}%
@else @else
0.00% 0.00%
@endif @endif
</td> </td>
<td rowspan="3" style="vertical-align:middle;" align="right">
{{$promotions['all'][$key] > 0 ? $promotions['all'][$key] : 0}}
</td>
<!--
{{:$ps = $promotions[$key]}} {{:$ps = $promotions[$key]}}
<td rowspan="3" style="vertical-align:middle;" align="right"> <td rowspan="3" style="vertical-align:middle;" align="right">
{{$ps[1] > 0 ? $ps[1] : 0}} {{$ps[1] > 0 ? $ps[1] : 0}}
@ -72,24 +88,30 @@
<td rowspan="3" style="vertical-align:middle;" align="right"> <td rowspan="3" style="vertical-align:middle;" align="right">
{{$ps[3] > 0 ? $ps[3] : 0}} {{$ps[3] > 0 ? $ps[3] : 0}}
</td> </td>
-->
</tr> </tr>
<tr> <tr>
@foreach($categorys as $category_id => $category) <td align="center" style="vertical-align:middle;color:#999;">去年同期增长率</td>
@if($category['parent_id'] == 226)
<td align="right" title="去年同期增长率" nowrap="true"> @if(count($categorys))
<?php $scale = $oldscale[$key][$category_id]; ?> @foreach($categorys as $category_id => $category)
@if($scale == 0) @if($category['parent_id'] == 226)
去年无 <td align="right" title="去年同期增长率" nowrap="nowrap">
@elseif($scale > 0) <?php $scale = $oldscale[$key][$category_id]; ?>
<span style="color:green">{{number_format($scale * 100, 2)}}%</span> @if($scale == 0)
@else 去年无
<span style="color:red">{{number_format($scale * 100, 2)}}%</span> @elseif($scale > 0)
<span style="color:green">{{number_format($scale * 100, 2)}}%</span>
@else
<span style="color:red">{{number_format($scale * 100, 2)}}%</span>
@endif
</td>
@endif @endif
</td> @endforeach
@endif @endif
@endforeach
<?php <?php
$_year = $now_year_single['totalcost'][$key] - $old_year_single['totalcost'][$key]; $_year = $now_year_single['totalcost'][$key] - $old_year_single['totalcost'][$key];
@ -110,22 +132,24 @@
</tr> </tr>
<tr> <tr>
<td align="center" style="vertical-align:middle;color:#999;">占区域该品类百分比</td>
@if(count($categorys))
@foreach($categorys as $k => $v) @foreach($categorys as $k => $v)
@if($v['parent_id'] == 226) @if($v['parent_id'] == 226)
<td align="right" title="占区域该品类百分比"> <td align="right" title="占区域该品类百分比">
@if($value[$v['id']] > 0) @if($value[$v['id']] > 0)
{{number_format(($value[$v['id']] / $now_year_single['cat'][$v['id']]) * 100, 2)}}% {{number_format(($value[$v['id']] / $now_year_single[cat][$v['id']]) * 100, 2)}}%
@endif @endif
</td> </td>
@endif @endif
@endforeach @endforeach
@endif
<td style="vertical-align:middle;" align="right"></td> <td style="vertical-align:middle;" align="right"></td>
</tr> </tr>
@endforeach @endforeach
@endif
</table> </table>
</div> </div>

View File

@ -1,77 +0,0 @@
<div class="panel">
<table class="table">
<tr>
<td><div class='title'>{{$year}} ({{$circle['name']}}) 客户圈月份销售分析</div></td>
</tr>
</table>
</div>
<div class="panel">
<table class="table table-bordered">
<tr>
<th>月份</th>
@if(count($categorys)) @foreach($categorys as $k => $v)
<th>{{$k}}</th>
@endforeach @endif
<th>总销售额</th>
<th>促销费比</th>
<th>消费促销</th>
<th>渠道促销</th>
<th>经销促销</th>
@if(count($single['money'])) @foreach($single['money'] as $key => $value)
<tr>
<td rowspan="2" width="40" align="center" style="vertical-align:middle;color:#66CC00;font-weight:bold;background:#FFFFE9">{{$key}}</td>
@if(count($categorys)) @foreach($categorys as $k => $v)
<td align="right">
{{$value[$v] > 0 ? $value[$v] : 0}}
</td>
@endforeach @endif
<td rowspan="2" align="right" style="vertical-align:middle;color:#666;background:#FFFFE9">{{$single['cat'][$key]}}</td>
<td rowspan="2" style="vertical-align:middle;" align="right">
@if($single['cat'][$key])
{{:$c = ($promotions['month1'][$key]/$single['cat'][$key])}}
{{number_format($c*100, 2)}}%
@else
0.00%
@endif
</td>
{{:$promotion = $promotions['month'][$key]}}
<td rowspan="2" style="vertical-align:middle;" align="right">
{{$promotion[1] > 0 ? $promotion[1] : 0}}
</td>
<td rowspan="2" style="vertical-align:middle;" align="right">
{{$promotion[2] > 0 ? $promotion[2] : 0}}
</td>
<td rowspan="2" style="vertical-align:middle;" align="right">
{{$promotion[3] > 0 ? $promotion[3] : 0}}
</td>
</tr>
<tr>
@if(count($categorys)) @foreach($categorys as $k => $v)
<td align="right">
{{:$pl = $value[$v]/$single['cat'][$key]}}
{{$_pl = number_format($pl*100, 2)}}%
</td>
@endforeach @endif
</tr>
@endforeach @endif
</table>
</div>

View File

@ -42,12 +42,10 @@ class TaskController extends DefaultController
'master_table' => 'project_task', 'master_table' => 'project_task',
]; ];
/*
$header['buttons'] = [ $header['buttons'] = [
['name' => '删除', 'icon' => 'fa-remove', 'action' => 'delete', 'display' => $this->access['delete']], //['name' => '删除', 'icon' => 'fa-remove', 'action' => 'delete', 'display' => $this->access['delete']],
['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1], //['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1],
]; ];
*/
$header['search_form'] = $search; $header['search_form'] = $search;
$query = $search['query']; $query = $search['query'];
@ -130,7 +128,7 @@ class TaskController extends DefaultController
} }
if ($gets['start_at'] == '') { if ($gets['start_at'] == '') {
$gets['start_at'] = time(); $gets['start_at'] = date('Y-m-d H:i:s');
} }
$attachment = $gets['attachment']; $attachment = $gets['attachment'];
@ -154,7 +152,7 @@ class TaskController extends DefaultController
if ($gets['is_item'] == '0') { if ($gets['is_item'] == '0') {
$task = Task::find($task->id); $task = Task::find($task->id);
$task->created_at = format_datetime($task->created_at); $task->created_at = format_datetime($task->created_at);
$task->user_name = get_user($task->user_id, 'name', false); $task->user_name = get_user($task->user_id, 'name', false);
return $this->json($task, true); return $this->json($task, true);
} else { } else {
return $this->json('恭喜你,添加任务成功。', true); return $this->json('恭喜你,添加任务成功。', true);

View File

@ -12,7 +12,7 @@
<div class="thumbnail" style="{{$upload_url}}/{{$row->image}}"> <div class="thumbnail" style="{{$upload_url}}/{{$row->image}}">
<div class="caption"> <div class="caption">
<h4 class="m-t-none"> <h4 class="m-t-none">
<span class="pull-right text-muted text-xs hinted" title="项目拥有者">{{get_user($row->user_id, 'name', false)}}</span> <span class="pull-right text-muted text-xs hinted" title="项目拥有者">{{get_user($row->user_id, 'name', false)}} @if($row->permission)<span class="label label-info">私有</span> @else <span class="label label-success">公开</span> @endif</span>
@if($row->tasks->count()) @if($row->tasks->count())
<span class="text-base badge bg-danger">{{$row->tasks->count()}}</span> <span class="text-base badge bg-danger">{{$row->tasks->count()}}</span>
@endif @endif

File diff suppressed because one or more lines are too long

View File

@ -243,7 +243,7 @@ $(function() {
$document.on('click.datetime', '[data-toggle="datetime"]', function() { $document.on('click.datetime', '[data-toggle="datetime"]', function() {
var data = $(this).data(); var data = $(this).data();
var ops = {}; var ops = {};
ops['dateFmt'] = data['format'] || 'yyyy-MM-dd'; ops['dateFmt'] = data['format'] || 'yyyy-MM-dd HH:mm';
if (data['dchanging']) { if (data['dchanging']) {
ops['dchanging'] = data['dchanging']; ops['dchanging'] = data['dchanging'];
} }

View File

@ -1,7 +1,7 @@
{ {
"/assets/dist/bundle.min.js": "/assets/dist/bundle.min.js?id=4ccf319172adf4f16820", "/assets/dist/bundle.min.js": "/assets/dist/bundle.min.js?id=4ccf319172adf4f16820",
"/assets/dist/vendor.min.js": "/assets/dist/vendor.min.js?id=29c59d13160c6607b4af", "/assets/dist/vendor.min.js": "/assets/dist/vendor.min.js?id=29c59d13160c6607b4af",
"/assets/dist/gdoo.min.js": "/assets/dist/gdoo.min.js?id=2f3fe2352d24f1a8b7c1", "/assets/dist/gdoo.min.js": "/assets/dist/gdoo.min.js?id=1ed00bbba0e428446559",
"/assets/dist/index.min.js": "/assets/dist/index.min.js?id=e68deaa21814b7ec0d1c", "/assets/dist/index.min.js": "/assets/dist/index.min.js?id=e68deaa21814b7ec0d1c",
"/assets/dist/vendor.min.css": "/assets/dist/vendor.min.css?id=99a58728a17257718260", "/assets/dist/vendor.min.css": "/assets/dist/vendor.min.css?id=99a58728a17257718260",
"/assets/dist/gdoo.min.css": "/assets/dist/gdoo.min.css?id=b892b527a7b042089ee8", "/assets/dist/gdoo.min.css": "/assets/dist/gdoo.min.css?id=b892b527a7b042089ee8",