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

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

经过这个周末的撸码,最最关键最最难的最最核心的东西全部消灭了。
它就是:自定义(预设)项目类别:水利的,还是电力的?还是市政的?然后在此类别下,再安排不同的阶段:水利从规划开始,电力却是预可研……
到了新建项目的时候,只要选择哪个类别,就相应显示对应的预设好的下级目录,根据需要,我是水工专业的,我从施工图阶段做起的,那么我就不选2级目录的可研啊,初设啊,我也不选3级目录的规划的,机电啊……
另一个值得推荐的目录排列方式,经过研究,有这样一个最最基本的原则,就是少的放前面,多的往后放,资料少的目录(比如来往函件)意味着 可以往下级放,而资料多的比如图纸,要往前排。2个问题,一个是分级的时候,谁放上级,谁放下级,另一个是排序的时候谁排前?
第一个问题:项目名——阶段——这里是先放文档类型比如报告、图纸、计算书,还是放专业比如水工施工建筑?经过仔细研究,并从这个cms是我个人使用角度,专业的数量远少于文档类型的数量,比如,我只要水工专业和综合,有时候用一下地质的,规划的,但毕竟还是很少,不超过5个;而文档类型就多了去了,联系单,修改单,报告,图纸,计算书,来函,回函,会议纪要,报告单,生成活动记录表,委外,验收,合同……显然,文档类型应该放专业后。而院企业标准里将文档类型放前,它只是在编号的时候放在阶段后面,并没规定资料目录一定要将文档类型放阶段下一级。而P3中就没有像档案那样将文档类型放阶段下级。
好了,这个分级顺序的确很纠结。阶段——专业——文档类型—比如这里类型为图纸,还需要下级:大坝,电站,输电,引水……
所以,回到最开头,本cms提供任意级别的目录,根据预定的级别名称和级次,自动生成树状的无限级的侧栏目录——随后可以增删改。比如施工图阶段下多了规划专业,那么可以删掉。
上图:
后台查看目录设置(预设),每个类别下对应的分级一目了然。此时还不是树状,只是给定每个层级中包含哪些名称。
图片
添加类别:
图片
任意修改类别。
图片
水利类别下对应的分级,各个阶段,各个专业,和不同文档类型等。
添加分级目录:
图片
修改某个分级目录:
图片
项目列表页,这次直接用bootstrap table做了。
图片
添加项目,留意前面在后台设置的类别这里可以进行选择
图片
选择了类别后,下面出现对应的目录分级,可以选需要的各个层级的名称了。
点击保存,就在数据库生成了树状的目录了。这个是用递归算法做的,以前用循环做,代码老长,现在只要十行内解决了。
图片
查看某个具体项目,左侧就是查询数据库树状目录数据,又用递归算法生成嵌套的json数据,提供给前台的treeview,生成这样的层级目录。
这次我要让每级目录下都可以放资料,而不是像以前那样,只能是最下一级才放资料。
图片

添加项目时,选择目录分级效果。
图片
添加项目时部分选择分级目录效果
图片
总体代码量大大减少,并优雅很多。
 接下来给每个项目每一级目录赋予权限,只剩下这个核心了。
其他都是锦上添花的效果,比如收藏成果,检索成果,不同机器上相同项目之间同步资料等功能不影响使用了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值