| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | <?phpnamespace app\admin\controller\user;use app\common\controller\Backend;use fast\Tree;/** * 会员规则管理 * * @icon fa fa-circle-o */class Rule extends Backend{    /**     * @var \app\admin\model\UserRule     */    protected $model = null;    protected $rulelist = [];    protected $multiFields = 'ismenu,status';    public function _initialize()    {        parent::_initialize();        $this->model = model('UserRule');        $this->view->assign("statusList", $this->model->getStatusList());        // 必须将结果集转换为数组        $ruleList = collection($this->model->order('weigh', 'desc')->select())->toArray();        foreach ($ruleList as $k => &$v) {            $v['title'] = __($v['title']);            $v['remark'] = __($v['remark']);        }        unset($v);        Tree::instance()->init($ruleList)->icon = ['    ', '    ', '    '];        $this->rulelist = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0), 'title');        $ruledata = [0 => __('None')];        foreach ($this->rulelist as $k => &$v) {            if (!$v['ismenu']) {                continue;            }            $ruledata[$v['id']] = $v['title'];        }        $this->view->assign('ruledata', $ruledata);    }    /**     * 查看     */    public function index()    {        if ($this->request->isAjax()) {            $list = $this->rulelist;            $total = count($this->rulelist);            $result = array("total" => $total, "rows" => $list);            return json($result);        }        return $this->view->fetch();    }    /**     * 添加     */    public function add()    {        if ($this->request->isPost()) {            $this->token();        }        return parent::add();    }    /**     * 编辑     */    public function edit($ids = null)    {        if ($this->request->isPost()) {            $this->token();        }        return parent::edit($ids);    }    /**     * 删除     */    public function del($ids = "")    {        if (!$this->request->isPost()) {            $this->error(__("Invalid parameters"));        }        $ids = $ids ? $ids : $this->request->post("ids");        if ($ids) {            $delIds = [];            foreach (explode(',', $ids) as $k => $v) {                $delIds = array_merge($delIds, Tree::instance()->getChildrenIds($v, true));            }            $delIds = array_unique($delIds);            $count = $this->model->where('id', 'in', $delIds)->delete();            if ($count) {                $this->success();            }        }        $this->error();    }}
 |