diff --git a/application/admin/controller/user/Rule.php b/application/admin/controller/user/Rule.php index 9302dfec245ffe2845ff09f9475862a5e463bc3e..f3b755eb8042f1061c415e05473506dc711368a2 100644 --- a/application/admin/controller/user/Rule.php +++ b/application/admin/controller/user/Rule.php @@ -32,8 +32,7 @@ class Rule extends Backend $v['remark'] = __($v['remark']); } unset($v); - Tree::instance()->init($ruleList)->icon = ['    ', '    ', '    ']; - $this->rulelist = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0), 'title'); + $this->rulelist = Tree::instance()->init($ruleList)->getTreeArrayList(0); $ruledata = [0 => __('None')]; foreach ($this->rulelist as $k => &$v) { if (!$v['ismenu']) { diff --git a/extend/fast/Tree.php b/extend/fast/Tree.php index 656c87c301e7f55461efab0d27b7d2d5594a1686..98ad0f888522f93e756e32715dc47d7ede785026 100644 --- a/extend/fast/Tree.php +++ b/extend/fast/Tree.php @@ -479,6 +479,7 @@ class Tree { foreach ($data as $node) { $node['level'] = $level; + $node['haschild'] = !empty($node['children']) ? 1 : 0; $result[] = $node; if (!empty($node['children'])) { $this->getFlattenTree($node['children'], $level + 1, $result); diff --git a/public/assets/js/backend/user/rule.js b/public/assets/js/backend/user/rule.js index 7f2aa693afa2ec5122ba1c96c8d3da298e4f4e71..a39af3134c721eaf694f2ee649d887a645568bc3 100644 --- a/public/assets/js/backend/user/rule.js +++ b/public/assets/js/backend/user/rule.js @@ -105,13 +105,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin api: { formatter: { title: function (value, row, index) { - value = value.toString().replace(/(&|&)nbsp;/g, ' '); var caret = row.haschild == 1 ? '' : ''; - value = value.indexOf(" ") > -1 ? value.replace(/(.*) /, "$1" + caret) : caret + value; value = !row.ismenu || row.status == 'hidden' ? "" + value + "" : value; return '' + value + ''; + + (row.haschild == 1 || row.ismenu == 1 ? 'text-primary' : 'disabled') + ' btn-node-sub">' + (' '.repeat(row.level)) + (' '.repeat(parseInt(row.level) * 4)) + caret + ' ' + value + ''; }, name: function (value, row, index) { return !row.ismenu || row.status == 'hidden' ? "" + value + "" : value;