AdminStandController.php 4.6 KB
<?php
/**
 * 展位预登记(参展登记)
 * Author : xiaojie
 * DateTime: 2018/11/30 13:28
 */
namespace app\portal\controller;

use app\portal\model\StandModel;
use cmf\controller\AdminBaseController;

/**
 * Class AdminStandController
 * @package app\portal\controller
 * @adminMenuRoot(
 *     'name'   =>'参展登记',
 *     'action' =>'default',
 *     'parent' =>'',
 *     'display'=> true,
 *     'order'  => 30,
 *     'icon'   =>'th',
 *     'remark' =>'参展登记'
 * )
 */

class AdminStandController extends AdminBaseController
{
    protected $area_list = [
        1 => '机床展区',
        2 => '机器人展区',
        3 => '汽车装备展区',
        4 => '激光加工展区',
        5 => '智能制造展区',
        6 => '工业装配及自动化展区',
        7 => '零部件展区',
        8 => '其他',
    ];

    /**
     * 参展登记
     * @adminMenu(
     *     'name'   => '参展登记',
     *     'parent' => 'portal/AdminStand/default',
     *     'display'=> true,
     *     'hasView'=> true,
     *     'order'  => 10000,
     *     'icon'   => '',
     *     'remark' => '参展登记',
     *     'param'  => ''
     * )
     */
    public function index()
    {
        $param = $this->request->param();
        $map = $this->search($param,'create_time','name|mobile|enterprise_name');
        $standModel = new StandModel();
        $list = $standModel
            ->where($map)
            ->order('id DESC')
            ->paginate(30);

        $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 edit()
    {
        $standModel = new StandModel();
        $id = $this->request->param('id','','intval');
        $info = $standModel->where('id',$id)->find();

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

    /**
     * 编辑参展登记提交
     * @adminMenu(
     *     'name'   => '编辑参展登记提交',
     *     'parent' => 'index',
     *     'display'=> false,
     *     'hasView'=> false,
     *     'order'  => 10000,
     *     'icon'   => '',
     *     'remark' => '编辑参展登记提交',
     *     'param'  => ''
     * )
     */
    public function editPost()
    {
        $standModel = new StandModel();
        $param = $this->request->param();
        if(!in_array(2,$param['booth'])){
            $param['booth_data'][1] = '';
        }else{
            if(empty($param['booth_data'][1])){
                $this->error('请填写标准展位个数');
            }
        }
        if(!in_array(3,$param['booth'])){
            $param['booth_data'][2] = '';
        }else{
            if(empty($param['booth_data'][2])){
                $this->error('请填写空地所占平米数');
            }
        }
        if(!in_array(8,$param['area'])){
            $param['area_data'] = '';
        }else{
            if(empty($param['area_data'])){
                $this->error('请填写其他的具体内容');
            }
        }
        $res = $standModel->isUpdate(true)->save($param);
        if($res){
            $this->success('保存成功');
        }
        $this->error('请稍后重试');
    }

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

    /**
     * 参展登记导出
     */
    public function export()
    {
        $standModel = new StandModel();
        $data = $standModel
            ->field('name,mobile,enterprise_name,application,create_time')
            ->select()->each(function ($item){
                $item['create_time'] = date('Y-m-d',$item['create_time']);
            })->toArray();
        $this->exportExcel(array('联系人','手机号','企业名称','应用行业','申请时间'), $data, '参展登记', './', true);
    }

}