You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
4.8 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
说明:
1. 该文件被嵌入到 /WF/WorkOpt/WorkCheck.htm 里面去与WorkCheck.js 一起工作.
2. 为了适合不同的电子签名的需要,集成不同的电子签名厂家.
3. 如果不需要电子签名该文件保留为空.
4, WorkCheck.htm文件引用了jquery 在这里可以使用jQuery 的函数.
*/
function InitSignature() {
iSP.init(
{
//fixed: false,
isGet: true,
//currentKeysn: '0020000001', //正式环境应为this.EmpFrom0101000005
crossDomain: 'http://192.168.100.82:8080/iSignature-Phone/', //如果不是跨域,iSignature-Phone请设置项目路径http://127.0.0.1:8080/iSM_V3/
documentId: workid, //必须指定文档ID
moveable: true //是否可以移动签章
}
);
}
//作用:进行签章
function DoSignaturePhone(empNo, nodeID, EleID) {
//alert(empNo + ',' + nodeID +','+EleID);
if (CheckHaveSing(empNo) == true) {
alert('您已经盖过章,请撤销重盖.');
return;
}
var txt = $("#WorkCheck_Doc").val();
if (txt == "" || txt == null || txt == undefined) {
alert('请输入审核意见.');
return;
}
var tbID = nodeID + '_' + empNo;
document.getElementById(tbID).value = txt;
var divID = "div_" + tbID;
var user = EleID;
//签章必须的参数
var runSignatureParams = {
keySN: user, //签章服务的keysn,获取key文件名称,不包括后缀名,所有key文件存放在WEB-INF/key文件
documentId: workid, //文档ID
elemId: divID, //指定定位的页面元素的id,不仅限div元素,所有html元素都可以.
enableMove: true
//,DivList:"yfdiv"//添加显示改签章在其他位置,多个位置用“;”分割
};
var params = {
callback: function (data) {
if (data.error) {
alert('签章失败');
}
else {
//执行数据库保存.
SaveWorkCheck();
// alert('签章成功');
}
},
backGetPwd: false, //是否后台获取印章密码,跨域不支持
protectedData: [//定义保护数据,fieldName用于指定元素的id或者name获取该元素的值,元素为input或textarea时,获取该元素的value属性,其他元素调用innerHTML属性.
{ fieldDesc: "电子签章", fieldName: tbID } //已经设置了保护项描述信息,不必添加desc属性.
],
runSignatureParams: runSignatureParams//运行签章的参数
};
//显示选择印章列表div窗口
iSP.showGetSignatureByKey(params);
}
function CheckHaveSing(empNo) {
// var sg = DocForm.SignatureControl.GetSignatureInfo(empNo);
var objs = document.getElementsByName("iHtmlSignature"); //获得页面内签章个数
for (var i = 0; i < objs.length; i++) {
var item = objs[i];
if (item.UserName == empNo || item.UserName == '0020000001') { //将已存在的签章KEYNAME与当前业务系统用户进行比对
return true;
}
}
return false;
}
/**
*验证签章
*/
function checkSignature(isAlert) {
var checkSignatureParams = {
callback: function (data) {
console.log(data);
},
"signatures": iSP.signatures//获取签章数据,指定验证那些印章
};
iSP.checkSignature(checkSignatureParams); //执行验证签章操作
}
/**
*获取印章信息
*/
function getSignInfo() {
var _signature = [];
_signature.push(iSP.signatures[iSP.signatures.length - 1]); //获取最后一个签章,放在数组里面
// alert(_signature.documentId); //json转化成字符串
var signInfoParam = {
"signatures": _signature //获取签章数据,指定获取那些印章,
// , "callback": function (data) { }
//获取签章回调方法,该参数不是必须,客户可以通过设置该属性和方法,接受验证结果,做自己的业务流程.
};
iSP.getSignInfo(signInfoParam); //获取指定的印章的信息.
}
/**
* 删除签章
*/
function removeSignature(documentId, userNo) {
// getSignInfo();
//return;
var _signature = [];
_signature.push(iSP.signatures[iSP.signatures.length - 1]); //获取最后一个签章,放在数组里面
//alert(jsonToString(_signature));//json转化成字符串
var removeSignatureParam = {
"signatures": _signature //获取签章数据,指定获取那些印章,
//,"callback":testFunction//删除签章回调方法,该参数不是必须,客户可以通过设置该属性和方法,接受验证结果,做自己的业务流程.
};
iSP.removeSignature(removeSignatureParam);
}