xieruidong 2 anni fa
parent
commit
24fd889c77

+ 2 - 2
application/admin/controller/Ad.php

@@ -39,7 +39,7 @@ class Ad extends Backend
             list($where, $sort, $order, $offset, $limit) = $this->buildparams();
 
             $list = $this->model
-                ->with(['admin'])
+                ->with(['admin','upload_admin'])
                 ->where($where)
                 ->where(function (Query $query){
                     if($this->admin('is_sub')){
@@ -78,7 +78,7 @@ class Ad extends Backend
     }
     protected function check($ids){
         if($this->admin('is_sub')){
-            $check=$this->model->where('id',$ids)->where('admin_id',$this->auth->id)->find();
+            $check=$this->model->where('id',$ids)->where('upload_admin_id',$this->auth->id)->find();
             if(!$check){
                 $this->error('无权操作');
             }

+ 18 - 1
application/admin/controller/auth/Sub.php

@@ -301,6 +301,23 @@ class Sub extends Backend
     {
         $this->dataLimit = 'auth';
         $this->dataLimitField = 'id';
-        return parent::selectpage();
+        $input=input();
+        $map=[];
+        $map['sub']=1;
+        if(!empty($input['nickname'])){
+            $map['nickname']=['like',"%{$input['nickname']}%"];
+        }
+        if(!empty($input['keyValue'])){
+            $map['id']=$input['keyValue'];
+        }
+        $data=$this
+            ->model
+            ->where($map)
+            ->field('id,nickname')
+            ->paginate(6,false,['page'=>$input['pageNumber']??1]);
+        return json([
+            'list'=>$data->items(),
+            'total'=>$data->total(),
+        ]);
     }
 }

+ 2 - 1
application/admin/library/traits/Backend.php

@@ -118,7 +118,8 @@ trait Backend
                     $this->error($e->getMessage());
                 } catch (Exception $e) {
                     Db::rollback();
-                    $this->error($e->getMessage());
+                    throw $e;
+                    //$this->error($e->getMessage());
                 }
                 if ($result !== false) {
                     $this->success();

+ 3 - 0
application/admin/model/Ad.php

@@ -12,4 +12,7 @@ class Ad extends \app\common\model\Ad
     public function admin(){
         return $this->belongsTo(Admin::class)->setEagerlyType(0);
     }
+    public function uploadAdmin(){
+        return $this->belongsTo(Admin::class,'upload_admin_id')->setEagerlyType(0);
+    }
 }

+ 6 - 0
application/admin/model/Admin.php

@@ -132,12 +132,18 @@ class Admin extends Model
     }
 
     public function getIsManagerAttr($_,$admin){
+        !isset($admin['sub']) && $admin['sub']=0;
+        !isset($admin['proxy']) && $admin['proxy']=0;
         return !$admin['sub'] && !$admin['proxy'];
     }
     public function getIsSubAttr($_,$admin){
+        !isset($admin['sub']) && $admin['sub']=0;
+        !isset($admin['proxy']) && $admin['proxy']=0;
         return $admin['sub'] && !$admin['proxy'];
     }
     public function getIsProxyAttr($_,$admin){
+        !isset($admin['sub']) && $admin['sub']=0;
+        !isset($admin['proxy']) && $admin['proxy']=0;
         return !$admin['sub'] && $admin['proxy'];
     }
 }

+ 14 - 0
application/admin/view/ad/add.html

@@ -10,6 +10,20 @@
             </select>
         </div>
     </div>
+    {if condition='$admin["is_manager"]'}
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">通道:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input
+                    data-field="nickname"
+                    data-source="auth/sub/index"
+                    class="form-control selectpage"
+                    name="row[admin_id]"
+                    data-rule="required"
+                    type="text">
+        </div>
+    </div>
+    {/if}
     {include file="layout/fu" label="图片" name="img" value="" rule="required" remark="宽750高330"}
 <!--    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('跳转链接')}:</label>

+ 15 - 0
application/admin/view/ad/edit.html

@@ -10,6 +10,21 @@
             </select>
         </div>
     </div>
+    {if condition='$admin["is_manager"]'}
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">通道:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input
+                    data-field="nickname"
+                    data-source="auth/sub/index"
+                    class="form-control selectpage"
+                    name="row[admin_id]"
+                    data-rule="required"
+                    value="{$row.admin_id}"
+                    type="text">
+        </div>
+    </div>
+    {/if}
     {include file="layout/fu" label="图片" name="img" value="$row.img" rule="required" remark="宽750高330"}
 <!--    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('跳转链接')}:</label>

+ 2 - 2
application/common/model/Ad.php

@@ -27,7 +27,7 @@ class Ad extends Model
     public static $pos=[
         'index'=>'首页',
     ];
-    protected $readonly=['admin_id'];
+    protected $readonly=['upload_admin_id'];
     
 
     public static function getAd($pos=null,$chanId=null){
@@ -46,7 +46,7 @@ class Ad extends Model
     protected static function init()
     {
         self::beforeInsert(function (self $ad){
-            $ad['admin_id']=$_SERVER['admin']['id'];
+            $ad['upload_admin_id']=$_SERVER['admin']['id'];
             $ad['is_sub']=Admin::get($ad['admin_id'])['is_sub']?1:0;
         });
     }

+ 3 - 2
public/assets/js/backend/ad.js

@@ -22,7 +22,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             table.bootstrapTable({
                 url: $.fn.bootstrapTable.defaults.extend.index_url,
                 pk: 'id',
-                sortName: 'sort',
+                sortName: 'id',
                 columns: [
                     [
                         //{checkbox: true},
@@ -34,7 +34,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         /*{field: 'link_type', title: __('Link_type'), operate: false},
                         {field: 'link_id', title: __('Link_id'), operate: false},*/
                         {field: 'sort', title: __('Sort'), operate: false},
-                        {field: 'admin.nickname', title: __('上传用户'), operate: 'like'},
+                        {field: 'admin.nickname', title: __('通道'), operate: 'like'},
+                        {field: 'upload_admin.nickname', title: __('上传用户'), operate: 'like'},
                         //{field: 'link', title: __('链接'), operate: false,formatter:Table.api.formatter.url},
                         {field: 'created_at', title: __('Created_at'), operate: false,formatter: Table.api.formatter.datetime},
                         {field: 'updated_at', title: __('Updated_at'), operate: false,formatter: Table.api.formatter.datetime},