diff --git a/app/Admin/Controllers/DealerOrderController.php b/app/Admin/Controllers/DealerOrderController.php index 48ae9b0b..c0524db3 100644 --- a/app/Admin/Controllers/DealerOrderController.php +++ b/app/Admin/Controllers/DealerOrderController.php @@ -24,6 +24,13 @@ use Illuminate\Support\Facades\Request; class DealerOrderController extends AdminController { + protected $payWayDots = [ + DealerOrderModel::PAY_WAY_WALLET=>'warning', + DealerOrderModel::PAY_WAY_OFFLINE=>'danger', + DealerOrderModel::PAY_WAY_WXPAY=>'success', + 'none'=>'#b3b9bf', + ]; + /** * Make a grid builder. * @@ -50,11 +57,7 @@ class DealerOrderController extends AdminController $grid->column('total_amount')->prepend('¥'); $statusTexts = DealerOrderStatus::texts(); - $grid->column('pay_way')->using(DealerOrderModel::$payWayText)->label([ - 'wallet'=>'warning', - 'offline'=>'danger', - 'none'=>'#b3b9bf', - ]); + $grid->column('pay_way')->using(DealerOrderModel::$payWayText)->label($this->payWayDots); $grid->column('order_status')->display(function ($v) { return $this->order_status; @@ -150,7 +153,20 @@ class DealerOrderController extends AdminController $show->field('consignor.phone')->as(function ($value) { return $value ?? '系统'; }); - $show->field('pay_image')->image(); + + $show->field('pay_way', '支付方式')->using(DealerOrderModel::$payWayText)->dot($this->payWayDots); + $show->field('pay_sn', '支付流水号'); + $show->field('pay_time', '支付时间'); + + switch ($show->model()->pay_way) { + case DealerOrderModel::PAY_WAY_OFFLINE: + $show->field('pay_image')->image(); + break; + + case DealerOrderModel::PAY_WAY_WXPAY: + $show->field('out_trade_no', '外部交易号'); + break; + } $show->field('remark'); $show->divider(); $show->field('consignee_name'); @@ -158,10 +174,13 @@ class DealerOrderController extends AdminController $show->field('consignee', '收货地址')->as(function () { return $this->consignee_zone . ' '. $this->consignee_address; }); - //非(待确认,已取消)显示收款人信息 - if (!in_array($show->model()->order_status, [ - DealerOrderStatus::Pending->value, DealerOrderStatus::Cancelled->value, - ])) { + + if ( + $show->model()->pay_way === DealerOrderModel::PAY_WAY_OFFLINE && + !in_array($show->model()->order_status, [ + DealerOrderStatus::Pending->value, DealerOrderStatus::Cancelled->value, + ]) + ) { $show->divider('收款信息-银行'); $show->field('bank_user_name', '银行-收款人')->as(function () { $payInfo = $this->getConsignorPayInfo(); @@ -206,6 +225,7 @@ class DealerOrderController extends AdminController return $payInfo['wechat']['image'] ?? ''; })->image(); } + $show->panel() ->tools(function (Show\Tools $tools) use ($show) { $tools->disableEdit(); diff --git a/app/Models/DealerOrder.php b/app/Models/DealerOrder.php index fc5067e6..926583fc 100644 --- a/app/Models/DealerOrder.php +++ b/app/Models/DealerOrder.php @@ -16,7 +16,7 @@ class DealerOrder extends Model public const PAY_WAY_WALLET = 'wallet'; // 余额 public const PAY_WAY_OFFLINE = 'offline'; // 线下支付 - public const PAY_WAY_WXPAY = 'wxpay'; // 线下支付 + public const PAY_WAY_WXPAY = 'wxpay'; // 微信支付 protected $attributes = [ 'status' => DealerOrderStatus::Pending, @@ -58,6 +58,7 @@ class DealerOrder extends Model public static $payWayText = [ self::PAY_WAY_WALLET => '余额支付', self::PAY_WAY_OFFLINE => '线下打款', + self::PAY_WAY_WXPAY => '微信支付', ]; /**