泛微Ecology8.0二次开发指导手册

文章目录

    • 一、开发准备
    • 二、开发环境搭建
      • 步骤1:从服务器上拷贝WEAVER/ecology代码
      • 步骤2:把本地代码导入到myeclipse工程中
      • 步骤3:配置ecology项目环境
      • 步骤4:修改ecology项目中数据库配置文件
      • 步骤5:Resin配置文件
      • 步骤6:启动运行
    • 三、Ecology8系统里一个jsp页面通常需要包含什么内容
      • 1、相关的操作的类、jsp标签、样式等
      • 2、右键菜单
      • 3、多语言标签
      • 4、操作权限
    • 四、E8控件说明
      • Tab组件
      • 浏览框组件-标签
      • 表单布局组件
      • 可编辑表格
      • 分页控件
      • Java验证复选框代码:
      • 弹出框组件
      • 右键菜单
      • weaverTree树形组件
      • 日期控件
      • 扩展日期控件
      • 开关组件
    • 五、OA流程自定义接口

一、开发准备

Ecology系统说明

  • ecology8.0文件页面编码为UTF-8
  • ecology8.0 JDK版本 1.6
  • ecology8.0 应用服务器为Resin

Ecology安装目录说明:

  • ecology:OA主程序目录
  • JDK:Java目录
  • Resin:应用服务器的目录

ecology主要目录说明:
ecology

  • classbean 存放编译后的CLASS文件

  • js 系统中使用的JAVASCRIPT和VBSCRIPT脚本

  • css 系统中JSP页面使用的样式

  • images

  • images_face

  • images_frame 系统中使用的图片的存放目录

  • log 系统中日志存放目录

  • sqlupgrade升级SQL脚本目录

  • workflow 各功能分文件夹存放每个功能的文件

WEB-INF

  • lib 系统依赖Jar文件目录
  • prop 系统配置文件存放
  • service 系统的接口配置文件的存放
  • securitylog 安全补丁日志
  • securityXML自定义安全补丁配置目录

二、开发环境搭建

步骤1:从服务器上拷贝WEAVER/ecology代码

从服务器拷贝ecology相关代码到本地,目录服务器上文件如下图,需拷贝ecology、Resin,如果本机已安装JDK则可以不需拷贝JDK
泛微Ecology8.0二次开发指导手册_第1张图片

步骤2:把本地代码导入到myeclipse工程中

泛微Ecology8.0二次开发指导手册_第2张图片泛微Ecology8.0二次开发指导手册_第3张图片
点击Finish , 之后项目会build project建立索引会有很长一段时间的等待。

步骤3:配置ecology项目环境

配置Resin 3.x

泛微Ecology8.0二次开发指导手册_第4张图片

配置Ecology所需的JDK

泛微Ecology8.0二次开发指导手册_第5张图片
点击Add JAR/ZIP 加入Resin->lib目录下所有的jar包

泛微Ecology8.0二次开发指导手册_第6张图片

步骤4:修改ecology项目中数据库配置文件

请一定要记得修改数据库配置文件中的数据库配置

配置文件:D:/weaver/ecology/WEB-INF/prop/weaver.properties

SQLServer数据库:

在这里插入图片描述

步骤5:Resin配置文件

配置文件Resin/conf/resin.conf配置ecology8所在目录。root-directory为本地ecology8的路径。
泛微Ecology8.0二次开发指导手册_第7张图片
修改默认Resin服务监听端口
泛微Ecology8.0二次开发指导手册_第8张图片

步骤6:启动运行

点击应用服务Resin3–Star

泛微Ecology8.0二次开发指导手册_第9张图片
Console控制台出现以下信息,则代表启动成功!
泛微Ecology8.0二次开发指导手册_第10张图片

三、Ecology8系统里一个jsp页面通常需要包含什么内容

• 相关的操作的类、JSP标签、样式等
• 右键菜单
• 多语言标签
• 操作权限

1、相关的操作的类、jsp标签、样式等

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util,weaver.hrm.common.*,weaver.conn.*" %>
<%@ page import="weaver.file.*,net.sf.json.*,java.util.*,java.text.*,weaver.common.DataBook" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea"%>
<%@ taglib uri="/browserTag" prefix="brow"%>
<script language=javascript src="/js/ecology8/docs/docSearchInit_wev8.js">script><!—高级搜索-->

2、右键菜单

<%@ include file="/systeminfo/RightClickMenuConent_wev8.jsp" %>
<%
    if(HrmUserVarify.checkUserRight("HrmCountriesAdd:Add", user)){ //判断是否有对应的权限,有则显示该菜单
        RCMenu += "{"+SystemEnv.getHtmlLabelName(82,user.getLanguage())+",javascript:doAdd();,_self} " ;
            /*标签显示菜单名,如 82 为新增*/
                RCMenuHeight += RCMenuHeightStep;
    }
%>
<%@ include file="/systeminfo/RightClickMenu_w3ev8.jsp" %>

3、多语言标签

<%=SystemEnv.getHtmlLabelName(21995,user.getLanguage())%>

这样的形式来表示,其中的数字21995,就是表示高级搜索 ,同时可以通过

select labelname from htmllabelinfo where indexid=21995 and languageid=7

来获取到“高级搜索”这个显示名称;

  • languageid=7表示中文显示名称,
  • languageid=8表示英文显示名称,
  • languageid=9表示繁体显示名称.

?? 如何在数据中添加多语言版本的标签 ??
举个栗子:
添加的标签请使用负的ID,这样可以不与之前的标签产生冲突,方便后期维护升级,ID值通过sql获取

Select min(id)-1 from HtmlLabelIndex

delete from HtmlLabelIndex where id=-11705
GO
delete from HtmlLabelInfo where indexid=-11705
GO
INSERT INTO HtmlLabelIndex values(-11705,‘多语言标签’)
GO
INSERT INTO HtmlLabelInfo VALUES(-11705,‘多语言标签’,7)
GO
INSERT INTO HtmlLabelInfo VALUES(-11705,’ Multilingual label ',8)
GO
INSERT INTO HtmlLabelInfo VALUES(-11705,‘多語言標簽’,9)
GO

4、操作权限

通过sql先在数据库添加一个需要的权限


delete from SystemRightDetail where rightid =-1031
GO
delete from SystemRightsLanguage where id =-1031
GO
delete from SystemRights where id =-1031
GO
insert into SystemRights (id,rightdesc,righttype) values (-1031,‘合同管理’,7)
GO
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-1031,9,‘合同管理’,‘合同管理’)
GO
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-1031,8,‘oaproject contractManage’,‘oaproject contractManage’)
GO
insert into SystemRightsLanguage (id,languageid,rightname,rightdesc) values (-1031,7,‘合同管理’,‘合同管理’)
GO
insert into SystemRightDetail (id,rightdetailname,rightdetail,rightid) values (-1031,‘合同管理’,‘oaproject_contractManage’,-1031)
GO

在要需要控制权限的jsp页面上加上以下的代码就可以


<%@ include file="/systeminfo/init.jsp" %>
<%
if(!HrmUserVarify.checkUserRight(“oaproject_contractManage “, user) ) {
response.sendRedirect(”/notice/noright.jsp”);
return;
}
%>

四、E8控件说明

Tab组件

效果图:
在这里插入图片描述
实现方式有以下两种:

  1. Iframe形式引用:
$(function(){
    $('.e8_box').Tabs({
        getLine:1,// 是否需要下标指示器,默认为1
        iframe:"tabcontentframe",//tab页要加载的内容iframe的ID
        mouldID:"<%= MouldIDConst.getID("formmode")%>",//指定图标id
        staticOnLoad:true,//是否使用静态onload事件,默认是false。即将onload事件写在iframe中,如: