repository) $this->repository = $repository;
}
/*
* 搜索页
* */
public function search()
{
$fields = (new CompanyInfoModel())->filterFields;
return view('admin.company.info.search', compact('fields'));
}
/**
* 列表页
*/
function index(Request $request)
{
$search = $request->all();
$order = array();
if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
$order[$request['sort_field']] = $request['sort_field_by'];
} else {
$order['id'] = 'DESC';
}
$list = $this->repository->searchCompany($search, $order);
if ($request->ajax()) {
$view = view('admin.company.info.data', compact('list'))->render();
return response()->json(['html' => $view]);
}
$fields = (new CompanyInfoModel())->filterFields;
return view('admin.company.info.index', compact('list', 'fields'));
}
/***
* 创建公海
* @param Request $request
* @return int
*/
public function add_collection(Request $request)
{
$filter_fields = $request->except('_token');
$data['user_id'] = \Auth::guard('admin')->user()->id;
$data['filter_fields'] = json_encode($filter_fields);
$data['name'] = '我的公海';
UserCompanyCollectionModel::create($data);
return 200;
}
public function collection(Request $request)
{
if ($request->ajax()) {
$search = $request->all();
$order = array();
if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
$order[$request['sort_field']] = $request['sort_field_by'];
} else {
$order['id'] = 'DESC';
}
$list = $this->repository->searchCompany($search, $order);
$view = view('admin.company.collection.data', compact('list'))->render();
return response()->json(['html' => $view]);
}
$user_id = \Auth::guard('admin')->user()->id;
$collection = UserCompanyCollectionModel::where('user_id', $user_id)->first();
if (count($collection)) {
$search = (array)json_decode($collection->filter_fields);
$order = array();
if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
$order[$request['sort_field']] = $request['sort_field_by'];
} else {
$order['id'] = 'DESC';
}
$list = $this->repository->searchCompany($search, $order);
$fields = (new CompanyInfoModel())->filterFields;
return view('admin.company.collection.index', compact('list', 'fields'));
}
}
/**
* 添加
*/
public function create(Request $request)
{
$tmp_file = $_FILES['company_info']['name'];
$file_types = explode(".", $tmp_file);
$file_type = $file_types [count($file_types) - 1];
if (strtolower($file_type) == "xls" || strtolower($file_type) == "xlsx") {
$file = $request->file('company_info');
$path = 'upload/excel';
$filename = $tmp_file;
$file->move($path, $filename);
$filePath = $path . '/' . $filename;
Excel::import(new CompanyInfoImport, ''.$filePath.'','public_file');
// Excel::load($filePath, function ($reader) {
// $data = $reader->toArray();
// $a = [];
// if (empty($data)) {
// die('');
// } else {
// foreach ($data as $k1 => $v1) {
//
// foreach ($v1 as $k2 => $v2) {
// $a[$k1]['year'] = isset($v2['年度'])?$v2['年度']:'';
// $a[$k1]['class'] = isset($v2['科类'])?$v2['科类']:'';
// $a[$k1]['batch'] = isset($v2['批次'])?$v2['批次']:'';
// $a[$k1]['level'] = isset($v2['层次'])?$v2['层次']:'';
// $a[$k1]['type'] = isset($v2['类别'])?$v2['类别']:'';
// $a[$k1]['college'] = isset($v2['院校'])?$v2['院校']:'';
// $a[$k1]['province'] = isset($v2['所在省份'])?$v2['所在省份']:'
// ';
// $a[$k1]['city'] = isset($v2['所在地市'])?$v2['所在地市']:'';
// $a[$k1]['major'] = isset($v2['专业'])?$v2['专业']:'';
// $a[$k1]['comment'] = isset($v2['专业备注'])?$v2['专业备注']:'';
// $a[$k1]['min_grade'] = isset($v2['最低分'])?$v2['最低分']:'';
// $a[$k1]['avg_grade'] = isset($v2['平均分'])?$v2['平均分']:'';
// $a[$k1]['max_grade'] = isset($v2['最高分'])?$v2['最高分']:'';
// $a[$k1]['batch_grade'] = isset($v2['批次线'])?$v2['批次线']:'';
// $a[$k1]['miss_grade'] = isset($v2['线差'])?$v2['线差']:'';
// $a[$k1]['min_rank'] = isset($v2['最低位次'])?$v2['最低位次']:'';
// $a[$k1]['max_rank'] = isset($v2['最高位次'])?$v2['最高位次']:'';
// $a[$k1]['avg_rank'] = isset($v2['平均位次'])?$v2['平均位次']:'';
// $a[$k1]['major_grade'] = $a[$k1]['batch_grade'] + $a[$k1]['miss_grade'];
//
// $a[$k1]['created_at'] = date('Y-m-d H:i:s', time());
// $a[$k1]['updated_at'] = date('Y-m-d H:i:s', time());
//
// $res = $this->repository->create($a[$k1]);
// }
//
// }
// }
//
// if (!$res) {
// die('');
// }
// });
// 读取.xls文件后删除文件
unlink($filePath);
return back()->with('success', '导入专业信息成功');
} else {
return back()->with('error', '不是Excel .xls或者.xlsx文件,请重新上传');
}
}
/**
* 保存修改
*/
private function _createSave()
{
$data = (array)request('data');
$id = $this->repository->create($data);
if ($id) {
$url[] = array('url' => U('Company/Info/index'), 'title' => '返回列表');
$url[] = array('url' => U('Company/Info/create'), 'title' => '继续添加');
$this->showMessage('添加成功', $url);
} else {
$url[] = array('url' => U('Company/Info/index'), 'title' => '返回列表');
return $this->showWarning('添加失败', $url);
}
}
/**
* 修改
*/
public function update(Request $request)
{
if ($request->method() == 'POST') {
return $this->_updateSave();
}
$data = $this->repository->find($request->get('id'));
return view('admin.company.info.edit', compact('data'));
}
/**
* 保存修改
*/
private function _updateSave()
{
$data = (array)request('data');
$ok = $this->repository->update(request('id'), $data);
if ($ok) {
$url[] = array('url' => U('Company/Info/index'), 'title' => '返回列表');
return $this->showMessage('操作成功', urldecode(request('_referer')));
} else {
$url[] = array('url' => U('Company/Info/index'), 'title' => '返回列表');
return $this->showWarning('操作失败', $url);
}
}
public function view(Request $request)
{
$data = $this->repository->find(request('id'));
$contacts = $data->contacts()->orderBy('sort', 'desc')->get();
return view('admin.company.info.view', compact('data', 'contacts'));
}
/**
* 删除
*/
public function destroy(Request $request)
{
$bool = $this->repository->destroy($request->get('id'));
if ($bool) {
return $this->showMessage('操作成功');
} else {
return $this->showWarning("操作失败");
}
}
}