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 '';
+ + (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;