作者 郭文星

132

1 <?php 1 <?php
2 2
3 namespace app\admin\controller; 3 namespace app\admin\controller;
4 -use app\admin\controller\Index; 4 +
5 use app\common\controller\Backend; 5 use app\common\controller\Backend;
6 use think\Db; 6 use think\Db;
7 -use think\exception\DbException;  
8 -use think\exception\PDOException;  
9 -use think\exception\ValidateException;  
10 7
11 /** 8 /**
12 * 车辆管理 9 * 车辆管理
@@ -26,7 +23,7 @@ class Car extends Backend @@ -26,7 +23,7 @@ class Car extends Backend
26 { 23 {
27 parent::_initialize(); 24 parent::_initialize();
28 $this->model = new \app\admin\model\Car; 25 $this->model = new \app\admin\model\Car;
29 - 26 + $this->view->assign("statusList", $this->model->getStatusList());
30 } 27 }
31 28
32 29
@@ -55,19 +52,19 @@ class Car extends Backend @@ -55,19 +52,19 @@ class Car extends Backend
55 list($where, $sort, $order, $offset, $limit) = $this->buildparams(); 52 list($where, $sort, $order, $offset, $limit) = $this->buildparams();
56 53
57 $list = $this->model 54 $list = $this->model
58 - ->with(['route','driver','seat']) 55 + ->with(['route','seat','driver'])
59 ->where($where) 56 ->where($where)
60 ->order($sort, $order) 57 ->order($sort, $order)
61 ->paginate($limit); 58 ->paginate($limit);
62 59
63 foreach ($list as $row) { 60 foreach ($list as $row) {
64 - $row->visible(['id','car_model','license_plate','colour','reservation_time','start_time','create_time']); 61 + $row->visible(['id','car_model','license_plate','seat','colour','driving_license','driver_license','reservation_time','start_time','create_time','status','carmodel_id']);
65 $row->visible(['route']); 62 $row->visible(['route']);
66 $row->getRelation('route')->visible(['name']); 63 $row->getRelation('route')->visible(['name']);
67 - $row->visible(['driver']);  
68 - $row->getRelation('driver')->visible(['name']);  
69 $row->visible(['seat']); 64 $row->visible(['seat']);
70 $row->getRelation('seat')->visible(['name']); 65 $row->getRelation('seat')->visible(['name']);
  66 + $row->visible(['driver']);
  67 + $row->getRelation('driver')->visible(['name']);
71 } 68 }
72 69
73 $result = array("total" => $list->total(), "rows" => $list->items()); 70 $result = array("total" => $list->total(), "rows" => $list->items());
@@ -76,7 +73,6 @@ class Car extends Backend @@ -76,7 +73,6 @@ class Car extends Backend
76 } 73 }
77 return $this->view->fetch(); 74 return $this->view->fetch();
78 } 75 }
79 -  
80 /** 76 /**
81 * 添加 77 * 添加
82 * 78 *
@@ -112,8 +108,7 @@ class Car extends Backend @@ -112,8 +108,7 @@ class Car extends Backend
112 // } 108 // }
113 $route=Db::name("route")->where("id",$params['route_id'])->find(); 109 $route=Db::name("route")->where("id",$params['route_id'])->find();
114 $driver=Db::name("driver")->where("id",$params['driver_id'])->find(); 110 $driver=Db::name("driver")->where("id",$params['driver_id'])->find();
115 - $result = $this->model->allowField(true)->insertGetId($params);  
116 - 111 + $result = $this->model->allowField(true)->save($params);
117 $index=new Index(); 112 $index=new Index();
118 $data=[ 113 $data=[
119 "start_address"=>$route["start_address"], 114 "start_address"=>$route["start_address"],
@@ -169,8 +164,7 @@ class Car extends Backend @@ -169,8 +164,7 @@ class Car extends Backend
169 $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate; 164 $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate;
170 $row->validateFailException()->validate($validate); 165 $row->validateFailException()->validate($validate);
171 } 166 }
172 - $result = $row->allowField(true)->insertGetId($params);  
173 - $this->getAccessToken($result); 167 + $result = $row->allowField(true)->save($params);
174 Db::commit(); 168 Db::commit();
175 } catch (ValidateException|PDOException|Exception $e) { 169 } catch (ValidateException|PDOException|Exception $e) {
176 Db::rollback(); 170 Db::rollback();
@@ -182,5 +176,4 @@ class Car extends Backend @@ -182,5 +176,4 @@ class Car extends Backend
182 $this->success(); 176 $this->success();
183 } 177 }
184 178
185 -  
186 } 179 }
@@ -153,7 +153,7 @@ class Index extends Backend @@ -153,7 +153,7 @@ class Index extends Backend
153 $response = Response::create()->header("Content-Type", $mimetype); 153 $response = Response::create()->header("Content-Type", $mimetype);
154 // 写入到文件 154 // 写入到文件
155 if ($config['writefile']) { 155 if ($config['writefile']) {
156 - $qrcodePath = ROOT_PATH . 'public/uploads/store_qrcode/'; 156 + $qrcodePath = ROOT_PATH . 'public/uploads/';
157 if (!is_dir($qrcodePath)) { 157 if (!is_dir($qrcodePath)) {
158 @mkdir($qrcodePath); 158 @mkdir($qrcodePath);
159 } 159 }
@@ -8,11 +8,19 @@ return [ @@ -8,11 +8,19 @@ return [
8 'Driver_id' => '司机', 8 'Driver_id' => '司机',
9 'Seat' => '座位数', 9 'Seat' => '座位数',
10 'Colour' => '车辆颜色', 10 'Colour' => '车辆颜色',
11 - 'Seat_id' => '座位价格', 11 + 'Driving_license' => '行驶证',
  12 + 'Driver_license' => '驾照',
  13 + 'Seat_id' => '座位id',
12 'Reservation_time' => '预约时间', 14 'Reservation_time' => '预约时间',
13 'Start_time' => '发车时间', 15 'Start_time' => '发车时间',
14 'Create_time' => '创建时间', 16 'Create_time' => '创建时间',
  17 + 'Status' => '车辆认证',
  18 + 'Status 1' => '已审核',
  19 + 'Set status to 1' => '设为已审核',
  20 + 'Status 2' => '未审核',
  21 + 'Set status to 2' => '设为未审核',
  22 + 'Carmodel_id' => '车型',
15 'Route.name' => '线路名称', 23 'Route.name' => '线路名称',
16 - 'Driver.name' => '司机名称',  
17 - 'Seat.name' => '座位名称' 24 + 'Seat.name' => '座位名称',
  25 + 'Driver.name' => '司机名称'
18 ]; 26 ];
@@ -27,12 +27,16 @@ class Car extends Model @@ -27,12 +27,16 @@ class Car extends Model
27 protected $append = [ 27 protected $append = [
28 'reservation_time_text', 28 'reservation_time_text',
29 'start_time_text', 29 'start_time_text',
30 - 'create_time_text' 30 + 'create_time_text',
  31 + 'status_text'
31 ]; 32 ];
32 33
33 34
34 35
35 - 36 + public function getStatusList()
  37 + {
  38 + return ['1' => __('Status 1'), '2' => __('Status 2')];
  39 + }
36 40
37 41
38 public function getReservationTimeTextAttr($value, $data) 42 public function getReservationTimeTextAttr($value, $data)
@@ -55,6 +59,14 @@ class Car extends Model @@ -55,6 +59,14 @@ class Car extends Model
55 return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value; 59 return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
56 } 60 }
57 61
  62 +
  63 + public function getStatusTextAttr($value, $data)
  64 + {
  65 + $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
  66 + $list = $this->getStatusList();
  67 + return isset($list[$value]) ? $list[$value] : '';
  68 + }
  69 +
58 protected function setReservationTimeAttr($value) 70 protected function setReservationTimeAttr($value)
59 { 71 {
60 return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value); 72 return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
@@ -77,14 +89,14 @@ class Car extends Model @@ -77,14 +89,14 @@ class Car extends Model
77 } 89 }
78 90
79 91
80 - public function driver() 92 + public function seat()
81 { 93 {
82 - return $this->belongsTo('Driver', 'driver_id', 'id', [], 'LEFT')->setEagerlyType(0); 94 + return $this->belongsTo('Seat', 'seat_id', 'id', [], 'LEFT')->setEagerlyType(0);
83 } 95 }
84 96
85 97
86 - public function seat() 98 + public function driver()
87 { 99 {
88 - return $this->belongsTo('Seat', 'seat_id', 'id', [], 'LEFT')->setEagerlyType(0); 100 + return $this->belongsTo('Driver', 'driver_id', 'id', [], 'LEFT')->setEagerlyType(0);
89 } 101 }
90 } 102 }
@@ -37,6 +37,34 @@ @@ -37,6 +37,34 @@
37 </div> 37 </div>
38 </div> 38 </div>
39 <div class="form-group"> 39 <div class="form-group">
  40 + <label class="control-label col-xs-12 col-sm-2">{:__('Driving_license')}:</label>
  41 + <div class="col-xs-12 col-sm-8">
  42 + <div class="input-group">
  43 + <input id="c-driving_license" class="form-control" size="50" name="row[driving_license]" type="text">
  44 + <div class="input-group-addon no-border no-padding">
  45 + <span><button type="button" id="faupload-driving_license" class="btn btn-danger faupload" data-input-id="c-driving_license" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-driving_license"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  46 + <span><button type="button" id="fachoose-driving_license" class="btn btn-primary fachoose" data-input-id="c-driving_license" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  47 + </div>
  48 + <span class="msg-box n-right" for="c-driving_license"></span>
  49 + </div>
  50 + <ul class="row list-inline faupload-preview" id="p-driving_license"></ul>
  51 + </div>
  52 + </div>
  53 + <div class="form-group">
  54 + <label class="control-label col-xs-12 col-sm-2">{:__('Driver_license')}:</label>
  55 + <div class="col-xs-12 col-sm-8">
  56 + <div class="input-group">
  57 + <input id="c-driver_license" class="form-control" size="50" name="row[driver_license]" type="text">
  58 + <div class="input-group-addon no-border no-padding">
  59 + <span><button type="button" id="faupload-driver_license" class="btn btn-danger faupload" data-input-id="c-driver_license" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-driver_license"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  60 + <span><button type="button" id="fachoose-driver_license" class="btn btn-primary fachoose" data-input-id="c-driver_license" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  61 + </div>
  62 + <span class="msg-box n-right" for="c-driver_license"></span>
  63 + </div>
  64 + <ul class="row list-inline faupload-preview" id="p-driver_license"></ul>
  65 + </div>
  66 + </div>
  67 + <div class="form-group">
40 <label class="control-label col-xs-12 col-sm-2">{:__('Seat_id')}:</label> 68 <label class="control-label col-xs-12 col-sm-2">{:__('Seat_id')}:</label>
41 <div class="col-xs-12 col-sm-8"> 69 <div class="col-xs-12 col-sm-8">
42 <input id="c-seat_id" data-rule="required" data-source="seat/index" class="form-control selectpage" name="row[seat_id]" type="text" value=""> 70 <input id="c-seat_id" data-rule="required" data-source="seat/index" class="form-control selectpage" name="row[seat_id]" type="text" value="">
@@ -45,13 +73,13 @@ @@ -45,13 +73,13 @@
45 <div class="form-group"> 73 <div class="form-group">
46 <label class="control-label col-xs-12 col-sm-2">{:__('Reservation_time')}:</label> 74 <label class="control-label col-xs-12 col-sm-2">{:__('Reservation_time')}:</label>
47 <div class="col-xs-12 col-sm-8"> 75 <div class="col-xs-12 col-sm-8">
48 - <input id="c-reservation_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[reservation_time]" type="text" value="{:date('Y-m-d H:i:s')}"> 76 + <input id="c-reservation_time" class="form-control datetimepicker" data-date-format=" HH:mm" data-use-current="true" name="row[reservation_time]" type="text" value="{:date('Y-m-d H:i:s')}">
49 </div> 77 </div>
50 </div> 78 </div>
51 <div class="form-group"> 79 <div class="form-group">
52 <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label> 80 <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label>
53 <div class="col-xs-12 col-sm-8"> 81 <div class="col-xs-12 col-sm-8">
54 - <input id="c-start_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[start_time]" type="text" value="{:date('Y-m-d H:i:s')}"> 82 + <input id="c-start_time" class="form-control datetimepicker" data-date-format=" HH:mm" data-use-current="true" name="row[start_time]" type="text" value="{:date('Y-m-d H:i:s')}">
55 </div> 83 </div>
56 </div> 84 </div>
57 <div class="form-group"> 85 <div class="form-group">
@@ -60,6 +88,24 @@ @@ -60,6 +88,24 @@
60 <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}"> 88 <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
61 </div> 89 </div>
62 </div> 90 </div>
  91 + <div class="form-group">
  92 + <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
  93 + <div class="col-xs-12 col-sm-8">
  94 +
  95 + <div class="radio">
  96 + {foreach name="statusList" item="vo"}
  97 + <label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[status]" type="radio" value="{$key}" {in name="key" value="1"}checked{/in} /> {$vo}</label>
  98 + {/foreach}
  99 + </div>
  100 +
  101 + </div>
  102 + </div>
  103 + <div class="form-group">
  104 + <label class="control-label col-xs-12 col-sm-2">{:__('Carmodel_id')}:</label>
  105 + <div class="col-xs-12 col-sm-8">
  106 + <input id="c-carmodel_id" data-rule="required" data-source="carmodel/index" class="form-control selectpage" name="row[carmodel_id]" type="text" value="">
  107 + </div>
  108 + </div>
63 <div class="form-group layer-footer"> 109 <div class="form-group layer-footer">
64 <label class="control-label col-xs-12 col-sm-2"></label> 110 <label class="control-label col-xs-12 col-sm-2"></label>
65 <div class="col-xs-12 col-sm-8"> 111 <div class="col-xs-12 col-sm-8">
@@ -37,6 +37,34 @@ @@ -37,6 +37,34 @@
37 </div> 37 </div>
38 </div> 38 </div>
39 <div class="form-group"> 39 <div class="form-group">
  40 + <label class="control-label col-xs-12 col-sm-2">{:__('Driving_license')}:</label>
  41 + <div class="col-xs-12 col-sm-8">
  42 + <div class="input-group">
  43 + <input id="c-driving_license" class="form-control" size="50" name="row[driving_license]" type="text" value="{$row.driving_license|htmlentities}">
  44 + <div class="input-group-addon no-border no-padding">
  45 + <span><button type="button" id="faupload-driving_license" class="btn btn-danger faupload" data-input-id="c-driving_license" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-driving_license"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  46 + <span><button type="button" id="fachoose-driving_license" class="btn btn-primary fachoose" data-input-id="c-driving_license" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  47 + </div>
  48 + <span class="msg-box n-right" for="c-driving_license"></span>
  49 + </div>
  50 + <ul class="row list-inline faupload-preview" id="p-driving_license"></ul>
  51 + </div>
  52 + </div>
  53 + <div class="form-group">
  54 + <label class="control-label col-xs-12 col-sm-2">{:__('Driver_license')}:</label>
  55 + <div class="col-xs-12 col-sm-8">
  56 + <div class="input-group">
  57 + <input id="c-driver_license" class="form-control" size="50" name="row[driver_license]" type="text" value="{$row.driver_license|htmlentities}">
  58 + <div class="input-group-addon no-border no-padding">
  59 + <span><button type="button" id="faupload-driver_license" class="btn btn-danger faupload" data-input-id="c-driver_license" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-driver_license"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  60 + <span><button type="button" id="fachoose-driver_license" class="btn btn-primary fachoose" data-input-id="c-driver_license" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  61 + </div>
  62 + <span class="msg-box n-right" for="c-driver_license"></span>
  63 + </div>
  64 + <ul class="row list-inline faupload-preview" id="p-driver_license"></ul>
  65 + </div>
  66 + </div>
  67 + <div class="form-group">
40 <label class="control-label col-xs-12 col-sm-2">{:__('Seat_id')}:</label> 68 <label class="control-label col-xs-12 col-sm-2">{:__('Seat_id')}:</label>
41 <div class="col-xs-12 col-sm-8"> 69 <div class="col-xs-12 col-sm-8">
42 <input id="c-seat_id" data-rule="required" data-source="seat/index" class="form-control selectpage" name="row[seat_id]" type="text" value="{$row.seat_id|htmlentities}"> 70 <input id="c-seat_id" data-rule="required" data-source="seat/index" class="form-control selectpage" name="row[seat_id]" type="text" value="{$row.seat_id|htmlentities}">
@@ -45,13 +73,13 @@ @@ -45,13 +73,13 @@
45 <div class="form-group"> 73 <div class="form-group">
46 <label class="control-label col-xs-12 col-sm-2">{:__('Reservation_time')}:</label> 74 <label class="control-label col-xs-12 col-sm-2">{:__('Reservation_time')}:</label>
47 <div class="col-xs-12 col-sm-8"> 75 <div class="col-xs-12 col-sm-8">
48 - <input id="c-reservation_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[reservation_time]" type="text" value="{:$row.reservation_time?datetime($row.reservation_time):''}"> 76 + <input id="c-reservation_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[reservation_time]" type="text" value="{:$row.reservation_time?datetime($row.reservation_time):''}">
49 </div> 77 </div>
50 </div> 78 </div>
51 <div class="form-group"> 79 <div class="form-group">
52 <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label> 80 <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label>
53 <div class="col-xs-12 col-sm-8"> 81 <div class="col-xs-12 col-sm-8">
54 - <input id="c-start_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[start_time]" type="text" value="{:$row.start_time?datetime($row.start_time):''}"> 82 + <input id="c-start_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[start_time]" type="text" value="{:$row.start_time?datetime($row.start_time):''}">
55 </div> 83 </div>
56 </div> 84 </div>
57 <div class="form-group"> 85 <div class="form-group">
@@ -60,6 +88,24 @@ @@ -60,6 +88,24 @@
60 <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:$row.create_time?datetime($row.create_time):''}"> 88 <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:$row.create_time?datetime($row.create_time):''}">
61 </div> 89 </div>
62 </div> 90 </div>
  91 + <div class="form-group">
  92 + <label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
  93 + <div class="col-xs-12 col-sm-8">
  94 +
  95 + <div class="radio">
  96 + {foreach name="statusList" item="vo"}
  97 + <label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[status]" type="radio" value="{$key}" {in name="key" value="$row.status"}checked{/in} /> {$vo}</label>
  98 + {/foreach}
  99 + </div>
  100 +
  101 + </div>
  102 + </div>
  103 + <div class="form-group">
  104 + <label class="control-label col-xs-12 col-sm-2">{:__('Carmodel_id')}:</label>
  105 + <div class="col-xs-12 col-sm-8">
  106 + <input id="c-carmodel_id" data-rule="required" data-source="carmodel/index" class="form-control selectpage" name="row[carmodel_id]" type="text" value="{$row.carmodel_id|htmlentities}">
  107 + </div>
  108 + </div>
63 <div class="form-group layer-footer"> 109 <div class="form-group layer-footer">
64 <label class="control-label col-xs-12 col-sm-2"></label> 110 <label class="control-label col-xs-12 col-sm-2"></label>
65 <div class="col-xs-12 col-sm-8"> 111 <div class="col-xs-12 col-sm-8">
1 <div class="panel panel-default panel-intro"> 1 <div class="panel panel-default panel-intro">
2 - {:build_heading()} 2 +
  3 + <div class="panel-heading">
  4 + {:build_heading(null,FALSE)}
  5 + <ul class="nav nav-tabs" data-field="status">
  6 + <li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
  7 + {foreach name="statusList" item="vo"}
  8 + <li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
  9 + {/foreach}
  10 + </ul>
  11 + </div>
  12 +
3 13
4 <div class="panel-body"> 14 <div class="panel-body">
5 <div id="myTabContent" class="tab-content"> 15 <div id="myTabContent" class="tab-content">
@@ -12,7 +22,14 @@ @@ -12,7 +22,14 @@
12 <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('car/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a> 22 <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('car/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
13 23
14 24
15 - 25 + <div class="dropdown btn-group {:$auth->check('car/multi')?'':'hide'}">
  26 + <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
  27 + <ul class="dropdown-menu text-left" role="menu">
  28 + {foreach name="statusList" item="vo"}
  29 + <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:" data-params="status={$key}">{:__('Set status to ' . $key)}</a></li>
  30 + {/foreach}
  31 + </ul>
  32 + </div>
16 33
17 34
18 </div> 35 </div>
@@ -31,13 +31,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin @@ -31,13 +31,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
31 {field: 'car_model', title: __('Car_model'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, 31 {field: 'car_model', title: __('Car_model'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
32 {field: 'license_plate', title: __('License_plate'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, 32 {field: 'license_plate', title: __('License_plate'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
33 {field: 'colour', title: __('Colour'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, 33 {field: 'colour', title: __('Colour'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
34 - {field: 'route.name', title: __('Route.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},  
35 - {field: 'driver.name', title: __('Driver.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},  
36 - {field: 'seat.name', title: __('Seat.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},  
37 {field: 'reservation_time', title: __('Reservation_time'), datetimeFormat:"HH:mm",operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, 34 {field: 'reservation_time', title: __('Reservation_time'), datetimeFormat:"HH:mm",operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
38 {field: 'start_time', title: __('Start_time'), datetimeFormat:"HH:mm", operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, 35 {field: 'start_time', title: __('Start_time'), datetimeFormat:"HH:mm", operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
39 - {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},  
40 - 36 + {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
  37 + {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
  38 + {field: 'route.name', title: __('Route.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
  39 + {field: 'driver.name', title: __('Driver.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
41 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} 40 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
42 ] 41 ]
43 ] 42 ]