作者 开飞机的舒克

修改学生管理中缺少总排行问题

@@ -22,5 +22,6 @@ return [ @@ -22,5 +22,6 @@ return [
22 'Grade' => '班级名称', 22 'Grade' => '班级名称',
23 'School' => '学校名称', 23 'School' => '学校名称',
24 'Team.title' => '所属战队', 24 'Team.title' => '所属战队',
25 - 'Download' => '批量下载' 25 + 'Download' => '批量下载',
  26 + 'Rank' => '总排名',
26 ]; 27 ];
@@ -27,7 +27,8 @@ class Study extends Model @@ -27,7 +27,8 @@ class Study extends Model
27 protected $append = [ 27 protected $append = [
28 'gender_text', 28 'gender_text',
29 'team_rank', 29 'team_rank',
30 - 'barcode_images' 30 + 'barcode_images',
  31 + 'rank'
31 ]; 32 ];
32 33
33 34
@@ -57,6 +58,18 @@ class Study extends Model @@ -57,6 +58,18 @@ class Study extends Model
57 return $order; 58 return $order;
58 } 59 }
59 60
  61 + public function getRankAttr($value,$data){
  62 + $list = $this->order('earn_score','desc')->column('id');
  63 + $order = 0;
  64 + foreach ($list as $k=> $v){
  65 + if($data['id'] == $v){
  66 + $order = $k+1;
  67 + break;
  68 + }
  69 + }
  70 + return $order;
  71 + }
  72 +
60 public function getBarcodeImagesAttr($value,$data){ 73 public function getBarcodeImagesAttr($value,$data){
61 $list = $this->where('id',$data['id'])->value('barcode'); 74 $list = $this->where('id',$data['id'])->value('barcode');
62 $order = 'http://campus.shs.broing.cn'.$list; 75 $order = 'http://campus.shs.broing.cn'.$list;
@@ -102,6 +102,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin @@ -102,6 +102,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
102 {field: 'earn_score', title: __('Earn_score'),operate:false}, 102 {field: 'earn_score', title: __('Earn_score'),operate:false},
103 {field: 'unique', title: __('Unique'), operate:false}, 103 {field: 'unique', title: __('Unique'), operate:false},
104 {field: 'barcode_images', title: __('Barcode'),events: Table.api.events.image, formatter: Table.api.formatter.image, operate:false}, 104 {field: 'barcode_images', title: __('Barcode'),events: Table.api.events.image, formatter: Table.api.formatter.image, operate:false},
  105 + {field: 'rank', title: __('Rank'),operate: false},
105 // {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, 106 // {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
106 // {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, 107 // {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
107 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, 108 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,