diff --git a/app/AdminAgent/Controllers/WorkorderController.php b/app/AdminAgent/Controllers/WorkorderController.php index 668273c..901b488 100755 --- a/app/AdminAgent/Controllers/WorkorderController.php +++ b/app/AdminAgent/Controllers/WorkorderController.php @@ -20,6 +20,7 @@ use Dcat\Admin\Show; use Dcat\Admin\Http\Controllers\AdminController; use Illuminate\Http\Request; use App\Traits\ResponseHelper; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; @@ -31,6 +32,7 @@ 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]]) @@ -77,16 +79,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 +219,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(); + } + }); }); } @@ -261,6 +265,10 @@ class WorkorderController extends AdminController $item->publisher_type = DemandTraits::$col[0]; $item->publisher_id = Admin::user()->id; $item->save(); + + // 更新一下主表的时间做排序用 + \App\Models\Workorder::query()->where('id', $item->workorder_id)->update(['updated_at' => $item->updated_at]); + return $this->jsonSuccess($item); } @@ -284,6 +292,10 @@ class WorkorderController extends AdminController $item->publisher_type = DemandTraits::$col[0]; $item->publisher_id = Admin::user()->id; $item->save(); + + // 更新一下主表的时间做排序用 + \App\Models\Workorder::query()->where('id', $item->workorder_id)->update(['updated_at' => $item->updated_at]); + return $this->jsonSuccess($item); } } diff --git a/app/AdminGuide/Controllers/WorkorderController.php b/app/AdminGuide/Controllers/WorkorderController.php index 97958fb..83b287b 100755 --- a/app/AdminGuide/Controllers/WorkorderController.php +++ b/app/AdminGuide/Controllers/WorkorderController.php @@ -32,6 +32,7 @@ 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]]) @@ -44,7 +45,7 @@ class WorkorderController extends AdminController // 先这么处理吧 if ($workorderId == 0 && !empty($workorder)) { - return redirect('/admin-agent/workorder_item?workorder_id='.$workorder[0]->id); + return redirect('/admin-guide/workorder_item?workorder_id='.$workorder[0]->id); } foreach ($workorder as $v) { @@ -78,16 +79,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, @@ -199,6 +190,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[2]; + $item->publisher_id = Admin::user()->id; + $item->save(); + } + }); }); } @@ -233,6 +236,10 @@ class WorkorderController extends AdminController $item->publisher_type = DemandTraits::$col[2]; $item->publisher_id = Admin::user()->id; $item->save(); + + // 更新一下主表的时间做排序用 + \App\Models\Workorder::query()->where('id', $item->workorder_id)->update(['updated_at' => $item->updated_at]); + return $this->jsonSuccess($item); } @@ -256,6 +263,10 @@ class WorkorderController extends AdminController $item->publisher_type = DemandTraits::$col[2]; $item->publisher_id = Admin::user()->id; $item->save(); + + // 更新一下主表的时间做排序用 + \App\Models\Workorder::query()->where('id', $item->workorder_id)->update(['updated_at' => $item->updated_at]); + return $this->jsonSuccess($item); } } diff --git a/app/AdminSupplier/Controllers/WorkorderController.php b/app/AdminSupplier/Controllers/WorkorderController.php index e8a6640..c510f35 100755 --- a/app/AdminSupplier/Controllers/WorkorderController.php +++ b/app/AdminSupplier/Controllers/WorkorderController.php @@ -31,6 +31,7 @@ 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]]) @@ -43,7 +44,7 @@ class WorkorderController extends AdminController // 先这么处理吧 if ($workorderId == 0 && !empty($workorder)) { - return redirect('/admin-agent/workorder_item?workorder_id='.$workorder[0]->id); + return redirect('/admin-supplier/workorder_item?workorder_id='.$workorder[0]->id); } foreach ($workorder as $v) { @@ -77,16 +78,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, @@ -200,6 +191,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[1]; + $item->publisher_id = Admin::user()->id; + $item->save(); + } + }); }); } @@ -234,6 +237,10 @@ class WorkorderController extends AdminController $item->publisher_type = DemandTraits::$col[1]; $item->publisher_id = Admin::user()->id; $item->save(); + + // 更新一下主表的时间做排序用 + \App\Models\Workorder::query()->where('id', $item->workorder_id)->update(['updated_at' => $item->updated_at]); + return $this->jsonSuccess($item); } @@ -257,6 +264,10 @@ class WorkorderController extends AdminController $item->publisher_type = DemandTraits::$col[1]; $item->publisher_id = Admin::user()->id; $item->save(); + + // 更新一下主表的时间做排序用 + \App\Models\Workorder::query()->where('id', $item->workorder_id)->update(['updated_at' => $item->updated_at]); + return $this->jsonSuccess($item); } } diff --git a/app/Models/WorkorderItem.php b/app/Models/WorkorderItem.php index dfd4933..d46c5ad 100755 --- a/app/Models/WorkorderItem.php +++ b/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'); + } } diff --git a/database/migrations/2021_09_10_144727_update_workorder_table.php b/database/migrations/2021_09_10_144727_update_workorder_table.php index e10a2e3..28a3800 100644 --- a/database/migrations/2021_09_10_144727_update_workorder_table.php +++ b/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'); }); } } diff --git a/resources/views/admin/pages/guide-index.blade.php b/resources/views/admin/pages/guide-index.blade.php index fccf251..2907cb5 100644 --- a/resources/views/admin/pages/guide-index.blade.php +++ b/resources/views/admin/pages/guide-index.blade.php @@ -1,241 +1,268 @@
- @foreach($user_list as $key => $item) -
-
-
- 头像 -
-
- {{$item['name']}} + @if(empty($user_list)) +
暂无工单数据
+ @else + @foreach($user_list as $key => $item) + @if($workorder['workorder_id']==$item['workorder_id']) +
+ @else +
+ @endif +
+
+ 头像 +
+
+ {{$item['name']}} +
+
+
+ {{$item['content']}} +
+
+ {{$item['last_message']}} +
+
+ {{$item['last_message_time']}} +
+ {{--@if($item['unread'] == true)--}} + {{--
--}} + {{--@else--}} + {{--
--}} + {{--@endif--}} +
+ @endforeach + @endif
-
-
- {{$item['content']}} -
-
- {{$item['last_message']}} -
-
- {{$item['last_message_time']}} -
- @if($item['unread'] == true) -
- @else -
- @endif -
- @endforeach -
-
- -
- -
-
发送
- -
-
- @foreach($msg_list as $key => $item) - - @if($item['type'] == 'op') -
-
-
-
- 头像 +
+ @if(empty($msg_list)) +
暂无工单数据
+ @else +
+ +
+
发送
+
-
+
+ @foreach($msg_list as $key => $item) + + @if($item['type'] == 'op') +
+
+
+
+ 头像 +
+
- {{$item['name']}} + {{$item['name']}} +
+
+
+ @if($item['it_type'] == 1) + {{$item['content']}} + @elseif($item['it_type'] == 2) + 图片 + @endif +
+ +
+ {{$item['created_at_text']}} +
+
+
+ @elseif($item['type'] == 'my') +
+
+
+
+ {{$item['name']}} +
+
+ 头像 +
+
+ +
+ @if($item['it_type'] == 1) + {{$item['content']}} + @elseif($item['it_type'] == 2) + 图片 + @endif +
+ +
+ {{$item['created_at_text']}} +
+
+
+ @endif + @endforeach
-
-
- @if($item['it_type'] == 1) - {{$item['content']}} - @elseif($item['it_type'] == 2) - 图片 - @endif -
- -
- 2021-01-01 12:02:03 -
+ @endif
-
- @elseif($item['type'] == 'my') -
-
-
-
- {{$item['name']}} -
-
- 头像 -
-
- -
- @if($item['it_type'] == 1) - {{$item['content']}} - @elseif($item['it_type'] == 2) - 图片 - @endif -
- -
- 2021-01-01 12:02:03 -
+ +
+ +
+
+ +
-
- -
-
- -