UserAddressDeleteAction.php
2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
namespace App\Admin\Actions\UserAddress;
use App\Admin\Service\UserService;
use App\Models\Order as OrderModel;
use App\Models\User;
use App\Models\UserAddress;
use Dcat\Admin\Grid\BatchAction;
use Dcat\Admin\Grid\Tools\AbstractTool;
use Illuminate\Http\Request;
use Dcat\Admin\Grid\RowAction;
class UserAddressDeleteAction extends RowAction
{
/**
* 按钮样式定义,默认 btn btn-white waves-effect
*
* @var string
*/
protected $style = 'btn btn-white waves-effect';
/**
* 按钮文本
*
* @return string|void
*/
public function title()
{
$buttonName = trans("user-address.labels.delete_user_address");
return $buttonName;
}
public function html()
{
$class = $this->getElementClass();
$color = "btn btn-danger btn-sm btn-mini";
// 获取当前行数据ID
$id = $this->getKey();
$this->setHtmlAttribute([
'data-id' => $id,
"class" => "{$class} {$color}",
]);
return parent::html();
}
/**
* 确认弹窗,如果不需要则返回空即可
*
* @return array|string|void
*/
public function confirm()
{
return admin_trans("confirm");
}
/**
* 处理请求
* 如果你的类中包含了此方法,则点击按钮后会自动向后端发起ajax请求,并且会通过此方法处理请求逻辑
*
* @param Request $request
*/
public function handle(Request $request)
{
// 获取 parameters 方法传递的参数
$rowData = $request->get('rowData');
try {
UserAddress::deleteById($rowData['address_id']);
} catch (\Throwable $e) {
return $this->response()->error($e->getMessage());
}
return $this->response()->success(admin_trans("succeeded"))->refresh();
}
/**
* 设置请求参数
*
* @return array|void
*/
public function parameters()
{
return [
'rowData' => $this->row,
];
}
}