Commit ac51ecf2 by 赵增煜
parents 3825a4af f618c846
...@@ -3,9 +3,11 @@ ...@@ -3,9 +3,11 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use App\Admin\Repositories\DosageRepository; use App\Admin\Repositories\DosageRepository;
use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Show; use Dcat\Admin\Show;
// 用法用量 // 用法用量
...@@ -18,10 +20,17 @@ class DosageController extends AdminController ...@@ -18,10 +20,17 @@ class DosageController extends AdminController
*/ */
protected function grid() protected function grid()
{ {
return Grid::make(new DosageRepository(), function (Grid $grid) { return Grid::make(new DosageRepository('pharmacy'), function (Grid $grid) {
// 权限判断和数据过滤
if (! Admin::user()->pharmacy_id) {
admin_exit(Content::make()->withError(trans('admin.deny')));
}
$grid->model()->orderBy('id', 'DESC'); $grid->model()->orderBy('id', 'DESC');
$grid->model()->where('pharmacy_id', Admin::user()->pharmacy_id);
$grid->column('id')->sortable(); $grid->column('id')->sortable();
$grid->column('pharmacy.name', '药店');
$grid->column('dosage_desc'); $grid->column('dosage_desc');
$grid->column('dosage_show'); $grid->column('dosage_show');
...@@ -48,6 +57,8 @@ protected function grid() ...@@ -48,6 +57,8 @@ protected function grid()
*/ */
protected function detail($id) protected function detail($id)
{ {
admin_exit(Content::make()->withError(trans('admin.deny')));
return Show::make($id, new DosageRepository(), function (Show $show) { return Show::make($id, new DosageRepository(), function (Show $show) {
$show->field('id'); $show->field('id');
$show->field('dosage_desc'); $show->field('dosage_desc');
...@@ -69,13 +80,25 @@ protected function detail($id) ...@@ -69,13 +80,25 @@ protected function detail($id)
protected function form() protected function form()
{ {
return Form::make(new DosageRepository(), function (Form $form) { return Form::make(new DosageRepository(), function (Form $form) {
// 权限判断和数据过滤
if (! Admin::user()->pharmacy_id) {
admin_exit(Content::make()->withError(trans('admin.deny')));
}
if ($form->isEditing() && (Admin::user()->pharmacy_id != $form->model()->pharmacy_id)) {
admin_exit(Content::make()->withError(trans('admin.deny')));
}
$form->display('id')->width(4); $form->display('id')->width(4);
$form->hidden('pharmacy_id');
$form->text('dosage_desc')->width(4)->required(); $form->text('dosage_desc')->width(4)->required();
$form->textarea('dosage_show')->width(4); $form->textarea('dosage_show')->width(4)->required();
$form->display('created_at')->width(4); $form->display('created_at')->width(4);
$form->display('updated_at')->width(4); $form->display('updated_at')->width(4);
$form->saving(function (Form $form) {
// 不能动
$form->pharmacy_id = Admin::user()->pharmacy_id;
});
// 右上角按钮控制 // 右上角按钮控制
$form->disableDeleteButton(); // 去掉删除按钮 $form->disableDeleteButton(); // 去掉删除按钮
}); });
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
use App\Admin\Repositories\DrugRepository; use App\Admin\Repositories\DrugRepository;
use App\Models\DrugModel; use App\Models\DrugModel;
use App\Models\DrugTagModel; use App\Models\DrugTagModel;
use App\Models\DrugUnitModel;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
...@@ -107,7 +108,7 @@ protected function form() ...@@ -107,7 +108,7 @@ protected function form()
$form->display('id')->width(4); $form->display('id')->width(4);
$form->text('name')->width(4)->required(); $form->text('name')->width(4)->required();
$form->text('code')->readonly()->width(4); $form->text('code')->readonly()->width(4);
$form->text('unit')->width(4)->required(); $form->select('unit')->options(DrugUnitModel::all()->pluck('name', 'id'))->width(4);
$form->text('spec')->width(4)->required(); $form->text('spec')->width(4)->required();
$form->text('dosage_form')->width(4)->required(); $form->text('dosage_form')->width(4)->required();
$form->text('factory')->width(4)->required(); $form->text('factory')->width(4)->required();
......
<?php
namespace App\Admin\Controllers;
use App\Admin\Repositories\DrugUnitRepository;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Show;
class DrugUnitController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new DrugUnitRepository(), function (Grid $grid) {
$grid->model()->orderBy('id', 'DESC');
$grid->column('id')->sortable();
$grid->column('name');
$grid->filter(function (Grid\Filter $filter) {
$filter->panel(); // 更改为 panel 布局
$filter->expand(); // 默认展开搜索框
$filter->like('name')->width(3);
});
// 行按钮控制
$grid->disableDeleteButton(); // 禁用删除按钮
$grid->disableViewButton(); // 禁用详情按钮
// 工具栏按钮控制
$grid->disableBatchDelete(); // 禁用批量删除
});
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new DrugUnitRepository(), function (Show $show) {
$show->field('id');
$show->field('name');
$show->field('created_at');
$show->field('updated_at');
$show->panel()->tools(function ($tools) {
$tools->disableEdit(); // 禁止编辑
$tools->disableDelete(); // 禁止删除按钮
});
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new DrugUnitRepository(), function (Form $form) {
$form->display('id')->width(4);
$form->text('name')->width(4);
$form->display('created_at')->width(4);
$form->display('updated_at')->width(4);
// 右上角按钮控制
$form->disableDeleteButton(); // 去掉删除按钮
});
}
}
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Models\Administrator;
use Dcat\Admin\Models\Role;
use Dcat\Admin\Show; use Dcat\Admin\Show;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
// 药店 // 药店
class PharmacyController extends AdminController class PharmacyController extends AdminController
...@@ -102,7 +106,7 @@ protected function form() ...@@ -102,7 +106,7 @@ protected function form()
{ {
return Form::make(new PharmacyRepository(), function (Form $form) { return Form::make(new PharmacyRepository(), function (Form $form) {
$form->display('id')->width(4); $form->display('id')->width(4);
$form->text('name')->width(4); $form->text('name')->width(4)->required();
$form->image('business_license')->accept('jpg,png,jpeg')->uniqueName()->autoUpload()->retainable()->removable(false)->width(4); $form->image('business_license')->accept('jpg,png,jpeg')->uniqueName()->autoUpload()->retainable()->removable(false)->width(4);
$form->image('drug_biz_license')->accept('jpg,png,jpeg')->uniqueName()->autoUpload()->retainable()->removable(false)->width(4); $form->image('drug_biz_license')->accept('jpg,png,jpeg')->uniqueName()->autoUpload()->retainable()->removable(false)->width(4);
$form->image('food_biz_license')->accept('jpg,png,jpeg')->uniqueName()->autoUpload()->retainable()->removable(false)->width(4); $form->image('food_biz_license')->accept('jpg,png,jpeg')->uniqueName()->autoUpload()->retainable()->removable(false)->width(4);
...@@ -111,15 +115,54 @@ protected function form() ...@@ -111,15 +115,54 @@ protected function form()
$form->image('pre_packaged_food')->accept('jpg,png,jpeg')->uniqueName()->autoUpload()->retainable()->removable(false)->width(4); $form->image('pre_packaged_food')->accept('jpg,png,jpeg')->uniqueName()->autoUpload()->retainable()->removable(false)->width(4);
$form->text('area')->width(4); $form->text('area')->width(4);
$form->text('address')->width(4); $form->text('address')->width(4);
$form->mobile('mobile')->width(4); $form->mobile('mobile')->width(4)->required()->help('药店登录账号');
$form->text('business_hours')->width(4); $form->text('business_hours')->width(4);
$form->map('lat', 'lng', '经纬度坐标'); $form->map('lat', 'lng', '经纬度坐标');
$form->select('user_id')->options(User::all()->pluck('openid', 'id'))->width(4); $form->select('user_id')->options(User::all()->pluck('openid', 'id'))->width(4)->help('实际后台操作可以不用关联');
$form->switch('status')->width(4); $form->switch('status')->width(4);
$form->display('created_at')->width(4); $form->display('created_at')->width(4);
$form->display('updated_at')->width(4); $form->display('updated_at')->width(4);
$form->saved(function (Form $form, $result) {
DB::beginTransaction();
try {
// 获取店铺管理员角色
$role = Role::where('slug', 'pharmacy')->first();
// 从表单模型获取手机号和其他信息
$mobile = $form->model()->mobile;
$name = $form->model()->name;
$pharmacyId = $form->model()->id;
// 查找当前是否已有管理员
$admin = Administrator::where('pharmacy_id', $pharmacyId)->first();
if ($admin) {
// 如果存在,更新相应字段
$admin->username = $mobile; // 更新账号名
$admin->name = $name; // 更新账号名
$admin->save();
} else {
// 如果不存在,新增管理员
$admin = new Administrator();
$admin->username = $mobile; // 药店手机号作为管理员账号
$admin->name = $name; // 药店名称当做用户的姓名
// $admin->password = bcrypt(Str::random(10)); // 设置管理员密码
$admin->password = bcrypt($mobile); // 设置管理员密码
$admin->pharmacy_id = $pharmacyId; // 药店ID
$admin->save(); // 保存新管理员
// 关联药店管理员角色
$admin->roles()->attach($role->id);
}
DB::commit();
} catch (\Exception $e) {
DB::rollBack();
throw new \Exception('创建或者更新店铺管理员错误~');
}
});
// 右上角按钮控制 // 右上角按钮控制
$form->disableDeleteButton(); // 去掉删除按钮 $form->disableDeleteButton(); // 去掉删除按钮
}); });
......
...@@ -6,9 +6,12 @@ ...@@ -6,9 +6,12 @@
use App\Admin\Repositories\PharmacyDrugRepository; use App\Admin\Repositories\PharmacyDrugRepository;
use App\Models\DosageModel; use App\Models\DosageModel;
use App\Models\DrugModel; use App\Models\DrugModel;
use App\Models\DrugUnitModel;
use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Show; use Dcat\Admin\Show;
// 药店-药品 // 药店-药品
...@@ -22,8 +25,14 @@ class PharmacyDrugController extends AdminController ...@@ -22,8 +25,14 @@ class PharmacyDrugController extends AdminController
protected function grid() protected function grid()
{ {
return Grid::make(new PharmacyDrugRepository(['drug', 'dosage', 'pharmacy']), function (Grid $grid) { return Grid::make(new PharmacyDrugRepository(['drug', 'dosage', 'pharmacy']), function (Grid $grid) {
// 权限判断和数据过滤
if (! Admin::user()->pharmacy_id) {
admin_exit(Content::make()->withError(trans('admin.deny')));
}
$grid->model()->orderBy('id', 'DESC'); $grid->model()->orderBy('id', 'DESC');
$grid->model()->where('pharmacy_id', Admin::user()->pharmacy_id);
$grid->column('id')->sortable(); $grid->column('id')->sortable();
$grid->column('pharmacy.name', '药店'); $grid->column('pharmacy.name', '药店');
// $grid->column('drug_id'); // $grid->column('drug_id');
...@@ -58,6 +67,7 @@ protected function grid() ...@@ -58,6 +67,7 @@ protected function grid()
// 行按钮控制 // 行按钮控制
$grid->disableCreateButton(); // 禁用创建按钮 $grid->disableCreateButton(); // 禁用创建按钮
$grid->disableDeleteButton(); // 禁用删除按钮 $grid->disableDeleteButton(); // 禁用删除按钮
$grid->disableViewButton(); // 禁用详情按钮
// 工具栏按钮控制 // 工具栏按钮控制
$grid->disableBatchDelete(); // 禁用批量删除 $grid->disableBatchDelete(); // 禁用批量删除
...@@ -72,6 +82,8 @@ protected function grid() ...@@ -72,6 +82,8 @@ protected function grid()
*/ */
protected function detail($id) protected function detail($id)
{ {
admin_exit(Content::make()->withError(trans('admin.deny')));
return Show::make($id, new PharmacyDrugRepository(['drug', 'dosage', 'pharmacy']), function (Show $show) { return Show::make($id, new PharmacyDrugRepository(['drug', 'dosage', 'pharmacy']), function (Show $show) {
$show->field('id')->width(4); $show->field('id')->width(4);
$show->field('pharmacy.name', '药店')->width(4); $show->field('pharmacy.name', '药店')->width(4);
...@@ -95,16 +107,30 @@ protected function detail($id) ...@@ -95,16 +107,30 @@ protected function detail($id)
protected function form() protected function form()
{ {
return Form::make(new PharmacyDrugRepository(['drug', 'dosage', 'pharmacy']), function (Form $form) { return Form::make(new PharmacyDrugRepository(['drug', 'dosage', 'pharmacy']), function (Form $form) {
// 权限判断和数据过滤
if (! Admin::user()->pharmacy_id) {
admin_exit(Content::make()->withError(trans('admin.deny')));
}
if ($form->isEditing() && (Admin::user()->pharmacy_id != $form->model()->pharmacy_id)) {
admin_exit(Content::make()->withError(trans('admin.deny')));
}
$form->display('id')->width(4); $form->display('id')->width(4);
$form->hidden('pharmacy_id');
$form->text('pharmacy.name', '药店')->disable()->width(4); $form->text('pharmacy.name', '药店')->disable()->width(4);
$form->text('drug.name', '药品名称')->disable()->width(4); $form->text('drug.name', '药品名称')->disable()->width(4);
$form->select('unit')->options(DrugUnitModel::all()->pluck('name', 'id'))->width(4)->required();
$disageList = DosageModel::pluck('dosage_desc', 'id'); $disageList = DosageModel::pluck('dosage_desc', 'id');
$form->select('dosage_id', '用法用量')->options($disageList)->width(4); $form->select('dosage_id', '用法用量')->options($disageList)->width(4)->required();
$form->text('batch_no')->width(4); $form->text('batch_no')->width(4)->required();
$form->display('created_at')->width(4); $form->display('created_at')->width(4);
$form->display('updated_at')->width(4); $form->display('updated_at')->width(4);
$form->saving(function (Form $form) {
// 不能动
$form->pharmacy_id = Admin::user()->pharmacy_id;
});
// 右上角按钮控制 // 右上角按钮控制
$form->disableDeleteButton(); // 去掉删除按钮 $form->disableDeleteButton(); // 去掉删除按钮
}); });
......
...@@ -3,6 +3,13 @@ ...@@ -3,6 +3,13 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use App\Admin\Repositories\PrescriptionRepository; use App\Admin\Repositories\PrescriptionRepository;
use App\Models\DiagnosiModel;
use App\Models\DoctorModel;
use App\Models\InquiryModel;
use App\Models\PatientModel;
use App\Models\PharmacyDrugModel;
use App\Models\PharmacyModel;
use App\Models\PrescriptionModel;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
...@@ -21,29 +28,28 @@ protected function grid() ...@@ -21,29 +28,28 @@ protected function grid()
return Grid::make(new PrescriptionRepository(), function (Grid $grid) { return Grid::make(new PrescriptionRepository(), function (Grid $grid) {
$grid->model()->orderBy('id', 'DESC'); $grid->model()->orderBy('id', 'DESC');
$grid->column('id')->sortable(); $grid->column('id', '处方单编号')->sortable();
$grid->column('prescription_umber');
$grid->column('status'); $grid->column('status');
$grid->column('patient_name'); $grid->column('patient_name');
$grid->column('patient_age'); $grid->column('patient_age');
$grid->column('patient_gender'); $grid->column('patient_gender');
$grid->column('diagnosis_id');
$grid->column('diagnosis_name'); $grid->column('diagnosis_name');
$grid->column('inquiry_info');
$grid->column('drug_info');
$grid->column('doctor_id');
$grid->column('doctor_name'); $grid->column('doctor_name');
$grid->column('doctor_online_hospital_name');
$grid->column('doctor_department');
$grid->column('doctor_title');
$grid->column('doctor_license_no');
$grid->column('pharmacy_id');
$grid->column('pharmacy_name');
$grid->column('pharmacist_id');
$grid->column('pharmacist_name'); $grid->column('pharmacist_name');
$grid->column('pharmacist_license_number'); $grid->column('drug_info');
$grid->column('pharmacy_name');
// $grid->column('diagnosis_id');
// $grid->column('inquiry_info');
// $grid->column('doctor_id');
// $grid->column('doctor_online_hospital_name');
// $grid->column('doctor_department');
// $grid->column('doctor_title');
// $grid->column('doctor_license_no');
// $grid->column('pharmacy_id');
// $grid->column('pharmacist_id');
// $grid->column('pharmacist_license_number');
$grid->column('created_at'); $grid->column('created_at');
$grid->column('updated_at')->sortable(); // $grid->column('updated_at')->sortable();
$grid->filter(function (Grid\Filter $filter) { $grid->filter(function (Grid\Filter $filter) {
$filter->panel(); // 更改为 panel 布局 $filter->panel(); // 更改为 panel 布局
...@@ -110,25 +116,19 @@ protected function form() ...@@ -110,25 +116,19 @@ protected function form()
{ {
return Form::make(new PrescriptionRepository(), function (Form $form) { return Form::make(new PrescriptionRepository(), function (Form $form) {
$form->display('id')->width(4); $form->display('id')->width(4);
$form->text('status'); $form->radio('status')->options(PrescriptionModel::PRESCRIPTION_STATUS_MAP);
$form->text('patient_name')->width(4); $form->select('patient_id')->options(PatientModel::all()->pluck('name', 'id'))->width(4);
$form->text('patient_age')->width(4); $form->select('diagnosis_id')->options(DiagnosiModel::all()->pluck('name', 'id'))->width(4);
$form->text('patient_gender')->width(4); $form->select('doctor_id')->options(DoctorModel::all()->pluck('name', 'id'))->width(4);
$form->text('diagnosis_id')->width(4); $form->select('pharmacy_id')->options(PharmacyModel::all()->pluck('name', 'id'))->width(4);
$form->text('diagnosis_name')->width(4); $form->select('pharmacist_id')->options(DoctorModel::all()->pluck('name', 'id'))->width(4);
$form->text('inquiry_info')->width(4); $form->multipleSelect('inquiry_info')->options(InquiryModel::all()->pluck('question', 'id'))->width(4)->saving(function ($v) {
$form->text('drug_info')->width(4); return json_encode($v);
$form->text('doctor_id')->width(4); });
$form->text('doctor_name')->width(4); $form->multipleSelect('drug_info')->options(PharmacyDrugModel::with('drug')->get()->pluck('drug')->pluck('name', 'id'))->width(4)->saving(function ($v) {
$form->text('doctor_online_hospital_name')->width(4); return json_encode($v);
$form->text('doctor_department')->width(4); });
$form->text('doctor_title')->width(4); $form->switch('is_voided')->width(4);
$form->text('doctor_license_no')->width(4);
$form->text('pharmacy_id')->width(4);
$form->text('pharmacy_name')->width(4);
$form->text('pharmacist_id')->width(4);
$form->text('pharmacist_name')->width(4);
$form->text('pharmacist_license_number')->width(4);
$form->display('created_at')->width(4); $form->display('created_at')->width(4);
$form->display('updated_at')->width(4); $form->display('updated_at')->width(4);
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use App\Admin\Repositories\PrescriptionLogRepository; use App\Admin\Repositories\PrescriptionLogRepository;
use App\Models\PharmacyModel;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController; use Dcat\Admin\Http\Controllers\AdminController;
...@@ -77,9 +78,8 @@ protected function form() ...@@ -77,9 +78,8 @@ protected function form()
{ {
return Form::make(new PrescriptionLogRepository(), function (Form $form) { return Form::make(new PrescriptionLogRepository(), function (Form $form) {
$form->display('id')->width(4); $form->display('id')->width(4);
$form->text('pharmacy_id')->width(4); $form->select('pharmacy_id')->options(PharmacyModel::all()->pluck('name', 'id'))->width(4)->required();
$form->text('pharmacy_name')->width(4); $form->textarea('log_info')->width(4);
$form->text('log_info')->width(4);
$form->display('created_at')->width(4); $form->display('created_at')->width(4);
$form->display('updated_at')->width(4); $form->display('updated_at')->width(4);
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
use App\Admin\Renderable\DrugTable; use App\Admin\Renderable\DrugTable;
use App\Models\DrugModel; use App\Models\DrugModel;
use App\Models\PharmacyDrugModel; use App\Models\PharmacyDrugModel;
use Dcat\Admin\Admin;
use Dcat\Admin\Contracts\LazyRenderable; use Dcat\Admin\Contracts\LazyRenderable;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Traits\LazyWidget; use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Widgets\Form; use Dcat\Admin\Widgets\Form;
...@@ -24,6 +26,9 @@ public function form() ...@@ -24,6 +26,9 @@ public function form()
public function handle(array $input) public function handle(array $input)
{ {
if (! Admin::user()->isRole('pharmacy') || ! Admin::user()->pharmacy_id) {
admin_exit(Content::make()->withError(trans('admin.deny')));
}
$ids = $input['ids']; $ids = $input['ids'];
if (! $ids) { if (! $ids) {
...@@ -33,9 +38,8 @@ public function handle(array $input) ...@@ -33,9 +38,8 @@ public function handle(array $input)
// $drug = DrugModel::find($id); // $drug = DrugModel::find($id);
$where = ['drug_id' => $id]; $where = ['drug_id' => $id];
$data = [ $data = [
'pharmacy_id' => $id, 'pharmacy_id' => Admin::user()->pharmacy_id,
'drug_id' => $id, 'drug_id' => $id,
'dosage_id' => 0,
]; ];
PharmacyDrugModel::updateOrCreate($where, $data); PharmacyDrugModel::updateOrCreate($where, $data);
} }
......
<?php
namespace App\Admin\Repositories;
use App\Models\DrugUnitModel as Model;
use Dcat\Admin\Repositories\EloquentRepository;
class DrugUnitRepository extends EloquentRepository
{
/**
* Model.
*
* @var string
*/
protected $eloquentClass = Model::class;
}
...@@ -30,6 +30,9 @@ ...@@ -30,6 +30,9 @@
// json编辑器 // json编辑器
Form::extend('json', JsonEditor::class); Form::extend('json', JsonEditor::class);
// 百度地图
// Form\Field\Map::requireAssets();
Grid::resolving(function (Grid $grid) { Grid::resolving(function (Grid $grid) {
$grid->withBorder(true); // 默认显示表格边框 $grid->withBorder(true); // 默认显示表格边框
}); });
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
$router->resource('drug', 'DrugController'); $router->resource('drug', 'DrugController');
// 药品-标签 // 药品-标签
$router->resource('drug-tag', 'DrugTagController'); $router->resource('drug-tag', 'DrugTagController');
// 药品-单位
$router->resource('drug-unit', 'DrugUnitController');
// 问诊-问诊人 // 问诊-问诊人
$router->resource('patient', 'PatientController'); $router->resource('patient', 'PatientController');
...@@ -52,12 +54,16 @@ ...@@ -52,12 +54,16 @@
/** 平台菜单-end **/ /** 平台菜单-end **/
/** 药店菜单-start **/ /** 药店菜单-start **/
// 药品管理 // 默认判断只有药店管理员角色才能访问
$router->resource('pharmacy-drug', 'PharmacyDrugController'); Route::group([
// 处方打印 'middleware' => 'admin.permission:allow,pharmacy',
$router->resource('prescription-print', 'PrescriptionPrintController'); ], function ($router) {
// 用法用量 // 药品管理
$router->resource('dosage', 'DosageController'); $router->resource('pharmacy-drug', 'PharmacyDrugController');
// 处方打印
$router->resource('prescription-print', 'PrescriptionPrintController');
// 用法用量
$router->resource('dosage', 'DosageController');
});
/** 药店菜单-end **/ /** 药店菜单-end **/
}); });
...@@ -12,4 +12,10 @@ class DosageModel extends Model ...@@ -12,4 +12,10 @@ class DosageModel extends Model
use SoftDeletes; use SoftDeletes;
protected $table = 'dosage'; protected $table = 'dosage';
// 关联药店
public function pharmacy()
{
return $this->belongsTo(PharmacyModel::class, 'pharmacy_id', 'id');
}
} }
<?php
namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class DrugUnitModel extends Model
{
use HasDateTimeFormatter;
use SoftDeletes;
protected $table = 'drug_unit';
}
...@@ -12,4 +12,11 @@ class PrescriptionLogModel extends Model ...@@ -12,4 +12,11 @@ class PrescriptionLogModel extends Model
use SoftDeletes; use SoftDeletes;
protected $table = 'prescription_log'; protected $table = 'prescription_log';
public function setPharmacyIdAttribute($pharmacyId)
{
$this->attributes['pharmacy_id'] = $pharmacyId;
$pharmacy_name = PharmacyModel::find($pharmacyId)->name;
$this->attributes['pharmacy_name'] = $pharmacy_name;
}
} }
...@@ -12,4 +12,18 @@ class PrescriptionModel extends Model ...@@ -12,4 +12,18 @@ class PrescriptionModel extends Model
use SoftDeletes; use SoftDeletes;
protected $table = 'prescription'; protected $table = 'prescription';
// 审方状态[0=待开方,1=待审方,2=审方成功]
const PRESCRIPTION_STATUS_PENDING = 0;
const PRESCRIPTION_STATUS_REVIEWING = 1;
const PRESCRIPTION_STATUS_SUCCESS = 2;
// 审方状态-文字映射
const PRESCRIPTION_STATUS_MAP = [
self::PRESCRIPTION_STATUS_PENDING => '待开方',
self::PRESCRIPTION_STATUS_REVIEWING => '待审方',
self::PRESCRIPTION_STATUS_SUCCESS => '审方成功',
];
} }
...@@ -29,6 +29,8 @@ public function up() ...@@ -29,6 +29,8 @@ public function up()
$table->string('password', 80); $table->string('password', 80);
$table->string('name'); $table->string('name');
$table->string('avatar')->nullable(); $table->string('avatar')->nullable();
$table->boolean('is_block')->default(0)->comment('黑名单[0=未开启,1=开启]');
$table->bigInteger('pharmacy_id')->nullable()->unique('uk_pharmacyid')->comment('药店ID');
$table->string('remember_token', 100)->nullable(); $table->string('remember_token', 100)->nullable();
$table->timestamps(); $table->timestamps();
}); });
......
...@@ -19,7 +19,7 @@ public function up() ...@@ -19,7 +19,7 @@ public function up()
$table->string('name')->index('idx_name')->comment('药品名称'); $table->string('name')->index('idx_name')->comment('药品名称');
$table->string('code')->index('idx_code')->comment('简码'); $table->string('code')->index('idx_code')->comment('简码');
$table->string('standard_code')->unique('uk_standardcode')->comment('本位码'); $table->string('standard_code')->unique('uk_standardcode')->comment('本位码');
$table->string('unit')->comment('单位'); $table->integer('unit')->nullable()->comment('单位');
$table->string('spec')->comment('规格'); $table->string('spec')->comment('规格');
$table->string('dosage_form')->comment('剂型'); $table->string('dosage_form')->comment('剂型');
$table->string('factory')->index('idx_factory')->comment('生产厂家'); $table->string('factory')->index('idx_factory')->comment('生产厂家');
......
...@@ -16,8 +16,10 @@ public function up(): void ...@@ -16,8 +16,10 @@ public function up(): void
$table->bigIncrements('id'); $table->bigIncrements('id');
$table->bigInteger('pharmacy_id')->comment('药店ID'); $table->bigInteger('pharmacy_id')->comment('药店ID');
$table->bigInteger('drug_id')->comment('药品池ID'); $table->bigInteger('drug_id')->comment('药品池ID');
$table->bigInteger('dosage_id')->default(0)->comment('用法用量表ID'); $table->integer('unit')->nullable()->comment('单位');
$table->bigInteger('dosage_id')->nullable()->comment('用法用量表ID');
$table->string('batch_no', 64)->nullable()->comment('批次号'); $table->string('batch_no', 64)->nullable()->comment('批次号');
$table->unique(['pharmacy_id', 'drug_id'], 'uk_pharmacyid_drugid');
$table->timestamps(); $table->timestamps();
$table->softDeletes(); $table->softDeletes();
}); });
......
...@@ -4,25 +4,31 @@ ...@@ -4,25 +4,31 @@
use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\Schema;
return new class extends Migration class CreateDrugUnitTable extends Migration
{ {
/** /**
* Run the migrations. * Run the migrations.
*
* @return void
*/ */
public function up(): void public function up()
{ {
Schema::table('admin_users', function (Blueprint $table) { Schema::create('drug_unit', function (Blueprint $table) {
$table->boolean('is_block')->unsigned()->default(false)->comment('黑名单。[0=未开启,1=开启]'); $table->comment('药品单位');
$table->bigIncrements('id');
$table->string('name', 32)->comment('单位');
$table->timestamps();
$table->softDeletes();
}); });
} }
/** /**
* Reverse the migrations. * Reverse the migrations.
*
* @return void
*/ */
public function down(): void public function down()
{ {
Schema::table('admin_users', function (Blueprint $table) { Schema::dropIfExists('drug_unit');
//
});
} }
}; }
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
'fields' => [ 'fields' => [
'dosage_desc' => '用法用量', 'dosage_desc' => '用法用量',
'dosage_show' => '显示内容', 'dosage_show' => '显示内容',
'pharmacy_id' => '药店',
], ],
'options' => [ 'options' => [
], ],
......
<?php
return [
'labels' => [
'DrugUnit' => '药品单位',
'drug-unit' => '药品单位',
],
'fields' => [
'name' => '单位',
],
'options' => [
],
];
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
'drug_id' => '药品池', 'drug_id' => '药品池',
'dosage_id' => '用法用量表', 'dosage_id' => '用法用量表',
'batch_no' => '批次号', 'batch_no' => '批次号',
'unit' => '单位',
'pharmacy_id' => '药店',
], ],
'options' => [ 'options' => [
], ],
......
...@@ -5,26 +5,28 @@ ...@@ -5,26 +5,28 @@
'prescription' => '处方', 'prescription' => '处方',
], ],
'fields' => [ 'fields' => [
'status' => '审方状态', 'status' => '状态',
'patient_name' => '问诊人姓名', 'patient_name' => '姓名',
'patient_age' => '问诊人年龄', 'patient_age' => '年龄',
'patient_gender' => '问诊人性别', 'patient_gender' => '性别',
'diagnosis_id' => '诊断表ID', 'diagnosis_id' => '诊断',
'diagnosis_name' => '诊断', 'diagnosis_name' => '诊断',
'inquiry_info' => '问诊问题', 'inquiry_info' => '问诊问题',
'drug_info' => '用药信息', 'drug_info' => '处方药',
'doctor_id' => '医师表ID', 'doctor_id' => '医师',
'doctor_name' => '医师姓名', 'doctor_name' => '开方医师',
'doctor_online_hospital_name' => '医师互联网医院名称', 'doctor_online_hospital_name' => '医师互联网医院名称',
'doctor_department' => '医师科室', 'doctor_department' => '医师科室',
'doctor_title' => '医师职称', 'doctor_title' => '医师职称',
'doctor_license_no' => '医师执照编号', 'doctor_license_no' => '医师执照编号',
'pharmacy_id' => '药店表ID', 'pharmacy_id' => '药店',
'pharmacy_name' => '药店名称', 'pharmacy_name' => '药店',
'pharmacist_id' => '药师表ID', 'pharmacist_id' => '药师',
'pharmacist_name' => '药师姓名', 'pharmacist_name' => '审方药师',
'pharmacist_license_number' => '药师执照编号', 'pharmacist_license_number' => '药师执照编号',
'prescription_umber' => '处方单编号', 'prescriptio_number' => '处方单编号',
'patient_id' => '问诊人',
'is_voided' => '作废',
], ],
'options' => [ 'options' => [
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment