diff --git a/src/layouts/entry-page/entry-page.vue b/src/layouts/entry-page/entry-page.vue index ba8237d5..11d51a7b 100644 --- a/src/layouts/entry-page/entry-page.vue +++ b/src/layouts/entry-page/entry-page.vue @@ -34,7 +34,14 @@ }, async validateClientTagOnEntry() { - const clientTag = this.$route.query.ClientTag; + // Dump the query string parameters into an array. Remove casing on the key for easy compare. + let queryStringParams = []; + for ( let param in this.$route.query) + { + queryStringParams[param.toLowerCase()] = this.$route.query[param]; + } + + const clientTag = queryStringParams["clienttag"]; const clientTagPresent = !!clientTag; let authorized = false; @@ -48,6 +55,29 @@ this.mainStore.issConfig.accountNumber = resp.data.accountNumber; this.mainStore.issConfig.styleSheet = resp.data.styleSheet; authorized = true; + + if ( resp.data.parameters?.length > 0 ) + { + const clientParams = JSON.parse(resp.data.parameters); + + let finalParams = []; + for ( let cparam in clientParams) + { + let cname = cparam.toLowerCase(); + + for ( let qsparam in queryStringParams) + { + let qsname = qsparam.toLowerCase(); + + if ( cname === qsname ) + { + finalParams[cname] = queryStringParams[cname]; + } + } + } + + //this.populateStoreItemsFromParams(finalParams); + } } } @@ -59,6 +89,24 @@ window.location = "/?issPage=" + issPageValues.WELCOME_PAGE; } }, + populateStoreItemsFromParams(params) { + + const mainStore = useMainStore(); + + // Populate store items from parameters. + for ( let param in params) + { + let name = param.toLowerCase(); + let value = params[param]; + + switch (name) + { + case "policynumber": + mainStore.order.policy.policyNumber = value; + break; + } + } + }, }, computed:{ },