增加 后台回复工单
This commit is contained in:
parent
0d9679aa69
commit
d8f05f4d63
@ -6,6 +6,8 @@
|
|||||||
use App\Models\Host;
|
use App\Models\Host;
|
||||||
use App\Models\Module;
|
use App\Models\Module;
|
||||||
use App\Models\ModuleAllow;
|
use App\Models\ModuleAllow;
|
||||||
|
use App\Models\WorkOrder\Reply;
|
||||||
|
use App\Models\WorkOrder\WorkOrder;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
@ -88,7 +90,7 @@ public function show(Module $module): View
|
|||||||
*
|
*
|
||||||
* @param Module $module
|
* @param Module $module
|
||||||
*
|
*
|
||||||
* @return Response
|
* @return View
|
||||||
*/
|
*/
|
||||||
public function edit(Module $module): View
|
public function edit(Module $module): View
|
||||||
{
|
{
|
||||||
@ -103,7 +105,7 @@ public function edit(Module $module): View
|
|||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @param Module $module
|
* @param Module $module
|
||||||
*
|
*
|
||||||
* @return Response
|
* @return RedirectResponse
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, Module $module): RedirectResponse
|
public function update(Request $request, Module $module): RedirectResponse
|
||||||
{
|
{
|
||||||
|
@ -99,4 +99,18 @@ public function destroy(WorkOrder $workOrder): RedirectResponse
|
|||||||
|
|
||||||
return redirect()->route('admin.work-orders.index')->with('success', '正在排队删除工单。');
|
return redirect()->route('admin.work-orders.index')->with('success', '正在排队删除工单。');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function reply(Request $request, WorkOrder $workOrder): RedirectResponse
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'content' => 'required|string',
|
||||||
|
]);
|
||||||
|
|
||||||
|
Reply::create([
|
||||||
|
'content' => $request->input('content'),
|
||||||
|
'work_order_id' => $workOrder->id
|
||||||
|
]);
|
||||||
|
|
||||||
|
return back()->with('success', '回复成功,请等待同步。');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,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 Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* App\Models\WorkOrder\Reply
|
* App\Models\WorkOrder\Reply
|
||||||
@ -55,7 +56,7 @@
|
|||||||
*/
|
*/
|
||||||
class Reply extends Model
|
class Reply extends Model
|
||||||
{
|
{
|
||||||
use HasFactory, Cachable;
|
use Cachable;
|
||||||
|
|
||||||
protected $table = 'work_order_replies';
|
protected $table = 'work_order_replies';
|
||||||
|
|
||||||
@ -86,7 +87,7 @@ protected static function boot()
|
|||||||
$model->workOrder->status = 'user_replied';
|
$model->workOrder->status = 'user_replied';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (auth('module')->check()) {
|
if (auth('module')->check() || auth('admin')->check()) {
|
||||||
$model->user_id = null;
|
$model->user_id = null;
|
||||||
$model->workOrder->status = 'replied';
|
$model->workOrder->status = 'replied';
|
||||||
|
|
||||||
@ -107,12 +108,12 @@ protected static function boot()
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public function workOrder()
|
public function workOrder(): BelongsTo
|
||||||
{
|
{
|
||||||
return $this->belongsTo(WorkOrder::class, 'work_order_id', 'id');
|
return $this->belongsTo(WorkOrder::class, 'work_order_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function user()
|
public function user(): BelongsTo
|
||||||
{
|
{
|
||||||
return $this->belongsTo(User::class);
|
return $this->belongsTo(User::class);
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
<x-work-order-status :status="$workOrder->status"></x-work-order-status>
|
<x-work-order-status :status="$workOrder->status"></x-work-order-status>
|
||||||
|
|
||||||
<div class="mt-3">
|
<div class="mt-3">
|
||||||
<!-- replies -->
|
|
||||||
<h4>对话记录</h4>
|
<h4>对话记录</h4>
|
||||||
|
|
||||||
@foreach($replies as $reply)
|
@foreach($replies as $reply)
|
||||||
@ -32,6 +31,18 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h4 class="mt-3">您的回复</h4>
|
||||||
|
<form method="POST" action="{{ route('admin.work-orders.replies.store', $workOrder->id) }}">
|
||||||
|
@csrf
|
||||||
|
{{-- label --}}
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="content">内容</label>
|
||||||
|
<textarea class="form-control" id="content" name="content" rows="10" placeholder="代替模块的回复。"></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button type="submit" class="btn btn-primary mt-3 mb-3">提交</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
<p>在这里,您无法回复工单,只能够查看。</p>
|
<p>在这里,您无法回复工单,只能够查看。</p>
|
||||||
|
|
||||||
|
@ -35,7 +35,9 @@
|
|||||||
|
|
||||||
Route::resource('applications', ApplicationController::class);
|
Route::resource('applications', ApplicationController::class);
|
||||||
Route::resource('hosts', HostController::class)->only(['index', 'edit', 'update', 'destroy']);
|
Route::resource('hosts', HostController::class)->only(['index', 'edit', 'update', 'destroy']);
|
||||||
|
|
||||||
Route::resource('work-orders', WorkOrderController::class)->only(['index', 'show', 'edit', 'update', 'destroy']);
|
Route::resource('work-orders', WorkOrderController::class)->only(['index', 'show', 'edit', 'update', 'destroy']);
|
||||||
|
Route::post('work-orders/{work_order}/replies', [WorkOrderController::class, 'reply'])->name('work-orders.replies.store');
|
||||||
|
|
||||||
Route::resource('user-groups', UserGroupController::class);
|
Route::resource('user-groups', UserGroupController::class);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user