123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- <?php
- namespace app\admin\controller;
- use app\admin\AdminBaseController;
- use app\common\model\VoteApplyModel;
- use app\common\model\VoteModel;
- use app\common\service\QrcodeService;
- use app\common\validate\VoteValidate;
- use think\exception\ValidateException;
- class Vote extends AdminBaseController
- {
- /**
- * 列表
- */
- public function index()
- {
- return view('',[
- 'status_list' => VoteModel::STATUS,
- ]);
- }
- public function listVote()
- {
- $map = $this->dealEqualInput(['status']);
- $list = VoteModel::where($map)->limit(input('limit'))->page(input('page'))->append(['status_text'])->select();
- $count = VoteModel::where($map)->count();
- if ($count == 0) {
- ajax_return(1, '未查询到数据');
- }
- list_return($list, $count);
- }
- /**
- * 编辑
- */
- public function voteForm()
- {
- $id = input('id/d, 0');
- $info = VoteModel::find($id);
- return view('', [
- 'info' => $info,
- 'status_list' => VoteModel::STATUS,
- 'option' => empty($info['option']) ? '[]' : json_encode($info['option']),
- ]);
- }
- public function editVote()
- {
- $data = input('post.');
- try {
- validate(VoteValidate::class)->check($data);
- } catch (ValidateException $e) {
- ajax_return(1, $e->getError());
- }
- if (empty($data['id'])) {
- VoteModel::create($data);
- } else {
- VoteModel::update($data, ['id' => $data['id']]);
- }
- ajax_return();
- }
- public function delVote()
- {
- $id = input('id/d');
- $check = VoteApplyModel::where('vote_id', $id)->find();
- if (!empty($check)) {
- ajax_return(1, '已有投票的活动无法删除!');
- }
- VoteModel::destroy($id);
- ajax_return();
- }
- /**
- * 二维码
- */
- public function qrcodeVote()
- {
- $id = input('id/d', 0);
- $file_name = "/vote_{$id}.png";
- $link = url('/mobile/vote/detail') . '?id=' . $id;
- $file_url = QrcodeService::getQrcode($file_name, $link, 600);
- ajax_return(0, '', $file_url);
- }
- /**
- * 查看票数
- */
- public function showNum()
- {
- $id = input('id/d', 0);
- $apply = VoteApplyModel::where('vote_id', $id)->select();
- $res = [];
- foreach ($apply as $v) {
- if (empty($res[$v['option_name']])) {
- $res[$v['option_name']] = 0;
- }
- $res[$v['option_name']]++;
- }
- return view('', [
- 'info' => $res,
- ]);
- }
- /**
- * 投票明细
- */
- public function apply()
- {
- $vote_list = VoteModel::select();
- return view('', [
- 'vote_list' => $vote_list,
- ]);
- }
- public function listApply()
- {
- $map = $this->dealEqualInput(['vote_id']);
- $list = VoteApplyModel::with(['user', 'vote'])->where($map)->limit(input('limit'))->page(input('page'))->select();
- $count = VoteApplyModel::where($map)->count();
- if ($count == 0) {
- ajax_return(1, '未查询到数据');
- }
- list_return($list, $count);
- }
- /**
- * 带活动id的投票明细
- */
- public function applyVote()
- {
- return view('', [
- 'id' => input('id/d', 0),
- ]);
- }
- }
|