From c6052f7aa78d57672f3a47969f0613cf896f712f Mon Sep 17 00:00:00 2001
From: vine_liutk <961510893@qq.com>
Date: Mon, 20 Dec 2021 21:12:35 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=A2=E5=8D=95=E6=94=AF?=
=?UTF-8?q?=E4=BB=98=E7=8A=B6=E6=80=81=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Admin/Controllers/OrderController.php | 24 +++++++++-
app/Admin/Extensions/Show/Label.php | 55 +++++++++++++++++++++++
app/Admin/Services/OrderService.php | 2 +-
app/Admin/bootstrap.php | 4 ++
4 files changed, 82 insertions(+), 3 deletions(-)
create mode 100644 app/Admin/Extensions/Show/Label.php
diff --git a/app/Admin/Controllers/OrderController.php b/app/Admin/Controllers/OrderController.php
index 6b46da32..eeaab135 100644
--- a/app/Admin/Controllers/OrderController.php
+++ b/app/Admin/Controllers/OrderController.php
@@ -57,7 +57,17 @@ class OrderController extends AdminController
9=>'success',
10=>'#b3b9bf',
]);
- $grid->column('pay_way');
+ $grid->column('pay_way')->using([
+ 'wxpay'=>'微信支付',
+ 'alipay'=>'支付宝',
+ 'offline'=>'线下支付',
+ 'none'=>'无',
+ ])->label([
+ 'wxpay'=>'success',
+ 'alipay'=>'primary',
+ 'offline'=>'warning',
+ 'none'=>'#b3b9bf',
+ ]);
$grid->column('pay_at');
// $grid->column('consignee_name');
// $grid->column('consignee_telephone');
@@ -143,7 +153,17 @@ class OrderController extends AdminController
return bcdiv($v, 100, 2);
})->prepend('¥');
$show->field('created_at');
- $show->field('pay_way');
+ $show->field('pay_way')->using([
+ 'wxpay'=>'微信支付',
+ 'alipay'=>'支付宝',
+ 'offline'=>'线下支付',
+ 'none'=>'无',
+ ])->showLabel([
+ '微信支付'=>'success',
+ '支付宝'=>'primary',
+ '线下支付'=>'warning',
+ '无'=>'#b3b9bf',
+ ]);
$show->field('pay_at');
$show->divider();
diff --git a/app/Admin/Extensions/Show/Label.php b/app/Admin/Extensions/Show/Label.php
new file mode 100644
index 00000000..b3c74185
--- /dev/null
+++ b/app/Admin/Extensions/Show/Label.php
@@ -0,0 +1,55 @@
+value($max)) {
+ return;
+ }
+
+ return collect($value)->map(function ($name) use ($style) {
+ $background = $this->formatStyle(Arr::get($style, $name, 'default'));
+ return "$name";
+ })->implode(' ');
+
+ // return collect($value)->map(function ($name) use ($class, $background) {
+ // return "$name";
+ // })->implode(' ');
+ }
+
+ protected function formatStyle($style)
+ {
+ $background = 'style="background:#d2d6de;color: #555"';
+
+ if ($style !== 'default') {
+ $style = Admin::color()->get($style);
+
+ $background = "style='background:{$style}'";
+ }
+
+ return $background;
+ }
+
+ protected function value($max)
+ {
+ $values = Helper::array($this->value);
+
+ if ($max && count($values) > $max) {
+ $values = array_slice($values, 0, $max);
+ $values[] = '...';
+ }
+
+ return $values;
+ }
+}
diff --git a/app/Admin/Services/OrderService.php b/app/Admin/Services/OrderService.php
index b4adbc90..62de8cab 100644
--- a/app/Admin/Services/OrderService.php
+++ b/app/Admin/Services/OrderService.php
@@ -42,7 +42,7 @@ class OrderService
if ($order->isPending()) {
//操作订单状态-需要调整为统一支付方法
$orderService = new EndpointOrderService();
- $orderService->paySuccess($order, [
+ $orderService->paySuccess($order->sn, [
'pay_sn' => date('YmdHis').sprintf('%02d', mt_rand(1, 99)),
'pay_way' => Order::PAY_WAY_OFFLINE,
'pay_at' => now(),
diff --git a/app/Admin/bootstrap.php b/app/Admin/bootstrap.php
index c1956b68..d20185d5 100644
--- a/app/Admin/bootstrap.php
+++ b/app/Admin/bootstrap.php
@@ -3,11 +3,13 @@
use App\Admin\Extensions\Column\Modal;
use App\Admin\Extensions\Form\Product\SelectAttr;
use App\Admin\Extensions\Form\Product\SelectSpec;
+use App\Admin\Extensions\Show\Label;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Form\Field\Editor;
use Dcat\Admin\Grid;
use Dcat\Admin\Grid\Column;
+use Dcat\Admin\Show\Field as ShowField;
/**
* Dcat-admin - admin builder based on Laravel.
@@ -53,3 +55,5 @@ Editor::resolving(function (Editor $editor) {
'branding'=> false,
]);
});
+
+ShowField::extend('showLabel', Label::class);