<?php
namespace app\admin\controller;

use think\App;
use think\Db;

class HouseFee extends Auth
{

    public function __construct(App $app = null) {
        parent::__construct($app);
        $this->model= new \app\common\model\HouseFee();
        $this->table=$this->model->table;

    }
    /**
     * 科室管理页
     */
    public function index(){

        $list =  $this->model->getTree(cur_org_id());
        $this->assign('tree',$list);
        return $this->fetch();
    }

    /**
     * 新增/编辑
     */
    public function add($id=0,$pid=0){
        if(request()->isPost()){
            $res = $this->model->updates();
            if($res){
                $this->success('操作成功',url('index'));
            }else{
                $this->error($this->model->getError());
            }
        }else{
            if($id){
                $info =db($this->table)->where('id',$id)->find();
                $this->assign('info',$info);
            }
            $this->assign('type',[
                [
                   'id'=>1,
                   'title'=>'房屋'
                ],
                [
                    'id'=>2,
                    'title'=>'储藏室'
                ],[
                    'id'=>3,
                    'title'=>'停车位'
                ]
            ]);
            $pInfo = [];
            if($pid >0){
                $pInfo = Db::name('house_fee')
                    ->where('id',$pid)
                    ->find();
            }
            $this->assign('pid',$pid);
            $this->assign('pInfo',$pInfo);
            return $this->fetch();
        }
    }

    /**
     * 删除记录
     * @param int $id
     */
    public function del($id=0){
        if(!$id){
            $this->error('参数错误');
        }
        $info = db($this->table)->where('id',$id)->where('del',0)->find();
        if(!$info)  $this->error('科目不存在');
        if($info['parent_id']==0){
            $child  =  db($this->table)->where('parent_id',$id)
                     ->where('del',0)->find();
            if($child) $this->error('请先删除子科目');
        }
        $res = db($this->table)->where('id',$id)->setField('del',1);
        if($res){
            $this->success('删除成功');
        }else{
            $this->error('删除失败');
        }
    }

    /**
     * 改变字段值
     * @param int $fv
     * @param string $fn
     * @param int $fv
     */
    public function changeField($id=0,$fn='',$fv=0){
        if(!$fn||!$id){
            $this->error('参数错误');
        }
        $res = db($this->table)->where('id',$id)->setField($fn,$fv);
        if($res){
            $this->success('操作成功');
        }else{
            $this->error('操作失败');
        }
    }


}