常用的js

需加載的js

document.write(’’);

定義方法,簡化程式

function $(pValue){
return document.getElementById(pValue);
}

查詢流程實例內的單一表單資料

var hosturl = HostUrl + “/GP/WMS/TraceProcess/TraceProcessForSearchForm?hdnMethod=searchSingleFormDetail&hdnFormDefId=”+formId +"&hdnProcessInstOID="+processInstOID +"&hdnCurrentUserId="+userId ;
//alert(hosturl);
window.open(hosturl, ‘PrintAllFormData’, “height=650,width=725,status=no,toolbar=no,menubar=no,scrollbars=yes,location=no,resizable=yes”);

判斷營運中心

if (processInstOID != “”) {
DWREngine.setAsync(false);
ajax_ProcessAccessor.findBasicTypeById(processInstOID, “PlantID”, function loadBasicTypeById(data) {
if (data != “”) {
document.getElementById(“Textbox8”).value = data;
} else {
document.getElementById(“Textbox8”).value = “”;
}
}); //1.processInstOID 2.变数名称 3.Call Back
DWREngine.setAsync(true);
}

formOpen時加載Grid的值

function formOpen(){
var grdValue = $(“Grid132”).value;
if(typeof(Grid132Obj) != “undefined”){
if(grdValue.length >1 ){
Grid132Obj.reload(eval(grdValue));
}
}
return true;
}

查詢數據庫

var databaseCfgId=“EFGP”;
function Textbox5_onblur(){
var pa1SerialNumber = $(“Textbox5”).value;
var tSql = “select Textbox42,InputDialog2,InputDialog4 from PA1 where serialNumber=’”+pa1SerialNumber+"’";
var result = “”;
DWREngine.setAsync(false);
ajax_DatabaseAccessor.executeQuery(databaseCfgId,tSql,null,null,loadQuery);
DWREngine.setAsync(true);
}
function loadQuery(data){
result = data.recordValues;
alert(result);
alert(“將值放入指定的欄位中”);
}

下拉框

function Button0_onclick(){
var gridData = $(“Grid6”).value;
if(selectedIndexnull || selectedIndex == “”){
return;
}
var databaseCfgId = “HR”;
gridData = eval(gridData);
for(var i=0;i<gridData.length;i++){
var flag = false;
for(var j=0;j<selectedIndex.length;j++){
//alert(“i:”+i);
//alert(“selectedIndex[j]:”+selectedIndex[j]);
if(i
selectedIndex[j]){
flag = true;
}
}
if(flag){
### insert sql
var YYMMDD = gridData[i][4];
var EmpNo = gridData[i][1];
var BeginTime = gridData[i][6];
var EndTime = gridData[i][7];
var IsWeekEnd = 0;
var IsOverAddWork = 0;
var Times = gridData[i][5];
var WhyAddWork = “正常加班”;
var ReMark = null;
var IsCheck = 0;
var CheckMan = null;
var CreateMan = “ReEasyFlow”;
var CreateDate = new Date;
var IsOK = 1;
var IsJoinClass = 0;
var IsRestAddWork =0;
var tSql = "insert into AddWorkTimeReq(YYMMDD,EmpNo,BeginTime,EndTime,IsWeekEnd,IsOverAddWork,Times,WhyAddWork,ReMark,IsCheck,CheckMan,CreateMan,CreateDate,IsOK,IsJoinClass,IsRestAddWork) "
+ “values (’”+ YYMMDD+ “’,’”
+ EmpNo+ “’,’”
+ BeginTime+ “’,’”
+ EndTime+ “’,”
+ IsWeekEnd+ “,”
+ IsOverAddWork+ “,”
+ Times+ “,’”
+ WhyAddWork+ “’,”
+ ReMark+ “,”
+ IsCheck+ “,”
+ CheckMan+ “,’”
+ CreateMan+ “’,’”
+ Todate(CreateDate) + “’,”
+ IsOK+ “,”
+ IsJoinClass+ “,”
+ IsRestAddWork + “)”;
var result = “”;
//document.write(tSql);
DWREngine.setAsync(false);
ajax_DatabaseAccessor.executeUpdate(databaseCfgId,tSql,null,null,function loadUpdate(data){
alert(DWRUtil.toDescriptiveString(data, 2));
});
DWREngine.setAsync(true);
}
}
}

取出下拉框的顯示值

function setType(){
var nreType = $(“NREtype”);
for(var i=0;i<nreType.length;i++){
if(nreType[i].selected == true){
$(“NREtype_txt”).value = nreType[i].innerHTML;
}
}
}

1.下拉式選單的索引值

var sel=document.getElementById("“Dropdown01"”).selectedIndex;

2.下拉式選單的顯示值

document.getElementById("“Textbox01"”).value= document.getElementById("“Dropdown01"”)[sel].text;

3.下拉式選單的實際值

document.getElementById("“Textbox01"”).value= document.getElementById("“Dropdown01"”).value;

對Grid中的值進行運算

function setUserMoney(){
var grdValue = $(“Grid132”).value;
grdValue = eval(grdValue);
//alert(grdValue.length);
var userAllM = 0;
var allM = 0;
for(var i=0;i<grdValue.length;i++){
userAllM += grdValue[i][3]*1;
allM += grdValue[i][2]*1;
}
$(“Textbox114”).value = userAllM;
$(“Textbox101”).value = allM;
}

Grid新增操作

function add_onclick(){
Grid132Obj.addRow();
$(“Grid132”).value = Grid132Obj.toArrayString();
Grid132Obj.clearBinding();
}

Grid修改操作

function edit_onclick(){
var tIndex=Grid132Obj.getRowIndex();
if(tIndex<0){
alert(“請選擇需要修改的數據!”);
return false;
}
Grid132Obj.editRow();
$(“Grid132”).value = Grid132Obj.toArrayString();
Grid132Obj.clearBinding();
}

Grid刪除操作

function delete_onclick(){
var tIndex=Grid132Obj.getRowIndex();
if(tIndex<0){
alert(“請選擇需刪除的信息!”);
return false;
}
Grid132Obj.deleteRow();
$(“Grid132”).value = Grid132Obj.toArrayString();
Grid132Obj.clearBinding();
}

標準開窗

var tSQL=“select ou.id,ou.organizationUnitName from OrganizationUnit ou join Organization o on ou.organizationOID=o.OID where o.id=’”+gDrpGrd2FacType.value+"’";
var SQLClaused = new Array(tSQL);
var SQLLabel = new Array( “部門編號”,“部門名稱”);//客製開窗的Grid Label
var QBEField = new Array(“ou.id”,“ou.organizationUnitName”);//模糊查詢,須和DB Table欄位名稱相同
var QBELabel = new Array( “部門編號”,“部門名稱”);//模糊查詢的Label
var ReturnId = new Array( “hdnGrd2DepID”,“txtGrd2Dep”);//畫面上的欄位
singleOpenWin(FileName, databaseCfgId, SQLClaused, SQLLabel, QBEField, QBELabel, ReturnId,720,430);

選中Grid中的一行

function gridRowClick(){ //此function名稱必須固定為這個
var tIndex=grid1Obj.getRowIndex(); //取得目前被選到的index是多少,若是第一筆資料則為0第二筆則為一
if(tIndex != -1){//点击第一个grid
var type=grid1Obj.getData()[tIndex][1];
if(type==‘新增文件’ || type==“新增文件”){
gDrpGrd1Type[1].selected=true;
}
if(type==‘文件修訂’ || type==“文件修订”){
gDrpGrd1Type[2].selected=true;
}
if(type==‘文件取消’ || type==“文件取消”){
gDrpGrd1Type[3].selected=true;
}
}
}

客制开窗关闭后的事件检查点

function checkPointOnClose(pReturnId){
if(pReturnId == “txtValue”){
//txtValue是返回表单栏位数组的第一个值
}
}

查詢DB數據,並在表單中轉為下拉列表

function GET_grd13_value(){
var grd12_Value = $(“grd12”).value;
var databaseCfgId_EFGP=“EFGP”;
var FileName = “SingleOpenWin”;
var tSql =“select B.OID,B.b002 from NaNa.dbo.PA3 as A, NaNa.dbo.PA3_Grid164 as B where A.prj_no=’”+grd12_Value+"’ and A.formSerialNumber =B. formSerialNumber ";
DWREngine.setAsync(false);
ajax_DatabaseAccessor.executeQuery(databaseCfgId_EFGP,tSql,null,null,loadQuery_grd13);
DWREngine.setAsync(true);

}
function loadQuery_grd13(data){
var tResultArray=data.recordValues; //查詢結果為一個二維陣列
DWRUtil.removeAllOptions(“grd13”); //先移除所有下拉式選單內容
DWRUtil.addOptions(“grd13”,tResultArray, 0, 1); //將陣列中的資料加入下拉式選單中
//系統會將被選到的值存在一個由元件代號加上_hdn的隱藏欄位中
//因此每次資料載入完畢後需將被選到的值由隱藏欄位中取出並設定至下拉式選單中

var tDropdownHdn=document.getElementById("grd13_hdn");   
if (tDropdownHdn != null) {     
var tSelectedSQLDropdown=eval(tDropdownHdn.value);   
DWRUtil.setValue("grd13", tSelectedSQLDropdown);   
}   

}

設定選擇月份的下拉框

function setMonth(){
var systemDate = new Date();
var year = systemDate.getFullYear()+"";
var monStr = “”;
for(var i=1;i<13;i++){
if((i+"").length==1){
i = “0”+i;
}
monStr += year+i+":"+year+i+",";
}
var lastChar = monStr.lastIndexOf(",");//取最後一個逗號的位置
var monthStr = monStr.substring(0,lastChar); //取逗號之前的字串
var monthObj = {};
eval(“monthObj={”+monthStr+"}");
DWRUtil.removeAllOptions(“grd2”);
DWRUtil.addOptions(“grd2”,monthObj); //將值寫入畫面
}

顯示及隱藏一些欄位

function RadioButton0_onclick(){//比例金額切換
if($(“RadioButton0_0”).checked){//選擇比例,金額隱藏,比例顯示
$(“Label45”).style.visibility=“hidden”;
$(“grd7_1”).style.visibility=“hidden”;
var Grid53_id = Grid53Obj.getId();
var Grid53Element = document.getElementById(Grid53_id);
Grid53Element.style.display=“none”;
$(“Label14”).style.visibility=“visible”;
KaTeX parse error: Expected 'EOF', got '}' at position 172: …e.display=""; }̲ if((“RadioButton0_1”).checked){//選擇金額
$(“Label45”).style.visibility=“visible”;
$(“grd7_1”).style.visibility=“visible”;
var Grid53_id = Grid53Obj.getId();
var Grid53Element = document.getElementById(Grid53_id);
Grid53Element.style.display="";
$(“Label14”).style.visibility=“hidden”;
$(“grd7_2”).style.visibility=“hidden”;
var Grid16_id = Grid16Obj.getId();
var Grid16Element = document.getElementById(Grid16_id);
Grid16Element.style.display=“none”;
}
}

去除字符串左右的空格

String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, “”);
}

把Grid中的資料存入textbox
document.getElementById("s_fat").value = s_fatObj.toArrayString();  
var gData= s_fatObj.getData();
var s1="";
var s2="";
var s3="";
document.getElementById("sea1").value="";         //保管人
document.getElementById("sea2").value="";          //保管部門
//document.getElementById("sea3").value="";  分攤部門
for(var i=0;i<gData.length;i++){
    	s1=s_fatObj.getData()[i][4]==null ? "" : s_fatObj.getData()[i][4];
        s2=s_fatObj.getData()[i][5]==null ? "" : s_fatObj.getData()[i][5];
		//s3=s_fatObj.getData()[i][10]==null ? "" : s_fatObj.getData()[i][10];
        document.getElementById("sea1").value=s1+";"+document.getElementById("sea1").value; //新保管人
    	document.getElementById("sea2").value=s2+";"+document.getElementById("sea2").value;  //保管部門
		//document.getElementById("sea3").value=s3+";"+document.getElementById("sea3").value;  //分攤部門
}
判断已有字符串中是否已含新字符串

function checkRepeat(priStr,newStr){//返回false则表示没有相同的存在,可以添加
var exist = false;
if(priStr != “”){
var strs = priStr.split(";");
for(var i= 0;i<strs.length;i++){
if(newStr == strs[i]){
exist = true;
}
}
}
return exist;
}

js中當前網址

String hostUrl = HostUrl;

開窗

window.open(開啟網頁的位置,視窗的名稱,要開啟的視窗樣式限制);
//要開啟的視窗樣式限制:
//高度:height=300
//寬度:width=300
//是否顯示工具列:toolbar=no
//是否顯示目錄列:menubar=no
//是否顯示卷軸:scrollbars=yes
//是否可自行調整視窗的大小:resizable=yes
//是否顯示網址列:location=no
//是否顯示狀態列:status=no
//多個參數,以逗號隔開

//開啟新視窗,并鎖住母視窗
openDialog();

轉換日期格式

function Todate(num) {
//Fri Oct 31 18:00:00 UTC+0800 2008
//Sat Dec 17 2016 00:00:00 GMT+0800
var date="";
num=num+"";
if(num.indexOf(“UTC”)>0){
var month=new Array();
month[“Jan”]=1;month[“Feb”]=2;month[“Mar”]=3;month[“Apr”]=4;month[“May”]=5;month[“Jun”]=6;
month[“Jul”]=7;month[“Aug”]=8;month[“Sep”]=9;month[“Oct”]=10;month[“Nov”]=11;month[“Dec”]=12;
var week=new Array();
week[“Mon”]=“一”;week[“Tue”]=“二”;week[“Wed”]=“三”;week[“Thu”]=“四”;week[“Fri”]=“五”;week[“Sat”]=“六”;week[“Sun”]=“日”;
str=num.split(" “);
var monthStr = 0;
monthStr = month[str[1]];
if(monthStr<10){
monthStr = “0”+monthStr;
}
if(str[2].length1){
str[2] = “0”+str[2];
}
date=str[5]+"/";
date=date+monthStr+"/"+str[2];
}else if(num.indexOf(“GMT”)>0){
var month=new Array();
month[“Jan”]=1;month[“Feb”]=2;month[“Mar”]=3;month[“Apr”]=4;month[“May”]=5;month[“Jun”]=6;
month[“Jul”]=7;month[“Aug”]=8;month[“Sep”]=9;month[“Oct”]=10;month[“Nov”]=11;month[“Dec”]=12;
var week=new Array();
week[“Mon”]=“一”;week[“Tue”]=“二”;week[“Wed”]=“三”;week[“Thu”]=“四”;week[“Fri”]=“五”;week[“Sat”]=“六”;week[“Sun”]=“日”;
str=num.split(" ");
var monthStr = 0;
monthStr = month[str[1]];
if(monthStr<10){
monthStr = “0”+monthStr;
}
if(str[2].length
1){
str[2] = “0”+str[2];
}
date=str[3]+”/";
date=date+monthStr+"/"+str[2];
}
return date;
}

js乘法

function accMul(arg1,arg2){
var m=0,s1=arg1.toString(),s2=arg2.toString();
try{
m+=s1.split(".")[1].length;
}catch(e){}
try{
m+=s2.split(".")[1].length;
}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
}

選擇員工工號

function btnid_onclick(){
  var FileName = “SingleOpenWin”;  //固定值
var databaseCfgId = “HR”;  //系統管理員的資料庫連線代號
var SQLClaused = new Array(“select EmpNo,EmpName,e.PartID,p.PartName,e.PartID2 from Employee e join Part p on e.PartID=p.PartID where LeaveDate is null order by 1”);
var SQLLabel = new Array( “卡號”,“姓名”,“部門代號”,“部門名稱”,“組別名稱”);//客製開窗的Grid Label
var QBEField = new Array(“EmpNo”,“EmpName”,“e.PartID”,“p.PartName”,“e.PartID2”);//模糊查詢,須和DB Table欄位名稱相同
var QBELabel = new Array( “卡號”,“姓名”,“部門代號”,“部門名稱”,“組別名稱”);//模糊查詢的Label
var ReturnId = new Array(“id”, “name”);//畫面上的欄位
singleOpenWin(FileName, databaseCfgId, SQLClaused, SQLLabel, QBEField, QBELabel, ReturnId,720,430);
}
客制开窗关闭后的事件检查点
function checkPointOnClose(pReturnId){
if(pReturnId == “Textbox6") {
/*可以增加后续判断/
}
}
//由使用者輸入的卡號取得姓名
function txtID2_onblur(){
var databaseCfgId = “HR”;
var tid=document.getElementById(“txtID2”).value;
if(tid == “” || tid == null){
return;
}
var tSql= “select EmpName from Employee where LeaveDate is null and EmpNo=’”+tid+"’";
var result = “”;
DWREngine.setAsync(false);
ajax_DatabaseAccessor.executeQuery(databaseCfgId,tSql,null,null,loadQuery);
DWREngine.setAsync(true);
}
function loadQuery(data){
result = data.recordValues;
if(result.length==0){
alert(“該工號查無人員”);
document.getElementById(“txtID2”).value="";
document.getElementById(“txtName2”).value="";
}else{
document.getElementById(“txtName2”).value=result[0][0];
}
}

檢查附件個數,並check是否有重複的檔案

function formSave(){
var table = document.getElementById(“Attachment_shell”);
if(table == null){
alert(“請上傳兩筆附件檔案”);
return;
}
var tableRows = table.rows;
if(tableRows.length<3){
alert(“請上傳兩筆附件檔案”);
return;
}
for(var i=1;i<tableRows.length;i++){
if(itableRows.length-1){
break;
}
if(tableRows[i].cells[1].getElementsByTagName(‘a’)[0].innerText
tableRows[i+1].cells[1].getElementsByTagName(‘a’)[0].innerText){
alert(“附件中有重複的檔案”);
return;
}
}
return true;
}

表單匯入excel

function Button0_onclick(){
// 表單 Grid 名稱
var tFormGridName = “GridDetail1”;
// Excel 對應的欄位名稱
var tExcelFieldName = “序號,工作區,人數,加班時數,加班開始時間,加班結束時間,加班說明,備註”;
var tBatchUploaderString = encodeURI(’/NaNaWeb/GP/WMS/PerformWorkItem/CallExcelImporter’+’?hdnMethod=initExcelImporter&excelFieldName=’+tExcelFieldName+’&formGridName=’+tFormGridName);
// 檢查表單是否有 Grid, 若沒有的話不讓 匯入 Excel 資料
if (tFormGridName != “”) {
openDialog(tBatchUploaderString, ‘480’, ‘300’, ‘titlebar,scrollbars,status,resizable’);
} else {
alert(“沒有資料無法匯入!”);
}
}
function loadExcelData(formGridId, returnData) {
var tReturnValue=eval(returnData);
if($(“Dropdown9”).value == “0”){
GridDetail1Obj.reload(tReturnValue);
$(“GridDetail1”).value = GridDetail1Obj.toArrayString();
}else{
GridDetail2Obj.reload(tReturnValue);
$(“GridDetail2”).value = GridDetail2Obj.toArrayString();
}
}

去除左右的空格

String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, “”);
}

定義表單Grid的單元格格式

Grid20Obj.defineRowProperty(“background”, function(row){
var value = this.getCellValue(1, row);
return value == “Y” ? “#f00” : “#bbb”;
});
Grid20Obj.getRowTemplate().setStyle(“background”, function(){
return this.getRowProperty(“background”);
});
Grid20Obj.refresh();

定義表單Grid的單元格顏色
 $("aw36-header-7-box").style.color = "#ff0000";//aw36-header-7-box為單元格某單元的id
 $("aw36-header-8-box").style.color = "#ff0000";

//設定表單Grid的列寬
function setGridColWidth(){
document.write("");
}

可在表單設計師的js編輯器中,定義列印表單時的格式

function setPrintForm(){
document.getElementById(“txtName”).value="";
document.getElementById(“txtBrand”).value="";
document.getElementById(“txtSpec”).value="";
document.getElementById(“txtAmount”).value="";
document.getElementById(“txtPrice”).value="";
document.getElementById(“txtTotPri”).value="";
document.getElementById(“Label0”).style.display=“none”;
document.getElementById(“Label16”).style.display=“none”;
document.getElementById(“Label17”).style.display=“none”;
document.getElementById(“Label18”).style.display=“none”;
document.getElementById(“Label19”).style.display=“none”;
document.getElementById(“Label20”).style.display=“none”;
document.getElementById(“Label21”).style.display=“none”;
document.getElementById(“Label22”).style.display=“none”;
document.getElementById(“txtSpec”).style.display=“none”;
document.getElementById(“GridDetail_div”).style.top=“350”;
}

去掉金額的千位符

var x = document.getElementById(“apa31”).value;
document.getElementById(“apa31_f”).value = x.replace(new RegExp(",",“gm”),"");

表單中動態新增關卡(在簽的流程)

function testProcessAccessor_addPostCustomActivity_no1(){
alert(“in”);
var tActDefListString = “[{name:‘新增活動’,multiUserModeValue:‘FOR_EACH’,performTypeValue:‘NORMAL’, performers:[{OID:‘f012b2f0d7a510048a7cbbb8ca67a123’,participantTypeValue:‘HUMAN’}]}]”;
var tWorkItemOID=“9a386010dbb910048c427b9c7a71a3cf”;
//var tActDefListString=document.getElementById(“actDefListForPostAdd”).value;
var tActDefList=eval(tActDefListString);
ajax_ProcessAccessor.addPostCustomActivity(tWorkItemOID, tActDefList);
}

1.檢查附件名稱必須包含“第一次會議記錄”字樣

function checkAttachment() {
var attach = $(“Attachment_shell”);
if (activityId == “ACT1”) { //第一關SQE,檢查是否上傳會議記錄
if (attach == null) {
alert(“請上傳材料不良品質會議記錄”);
return false;
} else {
var tableRows = attach.rows;
var exist = false;
for (var i = 1; i < tableRows.length; i++) {
if ((tableRows[i].cells[1].getElementsByTagName(‘a’)[0].innerText).indexOf(“第一次會議記錄”) > -1) {
exist = true;
}
}
if (!exist) {
alert(“附件名稱請包含“第一次會議記錄”字樣”);
return false;
}
return true;
}
}

return true;

}

其他說明不能超過255(數據庫長度)

function TextArea0_onblur(){
var textArea0 = $(“TextArea0”).value;
if (textArea0.length > 85) {
alert(“加班說明請輸入多於85個漢字,保留前85個漢字”);
$(“textArea0”).value = textArea0.substr(0, 85);
}
}
$(“RadioButton23”).disabled = true;

表單內容加入簽核意見表

Form Script 內先include ajax 的js來源檔案
document.write(’’);

function loadComment(data){
var tGridComment="["+"’"+data[0].name+"’"+","+
“’”+data[0].performer+"’"+","+
“’”+data[0].state+"’"+","+
“’”+data[0].completedTime+"’"+","+
“’”+data[0].comment+"’"+","+
“’”+data[0].noticeReceivers+"’"+ “]”;
for(i=1;i<data.length;i++){
tGridComment+=","+"["+"’"+data[i].name+"’"+","+
“’”+data[i].performer+"’"+","+
“’”+data[i].state+"’"+","+
“’”+data[i].completedTime+"’"+","+
“’”+data[i].comment+"’"+","+
“’”+data[i].noticeReceivers+"’"+"]";
}
document.getElementById(“GridComment”).value="["+tGridComment+"]";
var tGrid = document.getElementById(“GridComment”);
if (tGrid != null && tGrid.value != “”) {
var tGridData = eval(tGrid.value);
GridCommentObj.reload(tGridData);
}
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值