千家信息网

如何实现ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"如何实现ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单",在日常操作中,相信很多人在如何实现ThinkPHP+EasyUI之ComboTree中的会计科目树形
千家信息网最后更新 2026年11月04日如何实现ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单

这篇文章主要介绍"如何实现ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单",在日常操作中,相信很多人在如何实现ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何实现ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

这里在Thinkphp的模型层中使用递归来构建ComboTree所需的数据,代码及注解如下:

namespace Home\Model;use Think\Model;class AccountModel extends Model{  public function getTreeList(){    $data = $this->field('id,code,name,islast')->select();   foreach($data as &$v){        //这里加入了元素pid,用来标识父级id的      $len = strlen($v['code']);   if($len == 3){          //这里假设长度为3位的科目编码是一级,5位为二级科目,7位为三级,以此类推    $v['pid'] = 0;    } else {    $v['pid'] = substr($v['code'],0,$len-2);    }    }  return $this->createTree($data); //生成ComboTree所需的数据结构 }  //递归的方式生成子树 private function createSubTree($data,$pid){  $tree = array();  foreach($data as $k=>$v){   if($v['pid'] == $pid){    $newDate = array(     'id' => $v['id'],     'text'=>$v['name'],     'state'=>($v['islast'] != 1)?'closed':'open'    );     if($v['islast'] != 1){        //如果不是末级科目调用自身生成子数据     $subData = $this->createSubTree($data,$v['code']);     if(!empty($subData)){      $newDate['children'] = $subData;       }    }    array_push($tree,$newDate);   }     }   return $tree; }  //生成树,先从一级会计科目分类开始创建树形菜单数据 private function createTree($data){    $ret = array();  foreach($data as $k => $v){   if($v['pid'] == 0){    $newDate = array(  //创建为ComboTree能够识别的格式,这里我没有更好的办法了,只能这样处理     'id' => $v['id'],     'text'=>$v['name'],     'state'=>'closed'    );     $subData = $this->createSubTree($data,$v['code']);    if(!empty($subData)){     $newDate['children'] = $subData;      }    $ret[] = $newDate;    }      }  return $ret; }  }

类似上述的数据(如部门,地区等)需要构建树形菜单的简单修改代码后基本都能实现类似功能。

到此,关于"如何实现ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

科目 树形 菜单 会计 数据 学习 生成 代码 更多 递归 帮助 实用 以此类推 接下来 元素 办法 功能 地区 数据结构 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 有格互联网科技 广州万易互联网科技有限公司 互联网科技战争 万易互联网科技有限公司 掌上梦互联网科技 上海亿帐通互联网科技 湖南洣水互联网科技有限公司扣款 须眉科技是互联网公司吗 互联网时代科技改变生活 互联网5g黑科技有哪些 亳州好赞互联网科技有限公司 南京一网一红互联网科技有限公司 山东大美朱楼互联网科技有限公司 全球科技与互联网公司市值变化 北京互联网科技类企业分布 北京天晋互联网科技有限公司 科技互联网专业工作会议发言稿 山东蛋芒互联网科技有限公司 互联网对科技影响 山东特亿宝互联网科技有限公司 互联网科技有限公司图片 互联网中国科技 互联网科技开发公司 美国互联网科技 西安互联网科技公司 科技伦理 互联网公司 中国最先进互联网科技公司 海南科技产业互联网平台 内蒙古九一互联网科技
0