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));
});
}
public function form($id = '')
{
return Admin::form(Relationship::class, function (Form $form) {
$form->display('id' , '序号');
$form->select('from_label' , '标签')->options(Relationship::labels())->required();
$form->text('from_name' , '属性名')->required();
$form->select('to_label' , '关联标签')->options(Relationship::labels())->required();
$form->text('to_name' , '关联属性名')->required();
$form->select('relationship' , '关系名称')->options(Relationship::relationships())->required();
$form->saving(function(Form $form) {
if(Relationship::checkIsadd($form->from_name , $form->to_name)) {
$error = new MessageBag([
'title' => '错误提示',
'message' => '已建立关联关系,不可重复建立!',
]);
return back()->with(compact('error'));
} else {
$form->saved(function (Form $form) {
$query = "match (n:".$form->from_label."{name:"."'".$form->from_name."'"."}),"."(m:".$form->to_label."{name:"."'".$form->to_name."'"."})".
"CREATE (n)-[r:".$form->relationship."]->(m) RETURN r";
$result = file_get_contents("https://zskweb.jiankangche.cn/neo4j/setNode?tag=xy&query=$query");
if("{}" == $result) {
Relationship::setStatus($form->id , Relationship::success);
} else {
Relationship::setStatus($form->id , Relationship::failure);
}
});
}
});
});
}
// Grid
protected function grid()
{
return Admin::grid(Relationship::class, function (Grid $grid) {
$grid->id('编号')->sortable();
$grid->model()->orderBy('id','desc');
$grid->from_label('标签');
$grid->from_name('标签属性名称');
$grid->to_label('标签');
$grid->to_name('标签属性名称');
$grid->relationship('关系名称');
$grid->status('状态')->display(function($status) {
return $status == Relationship::success ? "成功" : "失败";
});
$grid->tag('分类');
$grid->created_at('创建时间');
$grid->updated_at('更新时间');
// 禁用导出数据按钮
$grid->actions(function ($actions) {
$actions->disableView();
//$actions->disableEdit();
});
$grid->filter(function($filter){
// 去掉默认的id过滤器
$filter->disableIdFilter();
// 在这里添加字段过滤器
$filter->equal('relationship', '关系')->select(Relationship::relationships());
$filter->equal('tag' , '分类')->select((new Relationship)->tag);
$filter->equal('status' , '状态')->select((new Relationship)->status);
});
});
}
}