Browse Source

订单统计

master
liangyuyan 5 years ago
parent
commit
dc19f386a2
  1. 21
      app/Admin/Controllers/v3/OrderReportController.php
  2. 154
      app/Admin/Extensions/OrderReportPage.php
  3. 12
      app/Models/v3/StoreAccount.php
  4. 19
      resources/views/orderReport.php
  5. 35
      resources/views/order_report.php

21
app/Admin/Controllers/v3/OrderReportController.php

@ -14,6 +14,7 @@ use App\Models\v3\Market as marketModel;
use App\Models\ImsCjdcOrder as OrderModel;
use Illuminate\Support\Facades\DB;
use App\Admin\Extensions\OrderReportPage;
use Dcat\Admin\Widgets\Lazy;
class OrderReportController extends AdminController
{
@ -32,21 +33,15 @@ class OrderReportController extends AdminController
public function index(Content $content)
{
// $marketId = request()->input('market_id');
$where = [];
$orderTable = 'lanzu_order_main';
// $order = DB::select('SELECT COUNT(id) AS total_num, SUM(money) AS total_money, FROM '.$orderTable.' WHERE state IN (4,5,10) ', $where);
$marketId = request()->input('market_id');
$startTime = request()->input('start_time');
$endTime = request()->input('end_time');
// 实例化表单类并传递自定义参数
$detail = OrderReportPage::make();
return $content->header("")
->breadcrumb(
['text' => '详情', 'url' => 'detail']
)
->body(Lazy::make($detail));
$order = OrderReportPage::make(['market_id' => $marketId,'start_time'=>$startTime,'endTime'=>$endTime]);
return $content->header("统计")
->breadcrumb(['text' => '统计', 'url' => 'index'])
->body(Lazy::make($order));
}
/**

154
app/Admin/Extensions/OrderReportPage.php

@ -4,13 +4,14 @@
namespace App\Admin\Extensions;
use App\Admin\Common\LinkUrl;
use App\Models\ImsCjdcOrder;
use App\Models\ImsCjdcOrderMain;
use App\Models\LanzuOrderGoods;
use App\Models\LanzuServiceHorseman;
use Dcat\Admin\Admin;
use Dcat\Admin\Support\LazyRenderable;
use Endroid\QrCode\Exceptions\DataDoesntExistsException;
use Illuminate\Support\Facades\DB;
use App\Models\ImsCjdcOrder as orderModel;
use App\Models\ImsCjdcOrderMain as orderMainModel;
use App\Models\v3\Market as MarketModel;
use App\Models\StoreAccount as StoreAccountModel;
use App\Models\v3\Store as StoreModel;
class OrderReportPage extends LazyRenderable
{
@ -18,118 +19,83 @@ class OrderReportPage extends LazyRenderable
protected static $js = [LinkUrl::VUE_JS, LinkUrl::ELEMENT_UI_JS];
protected static $css = [LinkUrl::DETAIL_CSS, LinkUrl::ELEMENT_UI_CSS];
public function render()
{
//>>1.主订单数据
$order = ImsCjdcOrderMain::getOrderData($this->order_id);
if ($order) {
// $search = array(" "," ","\n","\r","\t");
// $replace = array("","","","","");
// $order['address'] = str_replace($search, $replace, $order['address']);
//>>2.获取子订单
$result = ImsCjdcOrder::getOrdersData($order['global_order_id'],$order['id']);
$orders = json_encode($result['orders']);
$showRefund = json_encode($result['show_refund']);
$path = "order?page=".$this->page;
$orderTable = 'lanzu_order_main';
$accountTable = 'ims_cjdc_store_account';
$financialTable = 'lanzu_financial_record';
$marketId = request()->input('market_id');
$startTime = request()->input('start_time');
$endTime = request()->input('end_time');
$storeIds = StoreModel::where('market_id',$marketId)->pluck('id');
dd($storeIds);
$orderMain = orderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5,10]);
$newUser = StoreAccountModel::select(DB::raw('SUM(money) AS total_money'))->where('note','新用户下单成功,平台奖励');
// DB::select('SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(time),'%Y年%m月') AS '月份',SUM(money) AS '店铺新增用户补贴金额' FROM ims_cjdc_store_account ');
if($marketId){
$orderMain->where('market_id',$marketId);
// 查询这个市场下的店铺id
$storeIds = StoreModel::where('market_id',$marketId)->pluck('id');
$newUser->where();
}
if($startTime){
$orderMain->where([['created_at','>=',strtotime($startTime)]]);
}
if($endTime){
$orderMain->where([['created_at','<=',strtotime($endTime)]]);
}
// 订单总额
$orderReport = $orderMain->get();
// 总补贴金额
//订单数据
$order = ['total_money'=>123];
if ($orderReport) {
// $marketList = MarketModel::getMarket();
$result = [];
$orderReport = json_encode($orderReport);
$showRefund = json_encode($result);
Admin::script(
<<<JS
var orders = JSON.stringify($orders)
var order_report = JSON.stringify($orderReport)
var show_refund = JSON.stringify($showRefund)
var app = new Vue({
el:"#detail",
el:"#order_report",
data:{
dialogFormVisible: false,
order_num: "{$order['order_num']}",
name: "{$order['name']}",
state: "{$order['state']}",
created_at: "{$order['created_at']}",
updated_at: "{$order['updated_at']}",
pay_type: "{$order['pay_type']}",
shipping_type: "{$order['shipping_type']}",
tel: "{$order['tel']}",
delivery_time_note: "{$order['delivery_time_note']}",
refuse_refund_note: "{$order['refuse_refund_note']}",
total_refund_note: "{$order['total_refund_note']}",
address: "{$order['address']}",
note: "{$order['note']}",
money: "{$order['money']}",
total_money: "{$order['total_money']}",
services_money: "{$order['services_money']}",
coupon_money: "{$order['coupon_money']}",
delivery_money: "{$order['delivery_money']}",
horseman_name: "{$order['horseman_name']}",
distance: "{$order['delivery_distance']}",
orders: JSON.parse(orders),
order_report:$orderReport,
show_refund: JSON.parse(show_refund),
order_total_money:123,
dialogFormVisible: false,
// order_total_money:123,
refund_2:"退款",
refund_3:"已同意退款",
refund_goods_name:"",
global_order_id:"{$order['global_order_id']}",
user_id:"{$order['user_id']}",
order_goods_id:null,
order_child_id:null,
show_refund_2:true,
show_refund_3:false,
path:"{$path}"
},
methods: {
refundNote(name,order_goods_id,order_child_id) {
this.dialogFormVisible = true;
this.order_goods_id=order_goods_id;
this.order_child_id=order_child_id;
this.refund_goods_name ="退款备注商品 ["+name+"]" ;
},
refundConfirm() {
if (this.total_refund_note==''){
this.\$message({message: '请备注退款原因!',type: 'warning'})
return false;
}
this.\$confirm('是否同意该商品退款?', '提示', {
confirmButtonText: '同意',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that = this;
$.ajax({
url: "order_goods_refund",
type: "get",
contentType: "text/html; charset=utf-8",
dataType: "json",
data: {
user_id:that.user_id,
note:that.total_refund_note,
global_order_id:that.global_order_id,
order_child_id:that.order_child_id,
order_goods_id:that.order_goods_id
},
success: function (res) {
if (res.code==0){
that.\$message({
message: '退款成功',
type: 'success'
})
that.show_refund[that.order_goods_id].show_refund_2=false
that.show_refund[that.order_goods_id].show_refund_3=true
}else {
that.\$message.error('提现失败');
}
that.dialogFormVisible = false;
},
error: function (xhr, err) {
console.log("错误", err)
}
});
}).catch(() => {
});
}
}
});
JS
);
}
return view('orderdetail');
return view('order_report');
}

12
app/Models/v3/StoreAccount.php

@ -0,0 +1,12 @@
<?php
namespace App\Models\v3;
use Illuminate\Database\Eloquent\Model;
class StoreAccount extends Model
{
protected $table = 'ims_cjdc_store_account';
}

19
resources/views/orderReport.php

@ -1,19 +0,0 @@
<div id="orderReport">
<!-- 订单数据 -->
<div>
<div>
<p>订单总额(元)</p>
<p>{$order.total_money}</p>
</div>
</div>
<!-- 订单数据 end -->
<!-- 用户数据 -->
<div>
<div>
<p>现存用户(位)</p>
<p>1000</p>
</div>
<!-- 用户数据 end -->
</div>

35
resources/views/order_report.php

@ -0,0 +1,35 @@
<div id="order_report">
<!-- 搜索 -->
<div>
<form >
<div>
<select name="market_id">
<option value="0">选择市场</option>
<option value="1">海尔青啤市场</option>
<option value="2">东沟岭市场</option>
<option value="3">铜鼓岭市场</option>
<option value="4">华园菜市</option>
<option value="5">平西市场</option>
</select>
</div>
</form>
</div>
<!-- 搜索 end -->
<!-- 订单数据 -->
<div>
<div>
<p>订单总额(元)</p>
<p>{{order_total_money}}</p>
</div>
</div>
<!-- 订单数据 end -->
<!-- 用户数据 -->
<div>
<div>
<p>现存用户(位)</p>
<p>1000</p>
</div>
<!-- 用户数据 end -->
</div>
Loading…
Cancel
Save