From 4f289c00d5e18e5211d0f79675be30bfead51315 Mon Sep 17 00:00:00 2001 From: hant Date: Wed, 5 Mar 2025 23:16:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=86=85=E5=AE=B9=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/controller/Item.php | 33 +++++++++++++++++++++----- application/admin/view/item/add.html | 28 +++++++++------------- application/admin/view/item/edit.html | 28 +++++++++++----------- application/admin/view/item/index.html | 32 +++++++++++++++---------- application/config.php | 6 ++--- public/assets/js/backend/item.js | 10 ++++---- public/assets/js/backend/order.js | 2 +- 7 files changed, 82 insertions(+), 57 deletions(-) diff --git a/application/admin/controller/Item.php b/application/admin/controller/Item.php index a81d21a..ed026f9 100644 --- a/application/admin/controller/Item.php +++ b/application/admin/controller/Item.php @@ -38,16 +38,37 @@ class Item extends Backend { if ($this->request->isAjax()) { // 必须将结果集转换为数组 - $ruleList = \think\Db::name("item") - ->where('status',1) - ->field('id,pid,level,title,key_word,sort,status') - ->order('sort DESC,id ASC')->select(); + $search = request()->get('search') ?? false; +// dd($where); + $build = Db::name('item') + ->where('status',1); + if ($search){ + $build->where(function ($query) use ($search){ + $query->where('title','like','%'.$search.'%') + ->whereOr('key_word','like','%'.$search.'%'); + }); + } + + $ruleList = $build->field('id,pid,level,title,key_word,sort,status') +// ->order('sort','desc') +// ->fetchSql(true) + ->select(); + if ($search){ + $pids = array_column($ruleList,'pid') ; + $pidData = Db::name('item') + ->where('status',1)->whereIn('id',$pids) + ->field('id,pid,level,title,key_word,sort,status')->select(); + $ruleList = array_values(array_reduce(array_merge($ruleList,$pidData), function ($carry, $item) { + $carry[$item['id']] = $item; + return $carry; + }, [])); + } Tree::instance()->init($ruleList)->icon = ['    ', '    ', '    ']; -// dd($ruleList); +// dd($ruleList); $this->itemdata = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0), 'title'); foreach ($this->itemdata as &$v) { - $v['status'] = $v['status'] ?'normal' : ''; + $v['status'] = $v['status'] ?'normal' : 'aqua'; } unset($v); diff --git a/application/admin/view/item/add.html b/application/admin/view/item/add.html index d9d89b0..3146a68 100644 --- a/application/admin/view/item/add.html +++ b/application/admin/view/item/add.html @@ -19,24 +19,18 @@ -
- -
-
- -
- - -
- -
-
    -
    -
    - + - + + + + + + + + +
    @@ -54,7 +48,7 @@ diff --git a/application/admin/view/item/edit.html b/application/admin/view/item/edit.html index 641d890..f6ef34c 100644 --- a/application/admin/view/item/edit.html +++ b/application/admin/view/item/edit.html @@ -18,20 +18,20 @@
    -
    - -
    -
    - -
    - - -
    - -
    -
      -
      -
      + + + + + + + + + + + + + + diff --git a/application/admin/view/item/index.html b/application/admin/view/item/index.html index a597675..c1aa4e2 100644 --- a/application/admin/view/item/index.html +++ b/application/admin/view/item/index.html @@ -1,11 +1,13 @@
      - +
      {:build_heading(null,FALSE)}
      @@ -16,22 +18,28 @@
      'zh-cn', // 允许的语言列表 - 'allow_lang_list' => ['zh-cn', 'en'], + 'allow_lang_list' => ['zh-cn'], // 应用类库后缀 'class_suffix' => false, // 控制器类后缀 @@ -280,11 +280,11 @@ return [ //FastAdmin配置 'fastadmin' => [ //是否开启前台会员中心 - 'usercenter' => true, + 'usercenter' => false, //会员注册验证码类型email/mobile/wechat/text/false 'user_register_captcha' => 'text', //登录验证码 - 'login_captcha' => true, + 'login_captcha' => false, //登录失败超过10次则1天后重试 'login_failure_retry' => true, //是否同一账号同一时间只能在一个地方登录 diff --git a/public/assets/js/backend/item.js b/public/assets/js/backend/item.js index 6dd6ffb..9635d82 100644 --- a/public/assets/js/backend/item.js +++ b/public/assets/js/backend/item.js @@ -5,7 +5,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function // 初始化表格参数配置 Table.api.init({ extend: { - "index_url": "item/index", + "index_url": "item/index" + location.search, "add_url": "item/add", "edit_url": "item/edit", "del_url": "item/del", @@ -19,8 +19,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, - sortName: '', - escape: true, + // sortName: 'id', + // escape: true, + fixedColumns: true, + fixedRightNumber: 1, columns: [ [ {field: 'state', checkbox: true,}, @@ -39,7 +41,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function ] ], pagination: false, - search: false, + search: true, commonSearch: false, rowAttributes: function (row, index) { return row.pid === 0 ? {} : {style: "display:none"}; diff --git a/public/assets/js/backend/order.js b/public/assets/js/backend/order.js index df71d7e..0027d1e 100644 --- a/public/assets/js/backend/order.js +++ b/public/assets/js/backend/order.js @@ -136,7 +136,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin classname:"btn-view btn-dialog", icon:'fa fa-money', url: function(row){ - return 'orders/income/add?order_id='+row.id + return 'orders/income/add?order_id='+row.id; }, dropdown:"更多", visible:function(row){