整体项目思路

1.子系统管理--新建项目
2.程序项目--新建项目
3.构建数据表--代码管理新增代码项,新增层级,添加数据表,并在里面添加所需字段
4.生成代码,解决报错,调整代码web下的action->action里;api、impl->service;frame->action->resources
5.模块管理配置地址--先创建根节点下的模块,再在里面创建下级节点,地址是html页面的source里复制frame-.html结束
模块权限配置
6.项目新增页面--下拉树控件mini-treeselect;点选区一级方法onbeforetreenodeselect;不能点选e.cancel="true";
控件值改变时触发数值联动 onvaluechanged;点击弹出选择页面控件mini-buttonedit, onbuttonedclick ,打开弹出框opendialog,需要回调把数据填进去,
不允许手动输入allowinput="false",还要做一个非空判断data!="close";多选框里展示已选在opendialog里新加一个param参数;
手动设置验证通过setIsValid(true);保存时重名验证,先去数据库中查是否存在,如果不存在可以保存;清空表单,在后端做个标记addcallback到前台
前台再根据标记判断;
7.项目修改页面--复制新增页面前端代码,从修改页面调用新增页面方法;在后端初始化中将所属地区value转换成文本codeItemService.getItemTextByCodeName(),
传到前台初始化接收;获取姓名userService.getUserNameByUserGuid(),把list里的name通过间隔符间隔开来StringUtil.join();修改页的重名验证
排除当前数据再剩余数据里验证;
8.项目详情页面--把guid转换成name,复制修改页的获取姓名操作,在前端代码里加上对应的id属性,在service层封装复用的代码,在service实例另一个service,
使用ContainFactory.getContainInfo().getComponet()方法;
9.项目列表页面--把guid转换成name,前端新建field和新添加的字段绑定;查询字段必填验证,require="true";在项目信息列表添加一列“预算信息”,
预算信息超链接渲染并且弹出预算信息列表页,在前端初始化页面里使用Util.getUrlParams()获取当前url上的guid参数,在弹出新增页上拼接上去,
新增页就获取了guid值,getRequestParamer()在后端接收guid,并在dataBean里赋值;前后端修改单选框为下拉列表,控件--mini-combobox;
给时间设置初始值dataBean.setUpdateTime(new Date());预算金额:只能是数字且该项目的所有预算总额不能超过项目的资金金额
先获取当前项目已有的数据总额,service自己写方法,预算总额和资金金额作比较判断;只展示当前项目的预算信息,在conditionMap中
用sqlCondition.eq()方法拼接sql语句,在把sql语句putAll到map语句中;
10.页面使用左树右表布局展示--构建根节点;构建父节点把项目信息表里的所有名称查出来,setId、setPid、setText;再次加载子节点,根据项目id
去找到项目下面所对应的预算信息查出来,拼接sql如上操作;遍历节点的时候加上当前父节点是否是叶子节点,依据时下面是否有预算信息,
sql拼接条件,用EpointCollectionUtils.isEmpty判断list是否为空;
11.新增页面初始化赋值--userSession.getUserGuid(),把前端页面guid隐藏掉,新增一个bind="username",后台根据guid获取name,用UserService
.getUserNameByUserGuid(userSession.getUserGuid()),前端接收,加上readonly=true;预算列表页点选,新增一个页面,预算名称做一个渲染
closedialog(data)关闭弹出页,传递参数到调用处,把接收到的值拆分,手动设置验证通过,把页面guid换成name;
12.树表联动---给当前三个节点设置自定义属性rNode.getColumns().put("nodeType","rNode"),前端onNodeClick="onTreeNodeClick",js获取nodeId,nodeType,
拼接成一个参数nodeinfo,写一个input控件存放nodeinfo,隐藏域,后台申明nodeinfo变量,getset方法写好,js里把值放到nodeinfo里,
epoint.refresh['nodeInfo','datagrid'],后端拆分nodeInfo,点击子节点时,父节点时,根节点时;列表类型的筛选,前端弹出里加上?select=select
pageload里  projectGuid = getRequestParameter("projectGuid");select = getRequestParameter("select"),再做判断eq;

<div role="control" label="项目名称" starred="true">
                                <input id="projectguid" class="mini-textbox hidden" bind="dataBean.projectguid" />
                                <input id="projectname" class="mini-buttonedit"onButtonClick="onProjectClick" bind="dataBean.projectname" required="true" allowInput="false"requiredErrorText="项目名称不能为空!" />
                            </div>

 //关闭预算先择页面的回调
        function onProjectClickCallBack(data){
        if(data!="close"){
            
            var split = data.split(";");
            
            mini.get("projectguid").setValue(split[0]);
            mini.get("projectname").setValue(split[1]);
            mini.get("projectname").setText(split[1]);
            
        } 
            mini.get("projectname").setIsValid(true);
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值