Browse Source

派对编辑场景

zhangxiaobin 1 year ago
parent
commit
9f08f5aef0

+ 26 - 5
application/admin/controller/party/Party.php

@@ -32,6 +32,20 @@ class Party extends Backend
         $this->view->assign("isCloseList", $this->model->getIsCloseList());
         $this->view->assign("isScreenList", $this->model->getIsScreenList());
         $this->view->assign("onModelList", $this->model->getOnModelList());
+        $partyTypeModel = new \app\admin\model\party\Type();
+        $partyTypeData = $partyTypeModel->select();
+        $partyTypeList = [];
+        if (!empty($partyTypeData)) {
+            foreach ($partyTypeData as $key => $value) {
+                $partyTypeList[$key] = [
+                    'id' => $value['name'],
+                    'name' => $value['name'],
+                ];
+            }
+        }
+        $this->assignconfig([
+            'partyTypeList' => $partyTypeList,
+        ]);
     }
 
     public function import()
@@ -61,17 +75,24 @@ class Party extends Backend
                 return $this->selectpage();
             }
             list($where, $sort, $order, $offset, $limit) = $this->buildparams();
-
-            $list = $this->model
-                    ->with(['user'])
+            $party = 'party';
+            $user = 'user';
+            $partyType = 'party_type';
+            $field = $party.'.id,'.$party.'.room_type,party_id,party_hot,party_name,party_logo,party_notice,party_notice_detail,naming,
+            '.$party.'.is_online,'.$party.'.status,is_close,is_recommend,party_type,platRate,guilderRate,party_pass,is_screen,on_model,
+            background,'.$party.'.updatetime,'.$party.'.createtime,'.$user.'.u_id as `'.$user.'.u_id`,'.
+            $user.'.nickname as `'.$user.'.nickname`,'.$partyType.'.name as `'.$partyType.'.name`';
+            $list = $this->model->alias($party)->field($field)
+                    ->join($user, $user.'.id = '.$party.'.user_id', 'LEFT')
+                    ->join($partyType, $partyType.'.id = '.$party.'.party_type', 'LEFT')
                     ->where($where)
                     ->order($sort, $order)
                     ->paginate($limit);
 
-            foreach ($list as $row) {
+            /*foreach ($list as $row) {
 
                 $row->getRelation('user')->visible(['u_id', 'nickname']);
-            }
+            }*/
 
             $result = array("total" => $list->total(), "rows" => $list->items());
 

+ 1 - 0
application/admin/lang/zh-cn/party/party.php

@@ -7,6 +7,7 @@ return [
     'Room_type 1'         => '派对',
     'Room_type 2'         => '直播',
     'Party_id'            => '派对ID',
+    'Party_type'          => '派对分类',
     'Party_hot'           => '派对热度',
     'Party_name'          => '派对名称',
     'Party_logo'          => '派对logo',

+ 5 - 0
application/admin/model/party/Party.php

@@ -125,4 +125,9 @@ class Party extends Model
     {
         return $this->belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
     }
+    //关联派对类型表
+    public function partyType()
+    {
+        return $this->hasOne(Type::class, 'id', 'party_type',[],'LEFT');
+    }
 }

+ 6 - 0
application/admin/view/party/party/edit.html

@@ -25,6 +25,12 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Party_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-party_type" data-rule="required" min="0" data-source="party/type/index" class="form-control selectpage" name="row[party_type]" type="text" value="{$row.party_type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Party_hot')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-party_hot" data-rule="required" class="form-control" name="row[party_hot]" type="number" value="{$row.party_hot|htmlentities}">

+ 4 - 0
public/assets/js/backend/party/party.js

@@ -30,6 +30,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
                         {field: 'room_type', title: __('Room_type'), searchList: {"1":__('Room_type 1'),"2":__('Room_type 2')}, formatter: Table.api.formatter.normal},
                         {field: 'party_id', title: __('Party_id')},
+                        {field: 'party_type.name', title: __('Party_type'), searchList: Config.partyTypeList},
                         {field: 'party_hot', title: __('Party_hot')},
                         {field: 'party_name', title: __('Party_name'), operate: 'LIKE'},
                         {field: 'party_logo', title: __('Party_logo'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},
@@ -65,6 +66,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         },
         api: {
             bindevent: function () {
+                $("#c-party_type").data("params",function(){
+                    return {custom:{room_type:$("#c-room_type").val()}};
+                });
                 Form.api.bindevent($("form[role=form]"));
             }
         }