header('文案标注');
$content->description('列表');
$content->body($this->grid());
});
}
// public function create()
// {
// return Admin::content(function (Content $content) {
// $content->header('视频');
// $content->description('新增');
// $content->body($this->form());
// });
// }
public function edit($id)
{
return Admin::content(function (Content $content) use ($id) {
$content->header('文案标注');
$content->description('列表');
$content->body($this->form($id)->edit($id));
});
}
protected function form($id = '')
{
$data = [
'symptom' => [],
'operation' => [],
'medicine' => [],
'disease' => [],
'inspection' => [],
'test' => [],
'date' => []
];
self::botLabel($id,$data);
return Admin::form(TextLabel::class, function (Form $form) use ($data){
$form->display('id' , '编号');
$form->display('text' , '文案');
$form->embeds('symptom','症状',function ($form) use ($data){
$num = 0;
foreach ($data['symptom'] as $item){
$form->text($num,'terms')->default($item);
$num ++;
}
});
$form->list('add_symptom');
$form->embeds('disease','疾病',function ($form) use ($data){
$num = 0;
foreach ($data['disease'] as $item){
$form->text($num,'terms')->default($item);
$num ++;
}
});
$form->list('add_disease');
$form->embeds('operation','操作',function ($form) use ($data){
$num = 0;
foreach ($data['operation'] as $item){
$form->text($num,'terms')->default($item);
$num ++;
}
});
$form->list('add_operation');
$form->embeds('medicine','药品',function ($form) use ($data){
$num = 0;
foreach ($data['medicine'] as $item){
$form->text($num,'terms')->default($item);
$num ++;
}
});
$form->list('add_medicine');
$form->table('inspection' , '检查',function ($form){
$form->text('terms');
$form->text('tag');
});
$form->table('test' , '检验',function ($form){
$form->text('terms');
$form->text('tag');
});
$form->embeds('date','时间',function ($form) use ($data){
$num = 0;
foreach ($data['date'] as $item){
$form->text($num,'terms')->default($item);
$num ++;
}
});
$form->list('add_date');
$form->disableViewCheck();
$form->disableEditingCheck();
$form->disableCreatingCheck();
$form->submitted(function (Form $form){
$fields = [
'inspection',
'test',
'symptom',
'add_symptom',
'medicine',
'add_medicine',
'operation',
'add_operation',
'disease',
'add_disease',
'date',
'add_date'];
$form->ignore($fields);
});
});
}
protected function botLabel($id,&$data){
$text = TextLabel::query()->where('id',$id)->first(['text as sentence']);
if ($text){
$text = $text->toArray();
}else{
return;
}
$url = 'http://121.36.94.218:10090/disease/ner/predict?'.http_build_query($text);
$result = file_get_contents($url);
$result = json_decode($result,true);
if ($result['code'] == 200){
$botLabel = $result['data'];
if (!empty($botLabel['symptom'])){
$data['symptom'] = array_keys($botLabel['symptom']);
}
if (!empty($botLabel['operation'])){
$data['operation'] = array_keys($botLabel['operation']);
}
if (!empty($botLabel['medicine'])){
$data['medicine'] = array_keys($botLabel['medicine']);
}
if (!empty($botLabel['disease'])){
$data['disease'] = array_keys($botLabel['disease']);
}
if (!empty($botLabel['inspection'])){
$data['inspection'] = array_keys($botLabel['inspection']);
}
if (!empty($botLabel['test'])){
$data['test'] = array_keys($botLabel['test']);
}
if (!empty($botLabel['date'])){
$data['date'] = array_keys($botLabel['date']);
}
}
}
// Grid
protected function grid()
{
return Admin::grid(TextLabel::class, function (Grid $grid) {
$grid->id('编号')->sortable();
$grid->model()->where('status',0)->orderBy('id','desc');
$grid->text('文案');
$grid->status('状态')->display(function ($status){
if(0 == $status) {
return "未标注";
} else {
return "已标注";
}
});
$grid->created_at('创建时间');
$grid->updated_at('更新时间');
$grid->disableCreation();
$grid->disableExport();;
$grid->tools(function ($tools) {
// 禁用批量删除按钮
$tools->batch(function ($batch) {
$batch->disableDelete();
});
$tools->append(new ImportExcel());
});
$grid->actions(function ($actions) {
$actions->disableView();
//$actions->disableEdit();
});
});
}
}