getListForCount(); $per_page = C('ADMIN_PER_PAGE_NUM', null, false); if ($per_page === false) { $page = new \Gy_Library\GyPage($count); } else { $page = new \Gy_Library\GyPage($count, $per_page); } $order = 'id desc'; $data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order); foreach ($data_list as &$data) { $data['r_name'] = $model->getRecruitmenName($data['notice_id']); $data['r_name'] = $data['r_name'] ?? '(已删除的圆桌 ' . $data['notice_id'] . ')'; $data['u_name'] = $model->getUserName($data['user_id']); } $builder = new ListBuilder(); $builder = $builder->setMetaTitle('圆桌招募参与人管理'); $builder->addTopButton('addnew'); $builder ->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index') // ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称')) ->addTableColumn('r_name', '圆桌主题') ->addTableColumn('u_name', '参与者') ->addTableColumn('contact_way', '联系方式') ->addTableColumn('topic', '主题') ->addTableColumn('reason', '参与原因') ->addTableColumn('more', '更多信息') ->addTableColumn('right_button', '操作', 'btn') ->setTableDataList($data_list) // 数据列表 ->setTableDataPage($page->show()) // 数据列表分页 ->addRightButton('edit') // 添加编辑按钮 ->addRightButton('delete') // 添加删除按钮 ->display(); } public function add() { if (IS_POST) { parent::autoCheckToken(); $data = I('post.'); $model = D('NoticeUser'); // 判断是否已经参与 $is_exist = $model->where(['user_id' => $data['user_id'], 'notice_id' => $data['notice_id']])->find(); if ($is_exist) { $this->error('该用户已经参与'); } $data['nickname'] = D('User')->where(['id' => $data['user_id']])->getField('nick_name'); $data['contact_way'] = D('User')->where(['id' => $data['user_id']])->getField('telephone'); $r = $model->createAdd($data); if ($r === false) { $this->error($model->getError()); } else { $this->updateNoticeCurPeople($data['notice_id']); $this->success('增加成功', U('index')); } } else { $builder = new FormBuilder(); $builder->setMetaTitle('添加圆桌参与') ->setPostUrl(U('add')) ->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index') ->addFormItem('notice_id', 'select', '圆桌主题', '', D('RecruitmenNotice')->order('id desc')->getField('id, title', true)) ->addFormItem('user_id', 'radio', '参与者', '', D('User')->order('id desc')->getField('id, nick_name', true)) ->addFormItem('topic', 'text', '主题') ->addFormItem('reason', 'textarea', '原因') ->addFormItem('more', 'textarea', '更多') ->display(); } } public function edit($id) { if (IS_POST) { parent::autoCheckToken(); $m_id = I('post.id'); $data = I('post.'); $model = D('NoticeUser'); if (!$m_id) { E('缺少内容ID'); } $ent = $model->getOne($m_id); if (!$ent) { E('不存在内容'); } $ent['user_id'] = $data['user_id']; $ent['notice_id'] = $data['notice_id']; $ent['nickname'] = $data['nickname']; $ent['contact_way'] = $data['contact_way']; $ent['topic'] = $data['topic']; $ent['reason'] = $data['reason']; $ent['more'] = $data['more']; $r = $model->createSave($ent); if ($r === false) { $this->error($model->getError()); } else { $this->success('修改成功', U('index')); } } else { $model = D('NoticeUser'); $info = $model->getOne($id); $builder = new FormBuilder(); $builder->setMetaTitle('修改圆桌参与') ->setPostUrl(U('edit')) ->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index') ->addFormItem('id', 'hidden', 'ID', 'ID') ->addFormItem('notice_id', 'select', '圆桌主题', '', D('RecruitmenNotice')->order('id desc')->getField('id, title', true)) ->addFormItem('user_id', 'radio', '参与者', '', D('User')->order('id desc')->getField('id, nick_name', true)) ->addFormItem('nickname', 'text', '用户名') ->addFormItem('contact_way', 'text', '联系方式') ->addFormItem('topic', 'text', '主题') ->addFormItem('reason', 'textarea', '原因') ->addFormItem('more', 'textarea', '更多') ->setFormData($info) ->display(); } } public function updateNoticeCurPeople($notice_id) { $model = D('RecruitmenNotice'); $info = $model->getOne($notice_id); $info['cur_people'] = D('NoticeUser')->where(['notice_id' => $notice_id])->count(); $model->createSave($info); } public function forbid() { $ids = I('ids'); if (!$ids) { $this->error('请选择要禁用的数据'); } $r = parent::_forbid($ids); if ($r !== false) { // sysLogs('新闻分类id: ' . $ids . ' 禁用'); $this->success('禁用成功', U(CONTROLLER_NAME . '/index')); } else { $this->error($this->_getError()); } } public function resume() { $ids = I('ids'); if (!$ids) { $this->error('请选择要启用的数据'); } $r = parent::_resume($ids); if ($r !== false) { $this->success('启用成功', U(CONTROLLER_NAME . '/index')); } else { $this->error($this->_getError()); } } public function delete() { $ids = I('ids'); if (!$ids) { $this->error('请选择要删除的数据'); } $r = parent::_del($ids); if ($r === false) { $this->error($this->_getError()); } else { $this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index')); } } }