Commit 6985b8b4 by lujunyi

药品标签

parent df03af20
......@@ -4,6 +4,7 @@
use App\Admin\Repositories\DrugRepository;
use App\Models\DrugModel;
use App\Models\DrugTagModel;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController;
......@@ -97,7 +98,7 @@ protected function detail($id)
*/
protected function form()
{
return Form::make(new DrugRepository(), function (Form $form) {
return Form::make(new DrugRepository('tag'), function (Form $form) {
$form->display('id')->width(4);
$form->text('name')->width(4)->required();
$form->hidden('code')->width(4)->required();
......@@ -110,8 +111,14 @@ protected function form()
$limitOption = array_combine($array, $array);
$form->select('limit_buy_7')->placeholder('请选择限购数量')->width(4)->options($limitOption)->help('限购数量');
$form->switch('is_rx')->width(4);
$form->text('tag')->width(4);
$form->text('standard_code')->width(4);
$form->text('standard_code')->width(4)->required();
$form->multipleSelect('tag', '标签')
->options(function () {
return DrugTagModel::all()->pluck('tag_name', 'id');
})
->customFormat(function ($v) {
return array_column($v, 'id');
})->width(4);
$form->display('created_at')->width(4);
$form->display('updated_at')->width(4);
......
......@@ -77,7 +77,7 @@ protected function form()
})
->customFormat(function ($v) {
return array_column($v, 'id');
});
})->width(4);
$form->display('created_at')->width(4);
$form->display('updated_at')->width(4);
......
<?php
namespace App\Admin\Repositories;
use App\Models\DrugRelatedTagModel as Model;
use Dcat\Admin\Repositories\EloquentRepository;
class DrugRelatedTagRepository extends EloquentRepository
{
/**
* Model.
*
* @var string
*/
protected $eloquentClass = Model::class;
}
......@@ -31,4 +31,14 @@ public function setCodeAttribute($value)
$abbr = $pinyin->abbr($this->name)->join(''); // 获取拼音首字母
$this->attributes['code'] = strtoupper($abbr);
}
// 药品标签关联问诊问题,多对多
public function tag()
{
$relatedModel = DrugTagModel::class; // 药品要关联的标签模型类名
$pivotTable = 'drug_related_tag'; // 药品和标签关联中间表
return $this->belongsToMany($relatedModel, $pivotTable, 'drug_id', 'tag_id')->withTimestamps();
}
}
<?php
namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;
class DrugRelatedTagModel extends Model
{
use HasDateTimeFormatter;
protected $table = 'drug_related_tag';
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('drug_related_tag', function (Blueprint $table) {
$table->comment('药品和标签关联表');
$table->bigIncrements('id');
$table->bigInteger('drug_id')->comment('药品ID');
$table->bigInteger('tag_id')->comment('标签ID');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('drug_related_tag');
}
};
<?php
return [
'labels' => [
'DrugRelatedTag' => '药品关联标签',
'drug-related-tag' => '药品关联标签',
],
'fields' => [
'drug_id' => '药品ID',
'tag_id' => '标签ID',
],
'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