Ver Fonte

Merge branch 'master' of ssh://git.9026.com:2212/swdz-WangHaijun/BaoMa

zilong há 4 anos atrás
pai
commit
ed2a68ba7d
57 ficheiros alterados com 1491 adições e 87 exclusões
  1. 58 0
      app/Admin/Actions/backstage/Coupon/CouponBatchGrant.php
  2. 19 0
      app/Admin/Actions/backstage/Coupon/CouponDetails.php
  3. 19 0
      app/Admin/Actions/backstage/Coupon/CouponDistribution.php
  4. 1 1
      app/Admin/Actions/backstage/User/MapDepot.php
  5. 1 1
      app/Admin/Actions/backstage/User/Suggests.php
  6. 26 0
      app/Admin/Controllers/Api/ApiController.php
  7. 4 0
      app/Admin/Controllers/BookingOrderController.php
  8. 5 0
      app/Admin/Controllers/ConsultingOrdersController.php
  9. 103 0
      app/Admin/Controllers/CouponManagement/CouponDetailsController.php
  10. 140 0
      app/Admin/Controllers/CouponManagement/CouponDistributionUserList.php
  11. 128 0
      app/Admin/Controllers/CouponManagement/CouponManagementController.php
  12. 2 0
      app/Admin/Controllers/DocterTeamController.php
  13. 66 0
      app/Admin/Controllers/MenubarController.php
  14. 64 0
      app/Admin/Controllers/NoticeDoctorController.php
  15. 64 0
      app/Admin/Controllers/NoticeUserController.php
  16. 5 1
      app/Admin/Controllers/ServicePackOrderController.php
  17. 108 0
      app/Admin/Controllers/ServicePacksController.php
  18. 1 0
      app/Admin/Controllers/SignUpController.php
  19. 0 1
      app/Admin/Controllers/UserCouponsController.php
  20. 2 0
      app/Admin/Controllers/UserPatientsController.php
  21. 1 1
      app/Admin/bootstrap.php
  22. 15 0
      app/Admin/routes.php
  23. 67 0
      app/Community/Controllers/ApplyServiceController.php
  24. 2 1
      app/Community/Controllers/DocterChatController.php
  25. 39 4
      app/Community/Controllers/HomeController.php
  26. 59 0
      app/Community/Controllers/OrganizationController.php
  27. 104 0
      app/Community/Controllers/ServiceController.php
  28. 4 0
      app/Community/Controllers/UserNoticeController.php
  29. 14 6
      app/Community/Controllers/VaccineController.php
  30. 5 3
      app/Community/Controllers/VaccineUserController.php
  31. 3 0
      app/Community/bootstrap.php
  32. 2 0
      app/Community/routes.php
  33. 137 62
      app/Http/Controllers/ScheDuleController.php
  34. 11 0
      app/Models/Menubar.php
  35. 1 0
      app/Models/Notice.php
  36. 4 0
      app/Models/ServicePack.php
  37. 5 0
      app/Models/Serviceapplys.php
  38. 4 0
      app/Models/Team.php
  39. 3 0
      app/Models/TeamDocter.php
  40. 3 2
      composer.json
  41. 63 1
      composer.lock
  42. 42 0
      config/admin.php
  43. 1 1
      database/migrations/2020_11_24_065951_add_table_bm_service_apply.php
  44. 37 0
      database/migrations/2020_12_02_063339_create_notice_table.php
  45. 37 0
      database/migrations/2020_12_02_075125_create_menubar_table.php
  46. 0 0
      public/cdms/assets/css/app.435c7432.css
  47. 0 0
      public/cdms/assets/css/app.6871d772.css
  48. 8 0
      public/cdms/assets/css/chunk-vendors.c9bf45fc.css
  49. 0 0
      public/cdms/assets/js/app.45ed2073.js
  50. 0 0
      public/cdms/assets/js/app.45ed2073.js.map
  51. 0 0
      public/cdms/assets/js/app.df98bf87.js
  52. 0 0
      public/cdms/assets/js/app.df98bf87.js.map
  53. 0 0
      public/cdms/assets/js/chunk-vendors.3a131eeb.js
  54. 0 0
      public/cdms/assets/js/chunk-vendors.3a131eeb.js.map
  55. BIN
      public/cdms/favicon.ico
  56. 1 1
      resources/views/cdms/chat.blade.php
  57. 3 1
      routes/web.php

+ 58 - 0
app/Admin/Actions/backstage/Coupon/CouponBatchGrant.php

xqd
@@ -0,0 +1,58 @@
+<?php
+
+namespace App\Admin\Actions\backstage\Coupon;
+
+use App\Models\Coupon;
+use App\Models\User;
+use App\Models\UserCoupon;
+use Encore\Admin\Actions\BatchAction;
+use Illuminate\Database\Eloquent\Collection;
+use Illuminate\Http\Request;
+
+class CouponBatchGrant extends BatchAction
+{
+    public $name = '优惠券批量发放';
+    public function handle(Collection $collection,Request $request)
+    {
+        $coupon_id = request('id');
+        $user_arr = $collection->toArray();
+        $user_num = count($user_arr);
+        $coupon = Coupon::where('id',$coupon_id)->first();
+        if ($coupon->num < $user_num)
+        {
+            return $this->response()->error('优惠券数量不足')->refresh();
+        }
+        $arr = [
+            'user_id' => 0,
+            'coupon_id'=>$coupon_id,
+            'name' => $coupon->name,
+            'title' => $coupon->title,
+            'desc' => $coupon->desc,
+            'rules' => $coupon->rules,
+            'icon' => $coupon->icon,
+            'type' => $coupon->type,
+            'usable_type' => $coupon->usable_type,
+            'money' => $coupon->money,
+            'discount' => $coupon->discount,
+            'min_consume_amount' => $coupon->min_consume_amount,
+            'max_reduce_amount' => $coupon->max_reduce_amount,
+            'expire_type' => $coupon->expire_type,
+            'effective_days' => $coupon->effective_days,
+            'start_time' => $coupon->start_time,
+            'end_time' => $coupon->end_time,
+            'coupons_num'=>0
+        ];
+        foreach ($collection as $model) {
+            $arr['user_id'] = $model->id;
+            UserCoupon::insert($arr);
+            $coupon = Coupon::where('id',$coupon_id)->first();
+            Coupon::where('id',$coupon_id)->update(['num'=>$coupon->num-1]);
+        }
+        return $this->response()->success('优惠券发放成功')->refresh();
+    }
+    public function form()
+    {
+        $name = Coupon::pluck('name','id');
+        $this->select('id', '优惠券名称')->options($name);
+    }
+}

+ 19 - 0
app/Admin/Actions/backstage/Coupon/CouponDetails.php

xqd
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Admin\Actions\backstage\Coupon;
+
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class CouponDetails extends RowAction
+{
+    public $name = '优惠券详情';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+
+        return $this->response()->success('跳转订单详情成功')->redirect('/admin/coupons_details?id='.$this->row->id.'');
+    }
+
+}

+ 19 - 0
app/Admin/Actions/backstage/Coupon/CouponDistribution.php

xqd
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Admin\Actions\backstage\Coupon;
+
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class CouponDistribution extends RowAction
+{
+    public $name = '优惠券发放';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+
+        return $this->response()->success('跳转订单详情成功')->redirect('/admin/coupon_distribution_user_list?coupon_id='.$this->row->id.'');
+    }
+
+}

+ 1 - 1
app/Admin/Actions/backstage/User/MapDepot.php

xqd
@@ -12,7 +12,7 @@ class MapDepot extends RowAction
 
     public function form(Model $model)
     {
-        $imgs = OrderPatient::where('patient_id',$model->id)->get('medical_imgs');
+        $imgs = OrderPatient::where('patient_id',$model->patient_id)->get('medical_imgs');
         $all = json_decode($imgs,true);
         $i =1;
         $all1 =  array_column($all,'medical_imgs');

+ 1 - 1
app/Admin/Actions/backstage/User/Suggests.php

xqd
@@ -12,7 +12,7 @@ class Suggests extends RowAction
     public function handle(Model $model)
     {
         // $model ...
-        return $this->response()->success('跳转病例意见单成功')->redirect('/admin/user_suggests?patient_id='.$this->row->id.'');
+        return $this->response()->success('跳转病例意见单成功')->redirect('/admin/user_suggests?patient_id='.$this->row->patient_id.'');
     }
 
 }

+ 26 - 0
app/Admin/Controllers/Api/ApiController.php

xqd
@@ -0,0 +1,26 @@
+<?php
+
+namespace App\Admin\Controllers\Api;
+
+use Encore\Admin\Controllers\AdminController;
+
+class ApiController extends AdminController
+{
+    /**
+     * 后台上传图片
+     * @return string
+     */
+
+    public function upload()
+    {
+        $url = "error|服务器端错误";
+
+        foreach (request()->file() as $file) {
+            $url = "upload/images/".uniqid().rand(9000,100000).'.'.$file->getClientOriginalExtension();
+            file_put_contents($url,file_get_contents($file->getRealPath()));
+        }
+
+        return env('APP_URL').'/'.$url;
+    }
+
+}

+ 4 - 0
app/Admin/Controllers/BookingOrderController.php

xqd xqd
@@ -5,6 +5,8 @@ namespace App\Admin\Controllers;
 use App\Models\Order;
 use App\Admin\Actions\backstage\Orders\OrderDetails;
 use Encore\Admin\Controllers\AdminController;
+use App\Admin\Actions\backstage\User\MapDepot;
+use App\Admin\Actions\backstage\User\Suggests;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
@@ -71,6 +73,8 @@ class BookingOrderController extends AdminController
             // 去掉查看
             $actions->disableView();
             $actions->add(new OrderDetails());
+            $actions->add(new MapDepot());
+            $actions->add(new Suggests());
         });
 
         $grid->column('id', __('Id'))->sortable();

+ 5 - 0
app/Admin/Controllers/ConsultingOrdersController.php

xqd xqd
@@ -3,6 +3,8 @@
 namespace App\Admin\Controllers;
 
 use App\Admin\Actions\backstage\Orders\OrderDetails;
+use App\Admin\Actions\backstage\User\MapDepot;
+use App\Admin\Actions\backstage\User\Suggests;
 use App\Models\Order;
 use Encore\Admin\Controllers\AdminController;
 use Encore\Admin\Form;
@@ -59,6 +61,9 @@ class ConsultingOrdersController extends AdminController
             // 去掉查看
             $actions->disableView();
             $actions->add(new OrderDetails());
+            $actions->add(new MapDepot());
+            $actions->add(new Suggests());
+
         });
         $grid->column('id', __('Id'))->sortable();
         $grid->column('user_id', __('用户id'));

+ 103 - 0
app/Admin/Controllers/CouponManagement/CouponDetailsController.php

xqd
@@ -0,0 +1,103 @@
+<?php
+
+namespace App\Admin\Controllers\CouponManagement;
+
+use App\Models\Coupon;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class CouponDetailsController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '优惠券详情';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Coupon());
+
+        $grid->column('id', __('Id'));
+        $grid->column('name', __('券名称'));
+        $grid->column('title', __('券标题'));
+        $grid->column('desc', __('使用说明'))->limit(20,'...');
+        $grid->column('rules', __('使用规则'))->limit(20,'...');
+        $grid->column('min_consume_amount', __('最低消费金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('max_reduce_amount', __('折扣券的最大抵扣金额'))->display(function ($money){
+            return $money/100;
+        });
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(Coupon::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('name', __('Name'));
+        $show->field('title', __('Title'));
+        $show->field('desc', __('Desc'));
+        $show->field('rules', __('Rules'));
+        $show->field('icon', __('Icon'));
+        $show->field('type', __('Type'));
+        $show->field('usable_type', __('Usable type'));
+        $show->field('money', __('Money'));
+        $show->field('discount', __('Discount'));
+        $show->field('min_consume_amount', __('Min consume amount'));
+        $show->field('max_reduce_amount', __('Max reduce amount'));
+        $show->field('expire_type', __('Expire type'));
+        $show->field('effective_days', __('Effective days'));
+        $show->field('start_time', __('Start time'));
+        $show->field('end_time', __('End time'));
+        $show->field('created_at', __('Created at'));
+        $show->field('updated_at', __('Updated at'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Coupon());
+
+        $form->text('name', __('Name'));
+        $form->text('title', __('Title'));
+        $form->text('desc', __('Desc'));
+        $form->text('rules', __('Rules'));
+        $form->text('icon', __('Icon'));
+        $form->switch('type', __('Type'));
+        $form->switch('usable_type', __('Usable type'));
+        $form->number('money', __('Money'));
+        $form->decimal('discount', __('Discount'))->default(0.00);
+        $form->number('min_consume_amount', __('Min consume amount'));
+        $form->number('max_reduce_amount', __('Max reduce amount'));
+        $form->switch('expire_type', __('Expire type'));
+        $form->number('effective_days', __('Effective days'));
+        $form->number('start_time', __('Start time'));
+        $form->number('end_time', __('End time'));
+
+        return $form;
+    }
+}

+ 140 - 0
app/Admin/Controllers/CouponManagement/CouponDistributionUserList.php

xqd
@@ -0,0 +1,140 @@
+<?php
+
+namespace App\Admin\Controllers\CouponManagement;
+
+use App\Admin\Actions\backstage\Coupon\CouponBatchGrant;
+use App\Models\User;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class CouponDistributionUserList extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '优惠券发放用户列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new User());
+        $coupon_id = request('coupon_id');
+        $grid->filter(function($filter){
+            // 去掉默认的id过滤器
+            $filter->disableIdFilter();
+            $filter->equal('phone','手机')->mobile()->placeholder("请输入手机");
+            $filter->like('patient.name','患者姓名')->placeholder("请输入患者姓名");
+            $filter->like('nickname','昵称');
+            $filter->equal('status','用户状态')->radio([
+                ''   => '不限',
+                0    => '黑名单',
+                1    => '正常',
+            ]);
+            $filter->equal('is_pack','用户状态')->radio([
+                ''   => '全部用户',
+                0    => '普通用户',
+                1    => '服务包用户',
+            ]);
+        });
+        $grid->batchActions(function ($batch) {
+            $batch->add(new CouponBatchGrant($_GET['coupon_id']));
+        });
+        $grid->actions(function ($actions) {
+            // 去掉删除
+            $actions->disableDelete();
+            // 去掉编辑
+            $actions->disableEdit();
+            // 去掉查看
+            $actions->disableView();
+        });
+        $grid ->model()->where('status','>=','0');
+        $grid->column('id', __('用户id'))->sortable();
+        $grid->column('nickname', __('用户名'));
+        $grid->column('sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女']);
+        $grid->column('age', __('年龄'));
+        $grid->column('status', __('状态'))->using([0=>'黑名单',1=>'正常',]);
+        $grid->column('is_pack', __('用户身份'))->using([0=>'普通用户',1=>'付费用户']);
+        $grid->column('balance', __('当前余额'))->display(function ($price){
+            return $price/100;
+        });
+        $grid->column('created_at', __('注册时间'));
+        $grid->column('last_login_time', __('最后登录时间'))->display(function ($time){
+            return date("Y-m-d H:i",$time);
+        });
+//            $grid->column('patient', __('患者姓名'))->pluck('name')->map('ucwords')->implode(',');
+        $grid->column('patient', __('患者姓名'))->pluck('name')->label('default');
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(User::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('nickname', __('Nickname'));
+        $show->field('phone', __('Phone'));
+        $show->field('sex', __('Sex'));
+        $show->field('avatar', __('Avatar'));
+        $show->field('openid', __('Openid'));
+        $show->field('remark', __('Remark'));
+        $show->field('birthday', __('Birthday'));
+        $show->field('status', __('Status'));
+        $show->field('balance', __('Balance'));
+        $show->field('giving_balance', __('Giving balance'));
+        $show->field('topup_balance', __('Topup balance'));
+        $show->field('session_key', __('Session key'));
+        $show->field('pay_password', __('Pay password'));
+        $show->field('latitude', __('Latitude'));
+        $show->field('longitude', __('Longitude'));
+        $show->field('is_pack', __('Is pack'));
+        $show->field('last_login_time', __('Last login time'));
+        $show->field('created_at', __('Created at'));
+        $show->field('updated_at', __('Updated at'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new User());
+
+        $form->text('nickname', __('Nickname'));
+        $form->mobile('phone', __('Phone'));
+        $form->switch('sex', __('Sex'));
+        $form->image('avatar', __('Avatar'));
+        $form->text('openid', __('Openid'));
+        $form->text('remark', __('Remark'));
+        $form->text('birthday', __('Birthday'));
+        $form->switch('status', __('Status'))->default(1);
+        $form->number('balance', __('Balance'));
+        $form->number('giving_balance', __('Giving balance'));
+        $form->number('topup_balance', __('Topup balance'));
+        $form->text('session_key', __('Session key'));
+        $form->text('pay_password', __('Pay password'));
+        $form->decimal('latitude', __('Latitude'))->default(0.0000000);
+        $form->decimal('longitude', __('Longitude'))->default(0.0000000);
+        $form->switch('is_pack', __('Is pack'));
+        $form->number('last_login_time', __('Last login time'));
+
+        return $form;
+    }
+}

+ 128 - 0
app/Admin/Controllers/CouponManagement/CouponManagementController.php

xqd
@@ -0,0 +1,128 @@
+<?php
+
+namespace App\Admin\Controllers\CouponManagement;
+
+use App\Admin\Actions\backstage\Coupon\CouponDetails;
+use App\Admin\Actions\backstage\Coupon\CouponDistribution;
+use App\Models\Coupon;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class CouponManagementController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '优惠券管理';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Coupon());
+
+        $grid->actions(function ($actions) {
+            $actions->disableView();
+            $actions->add(new CouponDetails());
+            if($actions->row->position_type == 2 )
+            {
+                $actions->add(new CouponDistribution());
+            }
+        });
+
+        $grid->column('id', __('Id'));
+        $grid->column('name', __('劵名称'));
+        $grid->column('title', __('劵标题'));
+        $grid->column('icon', __('券图标'))->image();
+        $grid->column('type', __('类型'))->using([1=>'满减券',2=>'折扣券']);
+        $grid->column('usable_type', __('可用类型'))->using([1=>'全部产品通用',2=>'部分产品可用']);
+        $grid->column('money', __('满减券的优惠钱数'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('discount', __('折扣'));
+        $grid->column('position_type', __('发放平台'))->using([1=>'领券中心',2=>'后台发放']);
+        $grid->column('num', __('数量'));
+        $grid->column('effective_days', __('有效天数'));
+        $grid->column('start_time', __('有效期开始时间'))->display(function ($time){
+            return date('Y-m-d H:i:s',$time);
+        });
+        $grid->column('end_time', __('有效期结束时间'))->display(function ($time){
+            return date('Y-m-d H:i:s',$time);
+        });
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(Coupon::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('name', __('Name'));
+        $show->field('title', __('Title'));
+        $show->field('desc', __('Desc'));
+        $show->field('rules', __('Rules'));
+        $show->field('icon', __('Icon'));
+        $show->field('type', __('Type'));
+        $show->field('usable_type', __('Usable type'));
+        $show->field('money', __('Money'));
+        $show->field('discount', __('Discount'));
+        $show->field('min_consume_amount', __('Min consume amount'));
+        $show->field('max_reduce_amount', __('Max reduce amount'));
+        $show->field('expire_type', __('Expire type'));
+        $show->field('effective_days', __('Effective days'));
+        $show->field('start_time', __('Start time'));
+        $show->field('end_time', __('End time'));
+        $show->field('created_at', __('Created at'));
+        $show->field('updated_at', __('Updated at'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Coupon());
+
+        $form->text('name', __('优惠券名称'));
+        $form->text('title', __('券标题'));
+        $form->text('desc', __('使用说明'));
+        $form->text('rules', __('使用规则'));
+        $form->image('icon', __('券图标'));
+        $form->select('type', '类型')
+            ->options([
+                1 => '满减券',
+                2 => '折扣券',
+            ])->when(1, function (Form $form) {
+                $form->text('money', '满减券的优惠钱数');
+                $form->text('min_consume_amount', '最低消费金额');
+            })->when(2, function (Form $form) {
+                $form->text('discount', '折扣');
+                $form->text('max_reduce_amount', '折扣券的最大抵扣金额');
+            });
+        $form->select('position_type',__('发放平台'))->options([1=>'领券中心',2=>'后台发放']);
+        $form->number('num', __('数量'));
+        $form->select('usable_type',__('可用类型'))->options([1=>'全部产品通用',2=>'部分产品可用']);
+        $form->select('expire_type', __('过期类型'))->options([1=>'领取N天过期',2=>'设置固定过期时间']);
+        $form->text('effective_days', __('有效天数'));
+        $form->date('start_time', __('有效期开始时间'));
+        $form->date('end_time', __('有效期结束时间'));
+        return $form;
+    }
+}

+ 2 - 0
app/Admin/Controllers/DocterTeamController.php

xqd
@@ -38,6 +38,8 @@ class DocterTeamController extends AdminController
         $grid->column('docter_id', __('医生id'));
         $grid->column('docter.name', __('医生姓名'));
         $grid->column('team_id', __('团队id'));
+        $grid->column('team.name', __('团队名称'));
+        $grid->column('team.introduction', __('团队简介'));
         $grid->column('created_at', __('创建时间'));
         $grid->column('updated_at', __('更新时间'));
 

+ 66 - 0
app/Admin/Controllers/MenubarController.php

xqd
@@ -0,0 +1,66 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Menubar;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class MenubarController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = 'Menubar';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Menubar());
+
+        $grid->column('id', __('Id'));
+        $grid->column('name', __('名称'));
+        $grid->column('image', __('默认图片'))->image('','50','50');
+        $grid->column('image_at', __('点击图片'))->image('','50','50');
+        $grid->column('url', __('链接'));
+        $status = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $grid->column('status', __('状态'))->switch($status);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Menubar());
+
+        $form->text('name', __('名称'));
+        $form->image('image', __('默认图片'));
+        $form->image('image_at', __('Image at'));
+        $form->text('url', __('Url'));
+        $status = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $form->switch('status', __('状态'))->states($status);
+        return $form;
+    }
+}

+ 64 - 0
app/Admin/Controllers/NoticeDoctorController.php

xqd
@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Notice;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class NoticeDoctorController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '公告->用户';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Notice());
+
+        $grid->model()->where('type','2');
+        $grid->column('id', __('Id'));
+        $grid->column('title', __('标题'));
+        $grid->column('content', __('内容'));
+        $grid->column('url', __('链接'));
+        $status = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $grid->column('status', __('状态'))->switch($status);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Notice());
+
+        $form->text('title', __('标题'))->rules('required|min:3|max:255',['required'=>'请填写标题','min'=>'标题字符不能少于3个','max'=>'标题长度过长']);
+        $form->editor('content', __('内容'))->rules('required' ,['required'=>'请填写内容!']);
+        $form->url('url', __('链接'))->rules('required',['required'=>'请填写链接']);
+        $form->hidden('type', __('分类'))->default('2');
+        $status = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $form->switch('status', __('状态'))->states($status);
+        return $form;
+    }
+}

+ 64 - 0
app/Admin/Controllers/NoticeUserController.php

xqd
@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Notice;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class NoticeUserController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '公告->用户';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Notice());
+
+        $grid->model()->where('type','2');
+        $grid->column('id', __('Id'));
+        $grid->column('title', __('标题'));
+        $grid->column('content', __('内容'));
+        $grid->column('url', __('链接'));
+        $status = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $grid->column('status', __('状态'))->switch($status);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Notice());
+
+        $form->text('title', __('标题'))->rules('required|min:3|max:255',['required'=>'请填写标题','min'=>'标题字符不能少于3个','max'=>'标题长度过长']);
+        $form->editor('content', __('内容'))->rules('required' ,['required'=>'请填写内容!']);
+        $form->url('url', __('链接'))->rules('required',['required'=>'请填写链接']);
+        $form->hidden('type', __('分类'))->default('1');
+        $status = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $form->switch('status', __('状态'))->states($status);
+        return $form;
+    }
+}

+ 5 - 1
app/Admin/Controllers/ServicePackOrderController.php

xqd xqd xqd
@@ -5,6 +5,8 @@ namespace App\Admin\Controllers;
 use App\Models\Order;
 use App\Admin\Actions\backstage\Orders\OrderDetails;
 use Encore\Admin\Controllers\AdminController;
+use App\Admin\Actions\backstage\User\MapDepot;
+use App\Admin\Actions\backstage\User\Suggests;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
@@ -16,7 +18,7 @@ class ServicePackOrderController extends AdminController
      *
      * @var string
      */
-    protected $title = '服务包管理';
+    protected $title = '服务包订单';
 
     /**
      * Make a grid builder.
@@ -59,6 +61,8 @@ class ServicePackOrderController extends AdminController
             // 去掉查看
             $actions->disableView();
             $actions->add(new OrderDetails());
+            $actions->add(new MapDepot());
+            $actions->add(new Suggests());
         });
         $grid->column('id', __('Id'))->sortable();
         $grid->column('user_id', __('用户id'));

+ 108 - 0
app/Admin/Controllers/ServicePacksController.php

xqd
@@ -0,0 +1,108 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\ServicePack;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ServicePacksController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = 'ServicePack';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+        protected function grid()
+    {
+        $grid = new Grid(new ServicePack());
+
+        $grid->disableActions();
+        $grid->column('id', __('Id'));
+        $grid->column('name', __('服务包名称'));
+        $grid->column('intro', __('简介'));
+        $grid->column('desc', __('详细内容'))->limit(100);
+        $grid->column('label','服务类型')->display(function (){
+            $tag = [1 => '图文',2 => '电话',3 => '门诊',4 => '计免',5 => '儿保'];
+            $data = $this -> label;
+            if($data){
+                for ($i=0;$i<count($data);$i++){
+                    $str = $tag[$data[$i]];
+                    $label[$i]= $str;
+                }
+                return $label;
+                    }
+            return 0;
+        })->label('info');
+        $grid->column('price', __('价格'));
+        $grid->column('team_id', __('团队名称'));
+        $grid->column('image','图片')->image('','50','50');
+        $grid->column('phone_minutes', __('电话次数(分钟)'));
+        $grid->column('chat_num', __('图文次数'));
+        $grid->column('appoint_num', __('门诊次数'));
+        $grid->column('vaccine_limit_amount', __('计免次数'));
+        $grid->column('nurses_limit_amount', __('儿保次数'));
+        $grid->column('effective_days', __('服务时长'));
+        $grid->column('insurance_policy', __('保单名称'));
+        $grid->column('insurance_img_url', __('保单图片链接'));
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+        /**
+         * Make a form builder.
+         *
+         * @return Form
+         */
+        protected function form()
+    {
+        $form = new Form(new ServicePack());
+
+        $form->text('name', __('服务包名称'))->rules('required' ,['required'=>'请填写名称!']);
+        $form->image('image','图片')->rules('required' ,['required'=>'请选择图片!']);
+        $form->text('intro', __('简介'))->rules('required' ,['required'=>'请填写简介!']);;
+        $form->editor('desc', __('详情内容'))->rules('required' ,['required'=>'请填写内容!']);;
+        $form->number('price', __('价钱'))->default(0);
+        $form->text('team_id', __('团队ID'));
+        //$form->multipleSelect('label','服务类型')->options([1 => '图文',2 => '电话',3 => '门诊',4 => '计免',5 => '儿保']);
+        $form->checkbox('label','服务类型')
+            ->options([
+                1 => '图文',
+                2 => '电话',
+                3 => '门诊',
+                4 => '计免',
+                5 => '儿保'
+            ])->when('has',1,function (Form $form){
+                $form->number('chat_num', __('图文次数'))->default(0);
+            })->when('has',2,function (Form $form){
+                $form->number('phone_minutes', __('电话次数(分钟)'))->default(0);
+            })->when('has',3,function (Form $form){
+                $form->number('appoint_num', __('门诊次数'))->default(0);
+            })->when('has',4,function (Form $form){
+                $form->number('vaccine_limit_amount', __('计免次数'))->default(0);
+            })->when('has',5,function (Form $form){
+                $form->number('nurses_limit_amount', __('儿保次数'))->default(0);
+            });
+
+//        $form->number('phone_minutes', __('电话次数(分钟)'))->default(0);
+//        $form->number('chat_num', __('图文次数'))->default(0);
+//        $form->number('appoint_num', __('门诊次数'))->default(0);
+//        $form->number('vaccine_limit_amount', __('计免次数'))->default(0);
+//        $form->number('nurses_limit_amount', __('儿保次数'))->default(0);
+        $form->text('effective_days', __('服务时长(秒)'))->default(0);
+        $form->text('insurance_policy', __('保单名称'))->rules('required' ,['required'=>'请填写保单名称!']);;
+        $form->text('insurance_img_url', __('保单图片链接'))->rules('required' ,['required'=>'请填写保单图片链接!']);;
+
+        return $form;
+    }
+}

+ 1 - 0
app/Admin/Controllers/SignUpController.php

xqd
@@ -25,6 +25,7 @@ class SignUpController extends AdminController
     protected function grid()
     {
         $grid = new Grid(new DocterOrganization());
+        $grid->disableActions();
         $docter_id = \request('docter_id');
         $grid->filter(function ($filter){
             $filter->disableIdFilter();

+ 0 - 1
app/Admin/Controllers/UserCouponsController.php

xqd
@@ -65,7 +65,6 @@ class UserCouponsController extends AdminController
             return date("Y-m-d H:i",$time);
         });
         $grid->column('use_time', __('使用时间'));
-        $grid->column('coupons_num', __('优惠券数'));
         $grid->column('created_at', __('创建时间'));
         $grid->column('updated_at', __('更新时间'));
 

+ 2 - 0
app/Admin/Controllers/UserPatientsController.php

xqd
@@ -33,6 +33,8 @@ class UserPatientsController extends AdminController
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
             $filter->equal('user_id','用户id');
+            $filter->equal('id','患者id');
+            $filter->like('name','患者姓名');
         });
         $grid->actions(function ($actions) {
             // 去掉删除

+ 1 - 1
app/Admin/bootstrap.php

xqd
@@ -18,4 +18,4 @@
  *
  */
 
-Encore\Admin\Form::forget(['map', 'editor']);
+//Encore\Admin\Form::forget(['map', 'editor']);

+ 15 - 0
app/Admin/routes.php

xqd xqd xqd
@@ -13,11 +13,13 @@ Route::group([
     $router->get('/', 'HomeController@index')->name('home');
     $router->get('/api/getCity', 'ApiController@getCity');
     $router->get('/api/getArea', 'ApiController@getArea');
+    $router->post('/img_upload', 'Api\ApiController@upload');
     $router->resource('/cdms_user', CdmsController::class);
     $router->resource('/organizations', OrganizationController::class);
     $router->resource('/docters', DocterController::class);
     $router->resource('/docters_approve', ApproveController::class);
     $router->resource('banners', BannerController::class);
+    //服务包海报
     $router->resource('servebanners', ServebannerController::class);
     //文章管理
     $router->resource('articles', ArticleController::class);
@@ -44,6 +46,13 @@ Route::group([
     //图标DIV
     $router->resource('icons_user', IconsUserController::class);
     $router->resource('icons_doctor', IconsDoctorController::class);
+    //公告管理->用户&医生
+    $router->resource('notices_user', NoticeUserController::class);
+    $router->resource('notices_doctor', NoticeDoctorController::class);
+    //小程序->用户端->底部菜单
+    $router->resource('menubars', MenubarController::class);
+
+    $router->resource('service_packs', ServicePacksController::class);
 
     $router->resource('/setting', 'Config\ConfigController');
     $router->get('/setting_form', 'Config\FormController@form');
@@ -74,5 +83,11 @@ Route::group([
     $router->resource('service_pack_order', ServicePackOrderController::class);
     //订单管理->充值订单
     $router->resource('recharge_order', RechargeOrderController::class);
+    //优惠券管理->优惠券列表
+    $router->resource('coupons', CouponManagement\CouponManagementController::class);
+    //优惠券管理->优惠券详情
+    $router->resource('coupons_details', CouponManagement\CouponDetailsController::class);
+    //优惠券管理->优惠券发放->用户列表
+    $router->resource('coupon_distribution_user_list', CouponManagement\CouponDistributionUserList::class);
 });
 

+ 67 - 0
app/Community/Controllers/ApplyServiceController.php

xqd
@@ -0,0 +1,67 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Admin\Actions\Service\ApplysAction;
+use App\Admin\Actions\Service\RefuseAction;
+use App\Models\Serviceapplys;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ApplyServiceController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '图文咨询认证';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Serviceapplys());
+
+        $grid->column('id', __('Id'));
+        $grid->column('docter.avatar', __('头像'))->image('',50,50);
+        $grid->column('docter.id', __('医生ID'));
+        $grid->column('docter.name','医生名称');
+        $grid->column('docter.sex','性别')->using([1=>'男',2=>'女']);
+        $grid->column('docter.DocterOrganization', __('所属机构'));
+//        $grid->column('docter.label', __('标签'))->map('ucwords')->implode('-');
+        $grid->column('docter.label', __('标签'))->label('info');
+
+        //$grid->column('service_type', __('服务类型'));
+
+        $grid->column('status', __('状态'))->using([1=>'审核',2=>'已通过',3=>'已拒绝'])->label([
+            1 => 'warning',
+            2 => 'success',
+            3 => 'default'
+        ]);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        $grid->actions(function ($actions) {
+            // 去掉删除
+            $actions->disableDelete();
+            // 去掉编辑
+            $actions->disableEdit();
+            // 去掉查看
+            $actions->disableView();
+
+
+            $actions->add(new ApplysAction());
+            $actions->add(new RefuseAction());
+        });
+
+
+
+        return $grid;
+    }
+}

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

xqd
@@ -102,7 +102,8 @@ class DocterChatController extends AdminController
         $user = Admin::user();
         $org_id = $user->org_id;
         $docter_id = $user->docter_id;
-        $content->body('<iframe src="/cdms/chat_view" style="width: 100%;height:800px;border: none"></iframe>');
+        $url = '/cdms/chat_view?docter_id='.$docter_id;
+        $content->body('<iframe src="/cdms/chat_view?docter_id='.$docter_id.'" style="width: 100%;height:800px;border: none"></iframe>');
         return $content;
     }
 

+ 39 - 4
app/Community/Controllers/HomeController.php

xqd
@@ -21,10 +21,45 @@ class HomeController extends Controller
         return $content
             ->title('数据概况')
             ->description('社区段实时数据')
-            ->row($this->real_data())
-            ->row($this->vaccine_data())
-            ->row($this->nurse_data())
-            ->row($this->schedule_data());
+            ->row(function (Row $row){
+                   return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">实时概况</p>');
+            })->row(function (Row $row){
+                $data = StatController::service();
+                $row->column(3,new InfoBox('今日预约(人)', 'users', 'aqua', '/cdms/home', $data['schedule_paitent']));
+                $row->column(3,new InfoBox('今日排班(人)', 'users', 'aqua', '/cdms/home', $data['schedule_docter']));
+                $row->column(3,new InfoBox('接诊患者(人次)', 'users', 'aqua', '/cdms/home', $data['paitent_num']));
+            })
+            ->row(function (Row $row){
+                return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">疫苗概况</p>');
+            })->row(function (Row $row){
+                $data = StatController::vaccine();
+                $row->column(3,new InfoBox('疫苗种类(种)', 'users', 'aqua', '/cdms/home', $data['sum_num']));
+                $row->column(3,new InfoBox('库存剩余(支)', 'users', 'aqua', '/cdms/home', $data['have_num']));
+                $row->column(3,new InfoBox('疫苗缺苗(种)', 'users', 'aqua', '/cdms/home', $data['less_num']));
+            })
+            ->row(function (Row $row){
+                $data = StatController::vaccine();
+                $row->column(3,new InfoBox('今日预约(人支)', 'users', 'aqua', '/cdms/home', $data['today_schedule']));
+                $row->column(3,new InfoBox('预计今日消耗(支)', 'users', 'aqua', '/cdms/home', $data['today_vaccine']));
+            })
+            ->row(function (Row $row){
+                return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">儿保概况</p>');
+            })->row(function (Row $row){
+                $data = StatController::nurse();
+                $row->column(3,new InfoBox('疫苗种类(种)', 'users', 'aqua', '/cdms/home', $data));
+            })
+            ->row(function (Row $row){
+                return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">今日排班         </p>');
+            })->row(function (Row $row){
+                $data = StatController::schedule();
+                $row->column(3,new InfoBox('计免医生(人)', 'users', 'aqua', '/cdms/home', $data['vaccine_num']));
+                $row->column(3,new InfoBox('儿保医生(人)', 'users', 'aqua', '/cdms/home', $data['nurse_num']));
+                $row->column(3,new InfoBox('门诊医生(人)', 'users', 'aqua', '/cdms/home', $data['clinic_num']));
+            });
+//            ->row($this->real_data())
+//            ->row($this->vaccine_data())
+//            ->row($this->nurse_data())
+//            ->row($this->schedule_data());
     }
 
     public function real_data()

+ 59 - 0
app/Community/Controllers/OrganizationController.php

xqd
@@ -0,0 +1,59 @@
+<?php
+
+namespace App\Community\Controllers;
+
+use App\Admin\Actions\Cdmuser;
+use App\Admin\Actions\UpdateCdms;
+use App\Models\Area;
+use App\Models\Order;
+use App\Models\Organization;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class OrganizationController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '机构列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Organization());
+
+        $grid->column('name', __('社区医院'));
+        $grid->column('orders', __('总订单数'))->display(function (){
+            return Order::where('organization_id',$this->id)->count();
+        });
+        $grid->column('ordering', __('进行中订单'))->display(function (){
+            return Order::where(['organization_id'=>$this->id,'order_status'=>3])->count();
+        });
+        $grid->column('is_ok', __('完成数量'))->display(function (){
+            return Order::where(['organization_id'=>$this->id,'order_status'=>4])->count();
+        });
+        $grid->column('anomaly', __('异常数量'))->display(function (){
+            return Order::where(['organization_id'=>$this->id])->orWhere('order_status',5)->orWhere('payment_status','>',2)->count();
+        });
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('id','机构')->select(Organization::pluck('name','id'));
+        });
+
+        $grid->actions(function ($actions) {
+            $actions->disableEdit();
+            $actions->disableView();
+            $actions->disableDelete();
+        });
+
+        return $grid;
+    }
+}

+ 104 - 0
app/Community/Controllers/ServiceController.php

xqd
@@ -0,0 +1,104 @@
+<?php
+
+namespace App\Community\Controllers;
+
+use App\Admin\Actions\Service\ApplysAction;
+use App\Admin\Actions\Service\RefuseAction;
+use App\Models\Docter;
+use App\Models\Order;
+use App\Models\Doctertimes;
+use App\Models\Serviceapplys;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ServiceController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '服务';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Serviceapplys());
+
+        $status = request('status',2);
+
+        $grid->tools(function ($tools) {
+            $tools->batch(function ($batch) {
+                $batch->disableDelete();
+            });
+        });
+
+        if($status == 2){
+            $grid->column('ondocter.name','医生姓名');
+            $grid->column('ondocter.phone_price','咨询价格');
+            $grid->column('step_price','步进价格')->display(function (){
+                $step = Doctertimes::where(['docter_id'=>$this->id])->value('step_price');
+                return $step;
+            });
+
+            $grid->column('orders','总订单数')->display(function (){
+
+                $order_type = Order::where(['docter_id'=>$this->id,'product_type'=>1])->count();
+                return $order_type;
+            });
+            $grid->column('orders_actions','进行中数')->display(function (){
+                $action = Order::where(['docter_id'=>$this->id,'product_type'=>1,'order_status'=>3])->count();
+                return $action;
+            });
+            $grid->column('orders_inishs','完成数')->display(function (){
+                $finish = Order::where(['docter_id'=>$this->id,'product_type'=>1,'order_status'=>4])->count();
+                return $finish;
+            });
+            $grid->column('orders_anomaly','异常数')->display(function (){
+                $anomaly = Order::where(['docter_id'=>$this->id,'product_type'=>1])->whereIn('order_status',[1,2,5])->count();
+                return $anomaly;
+            });
+        } else {
+
+            $grid->column('id', __('Id'));
+            $grid->column('ondocter.avatar', __('头像'))->image('',50,50);
+            $grid->column('ondocter.id', __('医生ID'));
+            $grid->column('ondocter.name','医生名称');
+            $grid->column('ondocter.sex','性别')->using([1=>'男',2=>'女']);
+            $grid->column('ondocter.DocterOrganization', __('所属机构'));
+            $grid->column('ondocter.label', __('标签'))->label('info');
+
+            $grid->column('status', __('状态'))->using([1=>'审核',2=>'已通过',3=>'已拒绝'])->label([
+                1 => 'warning',
+                2 => 'success',
+                3 => 'default'
+            ]);
+            $grid->column('created_at', __('创建时间'));
+            $grid->column('updated_at', __('更新时间'));
+        }
+
+        $grid->filter(function ($filter){
+            $filter->equal('service_type','服务类型')->select([1 => '图文', 2 => '电话', 3 => '问诊']);
+            $filter->equal('status','服务类型')->select([1=>'待审核',2 =>'已通过 ',3=>'已拒绝']);
+        });
+        $grid->actions(function ($actions) {
+            $actions->disableEdit();
+            $actions->disableView();
+            $actions->disableDelete();
+            if($actions->row->status == 1){
+                $actions->add(new ApplysAction());
+                $actions->add(new RefuseAction());
+            }
+        });
+
+
+        return $grid;
+    }
+
+}

+ 4 - 0
app/Community/Controllers/UserNoticeController.php

xqd
@@ -34,8 +34,12 @@ class UserNoticeController extends AdminController
             $user_ids = Order::whereIn('product_type',[4,5])->distinct()->pluck('user_id');
             $grid->model()->whereIn('user_id',$user_ids)->distinct();
         }
+        $grid->addColumn('ssss','id')->display(function (){
+            return 22;
+        })->hide();
 
         $grid->column('orderUser.nickname', __('用户'));
+        $grid->column('sid','优惠卷')->hide();
         $grid->column('orderPatient.name', __('患者'));
         $grid->column('orderPatient.relationship_type', __('关系'))->using([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄',8=>'其他']);
         $grid->column('orderPatient.phone', __('用户手机号'));

+ 14 - 6
app/Community/Controllers/VaccineController.php

xqd xqd xqd xqd
@@ -3,8 +3,10 @@
 namespace App\Community\Controllers;
 
 use App\Models\Order;
+use App\Models\Organization;
 use App\Models\Vaccine;
 use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
@@ -27,17 +29,22 @@ class VaccineController extends AdminController
     {
         $grid = new Grid(new Vaccine());
 
+        $org_id = Admin::user()->org_id;
         $grid->disableCreateButton(false);
         $grid->column('id', __('ID'));
         $grid->column('name', __('疫苗名称'));
         $grid->column('type', __('类别'))->editable('select',[1=>'一类',2=>'二类']);
         $grid->column('stock', __('剩余库存'))->editable();
-        $grid->column('used_num', __('已使用量'))->display(function (){
-            Order::where(['product_type'=>4,'organization_id'=>$org_id])->wherehas('orderVaccine',function ($query){
-
-            });
+        $grid->column('org_id', __('已使用量'))->display(function () use ($org_id) {
+           return Order::where(['product_type'=>4,'organization_id'=>$org_id])->wherehas('orderVaccine',function ($query){
+                $query->where('vaccine_id',$this->id);
+            })->count();
         });
-        $grid->column('today_num', __('今日预约'));
+        $grid->column('today_num', __('今日预约'))->display(function () use ($org_id) {
+            return Order::where(['product_type'=>4,'organization_id'=>$org_id])->wherehas('orderVaccine',function ($query){
+                $query->where('vaccine_id',$this->id);
+            })->count();
+        });;
         $grid->column('price', __('价格'))->editable();
         $grid->column('remark', __('备注'))->editable('textarea');
         $grid->column('supplier', __('厂家'));
@@ -45,7 +52,6 @@ class VaccineController extends AdminController
 //        $grid->column('updated_at', __('Updated at'));
         $grid->filter(function ($fliter){
             $fliter->equal('type','类别')->select([1=>'一类',2=>'二类']);
-//            $fliter->equal('type','类别')->select([1=>'一类',2=>'二类']);
         });
         $grid->actions(function ($actions) {
 
@@ -90,9 +96,11 @@ class VaccineController extends AdminController
         $form = new Form(new Vaccine());
 
         $form->select('type', __('类型'))->options([1=>'一类',2=>'二类']);
+        $form->select('org_id','机构')->options(Organization::pluck('name','id'));
         $form->text('name', __('疫苗名称'));
         $form->text('supplier', __('厂家'));
         $form->number('price', __('价格'));
+        $form->number('stock', __('库存'));
         $form->textarea('remark', __('备注'));
 
         return $form;

+ 5 - 3
app/Community/Controllers/VaccineUserController.php

xqd xqd
@@ -28,8 +28,10 @@ class VaccineUserController extends AdminController
     {
         $grid = new Grid(new Order());
         $is_amdin = Admin::user()->isRole('administrator');
+        $user = Admin::user();
+        dd($user);
         if(!$is_amdin){
-            $grid->model()->where(['organization_id'=>Admin::user()->org_id,'product_type'=>4]);
+            $grid->model()->where(['organization_id'=>$user->org_id,'product_type'=>4]);
         }
 
         $grid->model()->GroupBy('patient_id');
@@ -37,8 +39,8 @@ class VaccineUserController extends AdminController
         $grid->column('orderUser.nickname', __('监护人'));
         $grid->column('orderPatient.phone', __('监护人手机号'));
         $grid->column('orderPatient.birthday', __('出生日期'));
-        $grid->column('patient_id', __('备注'))->display(function ($w){
-            return PatientRemark::where(['org_id'=>intval(Admin::user()->org_id),'patient_id'=>$w,'type'=>2])->value('remark');
+        $grid->column('patient_id', __('备注'))->display(function ($w) use($user) {
+            return PatientRemark::where(['org_id'=>intval($user->org_id),'patient_id'=>$w,'type'=>2])->value('remark');
         });
 
         $grid->filter(function ($flter){

+ 3 - 0
app/Community/bootstrap.php

xqd xqd
@@ -20,6 +20,7 @@
 
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
+use Encore\Admin\Show;
 Form::extend('week', \App\Admin\Extensions\Week::class);
 Grid::init(function (Grid $grid) {
 
@@ -49,3 +50,5 @@ Form::init(function (Form $form){
 
     });
 });
+
+

+ 2 - 0
app/Community/routes.php

xqd
@@ -16,6 +16,8 @@ Route::resource('docter_verifies', DocterVerifyController::class);
 Route::resource('cdms_roles', PermissionController::class);
 Route::resource('docter_account', DocterAccountController::class);
 Route::resource('docter_chats', DocterChatController::class);
+Route::resource('services', ServiceController::class);
+Route::resource('orgservice', OrganizationController::class);
 
 
 //社区通告

+ 137 - 62
app/Http/Controllers/ScheDuleController.php

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
 
 
 
+use App\Models\CdmsUsers;
 use App\Models\CommunitySchedule;
 use App\Models\Docter;
 use App\Models\DocterOrganization;
@@ -24,23 +25,45 @@ use phpDocumentor\Reflection\DocBlock\Description;
 class ScheDuleController  extends Controller
 {
 
+    public function __construct()
+    {
+
+        // 允许 $originarr 数组内的 域名跨域访问
+
+        header('Access-Control-Allow-Origin:*');
+
+        // 响应类型
+
+        header('Access-Control-Allow-Methods:POST,GET');
+
+        // 带 cookie 的跨域访问
+
+        header('Access-Control-Allow-Credentials: true');
+
+        // 响应头设置
+
+        header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token');
+
+    }
+
+    //获取排班页面
     public function getComSchedule()
     {
 
-        $set_time = request('Schedulingtime');//时间
-        $org_id = request('mechanism');//机构
+        $set_time = request('time');//时间
+        $org_id = request('org_id');//机构
         $docter_id = request('docter_id');//医生
 
 
-        $set_time = '2020-11-30至2020-12-06';
-        $org_id = 1;
-        $docter_id = 47;
+//        $set_time = '2020-11-30至2020-12-06';
+//        $org_id = 1;
+//        $docter_id = 47;
         $role = 1;
 
         if(empty($set_time) || empty($org_id) || empty($docter_id)){
             return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
         } else{
-            echo 'what happend';
+//            echo 'what happend';
         }
 
 
@@ -61,36 +84,36 @@ class ScheDuleController  extends Controller
 //        echo '</pre>';
         //dd($sche_dule);
 
-        $sche_dule_arr = [
+        $sche_dule_arr =[
             [
                 'date'=>"上午",
-                'mondy'=>true,
-                'tuesday'=>true,
-                'wednesday'=>true,
-                'thursday'=>true,
-                'friday'=>true,
-                'saturday'=>true,
-                'sunday'=>true,
+                'mondy'=>false,
+                'tuesday'=>false,
+                'wednesday'=>false,
+                'thursday'=>false,
+                'friday'=>false,
+                'saturday'=>false,
+                'sunday'=>false,
             ],
             [
                 'date'=>"下午",
-                'mondy'=>true,
-                'tuesday'=>true,
-                'wednesday'=>true,
-                'thursday'=>true,
-                'friday'=>true,
-                'saturday'=>true,
-                'sunday'=>true,
+                'mondy'=>false,
+                'tuesday'=>false,
+                'wednesday'=>false,
+                'thursday'=>false,
+                'friday'=>false,
+                'saturday'=>false,
+                'sunday'=>false,
             ],
             [
                 'date'=>"晚上",
-                'mondy'=>true,
-                'tuesday'=>true,
-                'wednesday'=>true,
-                'thursday'=>true,
-                'friday'=>true,
-                'saturday'=>true,
-                'sunday'=>true,
+                'mondy'=>false,
+                'tuesday'=>false,
+                'wednesday'=>false,
+                'thursday'=>false,
+                'friday'=>false,
+                'saturday'=>false,
+                'sunday'=>false,
             ]
         ];
 
@@ -109,7 +132,9 @@ class ScheDuleController  extends Controller
         $role = 2;
         if($role == 1){
             $ids = DocterOrganization::where(['organization_id'=>$org_id])->pluck('docter_id');
-            $list = Docter::whereIn('id',$ids)->get(['id','name'])->toArray();
+            $list = Docter::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
+            $name = Organization::where('id',$docter_id)->value('name');
+
             $user_id = $org_id;
 
             for ($i = $start_time; $i<=$end_time; $i++){
@@ -119,12 +144,22 @@ class ScheDuleController  extends Controller
                 //检测上午
                 $is_mo_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$mo)
                     ->where('organization_id','!=',$org_id)->count();
+                $is_self = SchedulePeriod::where('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$mo)
+                    ->where('organization_id',$org_id)->count();
+                if($is_self){
+                    $sche_dule_arr[0][$week_arr[$j]] = true;
+                }
                 if($is_mo_have){
                     $sche_dule_arr[0][$week_arr[$j]] = 'other';
                 }
                 //检测下午
                 $is_af_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$af)
                     ->where('organization_id','!=',$org_id)->count();
+                $is_af_self = SchedulePeriod::where('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$af)
+                    ->where('organization_id',$org_id)->count();
+                if($is_af_self){
+                    $sche_dule_arr[1][$week_arr[$j]] = true;
+                }
                 if($is_af_have){
                     $sche_dule_arr[1][$week_arr[$j]] = 'other';
                 }
@@ -132,6 +167,11 @@ class ScheDuleController  extends Controller
                 //检测晚上
                 $is_ev_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$ev)
                     ->where('organization_id','!=',$org_id)->count();
+                $is_ev_self = SchedulePeriod::where('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$ev)
+                    ->where('organization_id',$org_id)->count();
+                if($is_ev_self){
+                    $sche_dule_arr[2][$week_arr[$j]] = true;
+                }
                 if($is_ev_have){
                     $sche_dule_arr[2][$week_arr[$j]] = 'other';
                 }
@@ -140,7 +180,8 @@ class ScheDuleController  extends Controller
 
         } else {
             $ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
-            $list = Organization::whereIn('id',$ids)->get(['id','name'])->toArray();
+            $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
+            $name = Docter::where('id',$docter_id)->value('name');
             $user_id = $docter_id;
 
             for ($i = $start_time; $i<=$end_time; $i++){
@@ -150,12 +191,22 @@ class ScheDuleController  extends Controller
                 //检测上午
                 $is_mo_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$mo)
                     ->where('organization_id','!=',$org_id)->where('docter_id','!=',$docter_id)->count();
+                $is_mo_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$mo)
+                    ->where('organization_id','!=',$org_id)->where('docter_id',$docter_id)->count();
+                if($is_mo_self){
+                    $sche_dule_arr[0][$week_arr[$j]] = true;
+                }
                 if($is_mo_have){
                     $sche_dule_arr[0][$week_arr[$j]] = 'other';
                 }
                 //检测下午
                 $is_af_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$af)
                     ->where('organization_id','!=',$org_id)->where('docter_id','!=',$docter_id)->count();
+                $is_af_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$af)
+                    ->where('organization_id','!=',$org_id)->where('docter_id',$docter_id)->count();
+                if($is_af_self){
+                    $sche_dule_arr[1][$week_arr[$j]] = true;
+                }
                 if($is_af_have){
                     $sche_dule_arr[1][$week_arr[$j]] = 'other';
                 }
@@ -163,6 +214,11 @@ class ScheDuleController  extends Controller
                 //检测晚上
                 $is_ev_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$ev)
                     ->where('organization_id','!=',$org_id)->where('docter_id','!=',$docter_id)->count();
+                $is_ev_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$ev)
+                    ->where('organization_id','!=',$org_id)->where('docter_id',$docter_id)->count();
+                if($is_ev_self){
+                    $sche_dule_arr[2][$week_arr[$j]] = true;
+                }
                 if($is_ev_have){
                     $sche_dule_arr[2][$week_arr[$j]] = 'other';
                 }
@@ -179,13 +235,15 @@ class ScheDuleController  extends Controller
 
 
         $data['docter'] = $sche_dule_arr;
-        $data['list'] = array_column($list,'name','id');
+        $data['name'] = $name;
+        $data['list'] = $list;
+
         $data['role'] = $role;
         $data['user_id'] = $user_id;
         return  (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
     }
 
-
+    //编辑排班
     public function setDocChedule()
     {
         $docter_id = request('docter_id');
@@ -208,33 +266,33 @@ class ScheDuleController  extends Controller
         $data = [
             [
                 'date'=>"上午",
-                'mondy'=>true,
-                'tuesday'=>true,
-                'wednesday'=>true,
-                'thursday'=>true,
-                'friday'=>true,
-                'saturday'=>true,
-                'sunday'=>true,
+                'mondy'=>false,
+                'tuesday'=>false,
+                'wednesday'=>false,
+                'thursday'=>false,
+                'friday'=>false,
+                'saturday'=>false,
+                'sunday'=>false,
             ],
             [
                 'date'=>"下午",
-                'mondy'=>true,
-                'tuesday'=>true,
-                'wednesday'=>true,
-                'thursday'=>true,
-                'friday'=>true,
-                'saturday'=>true,
-                'sunday'=>true,
+                'mondy'=>false,
+                'tuesday'=>false,
+                'wednesday'=>false,
+                'thursday'=>false,
+                'friday'=>false,
+                'saturday'=>false,
+                'sunday'=>false,
             ],
             [
                 'date'=>"晚上",
-                'mondy'=>true,
-                'tuesday'=>true,
-                'wednesday'=>true,
-                'thursday'=>true,
-                'friday'=>true,
-                'saturday'=>true,
-                'sunday'=>true,
+                'mondy'=>false,
+                'tuesday'=>false,
+                'wednesday'=>false,
+                'thursday'=>false,
+                'friday'=>false,
+                'saturday'=>false,
+                'sunday'=>false,
             ]
         ];
 
@@ -309,42 +367,59 @@ class ScheDuleController  extends Controller
         return json_encode(['status'=>200,'msg'=>'插入成功','data'=>count($info)]);
     }
 
-    public function getScheduleInfo ()
+    //获取用户信息
+    public function getScheduleInfo()
     {
         $docter_id = request('docter_id');
         $org_id = request('org_id');
-        $docter_id = 47;
-        $org_id = 1;
+//        dd(request()->toArray());
+        $is_docter = CdmsUsers::where('docter_id',$docter_id);
         $role = 1;
+        if(empty($org_id) && empty($docter_id)){
+            return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
+        }
+        if($is_docter){
+            $role = 2;
+        }
         if($role == 1){
             $ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
-            $list = Organization::whereIn('id',$ids)->get(['id','name'])->toArray();
+            $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
+            $name = Organization::where('id',$org_id)->value('name');
             $user_id = $org_id;
         } else {
             $ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
-            $list = Organization::whereIn('id',$ids)->get(['id','name'])->toArray();
+            $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
+            $name = Docter::where('id',$docter_id)->value('name');
             $user_id = $docter_id;
-
         }
         $data['user_id'] = $user_id;
+        $data['name'] = $name;
         $data['role'] = $role;
         $data['list'] = $list;
         return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
     }
 
+    //获取图文订单
     public function get_chat_order()
     {
         $org_id = 1;
-        $docter_id = 1;
+//        $docter_id = 1;
+        $docter_id = request('docter_id');
+        if(empty($docter_id)){
+            return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
+
+        }
+
         $list = Order::where(['organization_id'=>$org_id,'docter_id'=>$docter_id,'order_status'=>3])->with('orderUser')->distinct('user_id')->get('user_id');
+        $user_list = [];
         foreach ($list as $val){
             $user_list[] = [
-                'user_id'=>$val->user_id,
+                'id'=>$val->user_id,
                 'avatar'=>$val->orderUser->avatar,
                 'name'=>$val->orderUser->nickname,
             ];
         }
-        $data['docter_id'] = $docter_id;
+        $data['docter'] =  Docter::where('id',$docter_id)->first(['id','avatar','name']);
         $data['order_list'] = $user_list;
         return  (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
     }

+ 11 - 0
app/Models/Menubar.php

xqd
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Menubar extends Model
+{
+    //
+    protected $table = 'menubar';
+}

+ 1 - 0
app/Models/Notice.php

xqd
@@ -7,4 +7,5 @@ use Illuminate\Database\Eloquent\Model;
 class Notice extends Model
 {
     //
+    protected $table = 'notices';
 }

+ 4 - 0
app/Models/ServicePack.php

xqd
@@ -10,6 +10,10 @@ namespace App\Models;
 
 class ServicePack extends BaseModel
 {
+    protected $table = 'service_packs';
+    protected $casts = [
+        'label' => 'json',
+    ];
     public function team()
     {
         return $this->belongsTo(Team::class);

+ 5 - 0
app/Models/Serviceapplys.php

xqd
@@ -12,6 +12,11 @@ class Serviceapplys extends Model
     public function docter(){
         return $this->belongsTo(Docter::class);
     }
+
+    public function ondocter()
+    {
+        return $this->hasOne(Docter::class,'id','docter_id');
+    }
 //    private static $_post_type =[
 //        1 => '图文',
 //        2 => '电话',

+ 4 - 0
app/Models/Team.php

xqd
@@ -10,6 +10,10 @@ namespace App\Models;
 
 class Team extends BaseModel
 {
+    public function TeamDocter()
+    {
+        return $this->belongsTo(TeamDocter::class,'team_id','id');
+    }
     public function docter()
     {
         return $this->belongsToMany(Docter::class, 'team_docters');

+ 3 - 0
app/Models/TeamDocter.php

xqd
@@ -10,6 +10,9 @@ namespace App\Models;
 
 class TeamDocter extends BaseModel
 {
+    public function team(){
+        return $this->hasOne(Team::class,'id','team_id');
+    }
     public function DocterOrganization(){
         return $this->belongsTo(DocterOrganization::class);
     }

+ 3 - 2
composer.json

xqd
@@ -11,12 +11,13 @@
         "php": "^7.2",
         "encore/laravel-admin": "1.*",
         "fideloper/proxy": "^4.0",
+        "jxlwqq/wang-editor2": "^1.0",
         "laravel-admin-ext/multitenancy": "^2.1",
         "laravel/framework": "^6.0",
         "laravel/tinker": "^1.0",
+        "maatwebsite/excel": "^3.1",
         "overtrue/wechat": "^4.0",
-        "sven/artisan-view": "^3.3",
-        "maatwebsite/excel": "^3.1"
+        "sven/artisan-view": "^3.3"
     },
     "require-dev": {
         "filp/whoops": "^2.0",

+ 63 - 1
composer.lock

xqd xqd
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "418bc0dda52cb02116262b36b99e5be4",
+    "content-hash": "fc6e57f3eeb15c03a65075f447c88400",
     "packages": [
         {
             "name": "dnoegel/php-xdg-base-dir",
@@ -1097,6 +1097,68 @@
             "abandoned": "php-parallel-lint/php-console-highlighter",
             "time": "2018-09-29T18:48:56+00:00"
         },
+        {
+            "name": "jxlwqq/wang-editor2",
+            "version": "1.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/laravel-admin-extensions/wangEditor2.git",
+                "reference": "46622fe683c076718e6bee1e5bb9b8ad842fd0cd"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/laravel-admin-extensions/wangEditor2/zipball/46622fe683c076718e6bee1e5bb9b8ad842fd0cd",
+                "reference": "46622fe683c076718e6bee1e5bb9b8ad842fd0cd",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "encore/laravel-admin": "~1.6",
+                "php": ">=7.0.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~6.0"
+            },
+            "type": "library",
+            "extra": {
+                "laravel": {
+                    "providers": [
+                        "Jxlwqq\\WangEditor2\\WangEditor2ServiceProvider"
+                    ]
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Jxlwqq\\WangEditor2\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "jxlwqq",
+                    "email": "jxlwqq@gmail.com"
+                }
+            ],
+            "description": "wang-editor2 for laravel-admin",
+            "homepage": "https://github.com/jxlwqq/wangEditor2",
+            "keywords": [
+                "extension",
+                "laravel-admin"
+            ],
+            "support": {
+                "issues": "https://github.com/jxlwqq/wangEditor2/issues",
+                "source": "https://github.com/jxlwqq/wangEditor2/tree/master"
+            },
+            "time": "2018-12-04T04:15:44+00:00"
+        },
         {
             "name": "laravel-admin-ext/multitenancy",
             "version": "v2.1.7",

+ 42 - 0
config/admin.php

xqd
@@ -430,6 +430,48 @@ return [
         ],
         'multitenancy' => [
             'tenancy' => config_path('tenancy.php'),
+        ],
+        'wang-editor2' => [
+            // 如果要关掉这个扩展,设置为false
+            'enable' => true,
+            // 编辑器的配置
+            'config' => [
+                'uploadImgFileName' => 'up_image', //这个应该wangEditor的上传方法名字,不要乱改
+                'uploadImgUrl' => '/admin/upload', //注意这里是上传的路由地址
+                'menus' => [
+                    'source',
+                    '|',
+                    'bold',
+                    'underline',
+                    'italic',
+                    'strikethrough',
+                    'eraser',
+                    'forecolor',
+                    'bgcolor',
+                    '|',
+                    'quote',
+                    'fontfamily',
+                    'fontsize',
+                    'head',
+                    'unorderlist',
+                    'orderlist',
+                    'alignleft',
+                    'aligncenter',
+                    'alignright',
+                    '|',
+                    'link',
+                    'unlink',
+                    'table',
+                    '|',
+                    'img',
+                    'video',
+                    'insertcode',
+                    '|',
+                    'undo',
+                    'redo',
+                    'fullscreen'
+                ],
+            ]
         ]
     ],
 ];

+ 1 - 1
database/migrations/2020_11_24_065951_add_table_bm_service_apply.php

xqd
@@ -30,6 +30,6 @@ class AddTableBmServiceApply extends Migration
      */
     public function down()
     {
-        Schema::drop('service_apply');
+        Schema::drop('service_applys');
     }
 }

+ 37 - 0
database/migrations/2020_12_02_063339_create_notice_table.php

xqd
@@ -0,0 +1,37 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateNoticeTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('notices', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->string('title')->comment('公告标题');
+            $table->text('content')->comment('公告内容');
+            $table->string('url')->comment('公告链接');
+            $table->integer('type')->comment('类型 1.用户端 2.医生端');
+            $table->integer('status')->comment('状态 0.禁用 1.启用')->nullable(false)->unsigned();
+            $table->dateTime('created_at')->comment('创建时间');
+            $table->dateTime('updated_at')->comment('更新时间');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('notices');
+    }
+}

+ 37 - 0
database/migrations/2020_12_02_075125_create_menubar_table.php

xqd
@@ -0,0 +1,37 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateMenubarTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('menubar', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->string('name')->comment('名称');
+            $table->text('image')->comment('默认图片');
+            $table->text('image_at')->comment('点击后的图片');
+            $table->string('url')->comment('链接');
+            $table->integer('status')->comment('状态 0.禁用 1.启用')->nullable(false)->unsigned();
+            $table->dateTime('created_at')->comment('创建时间');
+            $table->dateTime('updated_at')->comment('更新时间');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('menubar');
+    }
+}

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
public/cdms/assets/css/app.435c7432.css


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
public/cdms/assets/css/app.6871d772.css


Diff do ficheiro suprimidas por serem muito extensas
+ 8 - 0
public/cdms/assets/css/chunk-vendors.c9bf45fc.css


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
public/cdms/assets/js/app.45ed2073.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
public/cdms/assets/js/app.45ed2073.js.map


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
public/cdms/assets/js/app.df98bf87.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
public/cdms/assets/js/app.df98bf87.js.map


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
public/cdms/assets/js/chunk-vendors.3a131eeb.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
public/cdms/assets/js/chunk-vendors.3a131eeb.js.map


BIN
public/cdms/favicon.ico


+ 1 - 1
resources/views/cdms/chat.blade.php

xqd
@@ -1 +1 @@
-<!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"><link rel="icon" href="favicon.ico"><title>mabaochat</title><link href="/assets/css/app.1ef7a076.css" rel="preload" as="style"><link href="/assets/js/app.a700b62e.js" rel="preload" as="script"><link href="/assets/js/chunk-vendors.95e2f2c7.js" rel="preload" as="script"><link href="/assets/css/app.1ef7a076.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but mabaochat doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/assets/js/chunk-vendors.95e2f2c7.js"></script><script src="/assets/js/app.a700b62e.js"></script></body></html>
+<!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"><link rel="icon" href="favicon.ico"><title>mabaochat</title><link href="assets/css/app.435c7432.css" rel="preload" as="style"><link href="assets/css/chunk-vendors.c9bf45fc.css" rel="preload" as="style"><link href="assets/js/app.df98bf87.js" rel="preload" as="script"><link href="assets/js/chunk-vendors.3a131eeb.js" rel="preload" as="script"><link href="assets/css/chunk-vendors.c9bf45fc.css" rel="stylesheet"><link href="assets/css/app.435c7432.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but mabaochat doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="assets/js/chunk-vendors.3a131eeb.js"></script><script src="assets/js/app.df98bf87.js"></script></body></html>

+ 3 - 1
routes/web.php

xqd
@@ -17,6 +17,8 @@ Route::get('/', function () {
 
 
 Route::get('/api/getComSchedule', 'ScheDuleController@getComSchedule');
-Route::get('/api/getChatOrder', 'ScheDuleController@get_chat_order');
+Route::get('/getChatOrder', 'ScheDuleController@get_chat_order');
 Route::get('/api/setDocChedule', 'ScheDuleController@setDocChedule');
+//用户信息
+Route::get('/api/getScheduleInfo', 'ScheDuleController@getScheduleInfo');
 

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff