Przeglądaj źródła

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

zilong 4 lat temu
rodzic
commit
9fa3deba92

+ 44 - 0
app/Admin/Actions/backstage/Coupon/UpdateCouponType.php

xqd
@@ -0,0 +1,44 @@
+<?php
+
+namespace App\Admin\Actions\backstage\Coupon;
+
+use App\Models\CouponType;
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Http\Request;
+
+class UpdateCouponType extends RowAction
+{
+    public $name = '修改可用类型';
+
+    public function handle(Model $model,Request $request)
+    {
+        $type = request('type');
+        //先删除原来的数据,再添加新的数据
+        CouponType::where('coupon_id',$this->row->id)->where('user_coupon_id',0)->delete();
+        $arr = [
+            'coupon_id' =>  $this->row->id,
+            'user_coupon_id' =>  0,
+            'product_type' =>  0,
+        ];
+        foreach ($type as $value)
+        {
+            $arr['product_type'] = $value;
+            CouponType::create($arr);
+        }
+        return $this->response()->success('修改可用产品成功')->refresh();
+    }
+    public function form(){
+        $value = CouponType::where('coupon_id',$this->row->id)->where('user_coupon_id',0)->pluck('product_type')->toArray();
+        $this->multipleSelect('type','可用类型')->options([
+            1=>'电话咨询',
+            2=>'图文咨询',
+            3=>'门诊咨询',
+            4=>'疫苗接种',
+            5=>'儿保预约',
+            6=>'服务包',
+            7=>'充值',
+        ])->value($value);
+    }
+
+}

+ 1 - 1
app/Admin/Controllers/CouponManagement/CouponDistributionUserList.php

xqd
@@ -48,7 +48,7 @@ class CouponDistributionUserList extends AdminController
             $batch->add(new AllCouponBatchGrant());
         });
         $grid->disableActions();
-        $grid ->model()->where('status','>=','0');
+        $grid ->model()->where('status','>=','0')->where('is_docter',0);
         $grid->column('id', __('用户id'))->sortable();
         $grid->column('nickname', __('用户名'));
         $grid->column('sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女']);

+ 37 - 19
app/Admin/Controllers/CouponManagement/CouponManagementController.php

xqd xqd xqd xqd xqd
@@ -5,7 +5,9 @@ namespace App\Admin\Controllers\CouponManagement;
 use App\Admin\Actions\backstage\Coupon\CouponDetails;
 use App\Admin\Actions\backstage\Coupon\CouponDistribution;
 use App\Admin\Actions\backstage\Coupon\CouponDistributions;
+use App\Admin\Actions\backstage\Coupon\UpdateCouponType;
 use App\Models\Coupon;
+use App\Models\CouponType;
 use Encore\Admin\Controllers\AdminController;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
@@ -35,6 +37,10 @@ class CouponManagementController extends AdminController
         $grid->actions(function ($actions) {
             $actions->disableView();
             $actions->add(new CouponDetails());
+            if ($actions->row->usable_type == 2)
+            {
+                $actions->add(new UpdateCouponType());
+            }
         });
         $grid->filter(function($filter){
             $filter->timestampBetween('start_time', "有效期开始时间")->datetime();
@@ -138,11 +144,12 @@ class CouponManagementController extends AdminController
     protected function form()
     {
         $form = new Form(new Coupon());
-
+        $form->hidden('id', __('id'));
         $form->text('name', __('优惠券名称'));
         $form->text('title', __('券标题'));
         $form->text('desc', __('使用说明'));
         $form->text('rules', __('使用规则'));
+//        dd($form->toArray());
         $form->image('icon', __('券图标'))->help('图标大小48px * 48px');
         $form->select('type', '类型')
             ->options([
@@ -157,23 +164,34 @@ class CouponManagementController extends AdminController
             });
         $form->select('position_type',__('发放平台'))->options([1=>'领券中心',2=>'后台发放']);
         $form->number('num', __('数量'));
-        $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=>'充值',
-                    ]);
+        if ($form->isCreating())
+        {
+            $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=>'充值',
+                        ]);
+                    });
                 });
-            });
+        }else
+        {
+            $form->select('usable_type',__('可用类型'))
+                ->options([
+                    1=>'全部产品通用',
+                    2=>'部分产品可用'
+                ]);
+        }
+
         $form->select('expire_type', '过期类型')
             ->options([
                 1 => '领取N天过期',
@@ -186,9 +204,9 @@ class CouponManagementController extends AdminController
                 $form->saving(function ($form){
                     $form->start_time = strtotime($form->start_time);
                     $form->end_time = strtotime($form->end_time);
+                    $form->money = $form->money*100;
+                    $form->max_reduce_amount = $form->max_reduce_amount*100;
                 });
-
-
             });
         return $form;
     }

+ 7 - 5
app/Admin/Controllers/OrganizationController.php

xqd
@@ -128,12 +128,14 @@ class OrganizationController extends AdminController
             return Area::where('level',1)->pluck('name','id');
         })->load('city_id','/admin/api/getCity')->required();
         $form->select('city_id', __('城市'))->options(function (){
-            return Area::where('level',2)->pluck('name','id');
-        })->load('area_id','/admin/api/getArea')->required();;
-        $form->select('area_id', __('地区'))->required();
+            return Area::where(['level'=>2,'parent_id'=>$this->province_id])->pluck('name','id');
+        })->load('area_id','/admin/api/getArea')->required();
+        $form->select('area_id', __('地区'))->options(function (){
+            return Area::where(['level'=>3,'parent_id'=>$this->city_id])->pluck('name','id');
+        })->required();
         $form->text('address', __('详细地址'))->required();
-        $form->textarea('nurse_notice','门诊通告');
-        $form->textarea('vaccine_notice','计免通告');
+        $form->editor('nurse_notice','门诊通告');
+        $form->editor('vaccine_notice','计免通告');
         $form->latlong('latitude', 'longitude','经纬度');
 
         return $form;

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

xqd xqd
@@ -62,22 +62,16 @@ class UserListController extends AdminController
                     0    => '黑名单',
                     1    => '正常',
                 ]);
-//                $filter->equal('is_pack','用户状态')->radio([
-//                    ''   => '全部用户',
-//                    0    => '普通用户',
-//                    1    => '服务包用户',
-//                ]);
                 $filter->between('created_at', '注册时间')->datetime();
                 $filter->timestampBetween('last_login_time', "最后登录时间")->datetime();
             });
         });
-            $grid ->model()->where('status','>=','0')->orderBy('id','desc');
+            $grid ->model()->where('status','>=','0')->where('is_docter',0)->orderBy('id','desc');
             $grid->column('id', __('用户id'))->sortable();
             $grid->column('avatar', __('头像'))->lightbox(['width' =>'', 'height' => 30]);
             $grid->column('nickname', __('用户名'));
             $grid->column('phone', __('手机号码'));
             $grid->column('status', __('状态'))->using([0=>'黑名单',1=>'正常',]);
-//            $grid->column('is_pack', __('用户身份'))->using([0=>'普通用户',1=>'付费用户']);
             $grid->column('balance', __('当前余额'))->display(function ($price){
                 return $price/100;
             });
@@ -85,8 +79,6 @@ class UserListController extends AdminController
             $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;
     }
 

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

xqd xqd xqd
@@ -30,7 +30,7 @@ class VaccinesController extends AdminController
         $grid = new Grid(new Vaccines());
         $grid->model()->orderBy('id','desc');
         $grid->column('id', __('Id'));
-        $grid->column('type', '类型')->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗']);
+//        $grid->column('type', '类型')->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗']);
         $grid->column('name', __('名称'));
         $states = [
             'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
@@ -109,12 +109,12 @@ class VaccinesController extends AdminController
         $show = new Show(Vaccines::findOrFail($id));
 
         $show->field('id', __('Id'));
-        $show->field('type', __('分类'))->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗']);
-        $show->field('introduction','简介');
-        $show->field('price', __('价钱'));
+//        $show->field('type', __('分类'))->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗']);
+//        $show->field('introduction','简介');
+//        $show->field('price', __('价钱'));
         $show->field('name', __('名称'));
-        $show->field('remark', __('备注'));
-        $show->field('supplier', __('厂家'));
+//        $show->field('remark', __('备注'));
+//        $show->field('supplier', __('厂家'));
         $show->field('created_at', __('创建时间'));
         $show->field('updated_at', __('更新时间'));
 
@@ -134,11 +134,11 @@ class VaccinesController extends AdminController
             $f->model()->price /= 100;
         });
 
-        $form->select('type', __('分类'))->options(Vaccines::$_post_type)->default('1');
+//        $form->select('type', __('分类'))->options(Vaccines::$_post_type)->default('1');
         $form->text('name', __('名称'))->rules('required|min:3|max:255',['required'=>'请填写名称','min'=>'名称不能少于3个字符!','max'=>'名称长度过长!']);
-        $form->text('price', __('价格'));
-        $form->text('remark', __('备注'));
-        $form->text('supplier', __('厂家'))->rules('required',['required'=>'请填写厂家!']);
+//        $form->text('price', __('价格'));
+//        $form->text('remark', __('备注'));
+//        $form->text('supplier', __('厂家'))->rules('required',['required'=>'请填写厂家!']);
         $states = [
             'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
             'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],

+ 29 - 0
app/Community/Controllers/ApiController.php

xqd xqd
@@ -5,6 +5,7 @@ namespace App\Community\Controllers;
 
 
 use App\Http\Controllers\Controller;
+use App\Models\Area;
 use App\Models\Docter;
 use App\Models\DocterOrganization;
 use App\Models\DocterSetting;
@@ -50,6 +51,34 @@ class ApiController extends Controller
         return Docter::where($where)->get(['name as text', 'id'])->toArray();
     }
 
+    /**
+     * 后台上传图片
+     * @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;
+    }
+
+    public function getCity()
+    {
+        $id  = request('q');
+        return Area::where(['level'=>2,'parent_id'=>intval($id)])->get(['name as text','id']);
+    }
+
+    public function getArea()
+    {
+        $id  = request('q');
+        return Area::where(['level'=>3,'parent_id'=>intval($id)])->get(['name as text','id']);
+    }
+
     //备注
     public function paitent_remark()
     {

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

xqd
@@ -52,6 +52,7 @@ class DocterChatController extends AdminController
         }
 
         $grid->column('order_sn', __('订单号'));
+        $grid->column('docter.name', __('医生'));
         $grid->column('orderUser.nickname', __('咨询用户'));
         $grid->column('orderPatient.name', __('咨询患者'));
         $grid->column('orderPatient.birthday', __('患者年龄'))->display(function ($w){

+ 5 - 1
app/Community/Controllers/NurseUserController.php

xqd xqd
@@ -4,6 +4,7 @@ namespace App\Community\Controllers;
 
 use App\Models\Order;
 use App\Models\OrderNurse;
+use App\Models\Patient;
 use App\Models\PatientRemark;
 use App\Models\Serviceapplys;
 use EasyWeChat\Factory;
@@ -36,7 +37,10 @@ class NurseUserController extends AdminController
         $grid->model()->GroupBy('patient_id');
         $grid->column('orderPatient.name', __('姓名'));
         $grid->column('orderUser.nickname', __('监护人'));
-        $grid->column('orderPatient.phone', __('监护人手机号'));
+        $grid->column('orderPatient.phone', __('监护人手机号'))->display(function ($w){
+            if(empty($w)) return Patient::where('id',$this->patient_id)->value('phone');
+            return $w;
+        });;
         $grid->column('orderPatient.birthday', __('出生日期'));
 
         if(!$is_amdin){

+ 2 - 2
app/Community/Controllers/OrderNurseController.php

xqd
@@ -96,12 +96,12 @@ class OrderNurseController extends AdminController
         });
 
         $grid->actions(function ($actions) {
-            if(!empty($actions->row->orders) && $actions->row->orders->order_status< 2){
-                $actions->add(new Finished());
+            if(!empty($actions->row->orders) && $actions->row->orders->order_status < 2){
                 $actions->add(new Reserved());
             }
             if(!empty($actions->row->orders) && $actions->row->orders->order_status<= 3){
                 $actions->add(new OrderCance());
+                $actions->add(new Finished());
             }
 
             $actions->add(new DelNurse());

+ 1 - 1
app/Community/Controllers/OrganizationController.php

xqd
@@ -12,7 +12,7 @@ use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
 
-class OrganizationController extends AdminController
+class  OrganizationController extends AdminController
 {
     /**
      * Title for current resource.

+ 151 - 0
app/Community/Controllers/SettingController.php

xqd
@@ -0,0 +1,151 @@
+<?php
+
+namespace App\Community\Controllers;
+
+use App\Admin\Actions\Cdmuser;
+use App\Admin\Actions\UpdateCdms;
+use App\Models\Area;
+use App\Models\Organization;
+use Encore\Admin\Admin;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class SettingController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '机构';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Organization());
+        $org_id = \Admin::user()->org_id;
+        if($org_id){
+            $grid->model()->where(['id'=>$org_id]);
+        }
+
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->column(1/2, function ($filter) {
+                $filter->equal('type','机构类型')->select([
+                    1=>'公立医院',
+                    2=>'私立医院'
+                ]);
+                $filter->equal('level','机构级别')->select([
+                    0=>'未定级',
+                    1=>'一级',
+                    2=>'二级',
+                    3=>'三级'
+                ]);
+            });
+            $filter->column(1/2, function ($filter) {
+                $filter->equal('province_id','省份')->select(Area::where('level',1)->pluck('name','id'));
+                $filter->equal('city_id','城市')->select(Area::where('level',2)->pluck('name','id'));
+                $filter->equal('area_id','地区')->select(Area::where('level',3)->pluck('name','id'));
+            });
+        });
+        $grid->model()->orderBy('id','desc');
+        $grid->column('id', __('Id'));
+        $grid->column('type', __('机构类型'))->using([1=>'公立医院',2=>'私立医院']);
+        $grid->column('level', __('机构级别'))->using([0=>'未定级',1=>'一级',2=>'二级',3=>'三级']);
+        $grid->column('name', __('名称'));
+        $grid->column('province_id', __('省份'))->display(function ($id){
+            return Area::where('id',$id)->value('name');
+        });
+        $grid->column('city_id', __('城市'))->display(function ($id){
+            return Area::where('id',$id)->value('name');
+        });
+        $grid->column('area_id', __('地区'))->display(function ($id){
+            return Area::where('id',$id)->value('name');
+        });
+        $grid->column('address', __('详细地址'));
+        $grid->column('latitude', __('经度'));
+        $grid->column('longitude', __('纬度'));
+        $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(Organization::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('cdms_id', __('Cdms id'));
+        $show->field('type', __('Type'));
+        $show->field('level', __('Level'));
+        $show->field('name', __('Name'));
+        $show->field('province_id', __('Province id'));
+        $show->field('city_id', __('City id'));
+        $show->field('area_id', __('Area id'));
+        $show->field('address', __('Address'));
+        $show->field('nurse_notice', __('Nurse notice'));
+        $show->field('vaccine_notice', __('Vaccine notice'));
+        $show->field('intro', __('Intro'));
+        $show->field('latitude', __('Latitude'));
+        $show->field('longitude', __('Longitude'));
+        $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 Organization());
+        $form->select('type', __('机构类型'))->options([
+            1=>'公立医院',
+            2=>'私立医院'
+        ])->required();
+        $form->select('level', __('机构级别'))->options([
+            0=>'未定级',
+            1=>'一级',
+            2=>'二级',
+            3=>'三级',
+        ])->required();
+        $form->text('name', __('名称'))->required();
+        $form->select('province_id', __('省份'))->options(function (){
+            return Area::where('level',1)->pluck('name','id');
+        })->load('city_id','/cdms/api/getCity')->required();
+        $form->select('city_id', __('城市'))->options(function (){
+            return Area::where(['level'=>2,'parent_id'=>$this->province_id])->pluck('name','id');
+        })->load('area_id','/cdms/api/getArea')->required();
+        $form->select('area_id', __('地区'))->options(function (){
+            return Area::where(['level'=>3,'parent_id'=>$this->city_id])->pluck('name','id');
+        })->required();
+        $form->text('address', __('详细地址'))->required();
+        Admin::script("
+        function clearstyle(){
+            $('.wangEditor-txt').css('height','300px')
+        };
+        setTimeout(clearstyle,500);
+        ");
+        $form->editor('nurse_notice','门诊通告');
+        $form->editor('vaccine_notice','计免通告');
+        $form->latlong('latitude', 'longitude','经纬度');
+
+        return $form;
+    }
+}

+ 53 - 15
app/Community/Controllers/Vaccine/OrganizationVaccineController.php

xqd xqd xqd xqd xqd
@@ -18,7 +18,7 @@ class OrganizationVaccineController extends AdminController
      *
      * @var string
      */
-    protected $title = '机构疫苗';
+    protected $title = '疫苗库存';
 
     /**
      * Make a grid builder.
@@ -36,17 +36,33 @@ class OrganizationVaccineController extends AdminController
         $grid->disableCreateButton(false);
 
 
-        $grid->filter(function ($fliter){
-//            $fliter->equal('organization.name','机构')->select(Organization::pluck('name','id'));
-//            $fliter->equal('organization.name','机构')->select(Organization::pluck('name','id'));
-            $fliter->equal('vaccine.name','疫苗')->select(Vaccine::pluck('name','id'));
+        $is_admin = Admin::user()->isAdministrator();
+        $grid->filter(function ($fliter) use ($is_admin) {
+            if($is_admin){
+                $fliter->equal('organization.name','机构')->select(Organization::pluck('name','id'));
+            }
+            $fliter->like('vaccine.name','疫苗')->select(Vaccine::pluck('name','id'));
         });
 
 
         $grid->column('id', __('Id'));
         $grid->column('organization.name', __('机构'));
-        $grid->column('vaccine.name', __('疫苗'));
-        $grid->column('stock', __('库存'))->editable();
+        $grid->column('vaccine.name', __('疫苗名称'));
+        $grid->column('type', __('疫苗类型'))->using(OrganizationVaccine::getType())->label('info');
+        $grid->column('price', __('价格'))->display(function ($p){
+            $t = $this->type;
+            if($t == 1)return '免费';
+            return ($p / 100).'元';
+        });
+        $grid->actions(function ($actions){
+//            $actions->disableEdit();
+//            $actions->disableView();
+            $actions->disableDelete();
+        });
+
+        $grid->column('stock', __('库存'));
+        $grid->column('supplier', __('厂家'));
+        $grid->column('remark', __('备注'));
         $grid->column('created_at', __('创建时间'));
         $grid->column('updated_at', __('更新时间'));
 
@@ -64,11 +80,15 @@ class OrganizationVaccineController extends AdminController
         $show = new Show(OrganizationVaccine::findOrFail($id));
 
         $show->field('id', __('Id'));
-        $show->field('org_id', __('Org id'));
-        $show->field('vaccine_id', __('Vaccine id'));
-        $show->field('stock', __('Stock'));
-        $show->field('created_at', __('Created at'));
-        $show->field('updated_at', __('Updated at'));
+        $show->field('organization.name', __('机构'));
+        $show->field('vaccine.name', __('疫苗'));
+        $show->field('type', __('疫苗类型'))->using(OrganizationVaccine::getType());
+        $show->field('vaccine.name', __('疫苗'));
+        $show->field('price', __('价格'));
+        $show->field('supplier', __('厂家'));
+        $show->field('reamrk', __('备注'));
+        $show->field('created_at', __('创建时间'));
+        $show->field('updated_at', __('更新时间'));
 
         return $show;
     }
@@ -83,6 +103,9 @@ class OrganizationVaccineController extends AdminController
         $form = new Form(new OrganizationVaccine());
         $is_admin = Admin::user()->inRoles(['administrator','manager']);
         $org_id = Admin::user()->org_id;
+        $form->editing(function ($f){
+            $f->model()->price /=100;
+        });
         $where = [];
         if(!empty($org_id)){
             $where = ['id'=>$org_id];
@@ -91,16 +114,31 @@ class OrganizationVaccineController extends AdminController
             if($form->isEditing()){
                 $form->select('org_id','机构')->options(Organization::where($where)->pluck('name','id'))->readOnly();
                 $form->select('vaccine_id', __('疫苗'))->options(Vaccine::pluck('name','id'))->readOnly();
+                $form->select('type', __('疫苗类型'))->options(OrganizationVaccine::getType())->when(1,function () use($form){
+                    $form->hidden('price','价格')->value(0);
+                })->when(2,function () use($form){
+                    $form->text('price','价格');
+                });
             } else {
                 $form->select('org_id','机构')->options(Organization::where($where)->pluck('name','id'));
                 $form->select('vaccine_id', __('疫苗'))->options(Vaccine::pluck('name','id'));
+                $form->select('type', __('疫苗类型'))->options(OrganizationVaccine::getType())->when(1,function () use($form){
+                    $form->hidden('price','价格')->value(0);
+                })->when(2,function () use($form){
+                    $form->text('price','价格');
+                });
             }
         } else {
             $form->hidden('org_id')->value(Admin::user()->org_id);
         }
-        $form->text('stock', __('库存'))->rules('required',['required'=>'请输入库存']);
-        $form->datetime('updated_at', __('更新时间'));
-        $form->datetime('created_at', __('创建时间'));
+
+        $form->saving(function ($f){
+           $f->price *=100;
+        });
+
+        $form->number('stock', __('库存'))->rules('required',['required'=>'请输入库存']);
+        $form->text('supplier', __('厂家'))->rules('required',['required'=>'请输入厂家']);
+        $form->textarea('remark', __('备注'));
 
         return $form;
     }

+ 33 - 27
app/Community/Controllers/VaccineController.php

xqd xqd xqd xqd xqd xqd
@@ -12,6 +12,7 @@ use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
+use Encore\Admin\Widgets\Table;
 
 class VaccineController extends AdminController
 {
@@ -35,7 +36,21 @@ class VaccineController extends AdminController
         $grid->disableCreateButton(false);
         $grid->column('id', __('ID'));
         $grid->column('name', __('疫苗名称'));
-        $grid->column('type', __('类别'))->editable('select',[1=>'一类',2=>'二类']);
+        $grid->column('organizations', '机构库存')->display(function (){
+            return '点击查看';
+        })->modal('机构库存', function ($model) {
+            $org = $model->organizationvaccines()->get()->map(function ($comment) {
+                return $comment->only(['org_id','vaccine_id','stock']);
+            });
+            $org = $org->toArray();
+            for($i=0;$i<count($org);$i++)
+            {
+                $id = $org[$i]['org_id'];
+                $org[$i]['vaccine_id'] = $this->name;
+                $org[$i]['org_name'] = Organization::where('id',$id)->value('name');
+            }
+            return new Table(['ID','疫苗','库存','机构名称'], $org);
+        });
         $grid->column('stocks', __('剩余库存'))->display(function (){
             return OrganizationVaccine::where(['vaccine_id'=>$this->id])->sum('stock');
         });
@@ -49,15 +64,8 @@ class VaccineController extends AdminController
                 $query->where('vaccine_id',$this->id);
             })->count();
         });;
-        $grid->column('price', __('价格'))->display(function ($v){
-            return round($v/100,4).'元';
-        })->editable();
-        $grid->column('remark', __('备注'))->editable('textarea');
-        $grid->column('supplier', __('厂家'));
-//        $grid->column('created_at', __('Created at'));
-//        $grid->column('updated_at', __('Updated at'));
         $grid->filter(function ($fliter){
-            $fliter->equal('type','类别')->select([1=>'一类',2=>'二类']);
+//            $fliter->equal('type','类别')->select(OrganizationVaccine::getType());
             $fliter->like('name','疫苗');
         });
         $grid->actions(function ($actions) {
@@ -67,6 +75,8 @@ class VaccineController extends AdminController
 
             // prepend一个操作
             $actions->prepend('<a href="http://www.baidu.com" target="_blank"><i class="fa fa-cab"></i></a>');
+
+            $actions->disableDelete();
         });
         return $grid;
     }
@@ -82,13 +92,9 @@ class VaccineController extends AdminController
         $show = new Show(Vaccine::findOrFail($id));
 
         $show->field('id', __('Id'));
-        $show->field('type', __('Type'));
-        $show->field('price', __('Price'));
-        $show->field('name', __('Name'));
-        $show->field('remark', __('Remark'));
-        $show->field('supplier', __('Supplier'));
-        $show->field('created_at', __('Created at'));
-        $show->field('updated_at', __('Updated at'));
+        $show->field('name', __('疫苗名称'));
+        $show->field('created_at', __('创建时间'));
+        $show->field('updated_at', __('更新时间'));
 
         return $show;
     }
@@ -107,19 +113,19 @@ class VaccineController extends AdminController
         if($org_id){
             $orglist = Organization::where(['id'=>$org_id])->pluck('name','id');
         }
-        $form->editing(function ($f){
-            $f->model()->price /= 100;
-        });
-        $form->select('type', __('类型'))->options([1=>'一类',2=>'二类'])->default(1);
+//        $form->editing(function ($f){
+//            $f->model()->price /= 100;
+//        });
+//        $form->select('type', __('类型'))->options([1=>'一类',2=>'二类'])->default(1);
 //        $form->select('org_id','机构')->options($orglist)->rules('required',['requried'=>'请选择机构']);
-        $form->text('name', __('疫苗名称'))->rules('required',['requried'=>'请填写疫苗名称']);
-        $form->text('supplier', __('厂家'))->rules('required',['requried'=>'请填写厂家信息']);
-        $form->text('price', __('价格'))->rules('required',['requried'=>'请填写价格']);
+        $form->text('name', __('疫苗名称'))->creationRules(['required', "unique:vaccines"])
+            ->updateRules(['required', "unique:vaccines,name,{{id}}"]);
+        $form->hidden('states')->value(1);
 //        $form->text('stock', __('库存'))->rules('required',['requried'=>'请填写库存']);
-        $form->textarea('remark', __('备注'));
-        $form->saving(function ($form){
-           $form->price = $form->price*100;
-        });
+//        $form->textarea('remark', __('备注'));
+//        $form->saving(function ($form){
+//           $form->price = $form->price*100;
+//        });
 
         return $form;
     }

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

xqd xqd
@@ -3,6 +3,7 @@
 namespace App\Community\Controllers;
 
 use App\Models\Order;
+use App\Models\Patient;
 use App\Models\PatientRemark;
 use Encore\Admin\Controllers\AdminController;
 use Encore\Admin\Facades\Admin;
@@ -38,7 +39,10 @@ class VaccineUserController extends AdminController
         $grid->model()->GroupBy('patient_id');
         $grid->column('orderPatient.name', __('姓名'));
         $grid->column('orderUser.nickname', __('监护人'));
-        $grid->column('orderPatient.phone', __('监护人手机号'));
+        $grid->column('orderPatient.phone', __('监护人手机号'))->display(function ($w){
+            if(empty($w)) return Patient::where('id',$this->patient_id)->value('phone');
+            return $w;
+        });
         $grid->column('orderPatient.birthday', __('出生日期'));
         $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');

+ 7 - 0
app/Community/routes.php

xqd xqd
@@ -5,6 +5,9 @@ Route::get('/home', 'HomeController@home');
 
 Route::get('/total_schedule', 'HomeController@schedule');
 Route::resource('nurses', NurseController::class);
+//机构设置
+Route::resource('organization_setting', SettingController::class);
+
 Route::resource('nurse_users', NurseUserController::class);
 Route::resource('order_nurses', OrderNurseController::class);
 Route::resource('vaccines', VaccineController::class);
@@ -61,6 +64,10 @@ Route::get('/api/update_docter_setting', 'ApiController@updateDocterSetting');
 Route::get('/api/docter_setting', 'ApiController@updateDocterSetting');
 Route::get('/api/self_schedule', 'ApiController@setSelfSchedule');
 Route::get('/api/getScheduleInfo', 'ApiController@getScheduleInfo');
+Route::any('/img_upload', 'ApiController@upload');
+
+Route::get('/api/getCity', 'ApiController@getCity');
+Route::get('/api/getArea', 'ApiController@getArea');
 
 Route::get('/getChatOrder', 'ApiController@get_chat_order');
 

+ 11 - 0
app/Models/OrganizationVaccine.php

xqd
@@ -6,6 +6,17 @@ use Illuminate\Database\Eloquent\Model;
 
 class OrganizationVaccine extends Model
 {
+
+    const FREETYPE = 1, NOFREETYPE =2;
+
+    protected static $_type = [
+        self::FREETYPE => 'Ⅰ类',
+        self::NOFREETYPE => 'Ⅱ类',
+    ];
+
+    public static function getType(){
+        return self::$_type;
+    }
     public function organization()
     {
         return $this->hasOne(Organization::class,'id','org_id');

+ 42 - 1
config/tenancy.php

xqd xqd
@@ -88,7 +88,6 @@ return [
 
     'https' => env('ADMIN_HTTPS', true),
 
-
     /*
     |--------------------------------------------------------------------------
     | Laravel-admin auth setting
@@ -346,6 +345,48 @@ return [
                 ],
             ]
         ],
+        'wang-editor2' => [
+            // 如果要关掉这个扩展,设置为false
+            'enable' => true,
+            // 编辑器的配置
+            'config' => [
+                'uploadImgFileName' => 'up_image', //这个应该wangEditor的上传方法名字,不要乱改
+                'uploadImgUrl' => '/cdms/img_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'
+                ],
+            ]
+        ]
     ],
     // 使用`下拉菜单`形式
     'grid_action_class' => \Encore\Admin\Grid\Displayers\DropdownActions::class,

+ 1 - 1
resources/views/cdms/schedule.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>scheduling</title><link href="static/css/app.b0dfcc84.css" rel="preload" as="style"><link href="static/css/chunk-vendors.767f701c.css" rel="preload" as="style"><link href="static/js/app.ae6b80a5.js" rel="preload" as="script"><link href="static/js/chunk-vendors.feab90c7.js" rel="preload" as="script"><link href="static/css/chunk-vendors.767f701c.css" rel="stylesheet"><link href="static/css/app.b0dfcc84.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but scheduling doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="static/js/chunk-vendors.feab90c7.js"></script><script src="static/js/app.ae6b80a5.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>scheduling</title><link href="static/css/app.b0dfcc84.css" rel="preload" as="style"><link href="static/css/chunk-vendors.767f701c.css" rel="preload" as="style"><link href="static/js/app.3c727ef2.js" rel="preload" as="script"><link href="static/js/chunk-vendors.feab90c7.js" rel="preload" as="script"><link href="static/css/chunk-vendors.767f701c.css" rel="stylesheet"><link href="static/css/app.b0dfcc84.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but scheduling doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="static/js/chunk-vendors.feab90c7.js"></script><script src="static/js/app.3c727ef2.js"></script></body></html>