Prechádzať zdrojové kódy

服务协议列表的所有功能

ChenWuJie 4 rokov pred
rodič
commit
6daa42cb31

+ 84 - 0
app/Admin/Controllers/ServicePacksManagment/ServiceAgreementController.php

xqd
@@ -0,0 +1,84 @@
+<?php
+
+namespace App\Admin\Controllers\ServicePacksManagment;
+
+use App\Models\ServiceAgreement;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ServiceAgreementController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '服务协议';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new ServiceAgreement());
+        $grid->filter(function ($filter){
+           $filter->disableIdFilter();
+           $filter->like('name','协议名');
+        });
+        $grid->column('id', __('Id'));
+        $grid->column('name', __('协议名'));
+        $status = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $grid->column('status', __('状态'))->switch($status);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(ServiceAgreement::findOrFail($id));
+
+        $show->field('id', 'ID');
+        $show->field('name', '协议名称');
+        $show->field('content', '协议内容')->unescape();
+        $show->field('status', '状态')->using([0=>'禁用',1=>'启用'])->label('info');
+        $show->field('created_at', '创建时间');
+        $show->field('updated_at', '更新时间');
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new ServiceAgreement());
+
+        $form->text('name', __('协议名称'));
+        $form->editor('content', __('协议内容'));
+        $status = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $form->switch('status', __('状态'))->states($status)->default(1);
+
+        return $form;
+    }
+}

+ 6 - 0
app/Admin/Controllers/ServicePacksManagment/ServicePacksController.php

xqd xqd xqd xqd
@@ -5,6 +5,7 @@ namespace App\Admin\Controllers\ServicePacksManagment;
 use App\Admin\Actions\backstage\Service\ServiceDistributions;
 use App\Models\InsuranceAgreement;
 use App\Models\Nurse;
+use App\Models\ServiceAgreement;
 use App\Models\ServicePack;
 use App\Models\SystemConfig;
 use App\Models\Team;
@@ -73,6 +74,7 @@ class ServicePacksController extends AdminController
         $grid->column('image','图片')->lightbox(['width' =>'', 'height' => 30]);
         $grid->column('is_need_insure', __('是否包含保险'))->using([0=>'不包含',1=>'包含']);
         $grid->column('insuranceagreement.name', __('保险协议名称'));
+        $grid->column('serviceagreement.name', __('服务协议名称'));
         $grid->column('phone_minutes', __('电话次数'));
         $grid->column('chat_num', __('图文次数'));
         $grid->column('appoint_num', __('门诊次数'));
@@ -139,6 +141,7 @@ class ServicePacksController extends AdminController
         $show->field('image','图片')->image();
         $show->field('is_need_insure', __('是否包含保险'))->using([0=>'不包含',1=>'包含']);
         $show->field('insuranceagreement.name', __('保险协议名称'));
+        $show->field('serviceagreement.name', __('保险协议名称'));
         $show->field('phone_minutes', __('电话次数'));
         $show->field('chat_num', __('图文次数'));
         $show->field('appoint_num', __('门诊次数'));
@@ -169,6 +172,9 @@ class ServicePacksController extends AdminController
         $form->text('intro', __('简介'))->rules('required' ,['required'=>'请填写简介!']);;
         $form->editor('desc', __('详情内容'))->rules('required' ,['required'=>'请填写内容!']);;
         $form->number('price', __('价钱'))->default(0);
+        $form->select('service_agreement_id','服务协议')
+            ->options(ServiceAgreement::where('status','!=',0)->pluck('name','id'))
+            ->rules('required' ,['required'=>'请填写服务协议!']);
         $form->radio('is_need_insure', __('服务包是否包含保险'))->options([
             0=>'否',
             1=>'是'

+ 2 - 0
app/Admin/routes.php

xqd
@@ -66,6 +66,8 @@ Route::group([
     $router->resource('team_docter',TeamDocterController::class);
     //开通记录
     $router->resource('open_pack', ServicePacksManagment\OpenPackController::class);
+    //服务协议
+    $router->resource('service_agreements', ServicePacksManagment\ServiceAgreementController::class);
 
     $router->resource('insurance_agreements', ServicePacksManagment\InsuranceAgreementController::class);
     $router->resource('service_distribution_user_list', ServicePacksManagment\ServiceDistributionUserList::class);

+ 11 - 0
app/Models/ServiceAgreement.php

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

+ 3 - 0
app/Models/ServicePack.php

xqd
@@ -45,4 +45,7 @@ class ServicePack extends BaseModel
     public function insuranceagreement(){
         return $this->hasOne(InsuranceAgreement::class,'id','agreement_id');
     }
+    public function serviceagreement(){
+        return $this->hasOne(ServiceAgreement::class,'id','service_agreement_id');
+    }
 }