Browse Source

坐下排序

develop
shuixiang 4 years ago
parent
commit
47f52e0255
  1. 43
      app/AdminAgent/Controllers/WorkorderController.php
  2. 21
      app/AdminGuide/Controllers/WorkorderController.php
  3. 21
      app/AdminSupplier/Controllers/WorkorderController.php
  4. 5
      app/Models/WorkorderItem.php
  5. 2
      database/migrations/2021_09_10_144727_update_workorder_table.php

43
app/AdminAgent/Controllers/WorkorderController.php

@ -31,16 +31,25 @@ class WorkorderController extends AdminController
{
$workorderId = \request('workorder_id',0);
$userList = $msgList = [];
$workorder = \App\Models\Workorder::query()
->with(['point','publisher'])
->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[0]])
->orWhere(function ($query) {
$query->where('point_id',Admin::user()->id)
->where('point_type',DemandTraits::$col[0]);
$workorder = WorkorderItem::query()
->with(['workorder.point', 'workorder.publisher'])
->whereHas('workorder', function ($q) {
return $q->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[0]])
->orWhere(function ($query) {
$query->where('point_id',Admin::user()->id)
->where('point_type',DemandTraits::$col[0]);
})
->orderByDesc('updated_at');
})
->groupBy('workorder_id')
->orderByDesc('updated_at')
->get();
$workorder = $workorder->map(function ($item, $key) {
return $item->workorder;
})->all();
// 先这么处理吧
if ($workorderId == 0 && !empty($workorder)) {
return redirect('/admin-agent/workorder_item?workorder_id='.$workorder[0]->id);
@ -77,16 +86,6 @@ class WorkorderController extends AdminController
$msgList [] = $arr;
}
$currentWorkorder = \App\Models\Workorder::find($workorderId);
array_unshift($msgList, [
'type' => 'op',
'it_type' => 1,
'avatar' => Storage::url($currentWorkorder->publisher->avatar),
'name' => $currentWorkorder->publisher->name,
'content' => $currentWorkorder->content,
'created_at_text' => $currentWorkorder->created_at,
]);
$data = [
'user_list' => $userList,
'msg_list' => $msgList,
@ -227,6 +226,18 @@ class WorkorderController extends AdminController
$form->publisher_id = Admin::user()->id;
}
});
$form->saved(function (Form $form) {
if ($form->isCreating()) {
$item = new WorkorderItem();
$item->workorder_id = $form->getKey();
$item->content = $form->content;
$item->type = 1;
$item->publisher_type = DemandTraits::$col[0];
$item->publisher_id = Admin::user()->id;
$item->save();
}
});
});
}

21
app/AdminGuide/Controllers/WorkorderController.php

@ -32,16 +32,25 @@ class WorkorderController extends AdminController
{
$workorderId = \request('workorder_id',0);
$userList = $msgList = [];
$workorder = \App\Models\Workorder::query()
->with(['point','publisher'])
->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[2]])
->orWhere(function ($query) {
$query->where('point_id',Admin::user()->id)
->where('point_type',DemandTraits::$col[2]);
$workorder = WorkorderItem::query()
->with(['workorder.point', 'workorder.publisher'])
->whereHas('workorder', function ($q) {
return $q->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[2]])
->orWhere(function ($query) {
$query->where('point_id',Admin::user()->id)
->where('point_type',DemandTraits::$col[2]);
})
->orderByDesc('updated_at');
})
->groupBy('workorder_id')
->orderByDesc('updated_at')
->get();
$workorder = $workorder->map(function ($item, $key) {
return $item->workorder;
})->all();
// 先这么处理吧
if ($workorderId == 0 && !empty($workorder)) {
return redirect('/admin-guide/workorder_item?workorder_id='.$workorder[0]->id);

21
app/AdminSupplier/Controllers/WorkorderController.php

@ -31,16 +31,25 @@ class WorkorderController extends AdminController
{
$workorderId = \request('workorder_id',0);
$userList = $msgList = [];
$workorder = \App\Models\Workorder::query()
->with(['point','publisher'])
->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[1]])
->orWhere(function ($query) {
$query->where('point_id',Admin::user()->id)
->where('point_type',DemandTraits::$col[1]);
$workorder = WorkorderItem::query()
->with(['workorder.point', 'workorder.publisher'])
->whereHas('workorder', function ($q) {
return $q->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[1]])
->orWhere(function ($query) {
$query->where('point_id',Admin::user()->id)
->where('point_type',DemandTraits::$col[1]);
})
->orderByDesc('updated_at');
})
->groupBy('workorder_id')
->orderByDesc('updated_at')
->get();
$workorder = $workorder->map(function ($item, $key) {
return $item->workorder;
})->all();
// 先这么处理吧
if ($workorderId == 0 && !empty($workorder)) {
return redirect('/admin-supplier/workorder_item?workorder_id='.$workorder[0]->id);

5
app/Models/WorkorderItem.php

@ -17,4 +17,9 @@ class WorkorderItem extends Model
{
return $this->morphTo();
}
public function workorder()
{
return $this->belongsTo(Workorder::class, 'workorder_id', 'id');
}
}

2
database/migrations/2021_09_10_144727_update_workorder_table.php

@ -19,6 +19,7 @@ class UpdateWorkorderTable extends Migration
Schema::table('workorder_item', function (Blueprint $table) {
$table->text('content')->nullable()->change();
$table->tinyInteger('is_read')->default(0)->comment('是否未读,1已读 0未读');
});
}
@ -35,6 +36,7 @@ class UpdateWorkorderTable extends Migration
Schema::table('workorder_item', function (Blueprint $table) {
$table->string('content')->change();
$table->dropColumn('is_read');
});
}
}
Loading…
Cancel
Save