<?php
namespace app\rongyu\controller;
use app\common\controller\Base;use app\rongyu\model\DwRongyu as dwry;
class DwRongyu extends Base
{
public function index()
{
$list['count'] = dwry::count();
$list['title'] = '单位荣誉';
$this->assign('list', $list);
return $this->fetch();
}
public function ajaxData()
{
$getdt = request()->param();
$order = $getdt['order'][0]['dir'];
$order_column = $getdt['order'][0]['column'];
$order_field = $getdt['columns'][$order_column]['name'];
if($order_field=='')
{
$order_field = $getdt['columns'][$order_column]['data'];
}
$limit_start = $getdt['start'];
$limit_length = $getdt['length'];
$search = [
'hjschool'=>$getdt['hjschool'],
'fzschool'=>$getdt['fzschool'],
'category'=>$getdt['category'],
'search'=>$getdt['search']['value'],
'order'=>$order,
'order_field'=>$order_field
];
$dwry = new dwry();
$cnt = $dwry->select()->count();
$data = $dwry->search($search);
$datacnt = $data->count();
$data = $data->slice($limit_start,$limit_length);
$data = [
'draw'=> $getdt["draw"] , 'recordsTotal'=>$cnt, 'recordsFiltered'=>$datacnt, 'data'=>$data, ];
return json($data);
}
public function create()
{
$list['title'] = '添加单位荣誉';
$this->assign('list',$list);
return $this->fetch();
}
public function save()
{
$list = request()->only(['id','url','title','teachers','hjschool','category','fzshijian','fzschool','jiangxiang'],'post');
$validate = new \app\rongyu\validate\DwRongyu;
$result = $validate->check($list);
$msg = $validate->getError();
if(!$result){
dwry::destroy($list['id'],true);
return json(['msg'=>$msg,'val'=>0]);
}
$data = dwry::update($list);
if(!empty($list['teachers']))
{
$canyulist = [];
foreach ($list['teachers'] as $key => $value) {
$canyulist[] = [
'teacherid' => $value,
'rongyuid' => $list['id'],
];
}
$data->cyDwry()->saveAll($canyulist);
}
$data ? $data=['msg'=>'添加成功','val'=>1] : $data=['msg'=>'数据处理错误','val'=>0];
return json($data);
}
public function createall()
{
$list['title'] = '添加单位荣誉';
$this->assign('list',$list);
return $this->fetch();
}
public function upload()
{
$file = request()->file('file');
$info = $file->validate(['size'=>2*1024*1024,'ext'=>'jpg,png,gif,jpeg'])->move('uploads\danweirongyu');
if($info){
$list['url'] = $info->getSaveName();
$list['url'] = str_replace('\\','/',$list['url']);
$data = dwry::create(['url'=>$list['url']]);
$id = $data->id;
$id ? $data = array('msg'=>'上传成功','val'=>true,'url'=>$list['url'],'id'=>$id) : $data = array('msg'=>'保存文件信息失败','val'=>false,'url'=>null,'id'=>null);
}else{
$data = array('msg'=>$file->getError(),'val'=>false,'url'=>null);
}
return json($data);
}
public function read($id)
{
}
public function edit($id)
{
$list = dwry::where('id',$id)
->field('id,title,category,hjschool,fzshijian,fzschool,jiangxiang,url')
->with([
'cyDwry'=>function($query){
$query->field('rongyuid,teacherid')
->with(['teacher'=>function($query){
$query->field('id,xingming');
}]);
},
])
->find();
$this->assign('list',$list);
return $this->fetch();
}
public function update($id)
{
$list = request()->only(['title','category','hjschool','fzshijian','fzschool','jiangxiang','teachers'],'put');
$list['id'] = $id;
$validate = new \app\rongyu\validate\DwRongyu;
$result = $validate->check($list);
$msg = $validate->getError();
if(!$result){
return json(['msg'=>$msg,'val'=>0]);;
}
$data = dwry::update($list);
if(!empty($list['teachers']))
{
$data->cyDwry()->delete(true);
$canyulist = [];
foreach ($list['teachers'] as $key => $value) {
$canyulist[] = [
'teacherid' => $value,
'rongyuid' => $list['id'],
];
}
$data->cyDwry()->saveAll($canyulist);
}
$data ? $data=['msg'=>'更新成功','val'=>1] : $data=['msg'=>'数据处理错误','val'=>0];
return json($data);
}
public function delete($id)
{
if($id == 'm')
{
$id = request()->delete('ids/a') }
$data = dwry::destroy($id);
$data ? $data=['msg'=>'删除成功','val'=>1] : $data=['msg'=>'数据处理错误','val'=>0];
return json($data);
}
public function setStatus()
{
$id = request()->post('id');
$value = request()->post('value');
$data = dwry::where('id',$id)->update(['status'=>$value]);
$data ? $data=['msg'=>'状态设置成功','val'=>1] : $data=['msg'=>'数据处理错误','val'=>0];
return json($data);
}
}