201 lines
7.2 KiB
PHP
201 lines
7.2 KiB
PHP
<?php
|
|
|
|
namespace Admin\Controller;
|
|
|
|
use Gy_Library\GyListController;
|
|
use Gy_Library\DBCont;
|
|
|
|
use Qscmf\Builder\FormBuilder;
|
|
use Qscmf\Builder\ListBuilder;
|
|
|
|
use Qscmf\Builder\TSubBuilder;
|
|
|
|
/*
|
|
* 关键词
|
|
*/
|
|
|
|
class NoticeUserController extends GyListController
|
|
{
|
|
use TSubBuilder;
|
|
|
|
public function index()
|
|
{
|
|
$map = [];
|
|
$model = D('NoticeUser');
|
|
$count = $model->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'));
|
|
}
|
|
}
|
|
}
|