Надеюсь, я могу получить некоторую помощь здесь, у нас есть форма Nintex с некоторыми пользовательскими JS, написанными для предоставления определенных значений. Одним из которых является значение hidQAType и hidQAURL.
В приведенном ниже сценарии иногда происходит сбой, и эти значения будут нулевыми, что означает, что формы будут перенаправлены в список sharepoint, а не в соответствующую форму nintex.
Любая помощь будет принята с благодарностью.
NWF$(window).load(function () {waitDialog = SP.UI.ModalDialog.showWaitScreenWithNoClose(' ', 'Please wait...', 110, 280);
setTimeout(function () {
waitDialog.close();
}, 5000);
EnableDisableButton();
NWF$('#'+ActivityID).prop("readonly", true);
NWF$('#'+ActivityType).prop("readonly", true);
NWF$('#'+ActivityStatus).prop("readonly", true);
NWF$('#'+StatusReason).prop("readonly", true);
NWF$('#'+CRN).prop("readonly", true);
NWF$('#'+CaseTitle).prop("readonly", true);
NWF$('#'+Description).prop("readonly", true);
NWF$('#'+RegardingID).prop("readonly", true);
NWF$('#'+RegardingType).prop("readonly", true);
NWF$('#'+Reviewer).prop("readonly", true);
//NWF$('#'+ReviewerTeam).prop("readonly", true);
NWF$('#'+Assessee).prop("readonly", true);
//NWF$('#'+AssesseeTeam).prop("readonly", true);
NWF.FormFiller.Events.RegisterAfterReady(function () {NWF$(document).ready(function(){
if(("fn-GetQueryString(OwnerUsername)"!="undefined") && ("fn-GetQueryString(OwnerUsername)"!=""))
{
var assesuser = "fn-GetQueryString(OwnerUsername)";
var ins = new NF.PeoplePickerApi('#'+Assessee);
ins.search(assesuser).done(function (Assedata) {
ins.add(Assedata[0]);
});
}
//getEntityData();
getEntityInfo();
getTeamsData(NWF$('#'+Reviewer).val(), ReviewerTeam);
//call Assessee getTeamsData for CheckType and Team value
//if (NWF$('#'+Assessee).val()!="")
// getTeamsData(NWF$('#'+Assessee).val(), AssesseeTeam);
//remQATypes();
//getCheckType(NWF$('#'+Reviewer).val(),NWF$('#'+Assessee).val());
NWF$('#'+Assessee).change(function() {
NWF$('#'+AssesseeTeam).val('');
NWF$('#'+hidQAType).val('');
NWF$('#'+hidQAURL).val('');
//remCheckTypes();
//remQATypes();
EnableDisableButton();
if (NWF$('#'+Assessee).val()!="")
{ //call getTeamsData for CheckType and Team value
getTeamsData(NWF$('#'+Assessee).val(), AssesseeTeam);
// Page_ClientValidate();
}
});
NWF$('#'+ddlQATypes).change(function() {
var txtQAType = NWF$('#'+ddlQATypes).find("option:selected").text();
var txtQAURL = NWF$('#'+ddlQATypes).find("option:selected").val();
if (txtQAType!="Please select a value...")
{
NWF$('#'+hidQAType).val(txtQAType);
//NWF$('#'+hidQAURL).val(txtQAURL+"IL_ID="+NWF$('#' +hidUniqueID).val());
NWF$('#'+hidQAURL).val(txtQAURL+NWF$('#' +hidUniqueID).val()); }
else
{
NWF$('#'+hidQAType).val('');
NWF$('#'+hidQAURL).val('');
}
EnableDisableButton();
});
NWF$('#'+ddlCheckType).change(function() {
EnableDisableButton();
});
}); });});
function EnableDisableButton()
{
var txtQAType = NWF$('#'+ddlQATypes).find("option:selected").text();
var txtCheckType = NWF$('#'+ddlCheckType).find("option:selected").text();
var txtAssesse = NWF$('#'+Assessee).val();
if ((txtQAType!="Please select a value...") && (txtCheckType !="Please select a value...") && (txtAssesse != ''))
NWF$('.startQA').attr("disabled", false);
else
NWF$('.startQA').attr("disabled", true);
}
function getEntityInfo()
{
var svcEntityInfo = NWF$('[data-controlname*=svcEntityInfo] input').val();
var caseID = NWF$('#'+RegardingID).val();
var caseType = NWF$('#'+ActivityType).val().toLowerCase();
if (caseID=="")
{
caseID=NWF$('#'+ActivityID).val();
//check for orphaned activity
if (caseType!='incident')
{
NWF$('#'+CaseTitle).val("Orphaned");
NWF$('#'+Description).val("Case information not available");
return;
}
}
var serviceUri =_spPageContextInfo.webAbsoluteUrl +svcEntityInfo + caseID; //+ NWF$('#'+ActivityID).val() ;
console.log(serviceUri);
NWF$.ajax({
type: "GET",
contentType: "application/json",
url: serviceUri,
dataType: "json",
success:
function (data) {
console.log(data);
if (data.length>0)
{
NWF$('#'+CRN).val(data[0].ReferenceNumber);
NWF$('#'+CaseTitle).val(data[0].Name);
NWF$('#'+Description).val(data[0].Summary);
if ((NWF$('#'+Assessee).val()=="") || (NWF$('#'+Assessee).val()=="undefined"))
{
var ins = new NF.PeoplePickerApi('#'+Assessee);
ins.search(data[0].OwnerDomainName).done(function (Assedata) {
ins.add(Assedata[0]);
});
}
}
},
error:
function (err) {
console.log("getEntityInfo Error: " + err);
}
});
}function getEntityData()
{
var svcEntityInfo = NWF$('[data-controlname*=svcEntityInfo] input').val();
//console.log("svcEntityInfo: " + svcEntityInfo);
var serviceUri =svcEntityInfo + NWF$('#'+ActivityID).val() ;
//console.log(serviceUri);
NWF$.support.cors = true;
NWF$.ajax({
type: "GET",
contentType: "application/json",
url: serviceUri,
dataType: "json",
success:
function (data) {
//console.log(data);
NWF$('#'+CRN).val(data.ReferenceNumber);
NWF$('#'+CaseTitle).val(data.Name);
NWF$('#'+Description).val(data.Summary);
var ins = new NF.PeoplePickerApi('#'+Assessee);
ins.search(data.OwnerDomainName).done(function (Assedata) {
ins.add(Assedata[0]);
}); },
error:
function (err) {
console.log("getEntityData Error: " + err);
}
});
}
function getTeamsData(userName, teamCtrl) {
var str = userName;
var res = str.substring(str.indexOf('\\')+1, str.indexOf(';'));
var svcUserlevels = NWF$('[data-controlname*=svcUserLevels] input').val();
//console.log("svcUserLevels: " + svcUserlevels );
var serviceUri = _spPageContextInfo.webAbsoluteUrl + svcUserlevels + res;
NWF$.ajax({
type: "GET",
contentType: "application/json",
url: serviceUri,
dataType: "json",
success:
function (data) {
if (data.length>0)
NWF$('#'+teamCtrl).val(data[0].GroupName);
getQATypes(NWF$('#'+Reviewer).val(),NWF$('#'+Assessee).val());
if ((data.length>0) && (teamCtrl==AssesseeTeam))
getCheckType(NWF$('#'+Reviewer).val(),NWF$('#'+Assessee).val());
},
error:
function (err) {
console.log("getTeamsData Error: " + err + " uname: " + userName + " Ctrl: " +teamCtrl);
}
});
}function getCheckType(revName, asseName)
{
var str = revName;
var res1 = str.substring(str.indexOf('\\')+1, str.indexOf(';'));
str = asseName;
var res2 = str.substring(str.indexOf('\\')+1, str.indexOf(';'));
var svcCheckTypes = NWF$('[data-controlname*=svcCheckTypes] input').val();
console.log("svcCheckTypes: " + svcCheckTypes );
var serviceUri = _spPageContextInfo.webAbsoluteUrl +svcCheckTypes + res1 + "/" + res2;
NWF$.ajax({
type: "GET",
contentType: "application/json",
url: serviceUri,
dataType: "json",
success:
function (data) {
console.log(data);
if (data.length<=1)
remCheckTypes();
else
addCheckTypes();
},
error:
function (err) {
console.log("getCheckType Error: " + err + " Reviwer: " + revName + " Assessee: " + asseName);
remCheckTypes();
}
});
} function remCheckTypes()
{
foo = "Focused";
NWF$("#" + ddlCheckType+ " option:contains(" + foo +")").remove();
foo = "Random";
NWF$("#" + ddlCheckType+ " option:contains(" + foo +")").remove();
}
function addCheckTypes()
{
NWF$('#' +ddlCheckType).append($('<option>', {
value: 'Focused',
text: 'Focused'
}));NWF$('#' +ddlCheckType).append($('<option>', {
value: 'Random',
text: 'Random'
}));remDuplicates(ddlCheckType);
}
function getQATypes(revName, asseName)
{
var str = revName;
var res1 = str.substring(str.indexOf('\\')+1, str.indexOf(';')); if (asseName!="")
{
str = asseName;
var res2 = str.substring(str.indexOf('\\')+1, str.indexOf(';'));
}
else
var res2 = "null";
//console.log("svcQATypes: " + NWF$('[data-controlname*=svcQATypes] input').val());
var svcQATypes = NWF$('[data-controlname*=svcQATypes] input').val();
//console.log("svcQATypes: " + svcQATypes );
var serviceUri = _spPageContextInfo.webAbsoluteUrl +svcQATypes + res1 + "/" + res2;
NWF$.ajax({
type: "GET",
contentType: "application/json",
url: serviceUri,
dataType: "json",
success:
function (data) {
//console.log(data);
remQATypes();
addQATypes(data)
},
error:
function (err) {
console.log("getQATypes Error: " + err + " Reviwer: " + revName + " Assessee: " + asseName);
remQATypes();
}
});
}
function addQATypes(data)
{
remQATypes();
for (i = 0; i < data.length; i++)
{
NWF$('#' +ddlQATypes).append($('<option>', {
value: data[i].URL,
text: data[i].QAType
}));
}
var seltext = NWF$('#' +hidQAType).val();
if (seltext !="")
NWF$("#" + ddlQATypes+ " option:contains(" + seltext +")").attr("selected", true);
}
function remQATypes()
{
NWF$("select[id="+ddlQATypes+"]>option").each(function(){
if(this.text !="Please select a value...")
$(this).remove();
});
}function remDuplicates(ctrl)
{
var usednames={};
NWF$("select[id="+ctrl+"]>option").each(function(){
if(usednames[this.text]){
NWF$(this).remove();
}
else{
usednames[this.text]=this.value;
}
});
}function saveAndRedirect() {
if(validateForm())
{
NWF$('#' +ddlQATypes).attr("disabled", true);
waitDialog = SP.UI.ModalDialog.showWaitScreenWithNoClose(' ', 'Please wait...', 110, 280);
setTimeout(function(){
waitDialog.close();
}, 6000); NWF$('.saveButton').click(); setTimeout(function(){
window.location.replace(NWF$('#' +hidQAURL).val());
}, 1000);
}
else
{
NWF$('#' +ddlQATypes).attr("disabled", false); NWF$('.saveButton').click();
EnableDisableButton();
}}function validateForm() { //for(i = 0; i < Page_Validators.length ; i++) {
// NWF$("#" + Assessee).attr("class","nf-peoplepicker nf-associated-control");
//}
var formValidated = Page_ClientValidate(); if(!formValidated)
{
//for(i = 0; i < Page_Validators.length ; i++)
//{
// if(!Page_Validators[i].isvalid)
// {
// NWF$("#" + Assessee).attr("class", "nf-peoplepicker nf-associated-control nf-error-highlight"); // }
//}
return false;
}
else
{
return true;
}}