jingcai-php/app/Admin/Controllers/ShopPayChannelController.php

188 lines
8.6 KiB
PHP
Executable File

<?php
namespace App\Admin\Controllers;
use App\Admin\Forms\PayChannelTokenForm;
use App\Admin\Forms\ShopWithdrawForm;
use App\Enums\BoolEnum;
use App\Enums\PayType;
use App\Model\Seller\Shop;
use App\Model\Seller\ShopPayChannel;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController;
use Illuminate\Support\Arr;
class ShopPayChannelController extends AdminController
{
protected $title = '渠道';
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(ShopPayChannel::class, function (Grid $grid) {
$grid->model()->with('shop')->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('shop.shop_sn', '店铺编号');
$grid->column('shop.name', '店铺名称');
$grid->column('pay_type', '支付方式')->display(function ($payType) {
$typeName = PayType::getDescription($payType);
return $typeName;
});
$grid->column('pay_channel', '支付渠道');
$grid->column('state', '状态')->display(function ($state) {
$states = ShopPayChannel::stateAsArray();
return Arr::get($states, $state, '-');
});
$grid->column('audit_message', admin_trans('admin-shop-pay-channel.fields.audit_message'));
$grid->column('real_name', admin_trans('admin-shop-pay-channel.fields.real_name'));
$grid->column('real_identity', admin_trans('admin-shop-pay-channel.fields.real_identity'));
$grid->column('shop_addr', admin_trans('admin-shop-pay-channel.fields.shop_addr'));
$grid->column('email', admin_trans('admin-shop-pay-channel.fields.email'));
$grid->column('phone', admin_trans('admin-shop-pay-channel.fields.phone'));
$grid->column('alipay', admin_trans('admin-shop-pay-channel.fields.alipay'));
$grid->column('bank_no', admin_trans('admin-shop-pay-channel.fields.bank_no'));
$grid->column('bank_sn', admin_trans('admin-shop-pay-channel.fields.bank_sn'));
// $grid->column('sale_proxy_url', admin_trans('admin-shop-pay-channel.fields.sale_proxy'))->image('', 60, 60);
// $grid->column('business_site_url', admin_trans('admin-shop-pay-channel.fields.business_site'))->image('', 60, 60);
// $grid->column('business_door_url', admin_trans('admin-shop-pay-channel.fields.business_door'))->image('', 60, 60);
// $grid->column('identity_hand', admin_trans('admin-shop-pay-channel.fields.identity_hand'))->image('', 60, 60);
// $grid->column('identity_pros', admin_trans('admin-shop-pay-channel.fields.identity_pros'))->image('http://xxx.com', 60, 60);
// $grid->column('identity_cons', admin_trans('admin-shop-pay-channel.fields.identity_cons'))->image('http://xxx.com', 60, 60);
// $grid->column('bank_no_pros', admin_trans('admin-shop-pay-channel.fields.bank_no_pros'));
// $grid->column('wechat_qrcode_url', admin_trans('admin-shop-pay-channel.fields.wechat_qrcode'))->image('', 60, 60);
// $grid->column('alipay_qrcode_url', admin_trans('admin-shop-pay-channel.fields.alipay_qrcode'))->image('', 60, 60);
$grid->column('remind_after', admin_trans('admin-shop-pay-channel.fields.remind_after'));
$grid->column('remind_before', admin_trans('admin-shop-pay-channel.fields.remind_before'));
$grid->column('ali_face_app_auth_token', '支付宝Token')->modal(function (Grid\Displayers\Modal $modal){
if ($this->pay_type != PayType::ALIPAY) {
return;
}
// 标题
$modal->title('配置支付宝Token');
// 自定义图标
$modal->icon('feather icon-edit');
// 传递当前行字段值
return PayChannelTokenForm::make()->payload(['id' => $this->id]);
});
$grid->column('opened', '开启')->select(BoolEnum::asSelectArray())->width(80);
$grid->fixColumns(6);
$grid->filter(function ($filter) {
$filter->panel();
$shops = Shop::pluck('name','id')->toArray();
$shopsn = Shop::pluck('shop_sn')->toArray();
$shopsns = [];
foreach ($shopsn as $s) {
$shopsns[$s] = $s;
}
$filter->equal('shop.id', '店铺')->select($shops);
$filter->equal('shop.shop_sn', '店铺编号')->select($shopsns);
$filter->equal('opened', '开启')->select(BoolEnum::asSelectArray());
$filter->equal('state', '状态')->select(ShopPayChannel::stateAsArray());
});
$grid->disableViewButton();
// $grid->disableEditButton();
$grid->disableDeleteButton();
$grid->scrollbarX();//数据展开
// $grid->disableActions();
// $grid->disableRowSelector();
});
}
protected function form()
{
return Form::make(new ShopPayChannel(), function (Form $form) {
$form->text('id', 'ID')->disable()->readOnly();
$form->text('real_name', admin_trans('admin-shop-pay-channel.fields.real_name'))->disable()
->readOnly();
$form->text('real_identity', admin_trans('admin-shop-pay-channel.fields.real_identity'))->disable()
->readOnly();
$form->text('shop_addr', admin_trans('admin-shop-pay-channel.fields.shop_addr'))->disable()
->readOnly();
$form->text('email', admin_trans('admin-shop-pay-channel.fields.email'))->disable()
->readOnly();
$form->text('phone', admin_trans('admin-shop-pay-channel.fields.phone'))->disable()
->readOnly();
$form->text('alipay', admin_trans('admin-shop-pay-channel.fields.alipay'))->disable()
->readOnly();
$form->text('bank_no', admin_trans('admin-shop-pay-channel.fields.bank_no'))->disable()
->readOnly();
$form->text('bank_sn', admin_trans('admin-shop-pay-channel.fields.bank_sn'))->disable()
->readOnly();
$form->image('sale_proxy_url', admin_trans('admin-shop-pay-channel.fields.sale_proxy'))
->disable()
->disable();
$form->image('business_site_url', admin_trans('admin-shop-pay-channel.fields.business_site'))
->disable()
->readOnly();
$form->image('business_door_url', admin_trans('admin-shop-pay-channel.fields.business_door'))
->disable()
->readOnly();
$form->image('wechat_qrcode_url', admin_trans('admin-shop-pay-channel.fields.wechat_qrcode'))
->disable()
->readOnly();
$form->image('alipay_qrcode_url', admin_trans('admin-shop-pay-channel.fields.alipay_qrcode'))
->disable()
->readOnly();
$form->text('remind_after', admin_trans('admin-shop-pay-channel.fields.remind_after'))
->disable()
->readOnly();
$form->text('remind_before', admin_trans('admin-shop-pay-channel.fields.remind_before'))
->disable()
->readOnly();
$form->select('opened', admin_trans('admin-shop-pay-channel.fields.opened'))->options(BoolEnum::asSelectArray());
$form->select('state', admin_trans('admin-shop-pay-channel.fields.state'))->options( ShopPayChannel::stateAsArray());
$form->text('audit_message', admin_trans('admin-shop-pay-channel.fields.audit_message'));
$form->hidden('audit_at');
$form->divider();
$form->saving(function($form) {
$form->audit_message = strval($form->audit_message);
$form->audit_at = date('Y-m-d H:i:s');
unset($form->wechat_qrcode_url);
unset($form->alipay_qrcode_url);
unset($form->business_door_url);
unset($form->business_site_url);
unset($form->sale_proxy_url);
});
$form->footer(function($footer) {
// 去掉`查看`checkbox
$footer->disableViewCheck();
// 去掉`继续编辑`checkbox
$footer->disableEditingCheck();
});
$form->disableDeleteButton();
Admin::script(
<<<JS
$('.file-input').remove()
JS
);
});
}
}