Browse Source

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

zilong 4 years ago
parent
commit
9093f2298d

+ 25 - 20
app/Admin/Controllers/VaccinesManagement/VaccinesController.php

@@ -30,30 +30,26 @@ class VaccinesController extends AdminController
         $grid = new Grid(new Vaccines());
         $grid = new Grid(new Vaccines());
         $grid->model()->orderBy('id','desc');
         $grid->model()->orderBy('id','desc');
         $grid->column('id', __('Id'));
         $grid->column('id', __('Id'));
-//        $grid->column('type', '类型')->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗']);
         $grid->column('name', __('名称'));
         $grid->column('name', __('名称'));
+        $grid->column('type', '类型')->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗'])->label('info');
         $states = [
         $states = [
             'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
             'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
             'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
             'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
         ];
         ];
+        $grid->column('price', __('价格'))->display(function ($p){
+            $t = $this->type;
+            if($t == 1)return '免费';
+            return ($p / 100).'元';
+        });
 
 
-        $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('stock', '库存')->display(function ($w){
+           return $w;
         });
         });
+        $grid->column('organization.name', __('机构'));
+
+        $grid->column('remark', __('备注'));
 
 
-        $grid->column('kc','库存');
+        $grid->column('created_at', __('创建时间'));
         $grid->column('updated_at', __('更新时间'));
         $grid->column('updated_at', __('更新时间'));
 
 
         $grid->filter(function($filter){
         $grid->filter(function($filter){
@@ -95,6 +91,11 @@ class VaccinesController extends AdminController
             $tools->append(new ImportAction());
             $tools->append(new ImportAction());
         });
         });
 
 
+        $grid->actions(function ($actions){
+            $actions->disableDelete();
+            $actions->disableEdit();
+        });
+
         return $grid;
         return $grid;
     }
     }
 
 
@@ -109,15 +110,19 @@ class VaccinesController extends AdminController
         $show = new Show(Vaccines::findOrFail($id));
         $show = new Show(Vaccines::findOrFail($id));
 
 
         $show->field('id', __('Id'));
         $show->field('id', __('Id'));
-//        $show->field('type', __('分类'))->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗']);
+        $show->field('type', __('分类'))->using([1=>'Ⅰ类疫苗',2=>'Ⅱ类疫苗'])->label('info');
 //        $show->field('introduction','简介');
 //        $show->field('introduction','简介');
-//        $show->field('price', __('价钱'));
+        $show->field('price', __('价钱'));
         $show->field('name', __('名称'));
         $show->field('name', __('名称'));
-//        $show->field('remark', __('备注'));
-//        $show->field('supplier', __('厂家'));
+        $show->field('remark', __('备注'));
+        $show->field('supplier', __('厂家'));
         $show->field('created_at', __('创建时间'));
         $show->field('created_at', __('创建时间'));
         $show->field('updated_at', __('更新时间'));
         $show->field('updated_at', __('更新时间'));
 
 
+        $show->panel()->tools(function ($tools) {
+            $tools->disableEdit();
+            $tools->disableDelete();
+        });
         return $show;
         return $show;
     }
     }
 
 

+ 9 - 11
app/Community/Actions/Vaccine/FasteOrder.php

@@ -28,7 +28,6 @@ class FasteOrder extends Action
         $timeInfo = TimePeriod::where(['id'=>$data['timer']])->first()->toArray();
         $timeInfo = TimePeriod::where(['id'=>$data['timer']])->first()->toArray();
         $patientInfo = Patient::where(['id'=>$data['user']])->first()->toArray();
         $patientInfo = Patient::where(['id'=>$data['user']])->first()->toArray();
         $vaccineInfo = Vaccine::where(['id'=>$data['vaccine']])->first()->toArray();
         $vaccineInfo = Vaccine::where(['id'=>$data['vaccine']])->first()->toArray();
-        $orgVaccine = OrganizationVaccine::where(['vaccine_id'=>$data['vaccine'],'org_id'=>$org_id])->first()->toArray();
 
 
 
 
         DB::beginTransaction();
         DB::beginTransaction();
@@ -38,9 +37,9 @@ class FasteOrder extends Action
                 'organization_id'=>$org_id,
                 'organization_id'=>$org_id,
                 'order_sn'=>$patientInfo['user_id'],
                 'order_sn'=>$patientInfo['user_id'],
                 'product_type'=>4,
                 'product_type'=>4,
-                'total_amount'=>$orgVaccine['price'],
+                'total_amount'=>$vaccineInfo['price'],
                 'is_faster'=>1,
                 'is_faster'=>1,
-                'order_status'=>2,
+                'order_status'=>7,
                 'payment_status'=>2,
                 'payment_status'=>2,
             ];
             ];
 
 
@@ -67,15 +66,15 @@ class FasteOrder extends Action
             $vaccine = [
             $vaccine = [
                 'order_id'=>$order['id'],
                 'order_id'=>$order['id'],
                 'order_patient_id'=>$patienter['id'],
                 'order_patient_id'=>$patienter['id'],
-                'vaccine_id'=>$orgVaccine['vaccine_id'],
-                'vaccine_type'=>$orgVaccine['type'],
-                'vaccine_price'=>$orgVaccine['price'],
+                'vaccine_id'=>$vaccineInfo['id'],
+                'vaccine_type'=>$vaccineInfo['type'],
+                'vaccine_price'=>$vaccineInfo['price'],
                 'vaccine_name'=>$vaccineInfo['name'],
                 'vaccine_name'=>$vaccineInfo['name'],
-                'vaccine_remark'=>$orgVaccine['remark'],
-                'vaccine_supplier'=>$orgVaccine['supplier'],
+                'vaccine_remark'=>$vaccineInfo['remark'],
+                'vaccine_supplier'=>$vaccineInfo['supplier'],
             ];
             ];
             OrderVaccine::create($vaccine);
             OrderVaccine::create($vaccine);
-            OrganizationVaccine::where(['vaccine_id'=>$data['vaccine'],'org_id'=>$org_id])->decrement('stock');
+            Vaccine::where(['id'=>$vaccineInfo['id'],'org_id'=>$org_id])->decrement('stock');
             DB::commit();
             DB::commit();
         } catch ( Exception $e){
         } catch ( Exception $e){
             DB::rollBack();
             DB::rollBack();
@@ -91,8 +90,7 @@ class FasteOrder extends Action
         Admin::js('select2.js');
         Admin::js('select2.js');
         $patient = Patient::pluck('name','id');
         $patient = Patient::pluck('name','id');
         $org_id = Admin::user()->org_id;
         $org_id = Admin::user()->org_id;
-        $ids = OrganizationVaccine::where(['org_id'=>$org_id])->where('stock','>',0)->pluck('vaccine_id');
-        $vaccine = Vaccine::whereIn('id',$ids)->pluck('name','id');
+        $vaccine = Vaccine::where(['org_id'=>$org_id])->pluck('name','id');
         // todo 需要搜索
         // todo 需要搜索
         $this->select('user', '接种人')->options($patient)->rules('required',['required'=>'请选择接种患者']);
         $this->select('user', '接种人')->options($patient)->rules('required',['required'=>'请选择接种患者']);
         $this->select('vaccine', '疫苗')->options($vaccine)->rules('required',['required'=>'请选择疫苗']);
         $this->select('vaccine', '疫苗')->options($vaccine)->rules('required',['required'=>'请选择疫苗']);

+ 4 - 1
app/Community/Controllers/ApiController.php

@@ -17,6 +17,7 @@ use App\Models\SchedulePeriod;
 use App\Models\SystemConfig;
 use App\Models\SystemConfig;
 use App\Models\TimePeriod;
 use App\Models\TimePeriod;
 use App\Models\WeekSchedule;
 use App\Models\WeekSchedule;
+use Carbon\Carbon;
 use EasyWeChat\Factory;
 use EasyWeChat\Factory;
 use Encore\Admin\Facades\Admin;
 use Encore\Admin\Facades\Admin;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\DB;
@@ -105,8 +106,10 @@ class ApiController extends Controller
         if(empty($timeIds)) return [];
         if(empty($timeIds)) return [];
         $times = TimePeriod::whereIn('id',$timeIds);
         $times = TimePeriod::whereIn('id',$timeIds);
 
 
-        if(strtotime($date) === time()) {
+        if($date >= date('Y-m-d',time())) {
             $times = $times->where('start_time_period','>',date('H:i',time()));
             $times = $times->where('start_time_period','>',date('H:i',time()));
+        } else {
+            return [];
         }
         }
         $times = $times->get();
         $times = $times->get();
 
 

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

@@ -46,7 +46,7 @@ class UserNoticeController extends AdminController
 
 
         $grid->filter(function ($flter){
         $grid->filter(function ($flter){
             $flter->like('name','请输入患者姓名');
             $flter->like('name','请输入患者姓名');
-            $flter->like('nickname','请输入监护人姓名');
+            $flter->like('user.nickname','请输入监护人姓名');
             $flter->between('birthday','生日')->datetime();
             $flter->between('birthday','生日')->datetime();
             $flter->between('orderpatient.appoint_start_time','预约时间')->datetime();
             $flter->between('orderpatient.appoint_start_time','预约时间')->datetime();
             $flter->equal('order.product_type','用户类型')->select([4=>'计免',5=>'儿保']);
             $flter->equal('order.product_type','用户类型')->select([4=>'计免',5=>'儿保']);

+ 60 - 49
app/Community/Controllers/VaccineController.php

@@ -40,45 +40,43 @@ class VaccineController extends AdminController
         $grid->disableCreateButton(false);
         $grid->disableCreateButton(false);
         $grid->column('id', __('ID'));
         $grid->column('id', __('ID'));
         $grid->column('name', __('疫苗名称'));
         $grid->column('name', __('疫苗名称'));
-//        $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');
+
+        $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->disableDelete();
         });
         });
-        $grid->column('org_id', __('已使用量'))->display(function ()  {
-           return Order::where(['product_type'=>4])->wherehas('orderVaccine',function ($query){
-                $query->where('vaccine_id',$this->id);
-            })->count();
+
+//        $grid->column('stock', __('库存'));
+
+        $grid->column('stock', __('剩余库存'))->display(function ($w){
+            return !empty($w) ? $w :  0;
         });
         });
-        $grid->column('today_num', __('今日预约'))->display(function ()  {
-            return Order::where(['product_type'=>4])->wherehas('orderVaccine',function ($query){
-                $query->where('vaccine_id',$this->id);
-            })->count();
-        });;
+//        $grid->column('org_id', __('已使用量'))->display(function ()  {
+//           return Order::where(['product_type'=>4])->wherehas('orderVaccine',function ($query){
+//                $query->where('vaccine_id',$this->id);
+//            })->count();
+//        });
+//        $grid->column('today_num', __('今日预约'))->display(function ()  {
+//            return Order::where(['product_type'=>4])->wherehas('orderVaccine',function ($query){
+//                $query->where('vaccine_id',$this->id);
+//            })->count();
+//        });
+        $grid->column('supplier', __('厂家'));
+        $grid->column('remark', __('备注'));
         $grid->filter(function ($fliter){
         $grid->filter(function ($fliter){
-//            $fliter->equal('type','类别')->select(OrganizationVaccine::getType());
             $fliter->like('name','疫苗');
             $fliter->like('name','疫苗');
         });
         });
-        $grid->actions(function ($actions) {
 
 
-            // append一个操作
-            $actions->append('<a href=""><i class="fa fa-header">跳转</i></a>');
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
 
 
-            // prepend一个操作
-            $actions->prepend('<a href="http://www.baidu.com" target="_blank"><i class="fa fa-cab"></i></a>');
+        $grid->actions(function ($actions) {
 
 
             $actions->disableDelete();
             $actions->disableDelete();
         });
         });
@@ -96,7 +94,13 @@ class VaccineController extends AdminController
         $show = new Show(Vaccine::findOrFail($id));
         $show = new Show(Vaccine::findOrFail($id));
 
 
         $show->field('id', __('Id'));
         $show->field('id', __('Id'));
-        $show->field('name', __('疫苗名称'));
+        $show->field('name', __('疫苗'));
+        $show->field('type', __('疫苗类型'))->using(OrganizationVaccine::getType());
+        $show->field('price', __('价格'))->as(function ($w){
+            return round($w/100, 2).'元';
+        });
+        $show->field('supplier', __('厂家'));
+        $show->field('reamrk', __('备注'));
         $show->field('created_at', __('创建时间'));
         $show->field('created_at', __('创建时间'));
         $show->field('updated_at', __('更新时间'));
         $show->field('updated_at', __('更新时间'));
 
 
@@ -113,29 +117,36 @@ class VaccineController extends AdminController
         $form = new Form(new Vaccine());
         $form = new Form(new Vaccine());
 
 
         $orglist = Organization::pluck('name','id');
         $orglist = Organization::pluck('name','id');
+        $is_admin = Admin::user()->isAdministrator();
         $org_id = Admin::user()->org_id;
         $org_id = Admin::user()->org_id;
-//        if($org_id){
-//            $orglist = Organization::where(['id'=>$org_id])->pluck('name','id');
-//        }
-//        $form->editing(function ($f){
-//            $f->model()->price /= 100;
-//        });
-        $form->hidden('org_id', __('类型'))->value($org_id);
-//        $form->select('type', __('类型'))->options([1=>'一类',2=>'二类'])->default(1);
-//        $form->select('org_id','机构')->options($orglist)->rules('required',['requried'=>'请选择机构']);
+        if($org_id && $is_admin){
+            $orglist = Organization::pluck('name','id');
+        }
+        $form->editing(function ($f){
+            $f->model()->price /= 100;
+        });
+        if($is_admin ){
+            $form->select('org_id','机构')->options($orglist)->rules('required',['requried'=>'请选择机构']);
+        } else {
+            $form->hidden('org_id', __('类型'))->value($org_id);
+        }
         $form->text('name', __('疫苗名称'))->rules('required',['required'=>'请输入疫苗']);
         $form->text('name', __('疫苗名称'))->rules('required',['required'=>'请输入疫苗']);
-//        $form->text('name', __('疫苗名称'))->creationRules(['required', "unique:vaccines"])
-//            ->updateRules(['required', "unique:vaccines,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','价格');
+        });
         $states = [
         $states = [
             'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
             'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
             'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
             'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
         ];
         ];
+        $form->text('stock', __('库存'))->rules('required',['requried'=>'请填写库存']);
+        $form->text('supplier','厂家');
         $form->switch('states','状态')->states($states)->default(1);
         $form->switch('states','状态')->states($states)->default(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;
         return $form;
     }
     }

File diff suppressed because it is too large
+ 50 - 3
app/Http/Controllers/IndexController.php


+ 3 - 2
app/Models/Order.php

@@ -12,14 +12,15 @@ class Order extends BaseModel
 {
 {
     protected $appends = ['is_evaluate', 'consult_duration', 'callback_phone'];
     protected $appends = ['is_evaluate', 'consult_duration', 'callback_phone'];
 
 
-    CONST UNPAID = 1, NOTACCEPT = 2, ISING = 3, FINISHED = 4,CANCELED=5,ISOUT=6; //订单状态(1.未支付 2.进行中 3.已完成 4.已取消)
+    CONST UNPAID = 1, NOTACCEPT = 2, ISING = 3, FINISHED = 4,CANCELED=5,ISOUT=6,ISACCEPT=7;//订单状态(1.未支付 2.进行中 3.已完成 4.已取消)
     public static  $_order_status = [
     public static  $_order_status = [
         self::UNPAID=>'未支付',
         self::UNPAID=>'未支付',
         self::NOTACCEPT=>'待支付',
         self::NOTACCEPT=>'待支付',
         self::ISING=>'进行中',
         self::ISING=>'进行中',
         self::FINISHED=>'已完成',
         self::FINISHED=>'已完成',
         self::CANCELED=>'已取消',
         self::CANCELED=>'已取消',
-        self::ISOUT=>'已超时'
+        self::ISOUT=>'已超时',
+        self::ISACCEPT=>'已预约'
     ];
     ];
 
 
 
 

+ 4 - 1
app/Models/Patient.php

@@ -56,5 +56,8 @@ class Patient extends BaseModel
     public function user(){
     public function user(){
         return $this->hasOne(User::class,'id','user_id');
         return $this->hasOne(User::class,'id','user_id');
     }
     }
-    
+
+    public function orderPatient(){
+        return $this->hasOne(OrderPatient::class,'patient_id','id');
+    }
 }
 }

+ 1 - 1
app/Models/Vaccines.php

@@ -22,7 +22,7 @@ class Vaccines extends BaseModel
 
 
     public function organization()
     public function organization()
     {
     {
-        return $this->belongsToMany(Organization::class,'org_id');
+        return $this->hasOne(Organization::class,'id','org_id');
     }
     }
 
 
     public function organizationvaccines(){
     public function organizationvaccines(){

+ 1 - 1
config/tenancy.php

@@ -11,7 +11,7 @@ return [
     | login page.
     | login page.
     |
     |
     */
     */
-    'name' => '超级妈力社区管理平台',
+    'name' => '熙宝HMO社区管理平台',
 
 
     /*
     /*
     |--------------------------------------------------------------------------
     |--------------------------------------------------------------------------

+ 2 - 0
routes/web.php

@@ -34,6 +34,8 @@ Route::get('/api/get_week_chedule', 'ScheDuleController@getWeekSchedule');
 Route::get('/api/set_self_schedule', 'ScheDuleController@setSelfSchedule');
 Route::get('/api/set_self_schedule', 'ScheDuleController@setSelfSchedule');
 Route::get('/api/insert_times', 'ScheDuleController@insert_times');
 Route::get('/api/insert_times', 'ScheDuleController@insert_times');
 Route::get('/test', 'IndexController@test');
 Route::get('/test', 'IndexController@test');
+Route::get('/info', 'IndexController@getInfo');
+Route::get('/text', 'IndexController@getText');
 
 
 //用户信息
 //用户信息
 Route::get('/api/getScheduleInfo', 'ScheDuleController@getScheduleInfo');
 Route::get('/api/getScheduleInfo', 'ScheDuleController@getScheduleInfo');

Some files were not shown because too many files changed in this diff