NoRecycleController.php 7.3 KB
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/10/30
 * Time: 16:47
 */

namespace app\admin\controller;


use cmf\controller\AdminBaseController;
use think\Db;
use think\Validate;


class NoRecycleController extends AdminBaseController
{
    public function index()
    {
        $where['delete_time'] = ['eq',0];
        $param = $this->request->param();
        $keyword = empty($param['keyword']) ? '' : $param['keyword'];
        if (!empty($keyword)) {
            $where['recycle_name'] = ['like', "%$keyword%"];
        }
        $data = Db::name('norecycletype')
            ->where($where)
            ->order('id desc')
            ->paginate(10);
        $list=$data->items();
        $this->assign([
            'keyword'=>$keyword,
            'data'=>$list,
            'page'=>$data->render(),
        ]);
        return $this->fetch();
    }
    //添加
    public function add()
    {
        if($this->request->isPost()){
            $param=$this->request->param();
            $param['create_time']=time();
            $validate = new Validate([
                'recycle_name'=>'require',
                'thumbnail'=>'require',
            ]);
            $validate->message([
                'recycle_name'=>'类型名称不能为空',
                'thumbnail'=>'请上传缩略图',
            ]);
            if (!$validate->check($param)) {
                $this->error($validate->getError());
            }

            Db::name('norecycletype')
                ->insert($param);
            $this->success('添加成功!','index');

        }else{
            return $this->fetch();
        }
    }
    //编辑
    public function edit(){
        $id=$this->request->param('id', 0, 'intval');
        if($this->request->isPost()){
            $param=$this->request->param();
            $validate = new Validate([
                'recycle_name'=>'require',
                'thumbnail'=>'require',
            ]);
            $validate->message([
                'recycle_name'=>'类型名称不能为空',
                'thumbnail'=>'请上传缩略图',
            ]);
            if (!$validate->check($param)) {
                $this->error($validate->getError());
            }
            $param['update_time'] = time();
            $data = Db::name('norecycletype')
                ->where('id',$id)
                ->update($param);
            if($data){
                $this->success('更新成功!','');
            }else{
                $this->error('sql执行错误');
            }

        }else{
            $data=Db::name('norecycletype')
                ->where('id',$id)
                ->find();
            $keyword = $this->request->param('keyword');
            $this->assign('keyword', isset($keyword) ? $keyword : '');
            $this->assign([
                'data'=>$data,
            ]);
            return $this->fetch();
        }
    }
    //删除
    public function delete(){
        $param = $this->request->param();
        if (isset($param['id'])) {
            $id = $this->request->param('id', 0, 'intval');
            $data = Db::name('norecyclegoods')->where('recycletype_id',$id)->field('id')->select()->toArray();
            if(!empty($data)){
                $this->error('该类型下有物品,暂时不能删除');
            }else{
                $resultPortal = Db::name('norecycletype')
                    ->where(['id' => $id])
                    ->update(['delete_time' => time()]);
                if($resultPortal){
                    $this->success("删除成功", '');
                }else{
                    $this->error("删除失败", '');
                }
            }
        }
    }


    //添加不可回收物
    public function addgoods(){
        if($this->request->isPost()){
            $param=$this->request->param();
            $validate = new Validate([
                'name'=>'require',
                'thumbnail'=>'require',
            ]);
            $validate->message([
                'name'=>'回收物品名称不能为空',
                'thumbnail'=>'请上传缩略图',
            ]);
            if (!$validate->check($param)) {
                $this->error($validate->getError());
            }

            Db::name('norecyclegoods')
                ->insert($param);
//            $this->redirect("Recycle/showgoods",array("id"=>$param['recycletype_id']));
            $this->success('添加成功','index');
        }else{
            $id = $this->request->param('id');
            $keyword = $this->request->param('keyword');
            $this->assign('keyword', isset($keyword) ? $keyword : '');
            $this->assign('data',$id);
            return $this->fetch();
        }
    }
    //查看不可回收物
    public function showgoods(){
        $id=$this->request->param('id', 0, 'intval');
        $keyword = $this->request->param('keyword');
        $data = Db::name('norecyclegoods')
            ->alias('g')
            ->join('norecycletype t','g.recycletype_id = t.id')
            ->field('g.*,t.recycle_name')
            ->where('g.recycletype_id',$id)
            ->order('g.id desc')
            ->paginate(10);
        $list=$data->items();
        $this->assign('keyword', isset($keyword) ? $keyword : '');
        $this->assign([
            'data'=>$list,
            'page'=>$data->render(),
        ]);
        return $this->fetch();
    }
    //编辑不可回收物
    public function editgoods(){
        $id=$this->request->param('id', 0, 'intval');
        if($this->request->isPost()){
            $param=$this->request->param();
            $validate = new Validate([
                'name'=>'require',
                'thumbnail'=>'require',
            ]);
            $validate->message([
                'name'=>'回收物名称不能为空',
                'thumbnail'=>'请上传缩略图',
            ]);
            if (!$validate->check($param)) {
                $this->error($validate->getError());
            }
            $data = Db::name('norecyclegoods')
                ->where('id',$id)
                ->update($param);
            if($data){
                $this->success('更新成功!');
            }else{
                $this->error('sql执行错误');
            }

        }else{
            $data=Db::name('norecyclegoods')
                ->where('id',$id)
                ->find();
            $this->assign([
                'data'=>$data,
            ]);
            return $this->fetch();
        }
    }
    //删除不可回收物
    public function deletegoods(){
        $param = $this->request->param();
        if (isset($param['id'])) {
            $id = $this->request->param('id', 0, 'intval');
            $resultPortal = Db::name('norecyclegoods')
                ->where(['id' => $id])
                ->delete();
            if($resultPortal){
                $this->success("删除成功", '');
            }else{
                $this->error("删除失败", '');
            }
        }

        if (isset($param['ids'])) {
            $ids = $this->request->param('ids/a');
            $result = Db::name('norecyclegoods')
                ->where(['id' => ['in', $ids]])
                ->delete();
            if ($result) {
                $this->success("删除成功", '');
            }else{
                $this->error("删除失败", '');
            }
        }
    }
}