/**
*HR人事证明单据列表js基类
*/
shr.defineClass("shr.customer.gtiit.HRCertificationBillListEx", shr.empCertification.HRCertificationBillList, {
// 盖章成功后请刷新页面再预览打印!
batchCompanySignTips: jsBizMultLan.ssc_ElectroniContractTaskList_27600681_i18n_1074,
templateName:'',
templateQueryPK:'',
pageStep: 0,
initalizeDOM: function () {
shr.customer.gtiit.HRCertificationBillListEx.superClass.initalizeDOM.call(this);
this.loadFiles();
this.initTabPages();
this.initBreadcrumb();
this.addButtonTips('batchCompanySign', this.batchCompanySignTips);
},
initBreadcrumb: function(){
var items = $('#breadcrumb').shrBreadcrumb('getItems');
var newItem = [];
items.map(function(item,index){
if(index === 0 || index === (items.length - 1)){
newItem.push(item);
}
});
$('#breadcrumb').shrBreadcrumb('setItems',newItem);
shrDataManager.pageNavigationStore.setDatas(newItem);
},
templatePrintAction: function () {
var that = this;
var talentIds = this.getselectedRowTalentId();
if (undefined == talentIds || talentIds == null) {
return
};
var talentId = this.getSelectedIds();
//初始化套打模板name和querypk
that.initTemplateNameQueryPK(talentId);
that.remoteCall({
method: "updataPrintPersonInfo",
param: {
billId: talentId
},
type: "POST",
success: function (data) {
if (data == null) {
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_25
});
}
shr.empCertification.HRCertificationBillList.superClass.templatePrintAction.call(that);
}
});
},
initTabPages: function(){
var that = this;
that.changePageLabelColor();
$('#allCRTList').click(function(){
that.pageStep = 0;
//定义标签样式
that.changePageLabelColor();
that.reloadPage({
uipk: 'com.kingdee.eas.base.hr.app.certificationservice.list'
});
});
$('#resignCRTList').click(function(){
that.pageStep = 1;
//定义标签样式
that.changePageLabelColor();
that.reloadPage({
uipk: 'com.kingdee.shr.empcertification.app.HRResignCertificationBill.list',
});
});
$('#empCRTList').click(function(){
that.pageStep = 2;
//定义标签样式
that.changePageLabelColor();
that.reloadPage({
uipk: 'com.kingdee.shr.empcertification.app.HREmpCertificationBill.list',
pageStep: 2
});
});
$('#commonCRTList').click(function(){
that.pageStep = 3;
//定义标签样式
that.changePageLabelColor();
that.reloadPage({
uipk: 'com.kingdee.shr.empcertification.app.HRCommonCertificationBill.list',
pageStep: 3
});
});
},
changePageLabelColor:function(){
var that = this;
$("#pageTabs").tabs();
$("#pageTabs").find('ul li').eq(that.pageStep).removeClass("ui-state-default ui-corner-top").addClass("ui-state-default ui-corner-top ui-tabs-active ui-state-active")
.siblings().removeClass("ui-state-default ui-corner-top ui-tabs-active ui-state-active").addClass("ui-state-default ui-corner-top");
$("#pageTabs").find('ul li a').css('border','0px');
$("#pageTabs").find('ul li a').eq(that.pageStep).removeClass("colNameType").addClass("fontGray")
.siblings().removeClass("fontGray").addClass("colNameType");
},
previewPrintAction : function () {
var _self = this;
var errorXhr = "";
var selectedIds = $("#grid").jqGrid("getSelectedRows");
var isSpecial = $('#grid').jqGrid("getCell", selectedIds[0], "isSpecial"); //是否其他模板
if (selectedIds == undefined || selectedIds.length==0) {
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_16,
hideAfter: null
});
return;
}
if(selectedIds.length>1){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_19,
hideAfter: null
});
return;
}
if(isSpecial=="1"){//是否其他模板
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_11,
hideAfter: null
});
return false;
}
_self.remoteCall({
method : "checkButtonDataPermission",
param : {
billId : selectedIds
},
async: false,
success : function(data){
},
error: function (xhr, data) {
errorXhr = xhr;
return;
}
});
if(errorXhr != undefined && errorXhr != null && errorXhr != ""){
if(errorXhr.result == "error"){
shr.showError({
message: errorXhr.summary,
hideAfter: null
});
return;
}
}
var rowData = $('#grid').jqGrid('getRowData', selectedIds);
var drawUpMode = rowData.drawUpMode; //开具形式 1.纸质 2.电子
var certificationStatus = rowData.certificationStatus; //证明状态
var isSign = rowData.isSign; // 是否已签署
var signNo = rowData.signNO;
var billId = rowData.id;
if("2" == drawUpMode && signNo != null && signNo != undefined && signNo != '' && "1" == isSign){//已签署
var _time1 = 0;
var intervalID = setInterval(function() {
_time1++;
shr.callService({
serviceName : 'electronicLaborRefreshLocalService',
param : {
contractNo : signNo,
isDefault : "1"
},
async : false,
success : function(response) {
if (response.code == 0) {
var pdfurl = '';
pdfurl = response.data[0].sealInfo.previewOfPcUrl;
var downloadUrl = response.data[0].sealInfo.downloadUrl;
_self.convertPdfToWord(pdfurl,downloadUrl,"已盖章");
shr.block.hide();
//shr.openNew(pdfurl);
clearInterval(intervalID);
} else {
}
},
error: function(xhr,data){
}
});
console.log(intervalID);
console.log(_time1);
if (_time1 > 10){
shr.block.hide();
shr.showError({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_13
});
clearInterval(intervalID);
}
}, 500);
return;
}else{
var newDate = new Date();
var hourStr = newDate.getHours()<10?"0"+newDate.getHours().toString():newDate.getHours().toString();
var minuteStr = newDate.getMinutes()<10?"0"+newDate.getMinutes().toString():newDate.getMinutes().toString();
var secondStr = newDate.getSeconds()<10?"0"+newDate.getSeconds().toString():newDate.getSeconds().toString();
var nowTime = hourStr+minuteStr+secondStr;
var contractNo = rowData.number;
shr.block.show();
shr.callService({
serviceName : 'empCreateCertificationService',
param : {
billId : billId,
posNum : nowTime
},
async : false,
success : function(response) {
console.log('createCertificationService success');
var _time3 = 0;
var intervalID = setInterval(function() {
_time3++;
shr.callService({
serviceName : 'electronicLaborRefreshLocalService',
param : {
contractNo : contractNo+"-"+nowTime,
isDefault : "1"
},
async : false,
success : function(response) {
if (response.code == 0) {
var pdfurl = '';
pdfurl = response.data[0].nosealInfo.previewOfPcUrl;
var downloadUrl = response.data[0].nosealInfo.downloadUrl;
_self.convertPdfToWord(pdfurl,downloadUrl,"未盖章");
shr.block.hide();
// shr.openNew(pdfurl);
clearInterval(intervalID);
} else {
}
},
error: function(xhr,data){
}
});
console.log(intervalID);
console.log(_time3);
if (_time3 > 10){
shr.block.hide();
shr.showError({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_13
});
clearInterval(intervalID);
}
}, 500);
},
error: function(xhr,data){
shr.showError({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_13
});
return;
}
});
}
},
convertPdfToWord: function(previewOfPcUrl, downloadUrl, isSign){
var _self = this;
previewOfPcUrl = decodeURIComponent(previewOfPcUrl);
const contractNo = _self.getContractParamsFromURL(previewOfPcUrl);
downloadUrl = encodeURIComponent(downloadUrl);
const date = new Date();
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, "0");
const day = date.getDate().toString().padStart(2, "0");
var currentDate = year+month+day;
var fileName = contractNo + isSign + "-" + currentDate + ".docx";
var urlinner = shr.getContextPath() + shr.dynamicURL + "?downloadUrl="+downloadUrl+"&fileName="+fileName+"&method=convertPdfToWord&handler=com.kingdee.shr.customer.gtiit.handler.HRcertificationbillListHandlerEx"+"&uipk="+shr.getUrlRequestParam('uipk');
var downloadLink = document.createElement('a');
downloadLink.href = urlinner;
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
},
getContractParamsFromURL: function(url){
// 定义正则表达式
const regex = /[?&]contractNo(=([^]*)|&|#|$)/;
// 使用正则表达式获取参数值
const paramValue = decodeURIComponent(regex.exec(url)[2].replace(/\+/g, ' '));
return paramValue;
},
/**
* 发起企业签署
*/
batchCompanySignAction: function () {
var that = this;
var _self = this;
var $grid = $(that.gridId);
var selectedIds = $grid.jqGrid("getSelectedRows");
var ids = selectedIds.toString();
if (undefined == selectedIds || selectedIds == null) {
return
};
if(selectedIds.length == 0){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_16,
hideAfter: null
});
}else{
var labContractFirstParty = [];
for (var i = 0, length = selectedIds.length; i < length; i++) {
var billState = $grid.jqGrid("getCell", selectedIds[i], "billState"); //单据类型
var drawUpMode = $grid.jqGrid("getCell", selectedIds[i], "drawUpMode"); //开具形式 1.纸质 2.电子
var certificationStatus = $grid.jqGrid("getCell", selectedIds[i], "certificationStatus"); // 开具状态
var isSign = $grid.jqGrid("getCell", selectedIds[i], "isSign"); // 是否已签
var number = $grid.jqGrid("getCell", selectedIds[i], "number");//单据编号
var billId = $grid.jqGrid("getCell", selectedIds[i], "id");
labContractFirstParty.push($grid.jqGrid("getCell", selectedIds[i], "labContractFirstParty.id"));
if(isSign=="1"){//是否已签
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_14,
hideAfter: null
});
return false;
}else if(certificationStatus==103){//开具状态:放弃开具
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_1,
hideAfter: null
});
return false;
}else if(drawUpMode==1){//纸质证明
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_30,
hideAfter: null
});
return false;
}else if(billState!=3){//检查是否存在未审批完成的单据
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_22,
hideAfter: null
});
return false;
}
}
_self.remoteCall({
method: "checkHasSetSignatureImage",
type: "post",
param: {
billIds : ids,
labContractFirstParty: labContractFirstParty.toString()
},
success: function (result) {
if (result.success) {
shr.showConfirm(jsBizMultLan.ssc_ElectroniContractTaskList_27600681_i18n_1021, function(){
that.doRemoteWithBatchAction({
method : "batchCompanySign",
billIds : ids
});
});
} else {
var info = result.list;
// 以下劳动合同主体没有维护模板对应印章类型的印章,点击【确认】后对应文件将加盖公章
var noSealType = '
' + jsBizMultLan.ssc_ElectroniContractTaskList_27600681_i18n_1022 + '
';
var index = 1;
for (var company in info) {
var sealType = info[company];
for (var value in sealType) {
// {0}、【{1}】需维护{2}
var msg = shr.formatMsg(jsBizMultLan.ssc_ElectroniContractTaskList_27600681_i18n_1023, [index, company, sealType[value]]);
noSealType += '' + msg +'
';
index++;
}
}
shr.showConfirm(noSealType, function() {
shr.showConfirm(jsBizMultLan.ssc_ElectroniContractTaskList_27600681_i18n_1021, function(){
that.doRemoteWithBatchAction({
method : "batchCompanySign",
billIds : ids
});
});
});
}
}
});
}
},
//初始化模板name和querypk
initTemplateNameQueryPK: function(rowid){
var billType = this.getSelectedRowBillType(rowid);
if(billType==1){
this.templateName = '/s-HR/SSC/Certification/InComeCertification';
this.templateQueryPK = 'com.kingdee.shr.certificationservice.app.IncomeCertificationBillQuery';
}
if(billType==2){
this.templateName = '/s-HR/SSC/Certification/EmpCertification';
this.templateQueryPK = 'com.kingdee.shr.certificationservice.app.EmpCertificationBillQuery';
}
},
/**
* 套打模板名称
*/
getTemplateName: function () {
return this.templateName;
},
/**
* 套打QueryPK
*/
getTemplateQueryPK: function () {
return this.templateQueryPK;
},
refreshAction: function () {
this.reloadPage();
},
addEmpBillAction :function(){
this.reloadPage({
uipk: "com.kingdee.shr.empcertification.app.HRCertificationBill.form",
method: 'addNew'
});
},
addResignBillAction :function(){
this.reloadPage({
uipk: "com.kingdee.shr.empcertification.app.HRResignCertificationBill.form",
method: 'addNew'
});
},
addCommonBillAction : function() {
this.reloadPage({
uipk: "com.kingdee.shr.empcertification.app.HRcommonCertificationBill.form",
method: 'addNew'
});
},
updateCRTBillStatusAction: function () {
var that = this;
var $grid = $(that.gridId);
var selectedIds = $grid.jqGrid("getSelectedRows");
if (undefined == selectedIds || selectedIds == null) {
return
};
if(selectedIds.length == 0){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_16,
hideAfter: null
});
}else{
for (var i = 0, length = selectedIds.length; i < length; i++) {
var billState = $grid.jqGrid("getCell", selectedIds[i], "billState"); //单据状态
var drawUpMode = $grid.jqGrid("getCell", selectedIds[i], "drawUpMode"); //开具形式 1.纸质 2.电子
var certificationStatus = $grid.jqGrid("getCell", selectedIds[i], "certificationStatus"); // 证明状态
var isSign = $grid.jqGrid("getCell", selectedIds[i], "isSign"); // 是否已签
var number = $grid.jqGrid("getCell", selectedIds[i], "number");//单据编号
var billId = $grid.jqGrid("getCell", selectedIds[i], "id");
var msgDetail='';
if(certificationStatus==102){//检查开具状态
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_4,
hideAfter: null
});
return false;
}else if(certificationStatus==103){//检查开具状态
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_3,
hideAfter: null
});
return false;
}else if(billState!=3){//检查单据状态
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_32,
hideAfter: null
});
return false;
}else if(drawUpMode==2 && isSign=="0"){//检查是否已企业签
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_2,
hideAfter: null
});
return false;
}else{
that.remoteCall({
method: "updateCRTBillStatus",
param: {
billId: billId,
selectStatus: 102
},
type: "POST",
async:false,
success: function (res) {
if(res && res.type=="SUCCESS"){
shr.showInfo({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_0,
hiddenAfter: 5
});
that.queryGrid();
}
}
});
}
}
}
},
/**
* 放弃开具
*/
abandonIssueAction: function (billId, rowid) {
var _self = this;
var $grid = $("#grid");
var ids = $grid.jqGrid("getSelectedRows");
if (ids.length == 0) {
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_16
});
return;
} else if(ids.length > 1){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_17
});
return;
}else {
var data = $grid.jqGrid("getRowData",ids[0]);
if(!data.certificationStatus || data.certificationStatus == 102){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_5,
hiddenAfter: 5
});
return;
}
if(!data.certificationStatus || data.certificationStatus == 103){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_6,
hiddenAfter: 5
});
return;
}
shr.callHandler({
handler: "com.kingdee.shr.empCertification.web.handler.HRcertificationbillListHandler",
action: "updateCRTBillStatus",
param: {
billId: ids[0],
selectStatus:103//放弃开具
},
type: "POST",
async:false,
success: function (res) {
if(res && res.type=="SUCCESS"){
shr.showInfo({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_0,
hiddenAfter: 5
});
_self.queryGrid();
}
}
});
}
},
sendResultViewAction:function(event) {
_self = this;
var uipk = "com.kingdee.shr.empcertification.SendEmailResult";
var curUipk = shr.getUipk();
if (curUipk == "com.kingdee.shr.certificationservice.app.HRCertificationBill.cmp.list") {
uipk = "com.kingdee.shr.shareservice.app.SendEmailResult.cmp.list";
}
_self.reloadPage({
uipk: uipk
});
},
/**
* 查看,子类需要重写
*/
viewAction: function (billId, rowid) {
// 编辑界面禁用,则直接返回
if (this.editViewDisable) {
return;
}
var billType = this.getSelectedRowBillType(rowid);
if(billType == 2){
this.reloadPage({
uipk: 'com.kingdee.shr.empcertification.app.HRCertificationBill.form',
billId: billId,
method: 'view'
});
}
if(billType == 3){
this.reloadPage({
uipk: 'com.kingdee.shr.empcertification.app.HRResignCertificationBill.form',
billId: billId,
method: 'view'
});
}
if(billType==4){
this.reloadPage({
uipk: 'com.kingdee.shr.empcertification.app.HRcommonCertificationBill.form',
billId: billId,
method: 'view'
});
}
if (billType == 1) {
this.reloadPage({
uipk: 'com.kingdee.shr.certificationservice.app.IncomeCertificationBill.formAll',
billId: billId,
method: 'view',
shruicode: 'OF_CMP_CERTI'
});
}
},
/**
*获取选中行talentId
*/
getselectedRowTalentId: function () {
var $grid = $("#grid");
var ids = $grid.jqGrid("getSelectedRows");
if (ids.length > 1 || ids.length == 0) {
shr.showError({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_17,
hiddenAfter: 5
});
return;
} else {
var talentIds = this.getSelectedIds();
return talentIds;
}
},
/**
*获取选中行billType
*/
getSelectedRowBillType: function(rowid){
var $grid = $(this.gridId);
var billType = $grid.jqGrid("getCell", rowid, "certificationBillType.billType");
return billType;
},
/**
*获取默认邮箱,发送邮箱
*/
sendEmailAction: function () {
var _self = this;
var $grid = $(this.gridId);
var selectedIds = $grid.jqGrid("getSelectedRows");
if (selectedIds.length == 1) {
var email = "";
var billState = $grid.jqGrid("getCell", selectedIds[0], "billState"); //单据状态
var drawUpMode = $grid.jqGrid("getCell", selectedIds[0], "drawUpMode"); //证明类型 1.纸质 2.电子
var certificationStatus = $grid.jqGrid("getCell", selectedIds[0], "certificationStatus"); // 是否已开证明
var personName = $grid.jqGrid("getCell", selectedIds[0], "person.name");
var isSign = $grid.jqGrid("getCell", selectedIds[0], "isSign"); // 是否已签
var billId = $grid.jqGrid("getCell", selectedIds[0], "id");
if(billState!=3){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_21
});
return;
}
if(drawUpMode != 2){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_7
});
return;
}
if(isSign != "1"){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_12
});
return;
}
if(certificationStatus == 103){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_28
});
return;
}
_self.remoteCall({
method: "sendEmail",
param: {
billId: billId
},
success: function(response) {
shr.showInfo({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_9,
hideAfter: 3
});
},
error: function(xhr, data) {
console.log(JSON.stringify(xhr));
console.log(JSON.stringify(data));
return;
}
});
}else if(selectedIds.length < 1){
shr.showInfo({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_18
});
}else {
shr.showInfo({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_29
});
}
},
openTaskLoadTip: function(tipString) {
var _self = this;
var html = '';
if(tipString == jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_27){
html = SendLoadTip();
}else{
html = taskLoadTip();
}
html = juicer(html, { tipMsg: tipString });
$('#operationEmailDialog').html(html).fadeIn(150);
},
closeTaskLoadTip: function(html) {
$('#operationEmailDialog').html(html).fadeIn(150);
$('#operationEmailDialog').removeAttr('display');
},
deleteAction:function(){
var clz = this;
var $grid = $(clz.gridId);
var selectedIds = $grid.jqGrid("getSelectedRows");
if (selectedIds.length == 0) {
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_16
});
return;
} else if(selectedIds.length > 1){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_17
});
return;
}else{//开具状态为“放弃开具”或者“未提交”“审批不通过”的可以删除
var certificationStatus = $grid.jqGrid("getCell", selectedIds[0], "certificationStatus"); // 是否已开证明
var billState = $grid.jqGrid("getCell", selectedIds[0], "billState"); //单据状态
if(certificationStatus != 103 && billState != 4 && billState != 0){
shr.showWarning({
message: jsBizMultLan.emp_HRCertificationBillList_28243376_i18n_31
});
return;
}
shr.empCertification.HRCertificationBillList.superClass.deleteAction.call(this);
}
},
// 引入工具类
loadFiles:function(){
shr.loadScript(shr.getContextPath() + "/addon/shrshareservice/web/js/i18n/shareservice_i18n_" + contextLanguage + ".js");
shr.loadScript(shr.getContextPath() + '/addon/shrshareservice/web/js/shr/shareservice/viewProgressUtils.js');
},
viewApprovalProgressAction: function() {
var billId = this.getSelectedFields("id");
viewProgressUtils.getProgressView(billId,"certificationservice");
},
addButtonTips: function (field, tips) {
var btn = $("#" + field);
btn.css("margin-right", "-3px");
btn.after("");
var json = {
content: '' + tips + '
'
};
$("#" + field + "_tips").shrTooltip(json);
},
});
function taskLoadTip() {
var html = ['',
'
',
'',
'
',
'
${tipMsg}
',
'
'
];
return html.join('');
}
function SendLoadTip() {
var html = ['',
'
',
'',
'
',
'
${tipMsg}
',
'
'
];
return html.join('');
}