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

11 months ago
/*
说明:
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);
}