工作流中如何實現(xiàn)求和、條件跳轉(zhuǎn)、數(shù)字自動轉(zhuǎn)為大寫、多個下拉控件之間的聯(lián)動等各類效果?
當(dāng)前位置:點晴教程→點晴OA辦公管理信息系統(tǒng)
→『 工作流使用交流 』
特別說明:本教程是舊版工作流教程,新版工作流無須這么麻煩,可以直接設(shè)置,無須用戶接觸到Javascript,以下例子僅供開拓思路參考。當(dāng)然,新版工作流中仍然支持以下實現(xiàn)方法。 :工作流中如何實現(xiàn)求和、條件跳轉(zhuǎn)、數(shù)字自動轉(zhuǎn)為大寫、多個下拉控件之間的聯(lián)動等各類效果?
:點晴OA的工作流模塊支持javascript腳本,可以利用javascript腳本實現(xiàn)各類特定效果。
1、求和
以上面兩個需要求和的為例說明(代碼附件:表單代碼.txt ),在設(shè)計表單的時候,注意應(yīng)該將合計中的那兩個控件設(shè)置為只讀、以防止用戶自己更改合計值,方法是在源碼模式下的對應(yīng)控件中加入: 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腳本”中編寫相應(yīng)的js腳本函數(shù):
//自動計算單據(jù)張數(shù)合計
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();
}
如果提交前還需要對報銷總金額進(jìn)行一下判斷,那么可以在“提交前JS腳本”中添加判斷js腳本:
if(document.getElementById('CS30').value-0>10000){alert('報銷金額禁止大于10000元!');return false;}
完成上面的js腳本編寫后,需要在相應(yīng)錄入數(shù)據(jù)的控件中增加onkeyup或onchange事件來觸發(fā)上面的函數(shù)(onkeyup:每一次鍵盤按鍵彈起立即生效、onchange:光標(biāo)離開控件并且數(shù)據(jù)發(fā)生變化時才生效),實現(xiàn)自動求和效果:
a、在天數(shù)錄入控件(共([ ])天)的onkeyup或onchange事件中增加 sub_jintie() 函數(shù),實現(xiàn)自動計算出差津貼:
<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、在單據(jù)張數(shù)相關(guān)控件的onkeyup或onchange事件中增加 sub_danju() 函數(shù),實現(xiàn)自動計算單據(jù)張數(shù)合計值:
<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、在單據(jù)張數(shù)相關(guān)控件的onkeyup或onchange事件中增加 sub_fee() 函數(shù),實現(xiàn)自動計算單據(jù)張數(shù)合計值:
<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();" /> 通過以上的設(shè)置后,這個表單就可以實現(xiàn)多個單元格的不同合計效果了。
該文章在 2018/11/21 15:13:08 編輯過
|
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |