Browse Source

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

Swdz-WangHaiJun 4 years ago
parent
commit
ac4002b406
30 changed files with 787 additions and 108 deletions
  1. 18 3
      app/Admin/Actions/backstage/Coupon/CouponBatchGrant.php
  2. 1 1
      app/Admin/Actions/backstage/Docters/LabelManagement.php
  3. 17 0
      app/Admin/Actions/backstage/Orders/ServicePack.php
  4. 23 0
      app/Admin/Actions/backstage/Orders/ServicePackOrderList.php
  5. 19 0
      app/Admin/Actions/backstage/User/Orders.php
  6. 1 1
      app/Admin/Controllers/ArticleManagement/ArticleController.php
  7. 17 1
      app/Admin/Controllers/CouponManagement/CouponManagementController.php
  8. 15 16
      app/Admin/Controllers/OrdersManagement/BookingOrderController.php
  9. 25 1
      app/Admin/Controllers/OrdersManagement/ConsultingOrdersController.php
  10. 1 1
      app/Admin/Controllers/OrdersManagement/RechargeOrderController.php
  11. 124 0
      app/Admin/Controllers/OrdersManagement/ServicePackDetailsController.php
  12. 7 32
      app/Admin/Controllers/OrdersManagement/ServicePackOrderController.php
  13. 148 0
      app/Admin/Controllers/OrdersManagement/ServicePackOrderListController.php
  14. 92 0
      app/Admin/Controllers/PermissionController.php
  15. 21 2
      app/Admin/Controllers/ServiceManagement/ServiceController.php
  16. 9 8
      app/Admin/Controllers/UserManagement/BmUser/UserListController.php
  17. 144 0
      app/Admin/Controllers/UserManagement/BmUser/UserOrdersController.php
  18. 5 1
      app/Admin/Controllers/UserManagement/DocterManagement/DoctorManagementController.php
  19. 27 10
      app/Admin/Controllers/VaccinesManagement/VaccinesController.php
  20. 11 0
      app/Admin/routes.php
  21. 1 1
      app/Community/routes.php
  22. 2 1
      app/Http/Controllers/Api/V1/OrderController.php
  23. 3 0
      app/Models/Coupon.php
  24. 3 1
      app/Models/CouponType.php
  25. 4 0
      app/Models/DocterOrganization.php
  26. 4 0
      app/Models/Order.php
  27. 1 1
      app/Models/OrderPack.php
  28. 8 0
      app/Models/Serviceapplys.php
  29. 15 6
      app/Models/Vaccine.php
  30. 21 21
      public/.htaccess

+ 18 - 3
app/Admin/Actions/backstage/Coupon/CouponBatchGrant.php

xqd xqd xqd
@@ -3,6 +3,7 @@
 namespace App\Admin\Actions\backstage\Coupon;
 
 use App\Models\Coupon;
+use App\Models\CouponType;
 use App\Models\User;
 use App\Models\UserCoupon;
 use Encore\Admin\Actions\BatchAction;
@@ -44,7 +45,7 @@ class CouponBatchGrant extends BatchAction
                 'expire_type' => $coupon->expire_type,
                 'effective_days' => $coupon->effective_days,
                 'expire_time' => $expire_time_num,
-                'coupons_num'=>0
+//                'coupons_num'=>0
             ];
         }else if ($coupon->expire_type == 2){
             $arr = [
@@ -64,12 +65,26 @@ class CouponBatchGrant extends BatchAction
                 'expire_type' => $coupon->expire_type,
                 'start_time' => $coupon->start_time,
                 'end_time' => $coupon->end_time,
-                'coupons_num'=>0
+//                'coupons_num'=>0
             ];
         }
+        //拿到类型数组
+        $type = CouponType::where('coupon_id',$coupon_id)->where('user_coupon_id',0)->pluck('product_type');
+
         foreach ($collection as $model) {
+            //插入到用户优惠券中
             $arr['user_id'] = $model->id;
-            UserCoupon::insert($arr);
+            //获取到插入之后的id
+            $insert_id = UserCoupon::create($arr)->id;
+            foreach ($type as $value)
+            {
+                $coupon_type_arr = [
+                    'coupon_id' => 0,
+                    'user_coupon_id' =>$insert_id,
+                    'product_type' =>$value
+                ];
+                CouponType::create($coupon_type_arr);
+            }
             $coupon = Coupon::where('id',$coupon_id)->first();
             Coupon::where('id',$coupon_id)->update(['num'=>$coupon->num-1]);
         }

+ 1 - 1
app/Admin/Actions/backstage/Docters/LabelManagement.php

xqd
@@ -44,7 +44,7 @@ class LabelManagement extends RowAction
             array_push($result, $value);
         });
         $this->multipleSelect('name', '请选择标签')
-            ->options(DocterLabel::all()->pluck('label_name','id'))
+            ->options(DocterLabel::where('status','1')->get()->pluck('label_name','id'))
             ->value($result);
     }
 }

+ 17 - 0
app/Admin/Actions/backstage/Orders/ServicePack.php

xqd
@@ -0,0 +1,17 @@
+<?php
+
+namespace App\Admin\Actions\backstage\Orders;
+
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class ServicePack extends RowAction
+{
+    public $name = '服务包详情';
+
+    public function handle(Model $model)
+    {
+        return $this->response()->success('跳转服务包详情成功')->redirect('/admin/service_packs_datails?order_id='.$this->row->id.'');
+    }
+
+}

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

xqd
@@ -0,0 +1,23 @@
+<?php
+
+namespace App\Admin\Actions\backstage\Orders;
+
+use App\Models\OrderPack;
+use App\Models\OrderPatient;
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class ServicePackOrderList extends RowAction
+{
+    public $name = '服务包订单列表';
+
+    public function handle(Model $model)
+    {
+        $patient_id_arr = OrderPatient::where('order_id',$this->row->id)->pluck('patient_id');
+        $patient_id = $patient_id_arr[0];
+        $pack_id_arr = OrderPack::where('order_id',$this->row->id)->pluck('service_pack_id');
+        $pack_id = $pack_id_arr[0];
+        return $this->response()->success('跳转服务包订单列表成功')->redirect('/admin/service_packs_order_list?patient_id='.$patient_id.'&pay_order_pack_id='.$pack_id.'');
+    }
+
+}

+ 19 - 0
app/Admin/Actions/backstage/User/Orders.php

xqd
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Admin\Actions\backstage\User;
+
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class Orders extends RowAction
+{
+    public $name = '订单数据总览';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+
+        return $this->response()->success('跳转用户订单列表成功')->redirect('/admin/user_orders?user_id='.$this->row->id.'');
+    }
+
+}

+ 1 - 1
app/Admin/Controllers/ArticleManagement/ArticleController.php

xqd
@@ -80,7 +80,7 @@ class ArticleController extends AdminController
 
         $form->select('type', __('分类'))->options(Article::$_post_type)->default('1');
         $form->text('title', __('标题'))->rules('required|min:3|max:255',['required'=>'请填写标题','min'=>'标题字符不能少于3个','max'=>'标题长度过长']);
-        $form->textarea('content', __('内容'))->rules('required|min:3',['required'=>'请填写标题','min'=>'标题字符不能少于3个']);
+        $form->editor('content', __('内容'))->rules('required|min:3',['required'=>'请填写标题','min'=>'标题字符不能少于3个']);
         $form->image('banner_url', __('图片'))->rules('required' ,['required'=>'请选择图片!']);
 
         return $form;

+ 17 - 1
app/Admin/Controllers/CouponManagement/CouponManagementController.php

xqd
@@ -127,7 +127,23 @@ class CouponManagementController extends AdminController
             });
         $form->select('position_type',__('发放平台'))->options([1=>'领券中心',2=>'后台发放']);
         $form->number('num', __('数量'));
-        $form->select('usable_type',__('可用类型'))->options([1=>'全部产品通用',2=>'部分产品可用']);
+        $form->select('usable_type',__('可用类型'))
+            ->options([
+                1=>'全部产品通用',
+                2=>'部分产品可用'
+            ])->when(2,function (Form $form){
+                $form->hasMany('CouponType','可用类型',function (Form\NestedForm $form){
+                    $form->select('product_type','可用类型')->options([
+                        1=>'电话咨询',
+                        2=>'图文咨询',
+                        3=>'门诊咨询',
+                        4=>'疫苗接种',
+                        5=>'儿保预约',
+                        6=>'服务包',
+                        7=>'充值',
+                    ]);
+                });
+            });
         $form->select('expire_type', '过期类型')
             ->options([
                 1 => '领取N天过期',

+ 15 - 16
app/Admin/Controllers/OrdersManagement/BookingOrderController.php

xqd xqd xqd
@@ -6,6 +6,7 @@ use App\Admin\Actions\backstage\Orders\Evaluate;
 use App\Models\Order;
 use App\Admin\Actions\backstage\Orders\OrderDetails;
 use App\Models\OrderPack;
+use App\Models\ServicePack;
 use Encore\Admin\Controllers\AdminController;
 use App\Admin\Actions\backstage\User\MapDepot;
 use App\Admin\Actions\backstage\User\Suggests;
@@ -85,6 +86,7 @@ class BookingOrderController extends AdminController
         $grid->column('user.nickname', __('用户姓名'));
         $grid->column('docter.name', __('医生姓名'));
         $grid->column('orderPatient.name', __('患者姓名'));
+        $grid->column('orderPatient.patient_phone', __('患者电话'));
         $grid->column('orderPatient.appoint_start_time', __('预约日期'))->display(function ($time){
             return date('Y-m-d H:i:s',$time);
         });
@@ -92,22 +94,19 @@ class BookingOrderController extends AdminController
             return date('Y-m-d H:i:s',$time);
         });
         $grid->column('product_type', __('产品类型'))->using([3=>'门诊预约',4=>'疫苗接种预约',5=>'儿保预约']);
-        $grid->column('payment_type', __('支付方式'))->using([1=>'微信支付',2=>'余额支付',3=>'服务包支付']);
-//        $grid->column('payment_type', __('支付方式'))->display(function ($payment_type){
-//            if ($payment_type == 1)
-//            {
-//                return '微信支付';
-//            }
-//            if ($payment_type == 2){
-//                return '余额支付';
-//            }
-//            if ($payment_type == 3){
-//////                dd($this);
-////                $patient_id = $this->patient_id;
-////                $orde_id = Order::where('patient_id',$patient_id)->where('product_type',6)->get('id');
-//                return '服务包支付';
-//            }
-//        });
+        $grid->column('payment_type', __('支付方式'))->display(function ($payment_type){
+            if ($payment_type == 1)
+            {
+                return '微信支付';
+            }
+            if ($payment_type == 2){
+                return '余额支付';
+            }
+            if ($payment_type == 3){
+                $name = ServicePack::where('id',$this->pay_order_pack_id)->pluck('name');
+                return '服务包支付('.$name[0].')';
+            }
+        });
         $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
         $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
         $grid->column('total_amount', __('订单总金额'))->display(function ($money){

+ 25 - 1
app/Admin/Controllers/OrdersManagement/ConsultingOrdersController.php

xqd xqd xqd xqd
@@ -7,6 +7,7 @@ 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 App\Models\ServicePack;
 use Encore\Admin\Controllers\AdminController;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
@@ -38,6 +39,14 @@ class ConsultingOrdersController extends AdminController
                 $filter->like('user.nickname','用户姓名');
                 $filter->equal('user_id', '用户id');
                 $filter->timestampBetween('payment_time', "支付时间")->datetime();
+                $filter->in('evaluate.score','评分')->checkbox([
+                    1    => 1,
+                    2    => 2,
+                    3    => 3,
+                    4    => 4,
+                    5    => 5,
+                ]);
+
             });
             $filter->column(1/3, function ($filter) {
                 $filter->like('docter.name','医生姓名');
@@ -81,9 +90,22 @@ class ConsultingOrdersController extends AdminController
         $grid->column('user.nickname', __('用户姓名'));
         $grid->column('docter.name', __('医生姓名'));
         $grid->column('orderPatient.name', __('患者姓名'));
+        $grid->column('orderPatient.patient_phone', __('患者电话'));
         $grid->column('orderPatient.symptoms', __('患者描述'));
         $grid->column('product_type', __('产品类型'))->using([1=>'电话咨询',2=>'图文咨询']);
-        $grid->column('payment_type', __('支付方式'))->using([1=>'微信支付',2=>'余额支付',3=>'服务包支付']);
+        $grid->column('payment_type', __('支付方式'))->display(function ($payment_type){
+            if ($payment_type == 1)
+            {
+                return '微信支付';
+            }
+            if ($payment_type == 2){
+                return '余额支付';
+            }
+            if ($payment_type == 3){
+                $name = ServicePack::where('id',$this->pay_order_pack_id)->pluck('name');
+                return '服务包支付('.$name[0].')';
+            }
+        });
         $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
         $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
         $grid->column('total_amount', __('订单总金额'))->display(function ($money){
@@ -95,6 +117,8 @@ class ConsultingOrdersController extends AdminController
         $grid->column('discount_amount', __('折扣金额'))->display(function ($money){
             return $money/100;
         });
+        $grid->column('evaluate.score', __('订单评分'));
+        $grid->column('evaluate.status', __('评分状态'))->using([1=>'待审核',2=>'审核通过',3=>'审核拒绝']);
         $grid->column('payment_time', __('支付时间'))->display(function ($time){
             return date('Y-m-d H:i:s',$time);
         });

+ 1 - 1
app/Admin/Controllers/OrdersManagement/RechargeOrderController.php

xqd
@@ -60,12 +60,12 @@ class RechargeOrderController extends AdminController
             $actions->disableDelete();
             // 去掉编辑
             $actions->disableEdit();
-            $actions->add(new Evaluate());
         });
 
         $grid->column('id', __('Id'))->sortable();
         $grid->column('user_id', __('用户id'));
         $grid->column('user.nickname', __('用户姓名'));
+        $grid->column('user.phone', __('用户电话'));
         $grid->column('product_type', __('产品类型'))->using([7=>'充值订单']);
         $grid->column('payment_type', __('支付方式'))->using([1=>'微信支付',2=>'余额支付']);
         $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);

+ 124 - 0
app/Admin/Controllers/OrdersManagement/ServicePackDetailsController.php

xqd
@@ -0,0 +1,124 @@
+<?php
+
+namespace App\Admin\Controllers\OrdersManagement;
+
+use App\Models\OrderPack;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ServicePackDetailsController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '服务包详情';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $order_id = \request('order_id');
+        $grid = new Grid(new OrderPack());
+
+        $grid->disableActions();
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('order_id','订单id');
+        });
+        $grid->column('id', __('id'));
+        $grid->column('order_id', __('订单id'));
+        $grid->column('service_pack_id', __('服务包id'));
+        $grid->column('pack_name', __('服务包名称'));
+        $grid->column('pack_price', __('服务包价格'))->display(function ($price){
+            return $price/100;
+        });
+        $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('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(OrderPack::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('order_id', __('Order id'));
+        $show->field('service_pack_id', __('Service pack id'));
+        $show->field('pack_name', __('Pack name'));
+        $show->field('pack_intro', __('Pack intro'));
+        $show->field('pack_price', __('Pack price'));
+        $show->field('insurance_policy', __('Insurance policy'));
+        $show->field('insurance_img_url', __('Insurance img url'));
+        $show->field('team_id', __('Team id'));
+        $show->field('phone_minutes', __('Phone minutes'));
+        $show->field('chat_num', __('Chat num'));
+        $show->field('appoint_num', __('Appoint num'));
+        $show->field('vaccine_limit_amount', __('Vaccine limit amount'));
+        $show->field('nurses_limit_amount', __('Nurses limit amount'));
+        $show->field('effective_days', __('Effective days'));
+        $show->field('start_time', __('Start time'));
+        $show->field('end_time', __('End time'));
+        $show->field('is_security', __('Is security'));
+        $show->field('guardian_name', __('Guardian name'));
+        $show->field('relationship_type', __('Relationship type'));
+        $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 OrderPack());
+
+        $form->number('order_id', __('Order id'));
+        $form->number('service_pack_id', __('Service pack id'));
+        $form->text('pack_name', __('Pack name'));
+        $form->text('pack_intro', __('Pack intro'));
+        $form->number('pack_price', __('Pack price'));
+        $form->text('insurance_policy', __('Insurance policy'));
+        $form->text('insurance_img_url', __('Insurance img url'));
+        $form->number('team_id', __('Team id'));
+        $form->number('phone_minutes', __('Phone minutes'));
+        $form->number('chat_num', __('Chat num'));
+        $form->number('appoint_num', __('Appoint num'));
+        $form->number('vaccine_limit_amount', __('Vaccine limit amount'));
+        $form->number('nurses_limit_amount', __('Nurses limit amount'));
+        $form->number('effective_days', __('Effective days'));
+        $form->number('start_time', __('Start time'));
+        $form->number('end_time', __('End time'));
+        $form->switch('is_security', __('Is security'));
+        $form->text('guardian_name', __('Guardian name'));
+        $form->switch('relationship_type', __('Relationship type'));
+
+        return $form;
+    }
+}

+ 7 - 32
app/Admin/Controllers/OrdersManagement/ServicePackOrderController.php

xqd xqd xqd xqd
@@ -3,6 +3,8 @@
 namespace App\Admin\Controllers\OrdersManagement;
 
 use App\Admin\Actions\backstage\Orders\Evaluate;
+use App\Admin\Actions\backstage\Orders\ServicePack;
+use App\Admin\Actions\backstage\Orders\ServicePackOrderList;
 use App\Models\Order;
 use App\Admin\Actions\backstage\Orders\OrderDetails;
 use Encore\Admin\Controllers\AdminController;
@@ -19,7 +21,7 @@ class ServicePackOrderController extends AdminController
      *
      * @var string
      */
-    protected $title = '服务包订单';
+    protected $title = '服务包开通订单';
 
     /**
      * Make a grid builder.
@@ -65,13 +67,14 @@ class ServicePackOrderController extends AdminController
             $actions->disableDelete();
             // 去掉编辑
             $actions->disableEdit();
-            $actions->add(new MapDepot());
-            $actions->add(new Suggests());
-            $actions->add(new Evaluate());
+            $actions->add(new ServicePack());
+            $actions->add(new ServicePackOrderList());
         });
         $grid->column('id', __('Id'))->sortable();
         $grid->column('user.nickname', __('用户姓名'));
         $grid->column('orderPatient.name', __('患者姓名'));
+        $grid->column('orderPatient.patient_id', __('患者id'))->hide();
+        $grid->column('user.phone', __('用户电话'));
         $grid->column('orderPack.service_pack_id', __('服务包id'));
         $grid->column('orderPack.pack_name', __('服务包名称'));
         $grid->column('orderPack.pack_price', __('服务包价格'))->display(function ($money){
@@ -169,32 +172,4 @@ class ServicePackOrderController extends AdminController
 
         return $show;
     }
-
-    /**
-     * Make a form builder.
-     *
-     * @return Form
-     */
-    protected function form()
-    {
-        $form = new Form(new Order());
-
-        $form->number('user_id', __('User id'));
-        $form->number('docter_id', __('Docter id'));
-        $form->number('patient_id', __('Patient id'));
-        $form->number('organization_id', __('Organization id'));
-        $form->text('order_sn', __('Order sn'));
-        $form->switch('payment_type', __('Payment type'))->default(1);
-        $form->switch('product_type', __('Product type'))->default(1);
-        $form->switch('order_status', __('Order status'))->default(1);
-        $form->switch('payment_status', __('Payment status'))->default(1);
-        $form->number('total_amount', __('Total amount'));
-        $form->number('payment_amount', __('Payment amount'));
-        $form->number('discount_amount', __('Discount amount'));
-        $form->number('payment_time', __('Payment time'));
-        $form->number('outtime', __('Outtime'));
-        $form->number('receiving_time', __('Receiving time'));
-
-        return $form;
-    }
 }

+ 148 - 0
app/Admin/Controllers/OrdersManagement/ServicePackOrderListController.php

xqd
@@ -0,0 +1,148 @@
+<?php
+
+namespace App\Admin\Controllers\OrdersManagement;
+
+use App\Models\Order;
+use App\Models\ServicePack;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ServicePackOrderListController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '服务包订单列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $pack_id = \request('pay_order_pack_id');
+        $patient_id = \request('patient_id');
+
+        $grid = new Grid(new Order());
+
+        
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('pay_order_pack_id','服务包id');
+            $filter->equal('patient_id','患者id');
+        });
+
+        $grid->column('id', __('Id'))->sortable();
+        $grid->column('user.nickname', __('用户姓名'));
+        $grid->column('docter.name', __('医生姓名'));
+        $grid->column('orderPatient.name', __('患者姓名'));
+        $grid->column('orderPatient.patient_phone', __('患者电话'));
+        $grid->column('orderPatient.symptoms', __('患者描述'));
+        $grid->column('product_type', __('产品类型'))
+            ->using([1=>'电话咨询',2=>'图文咨询',3=>'门诊咨询',4=>'疫苗接种预约',5=>'儿保预约',6=>'服务包',7=>'充值']);
+        $grid->column('payment_type', __('支付方式'))->display(function ($payment_type){
+            if ($payment_type == 1)
+            {
+                return '微信支付';
+            }
+            if ($payment_type == 2){
+                return '余额支付';
+            }
+            if ($payment_type == 3){
+                $name = ServicePack::where('id',$this->pay_order_pack_id)->pluck('name');
+                return '服务包支付('.$name[0].')';
+            }
+        });
+        $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
+        $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
+        $grid->column('total_amount', __('订单总金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('payment_amount', __('用户实际支付的金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('discount_amount', __('折扣金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('evaluate.score', __('订单评分'));
+        $grid->column('evaluate.status', __('评分状态'))->using([1=>'待审核',2=>'审核通过',3=>'审核拒绝']);
+        $grid->column('payment_time', __('支付时间'))->display(function ($time){
+            return date('Y-m-d H:i:s',$time);
+        });
+        $grid->column('receiving_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(Order::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('user_id', __('User id'));
+        $show->field('docter_id', __('Docter id'));
+        $show->field('patient_id', __('Patient id'));
+        $show->field('organization_id', __('Organization id'));
+        $show->field('order_sn', __('Order sn'));
+        $show->field('pay_order_pack_id', __('Pay order pack id'));
+        $show->field('payment_type', __('Payment type'));
+        $show->field('product_type', __('Product type'));
+        $show->field('order_status', __('Order status'));
+        $show->field('payment_status', __('Payment status'));
+        $show->field('total_amount', __('Total amount'));
+        $show->field('payment_amount', __('Payment amount'));
+        $show->field('discount_amount', __('Discount amount'));
+        $show->field('payment_time', __('Payment time'));
+        $show->field('end_time', __('End time'));
+        $show->field('receiving_time', __('Receiving 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 Order());
+
+        $form->number('user_id', __('User id'));
+        $form->number('docter_id', __('Docter id'));
+        $form->number('patient_id', __('Patient id'));
+        $form->number('organization_id', __('Organization id'));
+        $form->text('order_sn', __('Order sn'));
+        $form->number('pay_order_pack_id', __('Pay order pack id'));
+        $form->switch('payment_type', __('Payment type'))->default(1);
+        $form->switch('product_type', __('Product type'))->default(1);
+        $form->switch('order_status', __('Order status'))->default(1);
+        $form->switch('payment_status', __('Payment status'))->default(1);
+        $form->number('total_amount', __('Total amount'));
+        $form->number('payment_amount', __('Payment amount'));
+        $form->number('discount_amount', __('Discount amount'));
+        $form->number('payment_time', __('Payment time'));
+        $form->number('end_time', __('End time'));
+        $form->number('receiving_time', __('Receiving time'));
+
+        return $form;
+    }
+}

+ 92 - 0
app/Admin/Controllers/PermissionController.php

xqd
@@ -0,0 +1,92 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\CdmsPermissions;
+use App\Models\CdmsRoles;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class PermissionController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '权限列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new CdmsRoles());
+
+        $user = Admin::user();
+        $is_admin = Admin::user()->inRoles(['administrator','devloper']);
+        $grid->disableCreateButton(false);
+//        $is_manager = Admin::user()->isRole('manager');
+        if(!$is_admin){
+            $org_id = $user->org_id;
+            $grid->model()->where(['org_id'=>$org_id]);
+        }
+        $grid->column('organization.name', __('所属机构'))->display(function ($org_name){
+            return $org_name ?? '总后台';
+        });
+        $grid->column('name', __('名称'));
+        $grid->column('slug', __('标识'));
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(CdmsRoles::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('name', __('Name'));
+        $show->field('slug', __('Slug'));
+        $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 CdmsRoles());
+        $is_manager = Admin::user()->isRole('manager');
+
+        if($is_manager){
+            $org_id = Admin::user()->org_id;
+            $form->hidden('org_id')->value($org_id);
+        }
+
+        $form->text('slug', __('标识'))->rules('required',['required'=>'标识必须']);
+        $form->text('name', '名称')
+            ->creationRules(['required', "unique:cdms_roles"])
+            ->updateRules(['required', "unique:cdms_roles,name,{{id}}"]);
+        $form->listbox('permissions', trans('admin.permissions'))->options(CdmsPermissions::all()->pluck('name', 'id'));
+
+        return $form;
+    }
+}

+ 21 - 2
app/Admin/Controllers/ServiceManagement/ServiceController.php

xqd xqd xqd
@@ -5,8 +5,10 @@ namespace App\Admin\Controllers\ServiceManagement;
 use App\Admin\Actions\Service\ApplysAction;
 use App\Admin\Actions\Service\RefuseAction;
 use App\Models\Docter;
+use App\Models\DocterLabel;
 use App\Models\Order;
 use App\Models\Doctertimes;
+use App\Models\Organization;
 use App\Models\Serviceapplys;
 use Encore\Admin\Controllers\AdminController;
 use Encore\Admin\Form;
@@ -43,8 +45,20 @@ class ServiceController extends AdminController
         $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('docterorganization', __('所属机构'))->pluck('organization_id')->display(function ($organization){
+            $value = Organization::whereIn('id',$organization)->pluck('name');
+            return $value;
+        })->label('info');
+        $grid->column('ondocter.label', __('标签'))->display(function ($label){
+            if($label==null)
+            {
+                return '无';
+            }else{
+                $label_value = DocterLabel::whereIn('id',$label)->pluck('label_name');
+                return $label_value;
+            }
+        })->label('info');
+
 
         $grid->column('status', __('状态'))->using([1=>'审核',2=>'已通过',3=>'已拒绝'])->label([
             1 => 'warning',
@@ -57,6 +71,11 @@ class ServiceController extends AdminController
         $grid->filter(function ($filter){
             $filter->equal('service_type','服务类型')->select([1 => '图文', 2 => '电话', 3 => '问诊']);
             $filter->equal('status','服务类型')->select([1=>'待审核',2 =>'已通过 ',3=>'已拒绝']);
+            $filter->where(function ($query) {
+                $query->whereHas('organization',function ($query){
+                    $query->where('name','like',"%{$this->input}%");
+                });
+            },'机构名');
         });
         $grid->actions(function ($actions) {
             $actions->disableEdit();

+ 9 - 8
app/Admin/Controllers/UserManagement/BmUser/UserListController.php

xqd xqd xqd xqd
@@ -7,6 +7,7 @@ use App\Admin\Actions\backstage\User\archives;
 use App\Admin\Actions\backstage\User\BalanceLog;
 use App\Admin\Actions\backstage\User\BlackList;
 use App\Admin\Actions\backstage\User\coupons;
+use App\Admin\Actions\backstage\User\Orders;
 use App\Models\Patient;
 use App\Models\User;
 use Encore\Admin\Controllers\AdminController;
@@ -43,6 +44,7 @@ class UserListController extends AdminController
         $actions->add(new BalanceLog());
         $actions->add(new BlackList());
         $actions->add(new coupons());
+        $actions->add(new Orders());
     });
         //筛选
         $grid->filter(function ($filter){
@@ -58,11 +60,11 @@ class UserListController extends AdminController
                     0    => '黑名单',
                     1    => '正常',
                 ]);
-                $filter->equal('is_pack','用户状态')->radio([
-                    ''   => '全部用户',
-                    0    => '普通用户',
-                    1    => '服务包用户',
-                ]);
+//                $filter->equal('is_pack','用户状态')->radio([
+//                    ''   => '全部用户',
+//                    0    => '普通用户',
+//                    1    => '服务包用户',
+//                ]);
                 $filter->between('created_at', '注册时间')->datetime();
                 $filter->timestampBetween('last_login_time', "最后登录时间")->datetime();
             });
@@ -70,10 +72,9 @@ class UserListController extends AdminController
             $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('phone', __('手机号码'));
             $grid->column('status', __('状态'))->using([0=>'黑名单',1=>'正常',]);
-            $grid->column('is_pack', __('用户身份'))->using([0=>'普通用户',1=>'付费用户']);
+//            $grid->column('is_pack', __('用户身份'))->using([0=>'普通用户',1=>'付费用户']);
             $grid->column('balance', __('当前余额'))->display(function ($price){
                 return $price/100;
             });

+ 144 - 0
app/Admin/Controllers/UserManagement/BmUser/UserOrdersController.php

xqd
@@ -0,0 +1,144 @@
+<?php
+
+namespace App\Admin\Controllers\UserManagement\BmUser;
+
+use App\Models\Order;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class UserOrdersController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '订单数据总览';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Order());
+        $uesr_id = \request('user_id');
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('user_id','用户id');
+        });
+        $grid->disableActions();
+        $grid->column('id', __('Id'))->sortable();
+        $grid->column('user.nickname', __('用户姓名'));
+        $grid->column('docter.name', __('医生姓名'));
+        $grid->column('orderPatient.name', __('患者姓名'));
+        $grid->column('orderPatient.patient_phone', __('患者电话'));
+        $grid->column('orderPatient.appoint_start_time', __('预约日期'))->display(function ($time){
+            return date('Y-m-d H:i:s',$time);
+        });
+        $grid->column('orderPatient.appoint_end_time', __('就诊日期'))->display(function ($time){
+            return date('Y-m-d H:i:s',$time);
+        });
+        $grid->column('product_type', __('产品类型'))->using([1=>'电话咨询',2=>'图文咨询',3=>'门诊预约',4=>'疫苗接种预约',5=>'儿保预约',6=>'服务包',7=>'充值']);
+        $grid->column('payment_type', __('支付方式'))->using([1=>'微信支付',2=>'余额支付',3=>'服务包支付']);
+//        $grid->column('payment_type', __('支付方式'))->display(function ($payment_type){
+//            if ($payment_type == 1)
+//            {
+//                return '微信支付';
+//            }
+//            if ($payment_type == 2){
+//                return '余额支付';
+//            }
+//            if ($payment_type == 3){
+//////                dd($this);
+////                $patient_id = $this->patient_id;
+////                $orde_id = Order::where('patient_id',$patient_id)->where('product_type',6)->get('id');
+//                return '服务包支付';
+//            }
+//        });
+        $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
+        $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
+        $grid->column('total_amount', __('订单总金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('payment_amount', __('用户实际支付的金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('discount_amount', __('折扣金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('payment_time', __('支付时间'))->display(function ($time){
+            return date('Y-m-d H:i:s',$time);
+        });
+        $grid->column('receiving_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(Order::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('user_id', __('User id'));
+        $show->field('docter_id', __('Docter id'));
+        $show->field('patient_id', __('Patient id'));
+        $show->field('organization_id', __('Organization id'));
+        $show->field('order_sn', __('Order sn'));
+        $show->field('payment_type', __('Payment type'));
+        $show->field('product_type', __('Product type'));
+        $show->field('order_status', __('Order status'));
+        $show->field('payment_status', __('Payment status'));
+        $show->field('total_amount', __('Total amount'));
+        $show->field('payment_amount', __('Payment amount'));
+        $show->field('discount_amount', __('Discount amount'));
+        $show->field('payment_time', __('Payment time'));
+        $show->field('end_time', __('End time'));
+        $show->field('receiving_time', __('Receiving 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 Order());
+
+        $form->number('user_id', __('User id'));
+        $form->number('docter_id', __('Docter id'));
+        $form->number('patient_id', __('Patient id'));
+        $form->number('organization_id', __('Organization id'));
+        $form->text('order_sn', __('Order sn'));
+        $form->switch('payment_type', __('Payment type'))->default(1);
+        $form->switch('product_type', __('Product type'))->default(1);
+        $form->switch('order_status', __('Order status'))->default(1);
+        $form->switch('payment_status', __('Payment status'))->default(1);
+        $form->number('total_amount', __('Total amount'));
+        $form->number('payment_amount', __('Payment amount'));
+        $form->number('discount_amount', __('Discount amount'));
+        $form->number('payment_time', __('Payment time'));
+        $form->number('end_time', __('End time'));
+        $form->number('receiving_time', __('Receiving time'));
+
+        return $form;
+    }
+}

+ 5 - 1
app/Admin/Controllers/UserManagement/DocterManagement/DoctorManagementController.php

xqd
@@ -75,7 +75,11 @@ class DoctorManagementController extends AdminController
         $grid->column('organization', __('所属机构'))->pluck('name')->label('info');
         $grid->column('is_then', __('认证状态'))->using([0=>'未认证',1=>'已认证']);
         $grid->column('label', __('标签'))->display(function ($label){
-                $label_value = DocterLabel::whereIn('id',$label)->pluck('label_name');
+            if($label==null)
+            {
+                return '无';
+            }
+                $label_value = DocterLabel::whereIn('id',$label)->where('status',1)->pluck('label_name');
                 return $label_value;
         })->label('info');
         return $grid;

+ 27 - 10
app/Admin/Controllers/VaccinesManagement/VaccinesController.php

xqd xqd xqd xqd
@@ -32,7 +32,7 @@ class VaccinesController extends AdminController
         $grid->column('id', __('Id'));
         $grid->column('type', '类型')->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗']);
         $grid->column('name', __('名称'));
-        $grid->column('introduction','简介');
+//        $grid->column('introduction','简介');
         $grid->column('price', __('价钱'));
         $grid->column('remark', __('备注'));
         $grid->column('supplier', __('厂家'));
@@ -44,16 +44,16 @@ class VaccinesController extends AdminController
         $grid->column('organizations', '机构')->display(function (){
             return '点击查看';
         })->modal('机构库存', function ($model) {
-
             $org = $model->organizationvaccines()->get()->map(function ($comment) {
                 return $comment->only(['org_id', 'stock']);
             });
-//            $id = $model->organizationvaccines()->value('org_id');
-//            $names = Organization::where('id',$id)->value('name');
-//            $comments = $org->toArray();
-//            $comments[0]['name'] = $names;
-//            dd($id);
-            return new Table(['ID', '库存' ], $org->toArray());
+            $org = $org->toArray();
+            for($i=0;$i<count($org);$i++)
+            {
+                $id = $org[$i]['org_id'];
+                $org[$i]['org_name'] = Organization::where('id',$id)->value('name');
+            }
+            return new Table(['ID', '库存' ,'机构名称'], $org);
         });
 
         $grid->column('stock','库存');
@@ -70,10 +70,27 @@ class VaccinesController extends AdminController
             // 在这里添加字段过滤器
             $filter->column(1/2, function ($filter) {
                 $filter->equal('type', '类型')->select(Vaccines::$_post_type);
+                $filter->equal('supplier','厂家');
             });
+            $filter->column(1/2, function ($filter) {
+               $filter->equal('name','疫苗名称');
+//               $filter->in('organizations','机构名称')->select(Organization::all()->pluck('name','id'));
+                $filter->where(function ($query) {
+                    $query->join('organization_vaccines', 'organization_vaccines.vaccine_id', '=', 'vaccines.id')
+                        ->where('organization_vaccines.org_id',$this->input);
+                },'机构名称')->select(Organization::all()->pluck('name','id'));
+
+//                $filter->where(function ($model){
+//                    $model->whereHas('organizationvaccines',function ($model) {
+//                    $model->join('vaccines', 'organization_vaccines.vaccine_id', '=', 'vaccines.id')
+//                        ->where('vaccines.id',$this->input)
+//                        ->get();
+//                    });
+//
+//                },'机构名称1')->select(Organization::all()->pluck('name','id'));
 
+            });
         });
-
         //按关键字查询
         $grid->quickSearch(function ($model, $query) {
             //$model->whereHas('Vaccines',function ($model) use ($query) {
@@ -134,7 +151,7 @@ class VaccinesController extends AdminController
 
         $form->select('type', __('分类'))->options(Vaccines::$_post_type)->default('1');
         $form->text('name', __('名称'))->rules('required|min:3|max:255',['required'=>'请填写名称','min'=>'名称不能少于3个字符!','max'=>'名称长度过长!']);
-        $form->text('introduction','简介')->rules('required',['require'=>'请填写疫苗简介!' ]);
+//        $form->text('introduction','简介')->rules('required',['require'=>'请填写疫苗简介!' ]);
         $form->currency('price', __('价格'))->symbol('分');
         $form->text('remark', __('备注'))->rules('required',['required'=>'请填写备注!']);;
         $form->text('supplier', __('厂家'))->rules('required',['required'=>'请填写厂家!']);

+ 11 - 0
app/Admin/routes.php

xqd xqd xqd
@@ -100,6 +100,8 @@ Route::group([
     $router->resource('user_balance_logs', UserManagement\BmUser\UserBalanceLogController::class);
     //用户管理->优惠券管理
     $router->resource('user_coupons', UserManagement\BmUser\UserCouponsController::class);
+    //用户管理->订单数据总览
+    $router->resource('user_orders', UserManagement\BmUser\UserOrdersController::class);
 
     /*
      * 订单管理
@@ -118,6 +120,10 @@ Route::group([
     $router->resource('user_suggests', OrdersManagement\UserSuggestsController::class);
     //评价管理
     $router->resource('orders_evaluates', OrdersManagement\OrdersEvaluate::class);
+    //服务包订单中的服务包详情
+    $router->resource('service_packs_datails', OrdersManagement\ServicePackDetailsController::class);
+    //服务包订单中的服务包订单列表
+    $router->resource('service_packs_order_list', OrdersManagement\ServicePackOrderListController::class);
 
     /*
      * 优惠券管理
@@ -141,5 +147,10 @@ Route::group([
 
     //服务审核
     $router->resource('service_applys', ServiceManagement\ServiceController::class);
+
+    /*
+     * 权限管理
+     * */
+    $router->resource('cdms_roles', PermissionController::class);
 });
 

+ 1 - 1
app/Community/routes.php

xqd
@@ -14,7 +14,7 @@ Route::resource('offices', OfficeController::class);
 Route::resource('orders', OrderController::class);
 Route::resource('docter_org', DocterOrgController::class);
 Route::resource('docter_verifies', DocterVerifyController::class);
-Route::resource('cdms_roles', PermissionController::class);
+//Route::resource('cdms_roles', PermissionController::class);
 Route::resource('docter_account', DocterAccountController::class);
 Route::resource('docter_chats', DocterChatController::class);
 

+ 2 - 1
app/Http/Controllers/Api/V1/OrderController.php

xqd xqd
@@ -442,6 +442,7 @@ class OrderController extends AuthController
             $addPack['total_appoint_num'] = $addPack['appoint_num'];
             $addPack['total_vaccine_limit_amount'] = $addPack['vaccine_limit_amount'];
             $addPack['total_nurses_limit_amount'] = $addPack['nurses_limit_amount'];
+            $addPack['label'] = json_decode($addPack['label'], true);
             OrderPack::create($addPack);
 
             //判断是微信支付
@@ -565,7 +566,7 @@ class OrderController extends AuthController
                 $data['order_pack']['team'] = Team::with(['docter.office', 'docter.qualification'])->whereIn('id', $data['order_pack']['team_id'])->get()->toArray();
             }
         }
-        
+
         return out($data);
     }
 

+ 3 - 0
app/Models/Coupon.php

xqd
@@ -23,4 +23,7 @@ class Coupon extends BaseModel
 
         return 0;
     }
+    public function couponType (){
+        return $this->hasMany(CouponType::class);
+    }
 }

+ 3 - 1
app/Models/CouponType.php

xqd
@@ -10,5 +10,7 @@ namespace App\Models;
 
 class CouponType extends BaseModel
 {
-
+    public function coupon (){
+        return $this->belongsTo(Coupon::class);
+    }
 }

+ 4 - 0
app/Models/DocterOrganization.php

xqd
@@ -39,4 +39,8 @@ class DocterOrganization extends Model
         return $this->hasOne(TeamDocter::class,'docter_id','docter_id');
     }
 
+    public  function Serviceapplys()
+    {
+        return $this->belongsTo(Serviceapplys::class,'docter_id','docter_id');
+    }
 }

+ 4 - 0
app/Models/Order.php

xqd
@@ -69,6 +69,10 @@ class Order extends BaseModel
     {
         return $this->belongsTo(User::class);
     }
+    public function evaluate()
+    {
+        return $this->hasOne(Evaluate::class);
+    }
     //支付完成的处理方法
     public static function payCompletedHandle($order_id)
     {

+ 1 - 1
app/Models/OrderPack.php

xqd
@@ -29,7 +29,7 @@ class OrderPack extends BaseModel
     public function getLabelTextsAttribute()
     {
         $data = [];
-        if (!empty($this->label)) {
+        if (!empty($this->label) && is_array($this->label)) {
             $map = config('config.pack_label_map');
             foreach ($this->label as $k => $v) {
                 $data[$k]['name'] = $map[$v]??'';

+ 8 - 0
app/Models/Serviceapplys.php

xqd
@@ -17,6 +17,14 @@ class Serviceapplys extends Model
     {
         return $this->hasOne(Docter::class,'id','docter_id');
     }
+    public function docterorganization()
+    {
+        return $this->hasMany(DocterOrganization::class,'docter_id','docter_id');
+    }
+    public function organization()
+    {
+        return $this->belongsToMany('App\Models\Organization','docter_organization','docter_id','id');
+    }
 //    private static $_post_type =[
 //        1 => '图文',
 //        2 => '电话',

+ 15 - 6
app/Models/Vaccine.php

xqd
@@ -1,14 +1,23 @@
 <?php
-/**
- * Created by PhpStorm.
- * User: zilongs
- * Date: 20-10-4
- * Time: 下午3:24
- */
 
 namespace App\Models;
 
 class Vaccine extends BaseModel
 {
+    //
+    public static $_post_type = [
+        1=>"Ⅰ类疫苗",
+        2=>"Ⅱ类疫苗"
+    ];
+    //导入格式
+    protected $fillable = ['type','price',"name","remark","supplier",'stock','states'];
 
+    public function organization()
+    {
+        return $this->belongsToMany(Organization::class,'org_id');
+    }
+
+    public function organizationvaccines(){
+        return $this->hasMany(OrganizationVaccines::class,'vaccine_id');
+    }
 }

+ 21 - 21
public/.htaccess

xqd
@@ -1,21 +1,21 @@
-<IfModule mod_rewrite.c>
-    <IfModule mod_negotiation.c>
-        Options -MultiViews -Indexes
-    </IfModule>
-
-    RewriteEngine On
-
-    # Handle Authorization Header
-    RewriteCond %{HTTP:Authorization} .
-    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
-
-    # Redirect Trailing Slashes If Not A Folder...
-    RewriteCond %{REQUEST_FILENAME} !-d
-    RewriteCond %{REQUEST_URI} (.+)/$
-    RewriteRule ^ %1 [L,R=301]
-
-    # Handle Front Controller...
-    RewriteCond %{REQUEST_FILENAME} !-d
-    RewriteCond %{REQUEST_FILENAME} !-f
-    RewriteRule ^ index.php [L]
-</IfModule>
+#<IfModule mod_rewrite.c>
+#    <IfModule mod_negotiation.c>
+#        Options -MultiViews -Indexes
+#    </IfModule>
+#
+#    RewriteEngine On
+#
+#    # Handle Authorization Header
+#    RewriteCond %{HTTP:Authorization} .
+#    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+#
+#    # Redirect Trailing Slashes If Not A Folder...
+#    RewriteCond %{REQUEST_FILENAME} !-d
+#    RewriteCond %{REQUEST_URI} (.+)/$
+#    RewriteRule ^ %1 [L,R=301]
+#
+#    # Handle Front Controller...
+#    RewriteCond %{REQUEST_FILENAME} !-d
+#    RewriteCond %{REQUEST_FILENAME} !-f
+#    RewriteRule ^ index.php [L]
+#</IfModule>