afa 7 月之前
父節點
當前提交
3c321f0714

+ 30 - 6
application/admin/controller/general/Announcement.php

@@ -13,7 +13,7 @@ class Announcement extends Backend
 {
 
     /**
-     * Banner模型对象
+     * Banner模型对象 茶说、公告、合成公告、轮播图
      * @var \app\admin\model\Banner
      */
     protected $model = null;
@@ -22,15 +22,39 @@ class Announcement extends Backend
     {
         parent::_initialize();
         $this->model = new \app\common\model\AnnouncementModel;
+        $this->view->assign("typeList", $this->model ::getTypeList());
     }
 
-
-
     /**
-     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
-     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
-     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+     * 查
+     * @return string|Json
+     * @throws \think\Exception
+     * @throws DbException
      */
+    public function index()
+    {
+        //设置过滤方法
+        $this->request->filter(['strip_tags', 'trim']);
+        if (false === $this->request->isAjax()) {
+            return $this->view->fetch();
+        }
+        //如果发送的来源是 Selectpage,则转发到 Selectpage
+        if ($this->request->request('keyField')) {
+            return $this->selectpage();
+        }
+        [$where, $sort, $order, $offset, $limit] = $this->buildparams();
+
+        $map = [];
+        $type = $this->request->param('type_id/d');
+        if($type > 0) $map['type_id'] = $type;
+        $list = $this->model
+            ->where($where)->where($map)
+            ->order($sort, $order)
+            ->paginate($limit);
+        $result = ['total' => $list->total(), 'rows' => $list->items()];
+        return json($result);
+    }
 
+  
 
 }

+ 9 - 1
application/admin/view/general/announcement/index.html

@@ -1,6 +1,14 @@
 <div class="panel panel-default panel-intro">
-    {:build_heading()}
+    <div class="panel-heading">
+        {:build_heading(null,FALSE)}
+        <ul class="nav nav-tabs">
+            <li class="active"><a href="#all" data-toggle="tab">{:__('All')}</a></li>
+            {foreach name="typeList" item="vo"}
+                <li><a href="#{$key}" data-toggle="tab">{$vo}</a></li>
+            {/foreach}
+        </ul>
 
+    </div>
     <div class="panel-body">
         <div id="myTabContent" class="tab-content">
             <div class="tab-pane fade active in" id="one">

+ 1 - 1
application/api/controller/Announcement.php

@@ -24,7 +24,7 @@ class Announcement extends Api
         $typeId = $this->request->param('type_id', 1, 'intval');
         $paginator = $announcementModel->where('type_id', $typeId)
             ->where('status', 1)->where('to_lang', $this->lan)
-            ->order('id DESC,weigh desc')
+            ->order('weigh desc')
             ->field('id,to_lang,img_url,createtime,title as title,introduction,body')
             ->paginate($this->pageSize);
         $this->success('', $this->buildResp($paginator->total(), $paginator->currentPage(), $paginator->items()));

+ 6 - 0
application/common/model/AnnouncementModel.php

@@ -34,6 +34,12 @@ class AnnouncementModel  extends Model
         self::Banner            => '轮播图'
     ];
 
+    //1":__('公告'),"2":__('轮播图'),"3":__('茶说'),"4":__('合成公告'
+    public static function getTypeList()
+    {
+        return [1 => __('公告'), 2 => __('轮播图'), 3 => __('茶说'), 4 => __('合成公告')];
+    }
+
 
     public function getCreatetimeTextAttr($value, $data)
     {

+ 1 - 1
application/common/model/LedgerFrozenChangeModel.php

@@ -7,7 +7,7 @@ use think\Model;
 class LedgerFrozenChangeModel extends Model
 {
 
-    //LedgerDeclarationChangeModel
+    //ledger_declaration_change
     protected $name = "ledger_frozen_change";
 
     const Giveaway          = 0; //赠送手续费

+ 20 - 5
public/assets/js/backend/general/announcement.js

@@ -41,11 +41,26 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
 
             // 为表格绑定事件
             Table.api.bindevent(table);
-              // 修改添加窗口的大小
-              $(".btn-add").data("area", ["60%", "80%"]);
-              table.on('post-body.bs.table',function () {
-                  $('.btn-editone').data("area",["60%","80%"]);
-              });
+            // 修改添加窗口的大小
+            $(".btn-add").data("area", ["60%", "80%"]);
+            table.on('post-body.bs.table',function () {
+                $('.btn-editone').data("area",["60%","80%"]);
+            });
+
+            $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
+                // var options = table.bootstrapTable(tableOptions);
+                var typeStr = $(this).attr("href").replace('#', '');
+                var options = table.bootstrapTable('getOptions');
+                options.pageNumber = 1;
+                options.queryParams = function (params) {
+                    // params.filter = JSON.stringify({type: typeStr});
+                    params.type_id = typeStr;
+                    return params;
+                };
+                table.bootstrapTable('refresh', {});
+                return false;
+
+            });
         },
         add: function () {
             Controller.api.bindevent();