当前位置:   article > 正文

泛微E9表单建模常用功能总结_泛微e9亮点功能集锦

泛微e9亮点功能集锦

1、页面扩展相关

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

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

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108

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

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

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
  • 1

3、彻底删除应用和模块

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

4、查询列表

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

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

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100

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);      
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

9、建模分组展示

分组列表–【1905版本】

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

enableTreeList=y

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/502937
推荐阅读
相关标签
  

闽ICP备14008679号