*
*/
import
observable,
extendObservable,
action,
asMap,
reaction,
autorunm,
toJS
} from
import
import ClientConfig from "../config/ClientConfig";
import {
const { ClientMiddleware } = BaseMiddlewares;
import { BaseComponents } from "frontend-react-f4-base-ui";
import
import { observer } from "mobx-react";
import TextArea
import moment from "moment";
const { strings } = BaseComponents;
import
import MaintenanceApprovalConfirmPanel
import MaintenanceApprovalPanel from "../../components/MaintenanceApprovalPanel/MaintenanceApprovalPanel";
import CitrineFunctionCodes from "../../enums/CitrineFunctionCodes";
import MaintenanceApprovalAckPanel from "../../components/MaintenanceApprovalAckPanel/MaintenanceApprovalAckPanel";
import ViewPage from "../../components/ViewPage/ViewPage";
import AckMessage from "../../components/AckMessage/AckMessage";
import _ from "underscore";
import ApproveRejectViewPageActionPanel from "../../components/ApproveRejectViewPageActionPanel/ApproveRejectViewPageActionPanel";
import BoNewViewPage from "../../components/BoNewViewPage/BoNewViewPage";
import NewViewRestrictedPayeePanel from "../../components/NewViewRestrictedPayeePanel/NewViewRestrictedPayeePanel";
const { connect } = BaseContext;
const { F4ContentContainer } = BaseContainers;
const { strings, F4Stepper, Feedback } = BaseComponents;
import ClientConfig from "../../config/ClientConfig";
@observer
@connect
export default class
Object.assign(this, RestrictedPayeeStore);
}
this.
this.resetInputs();
this.resetErrorList();
this.resetSearchFields();
this.resetApprovalFields();
}
@action
reset() {
extendObservable(this, {
hasManualAuth: false,
hasUploadAuth: false,
isManual: true,
clickedNext: false,
clickedBack: false,
previousData: null,
dataTableRef: null,
isforView: false,
dataTableStore: {
confirm: 1,
ack: 2,
view: 3,
viewForConfirmAck: 4,
ackForSingle: 5
},
selectedMenuOnEdit: 0,
selectedMenuOnApprove: 0,
selectedMenuOnSearch: 0,
fields: {
payeeName: strings.global_restrictedpayeenm,
amount: strings.global_amount,
isAllowed: strings.global_isallowed,
charToIgnore: strings.global_character_ignore
},
copyFromFields: [
{
key: "amount"
}
],
payeeFields: [
{
key: "payeeName",
label: strings.global_restrictedpayeenm
},
{
key: "amount",
label: strings.global_amount
},
{
key: "isAllowed",
label: strings.global_isallowed
},
{
key: "charToIgnore",
label: strings.global_character_ignore
}
],
payeeSaved: null,
refNoDeleteMultiple: null,
isForApproval: false,
readOnly: false,
prevPage:
header: null,
refNo: null
},
approveListReqModel: {
localUserCd: null,
maintenanceList: null,
isApprove: false
},
approvalConfirmProps: {
action: null,
remarks: "",
dataList: null
},
approvalAckProps: {
dataList: null,
action: null,
remarks: null,
refNo: null,
message: null
},
viewPageMaintenanceData: null,
uploadFields: {
payeeName: null,
amount: 0,
isAllowed: false,
charToIgnore: null
},
searchFilter: {
payeeName: null,
amount: 0,
isAllowed: false,
charToIgnore: null,
restrictedPayeeDate: null,
filterList: [],
isInquiry: true,
maker: null,
requiresApprovalFuncCd:
CitrineFunctionCodes.RESTRICTED_PAYEE_NM_REQUIRES_APPROVAL
},
// transactionOptionsRadioButton: [
// {
// value: 0,
clickedApprove: false,
clickedReject: false
// },
// {
// value: 1,
// label: "Allow Payee but with Override"
// }
// ],
isAllowed: [
{
value: 0,
label: "Disallow Payee"
},
{
value: 1,
label: "Allow Payee but with Override"
}
]
});
}
@observable responseBody = null;
@observable restrictedPayeeList = null;
@observable restrictedPayeeDtlString = null;
@action getFieldLabel(key) {
let field = _.findWhere(this.payeeFields, {
key: key
});
return field ? field.label : "";
}
@action resetErrorList() {
extendObservable(this, {
errors: []
});
}
@action initializeMaintenanceModel(data, actnFuncCd, userCd, grpId) {
let isAdd = actnFuncCd === CitrineFunctionCodes.RESTRICTED_PAYEE_NM_ADD;
let editFuncCd =
actnFuncCd === isAdd
? null
: CitrineFunctionCodes.RESTRICTED_PAYEE_NM_EDIT;
let deleteFuncCd = isAdd
? null
: CitrineFunctionCodes.RESTRICTED_PAYEE_NM_DEL;
return {
localUserCd: userCd,
requiresApprovalFuncCd:
CitrineFunctionCodes.RESTRICTED_PAYEE_NM_REQUIRES_APPROVAL,
actnFuncCd: actnFuncCd,
approveRejectFuncCd:
CitrineFunctionCodes.RESTRICTED_PAYEE_NM_APPROVE_REJECT,
addFuncCd: isAdd ? CitrineFunctionCodes.RESTRICTED_PAYEE_NM_ADD : null,
editFuncCd: editFuncCd,
deleteFuncCd: deleteFuncCd,
modelNm: strings.global_payee,
grpId: grpId,
isAdd: isAdd,
dtlString: JSON.stringify({
id: isAdd ? null : data.id,
cd: isAdd ? null : data.cd,
funcCd: data.funcCd,
payeeName: data.payeeName,
amount: data.amount,
charToIgnore: data.charToIgnore,
isAllowed: data.isAllowed,
version: isAdd ? null : data.version
}),
filterValues: [
data.payeeName,
data.amount,
data.isAllowed,
data.charToIgnore
],
uniqueCds: [data.payeeName]
};
}
const { onLoadResults } = this.props;
RestrictedPayeeStore.resetApprovalFields();
if (onLoadResults && onLoadResults === true)
}
localUserCd: null,
id: null,
payeeName: "",
amount: 0,
isAllowed: true,
isAllowedStr: "",
transactionOptionRadioButton: 0,
charToIgnore: null,
showEdit: false
}
});
}
RestrictedPayeeStore.selectedMenuOnApprove = pageNo;
};
confirmOnClickBack = () => {
const { MaintenanceStore, RestrictedPayeeStore } = this.context.store;
MaintenanceStore.approveList = null;
RestrictedPayeeStore.resetApprovalFields();
this.redirectTo(
this.state.isForView ? this.state.pages.view : this.state.pages.initial
);
this.setState({ isForView: false });
};
confirmOnClickSubmit = (isApprove, succCB) => {
const { auth, RestrictedPayeeStore, SettingsStore } = this.context.store;
SettingsStore.isScreenLoading = true;
this.setState({ prevPage: this.state.pages.confirm });
RestrictedPayeeStore.approveListReqModel.localUserCd =
auth.sessionUser.user.cd;
RestrictedPayeeStore.approveListReqModel.isApprove = isApprove;
RestrictedPayeeStore.approveListReqModel.remarks =
RestrictedPayeeStore.approvalConfirmProps.remarks;
RestrictedPayeeStore.approveListReqModel.maintenanceList =
RestrictedPayeeStore.approvalConfirmProps.dataList;
if (isApprove)
RestrictedPayeeStore.approveListReqModel.maintenanceList,
res =>
{
if (res.body && res.body.error) {
if (res.body.error.errors)
label: strings.global_restrictedpayeenm,
type: "text",
content: null,
value: null
},
{
index: "amount",
label: strings.global_amount,
type: "text",
content: null,
value: null
},
{
index: "isAllowed",
label: strings.global_action,
type: "radio",
content: [
{
RestrictedPayeeStore.errors.push(errStr.message);
});
} else if (res.body.error.message)
// label: YesOrNoEnum.getDescriptionFromKey(1)
label: "Allow Payee but with Override"
},
{
// label: YesOrNoEnum.getDescriptionFromKey(0)
label: "Disallow Payee"
},
{
value: 2,
label: strings.global_all
}
value: 2,
defaultValue: 2
}
]
});
}
@action
resetSearchFilters() {
extendObservable(this, {});
}
@action
resetApprovalFields() {
extendObservable(this, {
approvalFields: [
{
index: "refNo",
label: strings.global_refno,
type: "text",
content: null,
value: null
},
{
index: "filterOne",
label: strings.global_restrictedpayeenm,
type: "text",
content: null,
value: null,
filterType: {
// SettingsStore.isScreenLoading = false;
isCaseSensitive: true
}
},
{
index: "filterTwo",
label: strings.global_amount,
type: "text",
content: null,
value: null,
filterType: {
isEq: true,
isCaseSensitive: true
}
},
// {
// index: "filterThree",
// label: strings.global_isallowed,
// type: "text",
// content: null,
// value: null,
// filterType: {
// isEq: true,
// isCaseSensitive: true
// }
// },
// {
// index: "filterFour",
// label: "Characters To Ignore",
// type: "text",
// content: null,
// value: null,
// filterType: {
// isEq: true,
// isCaseSensitive: true
// }
// },
{
index: "fromDate",
label: strings.global_creatddt,
type: "dateBetween",
content: null,
value: moment()
.subtract(2, "months")
.add(1, "days"),
children: null
},
{
index: "toDate",
label: strings.global_creatddt,
type: "dateBetween",
content: null,
value: moment(),
children: null
}
});
}
@action
hasErrors(responseBody) {
if (responseBody && !responseBody.error) {
return false;
} else {
// SettingsStore.isScreenLoading = false;
}
};
approveList = (isApprove, succCB) => {
const { RestrictedPayeeStore, SettingsStore } = this.context.store;
? strings.formatString(
strings.feedback_success_approval,
strings.global_restrictedpayeenm,
"approved"
)
: strings.formatString(
strings.feedback_success_approval,
strings.global_restrictedpayeenm,
"rejected"
);
let messageSingle = isApprove
? "Restricted Payee Name was approved."
: "Restricted Payee Name was rejected.";
RestrictedPayeeStore.approveList(
RestrictedPayeeStore.approveListReqModel,
res =>
if (
responseBody &&
responseBody.error &&
responseBody.statusCode != 500
) {
dataList: RestrictedPayeeStore.approvalConfirmProps.dataList,
action: isApprove
? strings.global_approve.toLowerCase()
: strings.global_reject.toLowerCase(),
remarks: RestrictedPayeeStore.approvalConfirmProps.remarks,
refNo: res.text,
message: this.state.isForView ? messageSingle : message
};
if (this.state.isForView) {
let maintenanceList =
RestrictedPayeeStore.approvalAckProps.dataList;
RestrictedPayeeStore.restrictedPayeeDtlString =
maintenanceList &&
maintenanceList.length > 0 &&
JSON.parse(maintenanceList[0].dtlString);
this.redirectTo(this.state.pages.ackForSingle);
this.setState({
prevPage: this.state.pages.ackForSingle
});
} else
this.redirectTo(this.state.pages.ack);
this.setState({ prevPage: this.state.pages.ack });
}
SettingsStore.isScreenLoading
errorMessage =
succCB && succCB();
} else {
_.each(res.body.error.errors, errStr => {
RestrictedPayeeStore.errors.push(errStr.message);
});
} else if (res.body.error.message) {
RestrictedPayeeStore.errors.push(res.body.error.message);
}
SettingsStore.isScreenLoading
succCB && succCB();
}
} else {
errorMessage = this.feedbackBadErrloginMessage;
}
this.setErrors(errorMessage);
return true;
}
}
@action
setErrors = error => {
if (this.isString(error)) {
this.errors = [error];
} else if (this.isArray(error)) {
this.errors = _.map(error, e => e.message);
}
};
@action
isString(value) {
return typeof value === "string" || value instanceof String;
}
@action
isArray(value) {
return value && typeof value === "object" && value.constructor === Array;
}
@action
validateRestrictedPayee(restrictedPayeeReqModel, succCB, errCB) {
console.log("Endpoint on RestrictedPayeeStore.validateRestrictedPayee");
this.errors = [];
ClientMiddleware.post(
ClientConfig.apiEndpoints.restrictedPayeeValidate,
restrictedPayeeReqModel,
succCB,
err => {
this.hasErrors(err);
errCB && errCB(err);
}
);
onClickRefNo = data =>
@action
addRestrictedPayee(restrictedPayeeReqModel, succCB, errCB) {
RestrictedPayeeStore.resetErrorList();
RestrictedPayeeStore.viewPageMaintenanceData = data;
MaintenanceStore.remarks = null;
RestrictedPayeeStore.resetApprovalFields();
this.redirectTo(this.state.pages.view);
this.setState({
readOnly: false,
prevPage: this.state.pages.confirm,
isForView: true
});
};
onClickRefNoForConfirmAck = data => {
const { RestrictedPayeeStore, MaintenanceStore } = this.context.store;
RestrictedPayeeStore.viewPageMaintenanceData = data;
this.redirectTo(this.state.pages.viewForConfirmAck);
this.setState({ readOnly: true });
};
onClickApprove = (maintenanceList, remarks, succCB) => {
const {
RestrictedPayeeStore,
MaintenanceStore,
auth,
SettingsStore
} = this.context.store;
MaintenanceStore.errors = [];
SettingsStore.isScreenLoading = true;
this.setState({ clickedApprove: true });
RestrictedPayeeStore.validateApproval(maintenanceList, res => {
if (res.body && res.body.error) {
if (res.body.error.errors) {
_.each(res.body.error.errors, errStr
ClientMiddleware.post(
ClientConfig.apiEndpoints.restrictedPayeeAdd,
restrictedPayeeReqModel,
succCB,
err =>
MaintenanceStore.errors.push(errStr.message);
RestrictedPayeeStore.errors.push(errStr.message);
});
} else if (res.body.error.message) {
MaintenanceStore.errors.push(res.body.error.message);
RestrictedPayeeStore.errors.push(res.body.error.message);
}
MaintenanceStore.remarks = null;
SettingsStore.isScreenLoading = false;
this.
succCB
errCB &&
} else {
console.log("No Errors.");
MaintenanceStore.validateApprovalReqModel.isApprove = true;
MaintenanceStore.validateApprovalReqModel.maintenanceList = maintenanceList;
MaintenanceStore.validateApprovalReqModel.modelNm =
strings.global_payee;
MaintenanceStore.validateApprovalReqModel.remarks = remarks;
MaintenanceStore.validateApprovalReqModel.requiresApprovalFuncCd =
CitrineFunctionCodes.RESTRICTED_PAYEE_NM_REQUIRES_APPROVAL;
//CitrineFunctionCodes.COURIER_MAINTENANCE_REQUIRES_APPROVAL;
MaintenanceStore.validateApprovalReqModel.userCd =
auth.sessionUser.user.cd;
MaintenanceStore.validateApproval(
MaintenanceStore.validateApprovalReqModel,
res => {
if (res.body && res.body.error) {
_.each(res.body.error.errors, errStr => {
MaintenanceStore.errors.push(errStr.message);
});
this.setState({ clickedApprove: false });
SettingsStore.isScreenLoading = false;
succCB && succCB();
} else {
console.log("No Errors.");
RestrictedPayeeStore.approvalConfirmProps = {
action: strings.global_approve.toLowerCase(),
remarks: remarks,
dataList: maintenanceList
};
RestrictedPayeeStore.resetErrorList();
if (this.state.isForView) {
this.confirmOnClickSubmit(true, null);
} else {
this.redirectTo(this.state.pages.confirm);
this.setState({
prevPage: this.state.pages.confirm
});
SettingsStore.isScreenLoading = false;
}
MaintenanceStore.remarks = null;
this.setState({ clickedApprove: false });
succCB && succCB();
}
}
);
}
});
};
onClickReject = (maintenanceList, remarks, succCB) => {
const {
RestrictedPayeeStore,
MaintenanceStore,
auth,
SettingsStore
} = this.context.store;
SettingsStore.isScreenLoading = true;
MaintenanceStore.errors = [];
this.setState({ clickedReject: true });
MaintenanceStore.validateApprovalReqModel.isApprove = false;
MaintenanceStore.validateApprovalReqModel.maintenanceList = maintenanceList;
MaintenanceStore.validateApprovalReqModel.modelNm = strings.global_payee;
MaintenanceStore.validateApprovalReqModel.remarks = remarks;
MaintenanceStore.validateApprovalReqModel.requiresApprovalFuncCd =
CitrineFunctionCodes.RESTRICTED_PAYEE_NM_REQUIRES_APPROVAL;
// CitrineFunctionCodes.COURIER_MAINTENANCE_REQUIRES_APPROVAL;
MaintenanceStore.validateApprovalReqModel.userCd = auth.sessionUser.user.cd;
MaintenanceStore.validateApproval(
MaintenanceStore.validateApprovalReqModel,
res => {
if (res.body && res.body.error) {
_.each(res.body.error.errors, errStr => {
MaintenanceStore.errors.push(errStr.message);
});
this.setState({
showErrorModal: true,
errorModalMsg: MaintenanceStore.errors[0],
clickedReject: false
});
SettingsStore.isScreenLoading = false;
succCB && succCB();
} else {
console.log("No Errors.");
RestrictedPayeeStore.approvalConfirmProps = {
action: strings.global_reject.toLowerCase(),
remarks: remarks,
dataList: maintenanceList
};
RestrictedPayeeStore.resetErrorList();
if (this.state.isForView) {
this.confirmOnClickSubmit(false, () => {
this.setState({
clickedReject: false
});
});
} else {
this.redirectTo(this.state.pages.confirm);
this.setState({
prevPage: this.state.pages.confirm,
clickedReject: false
});
}
SettingsStore.isScreenLoading = false;
succCB && succCB();
}
MaintenanceStore.remarks = null;
}
);
onSearch = multiSort =>
@action
editrestrictedPayee(restrictedPayeeReqModel, succCB, errCB) {
if (!multiSort) {
multiSort = {
page: 0,
count: 10,
sortList: [
{
direction: "desc",
sort: "updatedDt"
}
]
};
}
let fields = RestrictedPayeeStore.approvalFields;
{
fields != undefined &&
fields.map(
field =>
(MaintenanceStore.searchRequestModel[field.index] = field.value)
);
}
MaintenanceStore.errors = [];
MaintenanceStore.searchRequestModel.notCreatedBy = auth.sessionUser.user.cd;
MaintenanceStore.searchRequestModel.filterTypeOne = {
isCaseSensitive: false,
isEq: true
};
MaintenanceStore.searchRequestModel.filterTypeTwo = {
isCaseSensitive: false,
isEq: false
};
MaintenanceStore.searchRequestModel.funcCd =
CitrineFunctionCodes.RESTRICTED_PAYEE_NM_REQUIRES_APPROVAL;
//CitrineFunctionCodes.COURIER_MAINTENANCE_REQUIRES_APPROVAL;
MaintenanceStore.findBySearchModel(
MaintenanceStore.searchRequestModel,
multiSort,
res
ClientMiddleware.put(
ClientConfig.apiEndpoints.restrictedPayeeEdit,
restrictedPayeeReqModel,
succCB,
err => {
console.log("app res: ", res);
MaintenanceStore.responseBody = res.body;
MaintenanceStore.approveList = res.body.content;
let data = MaintenanceStore.approveList;
MaintenanceStore.dataTableRef.setState({
data: data,
copyOfData: data,
totalItemsCount: res.body.totalElements
});
MaintenanceStore.dataTableRef &&
MaintenanceStore.dataTableRef.forceUpdate();
} else {
console.log("Error", res.body.error);
}
//
errCB && errCB(err);
}
);
_createData = () =>
@action
deleteRestrictedPayee(restrictedPayee, succCB, errCB) {
ClientMiddleware.post(
ClientConfig.apiEndpoints.restrictedPayeeDelete,
restrictedPayee,
succCB,
err => {
name: "refNo",
type: "link",
width: 100,
cell: props => (
className="linkInTable"
onClick={() =>
>
{" "}
{props.data.refNo}{" "}
)
},
{
headerTitle: strings.global_restrictedpayeenm,
name: "filterOne",
type: "text",
width: 100
},
{
headerTitle: strings.global_amount,
name: "filterTwo",
type: "text",
width: 100
},
{
headerTitle: strings.global_func,
// name: "actnFuncCd",
name: "actnFunc.description",
type: "text",
width: 150,
sortBy: "actnFunc.description",
cell: props => (
{props.data.actnFunc.description}
)
},
{
headerTitle: strings.global_creatdby,
name: "createdBy",
type: "text",
width: 150
},
{
headerTitle: strings.global_createdt,
name: "createdDt",
type: "text",
width: 150,
formatter: "date"
errCB && errCB(err);
}
}
deleteMultiplerestrictedPayee(
localUserCd,
restrictedPayeeList,
succCB,
errCB
) {
"Endpoint on restrictedPayeeStore.deleteMultiplerestrictedPayee"
);
ClientMiddleware.post(
ClientConfig.apiEndpoints.restrictedPayeeDeleteMultiple,
{
succCB,
err => {
this.
let isApprove =
RestrictedPayeeStore.approvalConfirmProps.action === "approve";
return (
isAck={false}
isConfirm={true}
columnHeaders={this._createDataForConfirmAck()}
action={RestrictedPayeeStore.approvalConfirmProps.action}
remarks={RestrictedPayeeStore.approvalConfirmProps.remarks}
dataList={RestrictedPayeeStore.approvalConfirmProps.dataList}
onClickBack={() => {
MaintenanceStore.remarks = null;
RestrictedPayeeStore.resetErrorList();
this.confirmOnClickBack();
}}
onClickSubmit={() => this.confirmOnClickSubmit(isApprove, null)}
errorFeedback={RestrictedPayeeStore.errors}
stepWizardHeader={"Confirm Details"}
modelName={strings.global_payee}
/>
errCB && errCB(err);
}
);
}
findBySearchModel(search, multiSort, succCB, errCB) {
"Endpoint on restrictedPayeeStore.restrictedPayeeFindBySearchModel"
);
ClientMiddleware.post(
ClientConfig.apiEndpoints.restrictedPayeeFindBySearchModel,
{
succCB,
err => {
this.
return (
isAck={true}
isConfirm={false}
header={RestrictedPayeeStore.approvalAckProps.message}
refNo={RestrictedPayeeStore.approvalAckProps.refNo}
columnHeaders={this._createDataForConfirmAck()}
action={RestrictedPayeeStore.approvalAckProps.action}
remarks={RestrictedPayeeStore.approvalAckProps.remarks}
dataList={RestrictedPayeeStore.approvalAckProps.dataList}
hasButtons
modelName={strings.global_payee}
backButtonLabel={strings.formatString(
strings.button_middle_backxtopage,
strings.formatString(
strings.global_approveobj,
strings.global_restrictedpayeenms
)
)}
onClickBack={() => {
MaintenanceStore.remarks = null;
RestrictedPayeeStore.resetApprovalFields();
MaintenanceStore.approveList = null;
this.redirectTo(this.state.pages.initial);
}}
stepWizardHeader={strings.global_acknowledgement}
/>
errCB && errCB(err);
}
);
}
findBySearchModelForMaintenance(search, multiSort, succCB, errCB) {
"Endpoint on restrictedPayeeStore.findBySearchModelForMaintenance"
);
ClientMiddleware.post(
ClientConfig.apiEndpoints.restrictedPayeeFindBySearchModelForMaintenance,
{
succCB,
err => {
this.
let dtlStringData = RestrictedPayeeStore.viewPageMaintenanceData
? JSON.parse(RestrictedPayeeStore.viewPageMaintenanceData.dtlString)
: null;
let funcDscp =
RestrictedPayeeStore.viewPageMaintenanceData &&
RestrictedPayeeStore.viewPageMaintenanceData.actnFunc.description;
return (
isApproveReject
funcDscp={funcDscp}
hasBackButton
backButtonLabel={strings.formatString(
strings.global_approveobj,
strings.global_restrictedpayeenm
)}
store={MaintenanceStore}
modelNm={strings.global_payee}
viewPanel={
data={dtlStringData ? dtlStringData : null}
/>
}
onClickBack={() => {
MaintenanceStore.resetRemarks();
MaintenanceStore.errors = [];
RestrictedPayeeStore.resetErrorList();
MaintenanceStore.approveList = null;
this.setState({ isForView: false });
this.redirectTo(this.state.pages.initial);
}}
onClickApprove={() => {
this.setState({ isForView: true });
let data = [];
data.push(RestrictedPayeeStore.viewPageMaintenanceData);
this.onClickApprove(data, MaintenanceStore.remarks);
MaintenanceStore.errors = [];
}}
onClickReject={() => {
this.setState({ isForView: true });
let data = [];
data.push(RestrictedPayeeStore.viewPageMaintenanceData);
this.checkIfHasRemarks(data);
MaintenanceStore.errors = [];
}}
/>
errCB && errCB(err);
}
);
}
validateApproval(validateApprovalReqModel, succCB, errCB) {
this.
let dtlStringData
return (
errorList={RestrictedPayeeStore.errors}
// isApproveReject
hasBackButton
backButtonLabel={
this.state.prevPage == this.state.pages.ack
? strings.global_acknowledgement
: strings.global_confirm
}
store={MaintenanceStore}
modelNm={strings.global_payee}
viewPanel={
data={dtlStringData ? dtlStringData : null}
/>
}
onClickBack={() => {
this.state.prevPage == this.state.pages.ack
? this.redirectTo(this.state.pages.ack)
: this.redirectTo(this.state.pages.confirm);
}}
/>
ClientMiddleware.post(
ClientConfig.apiEndpoints.validateRestrictedPayeeApproval,
validateApprovalReqModel,
succCB,
errCB
);
}
approveList(reqModel, succCB, errCB) {
ClientMiddleware.post(
ClientConfig.apiEndpoints.restrictedPayeeApproveList,
reqModel,
succCB,
err => {
this.
let data = RestrictedPayeeStore.restrictedPayeeDtlString;
let funcDscp =
RestrictedPayeeStore.viewPageMaintenanceData &&
RestrictedPayeeStore.viewPageMaintenanceData.actnFunc.description;
return (
isConfirm={false}
funcDscp={funcDscp}
columnHeaders={this._createDataForConfirmAck()}
action={RestrictedPayeeStore.approvalAckProps.action}
remarks={RestrictedPayeeStore.approvalAckProps.remarks}
dataList={RestrictedPayeeStore.approvalAckProps.dataList}
hasButtons
modelName={strings.global_payee}
backButtonLabel={strings.formatString(
strings.button_middle_backxtopage,
strings.formatString(
strings.global_approveobj,
strings.global_restrictedpayeenm
)
)}
onClickBack={() => {
MaintenanceStore.remarks = null;
MaintenanceStore.approveList = null;
RestrictedPayeeStore.resetApprovalFields();
this.redirectTo(this.state.pages.initial);
this.setState({
isForView: false
});
}}
viewPanel={
refNo={RestrictedPayeeStore.approvalAckProps.refNo}
isConfirm={false}
isAck={true}
data={data ? data : null}
store={MaintenanceStore}
errorFeedback={MaintenanceStore.errors}
hideStepper={true}
/>
}
/>
);
}
showViewPageConfirmAckData() {
const { RestrictedPayeeStore } = this.context.store;
return RestrictedPayeeStore.viewPageMaintenanceData
? JSON.parse(RestrictedPayeeStore.viewPageMaintenanceData.dtlString)
: null;
}
handleCancel = () => {
this.setState({
showErrorModal: false,
errorModalMsg: ""
});
};
handleKeyDown = e => {
const { MaintenanceStore } = this.context.store;
MaintenanceStore.remarks = e.target.value;
};
checkIfHasRemarks = data => {
const { MaintenanceStore, SettingsStore } = this.context.store;
if (!MaintenanceStore.remarks) {
let errorList = [
strings.formatString(
strings.feedback_bad_isrequired,
strings.global_remarks
)
];
RestrictedPayeeStore.errors = errorList;
this.setState({
showErrorModal: true,
errorModalMsg: errorList[0]
});
SettingsStore.isScreenLoading = false;
} else {
this.onClickReject(data, MaintenanceStore.remarks);
}
};
render() {
const { RestrictedPayeeStore, MaintenanceStore } = this.context.store;
const actionButtons = (
labelField={strings.global_remarks}
value={MaintenanceStore.remarks}
placeHolder={strings.global_remarks}
onChange={this.handleKeyDown}
maxLength="255"
/>
strings.global_approveobj,
strings.global_restrictedpayeenm
)}
rejectMessage={strings.formatString(
strings.global_rejectobj,
strings.global_restrictedpayeenm
)}
onClickApprove={() => {
this.setState({ isForView: true });
let data = [];
data.push(RestrictedPayeeStore.viewPageMaintenanceData);
this.onClickApprove(data, MaintenanceStore.remarks);
MaintenanceStore.errors = [];
}}
onClickReject={() => {
this.setState({ isForView: true });
let data = [];
data.push(RestrictedPayeeStore.viewPageMaintenanceData);
this.checkIfHasRemarks(data);
MaintenanceStore.errors = [];
}}
/>
);
const data = [
{ key: 0, content: this._showMaintenanceApprovalPanel() },
{ key: 1, content: this._showMaintenanceApprovalConfirmPanel() },
{ key: 2, content: this._showMaintenanceApprovalAckPanel() },
{ key: 3, content: this._showViewPage(actionButtons) },
{ key: 4, content: this._showViewPageForConfirmAck() },
{ key: 5, content: this._showAckForSingle() }
];
return (
closable={true}
onClose={this.handleCancel}
onCancel={this.handleCancel}
okButtonProps={{
style: { display: "none" }
}}
cancelButtonProps={{
style: { display: "none" }
}}
destroyOnClose={true}
className="errorModalFeedback"
>
{this.state.showErrorModal ? (
class="swal2-icon swal2-error swal2-animate-error-icon"
style={{ display: "flex" }}
>
{this.state.errorModalMsg}