//访问器
protected $appends=["Checkbox",'Btn','Show'];
/**
* 模型访问器添加复选框和删除按钮
* @return string
*/
public function getCheckboxAttribute(){
$id=$this->id;
return "<input type='checkbox' name='' value=''>";
}
public function getBtnAttribute(){
$id=$this->id;
return "<a href='http://www.day.com/index.php/companyDetailShow?id={$id}'><button>查看</button></a>
<a onclick='admin_del($id,this)'><button>删除</button></a>";
}
public function getShowAttribute(){
$id=$this->id;
return "<a title='查看' href='javascript:;' onclick="."admin_edit('查看','http://www.day.com/index.php/companyDetailShow?id={$id}','4','','510')"." class='ml-5' style='text-decoration:none'><i class='Hui-iconfont'></i></a>";
}
//ajax删除
Route::delete('companyDel', [\App\Http\Controllers\CompanyController::class, 'companyDel']);
前端:
$('#table_id_example').DataTable(
{
"aoColumnDefs": [
{"orderable": false, "aTargets": [0,2,3,4,5,6,7,8,9]},// 不参与排序的
],
order:[[1,'desc']],
// 开启分页
paging: true,
// 每页条数
lengthMenu: [ 10, 25, 50, 75, 100 ],
// 开启服务模式
serverSide: true,
searching:false,
// 后端请求
{{--"ajax: "{{url('showData')}}",--}}
ajax:{
url:"{{url('showData')}}",
},
columns: [
{data: 'Checkbox'},
{data: 'id'},
{data: 'company'},
{data: 'code'},
{data: 'c_type'},
{data: 'industry'},
{data: 'level'},
{data: 'city'},
{data: 'updated_at'},
{data: 'Btn'},
{data: 'Show'},
]
}
);
/*管理员-删除*/
function admin_del(id,obj){
layer.confirm('确认要删除吗?',function(index){
$.ajax({
type: 'DELETE',
url: '{{url('companyDel')}}',
dataType: 'json',
data:{
_token:'{{csrf_token()}}',
id:id
},
success: function(data){
$(obj).parents("tr").remove();
layer.msg('已删除!',{icon:1,time:1000});
},
error:function(data) {
console.log(data.msg);
},
});
});
}
/*管理员-编辑*/
function admin_edit(title,url,id,w,h){
layer_show(title,url,w,h);
}
控制器调用:
/**
* @param $id
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\Illuminate\View\View|\think\response\View
* 查看详情页面
*/
public function companyDetailShow(City $city,Request $request){
$id=$request->input('id');
// dd($id);
$value=CompanyModel::companyDetailShow($id);
// dd($data);
if ($request->ajax()) {
$data = $city->where('pid', $request->get('id'))->get();
return $data;
}
// 查询pid为0的省份信息
$city = $city->where('pid', 0)->get();
// dd($data);
$type = TypeModel::showData();
// dd($type);
$level = LevelModel::showData();
return view('index/admin-watch',compact('type', 'level', 'city','value'));
}
/**
* @param Request $request
* @return array
* 异步删除
*/
public function companyDel(Request $request){
$id=$request->input('id');
$data=CompanyModel::companyDel($id);
if ($data) {
return ['msg' => '删除成功', 'code' => 200];
} else {
return ['msg' => '状态不支持', 'code' => 500];
}
}
public static function companyDetailShow($id){
return self::find($id);
}
/**
* @param $id
* @return int
* 根据id删除数据
*/
public static function companyDel($id){
return self::destroy($id);
}
}