Merge branch 'beta' of git.treelet.net:crane/retailer-vue into dev
This commit is contained in:
commit
aba7cd3dad
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
VUE_APP_BRAINTREE_AUTH_KEY=sandbox_bn48hmp6_cz6p85sw4dr5tp8h
|
VUE_APP_BRAINTREE_AUTH_KEY=sandbox_bn48hmp6_cz6p85sw4dr5tp8h
|
||||||
VUE_APP_MAGENTO_API_URL=https://retailer-stg.crane.com
|
VUE_APP_MAGENTO_API_URL=https://retailer-stg.crane.com
|
||||||
VUE_APP_CRANE_URL=/shop
|
VUE_APP_CRANE_URL=/shop
|
||||||
|
@ -11,7 +10,7 @@ VUE_APP_RETAILOR_ID=49057567-f789-420c-98b6-2e0443af73f5
|
||||||
VUE_APP_IMAGE_CATEGORY_PATH_URL=https://retailer-stg.crane.com
|
VUE_APP_IMAGE_CATEGORY_PATH_URL=https://retailer-stg.crane.com
|
||||||
VUE_APP_NODESLS_API_URL=https://imagelib-sls-stg.crane.com
|
VUE_APP_NODESLS_API_URL=https://imagelib-sls-stg.crane.com
|
||||||
|
|
||||||
VUE_APP_HOME_PAGE_URL=https://www-retailer-stg.crane.com
|
VUE_APP_HOME_PAGE_URL=https://www-stg.crane.com
|
||||||
VUE_APP_CC_CONNECTION_URL=https://www.staging.personalized-stationery.com/CranesConnectionRedesign/Personalize.aspx?
|
VUE_APP_CC_CONNECTION_URL=https://www.staging.personalized-stationery.com/CranesConnectionRedesign/Personalize.aspx?
|
||||||
VUE_APP_MAINTENANCE_MODE=false
|
VUE_APP_MAINTENANCE_MODE=false
|
||||||
VUE_APP_MAINTENANCE_PAGE_URL=/maintenance
|
VUE_APP_MAINTENANCE_PAGE_URL=/maintenance
|
||||||
|
@ -21,8 +20,8 @@ VUE_APP_IMAGE_CATEGORY_PARAMS=?height=600&width=600
|
||||||
VUE_APP_CRANE_ORDER_URL=https://ordertest.crane.com
|
VUE_APP_CRANE_ORDER_URL=https://ordertest.crane.com
|
||||||
|
|
||||||
DEPLOY_S3_REGION=us-east-1
|
DEPLOY_S3_REGION=us-east-1
|
||||||
DEPLOY_S3_BUCKET=
|
DEPLOY_S3_BUCKET=retailer-edge-staging-website-bucket
|
||||||
DEPLOY_CLOUDFRONT_ID=
|
DEPLOY_CLOUDFRONT_ID=E1QLFKCOZUDC8P
|
||||||
VUE_APP_ASSETS_NODESLS_URL=https://assets-stg-sls.crane.com
|
VUE_APP_ASSETS_NODESLS_URL=https://assets-stg-sls.crane.com
|
||||||
VUE_APP_IMAGE_LIB_URL=https://imagelib-stg-api.crane.com
|
VUE_APP_IMAGE_LIB_URL=https://imagelib-stg-api.crane.com
|
||||||
VUE_APP_BASE_URL=https://www-retailer-stg.crane.com
|
VUE_APP_BASE_URL=https://retailer-stg.crane.com
|
|
@ -1,28 +1,28 @@
|
||||||
VUE_APP_BRAINTREE_AUTH_KEY=production_fwr8vmp4_ypgzrntpjcv9vwsf
|
NODE_ENV=production
|
||||||
VUE_APP_MAGENTO_API_URL=https://retailer.crane.com
|
VUE_APP_BRAINTREE_AUTH_KEY=sandbox_bn48hmp6_cz6p85sw4dr5tp8h
|
||||||
|
VUE_APP_MAGENTO_API_URL=https://retailer-stg.crane.com
|
||||||
VUE_APP_CRANE_URL=/shop
|
VUE_APP_CRANE_URL=/shop
|
||||||
VUE_APP_GATE_URL=/gate
|
VUE_APP_GATE_URL=/gate
|
||||||
VUE_APP_ME_URL=/retailer
|
VUE_APP_ME_URL=/b2b
|
||||||
VUE_APP_LOGIN_URL=/gate/sign-in
|
VUE_APP_LOGIN_URL=/gate/sign-in
|
||||||
VUE_APP_PERSONALIZE_URL=https://studio.crane.com/personalize
|
VUE_APP_PERSONALIZE_URL=https://studio-stg.crane.com/personalize
|
||||||
VUE_APP_PROVISION_URL=http://manager-daily.crane.com/manager
|
VUE_APP_IMAGE_PATH_URL=https://retailer-stg.crane.com/media/catalog/product
|
||||||
VUE_APP_IMAGE_PATH_URL=https://retailer.crane.com/media/catalog/product
|
VUE_APP_RETAILOR_ID=49057567-f789-420c-98b6-2e0443af73f5
|
||||||
VUE_APP_RETAILOR_ID=08c43bbf-3735-4621-85f9-d71dc2cfb41b
|
VUE_APP_IMAGE_CATEGORY_PATH_URL=https://retailer-stg.crane.com
|
||||||
VUE_APP_IMAGE_CATEGORY_PATH_URL=https://retailer.crane.com
|
VUE_APP_NODESLS_API_URL=https://imagelib-sls-stg.crane.com
|
||||||
VUE_APP_NODESLS_API_URL=https://imagelib-sls.crane.com
|
|
||||||
VUE_APP_HOME_PAGE_URL=https://www.crane.com
|
VUE_APP_HOME_PAGE_URL=https://www-stg.crane.com
|
||||||
VUE_APP_CC_CONNECTION_URL=https://www.personalized-stationery.com/CranesConnectionRedesign/Personalize.aspx?
|
VUE_APP_CC_CONNECTION_URL=https://www.staging.personalized-stationery.com/CranesConnectionRedesign/Personalize.aspx?
|
||||||
VUE_APP_MAINTENANCE_MODE=false
|
VUE_APP_MAINTENANCE_MODE=false
|
||||||
VUE_APP_MAINTENANCE_PAGE_URL=/maintenance
|
VUE_APP_MAINTENANCE_PAGE_URL=/maintenance
|
||||||
VUE_APP_GTAG_ID=GTM-MF96RJX
|
VUE_APP_GTAG_ID=GTM-N774RX4
|
||||||
VUE_APP_GA_ID=UA-26415879-2
|
VUE_APP_GA_ID=UA-26415879-3
|
||||||
|
|
||||||
VUE_APP_IMAGE_CATEGORY_PARAMS=?height=600&width=600
|
VUE_APP_IMAGE_CATEGORY_PARAMS=?height=600&width=600
|
||||||
VUE_APP_CRANE_ORDER_URL=https://order.crane.com
|
VUE_APP_CRANE_ORDER_URL=https://ordertest.crane.com
|
||||||
|
|
||||||
DEPLOY_S3_REGION=us-east-1
|
DEPLOY_S3_REGION=us-east-1
|
||||||
DEPLOY_S3_BUCKET=
|
DEPLOY_S3_BUCKET=retailer-edge-staging-website-bucket
|
||||||
DEPLOY_CLOUDFRONT_ID=
|
DEPLOY_CLOUDFRONT_ID=E1QLFKCOZUDC8P
|
||||||
VUE_APP_ASSETS_NODESLS_URL=https://assets-sls.crane.com
|
VUE_APP_ASSETS_NODESLS_URL=https://assets-stg-sls.crane.com
|
||||||
VUE_APP_IMAGE_LIB_URL=https://imagelib-api.crane.com
|
VUE_APP_IMAGE_LIB_URL=https://imagelib-stg-api.crane.com
|
||||||
VUE_APP_BASE_URL=https://www.crane.com
|
VUE_APP_BASE_URL=https://retailer-stg.crane.com
|
|
@ -21,8 +21,8 @@ VUE_APP_IMAGE_CATEGORY_PARAMS=?height=600&width=600
|
||||||
VUE_APP_CRANE_ORDER_URL=https://ordertest.crane.com
|
VUE_APP_CRANE_ORDER_URL=https://ordertest.crane.com
|
||||||
|
|
||||||
DEPLOY_S3_REGION=us-east-1
|
DEPLOY_S3_REGION=us-east-1
|
||||||
DEPLOY_S3_BUCKET=
|
DEPLOY_S3_BUCKET=retailer-edge-staging-website-bucket
|
||||||
DEPLOY_CLOUDFRONT_ID=
|
DEPLOY_CLOUDFRONT_ID=E1QLFKCOZUDC8P
|
||||||
VUE_APP_ASSETS_NODESLS_URL=https://assets-stg-sls.crane.com
|
VUE_APP_ASSETS_NODESLS_URL=https://assets-stg-sls.crane.com
|
||||||
VUE_APP_IMAGE_LIB_URL=https://imagelib-stg-api.crane.com
|
VUE_APP_IMAGE_LIB_URL=https://imagelib-stg-api.crane.com
|
||||||
VUE_APP_BASE_URL=https://www-stg.crane.com
|
VUE_APP_BASE_URL=https://retailer-stg.crane.com
|
|
@ -3,13 +3,13 @@ rm -Rf git_info.json
|
||||||
yarn
|
yarn
|
||||||
yarn build:production
|
yarn build:production
|
||||||
yarn copy:git-info
|
yarn copy:git-info
|
||||||
rm dist/static/js/craneCatalog.js
|
rm dist/static/js/craneRetailerCatalog.js
|
||||||
rm dist/static/js/magentoCmsCache.js
|
rm dist/static/js/magentoCmsCache.js
|
||||||
rm dist/static/js/seoRoutes.js
|
rm dist/static/js/seoRoutes.js
|
||||||
rm dist/static/js/urlRewrites.js
|
rm dist/static/js/urlRewrites.js
|
||||||
# yarn copy:seo-files
|
# yarn copy:seo-files
|
||||||
# yarn copy:cache-files
|
# yarn copy:cache-files
|
||||||
rm dist/static/js/craneCatalog.js
|
rm dist/static/js/craneRetailerCatalog.js
|
||||||
rm dist/static/js/craneCategory.js
|
rm dist/static/js/craneCategory.js
|
||||||
rm dist/static/js/promotions.js
|
rm dist/static/js/promotions.js
|
||||||
yarn deploy:production
|
yarn deploy:production
|
|
@ -3,8 +3,8 @@ rm -Rf git_info.json
|
||||||
yarn
|
yarn
|
||||||
yarn build:staging
|
yarn build:staging
|
||||||
yarn copy:git-info
|
yarn copy:git-info
|
||||||
rm dist/static/js/craneCatalog.js
|
# rm dist/static/js/craneRetailerCatalog.js
|
||||||
rm dist/static/js/magentoCmsCache.js
|
# rm dist/static/js/magentoCmsCache.js
|
||||||
rm dist/static/js/seoRoutes.js
|
rm dist/static/js/seoRoutes.js
|
||||||
rm dist/static/js/urlRewrites.js
|
rm dist/static/js/urlRewrites.js
|
||||||
# yarn copy:seo-files
|
# yarn copy:seo-files
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"branch_name":"dev","last_commit_date":"2022-01-19T13:21:02.000Z","last_commit_author":"anju j","last_commit_hash":"b1151481d0a45d9a1b73c225b342b160b7ad7f21"}
|
{"branch_name":"dev","last_commit_date":"2022-01-19T13:24:39.000Z","last_commit_author":"rakesh","last_commit_hash":"7e0bb1a971f6a745a599f2eeda74ab1459428f2a"}
|
|
@ -29,7 +29,7 @@
|
||||||
"js-base64": "^2.5.1",
|
"js-base64": "^2.5.1",
|
||||||
"lodash-humps": "^3.1.5",
|
"lodash-humps": "^3.1.5",
|
||||||
"vue": "^2.6.10",
|
"vue": "^2.6.10",
|
||||||
"vue-cookies": "^1.5.13",
|
"vue-cookies": "^1.5.13",
|
||||||
"vue-gtag": "^1.8.0",
|
"vue-gtag": "^1.8.0",
|
||||||
"vue-gtm": "3.0.0-vue2",
|
"vue-gtm": "3.0.0-vue2",
|
||||||
"vue-meta": "^2.4.0",
|
"vue-meta": "^2.4.0",
|
||||||
|
|
|
@ -24,10 +24,7 @@
|
||||||
</noscript>
|
</noscript>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<script src="/static/js/magentoCmsCache.js"></script>
|
<script src="/static/js/magentoCmsCache.js"></script>
|
||||||
<script src="/static/js/craneCatalog.js"></script>
|
<script src="/static/js/craneRetailerCatalog.js"></script>
|
||||||
<script src="/static/js/seoRoutes.js"></script>
|
|
||||||
<script src="/static/js/urlRewrites.js"></script>
|
|
||||||
<script src="/static/js/promotions.js"></script>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// if (location.hash) {
|
// if (location.hash) {
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,19 +0,0 @@
|
||||||
var catalog={
|
|
||||||
categories: [
|
|
||||||
{id:4, n:'Crane Boxed Stationery', pid 1,
|
|
||||||
products: ['193C', '116C']},
|
|
||||||
{id:6, n:'Crane Boxed Stationery 2', pid: 1},
|
|
||||||
],
|
|
||||||
products: [
|
|
||||||
{ id: 12, sku: '193C', n: 'Ecru Card',
|
|
||||||
p: 22, sp: 19, // price and sales_price
|
|
||||||
|
|
||||||
//TBD - cs:[{4:1}, {6:8}], // categories array {categoryId: position}
|
|
||||||
|
|
||||||
b: 'Vera Wang', //brand
|
|
||||||
pw: 'Medium Size', // paper weight
|
|
||||||
dc: 'Gold', // design color
|
|
||||||
iu:'1312.jpg', // image url,
|
|
||||||
....// add the rest of the attributes}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
var promotions=[]
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -41,13 +41,13 @@
|
||||||
</v-form>
|
</v-form>
|
||||||
|
|
||||||
<v-row >
|
<v-row >
|
||||||
<v-col cols="12">
|
<!-- <v-col cols="12">
|
||||||
Create an account ?
|
Create an account ?
|
||||||
<v-hover v-slot:default="{ hover }">
|
<v-hover v-slot:default="{ hover }">
|
||||||
<router-link class="text-decoration-none" :to="{name:'SignUpPage'}" :class="hover ? 'content-link-hover-color' : 'primary--text'">Sign Up</router-link>
|
<router-link class="text-decoration-none" :to="{name:'SignUpPage'}" :class="hover ? 'content-link-hover-color' : 'primary--text'">Sign Up</router-link>
|
||||||
</v-hover>
|
</v-hover>
|
||||||
</v-col>
|
</v-col>-->
|
||||||
<v-col cols="12" class="pt-0 mt-n1">
|
<v-col cols="12" >
|
||||||
Forgot your password?
|
Forgot your password?
|
||||||
<v-hover v-slot:default="{ hover }">
|
<v-hover v-slot:default="{ hover }">
|
||||||
<router-link class="text-decoration-none" :to="{name:'forgot-password'}" :class="hover ? 'content-link-hover-color' : 'primary--text'">Forgot Password</router-link>
|
<router-link class="text-decoration-none" :to="{name:'forgot-password'}" :class="hover ? 'content-link-hover-color' : 'primary--text'">Forgot Password</router-link>
|
||||||
|
|
|
@ -488,24 +488,7 @@
|
||||||
<!------------------------------------------------------------------------------------->
|
<!------------------------------------------------------------------------------------->
|
||||||
<v-row class="mr-1" v-show="checkOut">
|
<v-row class="mr-1" v-show="checkOut">
|
||||||
<v-col align="right">
|
<v-col align="right">
|
||||||
<a
|
|
||||||
class="fontsize-14 black--text text-uppercase cartproductlist-action-link"
|
|
||||||
@click.stop="
|
|
||||||
editProduct(
|
|
||||||
product.name,
|
|
||||||
product.sku,
|
|
||||||
product.itemId,
|
|
||||||
index,
|
|
||||||
product.customAttributes.isPersonalize,
|
|
||||||
product.customAttributes.builderVersion,
|
|
||||||
product.ccid,
|
|
||||||
product.productType,
|
|
||||||
product.parentSku
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>Edit</a
|
|
||||||
>
|
|
||||||
<span class="px-1">|</span>
|
|
||||||
<a
|
<a
|
||||||
class="fontsize-14 black--text text-uppercase cartproductlist-action-link"
|
class="fontsize-14 black--text text-uppercase cartproductlist-action-link"
|
||||||
@click.stop="
|
@click.stop="
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
.fontcolor-grey-shade8b {
|
||||||
|
color: #8b8b8b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.categorybaseproducts-select-button {
|
||||||
|
max-width: 300px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.categorybaseproduct-cancel-buttons.v-icon.v-icon::after {
|
||||||
|
opacity: 0 !important;
|
||||||
|
}
|
||||||
|
@media screen and (max-width:320px) {
|
||||||
|
.searchproducts-sortby{
|
||||||
|
font-size:14px !important;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,389 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<v-row v-if="searchResults.page.length" class="mx-4">
|
||||||
|
<v-col cols="12" lg="12" md="12" sm="12" >
|
||||||
|
<v-row v-if="inProgress">
|
||||||
|
<v-col
|
||||||
|
v-for="(i, index) in 9"
|
||||||
|
v-bind:key="index"
|
||||||
|
lg="4"
|
||||||
|
md="4"
|
||||||
|
sm="4"
|
||||||
|
cols="12"
|
||||||
|
class=" cursor-pointer"
|
||||||
|
>
|
||||||
|
<v-skeleton-loader type="card"></v-skeleton-loader>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row v-if="searchResults.page.length > 0">
|
||||||
|
<v-col
|
||||||
|
v-for="(product, index) in searchResults.page"
|
||||||
|
v-bind:key="index"
|
||||||
|
lg="4"
|
||||||
|
md="4"
|
||||||
|
sm="4"
|
||||||
|
cols="12"
|
||||||
|
class=" cursor-pointer "
|
||||||
|
|
||||||
|
>
|
||||||
|
<v-img
|
||||||
|
:src="imageBasePathUrl + product.i + imageBaseParams"
|
||||||
|
width="100%"
|
||||||
|
:alt="product.n"
|
||||||
|
:title="product.n"
|
||||||
|
></v-img>
|
||||||
|
<v-row>
|
||||||
|
<v-col cols="6" >
|
||||||
|
<h1
|
||||||
|
class="float-left fontsize-14 body ls-n009 fontcolor-black-darken font-weight-300 word-break"
|
||||||
|
>{{ product.n }}</h1>
|
||||||
|
</v-col>
|
||||||
|
<v-col cols="5" >
|
||||||
|
<p
|
||||||
|
v-if="product.lp"
|
||||||
|
class="float-right fontsize-14 body ls-n009 fontcolor-black-darken font-weight-300"
|
||||||
|
>
|
||||||
|
From ${{ product.lp }}
|
||||||
|
{{ product.u }}
|
||||||
|
</p>
|
||||||
|
<div
|
||||||
|
v-else
|
||||||
|
class="float-right fontsize-14 body ls-n009 fontcolor-black-darken font-weight-300"
|
||||||
|
>
|
||||||
|
<div v-if="product.sp">
|
||||||
|
<s>${{ product.p }}</s>
|
||||||
|
<p class="red--text mb-0">${{ roundUp(product.sp) }}</p> / {{ product.u }}
|
||||||
|
</div>
|
||||||
|
<div v-else-if="product.p != 0">
|
||||||
|
<p>
|
||||||
|
${{ product.p }} / {{ product.u }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<p>TBD</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</v-col>
|
||||||
|
<v-col cols="12" class="float-right" >
|
||||||
|
<v-hover v-slot:default="{ hover }">
|
||||||
|
<v-btn
|
||||||
|
:disabled="inProgress"
|
||||||
|
block
|
||||||
|
x-large
|
||||||
|
:outlined="!inProgress ? hover:false"
|
||||||
|
:color="hover?'white':'primary'"
|
||||||
|
:class="hover?'primary--text':'white--text'"
|
||||||
|
class="text-uppercase ls-0 body productpage-button"
|
||||||
|
tile
|
||||||
|
depressed
|
||||||
|
@click="addToCart(product.sku)"
|
||||||
|
>
|
||||||
|
<v-progress-circular
|
||||||
|
align="center"
|
||||||
|
:size="40"
|
||||||
|
block
|
||||||
|
color="primary"
|
||||||
|
indeterminate
|
||||||
|
v-if="inProgress"
|
||||||
|
></v-progress-circular>
|
||||||
|
<span v-if="!inProgress">ADD TO CART</span>
|
||||||
|
</v-btn>
|
||||||
|
</v-hover>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row v-else class="text-center">
|
||||||
|
<v-col
|
||||||
|
lg="12"
|
||||||
|
md="12"
|
||||||
|
sm="12"
|
||||||
|
cols="12">
|
||||||
|
<v-alert type="error" text class="font-weight-300 body-font h3">{{
|
||||||
|
noProducts
|
||||||
|
}}</v-alert>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
|
||||||
|
<SnackbarComponent :snackbar="snackbar"></SnackbarComponent>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
/* eslint-disable no-alert, no-console , no-debugger */
|
||||||
|
//import * as easings from "vuetify/es5/services/goto/easing-patterns";
|
||||||
|
import { mapState } from "vuex";
|
||||||
|
import SnackbarComponent from "@/components/common/SnackbarComponent";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "RetailerSearchProducts",
|
||||||
|
components: {
|
||||||
|
SnackbarComponent
|
||||||
|
},
|
||||||
|
props: [
|
||||||
|
"criteria",
|
||||||
|
"searchPageContent",
|
||||||
|
"breadcrumbData",
|
||||||
|
"categoryPageContent"
|
||||||
|
],
|
||||||
|
computed: {
|
||||||
|
...mapState({
|
||||||
|
searchResults: state => state.catalogBrowser.searchResults,
|
||||||
|
inProgress: state => state.catalogBrowser.inProgress,
|
||||||
|
}),
|
||||||
|
|
||||||
|
imageBasePathUrl() {
|
||||||
|
return process.env.VUE_APP_IMAGE_PATH_URL;
|
||||||
|
},
|
||||||
|
imageBaseParams() {
|
||||||
|
return process.env.VUE_APP_IMAGE_CATEGORY_PARAMS;
|
||||||
|
},
|
||||||
|
isIpadOrMobile: function() {
|
||||||
|
return this.$vuetify.breakpoint.mdAndDown ? true : false;
|
||||||
|
},
|
||||||
|
isIpad: function() {
|
||||||
|
return this.$vuetify.breakpoint.smOnly || this.$vuetify.breakpoint.mdOnly
|
||||||
|
? true
|
||||||
|
: false;
|
||||||
|
},
|
||||||
|
isMobile: function() {
|
||||||
|
return this.$vuetify.breakpoint.xs ? true : false;
|
||||||
|
},
|
||||||
|
userAuth: function() {
|
||||||
|
return this.$store.state.auth.userAuth;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
},
|
||||||
|
data: () => ({
|
||||||
|
menu: false,
|
||||||
|
showDrawarFilter: false,
|
||||||
|
noProducts: "No products found.",
|
||||||
|
snackbar: {
|
||||||
|
show: false,
|
||||||
|
message: null,
|
||||||
|
color: null,
|
||||||
|
timeout: 0
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
methods: {
|
||||||
|
roundUp(num) {
|
||||||
|
var with2Decimals = num.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0];
|
||||||
|
return with2Decimals;
|
||||||
|
},
|
||||||
|
addToCart(sku) {
|
||||||
|
if (sku) {
|
||||||
|
this.errorMessage = "";
|
||||||
|
if (this.userAuth) {
|
||||||
|
this.$store
|
||||||
|
.dispatch("userCartProduct/addToCart", {
|
||||||
|
sku: sku,
|
||||||
|
qty: 1,
|
||||||
|
ccid: null,
|
||||||
|
price: null,
|
||||||
|
personalizeDetails: null
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$store.dispatch("userCartProduct/cartProductList");
|
||||||
|
|
||||||
|
this.$store.dispatch("userCartProduct/cartDrawer", true);
|
||||||
|
this.snackbar = {
|
||||||
|
message: "Product Added Successfully",
|
||||||
|
color: "success",
|
||||||
|
show: true,
|
||||||
|
timeout: 2000
|
||||||
|
};
|
||||||
|
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.snackbar = {
|
||||||
|
message: 'Unexpected error while communicating with the cloud',
|
||||||
|
color: "error",
|
||||||
|
show: true,
|
||||||
|
timeout: 2000
|
||||||
|
};
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.errorMessage = "Please Select Quantity";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
OnResize() {
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.$vuetify.breakpoint.lgAndUp) {
|
||||||
|
this.showDrawarFilter = false;
|
||||||
|
}
|
||||||
|
}, 200);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" >
|
||||||
|
.sort-button.theme--light.v-text-field--solo
|
||||||
|
> .v-input__control
|
||||||
|
> .v-input__slot {
|
||||||
|
background: transparent !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-pagination-button .v-pagination__item--active {
|
||||||
|
outline: #ffffff !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-pagination-button .v-pagination__item {
|
||||||
|
outline: #ffffff !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
padding: 0px !important;
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-pagination-button {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-overflow-button .v-select__slot {
|
||||||
|
border-left: 1px solid #dcdddd !important;
|
||||||
|
border-right: 1px solid #dcdddd !important;
|
||||||
|
max-width: 85px !important;
|
||||||
|
max-height: 36px !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-overflow-button {
|
||||||
|
max-width: 85px !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-overflow-button .v-select__slot .v-input__append-inner {
|
||||||
|
max-height: 36px !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-overflow-button .v-overflow-btn .v-select__slot {
|
||||||
|
max-height: 36px !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-overflow-button .v-text-field__details {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-pagination-button
|
||||||
|
.v-pagination__navigation.v-pagination__navigation--disabled {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-pagination-button
|
||||||
|
.v-pagination__navigation
|
||||||
|
.v-icon.v-icon {
|
||||||
|
font-style: normal !important;
|
||||||
|
color: #1d1d1d !important;
|
||||||
|
text-transform: uppercase !important;
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: "Whyte-Regular", sans-serif;
|
||||||
|
letter-spacing: -0.1px;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-select-button .v-input__control .v-input__slot {
|
||||||
|
border: thin solid #8b8b8b !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-select-button:hover .v-input__control .v-input__slot {
|
||||||
|
border: thin solid #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-select-button.v-input--is-label-active.v-input--is-focused
|
||||||
|
.v-input__control
|
||||||
|
.v-input__slot {
|
||||||
|
border: thin solid #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-select-button:hover
|
||||||
|
.v-select__selection.v-select__selection--comma {
|
||||||
|
color: #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-select-button:hover
|
||||||
|
.v-input__append-inner
|
||||||
|
.v-input__icon
|
||||||
|
.v-icon {
|
||||||
|
color: #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-pagination-button .v-pagination__navigation {
|
||||||
|
outline: #ffffff !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
padding: 0px !important;
|
||||||
|
//margin: 0px 10px !important;
|
||||||
|
}
|
||||||
|
.custom-pagination li:nth-child(1) {
|
||||||
|
margin-right: 15px !important;
|
||||||
|
margin-left: 15px;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-select-button.v-input--is-label-active.v-input--is-focused
|
||||||
|
.v-select__selection.v-select__selection--comma {
|
||||||
|
color: #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button.theme--light.v-select
|
||||||
|
.v-select__selection--comma {
|
||||||
|
color: #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button .v-text-field__details {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button .v-input__control .v-input__slot {
|
||||||
|
border: thin solid #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button:hover .v-input__control .v-input__slot {
|
||||||
|
border: thin solid #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button.v-input--is-label-active.v-input--is-focused
|
||||||
|
.v-input__control
|
||||||
|
.v-input__slot {
|
||||||
|
border: thin solid #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button:hover
|
||||||
|
.v-select__selection.v-select__selection--comma {
|
||||||
|
color: #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button:hover
|
||||||
|
.v-input__append-inner
|
||||||
|
.v-input__icon
|
||||||
|
.v-icon {
|
||||||
|
color: #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button
|
||||||
|
.v-input__append-inner
|
||||||
|
.v-input__icon
|
||||||
|
.v-icon {
|
||||||
|
color: #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button.v-input--is-label-active.v-input--is-focused
|
||||||
|
.v-select__selection.v-select__selection--comma {
|
||||||
|
color: #2850da !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button.v-input--is-label-active.v-input--is-focused.v-text-field.v-text-field--solo
|
||||||
|
.v-input__append-inner,
|
||||||
|
.v-text-field.v-text-field--solo .v-input__prepend-inner {
|
||||||
|
-ms-flex-item-align: center;
|
||||||
|
align-self: center;
|
||||||
|
padding-top: 5px;
|
||||||
|
border-left: 1px solid #2850da;
|
||||||
|
padding-left: 10px;
|
||||||
|
height: 34px;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-select-button.v-input--is-label-active.v-input--is-focused.v-text-field.v-text-field--solo
|
||||||
|
.v-input__append-inner,
|
||||||
|
.v-text-field.v-text-field--solo .v-input__prepend-inner {
|
||||||
|
-ms-flex-item-align: center;
|
||||||
|
align-self: center;
|
||||||
|
padding-top: 5px;
|
||||||
|
border-left: 1px solid #2850da;
|
||||||
|
padding-left: 10px;
|
||||||
|
height: 34px;
|
||||||
|
}
|
||||||
|
.searchproducts-cancel-buttons.v-icon.v-icon::after {
|
||||||
|
opacity: 0 !important;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-sortby-button .v-text-field__details {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-overflow-button .v-text-field__details {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.categorybaseproducts-filter-button .v-text-field__details {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.filter-component-width .v-expansion-panels {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
// .v-text-field__details {
|
||||||
|
// display: none;
|
||||||
|
// }
|
||||||
|
</style>
|
||||||
|
<style src="./RetailerSearchProducts.scss" lang="scss" scoped />
|
|
@ -1,5 +1,4 @@
|
||||||
<template>
|
<template>
|
||||||
<v-container-fluid>
|
|
||||||
<v-row class="pl-10 pr-10">
|
<v-row class="pl-10 pr-10">
|
||||||
<v-col cols="12" sm="12" md="12" lg="12" class="">
|
<v-col cols="12" sm="12" md="12" lg="12" class="">
|
||||||
<div class="h3 text-capitalize body-font1">Retailer dashboard</div>
|
<div class="h3 text-capitalize body-font1">Retailer dashboard</div>
|
||||||
|
@ -13,7 +12,7 @@
|
||||||
<v-hover v-slot:default="{ hover }">
|
<v-hover v-slot:default="{ hover }">
|
||||||
<router-link
|
<router-link
|
||||||
class="text-decoration-none"
|
class="text-decoration-none"
|
||||||
:to="{ name: 'CheckoutPage' }"
|
:to="{ name: 'CartProducts' }"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
:class="hover ? 'primary--text' : 'black--text'"
|
:class="hover ? 'primary--text' : 'black--text'"
|
||||||
|
@ -123,7 +122,6 @@
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-container-fluid>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -16,33 +16,59 @@
|
||||||
</v-container>
|
</v-container>
|
||||||
</v-overlay>
|
</v-overlay>
|
||||||
<div v-show="!cartProductsProgress">
|
<div v-show="!cartProductsProgress">
|
||||||
|
<v-row><v-col cols="12" sm="12" md="12">
|
||||||
|
<v-col cols="12" sm="12" md="8">
|
||||||
|
<v-menu offset-y down allow-overflow >
|
||||||
|
<template v-slot:activator="{ on }">
|
||||||
|
<v-text-field
|
||||||
|
prepend-inner-icon="mdi-magnify"
|
||||||
|
placeholder="Enter Item, Name, Keyword"
|
||||||
|
v-model="searchData"
|
||||||
|
v-on="on"
|
||||||
|
@input="searchProducts"
|
||||||
|
>
|
||||||
|
</v-text-field>
|
||||||
|
</template>
|
||||||
|
<div>
|
||||||
|
<v-card tile flat v-if="searchData">
|
||||||
|
<RetailerSearchProducts />
|
||||||
|
</v-card>
|
||||||
|
</div>
|
||||||
|
</v-menu>
|
||||||
|
</v-col>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
<v-row v-show="cartProductsItem.length == 0">
|
<v-row v-show="cartProductsItem.length == 0">
|
||||||
<v-col>
|
<v-col>
|
||||||
<v-alert class="alert-box-outline" type="error" text dense
|
<v-alert class="alert-box-outline" type="error" text dense
|
||||||
>You have no items in your shopping cart.</v-alert
|
>You have no items in your shopping cart.</v-alert
|
||||||
>
|
>
|
||||||
<p>
|
<!-- <p>
|
||||||
Click
|
Click
|
||||||
<span
|
<span
|
||||||
class="mr-1 text-decoration-none fontcolor-black-light fontsize-16 guest-shipping-address-login"
|
class="
|
||||||
|
mr-1
|
||||||
|
text-decoration-none
|
||||||
|
fontcolor-black-light
|
||||||
|
fontsize-16
|
||||||
|
guest-shipping-address-login
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<span @click="goToShopping()" class="cursor-pointer"
|
<span @click="goToShopping()" class="cursor-pointer"
|
||||||
>here</span
|
>here</span
|
||||||
> </span
|
> </span
|
||||||
>to continue shopping.
|
>to continue shopping.
|
||||||
</p>
|
</p>-->
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<div v-show="cartProductsItem.length != 0">
|
<div v-show="cartProductsItem.length != 0">
|
||||||
<v-row
|
<v-row >
|
||||||
class="mt-12"
|
<v-col cols="12" sm="12" md="8">
|
||||||
:class="!isDesktop ? 'd-flex flex-row' : 'd-flex flex-column-reverse'"
|
|
||||||
>
|
<v-col cols="12">
|
||||||
<v-col cols="12" sm="12" md="8" class="pt-0 mt-0">
|
|
||||||
<v-divider class="hidden-md-and-up"></v-divider>
|
|
||||||
<v-col cols="12" class="mt-3">
|
|
||||||
<p
|
<p
|
||||||
class="h3 pl-4 body-font text-uppercase primary--text"
|
class="h3 body-font text-uppercase primary--text"
|
||||||
v-if="!cartProductsProgress"
|
v-if="!cartProductsProgress"
|
||||||
>
|
>
|
||||||
Your Cart ( {{ cartProductsItem.length }} )
|
Your Cart ( {{ cartProductsItem.length }} )
|
||||||
|
@ -50,7 +76,7 @@
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-divider class="hidden-md-and-up"></v-divider>
|
<v-divider class="hidden-md-and-up"></v-divider>
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col cols="12" sm="11" md="11" class="mt-5">
|
<v-col cols="12" sm="12" md="12" class="mt-5">
|
||||||
<CartProductList
|
<CartProductList
|
||||||
:checkOut="chekoutFlag"
|
:checkOut="chekoutFlag"
|
||||||
:cartItems="cartProductsItem"
|
:cartItems="cartProductsItem"
|
||||||
|
@ -77,44 +103,13 @@
|
||||||
${{ priceFormatter(cartProductTotalAmt.baseSubtotal) }}
|
${{ priceFormatter(cartProductTotalAmt.baseSubtotal) }}
|
||||||
</p>
|
</p>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" v-show="cartProductTotalAmt.couponCode">
|
|
||||||
<p class="float-left pb-0 mb-0">
|
|
||||||
Discount ({{ cartProductTotalAmt.couponCode }})
|
|
||||||
</p>
|
|
||||||
<p
|
|
||||||
class="float-right pb-0 mb-0"
|
|
||||||
v-if="cartProductTotalAmt.baseDiscountAmount"
|
|
||||||
>
|
|
||||||
-${{
|
|
||||||
priceFormatter(
|
|
||||||
cartProductTotalAmt.baseDiscountAmount
|
|
||||||
.toString()
|
|
||||||
.substring(1)
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
</p>
|
|
||||||
<p class="float-right pb-0 mb-0" v-else>-$0</p>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="12">
|
<v-col cols="12">
|
||||||
<p class="float-left pb-0 mb-0">Shipping</p>
|
<p class="float-left pb-0 mb-0">Shipping</p>
|
||||||
<p class="float-right pb-0 mb-0">
|
<p class="float-right pb-0 mb-0">
|
||||||
${{ priceFormatter(cartProductTotalAmt.baseShippingAmount) }}
|
${{ priceFormatter(cartProductTotalAmt.baseShippingAmount) }}
|
||||||
</p>
|
</p>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12">
|
|
||||||
<p class="float-left pb-0 mb-0">Estimated Tax</p>
|
|
||||||
<p class="float-right pb-0 mb-0">
|
|
||||||
${{ priceFormatter(cartProductTotalAmt.taxAmount) }}
|
|
||||||
</p>
|
|
||||||
</v-col>
|
|
||||||
|
|
||||||
<v-col cols="12">
|
|
||||||
<p class="float-left pb-0 mb-0">Estimated Total</p>
|
|
||||||
<p class="float-right pb-0 mb-0">
|
|
||||||
${{ priceFormatter(cartProductTotalAmt.baseGrandTotal) }}
|
|
||||||
</p>
|
|
||||||
</v-col>
|
|
||||||
|
|
||||||
<v-col
|
<v-col
|
||||||
v-if="stockFlag"
|
v-if="stockFlag"
|
||||||
cols="12"
|
cols="12"
|
||||||
|
@ -140,7 +135,11 @@
|
||||||
<v-btn
|
<v-btn
|
||||||
tile
|
tile
|
||||||
large
|
large
|
||||||
class="d-none d-sm-flex d-md-none px-12 cart-products-button"
|
class="
|
||||||
|
d-none d-sm-flex d-md-none
|
||||||
|
px-12
|
||||||
|
cart-products-button
|
||||||
|
"
|
||||||
:outlined="hover"
|
:outlined="hover"
|
||||||
:color="hover ? 'white' : 'primary'"
|
:color="hover ? 'white' : 'primary'"
|
||||||
:class="hover ? 'primary--text' : 'white--text'"
|
:class="hover ? 'primary--text' : 'white--text'"
|
||||||
|
@ -172,72 +171,6 @@
|
||||||
></v-progress-circular>
|
></v-progress-circular>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<!-- <v-divider class="hidden-md-and-up"></v-divider>-->
|
|
||||||
<v-divider class="primary"></v-divider>
|
|
||||||
|
|
||||||
<v-row>
|
|
||||||
<v-col cols="12" align="center" v-if="inProgressDiscountCode">
|
|
||||||
<v-progress-circular
|
|
||||||
:size="60"
|
|
||||||
color="primary"
|
|
||||||
indeterminate
|
|
||||||
></v-progress-circular>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="12" class="pb-0 mb-0" v-else>
|
|
||||||
<p class="primary--text">Apply Discount Code</p>
|
|
||||||
<v-form
|
|
||||||
ref="discountCodeForm"
|
|
||||||
v-model="validDiscountCode"
|
|
||||||
:lazy-validation="lazy"
|
|
||||||
>
|
|
||||||
<v-row>
|
|
||||||
<v-col cols="8" class="pb-0 mb-0">
|
|
||||||
<v-text-field
|
|
||||||
type="text"
|
|
||||||
dense
|
|
||||||
placeholder="Enter Discount Code"
|
|
||||||
v-model="discountTextCode"
|
|
||||||
outlined
|
|
||||||
@blur="resetValidation"
|
|
||||||
:rules="textRules"
|
|
||||||
></v-text-field>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="4" class="pb-0 mb-0">
|
|
||||||
<v-hover v-slot:default="{ hover }">
|
|
||||||
<v-btn
|
|
||||||
v-if="!discountCode"
|
|
||||||
class="text-uppercase checkoutpage-button-height cart-products-button"
|
|
||||||
@click="applyDiscountCode"
|
|
||||||
large
|
|
||||||
dense
|
|
||||||
depressed
|
|
||||||
tile
|
|
||||||
:outlined="hover"
|
|
||||||
:color="hover ? 'white' : 'primary'"
|
|
||||||
:class="hover ? 'primary--text' : 'white--text'"
|
|
||||||
>APPLY</v-btn
|
|
||||||
>
|
|
||||||
</v-hover>
|
|
||||||
<v-hover v-slot:default="{ hover }">
|
|
||||||
<v-btn
|
|
||||||
v-if="discountCode"
|
|
||||||
class="text-uppercase checkoutpage-button-height cart-products-button"
|
|
||||||
@click="removeDiscountCode"
|
|
||||||
large
|
|
||||||
dense
|
|
||||||
:outlined="hover"
|
|
||||||
:color="hover ? 'white' : 'error'"
|
|
||||||
:class="hover ? 'error--text' : 'white--text'"
|
|
||||||
depressed
|
|
||||||
tile
|
|
||||||
>CANCEL</v-btn
|
|
||||||
>
|
|
||||||
</v-hover>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</v-form>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
|
@ -249,12 +182,15 @@
|
||||||
/* eslint-disable no-alert, no-console , no-debugger */
|
/* eslint-disable no-alert, no-console , no-debugger */
|
||||||
const baseUrl = process.env.VUE_APP_BASE_URL;
|
const baseUrl = process.env.VUE_APP_BASE_URL;
|
||||||
import CartProductList from "@/components/retailer/cart-product/CartProductList";
|
import CartProductList from "@/components/retailer/cart-product/CartProductList";
|
||||||
|
import RetailerSearchProducts from "@/components/retailer/retailer-search/RetailerSearchProducts";
|
||||||
|
|
||||||
import SnackbarComponent from "@/components/common/SnackbarComponent";
|
import SnackbarComponent from "@/components/common/SnackbarComponent";
|
||||||
import { getCookieByName } from "@/services/auth";
|
import { getCookieByName } from "@/services/auth";
|
||||||
import { priceFormatter } from "@/services/util.service";
|
import { priceFormatter } from "@/services/util.service";
|
||||||
export default {
|
export default {
|
||||||
name: "CartProducts",
|
name: "CartProducts",
|
||||||
data: () => ({
|
data: () => ({
|
||||||
|
searchData: null,
|
||||||
priceFormatter: priceFormatter,
|
priceFormatter: priceFormatter,
|
||||||
stockFlag: true,
|
stockFlag: true,
|
||||||
cartProductPage: true,
|
cartProductPage: true,
|
||||||
|
@ -265,7 +201,6 @@ export default {
|
||||||
dialog: false,
|
dialog: false,
|
||||||
chekoutFlag: true,
|
chekoutFlag: true,
|
||||||
discountTextCode: "",
|
discountTextCode: "",
|
||||||
validDiscountCode: true,
|
|
||||||
lazy: false,
|
lazy: false,
|
||||||
textRules: [(v) => !!v || "This field is required"],
|
textRules: [(v) => !!v || "This field is required"],
|
||||||
snackbar: {
|
snackbar: {
|
||||||
|
@ -278,6 +213,7 @@ export default {
|
||||||
components: {
|
components: {
|
||||||
CartProductList,
|
CartProductList,
|
||||||
SnackbarComponent,
|
SnackbarComponent,
|
||||||
|
RetailerSearchProducts,
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
canonical: function () {
|
canonical: function () {
|
||||||
|
@ -313,13 +249,7 @@ export default {
|
||||||
return this.$store.state.cartProduct.cartTotalAmtProgress;
|
return this.$store.state.cartProduct.cartTotalAmtProgress;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
inProgressDiscountCode() {
|
|
||||||
if (this.userAuth) {
|
|
||||||
return this.$store.state.userCartProduct.fetchInProgress;
|
|
||||||
} else {
|
|
||||||
return this.$store.state.cartProduct.fetchInProgress;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
cartProductsProgress: function () {
|
cartProductsProgress: function () {
|
||||||
if (this.userAuth) {
|
if (this.userAuth) {
|
||||||
return this.$store.state.userCartProduct.cartProductsProgress;
|
return this.$store.state.userCartProduct.cartProductsProgress;
|
||||||
|
@ -327,13 +257,7 @@ export default {
|
||||||
return this.$store.state.cartProduct.cartProductsProgress;
|
return this.$store.state.cartProduct.cartProductsProgress;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
discountCode() {
|
|
||||||
if (this.userAuth) {
|
|
||||||
return this.$store.state.userCartProduct.discountCode;
|
|
||||||
} else {
|
|
||||||
return this.$store.state.cartProduct.discountCode;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
metaInfo() {
|
metaInfo() {
|
||||||
return {
|
return {
|
||||||
|
@ -356,14 +280,7 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
validDiscountCode() {
|
|
||||||
if (!this.validDiscountCode) {
|
|
||||||
this.$refs.discountCodeForm.reset();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
discountCode() {
|
|
||||||
this.discountTextCode = this.discountCode;
|
|
||||||
},
|
|
||||||
cartProductsItem() {
|
cartProductsItem() {
|
||||||
this.stockFlagHideShow();
|
this.stockFlagHideShow();
|
||||||
this.calledCriteoViewBasket();
|
this.calledCriteoViewBasket();
|
||||||
|
@ -380,7 +297,6 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
removeMinus(val) {
|
removeMinus(val) {
|
||||||
debugger;
|
|
||||||
if (val) return val.toString().substring(1);
|
if (val) return val.toString().substring(1);
|
||||||
},
|
},
|
||||||
showSnackBarMessage(obj) {
|
showSnackBarMessage(obj) {
|
||||||
|
@ -413,11 +329,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resetValidation() {
|
resetValidation() {},
|
||||||
if (!this.validDiscountCode) {
|
|
||||||
this.$refs.discountCodeForm.reset();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
goToShopping() {
|
goToShopping() {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: "HomePage",
|
name: "HomePage",
|
||||||
|
@ -430,134 +342,28 @@ export default {
|
||||||
params: {},
|
params: {},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
setDiscountTextCode() {
|
searchProducts() {
|
||||||
if (this.userAuth) {
|
if (this.searchData) {
|
||||||
this.discountTextCode = this.$store.state.userCartProduct.discountCode;
|
this.$store.dispatch("catalogBrowser/search", {
|
||||||
} else {
|
fullCatalog: window.craneCatalog,
|
||||||
this.discountTextCode = this.$store.state.cartProduct.discountCode;
|
keywords: this.searchData,
|
||||||
}
|
filters: [],
|
||||||
},
|
pageNumber: 1,
|
||||||
applyDiscountCode() {
|
pageSize: "ALL",
|
||||||
if (this.$refs.discountCodeForm.validate()) {
|
sortBy: "relevance",
|
||||||
if (this.userAuth) {
|
});
|
||||||
this.$store
|
|
||||||
.dispatch(
|
|
||||||
"userCartProduct/applyDiscountCode",
|
|
||||||
this.discountTextCode
|
|
||||||
)
|
|
||||||
.then(() => {
|
|
||||||
this.snackbar = {
|
|
||||||
message: "Your coupon was successfully applied",
|
|
||||||
color: "success",
|
|
||||||
show: true,
|
|
||||||
timeout: 2000,
|
|
||||||
};
|
|
||||||
this.$store.dispatch("userCartProduct/productTotalAmt");
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
this.snackbar = {
|
|
||||||
message: error.message,
|
|
||||||
color: "error",
|
|
||||||
show: true,
|
|
||||||
timeout: 2000,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$store
|
|
||||||
.dispatch("cartProduct/applyDiscountCode", {
|
|
||||||
discountTextCode: this.discountTextCode,
|
|
||||||
guestQuoteId: this.guestQuoteId,
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
this.snackbar = {
|
|
||||||
message: "Your coupon was successfully applied",
|
|
||||||
color: "success",
|
|
||||||
show: true,
|
|
||||||
timeout: 2000,
|
|
||||||
};
|
|
||||||
this.$store.dispatch(
|
|
||||||
"cartProduct/productTotalAmt",
|
|
||||||
this.guestQuoteId
|
|
||||||
);
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
this.snackbar = {
|
|
||||||
message: error.message,
|
|
||||||
color: "error",
|
|
||||||
show: true,
|
|
||||||
timeout: 2000,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
removeDiscountCode() {
|
|
||||||
if (this.$refs.discountCodeForm.validate()) {
|
|
||||||
if (this.userAuth) {
|
|
||||||
this.$store
|
|
||||||
.dispatch(
|
|
||||||
"userCartProduct/removeDiscountCode",
|
|
||||||
this.discountTextCode
|
|
||||||
)
|
|
||||||
.then(() => {
|
|
||||||
this.snackbar = {
|
|
||||||
message: "Your coupon was successfully removed",
|
|
||||||
color: "success",
|
|
||||||
show: true,
|
|
||||||
timeout: 2000,
|
|
||||||
};
|
|
||||||
this.$store.dispatch("userCartProduct/productTotalAmt");
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
this.snackbar = {
|
|
||||||
message: error,
|
|
||||||
color: "error",
|
|
||||||
show: true,
|
|
||||||
timeout: 2000,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$store
|
|
||||||
.dispatch("cartProduct/removeDiscountCode", {
|
|
||||||
discountTextCode: this.discountTextCode,
|
|
||||||
guestQuoteId: this.guestQuoteId,
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
this.snackbar = {
|
|
||||||
message: "Your coupon was successfully removed",
|
|
||||||
color: "success",
|
|
||||||
show: true,
|
|
||||||
timeout: 2000,
|
|
||||||
};
|
|
||||||
this.$store.dispatch(
|
|
||||||
"cartProduct/productTotalAmt",
|
|
||||||
this.guestQuoteId
|
|
||||||
);
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
this.snackbar = {
|
|
||||||
message: error,
|
|
||||||
color: "error",
|
|
||||||
show: true,
|
|
||||||
timeout: 2000,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
|
this.$store.dispatch("catalogBrowser/index", {
|
||||||
|
productsCatalog: window.craneCatalog.products,
|
||||||
|
});
|
||||||
if (this.userAuth) {
|
if (this.userAuth) {
|
||||||
this.$store.dispatch("userCartProduct/fetchCartCoupon");
|
this.$store.dispatch("userCartProduct/fetchCartCoupon");
|
||||||
this.setDiscountTextCode();
|
|
||||||
this.calledCriteoViewBasket();
|
this.calledCriteoViewBasket();
|
||||||
} else {
|
|
||||||
if (this.guestQuoteId) {
|
|
||||||
this.$store.dispatch("cartProduct/fetchCartCoupon", this.guestQuoteId);
|
|
||||||
this.setDiscountTextCode();
|
|
||||||
this.calledCriteoViewBasket();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
this.stockFlagHideShow();
|
this.stockFlagHideShow();
|
||||||
},
|
},
|
||||||
|
|
|
@ -21,21 +21,7 @@
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-container>
|
</v-container>
|
||||||
</v-overlay>
|
</v-overlay>
|
||||||
<v-overlay :value="storeCreditInProgress" :opacity="0.8">
|
|
||||||
<v-container>
|
|
||||||
<v-row>
|
|
||||||
<v-col cols="12" class="d-flex justify-center align-center">
|
|
||||||
<v-progress-circular
|
|
||||||
indeterminate
|
|
||||||
size="80"
|
|
||||||
color="white"
|
|
||||||
align="center"
|
|
||||||
justify="center"
|
|
||||||
></v-progress-circular>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</v-container>
|
|
||||||
</v-overlay>
|
|
||||||
<v-container
|
<v-container
|
||||||
v-if="cartProductsProgress || shippingInformationsInProgress"
|
v-if="cartProductsProgress || shippingInformationsInProgress"
|
||||||
class="text-center"
|
class="text-center"
|
||||||
|
@ -280,17 +266,7 @@
|
||||||
<!-- </v-row> -->
|
<!-- </v-row> -->
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row v-if="!userLocalAddressFlag">
|
|
||||||
<v-col cols="auto">
|
|
||||||
<v-btn
|
|
||||||
class="primary"
|
|
||||||
depressed
|
|
||||||
tile
|
|
||||||
@click="openDialogForEditAddress()"
|
|
||||||
>New Address</v-btn
|
|
||||||
>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<v-row>
|
<v-row>
|
||||||
|
@ -488,11 +464,11 @@
|
||||||
v-if="shippingInformations.totals.grandTotal !== 0"
|
v-if="shippingInformations.totals.grandTotal !== 0"
|
||||||
>
|
>
|
||||||
<v-radio
|
<v-radio
|
||||||
:label="shippingInformations.paymentMethods[1].title"
|
:label="shippingInformations.paymentMethods[0].title"
|
||||||
:value="shippingInformations.paymentMethods[1].code"
|
:value="shippingInformations.paymentMethods[0].code"
|
||||||
class="black--text"
|
class="black--text"
|
||||||
></v-radio>
|
></v-radio>
|
||||||
<div v-if="paymentMethod === 'braintree'">
|
<div v-if="paymentMethod === 'purchaseorder'">
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
label="My billing and shipping address are the same"
|
label="My billing and shipping address are the same"
|
||||||
v-model="sameAddress"
|
v-model="sameAddress"
|
||||||
|
@ -501,7 +477,8 @@
|
||||||
:readonly="readOnlyCheckBox"
|
:readonly="readOnlyCheckBox"
|
||||||
hide-details
|
hide-details
|
||||||
></v-checkbox>
|
></v-checkbox>
|
||||||
<v-row v-if="sameAddress">
|
<div v-if="sameAddress">
|
||||||
|
<v-row >
|
||||||
<v-col cols="12" class="pl-sm-10">
|
<v-col cols="12" class="pl-sm-10">
|
||||||
<BillingAddressComponent :address="address" />
|
<BillingAddressComponent :address="address" />
|
||||||
<v-btn
|
<v-btn
|
||||||
|
@ -515,6 +492,34 @@
|
||||||
>
|
>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
<v-row class="pl-3">
|
||||||
|
|
||||||
|
<v-col cols="12" align="right">
|
||||||
|
<v-btn
|
||||||
|
class="primary mx-3 text-uppercase"
|
||||||
|
@click="placeOrderFree()"
|
||||||
|
tile
|
||||||
|
depressed
|
||||||
|
>Place Order</v-btn
|
||||||
|
>
|
||||||
|
</v-col>
|
||||||
|
|
||||||
|
<!-- <v-col cols="12" sm="6">
|
||||||
|
<v-braintree
|
||||||
|
:authorization="braintreeAuthKey"
|
||||||
|
:vaultManager="true"
|
||||||
|
@success="onPaymentSuccess"
|
||||||
|
@error="onPaymentError"
|
||||||
|
@load="onGatewayLoad"
|
||||||
|
@loadFail="onGatewayLoadFail"
|
||||||
|
>
|
||||||
|
<template v-slot:button="slotProps">
|
||||||
|
<v-btn @click="slotProps.submit" color="success">Place Order</v-btn>
|
||||||
|
</template>
|
||||||
|
</v-braintree>
|
||||||
|
</v-col>-->
|
||||||
|
</v-row>
|
||||||
|
</div>
|
||||||
<v-row v-else>
|
<v-row v-else>
|
||||||
<v-col cols="12" sm="8" v-if="this.userAuth">
|
<v-col cols="12" sm="8" v-if="this.userAuth">
|
||||||
<v-row v-if="addressLength > 0">
|
<v-row v-if="addressLength > 0">
|
||||||
|
@ -658,10 +663,10 @@
|
||||||
>
|
>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row>
|
<!-- <v-row>
|
||||||
<CardPayment
|
<CardPayment
|
||||||
@submitCardPayment="submitCardPayment"
|
@submitCardPayment="submitCardPayment"
|
||||||
/>
|
/>-->
|
||||||
<!-- <v-col cols="12" sm="6">
|
<!-- <v-col cols="12" sm="6">
|
||||||
<v-braintree
|
<v-braintree
|
||||||
:authorization="braintreeAuthKey"
|
:authorization="braintreeAuthKey"
|
||||||
|
@ -676,7 +681,7 @@
|
||||||
</template>
|
</template>
|
||||||
</v-braintree>
|
</v-braintree>
|
||||||
</v-col>-->
|
</v-col>-->
|
||||||
</v-row>
|
<!--</v-row>-->
|
||||||
</div>
|
</div>
|
||||||
<!-- <v-divider class="my-3"></v-divider>
|
<!-- <v-divider class="my-3"></v-divider>
|
||||||
<v-radio
|
<v-radio
|
||||||
|
@ -871,23 +876,7 @@
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row class="pl-3">
|
<v-row class="pl-3">
|
||||||
<v-col
|
|
||||||
cols="12"
|
|
||||||
v-if="
|
|
||||||
giftCardCreditBalance >
|
|
||||||
shippingInformations.totals.subtotal +
|
|
||||||
shippingInformations.totals
|
|
||||||
.baseShippingInclTax
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<p>
|
|
||||||
Gift Card amount applied to order:${{
|
|
||||||
shippingInformations.totals.subtotal +
|
|
||||||
shippingInformations.totals
|
|
||||||
.baseShippingInclTax
|
|
||||||
}}
|
|
||||||
</p>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="12" align="right">
|
<v-col cols="12" align="right">
|
||||||
<v-btn
|
<v-btn
|
||||||
class="primary mx-3 text-uppercase"
|
class="primary mx-3 text-uppercase"
|
||||||
|
@ -1353,22 +1342,17 @@
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row class="pl-3">
|
<v-row class="pl-3">
|
||||||
<v-col
|
<v-col cols="12" align="right">
|
||||||
cols="12"
|
<v-text-field
|
||||||
v-if="
|
v-model="poNumber"
|
||||||
giftCardCreditBalance >
|
type="text"
|
||||||
cartProductTotalAmt.subtotal +
|
dense
|
||||||
cartProductTotalAmt.baseShippingInclTax
|
placeholder="Purchase Order Number"
|
||||||
"
|
outlined
|
||||||
>
|
:rules="textRules"
|
||||||
<p>
|
></v-text-field>
|
||||||
Gift Card amount applied to order:${{
|
|
||||||
cartProductTotalAmt.subtotal +
|
|
||||||
cartProductTotalAmt.baseShippingInclTax
|
|
||||||
}}
|
|
||||||
</p>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" align="right">
|
<!-- <v-col cols="12" align="right">
|
||||||
<v-btn
|
<v-btn
|
||||||
class="primary mx-3 text-uppercase"
|
class="primary mx-3 text-uppercase"
|
||||||
@click="placeOrderFree()"
|
@click="placeOrderFree()"
|
||||||
|
@ -1376,7 +1360,7 @@
|
||||||
depressed
|
depressed
|
||||||
>Place Order</v-btn
|
>Place Order</v-btn
|
||||||
>
|
>
|
||||||
</v-col>
|
</v-col>-->
|
||||||
|
|
||||||
<!-- <v-col cols="12" sm="6">
|
<!-- <v-col cols="12" sm="6">
|
||||||
<v-braintree
|
<v-braintree
|
||||||
|
@ -1414,7 +1398,7 @@
|
||||||
</v-radio-group>
|
</v-radio-group>
|
||||||
<v-divider></v-divider>
|
<v-divider></v-divider>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" class="py-0">
|
<!-- <v-col cols="12" class="py-0">
|
||||||
<v-expansion-panels
|
<v-expansion-panels
|
||||||
accordion
|
accordion
|
||||||
light
|
light
|
||||||
|
@ -1488,70 +1472,9 @@
|
||||||
</v-expansion-panel-content>
|
</v-expansion-panel-content>
|
||||||
</v-expansion-panel>
|
</v-expansion-panel>
|
||||||
</v-expansion-panels>
|
</v-expansion-panels>
|
||||||
</v-col>
|
</v-col>-->
|
||||||
<div v-if="!giftCardProduct">
|
|
||||||
<v-row
|
|
||||||
class="pl-4"
|
|
||||||
v-show="
|
|
||||||
giftCardCreditBalance != 0 &&
|
|
||||||
shippingInformations.totals.grandTotal != 0 &&
|
|
||||||
shippingInformations.totals.totalSegments[5].value ==
|
|
||||||
0 &&
|
|
||||||
this.userAuth &&
|
|
||||||
showStoreCredit
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<hr />
|
|
||||||
<v-col cols="12">
|
|
||||||
<p class="mb-5">Store Credit</p>
|
|
||||||
<p>
|
|
||||||
${{ giftCardCreditBalance }} Store Credit available
|
|
||||||
</p>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="12" align="right">
|
|
||||||
<v-btn
|
|
||||||
class="primary mx-3 text-uppercase"
|
|
||||||
@click="useStoreCredit()"
|
|
||||||
tile
|
|
||||||
depressed
|
|
||||||
>Use Store Credit</v-btn
|
|
||||||
>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
v-if="
|
|
||||||
giftCardProduct && cartProductTotalAmt.totalSegments
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<v-row
|
|
||||||
class="pl-4"
|
|
||||||
v-show="
|
|
||||||
giftCardCreditBalance != 0 &&
|
|
||||||
cartProductTotalAmt.totalSegments[5].value === 0 &&
|
|
||||||
this.userAuth &&
|
|
||||||
showStoreCredit &&
|
|
||||||
cartProductTotalAmt.grandTotal !== 0
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<hr />
|
|
||||||
<v-col cols="12">
|
|
||||||
<p class="mb-5">Store Credit</p>
|
|
||||||
<p>
|
|
||||||
${{ giftCardCreditBalance }} Store Credit available
|
|
||||||
</p>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="12" align="right">
|
|
||||||
<v-btn
|
|
||||||
class="primary mx-3 text-uppercase"
|
|
||||||
@click="useStoreCredit()"
|
|
||||||
tile
|
|
||||||
depressed
|
|
||||||
>Use Store Credit</v-btn
|
|
||||||
>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</div>
|
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" sm="5" md="4" class="pl-3 d-none d-sm-block">
|
<v-col cols="12" sm="5" md="4" class="pl-3 d-none d-sm-block">
|
||||||
|
@ -1679,17 +1602,7 @@
|
||||||
}}</span
|
}}</span
|
||||||
>
|
>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col
|
|
||||||
cols="12"
|
|
||||||
class="d-flex justify-space-between"
|
|
||||||
v-if="
|
|
||||||
shippingInformations.totals.totalSegments[5]
|
|
||||||
.value !== 0
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<span>{{ giftCardCreditBalance }} Store Credit</span>
|
|
||||||
<span>-${{ giftCardCreditBalance }}</span>
|
|
||||||
</v-col>
|
|
||||||
<v-col cols="12" class="d-flex justify-space-between">
|
<v-col cols="12" class="d-flex justify-space-between">
|
||||||
<h3>Estimated Total</h3>
|
<h3>Estimated Total</h3>
|
||||||
<span
|
<span
|
||||||
|
@ -1952,7 +1865,8 @@ export default {
|
||||||
sameAddress: true,
|
sameAddress: true,
|
||||||
paymentMethod: "",
|
paymentMethod: "",
|
||||||
paymentMethodFree: true,
|
paymentMethodFree: true,
|
||||||
freePaymentMethod: "free",
|
freePaymentMethod: "purchaseorder",
|
||||||
|
poNumber:'',
|
||||||
cartItemPanel: [0],
|
cartItemPanel: [0],
|
||||||
saveInAddressBook: false,
|
saveInAddressBook: false,
|
||||||
showAddressDialog: false,
|
showAddressDialog: false,
|
||||||
|
@ -2070,12 +1984,7 @@ export default {
|
||||||
canonical: function () {
|
canonical: function () {
|
||||||
return this.$route.meta.canonical;
|
return this.$route.meta.canonical;
|
||||||
},
|
},
|
||||||
giftCardCreditBalance: function () {
|
|
||||||
return this.$store.state.storeCredit.giftCardCreditBalance;
|
|
||||||
},
|
|
||||||
storeCreditInProgress: function () {
|
|
||||||
return this.$store.state.storeCredit.storeCreditInProgress;
|
|
||||||
},
|
|
||||||
hideAndShowFields: function () {
|
hideAndShowFields: function () {
|
||||||
//let currentName = this.$router.history.current.name;
|
//let currentName = this.$router.history.current.name;
|
||||||
// if (currentName === "CheckoutPage" && this.tabs == "shippingTab") {
|
// if (currentName === "CheckoutPage" && this.tabs == "shippingTab") {
|
||||||
|
@ -2852,87 +2761,9 @@ export default {
|
||||||
try {
|
try {
|
||||||
let res = await this.$store.dispatch("accountOne/setOrder", {
|
let res = await this.$store.dispatch("accountOne/setOrder", {
|
||||||
method: this.freePaymentMethod,
|
method: this.freePaymentMethod,
|
||||||
|
"poNumber": this.poNumber,
|
||||||
});
|
});
|
||||||
await this.$store.dispatch("accountOne/setPaymentInProgress", true);
|
|
||||||
if (res) {
|
|
||||||
try {
|
|
||||||
let resp = await this.$store.dispatch(
|
|
||||||
"meProductOne/fetchOrderProduct",
|
|
||||||
res
|
|
||||||
);
|
|
||||||
if (resp && resp.items) {
|
|
||||||
/*googleAanalyticsCheckout("checkout_progress", {
|
|
||||||
items: resp.items,
|
|
||||||
});
|
|
||||||
googleAanalyticsCheckout("set_checkout_option", {
|
|
||||||
checkout_step: 1,
|
|
||||||
checkout_option: "payment",
|
|
||||||
});*/
|
|
||||||
|
|
||||||
googleAanalyticsCheckoutAddPaymentInfo(
|
|
||||||
"add_payment_info",
|
|
||||||
resp
|
|
||||||
);
|
|
||||||
googleAanalyticsPurchase(resp, resp.incrementId);
|
|
||||||
let shippingAddress = [];
|
|
||||||
let ccid = "";
|
|
||||||
let webOrderNumber = resp.incrementId;
|
|
||||||
let magentoOrderNumber = res;
|
|
||||||
for (let i = 0; resp.items.length > i; i++) {
|
|
||||||
let obj = resp.items[i];
|
|
||||||
if (obj.extensionAttributes) {
|
|
||||||
ccid = obj.extensionAttributes.ccid;
|
|
||||||
if (ccid) {
|
|
||||||
shippingAddress =
|
|
||||||
resp.extensionAttributes.shippingAssignments[0]
|
|
||||||
.shipping.address;
|
|
||||||
try {
|
|
||||||
let response = await this.$store.dispatch(
|
|
||||||
"accountOne/setCCOrder",
|
|
||||||
{
|
|
||||||
orderNumber: ccid,
|
|
||||||
shippingAddress: shippingAddress,
|
|
||||||
webOrderNumber: webOrderNumber,
|
|
||||||
estimatedShipping: this.estimatedShipping,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (obj.extensionAttributes.personalizeDetails) {
|
|
||||||
await this.placeCraneOrder(
|
|
||||||
resp,
|
|
||||||
obj,
|
|
||||||
webOrderNumber,
|
|
||||||
magentoOrderNumber
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
await this.$store.dispatch(
|
|
||||||
"accountOne/setPaymentInProgress",
|
|
||||||
false
|
|
||||||
);
|
|
||||||
this.isPageLoader = false;
|
|
||||||
this.snackbar = {
|
|
||||||
message: error,
|
|
||||||
color: "error",
|
|
||||||
show: true,
|
|
||||||
timeout: 5000,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
await this.$store.dispatch(
|
|
||||||
"accountOne/setPaymentInProgress",
|
|
||||||
false
|
|
||||||
);
|
|
||||||
this.$router.push({
|
|
||||||
name: "OrderSuccess",
|
|
||||||
params: { orderNumber: res },
|
|
||||||
});
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.isPageLoader = false;
|
this.isPageLoader = false;
|
||||||
this.snackbar = {
|
this.snackbar = {
|
||||||
|
@ -3567,27 +3398,13 @@ export default {
|
||||||
//this.$store.dispatch("userCartProduct/cartProductList");
|
//this.$store.dispatch("userCartProduct/cartProductList");
|
||||||
//this.$store.dispatch("userCartProduct/productTotalAmt");
|
//this.$store.dispatch("userCartProduct/productTotalAmt");
|
||||||
this.$store.dispatch("userCartProduct/fetchCartCoupon");
|
this.$store.dispatch("userCartProduct/fetchCartCoupon");
|
||||||
if (this.basicInfo) {
|
|
||||||
this.$store
|
|
||||||
.dispatch("storeCredit/fetchGiftCardCreditBalance", this.basicInfo.id)
|
|
||||||
.catch(() => {
|
|
||||||
this.showStoreCredit = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
this.localStorageInitialOperation();
|
this.localStorageInitialOperation();
|
||||||
this.setDiscountTextCode();
|
// this.setDiscountTextCode();
|
||||||
|
|
||||||
// let checkOutTab = localStorage.getItem("cr_checkOutTab")
|
// let checkOutTab = localStorage.getItem("cr_checkOutTab")
|
||||||
// if(checkOutTab==='reviewTab') this.tabs = "reviewTab";
|
// if(checkOutTab==='reviewTab') this.tabs = "reviewTab";
|
||||||
} else {
|
}
|
||||||
if (this.guestQuoteId) {
|
|
||||||
//this.$store.dispatch("cartProduct/cartProductList", this.guestQuoteId);
|
|
||||||
this.$store.dispatch("guestInfo/basicInfo");
|
|
||||||
//this.$store.dispatch("cartProduct/productTotalAmt", this.guestQuoteId);
|
|
||||||
this.$store.dispatch("cartProduct/fetchCartCoupon", this.guestQuoteId);
|
|
||||||
this.setDiscountTextCode();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.verifyAddress();
|
this.verifyAddress();
|
||||||
this.stockFlagHideShow();
|
this.stockFlagHideShow();
|
||||||
if (this.cartProductsItem) {
|
if (this.cartProductsItem) {
|
||||||
|
|
|
@ -26,7 +26,7 @@ function doResetPassword(resetOne) { //userId, newPassword, token
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ "email": "", "resetToken": resetOne.token, "newPassword": resetOne.newPassword })
|
body: JSON.stringify({ "email": "", "resetToken": resetOne.token, "newPassword": resetOne.newPassword })
|
||||||
};
|
};
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/V1/customers/resetPassword`, requestOptions).then(handleResponse);
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/customers/resetPassword`, requestOptions).then(handleResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
function doForgotPassword(forgot) {
|
function doForgotPassword(forgot) {
|
||||||
|
@ -39,11 +39,11 @@ function doForgotPassword(forgot) {
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
"email": forgot.email,
|
"email": forgot.email,
|
||||||
"template": "email_reset",
|
"template": "email_reset",
|
||||||
"websiteId": 1
|
"websiteId": 2
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/V1/customers/password`, requestOptions).then(handleResponse);
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/customers/password`, requestOptions).then(handleResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*function doconfirmEmail(token) {
|
/*function doconfirmEmail(token) {
|
||||||
|
@ -88,7 +88,7 @@ function doSignUp(registration) {
|
||||||
|
|
||||||
// console.log(registration);
|
// console.log(registration);
|
||||||
|
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/V1/customers`, requestOptions).then(handleResponse);
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/customers`, requestOptions).then(handleResponse);
|
||||||
}
|
}
|
||||||
/* eslint-disable no-alert, no-console , no-debugger */
|
/* eslint-disable no-alert, no-console , no-debugger */
|
||||||
export const doUpdateSubscription = meWrapRequest((one) => {
|
export const doUpdateSubscription = meWrapRequest((one) => {
|
||||||
|
@ -110,7 +110,7 @@ export const doUpdateSubscription = meWrapRequest((one) => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/V1/customers/me`, requestOptions)
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/customers/me`, requestOptions)
|
||||||
});
|
});
|
||||||
////////////////// dummy api //////////////////
|
////////////////// dummy api //////////////////
|
||||||
/*async function doSignUp(firstName, lastName, email, password) {
|
/*async function doSignUp(firstName, lastName, email, password) {
|
||||||
|
|
|
@ -67,8 +67,9 @@ export const doFilterItems = ({ items, enabledFilters, availableFilters, attribu
|
||||||
for (var i = 0; i < items.length; i++) {
|
for (var i = 0; i < items.length; i++) {
|
||||||
var product = items[i]
|
var product = items[i]
|
||||||
const isValid = doCheckProductForEnabledFilters({ product, enabledFilters })
|
const isValid = doCheckProductForEnabledFilters({ product, enabledFilters })
|
||||||
if (isValid) {
|
if (isValid && product.per =='No') {
|
||||||
doCountProductAttributes({ product, availableFilters, attributesMap })
|
doCountProductAttributes({ product, availableFilters, attributesMap })
|
||||||
|
|
||||||
matchingItems.push(product)
|
matchingItems.push(product)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,7 @@ export const doFetchCountries = wrapRequest(() => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/directory/countries`, requestOptions)
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/directory/countries`, requestOptions)
|
||||||
|
|
||||||
});
|
});
|
||||||
export const doFetchBasicInfo = meWrapRequest(() => {
|
export const doFetchBasicInfo = meWrapRequest(() => {
|
||||||
|
@ -215,7 +215,7 @@ export const doChangePassword = meWrapRequest((currentPassword, newPassword) =>
|
||||||
"newPassword": newPassword
|
"newPassword": newPassword
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/customers/retailer/password`, requestOptions)
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/customers/me/password`, requestOptions)
|
||||||
});
|
});
|
||||||
export const doFetchEstimatedShippingMethods = wrapRequest((one, address) => {
|
export const doFetchEstimatedShippingMethods = wrapRequest((one, address) => {
|
||||||
let streetAddress = [];
|
let streetAddress = [];
|
||||||
|
@ -257,7 +257,7 @@ export const doFetchEstimatedShippingMethods = wrapRequest((one, address) => {
|
||||||
}),
|
}),
|
||||||
|
|
||||||
};
|
};
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/carts/mine/estimate-shipping-methods`, requestOptions)
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/carts/mine/estimate-shipping-methods`, requestOptions)
|
||||||
});
|
});
|
||||||
export const doShippingInformation = wrapRequest((one, address, estimated, suggestedAddress) => {
|
export const doShippingInformation = wrapRequest((one, address, estimated, suggestedAddress) => {
|
||||||
let streetAddress = [];
|
let streetAddress = [];
|
||||||
|
@ -295,7 +295,7 @@ export const doShippingInformation = wrapRequest((one, address, estimated, sugge
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/carts/mine/shipping-information`, requestOptions)
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/carts/mine/shipping-information`, requestOptions)
|
||||||
});
|
});
|
||||||
export const doDeleteAddress = wrapRequest((addressId) => {
|
export const doDeleteAddress = wrapRequest((addressId) => {
|
||||||
const requestOptions = {
|
const requestOptions = {
|
||||||
|
@ -320,10 +320,10 @@ export const doProductsOrder = meWrapRequest((userQuote, paymentMethod, oneAddre
|
||||||
"cartId": userQuote,
|
"cartId": userQuote,
|
||||||
"billingAddress": oneAddress,
|
"billingAddress": oneAddress,
|
||||||
"paymentMethod": paymentMethod,
|
"paymentMethod": paymentMethod,
|
||||||
"comments": ""
|
"comments": "",
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/carts/mine/payment-information`, requestOptions)
|
return fetch(`${vueAppMagenotApiUrl}/rest/crn_retailer/V1/carts/mine/payment-information`, requestOptions)
|
||||||
});
|
});
|
||||||
|
|
||||||
/*export const doProductsOrderOnCC = meWrapRequest((orderNumber, shippingAddress, webOrderNumber) => {
|
/*export const doProductsOrderOnCC = meWrapRequest((orderNumber, shippingAddress, webOrderNumber) => {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { getField, updateField } from 'vuex-map-fields'
|
import { getField, updateField } from 'vuex-map-fields'
|
||||||
import { doFilterItems } from '@/services/search.service'
|
import { doFilterItems } from '@/services/search.service'
|
||||||
import { criteoForProductList } from "@/services/util.service";
|
//import { criteoForProductList } from "@/services/util.service";
|
||||||
import Fuse from 'fuse.js'
|
import Fuse from 'fuse.js'
|
||||||
export const catalogBrowser = {
|
export const catalogBrowser = {
|
||||||
namespaced: true,
|
namespaced: true,
|
||||||
|
@ -63,7 +63,7 @@ export const catalogBrowser = {
|
||||||
setSearchResults(state, results) {
|
setSearchResults(state, results) {
|
||||||
state.searchResults.page = [];
|
state.searchResults.page = [];
|
||||||
state.searchResults.page = results;
|
state.searchResults.page = results;
|
||||||
criteoForProductList(results);
|
// criteoForProductList(results);
|
||||||
},
|
},
|
||||||
setFuseWithIndex(state, index) {
|
setFuseWithIndex(state, index) {
|
||||||
state.fuseWithIndex = index
|
state.fuseWithIndex = index
|
||||||
|
@ -129,14 +129,16 @@ export const catalogBrowser = {
|
||||||
const fuse = new Fuse(productsArray, options)
|
const fuse = new Fuse(productsArray, options)
|
||||||
commit('setFuseWithIndex', fuse)
|
commit('setFuseWithIndex', fuse)
|
||||||
},
|
},
|
||||||
|
/* eslint-disable no-alert, no-console , no-debugger */
|
||||||
|
|
||||||
search: ({ commit, state }, { fullCatalog, keywords, filters, pageNumber, pageSize, sortBy }) => {
|
search: ({ commit, state }, { fullCatalog, keywords, filters, pageNumber, pageSize, sortBy }) => {
|
||||||
|
|
||||||
//debugger
|
|
||||||
commit('inProgress', true)
|
commit('inProgress', true)
|
||||||
console.log('searching:', pageNumber)
|
console.log('searching:', pageNumber)
|
||||||
console.log('pageSize:', pageSize)
|
console.log('pageSize:', pageSize)
|
||||||
commit('setEnabledFilters', filters)
|
// commit('setEnabledFilters', filters)
|
||||||
//debugger
|
// debugger
|
||||||
const products = []
|
const products = []
|
||||||
if (filters !== undefined && filters.length) {
|
if (filters !== undefined && filters.length) {
|
||||||
const categoryFilter = filters.find((f => f.prop == 'ci'))
|
const categoryFilter = filters.find((f => f.prop == 'ci'))
|
||||||
|
@ -154,6 +156,7 @@ export const catalogBrowser = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (keywords !== null && keywords != '') {
|
if (keywords !== null && keywords != '') {
|
||||||
products.length = 0
|
products.length = 0
|
||||||
const relevantResults = state.fuseWithIndex.search(keywords)
|
const relevantResults = state.fuseWithIndex.search(keywords)
|
||||||
|
@ -164,18 +167,13 @@ export const catalogBrowser = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* else {
|
|
||||||
if (products.length < 1) {
|
|
||||||
for (const [, product] of Object.entries(fullCatalog.products)) {
|
|
||||||
products.push(product)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
const availableFilters = [];
|
const availableFilters = [];
|
||||||
let filteredItems = [];
|
let filteredItems = [];
|
||||||
let pageData = [];
|
let pageData = [];
|
||||||
if (products.length > 0) {
|
if (products.length > 0) {
|
||||||
filteredItems = doFilterItems({
|
|
||||||
|
filteredItems = doFilterItems({
|
||||||
items: products, enabledFilters: state.enabledFilters,
|
items: products, enabledFilters: state.enabledFilters,
|
||||||
availableFilters, attributesMap: window.attributesMap
|
availableFilters, attributesMap: window.attributesMap
|
||||||
})
|
})
|
||||||
|
@ -212,6 +210,7 @@ export const catalogBrowser = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
commit('setSearchResults', pageData);
|
commit('setSearchResults', pageData);
|
||||||
|
|
||||||
commit('setAvailableFilters', availableFilters);
|
commit('setAvailableFilters', availableFilters);
|
||||||
commit('setSearchTerms', { keywords: keywords, pageNumber: pageNumber, pageSize: pageSize, sortBy: sortBy, filters: filters }
|
commit('setSearchTerms', { keywords: keywords, pageNumber: pageNumber, pageSize: pageSize, sortBy: sortBy, filters: filters }
|
||||||
);
|
);
|
||||||
|
|
|
@ -2213,9 +2213,9 @@ caniuse-api@^3.0.0:
|
||||||
lodash.uniq "^4.5.0"
|
lodash.uniq "^4.5.0"
|
||||||
|
|
||||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001038, caniuse-lite@^1.0.30001039:
|
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001038, caniuse-lite@^1.0.30001039:
|
||||||
version "1.0.30001137"
|
version "1.0.30001299"
|
||||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001137.tgz"
|
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz"
|
||||||
integrity sha512-54xKQZTqZrKVHmVz0+UvdZR6kQc7pJDgfhsMYDG19ID1BWoNnDMFm5Q3uSBSU401pBvKYMsHAt9qhEDcxmk8aw==
|
integrity sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==
|
||||||
|
|
||||||
card-validator@8.1.1:
|
card-validator@8.1.1:
|
||||||
version "8.1.1"
|
version "8.1.1"
|
||||||
|
|
Loading…
Reference in New Issue