First of all creating a new field in the Review section of quote to sales order page.

The template file, add the portion
{{#if myaccount}}
<div class="order-wizard-paymentmethod-selector-module"><h2 class="order-wizard-paymentmethod-selector-module-header"> Purchase Order Number
</h2><h3>Enter Purchase Order Number(optional)</h3>
<form>
<div class="row porow">
<label class="polabel" for="poname">PO #</label>
<input class="pobutton" type="text">
</div>
</form>
</div>
In Entry point file
define(
'JJ.revieworder.revieworder', [
'OrderWizard.Module.PaymentMethod.Selector'
],
function(
OrderWizardModulePaymentMethodSelector,
) {
'use strict';
return {
mountToApp: function mountToApp(container) {
var myaccount = container.getComponent('MyAccountMenu');
if (myaccount) {
_.extend(OrderWizardModulePaymentMethodSelector.prototype, {
initialize: _.wrap(OrderWizardModulePaymentMethodSelector.prototype.initialize, function wrapInitialize(fn) {
fn.apply(this, _.toArray(arguments).slice(1));
console.log("demodata", this)
}),
getContext: _.wrap(OrderWizardModulePaymentMethodSelector.prototype.getContext, function(fn) {
var context = fn.apply(this, _.toArray(arguments).slice(1));
var self = this;
var myaccount = true;
context.myaccount = myaccount;
console.log("demodata123", this)
var divval;
setTimeout(function() {
$(".order-wizard-submitbutton-module-button").click(function() {
divval = $('.pobutton').val();
self.model.divval = divval;
self.model.set('otherrefnum', divval);
});
$(".quote-to-salesorder-wizard-step-button-continue").click(function() {
console.log("divvalnew")
divval = $('.pobutton').val();
self.model.divval = divval;
console.log("selfnew1", self)
self.model.set('otherrefnum', divval);
});
}, 1000);
return context;
})
});
}
}
};
});
In Suitscript file
define('JJ.revieworder.revieworder', [
'revieworder.ServiceController', 'QuoteToSalesOrder.Model', 'Transaction.Model'
], function(
revieworderServiceController, QuoteToSalesOrderModel, TransactionModel
) {
'use strict';
_.extend(QuoteToSalesOrderModel, {
get: _.wrap(QuoteToSalesOrderModel.get, function(fn) {
var originalupdate2 = _.toArray(arguments);
var originalupdate = fn.apply(this, _.toArray(arguments).slice(1));
try {
console.error("inside update", JSON.stringify(arguments))
console.error("originalupdate", JSON.stringify(originalupdate))
} catch (e) {
console.error(e)
}
return originalupdate;
}),
update: _.wrap(QuoteToSalesOrderModel.update, function(fn) {
var originalupdate2 = _.toArray(arguments);
var originalupdate = fn.apply(this, _.toArray(arguments).slice(1));
try {
console.error("inside update", JSON.stringify(arguments))
console.error("originalupdate", JSON.stringify(originalupdate))
this.record.setFieldValue('otherrefnum', arguments[3].otherrefnum);
} catch (e) {
console.error(e)
}
return originalupdate;
}),
submit: _.wrap(QuoteToSalesOrderModel.submit, function(fn) {
var originalupdate2 = _.toArray(arguments);
var originalupdate = fn.apply(this, _.toArray(arguments).slice(1));
try {
console.error("inside update2", JSON.stringify(arguments))
console.error("originalupdate2", JSON.stringify(originalupdate))
} catch (e) {
console.error(e)
}
return originalupdate;
})
})
});