123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- <?php
- namespace Task\Src;
- use Dever;
- use Task\Lib\Base;
- class Report extends Base
- {
- /**
- * 报告列表:我的
- *
- * @return mixed
- */
- public function all()
- {
- $where['uid'] = $this->data['uid'];
- $where['task_id'] = Dever::input('id');
- $data = Dever::db('task/user_report')->getAll($where);
- if ($data) {
- foreach ($data as $k => $v) {
- $this->getOne($data[$k]);
- }
- }
- return $data;
- }
- /**
- * 报告详情
- *
- * @return mixed
- */
- public function one()
- {
- $id = Dever::input('id');
- $info = array();
- if ($id > 0) {
- $info = Dever::db('task/user_report')->one($id);
- $this->getOne($info);
- }
-
- return $info;
- }
- /**
- * 提交报告
- *
- * @return mixed
- */
- public function submit()
- {
- $info = Dever::load('task/info.one');
- if (isset($info['button']) && is_array($info['button']) && isset($info['button']['status']) && $info['button']['status'] > 0) {
- if ($info['button']['status'] == 5) {
- # 可以提交
- return $this->submit_action($info);
- } else {
- Dever::alert(strip_tags($info['button']['desc']));
- }
- } else {
- Dever::alert('提交失败');
- }
- }
- /**
- * 立刻提交
- *
- * @return mixed
- */
- private function submit_action($info)
- {
- $username = Dever::input('username');
- $pic = Dever::input('pic');
- $link = Dever::input('link');
- $desc = Dever::input('desc');
- $id = Dever::input('id');
- $refresh = array('element' => '#dever_report_submit', 'attr' => 'dever-refresh', 'value' => $info['report']['submit']);
- if (strstr($info['report_demand'], 'username') && !$username) {
- Dever::alert('账号名不能为空', $refresh);
- }
- if (strstr($info['report_demand'], 'pic') &&!$pic) {
- Dever::alert('任务截屏不能为空', $refresh);
- }
- if (strstr($info['report_demand'], 'link') &&!$link) {
- Dever::alert('链接不能为空', $refresh);
- }
- if (strstr($info['report_demand'], 'desc') &&!$desc) {
- Dever::alert('文字说明不能为空', $refresh);
- }
- $report_id = Dever::input('report_id');
- if ($report_id && is_numeric($report_id) && $report_id > 0) {
- $update['username'] = $username;
- $update['pic'] = $pic;
- $update['link'] = $link;
- $update['desc'] = $desc;
- $update['score'] = $info['score'];
- $update['group_score'] = $info['group_score'];
- $update['where_id'] = $report_id;
- Dever::db('task/user_report')->update($update);
- $info['user_report'] = $report_id;
- return '提交成功,请等待管理员审核';
- } else {
- # 验证$info['report_num'] 和 $info['report_user_num']
- $where['task_id'] = $info['id'];
- $total = Dever::db('task/user_report')->getTotal($where);
- if ($total >= $info['report_num']) {
- Dever::alert('已经超过报告数量上限', array('url' => Dever::url('task/view?id=' . $info['id'], 'main')));
- }
- $where['uid'] = $this->data['uid'];
- $total = Dever::db('task/user_report')->getTotal($where);
- if ($total >= $info['report_user_num']) {
- Dever::alert('已经超过人均报告数量上限', array('url' => Dever::url('task/view?id=' . $info['id'], 'main')));
- }
- $insert['uid'] = $this->data['uid'];
- $insert['task_id'] = $info['id'];
- $insert['username'] = $username;
- $insert['pic'] = $pic;
- $insert['link'] = $link;
- $insert['desc'] = $desc;
- $insert['score'] = $info['score'];
- $insert['group_score'] = $info['group_score'];
- $insert['status'] = 1;
- $info['user_report'] = Dever::db('task/user_report')->insert($insert);
- return '提交成功,请等待管理员审核';
- }
- Dever::alert('提交失败');
- }
- /**
- * 任务详情信息
- *
- * @return mixed
- */
- private function getOne(& $data)
- {
- # 审核文字
- if ($data['status'] == 1) {
- $url = Dever::url('task/submit?id=' . $data['task_id'] . '&report_id=' . $data['id'], 'main');
- $data['audit'] = '<a href="#" class="mini-button disable">待审核</a>';
- $data['audit_desc'] = '<a href="'.$url.'" class="button">修改</a>';
- $data['audit_icon'] = 'btns';
- } elseif ($data['status'] == 2) {
- $data['audit'] = '<a href="#" class="mini-button mb-success">已通过</a>';
- $data['audit_desc'] = '获得' . $this->data['config']['score_name'] . ':' . $data['score'] . $this->data['config']['score_name_ext'];
- if ($data['score_status'] == 1) {
- $data['audit_desc'] .= '(未入账)';
- } else {
- $data['audit_desc'] .= '(已入账)';
- }
- $data['audit_icon'] = 'tk-ft-success';
- } elseif ($data['status'] == 3) {
- $data['audit'] = '<a href="#" class="mini-button mb-error">未通过</a>';
- $data['audit_desc'] = $data['status_desc'];
- $data['audit_icon'] = 'tk-ft-error';
- }
- $img = explode(',', $data['pic']);
- if ($img) {
- foreach ($img as $k => $v) {
- $data['img'][$k]['url'] = $v;
- }
- }
- $data['name'] = '账号:' . $data['username'] . $data['audit'];
- }
- }
|