开发总结

本文介绍zTree JavaScript插件的应用及BPS业务流程平台的开发实践。详细讲解了zTree的初始化过程、与数据库交互的方法以及在BPS流程中如何通过角色权限控制流程节点的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经费申请->合同->经费报账

知识点:

1、zTree的使用
2、BPS流程的来发

zTree的使用

zTree是一个功能很强大的js树。可接受json数据直接显示成树装图。是基于jquery。
树的初始化,需要三个参数如下。
1、$(“#treeDemo”):这是一个div对象,用来确定树生成的位置。
2、setting:是一个json对象,用来确定这颗树所有的设置以及调用的方法。
3、zNodes:这是一个json对象。是树的初始化数据。(我在用的时候系统过滤双引号,所以我是在后台拼接的json字符串,再在前台用eval('(' +zNodes+ ')')转化成json对象。)

zTree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);

初始化树后在setting可以添加callback,这里是很多js方法的入口,修改,删除,右键事件。添加事件不需要再这里配置(以版本对应的API为准)

callback: {
    beforeDrag: beforeDrag,
    onRemove: onRemove,
    onRename: onRename,
    onRightClick: OnRightClick
    }

将增加,修改后树保存到数据库
删除的方法放在function onRemove(){}方法中。当然也可以统一在保存时候做,看客户需求。

function submits(){
            var zTree = $.fn.zTree.getZTreeObj("treeDemo");
            var size = zTree.getNodes().length;
            var Node;
            for(var i=0;i<size;i++){
                Node = zTree.getNodes()[i];
                var id = Node.id;
                var name = Node.name;
                var pId = Node.pId;
                var level = Node.level;
                    $.ajax({
                        url:"<%=path%>/selfbuilding/insertMaterial.action",
                        type:"POST",
                        data:{"id":id,"name":name,"pId":pId,"level":level},
                        async: false,
                        success:function(data){
                            if(data != null){
                                pId = data;
                                return;
                            }
                        }
                    }); 
                    if(Node.children != null){
                    var length = Node.children.length;
                    }else{
                        length =0;
                    }
                    for(var j=0;j<length;j++){
                        var node = Node.children[j];
                            var id = node.id;
                            var name = node.name;
                            var pId = pId;
                            var level = node.level;
                              $.ajax({
                                url:"<%=path%>/selfbuilding/insertMaterial.action",
                                type:"POST",
                                async: false,
                                data:{"id":id,"name":name,"pId":pId,"level":level},
                                success:function(data){
                                    if(data != null){
                                        return;
                                    }
                                }
                            });
                        } 
            } 
            alert("保存成功");
        } 

ztree不方便的地方,树在保存的时候对象太复杂,没有直接的json传到后台。
ztreeAPI http://www.jyvtc.com/dzb/uiFramework/js/zTree-v3.2/api/API_cn.html

BPS流程的开发

BPS流程简介:业界第一个完全基于业务化思想实现的流程平台产品(工作流)。
在BPS中,主要理解工作项的概念,一个流程对应一个bps流。有唯一的流程task_id。这次做的工作流全都是基于角色做的,只要用户有流程中需要的角色,就能操作流程中对应的节点。
在处理并行问题的时候,无论在并行中还是在单行中,只要打回,就创建一个新的流程,关闭现有的流程,造成一种打回的假相。(虽然不合理,但是满足需求)。
由于系统中使用的api都是以前开发好的,就不粘了。BPS原生api在优快云中可以下载。

心得:前面挖的坑,后面真的要一点一点填。遇到问题,早改早好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值