Swdz-WangHaiJun пре 4 година
родитељ
комит
dac0af7686

+ 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;

+ 4 - 3
app/Admin/Controllers/VaccinesManagement/VaccinesController.php

xqd
@@ -37,19 +37,20 @@ class VaccinesController extends AdminController
             'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
         ];
 
-        $grid->column('organizations', '机构')->display(function (){
+        $grid->column('organizations', '机构库存')->display(function (){
             return '点击查看';
         })->modal('机构库存', function ($model) {
             $org = $model->organizationvaccines()->get()->map(function ($comment) {
-                return $comment->only(['org_id', 'stock']);
+                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);
+            return new Table(['ID','疫苗','库存','机构名称'], $org);
         });
 
         $grid->column('kc','库存');

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

xqd
@@ -50,6 +50,22 @@ 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 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){

+ 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.

+ 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;
     }

+ 26 - 19
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,11 @@ 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('type', __('类别'))->using(OrganizationVaccine::getType());
+        $show->field('name', __('疫苗名称'));
+        $show->field('remark', __('备注'));
+        $show->field('created_at', __('创建时间'));
+        $show->field('updated_at', __('更新时间'));
 
         return $show;
     }
@@ -112,9 +120,8 @@ class VaccineController extends AdminController
         });
         $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->text('stock', __('库存'))->rules('required',['requried'=>'请填写库存']);
         $form->textarea('remark', __('备注'));
         $form->saving(function ($form){

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

xqd
@@ -38,7 +38,9 @@ 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){
+            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');

+ 4 - 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,7 @@ 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::get('/img_upload', 'ApiController@upload');
 
 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
@@ -86,7 +86,6 @@ return [
     |
     */
 
-    'https' => env('ADMIN_HTTPS', true),
 
 
     /*
@@ -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,