增加 工单删除功能
This commit is contained in:
parent
e9eef76ed1
commit
b2ee0f3244
@ -102,8 +102,11 @@ public function update(Request $request, WorkOrder $workOrder): RedirectResponse
|
|||||||
* @param \App\Models\WorkOrder\WorkOrder $workOrder
|
* @param \App\Models\WorkOrder\WorkOrder $workOrder
|
||||||
* @return Response
|
* @return Response
|
||||||
*/
|
*/
|
||||||
public function destroy(WorkOrder $workOrder)
|
public function destroy(WorkOrder $workOrder): RedirectResponse
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
|
$workOrder->safeDelete();
|
||||||
|
|
||||||
|
return redirect()->route('admin.work-orders.index')->with('success', '正在排队删除工单。');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,12 @@ public function handle()
|
|||||||
$http = Http::module($this->workOrder->module->api_token, $this->workOrder->module->url);
|
$http = Http::module($this->workOrder->module->api_token, $this->workOrder->module->url);
|
||||||
if ($this->type == 'put') {
|
if ($this->type == 'put') {
|
||||||
$response = $http->put('work-orders/' . $this->workOrder->id, $this->workOrder->toArray());
|
$response = $http->put('work-orders/' . $this->workOrder->id, $this->workOrder->toArray());
|
||||||
|
} else if ($this->type == 'delete') {
|
||||||
|
$response = $http->delete('work-orders/' . $this->workOrder->id);
|
||||||
|
|
||||||
|
if ($response->successful()) {
|
||||||
|
$this->workOrder->delete();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$response = $http->post('work-orders', $this->workOrder->toArray());
|
$response = $http->post('work-orders', $this->workOrder->toArray());
|
||||||
}
|
}
|
||||||
@ -50,9 +56,13 @@ public function handle()
|
|||||||
$this->workOrder->update([
|
$this->workOrder->update([
|
||||||
'status' => 'error'
|
'status' => 'error'
|
||||||
]);
|
]);
|
||||||
|
} else {
|
||||||
|
if ($this->type == 'delete') {
|
||||||
|
broadcast(new UserEvent($this->workOrder->user_id, 'work-order.deleted', $this->workOrder));
|
||||||
} else {
|
} else {
|
||||||
broadcast(new UserEvent($this->workOrder->user_id, 'work-order.updated', $this->workOrder));
|
broadcast(new UserEvent($this->workOrder->user_id, 'work-order.updated', $this->workOrder));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
use GeneaLabs\LaravelModelCaching\Traits\Cachable;
|
use GeneaLabs\LaravelModelCaching\Traits\Cachable;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use App\Jobs\Module\WorkOrder\WorkOrder as WorkOrderJob;
|
||||||
|
|
||||||
class WorkOrder extends Model
|
class WorkOrder extends Model
|
||||||
{
|
{
|
||||||
@ -25,7 +26,16 @@ class WorkOrder extends Model
|
|||||||
'status',
|
'status',
|
||||||
];
|
];
|
||||||
|
|
||||||
// user
|
public function safeDelete(): bool
|
||||||
|
{
|
||||||
|
if ($this->status == 'pending') {
|
||||||
|
throw new CommonException('工单状态是 pending,无法删除');
|
||||||
|
}
|
||||||
|
|
||||||
|
dispatch(new WorkOrderJob($this, 'delete'));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
protected static function boot()
|
protected static function boot()
|
||||||
{
|
{
|
||||||
|
@ -9,14 +9,10 @@
|
|||||||
<a href="{{ route('admin.work-orders.show', $workOrder) }}">查看工单</a>
|
<a href="{{ route('admin.work-orders.show', $workOrder) }}">查看工单</a>
|
||||||
|
|
||||||
|
|
||||||
|
@if ($workOrder->status !== 'pending')
|
||||||
<form method="post" action="{{ route('admin.work-orders.update', $workOrder) }}">
|
<form method="post" action="{{ route('admin.work-orders.update', $workOrder) }}">
|
||||||
@csrf
|
@csrf
|
||||||
@method('PUT')
|
@method('PATCH')
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="title" class="col-sm-2 col-form-label">标题</label>
|
|
||||||
<input type="text" class="form-control" id="title" name="title" value="{{ $workOrder->title }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{-- 修改状态 --}}
|
{{-- 修改状态 --}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@ -25,7 +21,8 @@
|
|||||||
<option value="open" {{ $workOrder->status == 'open' ? 'selected' : '' }}>已开启</option>
|
<option value="open" {{ $workOrder->status == 'open' ? 'selected' : '' }}>已开启</option>
|
||||||
<option value="closed" {{ $workOrder->status == 'closed' ? 'selected' : '' }}>关闭</option>
|
<option value="closed" {{ $workOrder->status == 'closed' ? 'selected' : '' }}>关闭</option>
|
||||||
<option value="user_read" {{ $workOrder->status == 'user_read' ? 'selected' : '' }}>用户已读</option>
|
<option value="user_read" {{ $workOrder->status == 'user_read' ? 'selected' : '' }}>用户已读</option>
|
||||||
<option value="user_replied" {{ $workOrder->status == 'user_replied' ? 'selected' : '' }}>用户已回复</option>
|
<option value="user_replied" {{ $workOrder->status == 'user_replied' ? 'selected' : '' }}>用户已回复
|
||||||
|
</option>
|
||||||
|
|
||||||
<option value="replied" {{ $workOrder->status == 'replied' ? 'selected' : '' }}>已回复</option>
|
<option value="replied" {{ $workOrder->status == 'replied' ? 'selected' : '' }}>已回复</option>
|
||||||
<option value="read" {{ $workOrder->status == 'read' ? 'selected' : '' }}>已读</option>
|
<option value="read" {{ $workOrder->status == 'read' ? 'selected' : '' }}>已读</option>
|
||||||
@ -38,10 +35,14 @@
|
|||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{{-- <hr />--}}
|
<hr/>
|
||||||
{{-- <form method="post" action="{{ route('admin.work-orders.destroy', $workOrder) }}">--}}
|
<form method="post" action="{{ route('admin.work-orders.destroy', $workOrder) }}">
|
||||||
{{-- @csrf--}}
|
@csrf
|
||||||
{{-- @method('DELETE')--}}
|
@method('DELETE')
|
||||||
{{-- <button type="submit" class="btn btn-danger mt-3">删除</button>--}}
|
<button type="submit" class="btn btn-danger mt-3">删除</button>
|
||||||
{{-- </form>--}}
|
</form>
|
||||||
|
@else
|
||||||
|
<p>工单状态为 推送中,无法修改</p>
|
||||||
|
@endif
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
Loading…
Reference in New Issue
Block a user