LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

工作流中如何实现求和、条件跳转、数字自动转为大写、多个下拉控件之间的联动等各类效果?

admin
2015年2月25日 21:18 本文热度 16919
特别说明:本教程是旧版工作流教程,新版工作流无须这么麻烦,可以直接设置,无须用户接触到Javascript,以下例子仅供开拓思路参考。当然,新版工作流中仍然支持以下实现方法。

:工作流中如何实现求和、条件跳转、数字自动转为大写、多个下拉控件之间的联动等各类效果?
 
 
:点晴OA的工作流模块支持javascript脚本,可以利用javascript脚本实现各类特定效果。
 
1、求和
以上面两个需要求和的为例说明(代码附件:表单代码.txt 直接预览),在设计表单的时候,注意应该将合计中的那两个控件设置为只读、以防止用户自己更改合计值,方法是在源码模式下的对应控件中加入: readonly="readonly",先在源码模式下找到需要求和的控件id,然后在加入:
<input type="text" style="width:56px;height:21px;" id="CS21" title="CS001" name="CS21" maxlength="255" size="7" onchange="if(!isnumeric(this.value,3)){this.value=0};if(this.value==''){this.value=0;};" />
加入后效果:
<input type="text" style="width:56px;height:21px;" id="CS21" title="CS001" name="CS21" maxlength="255" size="7" onchange="if(!isnumeric(this.value,3)){this.value=0};if(this.value==''){this.value=0;};" readonly="readonly" />
然后找到需要将合计值计入以上控件的各个控件,在“表体JS脚本”中编写相应的js脚本函数:
//自动计算单据张数合计
function sub_danju(){
document.getElementById('CS21').value=(document.getElementById('CS10').value)-(-document.getElementById('CS11').value)-(-document.getElementById('CS12').value)-(-document.getElementById('CS13').value)-(-document.getElementById('CS14').value)-(-document.getElementById('CS15').value)-(-document.getElementById('CS16').value)
}
//自动计算合计金额
function sub_fee(){
document.getElementById('CS30').value=(document.getElementById('CS22').value)-(-document.getElementById('CS23').value)-(-document.getElementById('CS24').value)-(-document.getElementById('CS25').value)-(-document.getElementById('CS26').value)-(-document.getElementById('CS27').value)-(-document.getElementById('CS28').value)-(-document.getElementById('CS29').value)
}
//自动计算出差津贴,按每天50元计算
function sub_jintie(){
document.getElementById('CS29').value=document.getElementById('CS20').value*50;
sub_fee();
}
如果提交前还需要对报销总金额进行一下判断,那么可以在“提交前JS脚本”中添加判断js脚本:
if(document.getElementById('CS30').value-0>10000){alert('报销金额禁止大于10000元!');return false;}
 
完成上面的js脚本编写后,需要在相应录入数据的控件中增加onkeyup或onchange事件来触发上面的函数(onkeyup:每一次键盘按键弹起立即生效、onchange:光标离开控件并且数据发生变化时才生效),实现自动求和效果:
a、在天数录入控件(共([ ])天)的onkeyup或onchange事件中增加 sub_jintie() 函数,实现自动计算出差津贴:
<input type="text" style="width:52px;height:21px;" id="CS20" title="CS001" name="CS20" maxlength="255" size="6" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_jintie();" />
 
b、在单据张数相关控件的onkeyup或onchange事件中增加 sub_danju() 函数,实现自动计算单据张数合计值:
<input type="text" style="width:114px;height:21px;" id="CS10" title="CS001" name="CS10" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_danju();" />
<input type="text" style="width:114px;height:21px;" id="CS11" title="CS001" name="CS11" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_danju();" />
<input type="text" style="width:114px;height:21px;" id="CS12" title="CS001" name="CS12" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_danju();" />
<input type="text" style="width:114px;height:21px;" id="CS13" title="CS001" name="CS13" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_danju();" />
<input type="text" style="width:114px;height:21px;" id="CS14" title="CS001" name="CS14" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_danju();" />
<input type="text" style="width:114px;height:21px;" id="CS15" title="CS001" name="CS15" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_danju();" />
<input type="text" style="width:114px;height:21px;" id="CS16" title="CS001" name="CS16" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_danju();" />
 
c、在单据张数相关控件的onkeyup或onchange事件中增加 sub_fee() 函数,实现自动计算单据张数合计值:
<input type="text" style="width:114px;height:21px;" id="CS22" title="CS001" name="CS22" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_fee();" />
<input type="text" style="width:114px;height:21px;" id="CS23" title="CS001" name="CS23" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_fee();" />
<input type="text" style="width:114px;height:21px;" id="CS24" title="CS001" name="CS24" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_fee();" />
<input type="text" style="width:114px;height:21px;" id="CS25" title="CS001" name="CS25" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_fee();" />
<input type="text" style="width:114px;height:21px;" id="CS26" title="CS001" name="CS26" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_fee();" />
<input type="text" style="width:114px;height:21px;" id="CS27" title="CS001" name="CS27" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_fee();" />
<input type="text" style="width:114px;height:21px;" id="CS28" title="CS001" name="CS28" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_fee();" />
<input type="text" style="width:114px;height:21px;" id="CS29" title="CS001" name="CS29" maxlength="255" size="14" onchange="if(!isnumeric(this.value,1)){this.value=0};if(this.value==''){this.value=0;};sub_fee();" />
通过以上的设置后,这个表单就可以实现多个单元格的不同合计效果了。

该文章在 2018/11/21 15:13:08 编辑过

全部评论1

admin
2015年2月26日 23:34
2、条件判断、自动跳转效果实现方法
点晴OA工作流如何实现串行审核、并行会审、并行单审和条件跳转审核的流程?[31575]
  http://8559.oa22.cn

3、一、二级菜单联动效果实现
方法1:将第一级控件作为第二级控件的自定义SQL查询条件;
方法2:更简单的方法,直接将第一级和第二级做到同一个数据源中即可,用户只需要一次点击就可以自动填充一级和二级控件,一个数据源就搞定了。
一级    二级
笔       铅笔
笔      钢笔
书      无皮本
书      有皮本

相关教程:
工作流数据来源设置及自定义SQL格式说明,实现用户查询调用
   http://8368.oa22.cn

该评论在 2016/1/12 17:01:26 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved