ChenWuJie vor 4 Jahren
Ursprung
Commit
f5a7bf9755

+ 23 - 0
app/Admin/Actions/backstage/Orders/Message.php

xqd
@@ -0,0 +1,23 @@
+<?php
+
+namespace App\Admin\Actions\backstage\Orders;
+
+use App\Models\ImMessage;
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+use Encore\Admin\Layout\Column;
+use Encore\Admin\Layout\Content;
+use Encore\Admin\Layout\Row;
+
+class Message extends RowAction
+{
+    public $name = '查看消息';
+    public function href()
+    {
+        return '/admin/message?order_id='.$this->row->id.
+            '&docter_id='.$this->row->docter_id.
+            '&user_id='.$this->row->user_id.
+            '&start='.$this->row->receiving_time.
+            '&end='.$this->row->end_time.'';
+    }
+}

+ 2 - 1
app/Admin/routes.php

xqd xqd
@@ -3,7 +3,6 @@
 use Illuminate\Routing\Router;
 
 Admin::routes();
-
 Route::group([
     'prefix'        => config('admin.route.prefix'),
     'namespace'     => config('admin.route.namespace'),
@@ -18,6 +17,8 @@ Route::group([
     $router->resource('/cdms_user', CdmsController::class);
     $router->resource('/organizations', OrganizationController::class);
     $router->resource('/docters', DocterController::class);
+    $router->get('/message', 'OrdersManagement\ConsultingOrdersController@message');
+    $router->get('/message_view', 'OrdersManagement\ConsultingOrdersController@message_view');
     //医生类型
     $router->resource('docter_types', DocterTypeController::class);
 

+ 15 - 1
app/Community/Controllers/DocterChatController.php

xqd
@@ -78,7 +78,21 @@ class DocterChatController extends AdminController
                 $filter->timestampBetween('orderPatient.appoint_start_time','预约时间')->datetime();
             });
         });
-        $grid->column('order_status', __('订单状态'))->using(Order::$_order_status);
+        $status_arr = Order::getStatus();
+        $grid->column('order_status', __('订单状态'))->display(function ($w) use ($status_arr) {
+            $info = $status_arr[intval($w)];
+            if($w == 1 || $w == 2){
+                return '<span class="label label-warning">'.$info.'</span>';
+            } else if( $w == 4 ){
+                return '<span class="label label-success">'.$info.'</span>';
+            } else if($w == 7 || $w == 3 ){
+                return '<span class="label label-info">'.$info.'</span>';
+            } else if($w == 6){
+                return '<span class="label label-danger">'.$info.'</span>';
+            } else {
+                return '<span class="label label-default">'.$info.'</span>';
+            }
+        });
         $grid->column('created_at', __('下单时间'));
 
         return $grid;

+ 143 - 0
resources/views/admin/message.blade.php

xqd
@@ -0,0 +1,143 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <style>
+        .title{
+            width: 100%;
+            height: 50px;
+        }
+        .docter{
+            width: 50px;
+            height: 50px;
+            border-radius: 50%;
+            overflow: hidden;
+        }
+        .docter img{
+            width: 100%;
+        }
+        .content{
+            align-content: center;
+        }
+        .user-content{
+            float: right;
+        }
+        .substance{
+            display: inline;
+            float: left;
+        }
+        .clear{
+            clear: both;
+        }
+        .content-img{
+            width: 500px;
+        }
+    </style>
+</head>
+<body>
+<div class="all">
+    <?php
+//        ^ array:5 [▼
+//  "docter_id" => "10086"
+//  "user" => "14879"
+//  "start" => "1614421200"
+//  "end" => "1614421800"
+//  "order_id" => "97453"
+//]
+        $docter = request('docter_id');
+        $user = request('user');
+        $docter_info = \App\Models\Docter::where('id',$docter)->first(['name','avatar'])->toArray();
+        $user_info = \App\Models\User::where('id',$user)->first(['nickname','avatar'])->toArray();
+    ?>
+    <div class="title">订单号:{{$order_id}}</div>
+        @foreach($arr as $value)
+            @php($str = substr($value['senderId'],0,6))
+            @if($str == 'doctor')
+                {{--头像和名字区域--}}
+                <div class="content">
+                    <div class="docter-content">
+                        {{$docter_info['name']}}
+                    </div>
+                    <div class="docter">
+                        <img src="{{$docter_info['avatar']}}" alt="医生">
+                    </div>
+                    <div class="clear"></div>
+                </div>
+                {{--内容区域--}}
+                <div>
+                    @if($value['type']=='audio')
+                        <?php
+                            $url = json_decode($value['payload']);
+                            $url = (Array)$url;
+                        ?>
+                        <div>
+                            <audio src="{{$url['url']}}" controls="controls">
+                            </audio>
+                        </div>
+                    @elseif($value['type']=='text')
+                        <?php
+                        $text = json_decode($value['payload']);
+                        $text = (Array)$text;
+                        ?>
+                        <div>
+                            <p>{{$text['text']}}</p>
+                        </div>
+                        @elseif($value['type']=='image')
+                        <?php
+                        $image = json_decode($value['payload']);
+                        $image = (Array)$image;
+                        ?>
+                        <div>
+                            <img class="content-img" src="{{$image['url']}}" alt="图片">
+                        </div>
+                    @endif
+                </div>
+            @elseif($str == 'member')
+                {{--头像和名字区域--}}
+                <div class="user-content">
+                    <div class="docter-content">
+                        {{$user_info['nickname']}}
+                    </div>
+                    <div class="docter">
+                        <img src="{{$user_info['avatar']}}" alt="用户">
+                    </div>
+                    <div class="clear"></div>
+                </div>
+                {{--内容区域--}}
+                <div>
+                    @if($value['type']=='audio')
+                        <?php
+                        $url = json_decode($value['payload']);
+                        $url = (Array)$url;
+                        ?>
+                        <div>
+                            <audio src="{{$url['url']}}" controls="controls">
+                            </audio>
+                        </div>
+                    @elseif($value['type']=='text')
+                        <?php
+                        $text = json_decode($value['payload']);
+                        $text = (Array)$text;
+                        ?>
+                        <div>
+                            <p>{{$text['text']}}</p>
+                        </div>
+                    @elseif($value['type']=='image')
+                        <?php
+                        $image = json_decode($value['payload']);
+                        $image = (Array)$image;
+                        ?>
+                        <div>
+                            <img class="content-img" src="{{$image['url']}}" alt="图片">
+                        </div>
+                    @endif
+                </div>
+            @endif
+        @endforeach
+
+</div>
+</body>
+</html>