前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EngineerCMS-用golang和bootstrap table打造无限级目录

EngineerCMS-用golang和bootstrap table打造无限级目录

作者头像
hotqin888
发布2018-09-11 14:48:04
9770
发布2018-09-11 14:48:04
举报
文章被收录于专栏:hotqin888的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1334396

土木工程师的个人知识管理和发布系统,也可满足项目上团队之间的协作,作为平台,利用golang的简洁,自带服务,不用环境,好处很多。

经过这个周末的撸码,最最关键最最难的最最核心的东西全部消灭了。

它就是:自定义(预设)项目类别:水利的,还是电力的?还是市政的?然后在此类别下,再安排不同的阶段:水利从规划开始,电力却是预可研……

到了新建项目的时候,只要选择哪个类别,就相应显示对应的预设好的下级目录,根据需要,我是水工专业的,我从施工图阶段做起的,那么我就不选2级目录的可研啊,初设啊,我也不选3级目录的规划的,机电啊……

另一个值得推荐的目录排列方式,经过研究,有这样一个最最基本的原则,就是少的放前面,多的往后放,资料少的目录(比如来往函件)意味着 可以往下级放,而资料多的比如图纸,要往前排。2个问题,一个是分级的时候,谁放上级,谁放下级,另一个是排序的时候谁排前?

第一个问题:项目名——阶段——这里是先放文档类型比如报告、图纸、计算书,还是放专业比如水工施工建筑?经过仔细研究,并从这个cms是我个人使用角度,专业的数量远少于文档类型的数量,比如,我只要水工专业和综合,有时候用一下地质的,规划的,但毕竟还是很少,不超过5个;而文档类型就多了去了,联系单,修改单,报告,图纸,计算书,来函,回函,会议纪要,报告单,生成活动记录表,委外,验收,合同……显然,文档类型应该放专业后。而院企业标准里将文档类型放前,它只是在编号的时候放在阶段后面,并没规定资料目录一定要将文档类型放阶段下一级。而P3中就没有像档案那样将文档类型放阶段下级。

好了,这个分级顺序的确很纠结。阶段——专业——文档类型—比如这里类型为图纸,还需要下级:大坝,电站,输电,引水……

所以,回到最开头,本cms提供任意级别的目录,根据预定的级别名称和级次,自动生成树状的无限级的侧栏目录——随后可以增删改。比如施工图阶段下多了规划专业,那么可以删掉。

上图:

后台查看目录设置(预设),每个类别下对应的分级一目了然。此时还不是树状,只是给定每个层级中包含哪些名称。

添加类别:

任意修改类别。

水利类别下对应的分级,各个阶段,各个专业,和不同文档类型等。

添加分级目录:

修改某个分级目录:

项目列表页,这次直接用bootstrap table做了。

添加项目,留意前面在后台设置的类别这里可以进行选择

选择了类别后,下面出现对应的目录分级,可以选需要的各个层级的名称了。

点击保存,就在数据库生成了树状的目录了。这个是用递归算法做的,以前用循环做,代码老长,现在只要十行内解决了。

查看某个具体项目,左侧就是查询数据库树状目录数据,又用递归算法生成嵌套的json数据,提供给前台的treeview,生成这样的层级目录。

这次我要让每级目录下都可以放资料,而不是像以前那样,只能是最下一级才放资料。

添加项目时,选择目录分级效果。

添加项目时部分选择分级目录效果

总体代码量大大减少,并优雅很多。

 接下来给每个项目每一级目录赋予权限,只剩下这个核心了。

其他都是锦上添花的效果,比如收藏成果,检索成果,不同机器上相同项目之间同步资料等功能不影响使用了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年11月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档