AdminUnitController.php 4.3 KB
<?php
/**
 * 相关单位
 * Author : xiaojie
 * DateTime: 2018/12/03 13:24
 */
namespace app\portal\controller;

use app\portal\model\ShowModel;
use app\portal\model\PortalCategoryModel;
use cmf\controller\AdminBaseController;

/**
 * Class AdminUnitController
 * @package app\portal\controller
 * @adminMenuRoot(
 *     'name'   =>'相关单位',
 *     'action' =>'default',
 *     'parent' =>'',
 *     'display'=> true,
 *     'order'  => 30,
 *     'icon'   =>'th',
 *     'remark' =>'相关单位'
 * )
 */

class AdminUnitController extends AdminBaseController
{

    /**
     * 相关单位
     * @adminMenu(
     *     'name'   => '相关单位',
     *     'parent' => 'portal/AdminUnit/default',
     *     'display'=> true,
     *     'hasView'=> true,
     *     'order'  => 10000,
     *     'icon'   => '',
     *     'remark' => '相关单位',
     *     'param'  => ''
     * )
     */
    public function index()
    {
        $cate_id = [47,48,49,50];
        $param = $this->request->param();
        $map = $this->search($param,'s.create_time','s.title','s.cate_id');
        if(!isset($map['s.cate_id'])){
            $map['s.cate_id'] = ['in',$cate_id];
        }
        $showModel = new ShowModel();
        $cateModel = new PortalCategoryModel();
        $list = $showModel
            ->alias('s')
            ->field('s.*,c.name as cate_name')
            ->join('portal_category c','c.id = s.cate_id')
            ->where($map)
            ->paginate(30);
        $cate_list = $cateModel
            ->field('id,name')
            ->where('id','in',$cate_id)
            ->select();

        $this->assign('cate_list',$cate_list);
        $this->assign('list',$list);
        $this->assign('page',$list->render());
        return $this->fetch();
    }

    /**
     * 添加相关单位
     * @adminMenu(
     *     'name'   => '添加相关单位',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> true,
     *     'order'  => 10000,
     *     'icon'   => '',
     *     'remark' => '添加新闻',
     *     'param'  => ''
     * )
     */
    public function add()
    {
        if($this->request->isPost()){
            $showModel = new ShowModel();
            $param = $this->request->param();
            $res = $showModel->save($param);
            if($res){
                $this->success('添加成功');
            }
        }else{
            $cate_id = [47,48,49,50];
            $cateModel = new PortalCategoryModel();
            $cate_list = $cateModel
                ->field('id,name')
                ->where('id','in',$cate_id)
                ->select();

            $this->assign('cate_list',$cate_list);
            return $this->fetch();
        }
    }

    /**
     * 编辑相关单位
     * @adminMenu(
     *     'name'   => '编辑相关单位',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> true,
     *     'order'  => 10000,
     *     'icon'   => '',
     *     'remark' => '编辑相关单位',
     *     'param'  => ''
     * )
     */
    public function edit()
    {
        $showModel = new ShowModel();
        $id = $this->request->param('id','','intval');
        if($this->request->isPost()){
            $param = $this->request->param();
            $res = $showModel->isUpdate(true)->save($param);
            if($res){
                $this->success('更新成功');
            }
        }else{
            $cate_id = [47,48,49,50];
            $info = $showModel->where('id',$id)->find();
            $cateModel = new PortalCategoryModel();
            $cate_list = $cateModel
                ->field('id,name')
                ->where('id','in',$cate_id)
                ->select();

            $this->assign('cate_list',$cate_list);
            $this->assign('info',$info);
            return $this->fetch();
        }
    }

    /**
     * 删除
     * @adminMenu(
     *     'name'   => '删除',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> true,
     *     'order'  => 10000,
     *     'icon'   => '',
     *     'remark' => '删除',
     *     'param'  => ''
     * )
     */
    public function delete()
    {
        $showModel = new ShowModel();
        $res = $this->del($showModel);
        if($res){
            $this->success('删除成功');
        }
        $this->error('请稍后重试');
    }

}