QuestionController.php 5.4 KB
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/3/4
 * Time: 10:13
 */

namespace app\admin\controller;


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

class QuestionController extends AdminBaseController
{
    public function index(){
        $where=[];
        $param = $this->request->param();
        $startTime = empty($param['start_time']) ? 0 : strtotime($param['start_time']);
        $endTime   = empty($param['end_time']) ? 0 : strtotime($param['end_time']);
        if (!empty($startTime) && !empty($endTime)) {
            $where['q.create_time'] = [['>= time', $startTime], ['<= time', $endTime]];
        } else {
            if (!empty($startTime)) {
                $where['q.create_time'] = ['>= time', $startTime];
            }
            if (!empty($endTime)) {
                $where['q.create_time'] = ['<= time', $endTime];
            }
        }
        $keyword = empty($param['keyword']) ? '' : $param['keyword'];
        if (!empty($keyword)) {
            $where['u.nickname'] = ['like', "%$keyword%"];
        }
        $status = empty($param['status']) ? '' : $param['status'];
        if (!empty($status)) {
            $where['q.status'] = ['eq', "$status"];
        }
        $data=Db::name('question')
            ->alias('q')
            ->field('q.*,u.user_nickname')
            ->join('cmf_user u','u.id = q.user_id')
            ->where('q.delete_time',0)
            ->where($where)
            ->order('q.create_time desc')
            ->paginate(10);
        $data->appends($param);
        $list=$data->items();
        $this->assign([
            'data'=>$list,
            'page'=>$data->render(),
            'start_time'=>isset($param['start_time']) ? $param['start_time'] : '',
            'end_time'=>isset($param['end_time']) ? $param['end_time'] : '',
            'keyword'=>isset($param['keyword']) ? $param['keyword'] : '',
        ]);
        return $this->fetch();
    }
    public function edit(){
        $id=$this->request->param('id', 0, 'intval');
        if($this->request->isPost()){
            $param=$this->request->param();
            $validate = new Validate([
                'name' => 'require',
                'sex' => 'require',
                'birthday' => 'require',
                'area' => 'require',
                'family_num' => 'require',
                'occupation' => 'require',
                'smoke_drink' => 'require',
                'going' => 'require',
                'social' => 'require',
                'year_income' => 'require',
                'personage_year_income' => 'require',
                'liabilities' => 'require',
                'not_return' => 'require',
                'family_disease' => 'require',
                'safeguard' => 'require',
                'phone' => 'require',
            ]);
            $validate->message([
                'name' => '姓名不能为空!',
                'sex' => '请选择性别!',
                'birthday' => '年龄不能为空!',
                'area' => '所在地不能为空!',
                'family_num' => '请选择家庭结构!',
                'occupation' => '请选择职业!',
                'smoke_drink' => '请选择有误吸烟酗酒史!',
                'going' => '请选择出行方式!',
                'social' => '请选择有无社保!',
                'year_income' => '请选择家庭年收入!',
                'personage_year_income' => '请选择个人年收入!',
                'liabilities' => '请选择有无负债!',
                'not_return' => '请选择大约未还负债!',
                'family_disease' => '请选择有无家族病史!',
                'safeguard' => '请选择更关心的保障!',
                'phone' => '手机号不能为空!',
            ]);
            if (!$validate->check($param)) {
                $this->error($validate->getError());
            }
            $param['safeguard'] = implode(',',$param['safeguard']);
            Db::name('question')
                ->where('id',$id)
                ->update($param);
            $this->success('更新成功!');
        }else{
            $data=Db::name('question')
                ->alias('q')
                ->field('q.*,u.user_nickname')
                ->join('cmf_user u','u.id = q.user_id')
                ->where('q.id',$id)
                ->find();
            $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');
            $resultPortal = Db::name('question')
                ->where(['id' => $id])
                ->update(['delete_time' => time()]);
            if($resultPortal){
                $this->success("删除成功!", '');
            }else{
                $this->error("删除失败!", '');
            }

        }

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