作者 开飞机的舒克

后台修改

1 <?php 1 <?php
2 2
3 return [ 3 return [
  4 + 'Campus_id' => '所属校区',
  5 + 'Ronda_id' => '场次',
4 'Title' => '名称', 6 'Title' => '名称',
5 'Radar_id' => '所属维度', 7 'Radar_id' => '所属维度',
6 'User_id' => '所属老师', 8 'User_id' => '所属老师',
  9 + 'Details' => '详情',
7 'Score' => '积分', 10 'Score' => '积分',
8 'Createtime' => '创建时间', 11 'Createtime' => '创建时间',
9 - 'Updatetime' => '更新时间' 12 + 'Updatetime' => '更新时间',
  13 + 'User.username' => '用户名',
  14 + 'User.teach_phone' => '老师手机号',
  15 + 'Ronda.title' => '场次名称',
  16 + 'Radar.title' => '维度名称',
  17 + 'Campus.title' => '校区名称'
10 ]; 18 ];
@@ -25,7 +25,7 @@ class Team extends Model @@ -25,7 +25,7 @@ class Team extends Model
25 25
26 // 追加属性 26 // 追加属性
27 protected $append = [ 27 protected $append = [
28 - 28 + 'rank_text'
29 ]; 29 ];
30 30
31 31
@@ -37,6 +37,17 @@ class Team extends Model @@ -37,6 +37,17 @@ class Team extends Model
37 }); 37 });
38 } 38 }
39 39
  40 + public function getRankTextAttr($value,$data){
  41 + $list = $this->order('score','desc')->column('id');
  42 + $value = 0;
  43 + foreach ($list as $k => $v){
  44 + if ($data['id'] == $v){
  45 + $value = $k+1;
  46 + break;
  47 + }
  48 + }
  49 + return $value;
  50 + }
40 51
41 52
42 53
@@ -95,23 +95,19 @@ class Activity extends Api @@ -95,23 +95,19 @@ class Activity extends Api
95 */ 95 */
96 public function getItemRonda() 96 public function getItemRonda()
97 { 97 {
98 - $row = $this->request->param('row');  
99 - $page = $this->request->param('page');  
100 - $row = $row ? $row : 10;  
101 - $page = $page ? $page : 1;  
102 $id = $this->request->param('id'); 98 $id = $this->request->param('id');
103 if (empty($id)) { 99 if (empty($id)) {
104 $this->error('参数错误', ['status' => 2]); 100 $this->error('参数错误', ['status' => 2]);
105 } 101 }
106 - $data = db('item_ronda_rel')  
107 - ->field('campus_id,ronda_id,item_id')  
108 - ->where('campus_id',$id)  
109 - ->paginate($row,false,['page'=>$page]) 102 + $data = db('item i')
  103 + ->join('item_details d','d.item_id = i.id')
  104 + ->join('ronda r','i.ronda_id = r.id')
  105 + ->join('campus c','c.id = i.campus_id')
  106 + ->field('c.title as campus_title,i.campus_id,i.ronda_id,i.title,i.details,d.images,r.title as ronda_title,r.holdtime as ronda_holdtime')
  107 + ->where('i.campus_id',$id)
  108 + ->paginate(10)
110 ->each(function ($item,$key){ 109 ->each(function ($item,$key){
111 - $item['ronda'] = db('ronda')->where('id',$item['ronda_id'])->field('title,holdtime')->find();  
112 - $item['item'] = db('item')->where('id',$item['item_id'])->value('title');  
113 - $item['item_details'] = db('item_details')->where('item_id',$item['item_id'])->field('images,details')->find();  
114 - $item['item_details']['images'] = cdnurl($item['item_details']['images'], true); 110 + $item['images'] = cdnurl($item['images'],true);
115 return $item; 111 return $item;
116 }); 112 });
117 $this->success('项目场次日期', $data); 113 $this->success('项目场次日期', $data);
@@ -138,8 +134,11 @@ class Activity extends Api @@ -138,8 +134,11 @@ class Activity extends Api
138 public function getItemDetails() 134 public function getItemDetails()
139 { 135 {
140 $id = $this->request->param('id'); 136 $id = $this->request->param('id');
141 - $data = db('item_details')  
142 - ->where('item_id', $id) 137 + $data = db('item i')
  138 + ->join('item_details d','d.item_id = i.id')
  139 + ->join('campus c','c.id = i.campus_id')
  140 + ->field('c.title as campus_title,d.images,i.details')
  141 + ->where('i.id', $id)
143 ->find(); 142 ->find();
144 $data['images'] = cdnurl($data['images'], true); 143 $data['images'] = cdnurl($data['images'], true);
145 $this->success('', $data); 144 $this->success('', $data);
@@ -157,8 +157,7 @@ class Bind extends Api @@ -157,8 +157,7 @@ class Bind extends Api
157 $this->error('参数错误', ['status' => 2]); 157 $this->error('参数错误', ['status' => 2]);
158 } 158 }
159 $study = db('study')->where('unique', $unique)->field('id,grade,name,sno,team_id,earn_score')->find(); 159 $study = db('study')->where('unique', $unique)->field('id,grade,name,sno,team_id,earn_score')->find();
160 - $rel = \db('item_ronda_rel')->where('item_id', $items_id)->find();  
161 - $item = db('item')->where('id', $rel['item_id'])->field('score,title')->find(); 160 + $item = db('item')->where('id', $items_id)->field('score,title,campus_id')->find();
162 $team = \db('team')->where('id', $study['team_id'])->field('title,score')->find(); 161 $team = \db('team')->where('id', $study['team_id'])->field('title,score')->find();
163 $sum1 = $team['score'] + $item['score']; //合计战队总分 162 $sum1 = $team['score'] + $item['score']; //合计战队总分
164 $sum2 = $study['earn_score'] + $item['score']; //合计个人总分 163 $sum2 = $study['earn_score'] + $item['score']; //合计个人总分
@@ -166,7 +165,7 @@ class Bind extends Api @@ -166,7 +165,7 @@ class Bind extends Api
166 try { 165 try {
167 db('study_score_log')->insert([ 166 db('study_score_log')->insert([
168 'item_id' => $items_id, 167 'item_id' => $items_id,
169 - 'campus_id' => $rel['campus_id'], 168 + 'campus_id' => $item['campus_id'],
170 'study_id' => $study['id'], 169 'study_id' => $study['id'],
171 'team_id' => $study['team_id'], 170 'team_id' => $study['team_id'],
172 'score' => $item['score'], 171 'score' => $item['score'],
此 diff 太大无法显示。
@@ -28,7 +28,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin @@ -28,7 +28,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
28 {field: 'id', title: __('Id')}, 28 {field: 'id', title: __('Id')},
29 {field: 'title', title: __('Title'), operate: 'LIKE'}, 29 {field: 'title', title: __('Title'), operate: 'LIKE'},
30 {field: 'score', title: __('Score'), operate:'BETWEEN'}, 30 {field: 'score', title: __('Score'), operate:'BETWEEN'},
31 - {field: 'weigh', title: __('Weigh'), operate: false}, 31 + {field: 'rank_text', title: __('排名'), operate: false},
32 //{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, 32 //{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
33 // {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, 33 // {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
34 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} 34 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}