泛微E9表单建模常用功能总结

1、页面扩展相关

1.1、根据扩展id执行保存逻辑

image-20210413235425456
//1368 为页面扩展的id
javascript:ModeForm.doCardSubmit(1368,'0','',true,function(billid){
       console.log("===执行系统保存完毕=数据id为=",billid)
 });

1.2、调用其他的页面扩展上的接口

在页面扩展的自定义java接口里,调用其他的页面扩展上的接口

weaver.formmode.data.ModeDataManager ModeDataManager = new weaver.formmode.data.ModeDataManager();
ModeDataManager.setFormid(formid);//表单id ;int类型
ModeDataManager.setBillid(billid);//数据id ;int类型
ModeDataManager.setFormmodeid(formmodeid);//模块id ;int类型
ModeDataManager.setPageexpandid(pageexpandid);//页面扩展id ;int类型
ModeDataManager.setUser(user);//当前用户  weaver.hrm.User对象
ModeDataManager.doInterface(pageexpandid);//调用代码,触发改页面扩展上的接口

1.3、如何在表单点击保存后关闭窗口

在建模的【模块】【页面扩展】【新建保存】 或者【编辑保存】

点击【回调函数】 编写对应的编辑窗口方法

1221221

1.4、如何获取查询列表里勾选的记录的id,和清空前一次选择的值以及刷新列表

-----------------------------E8--------------------------

页面扩展按钮的

打开方式:其他

链接目标来源:手动输入

链接目标地址:

javascript:

var href = window.location.href;

var win = window;

if(href.indexOf("CustomSearchBySimple.jsp")!=-1){

win = document.getElementById("tabcontentframe").contentWindow;
}

var ids= win._xtable_CheckedCheckboxId();

alert("选中的记录id为:"+ids);

如果需要清空前一次选择的值,需要调用

win._xtable_CleanCheckedCheckbox();

重新加载列表数据:

win._table.reLoad();

-----------------------------E9--------------------------

页面扩展按钮的

打开方式:其他

链接目标来源:手动输入

链接目标地址:

javascript:var ids = ModeList.getCheckedID();

alert("选中的记录id为:"+ids);

如果需要清空前一次选择的值,需要调用

ModeList.clearChecked();

重新加载列表数据:

ModeList.reloadTable();

-----------------------------E8--------------------------

页面扩展按钮的

打开方式:其他

链接目标来源:手动输入

链接目标地址:

javascript:

var href = window.location.href;

var win = window;

if(href.indexOf("CustomSearchBySimple.jsp")!=-1){

win = document.getElementById("tabcontentframe").contentWindow;
}

var ids= win._xtable_CheckedCheckboxId();

alert("选中的记录id为:"+ids);

如果需要清空前一次选择的值,需要调用

win._xtable_CleanCheckedCheckbox();

重新加载列表数据:

win._table.reLoad();

-----------------------------E9--------------------------

页面扩展按钮的

打开方式:其他

链接目标来源:手动输入

链接目标地址:

javascript:var ids = ModeList.getCheckedID();

alert("选中的记录id为:"+ids);

如果需要清空前一次选择的值,需要调用

ModeList.clearChecked();

重新加载列表数据:
ModeList.reloadTable();

1.5、获取勾选数据跳转指定页面方法

javascript:
var ids=_xtable_CheckedCheckboxId();
alert("选中的记录id为:"+ids);
window.open('/weavernorth/formmode/batchdownload.jsp?ids='+ids,'_blank');
//alert("选中的记录id为:"+ids); 

1.6、链接目标地址

1、只有在查询列表中使用的按钮才能在代码块写js方法,在链接目标地址中调用对应方法。

2、在显示、编辑、新建页面的按钮需要把方法js登都写在该编辑框内。

image-20210427134122012

1.7、tab页中获取对应卡片的显示模板链接

1317 image-20220824161022987

2、模块基础数据

2.1、模块关联数据查询sql

select a.id,a.formid,a.modename,b.tablename  from modeinfo a,workflow_bill b where a.formid = b.id and a.isdelete=0 order by modename asc

3、彻底删除应用和模块

ecology\WEB-INF\prop\formmode.properties文件中添加
#删除模块功能添加:
canDeleteModeInfo=y
#删除应用功能添加:
canDeleteModeTreeField=y
添加后无需重启服务,即可在对应的模块基本信息和应用树右键出现 【删除】 按钮

4、查询列表

4.1、查询页面把数据id做为参数

/spa/cube/index.html#/main/cube/tree?id=2&xmid=$billid$

4.2、查询列表代码块

<style type="text/css">
span.tag{
  white-space:nowrap;
  border-radius:3px;padding:1px 5px;margin:0 0 0 5px;font-size:12px;
  color:#888;background-color:#f8f8f8;border:1px solid #ccc;
  display:inline-block;
}
span.t{background-color:transparent;border:0;}

span.t初级{color:#fff;background-color:#87d068;border:1px solid #87d068;}
span.t中级{color:#fff;background-color:#2db7f5;border:1px solid #2db7f5;}
span.t高级{color:#fff;background-color:#108ee9;border:1px solid #108ee9;}

    #btnDiv1 button,#btnDiv2 button{
      margin:8px 10px;
    }
    #spanDiv1{
      width:97%;
      font-size: 14px;
      border-bottom: 1px solid #ccc;
      margin:8px 10px;
      line-height: 1.5;
      padding:5px 0px;
    }
    
</style>
<script type="text/javascript">
jQuery(function($){
   jQuery(".wea-new-top").after("<div id='btnDiv1'></div>");
   addBtn("btnDiv1","顶部随机弹出message",'showMessage()');
   addBtn("btnDiv1","获取列表选中ID",'getCheckedIDFun()');
   addBtn("btnDiv1","获取列表未选中ID",'getUnCheckedID()');
   addBtn("btnDiv1","清除选中的checkbox",'clearChecked()');
   addBtn("btnDiv1","全选",'setAllChecked()');
   addBtn("btnDiv1","重新加载列表数据",'reloadTable()');
   addBtn("btnDiv1","获取当页表格json数据",'getTableDatas()');
   addBtn("btnDiv1","获取当页表格json数据",'getTableDatasWithSpan()');
   
})

function addBtn(containerid,btnname,clickFun){
  $("#"+containerid).append("<button type='button' onClick='"+clickFun+"' class='ant-btn ant-btn-primary'><span>"+btnname+"</span></button>");
}


function showMessage(){
    var num=Math.floor(Math.random()*4+1)
    var msg = "ModeList.showMessage('消息内容')";
    ModeList.showMessage("这是消息", num);
    
  }
  


function getCheckedIDFun(){
  var ids = ModeList.getCheckedID();
  if(ids==""){
    ModeList.showMessage("没有选择记录", 2)
  }else{
    ModeList.showMessage("选择的ID是:"+ids, 4)
  }
}

function getUnCheckedID(){
  var ids = ModeList.getUnCheckedID();
  if(ids==""){
    ModeList.showMessage("没有未选中记录", 2)
  }else{
    ModeList.showMessage("未选择的ID是:"+ids, 4)
  }
}
  
function clearChecked(){
  ModeList.clearChecked();
  ModeList.showMessage("选中的记录被清除选中了")
}

  
function setAllChecked(){
  ModeList.setAllChecked();
  ModeList.showMessage("选中的记录都被选中了")
}

function reloadTable(){
  ModeList.reloadTable();
  ModeList.showMessage("重新加载了列表数据")
}

function getTableDatas(){
  var datas = ModeList.getTableDatas();
  console.log("当页数据为:",datas);
  ModeList.showMessage("当页数据为请查看console控制台")
}

function getTableDatasWithSpan(){
  var datas = ModeList.getTableDatasWithSpan();
  console.log("当页数据带显示内容为:",datas);
  ModeList.showMessage("当页数据带显示内容请查看console控制台")
}
</script>

4.3、隐藏头部信息

链接地址增加hidetop=1参数

5、树形

5.1、树的数据限制条件,PARM()取链接地址参数

image-20210427130009758

6、js获取当前日期

//当前日期获取的js方法  yyyy-MM-dd
function formatDate() {      
var date = new Date();
    var myyear = date.getFullYear();    
    var mymonth = date.getMonth()+1;     
    var myweekday = date.getDate();      
    if(mymonth < 10){     
        mymonth = "0" + mymonth;     
    }      
    if(myweekday < 10){     
        myweekday = "0" + myweekday;     
    }     
    return (myyear+"-"+mymonth + "-" + myweekday);      
}  

7、获取表单名称

/**
     * b根据表单建模的模块id
     * 获取对应的表单名称
     * @param formmodeid 模块id
     * @return 表单数据库名称
     */
public static String getFormModeTableByFormId(int formmodeid) {
    String billTableName = "";
    RecordSet rs = new RecordSet();
    String sql = "select tablename from workflow_bill wb left join modeinfo m on 							wb.id=m.formid where m.id=?";
    rs.executeQuery(sql, formmodeid);
    if (rs.next()) {
        billTableName = Util.null2String(rs.getString("tablename"));
    }
    return billTableName;
}

8、插入数据,权限重构

/**
     * 将数据插入建模表,并重构权限
     *
     * @param requestid
     * @param uuid
     */
    private void insert2Mode(String requestid, String uuid, String cwczz) {
        //模块id
        int formmodeid = Integer.valueOf(getPropValue("wn_mbs)", "formmodeid"));
        //对应的表单
        String billtablename = FormModeUtil.getFormModeTableByFormId(formmodeid);
        ModeDataIdUpdate modeDataIdUpdate = new ModeDataIdUpdate();
        ModeRightInfo modeRightInfo = new ModeRightInfo();
        //用户类型
        int usertype = 0;
        //创建人id
        int creater = 1;
        //当前日期
        String currentdate = TimeUtil.getCurrentDateString();
        //当前时间
        String currenttime = TimeUtil.getOnlyCurrentTimeString();
        //插入建模的数据id
        int billid = modeDataIdUpdate.getModeDataNewId(billtablename, formmodeid, creater, usertype, currentdate, 			         	currenttime);
        RecordSet rs = new RecordSet();
        String sql = "update " + billtablename + " set reqid=?,uuid=?,cwczz=? where id=?";
        rs.executeQuery(sql, requestid, uuid, cwczz, billid);
        modeRightInfo.setNewRight(true);
        modeRightInfo.editModeDataShare(creater, formmodeid, billid);
    }

9、建模分组展示

分组列表–【1905版本】

默认增加enableTreeList=y来开启此功能,注意此功能默认为不开启,即默认不可见在weaver\ecology\WEB-INF\prop\formmode.properties文件中加入配置信息:

enableTreeList=y

敲重点!!!
重点:仅本模块创建的浏览框引用到本模块才支持分组列表

### 关于E9系统的数据字典资源及使用指南 对于希望深入了解并有效利用Ecology 9 (简称E9) 系统的技术人员而言,获取官方提供的数据字典及相关文档是非常重要的。这类资源能够帮助技术人员更好地理解和操作该系统的核心数据结构。 #### 获取E9 数据字典的方法 1. **官方网站和技术支持渠道** 官方网站通常会提供最新的技术文档和支持服务。建议访问官网的服务中心或技术支持页面查找所需的数据字典文件[^1]。 2. **社区论坛和开发者交流平台** 加入的产品用户群组或是专业的技术论坛,在这里可以与其他使用者分享经验和技巧,有时也能找到由其他成员上传的相关资料。 3. **第三方开源项目库** 如提到的GitCode平台上可能存在一些由社区贡献者维护的非官方版本的数据字典或其他辅助工具。不过需要注意的是,这些资源的质量参差不齐,应谨慎评估其可靠性和适用性。 4. **联系销售代表或客服团队** 如果有购买记录或者正在试用期内的企业客户,则可以直接向负责对接的销售人员询问如何获得正式版的数据字典文档和服务手册。 #### 使用E9 数据字典的最佳实践 为了最大化发挥数据字典的价值: - 应当定期更新本地保存的数据字典副本以保持与实际使用的软件版本一致; - 配合阅读官方发布的API接口说明以及案例教程来加深理解各个字段的具体含义及其应用场景; - 利用可视化建模工具将复杂的表格关系图解化以便直观展示整个数据库架构; ```sql SELECT * FROM information_schema.tables WHERE table_schema=&#39;ecology9&#39;; ``` 上述SQL语句可以帮助快速浏览当前环境中所有的E9相关表名列表。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值