{"version":3,"file":"js/shopContent.js","mappings":"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","sources":["webpack://urliving/webpack/runtime/chunk loaded","webpack://urliving/./f2e_lib/composable/api/apiCalls.js","webpack://urliving/./f2e_lib/composable/api/useAxiosAPI.js","webpack://urliving/./f2e_lib/composable/member/useFaPoint.js","webpack://urliving/./f2e_lib/composable/useAlert.js","webpack://urliving/./f2e_lib/composable/useImage.js","webpack://urliving/./f2e_lib/composable/useMessage.js","webpack://urliving/./f2e_lib/composable/useSetEnv.js","webpack://urliving/./f2e_lib/composable/useShare.js","webpack://urliving/./f2e_lib/composable/useUtmKDetect.js","webpack://urliving/./f2e_lib/gtm/base.js","webpack://urliving/./f2e_lib/gtm/common.js","webpack://urliving/./f2e_lib/gtm/trace.js","webpack://urliving/./f2e_lib/stores/useMiniCartStore.js","webpack://urliving/./f2e_lib/stores/useModalStore.js","webpack://urliving/./src/composable/useDialog.js","webpack://urliving/./src/models/productEnum.js","webpack://urliving/./f2e_lib/gtm/class/productClass.js","webpack://urliving/./f2e_lib/gtm/product/index.js","webpack://urliving/./f2e_lib/gtm/wishlist/index.js","webpack://urliving/./f2e_lib/stores/useShopContentStore.js","webpack://urliving/./src/composable/useHeaderDiffer.js","webpack://urliving/./src/composable/useScrollBar.js","webpack://urliving/./f2e_lib/composable/useGoToTop.js","webpack://urliving/./f2e_lib/components/common/alert/AlertLayout.vue?a31e","webpack://urliving/./f2e_lib/components/common/alert/AlertLayout.vue","webpack://urliving/./f2e_lib/components/common/alert/parts/AlertConfirm.vue?4322","webpack://urliving/./f2e_lib/components/common/alert/parts/AlertConfirm.vue","webpack://urliving/./f2e_lib/components/common/alert/parts/AlertInfo.vue?8358","webpack://urliving/./f2e_lib/components/common/alert/parts/AlertInfo.vue","webpack://urliving/./f2e_lib/components/common/alert/parts/AlertSpecial.vue?2de5","webpack://urliving/./f2e_lib/components/common/alert/parts/AlertSpecial.vue","webpack://urliving/./f2e_lib/components/common/alert/AlertDialog.vue","webpack://urliving/./f2e_lib/components/common/message/Message.vue?8c14","webpack://urliving/./f2e_lib/components/common/message/Message.vue","webpack://urliving/./f2e_lib/components/addon/parts/AddonDetailPopup.vue?6c39","webpack://urliving/./f2e_lib/components/addon/parts/AddonDetailPopup.vue","webpack://urliving/./f2e_lib/composable/shop/useAdvancedSort.js","webpack://urliving/./f2e_lib/components/shop/AdvancedPopup.vue","webpack://urliving/./f2e_lib/components/shop/AdvancedPopup.vue?f092","webpack://urliving/./f2e_lib/components/common/modal/Modal.vue","webpack://urliving/./f2e_lib/components/common/modal/Modal.vue?7e74","webpack://urliving/./src/components/BrandBtn.vue?ceca","webpack://urliving/./src/components/BrandBtn.vue","webpack://urliving/./src/pages/brand/components/BrandListMB.vue?6814","webpack://urliving/./src/pages/brand/components/BrandListMB.vue","webpack://urliving/./src/pages/common/js/globalCtrl.js","webpack://urliving/./src/pages/common/js/common.js","webpack://urliving/./f2e_lib/composable/shop/useZoomBox.js","webpack://urliving/./src/pages/shopContent/components/ClothPhoto.vue","webpack://urliving/./src/pages/shopContent/components/ClothPhoto.vue?a52d","webpack://urliving/./src/pages/shopContent/components/FoodPhoto.vue","webpack://urliving/./src/pages/shopContent/components/FoodPhoto.vue?383c","webpack://urliving/./src/components/WishBtn.vue","webpack://urliving/./src/components/WishBtn.vue?83e9","webpack://urliving/./src/components/ShareModal.vue?23e8","webpack://urliving/./src/components/ShareModal.vue","webpack://urliving/./src/components/ShareBtn.vue","webpack://urliving/./src/components/ShareBtn.vue?f91a","webpack://urliving/./src/pages/shopContent/components/SpecCloth.vue","webpack://urliving/./src/pages/shopContent/components/SpecCloth.vue?2044","webpack://urliving/./src/pages/shopContent/components/SpecFood.vue","webpack://urliving/./src/pages/shopContent/components/SpecFood.vue?0e70","webpack://urliving/./src/pages/shopContent/components/SpecMobile.vue","webpack://urliving/./src/pages/shopContent/components/SpecMobile.vue?c1f9","webpack://urliving/./src/pages/shopContent/components/SpecMobileFood.vue","webpack://urliving/./src/pages/shopContent/components/SpecMobileFood.vue?1fb3","webpack://urliving/./src/pages/shopContent/components/Recommend.vue","webpack://urliving/./src/pages/shopContent/components/Recommend.vue?6357","webpack://urliving/./src/pages/shopContent/components/BrandRecommend.vue","webpack://urliving/./src/pages/shopContent/components/BrandRecommend.vue?5620","webpack://urliving/./f2e_lib/composable/addon/useAddon.js","webpack://urliving/./f2e_lib/components/addon/parts/AddonItems.vue","webpack://urliving/./f2e_lib/components/addon/parts/AddonItems.vue?3c97","webpack://urliving/./f2e_lib/components/addon/AddonLayout.vue?5527","webpack://urliving/./f2e_lib/components/addon/AddonLayout.vue","webpack://urliving/./src/pages/shopContent/components/AddonShop.vue","webpack://urliving/./src/components/CartDialog.vue","webpack://urliving/./src/components/CartDialog.vue?4571","webpack://urliving/./src/components/FoodDialog.vue","webpack://urliving/./src/components/FoodDialog.vue?21c4","webpack://urliving/./src/pages/shopContent/js/index.js","webpack://urliving/./src/pages/shopContent/template/index.pug","webpack://urliving/./src/pages/shopContent/template/food.pug","webpack://urliving/./f2e_lib/components/common/Image/NewImage.vue?08b8","webpack://urliving/./f2e_lib/components/common/Image/NewImage.vue","webpack://urliving/./f2e_lib/components/common/modal/Base.vue","webpack://urliving/./src/components/FoodSelect.vue?e6cb","webpack://urliving/./src/components/FoodSelect.vue","webpack://urliving/./src/components/Quantity.vue","webpack://urliving/./src/components/Select.vue?a3af","webpack://urliving/./src/components/Select.vue","webpack://urliving/./src/components/modals/AddressPopup.vue?3a94","webpack://urliving/./src/components/modals/AddressPopup.vue","webpack://urliving/./src/components/modals/ArrivalNotice.vue?7cd2","webpack://urliving/./src/components/modals/ArrivalNotice.vue","webpack://urliving/./f2e_lib/gtm/class/orderClass.js","webpack://urliving/./f2e_lib/composable/order/useCancelOrder.js","webpack://urliving/./f2e_lib/gtm/orderGTM/index.js","webpack://urliving/./src/components/modals/CancelOrder.vue","webpack://urliving/./src/components/modals/CancelOrder.vue?eeae","webpack://urliving/./src/components/modals/CartDialog.vue?af02","webpack://urliving/./src/components/modals/CartDialog.vue","webpack://urliving/./src/components/modals/Coupon.vue?3306","webpack://urliving/./src/components/modals/Coupon.vue","webpack://urliving/./src/components/modals/FaCancel.vue","webpack://urliving/./src/components/modals/FaCancel.vue?6d49","webpack://urliving/./src/components/modals/FaCheck.vue?b4fe","webpack://urliving/./src/components/modals/FaCheck.vue","webpack://urliving/./src/components/modals/FoodDialog.vue?cdfd","webpack://urliving/./src/components/modals/FoodDialog.vue","webpack://urliving/./src/components/modals/PugModal.vue?546c","webpack://urliving/./src/components/modals/PugModal.vue","webpack://urliving/./f2e_lib/composable/order/useRefundDetail.js","webpack://urliving/./src/components/modals/RefundDetail.vue","webpack://urliving/./src/components/modals/RefundDetail.vue?ed0c","webpack://urliving/./f2e_lib/composable/order/useRefundList.js","webpack://urliving/./src/components/modals/RefundList.vue","webpack://urliving/./src/components/modals/RefundList.vue?0f69","webpack://urliving/./src/components/modals/ShareModal.vue?da51","webpack://urliving/./src/components/modals/ShareModal.vue","webpack://urliving/./f2e_lib/composable/order/useShippingProgress.js","webpack://urliving/./src/components/modals/ShippingProgress.vue","webpack://urliving/./src/components/modals/ShippingProgress.vue?f6d0","webpack://urliving/./src/components/modals/SortPopup.vue?f95a","webpack://urliving/./src/components/modals/SortPopup.vue","webpack://urliving/./src/components/modals/ sync \\.vue$","webpack://urliving/webpack/bootstrap","webpack://urliving/webpack/runtime/compat get default export","webpack://urliving/webpack/runtime/define property getters","webpack://urliving/webpack/runtime/global","webpack://urliving/webpack/runtime/hasOwnProperty shorthand","webpack://urliving/webpack/runtime/make namespace object","webpack://urliving/webpack/runtime/runtimeId","webpack://urliving/webpack/runtime/jsonp chunk loading","webpack://urliving/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const generateHeaders = (otherObj) => {\r\n return {\r\n handleDefaultError: otherObj?.handleDefaultError || false,\r\n handle401: otherObj?.handle401 || false,\r\n handle500: otherObj?.handle500 || false,\r\n };\r\n};\r\n\r\nconst commonAPI = {\r\n getFavoriteAPI: (instance, getData) => instance.get(API_URL.FAVORITE, getData),\r\n postFavoriteAPI: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.FAVORITE, postData, { headers });\r\n },\r\n deleteFavoriteAPI: (instance, deleteData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.delete(API_URL.FAVORITE, { ...deleteData, headers });\r\n },\r\n getHotSearchAPI: (instance, getData) => instance.get(API_URL.HOT_SEARCH, getData),\r\n getCartInfoAPI: (instance) => instance.get(API_URL.CART_INFO),\r\n getShareAPI: (instance, id) => instance.get(`${API_URL.SHARE}/${id}`),\r\n postNewsletter: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.NEWSLETTER, postData, { headers });\r\n },\r\n};\r\n\r\nconst articleAPI = {\r\n getArticleListAPI: (instance, getData) => instance.get(API_URL.ARTICLE_LIST, getData),\r\n getArticleContentAPI: (instance, id, getData) =>\r\n instance.get(`${API_URL.ARTICLE_CONTENT}/${id}`, getData),\r\n getArticleCategoryAPI: (instance, id, getData) => instance.get(API_URL.ARTICLE_CATEGORY, getData),\r\n};\r\n\r\nconst addonAPI = {\r\n getAddonCartAPI: (instance, getData) => instance.get(API_URL.ADDON_CART, getData),\r\n getAddonEvent: (instance, getData) => instance.get(API_URL.ADDON_EVENT, getData),\r\n};\r\n\r\nconst brandAPI = {\r\n getBrandFollowAPI: (instance) => instance.get(API_URL.BRAND),\r\n postBrandFollowAPI: (instance, postData) => instance.post(API_URL.BRAND_FOLLOW, postData),\r\n deleteBrandFollowAPI: (instance, deleteData) => instance.delete(API_URL.BRAND_FOLLOW, deleteData),\r\n};\r\n\r\nconst cartAPI = {\r\n postCouponAPI: (instance, postData) => instance.post(API_URL.COUPON, postData),\r\n postCoupon2API: (instance, postData) => instance.post(API_URL.COUPON2, postData),\r\n getOrderAddressAPI: (instance, getData) => instance.get(API_URL.ORDER_ADDRESS, getData),\r\n postShoppingCartAPI: (instance, postData) => instance.post(API_URL.SHOPPING_CART, postData),\r\n getShoppingCartAPI: (instance, getData) => instance.get(API_URL.SHOPPING_CART, getData),\r\n putShoppingCartAPI: (instance, putData) => instance.put(API_URL.SHOPPING_CART, putData),\r\n getAddressBookAPI: (instance, getData) => instance.get(API_URL.ADDRESS_BOOK, getData),\r\n deleteAddressBookAPI: (instance, id) => instance.delete(`${API_URL.ADDRESS_BOOK}/${id}`),\r\n postAddressBookAPI: (instance, postData) => instance.post(API_URL.ADDRESS_BOOK, postData),\r\n getLastInvoiceAPI: (instance, getData) => instance.get(API_URL.LAST_INVOICE_SETTING, getData),\r\n getVerifyMobileCode: (instance, getData) => instance.get(API_URL.VERIFY_MOBILE_CODE, getData),\r\n getCartRecommendDataAPI: (instance, getData) => instance.get(API_URL.RECOMMEND_CART, getData),\r\n};\r\n\r\nconst shopAPI = {\r\n getSearchRecommendAPI: (instance, getData) => instance.get(API_URL.MARKET_NEW, getData),\r\n getSortConditionAPI: (instance) => instance.get(API_URL.SORT_POPUP),\r\n getDataAPI: (instance, getData) => instance.get(API_URL.MARKET_CONTENT, getData),\r\n getSeriesDataAPI: (instance, getData) => instance.get(API_URL.SERIES_MARKET_CONTENT, getData),\r\n getBrandRecommendDataAPI: (instance, getData) => instance.get(API_URL.MARKET_RECOMMEND, getData),\r\n getRecommendDataAPI: (instance, getData) => instance.get(API_URL.MARKET_RECOMMEND, getData),\r\n getMarketRecommendDataAPI: (instance, getData) => instance.get(API_URL.RECOMMEND_SHOP, getData),\r\n postNoticeAPI: (instance, postData) => instance.post(API_URL.IN_STOCK_EMAIL, postData),\r\n};\r\n\r\nconst loginAPI = {\r\n postForgetPS: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.FORGET_PS, postData, { headers });\r\n },\r\n getAccountExist: (instance, getData) => instance.get(API_URL.ACCOUNT_EXIST, getData),\r\n};\r\n\r\nconst orderAPI = {\r\n deleteOrderAPI: (instance, deleteData) => instance.delete(API_URL.ORDER, deleteData),\r\n getRefundDetailAPI: (instance, getData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.get(API_URL.REFUND_DETAIL, { ...getData, headers });\r\n },\r\n getOrderAPI: (instance, getData) => instance.get(API_URL.ORDER, getData),\r\n postRefundCalculateAPI: (instance, postData) => instance.post(API_URL.REFUND_CALCULATE, postData),\r\n getShippingFlowAPI: (instance, getData) => instance.get(API_URL.SHIPPING_FLOW, getData),\r\n getOrderAtmAPI: (instance, getData) => instance.get(API_URL.ORDER_ATM, getData),\r\n postCashInAPI: (instance, postData) => instance.post(API_URL.VC_CASH_IN, postData),\r\n};\r\n\r\nconst memberAPI = {\r\n // urliving 5%驗證\r\n getVerifyPhoneAPI: (instance, getData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.get(API_URL.VERIFY_PHONE, { ...getData, headers });\r\n },\r\n // 取回饋金歷程\r\n getBonusRecordAPI: (instance, getData) => instance.get(API_URL.BONUS_RECORDS, getData),\r\n // 提領回饋金\r\n postBonusWithDrawAPI: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.BONUS_WITHDRAW, postData, { headers });\r\n },\r\n // 上傳身分證\r\n postUserIdAPI: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.USER_IDENTIFICATION, postData, { headers });\r\n },\r\n // 回饋金-綁定銀行帳號\r\n postUserBankAccountAPI: (instance, postData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.post(API_URL.USER_BANK_ACCOUNT, postData, { headers });\r\n },\r\n getDataAnalyzeAPI: (instance, getData) => instance.get(API_URL.DATA_ANALYZE, getData),\r\n};\r\n\r\nconst faPointAPI = {\r\n getVerifyFaPointAPI: (instance, getData, otherObj) => {\r\n const headers = generateHeaders(otherObj);\r\n return instance.get(API_URL.VERIFY_FA_POINTS, { ...getData, headers });\r\n },\r\n getFaPointAPI: (instance) => instance.get(API_URL.FA_POINTS),\r\n postUnbindFaPointAPI: (instance) => instance.post(API_URL.UNBIND_FA_POINTS),\r\n};\r\n\r\nconst apiCalls = {\r\n ...commonAPI,\r\n ...articleAPI,\r\n ...addonAPI,\r\n ...brandAPI,\r\n ...cartAPI,\r\n ...shopAPI,\r\n ...loginAPI,\r\n ...orderAPI,\r\n ...memberAPI,\r\n ...faPointAPI,\r\n};\r\n\r\nconst createApi = (instance) => {\r\n const api = {};\r\n for (const [key, func] of Object.entries(apiCalls)) {\r\n api[key] = (...args) => func(instance, ...args);\r\n }\r\n return api;\r\n};\r\n\r\nexport default createApi;\r\n","import axios from 'axios';\r\nimport useAlert from '@global/composable/useAlert';\r\nimport createApi from './apiCalls'; // 引入 createApi 函數\r\n\r\nconst { alertDialog } = useAlert();\r\n\r\n// 201 無剩餘的購物金,無法進行結清\r\n// 205 商品已售完 / 贈品被移除 (因贈品不能寄海外)\r\n// 206 贈品庫存異動\r\n// 400 特定錯誤訊息\r\n// 401 尚未登入\r\n// 403 系統忙線中\r\n// 500 URL: 此E-mail已綁定第三方登入帳號\r\n\r\nconst successHandle = (res, handleDefaultError, handle401, handle500) => {\r\n switch (res.data.Code) {\r\n case 200:\r\n case 201:\r\n case 205:\r\n case 206:\r\n break;\r\n case 400:\r\n alertDialog.alert(res.data.Message);\r\n break;\r\n case 401:\r\n if (!handle401) {\r\n alertDialog.alert('請先登入');\r\n } else {\r\n alertDialog.alert('我要登入/註冊', () => {\r\n window.location.href = `/login?redirecturl=${handle401}`;\r\n });\r\n }\r\n break;\r\n case 403:\r\n alertDialog.confirm('系統忙線中,是否跳轉至首頁', () => {\r\n window.location.href = '/';\r\n });\r\n break;\r\n case 500:\r\n if (!handle500) {\r\n alertDialog.confirm('系統忙線中,是否跳轉至首頁', () => {\r\n window.location.href = '/';\r\n });\r\n }\r\n break;\r\n default:\r\n if (!handleDefaultError) {\r\n alertDialog.confirm('系統忙線中,是否跳轉至首頁', () => {\r\n window.location.href = '/';\r\n });\r\n }\r\n break;\r\n }\r\n};\r\n\r\nconst errorHandle = () => {\r\n alertDialog.confirm('系統忙線中,是否跳轉至首頁', () => {\r\n window.location.href = '/';\r\n });\r\n};\r\n\r\nconst instance = axios.create({\r\n baseURL: '',\r\n});\r\n\r\n// request 攔截\r\ninstance.interceptors.request.use(\r\n (config) => {\r\n return config;\r\n },\r\n (error) => {\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\n// response 攔截\r\ninstance.interceptors.response.use(\r\n (res) => {\r\n const { handleDefaultError } = res.config.headers;\r\n const { handle401, handle500 } = res.config.headers;\r\n successHandle(res, handleDefaultError, handle401, handle500);\r\n // 這邊可以對回來的資料先進行驗證處理,再來決定要不要把資料給吐出去\r\n return Promise.resolve(res);\r\n },\r\n (error) => {\r\n errorHandle();\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\n// 使用 createApi 函數生成 API 調用函數\r\nconst api = createApi(instance);\r\n\r\nfunction useAPIHandler() {\r\n return api;\r\n}\r\n\r\nexport default useAPIHandler;\r\n","import { ref } from 'vue';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\nconst { getFaPointAPI, postUnbindFaPointAPI } = useAxiosAPI();\r\n\r\nconst modalStore = useModalStore();\r\nconst { closeModal } = modalStore;\r\n\r\nconst dataIsLoad = ref(false);\r\nconst isBind = ref(false);\r\nconst faPoint = ref(null);\r\nconst faBindingTime = ref(null);\r\nconst faUrl = ref(null);\r\n\r\nfunction getFaPoint() {\r\n dataIsLoad.value = false;\r\n getFaPointAPI()\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (res.data.Response !== null) {\r\n isBind.value = true;\r\n faPoint.value = res.data.Response.Point;\r\n faBindingTime.value = res.data.Response.BindingTime;\r\n faUrl.value = res.data.Response.FasneyDetailUrl;\r\n }\r\n dataIsLoad.value = true;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n}\r\n\r\nfunction cancelFaPoint() {\r\n postUnbindFaPointAPI()\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n isBind.value = false;\r\n window.location.href = '/user/account';\r\n } else {\r\n closeModal();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n}\r\n\r\nfunction useFaPoint() {\r\n return {\r\n dataIsLoad,\r\n isBind,\r\n faPoint,\r\n faBindingTime,\r\n faUrl,\r\n getFaPoint,\r\n cancelFaPoint,\r\n };\r\n}\r\n\r\nexport default useFaPoint;\r\n","import { ref } from 'vue';\r\nimport $ from 'jquery';\r\n\r\nconst alerts = ref([]);\r\n/**\r\n * @description 警示跳窗\r\n * @param {String} msg 回傳訊息\r\n * @param {String} type 樣式 alert、confirm\r\n * @param {Function} callback\r\n * @param {String} dataName 抓取特定跳窗時\r\n */\r\nfunction showAlert(msg, type, callback, dataName) {\r\n // 有時有多個警示視窗\r\n alerts.value.push({ msg, type, callback, dataName });\r\n\r\n const $body = $('body');\r\n $body.css({ overflow: 'hidden' });\r\n}\r\n\r\nfunction closeAlert(index) {\r\n alerts.value.splice(index, 1);\r\n const $body = $('body');\r\n $body.css({ overflow: '', 'padding-right': '' });\r\n}\r\n\r\n// 這是為不改變太多的寫法給前、後端用的\r\nconst allAlertFn = () => {\r\n const o = {};\r\n o.alert = (msg, callback, name) => {\r\n showAlert(msg, 'alert', callback, name);\r\n };\r\n\r\n o.confirm = (msg, callback, name) => {\r\n showAlert(msg, 'confirm', callback, name);\r\n };\r\n\r\n o.special = (msg, callback, name) => {\r\n showAlert(msg, 'special', callback, name);\r\n };\r\n return o;\r\n};\r\nconst alertDialog = allAlertFn();\r\n\r\nfunction useAlert() {\r\n return { alerts, alertDialog, showAlert, closeAlert };\r\n}\r\n\r\nexport default useAlert;\r\n","/**\r\n * @description 圖片轉換網址\r\n * @param {string} imgUrl 網址\r\n * @param {string} sizeStr 尺寸\r\n */\r\nfunction imgTransfer(imgUrl, sizeStr) {\r\n if (imgUrl == null || imgUrl.length === 0) return null;\r\n\r\n const imgName = imgUrl.substring(imgUrl.lastIndexOf('/') + 1, imgUrl.length - 4);\r\n const imgExtension = imgUrl.substring(imgUrl.length - 4, imgUrl.length);\r\n const splitArr = imgUrl.split('/');\r\n const folderName = splitArr[4];\r\n const pictureContainer = splitArr[3];\r\n\r\n // gif不近縮圖\r\n if (imgUrl.indexOf('gif') !== -1) {\r\n return `https://${window.StaticImgDomain}/${pictureContainer}/${folderName}s/${imgName}${imgExtension}`;\r\n }\r\n if (imgUrl.indexOf('.mp4') !== -1) {\r\n if (imgUrl.indexOf('pics') === -1 && imgUrl.indexOf('pic') !== -1) {\r\n return imgUrl.replace('pic', 'pics');\r\n }\r\n return imgUrl;\r\n }\r\n return `https://${window.StaticImgDomain}/${pictureContainer}/${folderName}s/${imgName}${sizeStr}${imgExtension}`;\r\n}\r\n\r\nfunction useImage() {\r\n return { imgTransfer };\r\n}\r\n\r\nexport default useImage;\r\n","import { ref } from 'vue';\r\n\r\nconst messages = ref([]);\r\n\r\n/**\r\n * @description 警示訊息\r\n * @param {String} msg 回傳訊息\r\n * @param {String} cls icon樣式 (只有服飾公版有用到)\r\n * @param {Function} callback\r\n */\r\nfunction showMsg(msg, cls, callback) {\r\n messages.value.push({ msg, cls, callback });\r\n\r\n setTimeout(() => {\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n messages.value.splice(0, 1);\r\n }, 2000);\r\n}\r\n\r\n// 這是為不改變太多的寫法給前、後端用的\r\nconst allMsgFn = () => {\r\n const o = {};\r\n o.success = (msg, callback) => {\r\n showMsg(msg, 'icon-reminder-ok', callback);\r\n };\r\n\r\n o.cart = (msg, callback) => {\r\n showMsg(msg, 'icon-reminder-cart', callback);\r\n };\r\n return o;\r\n};\r\nconst messageBox = allMsgFn();\r\n\r\n// eslint-disable-next-line import/prefer-default-export\r\nfunction useMsg() {\r\n return { messages, messageBox, showMsg };\r\n}\r\n\r\nexport default useMsg;\r\n","import $ from 'jquery';\r\n\r\nconst setEnv = {\r\n myEquipment() {\r\n return (\r\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ||\r\n window.innerWidth <= 1024\r\n );\r\n },\r\n\r\n smallScreen(breakpoint) {\r\n return window.innerWidth <= (breakpoint || 480);\r\n },\r\n\r\n isLogin() {\r\n return $('.secnav-right, .login-account').attr('islogin') === 'true';\r\n },\r\n\r\n myCookie() {\r\n return navigator.cookieEnabled;\r\n },\r\n\r\n myStorage() {\r\n // ios has bug in private mode\r\n // in private mode, set localStorage will cause error\r\n const testKey = 'test';\r\n const storage = window.localStorage;\r\n try {\r\n storage.setItem(testKey, '1');\r\n storage.removeItem(testKey);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n },\r\n\r\n pageDependReact() {\r\n // 檢查頁面是否有script標籤調用React libary\r\n return Boolean($('script[src*=\"react\"]').length);\r\n },\r\n\r\n windowReload() {\r\n const windowSizeDefault = window.innerWidth > 1024;\r\n let windowSizeNew;\r\n\r\n $(window).resize(() => {\r\n windowSizeNew = window.innerWidth > 1024;\r\n\r\n if (windowSizeDefault !== windowSizeNew) {\r\n $(window).off('resize');\r\n window.location.reload();\r\n }\r\n });\r\n },\r\n};\r\n\r\nfunction useSetEnv() {\r\n return { setEnv };\r\n}\r\n\r\nexport default useSetEnv;\r\n","import Clipboard from 'clipboard';\r\nimport useAlert from '@global/composable/useAlert';\r\n\r\nconst { alertDialog } = useAlert();\r\n\r\nfunction shareToSocial(event, url) {\r\n const target = event.currentTarget;\r\n const social = target.getAttribute('data-social');\r\n\r\n setTimeout(() => {\r\n switch (social) {\r\n case 'fb':\r\n window.open(\r\n `https://www.facebook.com/sharer/sharer.php?u=${url}`,\r\n '_blank',\r\n 'toolbar=yes,location=yes,directories=no,status=no, menubar=yes,scrollbars=yes,resizable=no, copyhistory=yes,width=600,height=500',\r\n );\r\n break;\r\n case 'line':\r\n window.open(\r\n `http://line.naver.jp/R/msg/text/?${url}`,\r\n '_blank',\r\n 'toolbar=yes,location=yes,directories=no,status=no, menubar=yes,scrollbars=yes,resizable=no, copyhistory=yes,width=600,height=500',\r\n );\r\n break;\r\n case 'IG':\r\n window.open(\r\n 'https://www.instagram.com',\r\n '_blank',\r\n 'toolbar=yes,location=yes,directories=no,status=no, menubar=yes,scrollbars=yes,resizable=no, copyhistory=yes,width=600,height=500',\r\n );\r\n break;\r\n case 'twitter':\r\n window.open(\r\n `https://twitter.com/share?url=${url}`,\r\n '_blank',\r\n 'toolbar=yes,location=yes,directories=no,status=no, menubar=yes,scrollbars=yes,resizable=no, copyhistory=yes,width=600,height=500',\r\n );\r\n break;\r\n case 'whatsapp':\r\n window.open(\r\n `https://wa.me/?text=${url}`,\r\n '_blank',\r\n 'toolbar=yes,location=yes,directories=no,status=no, menubar=yes,scrollbars=yes,resizable=no, copyhistory=yes,width=600,height=500',\r\n );\r\n break;\r\n case 'wechat':\r\n window.location.href = 'https://web.wechat.com/?url=';\r\n break;\r\n default:\r\n window.location.href = '';\r\n break;\r\n }\r\n });\r\n}\r\n\r\nfunction copy(closeFunc) {\r\n const clipboard = new Clipboard('#copyLink');\r\n clipboard.on('success', (e) => {\r\n clipboard.destroy();\r\n alertDialog.alert('網址已複製。', () => {\r\n closeFunc();\r\n });\r\n });\r\n\r\n clipboard.on('error', (e) => {\r\n clipboard.destroy();\r\n alertDialog.alert('很抱歉,您的瀏覽器不支援複製網址,您可以手動複製。');\r\n });\r\n}\r\n\r\nfunction useShare() {\r\n return { shareToSocial, copy };\r\n}\r\n\r\nexport default useShare;\r\n","import Cookies from 'js-cookie';\r\n\r\nfunction utmKDetect(itemSpecInfo) {\r\n let KOLValue = '';\r\n let utmData = '';\r\n\r\n if (Cookies.get('Cookie_KOLSales')) {\r\n KOLValue = JSON.parse(Cookies.get('Cookie_KOLSales'));\r\n }\r\n\r\n if (KOLValue && KOLValue.CMIDs.includes(itemSpecInfo)) {\r\n utmData = KOLValue.Name;\r\n }\r\n\r\n return utmData || null;\r\n}\r\n\r\nfunction shareCode() {\r\n let USCValue = '';\r\n\r\n if (Cookies.get('U_SC')) {\r\n USCValue = Cookies.get('U_SC');\r\n }\r\n\r\n return USCValue || null;\r\n}\r\n\r\nfunction useUtmKDetect() {\r\n return { utmKDetect, shareCode };\r\n}\r\n\r\nexport default useUtmKDetect;\r\n","export function getRegion() {\r\n const arr = JSON.parse(window.shippingRegion);\r\n const regions = [];\r\n const provinces = [];\r\n\r\n arr.forEach((element) => {\r\n let cName = '';\r\n let eName = '';\r\n\r\n switch (element.ChineseName) {\r\n case '台灣及離島':\r\n cName = '台灣本島及離島';\r\n eName = element.EnglishName;\r\n break;\r\n case '中國':\r\n cName = '中國大陸';\r\n eName = element.EnglishName;\r\n break;\r\n case '香港':\r\n cName = '香港SAR';\r\n eName = `${element.EnglishName} SAR`;\r\n break;\r\n case '澳門':\r\n cName = '澳門SAR';\r\n eName = `${element.EnglishName} SAR`;\r\n break;\r\n default:\r\n cName = element.ChineseName;\r\n eName = element.EnglishName;\r\n break;\r\n }\r\n\r\n regions.push({\r\n name: `${cName} ${eName}`,\r\n value: element.ID,\r\n eName,\r\n });\r\n });\r\n\r\n provinces.push({ name: '請選擇省份', value: '' });\r\n\r\n arr[1].Province.forEach((element) => {\r\n provinces.push({\r\n name: element.SimpleChineseName,\r\n value: element.ID,\r\n });\r\n });\r\n\r\n return { regions, provinces };\r\n}\r\n\r\nexport function getLocalStorageByKey(key, subKey) {\r\n const sfEcDataLayerNow = JSON.parse(localStorage.getItem('sfEcDataLayer'));\r\n\r\n if (sfEcDataLayerNow && sfEcDataLayerNow[key]) {\r\n if (subKey && sfEcDataLayerNow[key][subKey]) {\r\n return sfEcDataLayerNow[key][subKey];\r\n }\r\n return sfEcDataLayerNow[key];\r\n }\r\n return undefined;\r\n}\r\n\r\nexport const paymentOptions = {\r\n 1: '信用卡線上刷卡',\r\n 2: '貨到付款(宅配)',\r\n 3: '貨到付款(超商)',\r\n 4: '銀聯卡',\r\n 5: 'ATM',\r\n 6: '街口支付',\r\n 7: 'LinePay',\r\n 8: '實體門市付款',\r\n 9: 'Fasney',\r\n};\r\n\r\nexport const deliveryOptions = {\r\n 1: '宅配',\r\n 2: '7-11超商取貨',\r\n 3: '全家、萊爾富、OK超商取貨',\r\n 4: '海外配送',\r\n 5: '員購自取',\r\n 6: '門市取貨 (for Cody)',\r\n 7: '全家超商取貨',\r\n};\r\n\r\nexport function fireCartCheckoutGAEvent(parameters) {\r\n const { value, coupon, items } = parameters;\r\n\r\n if (value === undefined || items === undefined) return;\r\n\r\n const beginCheckoutDataLayer = {\r\n event: 'begin_checkout',\r\n currency: 'TWD',\r\n value,\r\n coupon,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(beginCheckoutDataLayer);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireAddPaymentInfoGAEvent(parameters) {\r\n const { coupon, items, payType, value } = parameters;\r\n\r\n if (items === undefined || payType === undefined || value === undefined) {\r\n return;\r\n }\r\n\r\n const addPaymentInfoDataLayer = {\r\n event: 'add_payment_info',\r\n currency: 'TWD',\r\n value,\r\n coupon,\r\n payment_type: payType,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(addPaymentInfoDataLayer);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireAddShippingInfoGAEvent(parameters) {\r\n const { coupon, items, shippingTier, value } = parameters;\r\n\r\n if (items === undefined || shippingTier === undefined || value === undefined) {\r\n return;\r\n }\r\n\r\n const addShippingInfoDataLayer = {\r\n event: 'add_shipping_info',\r\n currency: 'TWD',\r\n value,\r\n coupon,\r\n shippingTier,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(addShippingInfoDataLayer);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function firePurchaseEvent(parameters) {\r\n const { coupon, items, shipping, transactionID, value } = parameters;\r\n\r\n if (items === undefined || transactionID === undefined || value === undefined) return;\r\n\r\n const purchaseDataLayer = {\r\n event: 'purchase',\r\n currency: 'TWD',\r\n transaction_id: transactionID,\r\n value,\r\n coupon,\r\n shipping,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(purchaseDataLayer);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function deleteLocalStorageByKey(key) {\r\n if (localStorage.getItem(key)) {\r\n localStorage.removeItem(key);\r\n }\r\n}\r\n\r\nexport function fireEventAddToWishList(itemInfo) {\r\n const { value, items } = itemInfo;\r\n\r\n if (!value) return;\r\n\r\n const dataLayerObj = {\r\n event: 'add_to_wishlist',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireLoginGAEvent(loginInfo) {\r\n const { actionType, loginType } = loginInfo;\r\n\r\n const dataLayerObj = {\r\n event: 'login',\r\n method: loginType,\r\n Action_Type: actionType,\r\n Login_Type: loginType,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireRegisterGAEvent(registerInfo) {\r\n const { actionType, registerType } = registerInfo;\r\n\r\n const dataLayerObj = {\r\n event: 'sign_up',\r\n method: registerType,\r\n Action_Type: actionType,\r\n Register_Type: registerType,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireViewItemListGAEvent(parameters) {\r\n const { itemListName, items } = parameters;\r\n\r\n const dataLayerObj = {\r\n event: 'view_item_list',\r\n item_list_name: itemListName,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireAddToCartGAEvent(productInfo) {\r\n const { value, items } = productInfo;\r\n\r\n if (!value || !items) return;\r\n\r\n const dataLayerObj = {\r\n event: 'add_to_cart',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireSearchGAEvent(parameters) {\r\n const { searchType, searchContent } = parameters;\r\n\r\n if (!searchType || !searchType) return;\r\n\r\n const dataLayerObj = {\r\n event: 'search',\r\n search_term: searchContent, // GA4 文件中\r\n Search_Type: searchType, // 外部廠商自己傳的\r\n Search_Content: searchContent, // 外部廠商自己傳的\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireSelectItemGAEvent(parameters) {\r\n const { itemListName, items } = parameters;\r\n\r\n if (!itemListName || items.length === 0) return;\r\n\r\n const dataLayerObj = {\r\n event: 'select_item',\r\n item_list_name: itemListName,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireRemoveFromCartGAEvent(parameters) {\r\n const { value, items } = parameters;\r\n\r\n if (!value || items.length === 0) return;\r\n\r\n const dataLayerObj = {\r\n event: 'remove_from_cart',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireEventRecommendedGoods(parameters) {\r\n const dataLayerObj = {\r\n event: 'recommended_goods',\r\n ...parameters,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireRefundGAEvent(parameters) {\r\n const { transactionID, value, shipping, items } = parameters;\r\n\r\n const dataLayerObj = {\r\n event: 'refund',\r\n currency: 'TWD',\r\n transaction_id: transactionID,\r\n value,\r\n shipping,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireMemberFavoriteCartGAEvent(parameters) {\r\n const { productId, productName, addFavoriteItem } = parameters;\r\n\r\n const dataLayerObj = {\r\n event: 'member',\r\n Member_List: '會員收藏清單',\r\n hash_ID: window.Email || undefined,\r\n Product_Id: productId,\r\n Product_Name: productName,\r\n Favorite_Add_To_Cart: addFavoriteItem,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireRecommendViewItemListGAEvent(payload) {\r\n const { itemListName, items } = payload;\r\n\r\n const dataLayerObj = {\r\n event: 'view_item_list',\r\n item_list_name: itemListName,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireEventPromotionBanner(payload) {\r\n const { promotionTargetUrl, promotionItems, promotionCreativeName, promotionCreativeSlot } =\r\n payload;\r\n\r\n const dataLayerObj = {\r\n event: 'Promotion_Banner',\r\n promotionTargrtUrl: promotionTargetUrl,\r\n promotionItems,\r\n promotionCreativeName,\r\n promotionCreativeSlot,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n}\r\n\r\nexport function fireCustomProductViewEvent(payload) {\r\n const { itemCategory, itemCategory2, itemCategory3, itemID, itemName } = payload;\r\n\r\n const eventDataLayer = {\r\n event: 'Product_View',\r\n Head_Button: itemCategory,\r\n Category_Button: itemCategory2,\r\n SubCategory_Button: itemCategory3,\r\n Product_Id: itemID,\r\n Product_Name: itemName,\r\n hash_ID: window.Email,\r\n };\r\n\r\n window.dataLayer.push(eventDataLayer);\r\n}\r\n\r\nexport function fireProductViewGAEvent(payload) {\r\n const { items, value } = payload;\r\n\r\n if (!value) return;\r\n\r\n const dataLayerObj = {\r\n event: 'view_item',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n\r\nexport function fireListCategoryPushEvent(payload) {\r\n window.dataLayer.push({\r\n category: payload,\r\n });\r\n}\r\n\r\nexport function fireSearchCategoryPushEvent(payload) {\r\n window.dataLayer.push({\r\n category: payload,\r\n });\r\n}\r\n\r\nexport function fireViewCartEvent(parameters) {\r\n const { value, items } = parameters;\r\n\r\n if (value === undefined || items === undefined) return;\r\n\r\n const dataLayerObj = {\r\n event: 'view_cart',\r\n currency: 'TWD',\r\n value,\r\n items,\r\n };\r\n\r\n window.dataLayer.push(dataLayerObj);\r\n window.dataLayer.push({ items: null });\r\n}\r\n","import {\r\n fireAddToCartGAEvent,\r\n fireMemberFavoriteCartGAEvent,\r\n fireViewCartEvent,\r\n} from '@global/gtm/base';\r\n\r\n/**\r\n * 商品資訊物件\r\n * @typedef {Object} productInfo\r\n * @property {string} item_id - 商品編號\r\n * @property {string} item_name - 商品名稱\r\n * @property {number} index - 商品索引值\r\n * @property {string} affiliation - 商品顏色\r\n * @property {string} [item_brand] - 商品尺寸\r\n * @property {string} item_list_name - 加入商品的頁面\r\n * @property {number} price - 商品價格\r\n * @property {number} quantity - 商品數量\r\n * @property {string} item_variant - 商品貨號\r\n */\r\n\r\nexport function fireAddToCart(productInfo) {\r\n const itemCategory = window.ItemCategories || undefined;\r\n\r\n productInfo.item_category = itemCategory && itemCategory[0] ? itemCategory[0] : '';\r\n productInfo.item_category2 = itemCategory && itemCategory[1] ? itemCategory[1] : '';\r\n productInfo.item_category3 = itemCategory && itemCategory[2] ? itemCategory[2] : '';\r\n productInfo.item_category4 = itemCategory && itemCategory[3] ? itemCategory[3] : '';\r\n\r\n fireAddToCartGAEvent({\r\n value: productInfo.price,\r\n items: [productInfo],\r\n });\r\n\r\n // 為了購物車第一步需要商品類別資料\r\n const ECDataLayer = JSON.parse(localStorage.getItem('ECDataLayer'));\r\n\r\n if (ECDataLayer) {\r\n const alreadyExist = ECDataLayer.find((item) => {\r\n return item.customMarketID === productInfo.item_id;\r\n });\r\n\r\n if (!alreadyExist) {\r\n ECDataLayer.push({\r\n customMarketID: productInfo.item_id || '',\r\n itemCategory: window.ItemCategories || [],\r\n });\r\n\r\n localStorage.setItem('ECDataLayer', JSON.stringify(ECDataLayer));\r\n }\r\n } else {\r\n localStorage.setItem(\r\n 'ECDataLayer',\r\n JSON.stringify([\r\n {\r\n customMarketID: productInfo.item_id || '',\r\n itemCategory: window.ItemCategories || [],\r\n },\r\n ]),\r\n );\r\n }\r\n}\r\n\r\nexport function fireMemberFavoriteAddToCart(productInfo) {\r\n const itemCategory = window.ItemCategories || undefined;\r\n const { productId, productName, addFavoriteItem } = productInfo;\r\n\r\n if (itemCategory) {\r\n addFavoriteItem.item_category = window.ItemCategories[0] || '';\r\n addFavoriteItem.item_category2 = window.ItemCategories[1] || '';\r\n addFavoriteItem.item_category3 = window.ItemCategories[2] || '';\r\n addFavoriteItem.item_category4 = window.ItemCategories[3] || '';\r\n }\r\n\r\n fireMemberFavoriteCartGAEvent({\r\n productId,\r\n productName,\r\n addFavoriteItem,\r\n });\r\n}\r\n\r\nexport function fireViewMiniCart(minCartInfo) {\r\n const { generalMarketProducts, refrigerationMarketProducts, freezingMarketProducts } =\r\n minCartInfo;\r\n\r\n const combineArray = [\r\n ...generalMarketProducts,\r\n ...refrigerationMarketProducts,\r\n ...freezingMarketProducts,\r\n ];\r\n const userItems = [];\r\n let price = 0;\r\n\r\n combineArray.forEach((product, index) => {\r\n price += product.SellPrice;\r\n\r\n const item = {\r\n index,\r\n item_id: product.CustomMarketID,\r\n item_name: product.Name,\r\n item_category: undefined,\r\n item_category2: undefined,\r\n affiliation: product.ColorName,\r\n item_brand: product.Size,\r\n quantity: product.Count,\r\n price: product.SellPrice,\r\n item_variant: product.BarCode,\r\n item_list_name: '購物車',\r\n };\r\n\r\n userItems.push(item);\r\n });\r\n\r\n fireViewCartEvent({\r\n value: price,\r\n items: userItems,\r\n });\r\n}\r\n","const gtmTrace = {\r\n addToCart(data) {\r\n window.dataLayer.push({\r\n event: 'addToCart',\r\n ecommerce: {\r\n currencyCode: 'TWD',\r\n add: {\r\n products: [\r\n {\r\n name: typeof htmlDecode !== 'undefined' ? window.htmlDecode(data.name) : data.name,\r\n id: data.id,\r\n price: data.price,\r\n sale_price: data.sale_price,\r\n img_url: data.img_url,\r\n product_url: data.product_url,\r\n variant: data.color,\r\n quantity: data.count,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n },\r\n removeFromCart(data) {\r\n window.dataLayer.push({\r\n event: 'removeFromCart',\r\n ecommerce: {\r\n remove: {\r\n products: [\r\n {\r\n name: typeof htmlDecode !== 'undefined' ? window.htmlDecode(data.name) : data.name,\r\n id: data.id,\r\n price: data.price,\r\n sale_price: data.sale_price,\r\n img_url: data.img_url,\r\n product_url: data.product_url,\r\n variant: data.color,\r\n quantity: data.count,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n },\r\n checkout(data) {\r\n window.dataLayer.push({\r\n event: 'checkout',\r\n ecommerce: {\r\n checkout: {\r\n products: [\r\n {\r\n name: typeof htmlDecode !== 'undefined' ? window.htmlDecode(data.name) : data.name,\r\n id: data.id,\r\n price: data.price,\r\n sale_price: data.sale_price,\r\n img_url: data.img_url,\r\n product_url: data.product_url,\r\n variant: data.color,\r\n quantity: data.count,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n },\r\n};\r\n\r\nexport default gtmTrace;\r\n","import { computed, ref } from 'vue';\r\n\r\nimport { defineStore } from 'pinia';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\n\r\nconst { getHotSearchAPI, getCartInfoAPI } = useAxiosAPI();\r\n\r\nconst useMiniCartStore = defineStore('miniCart', () => {\r\n const dataIsLoad = ref(false);\r\n const totalCount = ref(0); // 所有溫藏商品總數\r\n const generalCount = ref(0); // 常溫總數量\r\n const refrigerationCount = ref(0); // 冷藏總數量\r\n const freezingCount = ref(0); // 冷凍總數量\r\n const generalSpotGoodsCount = ref(0); // 一般常溫現貨數量\r\n const refrigerationSpotGoodsCount = ref(0); // 冷藏現貨數量\r\n const freezingSpotGoodsCount = ref(0); // 冷凍現貨數量\r\n const generalMarketProducts = ref([]);\r\n const refrigerationMarketProducts = ref([]);\r\n const freezingMarketProducts = ref([]);\r\n const temperaturesData = ref([]);\r\n const count = ref(0); // 所有商品總數(for 一頁式)\r\n const hotSearch = ref([]);\r\n const hotLoad = ref(false);\r\n\r\n const isOnlyOneTemp = computed(() => {\r\n let hasProductTempCount = 0;\r\n if (generalCount.value > 0) {\r\n hasProductTempCount += 1;\r\n }\r\n if (refrigerationCount.value > 0) {\r\n hasProductTempCount += 1;\r\n }\r\n if (freezingCount.value > 0) {\r\n hasProductTempCount += 1;\r\n }\r\n return hasProductTempCount === 1;\r\n });\r\n\r\n function changeCartTotalCount(itemArray) {\r\n totalCount.value = itemArray.data.Response.TotalCount;\r\n count.value = itemArray.data.Response.TotalCount;\r\n temperaturesData.value = itemArray.data.Response.Temperatures;\r\n // 溫層ID (0: 常溫,1: 冷藏,2: 常溫)\r\n itemArray.data.Response.Temperatures.forEach((item) => {\r\n if (item.ID === 0) {\r\n generalCount.value = item.Count;\r\n generalMarketProducts.value = item.Markets;\r\n generalSpotGoodsCount.value = item.InstockCount;\r\n } else if (item.ID === 1) {\r\n refrigerationCount.value = item.Count;\r\n refrigerationMarketProducts.value = item.Markets;\r\n refrigerationSpotGoodsCount.value = item.InstockCount;\r\n } else {\r\n freezingCount.value = item.Count;\r\n freezingMarketProducts.value = item.Markets;\r\n freezingSpotGoodsCount.value = item.InstockCount;\r\n }\r\n });\r\n dataIsLoad.value = true;\r\n }\r\n\r\n function getCartInfo() {\r\n dataIsLoad.value = false;\r\n getCartInfoAPI()\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n changeCartTotalCount(res);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n function getHotSearch() {\r\n hotLoad.value = false;\r\n\r\n getHotSearchAPI({\r\n params: {\r\n period: 'range',\r\n date: 'last3',\r\n limit: 10,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n const hotArray = [];\r\n for (let i = 0; i < res.data.Response.length; i++) {\r\n hotArray.push(res.data.Response[i]);\r\n }\r\n hotSearch.value = hotArray;\r\n hotLoad.value = true;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n return {\r\n dataIsLoad,\r\n totalCount,\r\n generalCount,\r\n refrigerationCount,\r\n freezingCount,\r\n generalMarketProducts,\r\n refrigerationMarketProducts,\r\n freezingMarketProducts,\r\n temperaturesData,\r\n count,\r\n hotSearch,\r\n hotLoad,\r\n isOnlyOneTemp,\r\n changeCartTotalCount,\r\n getCartInfo,\r\n getHotSearch,\r\n };\r\n});\r\n\r\nexport default useMiniCartStore;\r\n","import { computed, ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\n\r\nconst useModalStore = defineStore('modal', () => {\r\n const isShow = ref(false);\r\n const modalName = ref('');\r\n const modalData = ref(null);\r\n\r\n function openModal(component, data) {\r\n isShow.value = true;\r\n modalName.value = component;\r\n modalData.value = data;\r\n document.body.classList.add('modal-open');\r\n }\r\n\r\n function closeModal() {\r\n isShow.value = false;\r\n\r\n setTimeout(() => {\r\n modalName.value = '';\r\n modalData.value = null;\r\n document.body.classList.remove('modal-open');\r\n }, 500);\r\n }\r\n\r\n return {\r\n modalData,\r\n modalName,\r\n isShow,\r\n\r\n openModal,\r\n closeModal,\r\n };\r\n});\r\n\r\nexport default useModalStore;\r\n","import { ref } from 'vue';\r\nimport 'bootstrap';\r\nimport useSetEnv from '@global/composable/useSetEnv';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\nconst { setEnv } = useSetEnv();\r\nconst { getSeriesDataAPI, getDataAPI } = useAxiosAPI();\r\nconst modalStore = useModalStore();\r\nconst { closeModal, openModal } = modalStore;\r\n\r\n// 一般賣場\r\nconst dialogData = ref({\r\n isOpen: false,\r\n allData: {},\r\n selectedID: '',\r\n dataLoad: false,\r\n listName: '',\r\n});\r\nconst isMobile = setEnv.myEquipment();\r\n\r\n/**\r\n * @description 展開商品詳細資訊\r\n * @param {String} id 賣場ID\r\n */\r\nfunction openDialog(id, listName = '') {\r\n dialogData.value.listName = listName;\r\n getDataAPI({\r\n params: {\r\n CustomMarketID: id,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (!isMobile) {\r\n openModal('CartDialog');\r\n } else {\r\n dialogData.value.isOpen = true;\r\n }\r\n\r\n dialogData.value.allData = res.data.Response;\r\n dialogData.value.selectedID = res.data.Response.ColorID;\r\n dialogData.value.dataLoad = true;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n}\r\n\r\nfunction changeOpen(boolean) {\r\n if (!isMobile) {\r\n closeModal();\r\n } else {\r\n dialogData.value.isOpen = boolean;\r\n }\r\n dialogData.value.dataLoad = boolean;\r\n}\r\n\r\n// 系列賣場\r\nconst foodDialogData = ref({\r\n isOpen: false,\r\n allData: {},\r\n dataLoad: false,\r\n listName: '',\r\n});\r\n\r\n/**\r\n * @description 展開商品詳細資訊\r\n * @param {String} id 賣場ID\r\n * @param {String} listName GTM 用\r\n */\r\nfunction openFoodDialog(id, listName = '') {\r\n foodDialogData.value.listName = listName;\r\n getSeriesDataAPI({\r\n params: {\r\n MarketID: id,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (!isMobile) {\r\n openModal('FoodDialog');\r\n } else {\r\n foodDialogData.value.isOpen = true;\r\n }\r\n\r\n foodDialogData.value.allData = res.data.Response;\r\n foodDialogData.value.dataLoad = true;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n}\r\n\r\nfunction changeFoodOpen(boolean) {\r\n foodDialogData.value.isOpen = boolean;\r\n}\r\n\r\n// eslint-disable-next-line import/prefer-default-export\r\nfunction useDialog() {\r\n return { dialogData, openDialog, changeOpen, foodDialogData, openFoodDialog, changeFoodOpen };\r\n}\r\n\r\nexport default useDialog;\r\n","export const productInfoEnum = {\r\n name: '品名',\r\n productDetails: '商品詳情',\r\n productSize: '商品尺寸',\r\n productDescription: '商品介紹',\r\n otherInformation: '其他資訊',\r\n};\r\n\r\nexport const btnDescriptionEnum = {\r\n general: '請選擇尺寸',\r\n addBag: 'ADD TO BAG',\r\n soldOut: 'SOLD OUT',\r\n preShow: 'COMING SOON',\r\n notice: '寄送到貨通知',\r\n};\r\n\r\nexport const btnFoodDescriptionEnum = {\r\n general: '請選擇規格',\r\n preShow: 'COMING SOON',\r\n addBag: 'ADD TO BAG',\r\n soldOut: 'SOLD OUT',\r\n notice: '寄送到貨通知',\r\n};\r\n\r\nexport const btnStyleEnum = {\r\n disabled: 'disabled',\r\n activeMail: 'active-mail',\r\n active: 'active',\r\n};\r\n\r\nexport const addToCartEnum = {\r\n addSuccess: '商品加入購物車',\r\n};\r\n","export default class ProductGTM {\r\n constructor(productInfo) {\r\n this.productInfo = productInfo;\r\n }\r\n\r\n getProductInfo() {\r\n const { affiliation, item_brand, customMarketID, eventName, name, price } = this.productInfo;\r\n const newStringID = String(customMarketID).replace('SZ_', '');\r\n const hasCategory = window.ItemCategories || [];\r\n\r\n const item = {\r\n affiliation,\r\n coupon: '',\r\n index: 0,\r\n item_brand: item_brand || '',\r\n item_category: hasCategory[0] || '',\r\n item_category2: hasCategory[1] || '',\r\n item_category3: hasCategory[2] || '',\r\n item_category4: hasCategory[3] || '',\r\n item_category5: hasCategory[4] || '',\r\n item_id: newStringID,\r\n item_name: name,\r\n item_variant: '',\r\n price,\r\n quantity: 1,\r\n promotion_name: eventName,\r\n };\r\n\r\n return item;\r\n }\r\n\r\n getProductPrice() {\r\n const { price } = this.productInfo;\r\n\r\n return price;\r\n }\r\n\r\n /**\r\n * 將推薦資料整理成 GA 要的格式\r\n * @param {object} payload - The payload containing the recommended data and item list name.\r\n * @param {array} payload.recommendedData - 推薦商品資料\r\n * @param {string} payload.itemListName - 推薦商品列表名稱\r\n * @returns {array} - GA 要的資料格式\r\n */\r\n static mapRecommendData(payload) {\r\n const { recommendedData, itemListName } = payload;\r\n\r\n const allRecommendArray = recommendedData.map((item, index) => {\r\n return {\r\n index,\r\n item_id: item.Colors[0].CustomMarketID.split('SZ')[0],\r\n item_name: item.Name,\r\n item_list_name: itemListName,\r\n price: item.SellPrice,\r\n };\r\n });\r\n\r\n return allRecommendArray;\r\n }\r\n\r\n /**\r\n * 將推薦資料整理成 GA 要的格式 (賣場相同分類)\r\n * @param {object} payload - The payload containing the recommended data and item list name.\r\n * @param {array} payload.recommendedData - 推薦商品資料\r\n * @param {string} payload.itemListName - 推薦商品列表名稱\r\n * @returns {array} - GA 要的資料格式\r\n */\r\n static mapRecommendDataByCategory(payload) {\r\n const { recommendedData, itemListName } = payload;\r\n\r\n const allRecommendArray = recommendedData.map((item, index) => {\r\n return {\r\n index,\r\n item_id: item.customMarketID.split('SZ')[0],\r\n item_name: item.name,\r\n item_list_name: itemListName,\r\n price: item.sellPrice,\r\n };\r\n });\r\n\r\n return allRecommendArray;\r\n }\r\n\r\n static mapRecommendViewData(recommendPayload) {\r\n const { itemListName, recommendData } = recommendPayload;\r\n const recommendArray = [];\r\n\r\n recommendData.forEach((recommendItem, index) => {\r\n const recommendObj = {\r\n index,\r\n item_id: recommendItem.Colors[0].CustomMarketID.split('SZ')[0],\r\n item_name: recommendItem.Name,\r\n item_list_name: itemListName,\r\n price: recommendItem.SellPrice,\r\n quantity: 1,\r\n affiliation: recommendItem.Colors[0].ColorName,\r\n item_brand: '',\r\n item_variant: '',\r\n };\r\n\r\n recommendArray.push(recommendObj);\r\n });\r\n\r\n return recommendArray;\r\n }\r\n\r\n /**\r\n * 使用分類去做推薦的推薦商品\r\n */\r\n static mapRecommendViewDataByCategory(recommendPayload) {\r\n const { itemListName, recommendData } = recommendPayload;\r\n\r\n const recommendArray = recommendData.map((item, index) => {\r\n return {\r\n index,\r\n item_id: item.customMarketID.split('SZ')[0],\r\n item_name: item.name,\r\n item_list_name: itemListName,\r\n price: item.sellPrice,\r\n quantity: 1,\r\n affiliation: item.color,\r\n item_brand: '',\r\n item_variant: '',\r\n };\r\n });\r\n\r\n return recommendArray;\r\n }\r\n\r\n /**\r\n * 使用條碼去做推薦的推薦商品\r\n */\r\n static mapRecommendViewDataByBarcode(recommendPayload) {\r\n const { itemListName, recommendData } = recommendPayload;\r\n const hasCategory = window.ItemCategories || [];\r\n\r\n const recommendArray = recommendData.map((item, index) => {\r\n return {\r\n index,\r\n item_id: item.CustomMarketID.split('SZ')[0],\r\n item_name: item.Name,\r\n item_list_name: itemListName,\r\n price: item.SellPrice,\r\n quantity: 1,\r\n affiliation: item.ColorName,\r\n item_brand: '',\r\n item_variant: '',\r\n item_category: hasCategory[0] || '',\r\n item_category2: hasCategory[1] || '',\r\n item_category3: hasCategory[2] || '',\r\n item_category4: hasCategory[3] || '',\r\n item_category5: hasCategory[4] || '',\r\n };\r\n });\r\n\r\n return recommendArray;\r\n }\r\n\r\n /**\r\n * 將推薦資料整理成 GA 要的格式 (條碼分類)\r\n * @param {object} payload - The payload containing the recommended data and item list name.\r\n * @param {array} payload.recommendedData - 推薦商品資料\r\n * @param {string} payload.itemListName - 推薦商品列表名稱\r\n * @returns {array} - GA 要的資料格式\r\n */\r\n static mapRecommendDataByBarcode(payload) {\r\n const { recommendedData, itemListName } = payload;\r\n\r\n const allRecommendArray = recommendedData.map((item, index) => {\r\n return {\r\n index,\r\n item_id: item.CustomMarketID.split('SZ')[0],\r\n item_name: item.Name,\r\n item_list_name: itemListName,\r\n price: item.SellPrice,\r\n };\r\n });\r\n\r\n return allRecommendArray;\r\n }\r\n}\r\n","import {\r\n fireEventRecommendedGoods,\r\n fireRecommendViewItemListGAEvent,\r\n fireProductViewGAEvent,\r\n fireCustomProductViewEvent,\r\n} from '@global/gtm/base';\r\nimport ProductGTM from '@global/gtm/class/productClass';\r\n\r\n/**\r\n * 商品資訊物件\r\n * @typedef {Object} productInfo\r\n * @property {string} customMarketID - 商品客製化賣場 ID\r\n * @property {string} name - 商品名稱\r\n * @property {number} price - 商品價格\r\n * @property {string} affiliation - 商品顏色\r\n * @property {string} eventName - 活動名稱.\r\n */\r\n\r\nexport function fireShopContentView(productInfo) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const productGTM = new ProductGTM(productInfo);\r\n const productItemInfo = productGTM.getProductInfo();\r\n const price = productGTM.getProductPrice();\r\n\r\n fireCustomProductViewEvent({\r\n itemCategory: productItemInfo.item_category,\r\n itemCategory2: productItemInfo.item_category2,\r\n itemCategory3: productItemInfo.item_category3,\r\n itemID: productItemInfo.item_id,\r\n itemName: productItemInfo.item_name,\r\n });\r\n\r\n fireProductViewGAEvent({\r\n items: [productItemInfo],\r\n value: price,\r\n });\r\n}\r\n\r\n/**\r\n * Fires a Google Analytics event when a recommendation is clicked.\r\n *\r\n * @param {Object} payload - The payload containing information about the recommendation.\r\n * @param {array} payload.recommendedData - 推薦商品資料\r\n * @param {string} payload.recommendedMove - 點擊推薦商品的方向\r\n * @param {string} payload.recommendedType - 推薦商品的位置\r\n * @param {string} payload.productId - 主商品的客製化賣場 ID\r\n * @param {string} payload.productName - 主商品的名稱\r\n * @param {string} payload.itemListName - 推薦商品 list 名稱\r\n */\r\nexport function fireRecommendClickGAEvent(payload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const transferData = ProductGTM.mapRecommendData(payload);\r\n\r\n fireEventRecommendedGoods({\r\n recommendedType: payload.recommendedType,\r\n recommendedMove: payload.recommendedMove,\r\n recommendedPage: window.location.pathname,\r\n recommendedProduct: transferData,\r\n productId: payload.productId.replace('SZ_', '') || '',\r\n productName: payload.productName,\r\n });\r\n}\r\n\r\n/**\r\n * Fires a Google Analytics event when a recommendation is clicked.\r\n *\r\n * @param {Object} payload - The payload containing information about the recommendation.\r\n * @param {array} payload.recommendedData - 推薦商品資料\r\n * @param {string} payload.recommendedMove - 點擊推薦商品的方向\r\n * @param {string} payload.recommendedType - 推薦商品的位置\r\n * @param {string} payload.productId - 主商品的客製化賣場 ID\r\n * @param {string} payload.productName - 主商品的名稱\r\n * @param {string} payload.itemListName - 推薦商品 list 名稱\r\n */\r\nexport function fireRecommendByCategoryClickEvent(payload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const transferData = ProductGTM.mapRecommendDataByCategory(payload);\r\n\r\n fireEventRecommendedGoods({\r\n recommendedType: payload.recommendedType,\r\n recommendedMove: payload.recommendedMove,\r\n recommendedPage: window.location.pathname,\r\n recommendedProduct: transferData,\r\n productId: payload.productId.split('SZ')[0],\r\n productName: payload.productName,\r\n });\r\n}\r\n\r\nexport function fireRecommendViewGAEvent(payload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const recommendArray = ProductGTM.mapRecommendViewData(payload);\r\n\r\n fireRecommendViewItemListGAEvent({\r\n itemListName: payload.itemListName,\r\n items: recommendArray,\r\n });\r\n}\r\n\r\nexport function fireRecommendViewGAEventByCategory(payload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const recommendArray = ProductGTM.mapRecommendViewDataByCategory(payload);\r\n\r\n fireRecommendViewItemListGAEvent({\r\n itemListName: payload.itemListName,\r\n items: recommendArray,\r\n });\r\n}\r\n\r\nexport function fireRecommendViewGAEventByBarcode(payload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const recommendArray = ProductGTM.mapRecommendViewDataByBarcode(payload);\r\n\r\n fireRecommendViewItemListGAEvent({\r\n itemListName: payload.itemListName,\r\n items: recommendArray,\r\n });\r\n}\r\n\r\nexport function fireRecommendClickEventByBarcode(payload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const transferData = ProductGTM.mapRecommendDataByBarcode(payload);\r\n\r\n fireEventRecommendedGoods({\r\n recommendedType: payload.recommendedType,\r\n recommendedMove: payload.recommendedMove,\r\n recommendedPage: window.location.pathname,\r\n recommendedProduct: transferData,\r\n productId: payload.productId.replace('SZ_', ''),\r\n productName: payload.productName,\r\n });\r\n}\r\n","import { fireEventAddToWishList } from '@global/gtm/base';\r\n\r\nclass WishListGTM {\r\n static getClickItemInfo(itemInfo) {\r\n const { id, name, sellPrice, color, size } = itemInfo;\r\n const hasCategory = window.ItemCategories || undefined;\r\n const newStringID = String(id).replace('SZ_', '');\r\n\r\n const item = {\r\n affiliation: color,\r\n index: 0,\r\n item_brand: size,\r\n item_category: hasCategory && hasCategory[0] ? hasCategory[0] : '',\r\n item_category2: hasCategory && hasCategory[1] ? hasCategory[1] : '',\r\n item_category3: hasCategory && hasCategory[2] ? hasCategory[2] : '',\r\n item_category4: hasCategory && hasCategory[3] ? hasCategory[3] : '',\r\n item_category5: hasCategory && hasCategory[4] ? hasCategory[4] : '',\r\n item_id: newStringID,\r\n item_name: name,\r\n item_variant: '',\r\n price: sellPrice,\r\n quantity: 1,\r\n };\r\n\r\n return item;\r\n }\r\n}\r\n\r\n/**\r\n * @param {string} payload.href 商品連結\r\n * @param {string} payload.name 商品名稱\r\n * @param {number} payload.sellPrice 商品價格\r\n * @param {number} payload.color 商品顏色\r\n * @param {number} payload.size 商品尺寸\r\n */\r\nexport default function fireWishlistEvent(payload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const ga4Parameters = WishListGTM.getClickItemInfo(payload);\r\n\r\n fireEventAddToWishList({\r\n value: ga4Parameters.price,\r\n items: [ga4Parameters],\r\n });\r\n}\r\n","import { ref, computed } from 'vue';\r\nimport $ from 'jquery';\r\n\r\nimport gtmTrace from '@global/gtm/trace';\r\nimport { fireShopContentView } from '@global/gtm/product';\r\nimport { fireAddToCart } from '@global/gtm/common';\r\nimport fireWishlistEvent from '@global/gtm/wishlist';\r\n\r\nimport { defineStore } from 'pinia';\r\nimport useMiniCartStore from '@global/stores/useMiniCartStore';\r\n\r\nimport useUtmKDetect from '@global/composable/useUtmKDetect';\r\nimport useAlert from '@global/composable/useAlert';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\nimport { btnDescriptionEnum, btnFoodDescriptionEnum, btnStyleEnum } from '@/models/productEnum';\r\n\r\nconst {\r\n postFavoriteAPI,\r\n deleteFavoriteAPI,\r\n getSeriesDataAPI,\r\n getDataAPI,\r\n getBrandRecommendDataAPI,\r\n getRecommendDataAPI,\r\n getMarketRecommendDataAPI,\r\n postShoppingCartAPI,\r\n} = useAxiosAPI();\r\n\r\nconst { utmKDetect, shareCode } = useUtmKDetect();\r\nconst { alertDialog } = useAlert();\r\n\r\nconst useShopContentStore = defineStore('shopContent', () => {\r\n const miniCartStore = useMiniCartStore();\r\n const { getCartInfo } = miniCartStore;\r\n const modalStore = useModalStore();\r\n const { openModal } = modalStore;\r\n\r\n const dataIsLoad = ref(false);\r\n const itemDatas = ref({});\r\n const pattern = window.Pattern;\r\n const selectedDataID = ref(0);\r\n const selectedFoodSpec = ref([]);\r\n const userSelectFlavor = ref({});\r\n const btnStyleGenerate = ref(btnStyleEnum.disabled);\r\n const btnDescriptionGenerate = ref(btnDescriptionEnum.general);\r\n const pzBuyNow = ref(btnDescriptionEnum.general);\r\n\r\n function getData() {\r\n dataIsLoad.value = false;\r\n if (pattern === 2) {\r\n getSeriesDataAPI({\r\n params: {\r\n MarketID: window.MarketID,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n itemDatas.value = res.data.Response;\r\n\r\n setSelectedFood({ foodFlavors: res.data.Response.Flavors, type: false });\r\n foodBtnStyleGenerate();\r\n resetCounter();\r\n\r\n dataIsLoad.value = true;\r\n\r\n if (\r\n window.PictureContainer === 'urliving' ||\r\n window.PictureContainer === 'urliving-t'\r\n ) {\r\n getBrandRecommendData();\r\n }\r\n\r\n fireShopContentView({\r\n customMarketID: selectedFoodSpec.value.Product.CustomMarketID,\r\n name: selectedFoodSpec.value.Product.Name,\r\n price: selectedFoodSpec.value.Product.SellPrice,\r\n affiliation: userSelectFlavor.value.Name,\r\n item_brand: selectedFoodSpec.value.Name,\r\n eventName: selectedFoodSpec.value.Product.Events.length\r\n ? selectedFoodSpec.value.Product.Events[0].Name\r\n : '',\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n // pattern 為 1 和 3 都是一般賣場模式\r\n // pattern 為 3 為外部供應商自訂商品描述HTML\r\n getDataAPI({\r\n params: {\r\n CustomMarketID: window.CustomMarketID,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n itemDatas.value = res.data.Response;\r\n selectedDataID.value = res.data.Response.ColorID;\r\n\r\n if (itemDatas.value.IsPreShow) {\r\n btnStyleGenerate.value = btnStyleEnum.disabled;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.preShow;\r\n pzBuyNow.value = btnDescriptionEnum.preShow;\r\n }\r\n\r\n dataIsLoad.value = true;\r\n\r\n if (\r\n window.PictureContainer === 'urliving' ||\r\n window.PictureContainer === 'urliving-t'\r\n ) {\r\n getBrandRecommendData();\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n // only for urliving\r\n const brandRecommendIsLoad = ref(false);\r\n const brandRecommendData = ref({});\r\n function getBrandRecommendData() {\r\n getBrandRecommendDataAPI({\r\n params: {\r\n OnlyFirstColor: true,\r\n Brand: itemDatas.value.Brand.Code,\r\n Page: 1,\r\n PageSize: 6,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n brandRecommendIsLoad.value = true;\r\n randomBrandSlideArray(res.data.Response.Data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n function randomBrandSlideArray(arr) {\r\n let ctr = arr.length;\r\n let temp;\r\n let index;\r\n\r\n while (ctr > 0) {\r\n index = Math.floor(Math.random() * ctr);\r\n ctr -= 1;\r\n temp = arr[ctr];\r\n arr[ctr] = arr[index];\r\n arr[index] = temp;\r\n }\r\n brandRecommendData.value = arr;\r\n }\r\n\r\n // 奶油、URL、餐飲公版的推薦:'/api/v1/market'\r\n const recommendIsLoad = ref(false);\r\n const recommendData = ref({});\r\n function getRecommendData() {\r\n getRecommendDataAPI({\r\n params: {\r\n OnlyFirstColor: true,\r\n CategoryIDs: window.CategoryIDs?.toString(),\r\n Page: 1,\r\n PageSize: 6,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n recommendIsLoad.value = true;\r\n randomSlideArray(res.data.Response.Data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n function randomSlideArray(arr) {\r\n let ctr = arr.length;\r\n let temp;\r\n let index;\r\n\r\n while (ctr > 0) {\r\n index = Math.floor(Math.random() * ctr);\r\n ctr -= 1;\r\n temp = arr[ctr];\r\n arr[ctr] = arr[index];\r\n arr[index] = temp;\r\n }\r\n recommendData.value = arr;\r\n }\r\n\r\n // 其餘品牌的推薦:'/api/v1/recommendation/getrelatedcategory'\r\n const marketRecommendIsLoad = ref(false);\r\n const marketRecommendData = ref([]);\r\n function getMarketRecommendData() {\r\n getMarketRecommendDataAPI({\r\n params: {\r\n CustomMarketID: window.CustomMarketID,\r\n CategoryIDs: window.CategoryIDs.toString(),\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n marketRecommendData.value = res.data.Response.map((item) => {\r\n return {\r\n url: `${item.MarketUrl}&page=product&source=ur&recommend=related_to_category`,\r\n image: item.PictureUrl || '',\r\n originPrice: item.OriginPrice || 0,\r\n sellPrice: item.SellPrice || 0,\r\n sellPriceTW: item.SellPrice_TW || 0,\r\n eventPrice: item.EventPrice || 0,\r\n name: item.Name || '',\r\n customMarketID: item.CustomMarketID || '',\r\n color: item.ColorName || '',\r\n currentCurrency: item.CurrentCurrency,\r\n };\r\n });\r\n\r\n marketRecommendIsLoad.value = true;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n const selectedData = ref({});\r\n const allSpecPreOrder = ref(false);\r\n const favCustomMarketID = computed(() => {\r\n if (Object.keys(itemDatas.value).length === 0) return undefined;\r\n if (pattern === 2) return selectedFoodSpec.value.Product.CustomMarketID;\r\n\r\n const substringID = itemDatas.value.CustomMarketID.substring(\r\n 0,\r\n itemDatas.value.CustomMarketID.indexOf('CL'),\r\n );\r\n\r\n const customMarketID = `${substringID}CL${selectedData.value.ID}SZ_`;\r\n\r\n return customMarketID;\r\n });\r\n\r\n function getSelectedData() {\r\n selectedData.value = itemDatas.value.Colors.find((color) => color.ID === selectedDataID.value);\r\n const allSpecPreOrderArray = [];\r\n selectedData.value.Specs.forEach((element) => {\r\n allSpecPreOrderArray.push(element.PreOrder);\r\n });\r\n allSpecPreOrder.value = allSpecPreOrderArray.every(Boolean);\r\n\r\n if (selectedData.value.Specs.length === 1 && selectedData.value.Specs[0].Stock > 0) {\r\n selectSpec(selectedData.value.Specs[0]);\r\n }\r\n }\r\n\r\n const selectedSpec = ref({ Name: '尺寸', Key: 'default', ID: 'default' });\r\n const selectedSpecID = ref(0);\r\n const selectedSpecKey = ref(0);\r\n function selectSpec(spec) {\r\n if (spec.Key === 'default') {\r\n btnStyleGenerate.value = btnStyleEnum.disabled;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.general;\r\n pzBuyNow.value = btnDescriptionEnum.general;\r\n\r\n clearSpec();\r\n resetCounter();\r\n return;\r\n }\r\n\r\n selectedSpec.value = spec;\r\n selectedSpecID.value = spec.ID;\r\n selectedSpecKey.value = spec.Key;\r\n\r\n resetCounter();\r\n getBtnStatus({\r\n stock: spec.Stock,\r\n isSoldOut: spec.IsOutOfStock,\r\n isPreOrder: spec.PreOrder,\r\n });\r\n }\r\n function clearSpec() {\r\n selectedSpec.value = { Name: '尺寸', Key: 'default' };\r\n selectedSpecID.value = 0;\r\n selectedSpecKey.value = 0;\r\n }\r\n\r\n const selectIsOpen = ref(false);\r\n function openSelector() {\r\n selectIsOpen.value = !selectIsOpen.value;\r\n }\r\n\r\n function changeImg(colorID) {\r\n selectIsOpen.value = false;\r\n if (selectedData.value.ID === colorID) return;\r\n btnReset();\r\n clearSpec();\r\n resetCounter();\r\n selectedDataID.value = colorID;\r\n }\r\n\r\n function getBtnStatus(payload) {\r\n if (itemDatas.value.IsPreShow) return;\r\n\r\n if (window.PictureContainer === 'urliving' || window.PictureContainer === 'urliving-t') {\r\n if (payload.stock === 0) {\r\n if (payload.isPreOrder) {\r\n // 無庫存預購\r\n btnStyleGenerate.value = btnStyleEnum.disabled;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.soldOut;\r\n } else {\r\n // 無庫存現貨\r\n btnStyleGenerate.value = btnStyleEnum.activeMail;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.notice;\r\n }\r\n } else {\r\n btnStyleGenerate.value = btnStyleEnum.active;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.addBag;\r\n }\r\n return;\r\n }\r\n\r\n if (payload.stock === 0 && payload.isSoldOut && !payload.isPreOrder) {\r\n // 現貨無庫存且斷貨\r\n btnStyleGenerate.value = btnStyleEnum.disabled;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.soldOut;\r\n pzBuyNow.value = btnDescriptionEnum.soldOut;\r\n } else if (payload.stock === 0) {\r\n // 無庫存\r\n btnStyleGenerate.value = btnStyleEnum.activeMail;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.notice;\r\n pzBuyNow.value = btnDescriptionEnum.notice;\r\n } else if (payload.isPreOrder && payload.stock > 0) {\r\n // 有預購按鈕文字\r\n btnStyleGenerate.value = btnStyleEnum.active;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.addPre || btnDescriptionEnum.addBag;\r\n } else {\r\n btnStyleGenerate.value = btnStyleEnum.active;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.addBag;\r\n pzBuyNow.value = '立即結帳';\r\n }\r\n }\r\n function btnReset() {\r\n btnStyleGenerate.value = btnStyleEnum.disabled;\r\n btnDescriptionGenerate.value = btnDescriptionEnum.general;\r\n pzBuyNow.value = btnDescriptionEnum.general;\r\n if (itemDatas.value.IsPreShow) {\r\n btnDescriptionGenerate.value = btnDescriptionEnum.preShow;\r\n pzBuyNow.value = btnDescriptionEnum.preShow;\r\n }\r\n }\r\n\r\n const counter = ref(1);\r\n function addCount(payload) {\r\n // 還沒選尺寸或是即將開賣\r\n if (pattern !== 2 && selectedSpec.value.Key === 'default') return;\r\n if (pattern !== 2 && itemDatas.value.IsPreShow) return;\r\n if (pattern === 2 && selectedFoodSpec.value.Product.IsPreShow) return;\r\n if (counter.value >= payload.maxCount) return;\r\n if (counter.value >= payload.limit && payload.limit !== 0) return;\r\n counter.value += 1;\r\n }\r\n function reduceCount() {\r\n if (counter.value <= 1) return;\r\n counter.value -= 1;\r\n }\r\n function resetCounter() {\r\n counter.value = 1;\r\n }\r\n\r\n const CMID = ref('');\r\n\r\n /**\r\n * @param {boolean} noArrivalNotice - 是否有貨到通知\r\n */\r\n function addToCart(noArrivalNotice = false) {\r\n // 還沒選尺寸或是即將開賣\r\n if (pattern !== 2 && selectedSpec.value.Key === 'default') return;\r\n if (pattern !== 2 && itemDatas.value.IsPreShow) return;\r\n if (pattern === 2 && selectedFoodSpec.value.Product.IsPreShow) return;\r\n\r\n const customMarketID = itemDatas.value.CustomMarketID;\r\n const subStringCustomMarketID = customMarketID.substring(0, customMarketID.indexOf('CL'));\r\n const itemSpecInfo = `${subStringCustomMarketID}CL${selectedData.value.ID}SZ${selectedSpecKey.value}`;\r\n CMID.value = itemSpecInfo;\r\n\r\n // urliving 預購不顯示貨到通知\r\n // 其餘品牌 預購無庫存無斷貨顯示貨到通知\r\n if (window.PictureContainer === 'urliving' || window.PictureContainer === 'urliving-t') {\r\n if (selectedSpec.value.Stock === 0) {\r\n if (selectedSpec.value.PreOrder) {\r\n return;\r\n }\r\n openModal('ArrivalNotice', CMID.value);\r\n return;\r\n }\r\n } else {\r\n if (btnDescriptionGenerate.value === btnDescriptionEnum.notice && noArrivalNotice) {\r\n return;\r\n }\r\n if (\r\n selectedSpec.value.Stock === 0 &&\r\n selectedSpec.value.IsOutOfStock &&\r\n !selectedSpec.value.PreOrder\r\n ) {\r\n return;\r\n }\r\n if (selectedSpec.value.Stock === 0) {\r\n openModal('ArrivalNotice', CMID.value);\r\n return;\r\n }\r\n }\r\n\r\n const utmData = utmKDetect(itemSpecInfo) === null ? '' : utmKDetect(itemSpecInfo);\r\n // eslint-disable-next-line consistent-return\r\n return new Promise((resolve, reject) => {\r\n postShoppingCartAPI({\r\n CustomMarketID: itemSpecInfo,\r\n Count: counter.value,\r\n UtmTag: utmData,\r\n ShareCode: shareCode() === null ? null : shareCode(),\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n getCartInfo();\r\n closeMobileCartDialog();\r\n\r\n gtmTrace.addToCart({\r\n name: itemDatas.value.Name,\r\n id: itemSpecInfo,\r\n price: itemDatas.value.OriginPrice,\r\n sale_price:\r\n itemDatas.value.EventPrice > 0 &&\r\n itemDatas.value.EventPrice < itemDatas.value.SellPrice\r\n ? itemDatas.value.EventPrice\r\n : itemDatas.value.SellPrice,\r\n img_url: selectedData.value.Images[0].Url,\r\n product_url: selectedData.value.MarketUrl,\r\n color: selectedData.value.Name,\r\n count: counter.value,\r\n });\r\n\r\n fireAddToCart({\r\n item_id: itemSpecInfo.split('SZ')[0],\r\n item_name: itemDatas.value.Name,\r\n index: 0,\r\n affiliation: selectedData.value.Name,\r\n item_brand: selectedSpec.value.Name,\r\n item_list_name: '產品內頁',\r\n price:\r\n itemDatas.value.EventPrice > 0 &&\r\n itemDatas.value.EventPrice < itemDatas.value.SellPrice\r\n ? itemDatas.value.EventPrice\r\n : itemDatas.value.SellPrice,\r\n quantity: counter.value,\r\n item_variant: selectedSpec.value.Barcode,\r\n });\r\n\r\n resolve({ code: 200 });\r\n } else if (res.data.Code === 205) {\r\n resolve({ code: 205 });\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n const isOpenCartDialog = ref(false);\r\n function closeMobileCartDialog() {\r\n isOpenCartDialog.value = false;\r\n }\r\n function showMobileCartDialog() {\r\n isOpenCartDialog.value = true;\r\n }\r\n\r\n /**\r\n * @description 取得 user 選擇的口味和規格\r\n * @param {boolean} type - 是否為 user 手動變更口味,若否則預設點擊商品的口味\r\n */\r\n function setSelectedFood(payload) {\r\n if (payload.type === false) {\r\n userSelectFlavor.value = payload.foodFlavors.find((flavor) => flavor.Selected);\r\n selectedFoodSpec.value = userSelectFlavor.value.Specs.find((spec) => spec.Selected);\r\n } else {\r\n const checkHasStock = userSelectFlavor.value.Specs.find((stock) => stock.Stock > 0);\r\n\r\n if (checkHasStock) {\r\n selectedFoodSpec.value = checkHasStock;\r\n } else {\r\n const { Specs } = userSelectFlavor.value;\r\n const [foodSpec] = Specs;\r\n selectedFoodSpec.value = foodSpec;\r\n }\r\n }\r\n }\r\n\r\n function selectFoodSpec(spec) {\r\n selectedFoodSpec.value = spec;\r\n\r\n resetCounter();\r\n foodBtnStyleGenerate();\r\n changeFoodAddonID();\r\n\r\n fireShopContentView({\r\n affiliation: userSelectFlavor.value.Name,\r\n item_brand: selectedFoodSpec.value.Name,\r\n customMarketID: selectedFoodSpec.value.Product.CustomMarketID,\r\n eventName: selectedFoodSpec.value.Product.Events.length\r\n ? selectedFoodSpec.value.Product.Events[0].Name\r\n : '',\r\n name: selectedFoodSpec.value.Product.Name,\r\n price: selectedFoodSpec.value.Product.SellPrice,\r\n });\r\n }\r\n\r\n function changeFlavor(flavorIndex) {\r\n if (itemDatas.value.Flavors[flavorIndex].Name === userSelectFlavor.value.Name) return;\r\n\r\n selectIsOpen.value = false;\r\n userSelectFlavor.value = itemDatas.value.Flavors[flavorIndex];\r\n setSelectedFood({ foodFlavors: userSelectFlavor.value, type: true });\r\n\r\n resetCounter();\r\n foodBtnStyleGenerate();\r\n changeFoodAddonID();\r\n\r\n fireShopContentView({\r\n affiliation: userSelectFlavor.value.Name,\r\n item_brand: selectedFoodSpec.value.Name,\r\n customMarketID: selectedFoodSpec.value.Product.CustomMarketID,\r\n eventName: selectedFoodSpec.value.Product.Events.length\r\n ? selectedFoodSpec.value.Product.Events[0].Name\r\n : '',\r\n name: selectedFoodSpec.value.Product.Name,\r\n price: selectedFoodSpec.value.Product.SellPrice,\r\n });\r\n }\r\n\r\n const foodBtnStyle = ref(btnStyleEnum.disabled);\r\n const foodBtnDescription = ref(btnFoodDescriptionEnum.general);\r\n function foodBtnStyleGenerate() {\r\n if (selectedFoodSpec.value.Product.IsPreShow) {\r\n foodBtnStyle.value = btnStyleEnum.disabled;\r\n foodBtnDescription.value = btnFoodDescriptionEnum.preShow;\r\n return;\r\n }\r\n\r\n if (window.PictureContainer === 'urliving' || window.PictureContainer === 'urliving-t') {\r\n if (selectedFoodSpec.value.Stock === 0) {\r\n if (selectedFoodSpec.value.Product.PreOrder) {\r\n foodBtnStyle.value = btnStyleEnum.disabled;\r\n foodBtnDescription.value = btnFoodDescriptionEnum.soldOut;\r\n } else {\r\n foodBtnStyle.value = btnStyleEnum.activeMail;\r\n foodBtnDescription.value = btnFoodDescriptionEnum.notice;\r\n }\r\n } else {\r\n foodBtnStyle.value = btnStyleEnum.active;\r\n foodBtnDescription.value = btnFoodDescriptionEnum.addBag;\r\n }\r\n return;\r\n }\r\n\r\n if (\r\n selectedFoodSpec.value.Stock === 0 &&\r\n selectedFoodSpec.value.Product.IsOutOfStock &&\r\n !selectedFoodSpec.value.Product.PreOrder\r\n ) {\r\n // 無庫存且斷貨但是為現貨\r\n foodBtnStyle.value = btnStyleEnum.disabled;\r\n foodBtnDescription.value = btnFoodDescriptionEnum.soldOut;\r\n } else if (selectedFoodSpec.value.Stock === 0) {\r\n foodBtnStyle.value = btnStyleEnum.activeMail;\r\n foodBtnDescription.value = btnFoodDescriptionEnum.notice;\r\n } else {\r\n foodBtnStyle.value = btnStyleEnum.active;\r\n foodBtnDescription.value = btnFoodDescriptionEnum.addBag;\r\n }\r\n }\r\n\r\n function foodAddToCart() {\r\n if (selectedFoodSpec.value === null) {\r\n alertDialog.alert(btnFoodDescriptionEnum.general);\r\n return;\r\n }\r\n\r\n CMID.value = selectedFoodSpec.value.Product.CustomMarketID;\r\n\r\n // urliving 預購不顯示貨到通知\r\n // 其餘品牌 預購無庫存無斷貨顯示貨到通知\r\n if (window.PictureContainer === 'urliving' || window.PictureContainer === 'urliving-t') {\r\n if (selectedFoodSpec.value.Stock === 0) {\r\n if (selectedFoodSpec.value.Product.PreOrder) {\r\n return;\r\n }\r\n openModal('ArrivalNotice', CMID.value);\r\n return;\r\n }\r\n } else {\r\n if (selectedFoodSpec.value.Product.IsOutOfStock && !selectedFoodSpec.value.Product.PreOrder) {\r\n return;\r\n }\r\n if (selectedFoodSpec.value.Stock === 0) {\r\n openModal('ArrivalNotice', CMID.value);\r\n return;\r\n }\r\n }\r\n\r\n const utmData =\r\n utmKDetect(selectedFoodSpec.value.Product.CustomMarketID) === null\r\n ? ''\r\n : utmKDetect(selectedFoodSpec.value.Product.CustomMarketID);\r\n // eslint-disable-next-line consistent-return\r\n return new Promise((resolve, reject) => {\r\n postShoppingCartAPI({\r\n CustomMarketID: selectedFoodSpec.value.Product.CustomMarketID,\r\n Count: counter.value,\r\n UtmTag: utmData,\r\n ShareCode: shareCode() === null ? null : shareCode(),\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n getCartInfo();\r\n closeMobileCartDialog();\r\n\r\n gtmTrace.addToCart({\r\n name: selectedFoodSpec.value.Product.Name,\r\n id: selectedFoodSpec.value.Product.CustomMarketID,\r\n price: selectedFoodSpec.value.Product.OriginPrice,\r\n sale_price:\r\n selectedFoodSpec.value.Product.EventPrice > 0 &&\r\n selectedFoodSpec.value.Product.EventPrice < selectedFoodSpec.value.Product.SellPrice\r\n ? selectedFoodSpec.value.Product.EventPrice\r\n : selectedFoodSpec.value.Product.SellPrice,\r\n img_url: selectedFoodSpec.value.Product.Images[0].Url,\r\n product_url: selectedFoodSpec.value.Product.MarketUrl,\r\n color: userSelectFlavor.value.Name,\r\n count: counter.value,\r\n });\r\n\r\n fireAddToCart({\r\n item_id: selectedFoodSpec.value.Product.CustomMarketID.split('SZ')[0],\r\n item_name: selectedFoodSpec.value.Product.Name,\r\n index: 0,\r\n affiliation: userSelectFlavor.value.Name,\r\n item_brand: selectedFoodSpec.value.Name,\r\n item_list_name: '產品內頁',\r\n price: selectedFoodSpec.value.Product.SellPrice,\r\n quantity: counter.value,\r\n item_variant: '',\r\n });\r\n\r\n resolve({ code: 200 });\r\n } else if (res.data.Code === 205) {\r\n resolve({ code: 205 });\r\n }\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n const foodAddonID = ref(\r\n window.CustomMarketID\r\n ? window.CustomMarketID.substring(0, window.CustomMarketID.indexOf('CL'))\r\n : null,\r\n );\r\n function changeFoodAddonID() {\r\n const originID = selectedFoodSpec.value.Product.CustomMarketID;\r\n foodAddonID.value = originID.substring(0, originID.indexOf('CL'));\r\n }\r\n\r\n function toggleFoodFavorite(isFavorite) {\r\n if (isFavorite) {\r\n deleteFavoriteAPI({\r\n data: {\r\n CustomMarketID: favCustomMarketID.value,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (res.data.Response) {\r\n selectedFoodSpec.value.IsFavorite = false;\r\n selectedFoodSpec.value.FavoriteAmount -= 1;\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n postFavoriteAPI({\r\n CustomMarketID: favCustomMarketID.value,\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (res.data.Response) {\r\n selectedFoodSpec.value.IsFavorite = true;\r\n selectedFoodSpec.value.FavoriteAmount += 1;\r\n fireWishlistEvent({\r\n color: userSelectFlavor.value.Name,\r\n id: favCustomMarketID.value,\r\n name: selectedFoodSpec.value.Product.Name,\r\n sellPrice: selectedFoodSpec.value.Product.SellPrice,\r\n size: selectedFoodSpec.value.Name || '',\r\n });\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n function toggleFavorite(isFavorite) {\r\n if (isFavorite) {\r\n deleteFavoriteAPI({\r\n data: {\r\n CustomMarketID: favCustomMarketID.value,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (res.data.Response) {\r\n selectedData.value.IsFavorite = false;\r\n selectedData.value.FavoriteCount -= 1;\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n postFavoriteAPI({\r\n CustomMarketID: favCustomMarketID.value,\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (res.data.Response) {\r\n selectedData.value.IsFavorite = true;\r\n selectedData.value.FavoriteCount += 1;\r\n fireWishlistEvent({\r\n color: selectedData.value.Name,\r\n id: favCustomMarketID.value,\r\n name: itemDatas.value.Name,\r\n sellPrice: itemDatas.value.SellPrice,\r\n size: selectedSpec.value.Name || '',\r\n });\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n return {\r\n itemDatas,\r\n selectedSpecID,\r\n selectedDataID,\r\n selectedData,\r\n recommendData,\r\n marketRecommendData,\r\n brandRecommendData,\r\n dataIsLoad,\r\n recommendIsLoad,\r\n marketRecommendIsLoad,\r\n brandRecommendIsLoad,\r\n CMID,\r\n selectedSpec,\r\n selectedSpecKey,\r\n counter,\r\n btnStyleGenerate,\r\n btnDescriptionGenerate,\r\n foodBtnStyle,\r\n foodBtnDescription,\r\n pzBuyNow,\r\n selectIsOpen,\r\n userSelectFlavor,\r\n selectedFoodSpec,\r\n isOpenCartDialog,\r\n allSpecPreOrder,\r\n pattern,\r\n foodAddonID,\r\n favCustomMarketID,\r\n getData,\r\n getBrandRecommendData,\r\n randomBrandSlideArray,\r\n getRecommendData,\r\n getMarketRecommendData,\r\n randomSlideArray,\r\n getSelectedData,\r\n selectSpec,\r\n clearSpec,\r\n openSelector,\r\n changeImg,\r\n getBtnStatus,\r\n btnReset,\r\n addToCart,\r\n addCount,\r\n reduceCount,\r\n resetCounter,\r\n closeMobileCartDialog,\r\n showMobileCartDialog,\r\n setSelectedFood,\r\n selectFoodSpec,\r\n changeFlavor,\r\n foodBtnStyleGenerate,\r\n foodAddToCart,\r\n changeFoodAddonID,\r\n toggleFoodFavorite,\r\n toggleFavorite,\r\n };\r\n});\r\n\r\nexport default useShopContentStore;\r\n","import { ref, onMounted, onUnmounted, nextTick } from 'vue';\r\n\r\nconst isActive = ref(false);\r\nconst paddingStyle = ref('0px');\r\n\r\n/**\r\n * PC選單展開\r\n */\r\nasync function useHeaderExtend() {\r\n await nextTick(); // 因為 v-clock 確保 DOM 完全更新\r\n const header = document.querySelector('.header');\r\n const headerHight = header.offsetHeight;\r\n // eslint-disable-next-line radix\r\n const headerPaddingTop = parseInt(getComputedStyle(header).paddingTop, 10);\r\n\r\n if (document.body.id === 'page-index' && window.innerWidth >= 768) {\r\n if (window.scrollY > headerHight) {\r\n isActive.value = true;\r\n } else {\r\n isActive.value = false;\r\n }\r\n }\r\n\r\n if (window.innerWidth < 1200) {\r\n const detailBlocks = document.querySelectorAll('.detail-block');\r\n detailBlocks.forEach((detailBlock) => {\r\n detailBlock.style.top = `${headerHight + headerPaddingTop - 10}px`;\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * PC選單不同寬度下調整\r\n */\r\nasync function useResizeList() {\r\n await nextTick(); // 因為 v-clock 確保 DOM 完全更新\r\n if (window.innerWidth < 1200) {\r\n const navList = document.querySelector('.nav-list');\r\n const actionBlock = document.querySelector('.action-block');\r\n if (navList && actionBlock) {\r\n const actionBlockWidth = actionBlock.offsetWidth;\r\n navList.style.width = `calc(100% - ${actionBlockWidth + 24}px)`;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * PC選單展開動畫\r\n */\r\n\r\nasync function useControlHeader() {\r\n await nextTick(); // 因為 v-clock 確保 DOM 完全更新\r\n const header = document.querySelectorAll('header');\r\n if (header.length < 1) return;\r\n\r\n document.querySelectorAll('.nav-name').forEach((element) => {\r\n // eslint-disable-next-line func-names\r\n element.addEventListener('mouseenter', function (e) {\r\n e.preventDefault();\r\n\r\n if (this.querySelectorAll('.detail-block').length > 0) {\r\n const elementHeight = this.offsetHeight;\r\n const elementTopPosition = this.getBoundingClientRect().top;\r\n\r\n document.querySelectorAll('.detail-block').forEach((block) => {\r\n block.style.top = `${elementHeight + elementTopPosition}px`;\r\n });\r\n }\r\n\r\n // 判斷螢幕寬度 > 1200 因為 769-1200 分類選單文字會斷行破版\r\n const detailBlock = this.querySelector('.detail-block');\r\n if (detailBlock) {\r\n const subTypeCount = this.querySelectorAll(\r\n '.detail-block > .detail-inner > .list-block > .detail-list',\r\n ).length;\r\n const detailBlockLeft = detailBlock.getBoundingClientRect().left + window.scrollX;\r\n const isTablet =\r\n detailBlockLeft + 110 * subTypeCount + (window.innerWidth > 1200 ? 352 : 250) + 80 >=\r\n window.innerWidth;\r\n if (isTablet) {\r\n detailBlock.style.right = '0px';\r\n }\r\n if (window.innerWidth > 1200) {\r\n detailBlock.style.right = 'unset';\r\n }\r\n }\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * MB選單展開動畫\r\n */\r\nfunction useMbBottomBar() {\r\n const bottomEl = document.querySelector('#bottom-more');\r\n bottomEl.addEventListener('click', (e) => {\r\n if (bottomEl) {\r\n const targetSelector = bottomEl.getAttribute('data-sidebar');\r\n const targetElement = document.querySelector(targetSelector);\r\n const closeBtnSelector = bottomEl.getAttribute('data-close');\r\n const closeBtnElement = document.querySelector(closeBtnSelector);\r\n const defaultTypeSelector = bottomEl.getAttribute('data-type');\r\n const defaultTypeElement = document.querySelector(defaultTypeSelector);\r\n const defaultListSelector = bottomEl.getAttribute('data-list');\r\n const defaultListElement = document.querySelector(defaultListSelector);\r\n\r\n // Toggle 'active' class on the target element and the clicked element\r\n if (targetElement) {\r\n targetElement.classList.toggle('active');\r\n }\r\n bottomEl.classList.toggle('active');\r\n\r\n if (bottomEl.classList.contains('active')) {\r\n document.querySelector('body').classList.add('lock-page');\r\n } else {\r\n document.querySelector('body').classList.remove('lock-page');\r\n }\r\n if (closeBtnElement) {\r\n closeBtnElement.style.display = 'inline-block';\r\n closeBtnElement.style.marginRight = '0px';\r\n closeBtnElement.style.marginLeft = '15px';\r\n }\r\n if (defaultTypeElement) {\r\n defaultTypeElement.classList.add('active');\r\n }\r\n if (defaultListElement) {\r\n defaultListElement.style.display = 'inline-block';\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction useMbMainSideBar() {\r\n document.querySelectorAll('.sidebar-main-type').forEach((element) => {\r\n // eslint-disable-next-line func-names\r\n element.addEventListener('click', function (e) {\r\n e.preventDefault();\r\n\r\n const target = this.getAttribute('data-list');\r\n\r\n document.querySelectorAll('.sidebar-main-type').forEach((el) => {\r\n el.classList.remove('active');\r\n });\r\n\r\n document.querySelectorAll('.level2-list').forEach((el) => {\r\n el.style.display = 'none';\r\n });\r\n this.classList.toggle('active');\r\n\r\n // 設定顯示的display样式为'inline-block'\r\n const targetElement = document.querySelector(target);\r\n if (targetElement) {\r\n targetElement.style.display = 'inline-block';\r\n }\r\n });\r\n });\r\n}\r\nfunction useMbMore() {\r\n const bottomEl = document.querySelector('#mb-more');\r\n bottomEl.addEventListener('click', (e) => {\r\n if (bottomEl) {\r\n const targetSelector = bottomEl.getAttribute('data-sidebar');\r\n const targetElement = document.querySelector(targetSelector);\r\n const closeBtnSelector = bottomEl.getAttribute('data-close');\r\n const closeBtnElement = document.querySelector(closeBtnSelector);\r\n const defaultTypeSelector = bottomEl.getAttribute('data-type');\r\n const defaultTypeElement = document.querySelector(defaultTypeSelector);\r\n const defaultListSelector = bottomEl.getAttribute('data-list');\r\n const defaultListElement = document.querySelector(defaultListSelector);\r\n\r\n // Toggle 'active' class on the target element and the clicked element\r\n if (targetElement) {\r\n targetElement.classList.toggle('active');\r\n }\r\n bottomEl.classList.toggle('active');\r\n\r\n if (bottomEl.classList.contains('active')) {\r\n document.querySelector('body').classList.add('lock-page');\r\n } else {\r\n document.querySelector('body').classList.remove('lock-page');\r\n }\r\n if (closeBtnElement) {\r\n closeBtnElement.style.display = 'inline-block';\r\n closeBtnElement.style.marginRight = '0px';\r\n closeBtnElement.style.marginLeft = '15px';\r\n }\r\n if (defaultTypeElement) {\r\n defaultTypeElement.classList.add('active');\r\n }\r\n if (defaultListElement) {\r\n defaultListElement.style.display = 'inline-block';\r\n }\r\n }\r\n });\r\n}\r\n/**\r\n * MB選單關閉按鈕\r\n */\r\nfunction useMbSideBarClose() {\r\n const closeEl = document.querySelector('#header-close');\r\n closeEl.addEventListener('click', (e) => {\r\n const sidebarSelector = closeEl.getAttribute('data-sidebar');\r\n const sidebarElement = document.querySelector(sidebarSelector);\r\n if (sidebarElement) {\r\n sidebarElement.classList.remove('active');\r\n }\r\n // 重置初始狀態,確保選單在關閉時恢復\r\n const activeElements = document.querySelectorAll('.sidebar-main-type.active');\r\n\r\n activeElements.forEach((element) => {\r\n element.classList.remove('active');\r\n });\r\n\r\n const level2Lists = document.querySelectorAll('.level2-list');\r\n level2Lists.forEach((element) => {\r\n if (element.style.display === 'inline-block') {\r\n element.style.display = ''; // 清空 display 樣式,回到初始狀態\r\n }\r\n });\r\n document.body.classList.remove('lock-page');\r\n closeEl.style.display = 'none';\r\n });\r\n}\r\n\r\nfunction useHeaderDiffer() {\r\n return {\r\n isActive,\r\n paddingStyle,\r\n useHeaderExtend,\r\n useResizeList,\r\n useControlHeader,\r\n useMbBottomBar,\r\n useMbMainSideBar,\r\n useMbSideBarClose,\r\n useMbMore,\r\n };\r\n}\r\n\r\nexport default useHeaderDiffer;\r\n","/**\r\n * @description 手機板載入時上方Tab選單調整Scrollbar,以確保當前active的選項可見。\r\n * @param {*} scrollbar 頁籤本體X軸\r\n * @param {*} active 所在頁面\r\n * @param {*} adjust\r\n */\r\n\r\nfunction changeScrollbarPosition(scrollbarEl, activeEl, adjustNum = 0) {\r\n if (\r\n document.querySelectorAll(scrollbarEl).length > 0 &&\r\n document.querySelectorAll(activeEl).length > 0\r\n ) {\r\n const scrollbarElement = document.querySelector(scrollbarEl);\r\n const activeElement = document.querySelector(activeEl);\r\n moveScrollbar(scrollbarElement, activeElement, adjustNum);\r\n }\r\n function moveScrollbar(scrollbar, active, adjust) {\r\n const scrollBarWidth = scrollbar.offsetWidth;\r\n const activeItem = active;\r\n const activeRect = activeItem.getBoundingClientRect();\r\n const activePositionLeft = activeRect.left;\r\n const activePositionRight = activeRect.left + activeItem.offsetWidth;\r\n if (activePositionRight > scrollBarWidth) {\r\n scrollbar.scrollLeft = activePositionLeft + adjust - scrollbar.scrollLeft;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 手機板載入時上方Tab選單調整Scrollbar,iphone 客製化\r\n * @description 需參考以下判斷是否為 iphone\r\n * @link [https://mrcodingroom.freesite.host/js-%E5%81%B5%E6%B8%AC%E8%A3%9D%E7%BD%AE%E6%98%AF%E5%90%A6%E7%82%BAios%E6%88%96ipad/]\r\n */\r\n\r\nfunction customScrollbarX(scrollbarEl) {\r\n const detectBrowser = () => {\r\n if (/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)) {\r\n try {\r\n document.createEvent('TouchEvent');\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n return false;\r\n };\r\n detectBrowser();\r\n if (detectBrowser()) {\r\n if (document.querySelectorAll(scrollbarEl).length > 0) {\r\n let content;\r\n\r\n if (document.querySelectorAll(scrollbarEl).length > 0) {\r\n content = document.querySelector(scrollbarEl);\r\n }\r\n content.style.marginBottom = '-10px';\r\n content.style.paddingBottom = '23px';\r\n\r\n const scrollRatio = content.clientWidth / content.scrollWidth;\r\n\r\n if (scrollRatio !== 1) {\r\n const scrollbarMarkup =\r\n '
';\r\n content.insertAdjacentHTML('afterend', scrollbarMarkup);\r\n\r\n const thumb = document.querySelector('.thumb');\r\n const track = document.querySelector('.track');\r\n thumb.style.width = `${scrollRatio * 100}%`;\r\n\r\n const scrollContentHandler = () => {\r\n window.requestAnimationFrame(() => {\r\n thumb.style.left = `${(content.scrollLeft * 100) / content.scrollWidth}%`;\r\n });\r\n };\r\n\r\n content.addEventListener('scroll', scrollContentHandler);\r\n\r\n let pos = { left: 0, x: 0 };\r\n\r\n const mouseMoveHandler = (e) => {\r\n const dy = e.clientX - pos.x;\r\n content.scrollLeft(pos.left + dy / scrollRatio);\r\n };\r\n\r\n const mouseUpHandler = () => {\r\n document.removeEventListener('mousemove', mouseMoveHandler);\r\n document.removeEventListener('mouseup', mouseUpHandler);\r\n };\r\n\r\n const mouseDownThumbHandler = (e) => {\r\n pos = {\r\n left: content.scrollLeft,\r\n x: e.clientX,\r\n };\r\n\r\n document.addEventListener('mousemove', mouseMoveHandler);\r\n document.addEventListener('mouseup', mouseUpHandler);\r\n };\r\n\r\n thumb.addEventListener('mousedown', mouseDownThumbHandler);\r\n\r\n const trackClickHandler = (e) => {\r\n const bound = track.getBoundingClientRect();\r\n const percentage = (e.clientY - bound.top) / bound.height;\r\n content.scrollTop = percentage * (content.scrollHeight - content.clientHeight);\r\n };\r\n\r\n track.addEventListener('click', trackClickHandler);\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction useScrollBar() {\r\n return {\r\n customScrollbarX,\r\n changeScrollbarPosition,\r\n };\r\n}\r\n\r\nexport default useScrollBar;\r\n","/**\r\n * @description scrollTop 按鈕 id 與 時間\r\n * @param {string} id\r\n * @param {number} duration\r\n */\r\nfunction scrollToTop(id, duration = 300) {\r\n const el = document.querySelector(id);\r\n if (el) {\r\n el.addEventListener('click', () => {\r\n const cosParameter = window.scrollY / 2;\r\n let scrollCount = 0;\r\n let oldTimestamp = null;\r\n\r\n // eslint-disable-next-line consistent-return\r\n function step(newTimestamp) {\r\n if (oldTimestamp !== null) {\r\n // delta = 變化量\r\n scrollCount += (Math.PI * (newTimestamp - oldTimestamp)) / duration;\r\n if (scrollCount >= Math.PI) return window.scrollTo(0, 0);\r\n window.scrollTo(0, Math.round(cosParameter + cosParameter * Math.cos(scrollCount)));\r\n }\r\n oldTimestamp = newTimestamp;\r\n window.requestAnimationFrame(step);\r\n }\r\n window.requestAnimationFrame(step);\r\n });\r\n }\r\n}\r\n\r\nfunction scrollAnimation(endY, duration = 500) {\r\n const startY = window.scrollY;\r\n const change = endY - startY;\r\n const startTime = performance.now();\r\n\r\n function animateScroll(currentTime) {\r\n const elapsedTime = currentTime - startTime;\r\n const fraction = elapsedTime / duration;\r\n\r\n if (fraction < 1) {\r\n const newY = startY + change * fraction;\r\n window.scrollTo(0, newY);\r\n requestAnimationFrame(animateScroll);\r\n } else {\r\n window.scrollTo(0, endY);\r\n }\r\n }\r\n\r\n requestAnimationFrame(animateScroll);\r\n}\r\n\r\n/**\r\n * @description scrollTop 按鈕 id 與 顯示高度\r\n * @param {string} id\r\n * @param {number} top\r\n */\r\nfunction goToTopVisibility(id, top = 500) {\r\n const el = document.querySelector(id);\r\n if (el) {\r\n const { scrollY } = window;\r\n if (scrollY > top) {\r\n el.style.opacity = '1';\r\n el.style.visibility = 'visible';\r\n } else {\r\n el.style.opacity = '0';\r\n el.style.visibility = 'hidden';\r\n }\r\n }\r\n}\r\n\r\nfunction useGoToTop() {\r\n return {\r\n scrollAnimation,\r\n scrollToTop,\r\n goToTopVisibility,\r\n };\r\n}\r\n\r\nexport default useGoToTop;\r\n","import script from \"./AlertLayout.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertLayout.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AlertConfirm.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertConfirm.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AlertInfo.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertInfo.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AlertSpecial.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertSpecial.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AlertDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AlertDialog.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./Message.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Message.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AddonDetailPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AddonDetailPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { ref } from 'vue';\r\n\r\nfunction useAdvancedSort(props) {\r\n const selectedSizes = ref([]);\r\n const min = ref(props.condition.PriceLow);\r\n const max = ref(props.condition.PriceHigh);\r\n const range = ref([props.condition.PriceLow, props.condition.PriceHigh]);\r\n getInitArgs();\r\n\r\n function getInitArgs() {\r\n const initSize = getTargetArgValue('S=').split(',');\r\n if (initSize[0].length !== 0) selectedSizes.value = initSize;\r\n if (getTargetArgValue('PL') !== '') {\r\n range.value = [getTargetArgValue('PL'), getTargetArgValue('PH')];\r\n }\r\n }\r\n\r\n function getTargetArgValue(arg) {\r\n let targetArg = '';\r\n if (window.location.search.length !== 0 && window.location.search.indexOf(arg) !== -1) {\r\n const args = window.location.toString().split('?')[1].split('&');\r\n args.forEach((element, index) => {\r\n if (element.indexOf(arg) !== -1) {\r\n targetArg = element;\r\n }\r\n });\r\n }\r\n return targetArg.length !== 0\r\n ? targetArg.substring(targetArg.indexOf('=') + 1, targetArg.length)\r\n : '';\r\n }\r\n\r\n function clearCondition() {\r\n selectedSizes.value = [];\r\n range.value = [min.value, max.value];\r\n }\r\n\r\n function addSize(size) {\r\n const index = selectedSizes.value.findIndex((e) => {\r\n return e === size.toString();\r\n });\r\n\r\n if (index >= 0) {\r\n selectedSizes.value.splice(index, 1);\r\n } else {\r\n selectedSizes.value.push(size.toString());\r\n }\r\n }\r\n\r\n function toggleSize(size) {\r\n const isSelected = selectedSizes.value.includes(size.toString());\r\n return {\r\n active: isSelected,\r\n '': !isSelected,\r\n };\r\n }\r\n\r\n function getPriceRangeArg() {\r\n const pl = range.value[0];\r\n const ph = range.value[1];\r\n return range.value !== [min.value, max.value] ? `PL=${pl}&PH=${ph}` : '';\r\n }\r\n\r\n function getSizeArg() {\r\n return selectedSizes.value.length !== 0 ? `S=${selectedSizes.value.toString()}` : '';\r\n }\r\n\r\n function goResult() {\r\n let argsString = '';\r\n\r\n if (window.location.search.length !== 0) {\r\n const args = window.location.toString().split('?')[1].split('&');\r\n let i = 0;\r\n\r\n while (i < args.length) {\r\n if (args[i].indexOf('PH') !== -1) {\r\n args.splice(i, 1);\r\n } else if (args[i].indexOf('PL') !== -1) {\r\n args.splice(i, 1);\r\n } else if (args[i].indexOf('S=') !== -1) {\r\n args.splice(i, 1);\r\n } else if (args[i].indexOf('P=') !== -1) {\r\n args.splice(i, 1);\r\n } else {\r\n i += 1;\r\n }\r\n }\r\n\r\n if (args.length !== 0) {\r\n if (selectedSizes.value.length !== 0 || range.value !== [min.value, max.value]) {\r\n argsString = `${args.join('&')}&`;\r\n } else {\r\n argsString = `${args.join('&')}`;\r\n }\r\n }\r\n }\r\n\r\n if (selectedSizes.value.length !== 0 || range.value !== [min.value, max.value]) {\r\n window.location.href = `${window.location.pathname}?${argsString}${getPriceRangeArg()}${\r\n getPriceRangeArg().length !== 0 && getSizeArg().length !== 0 ? '&' : ''\r\n }${getSizeArg()}`;\r\n } else if (argsString.length === 0) {\r\n window.location.href = window.location.pathname;\r\n } else {\r\n window.location.href = `${window.location.pathname}?${argsString}`;\r\n }\r\n }\r\n\r\n return {\r\n min,\r\n max,\r\n range,\r\n\r\n clearCondition,\r\n addSize,\r\n toggleSize,\r\n goResult,\r\n };\r\n}\r\n\r\nexport default useAdvancedSort;\r\n","\r\n\r\n\r\n","import script from \"./AdvancedPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AdvancedPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./Modal.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./BrandBtn.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BrandBtn.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./BrandListMB.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BrandListMB.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","// helpers\r\nimport useSetEnv from '@global/composable/useSetEnv';\r\n\r\nconst { setEnv } = useSetEnv();\r\nwindow.nowEnv = window.nowEnv || {};\r\nwindow.nowBrand = {};\r\n\r\nfunction globalCtrl() {\r\n window.nowEnv.NowMyEquipment = setEnv.myEquipment(); // 得知現在的裝置類型\r\n}\r\n\r\nexport default globalCtrl;\r\n","import { createApp, ref, onMounted, onUnmounted } from 'vue';\r\nimport $ from 'jquery';\r\n\r\nimport { createPinia, storeToRefs } from 'pinia';\r\nimport useMiniCartStore from '@global/stores/useMiniCartStore';\r\n\r\nimport useHeaderDiffer from '@composable/useHeaderDiffer';\r\nimport useScrollBar from '@composable/useScrollBar';\r\nimport useGoToTop from '@global/composable/useGoToTop';\r\nimport useAlert from '@global/composable/useAlert';\r\nimport useMsg from '@global/composable/useMessage';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\nimport NewImage from '@global/components/common/Image/NewImage.vue';\r\nimport AlertDialog from '@global/components/common/alert/AlertDialog.vue';\r\nimport Message from '@global/components/common/message/Message.vue';\r\nimport Modal from '@global/components/common/modal/Modal.vue';\r\n\r\nimport BrandBtn from '@components/BrandBtn.vue';\r\n\r\nimport BrandList from '@page/brand/components/BrandListMB.vue';\r\nimport globalCtrl from '@page/common/js/globalCtrl';\r\n\r\nimport layout from '@/style/layout.scss';\r\n\r\nconst pinia = createPinia();\r\nconst { alertDialog } = useAlert();\r\nconst { messageBox } = useMsg();\r\nconst { getBrandFollowAPI } = useAxiosAPI();\r\n\r\nglobal.$ = require('jquery');\r\n\r\nglobal.jQuery = global.$;\r\n\r\nglobalCtrl();\r\n\r\n/**\r\n * popup、alert跳窗\r\n */\r\n// eslint-disable-next-line vue/one-component-per-file\r\nconst appAlert = createApp({\r\n components: {\r\n AlertDialog,\r\n Message,\r\n },\r\n});\r\nappAlert.mount('#app-common');\r\n\r\n/**\r\n * 桌機選單\r\n */\r\n\r\n// eslint-disable-next-line vue/one-component-per-file\r\nconst pcHeader = createApp({\r\n components: {\r\n NewImage,\r\n Modal,\r\n },\r\n setup() {\r\n const { isActive, paddingStyle, useHeaderExtend, useResizeList, useControlHeader } =\r\n useHeaderDiffer();\r\n\r\n const isLogin = ref(false);\r\n\r\n const miniCartStore = useMiniCartStore();\r\n const { totalCount } = storeToRefs(miniCartStore);\r\n const { getCartInfo } = miniCartStore;\r\n const modalStore = useModalStore();\r\n const { isShow, modalName } = storeToRefs(modalStore);\r\n\r\n getCartInfo();\r\n\r\n function handleZeroQuantity() {\r\n alertDialog.alert('購物車目前無商品');\r\n }\r\n\r\n onMounted(() => {\r\n isLogin.value = window.IsLogin === 'True';\r\n\r\n window.addEventListener('scroll', useHeaderExtend);\r\n window.addEventListener('resize', useHeaderExtend, useResizeList);\r\n useHeaderExtend();\r\n useResizeList();\r\n useControlHeader();\r\n });\r\n\r\n onUnmounted(() => {\r\n window.removeEventListener('scroll', useHeaderExtend);\r\n window.removeEventListener('resize', useHeaderExtend);\r\n });\r\n return { isLogin, totalCount, handleZeroQuantity, isActive, paddingStyle, isShow, modalName };\r\n },\r\n});\r\npcHeader.use(pinia).mount('#app-mini-cart');\r\n\r\n/**\r\n * 手機選單\r\n */\r\n\r\n// eslint-disable-next-line vue/one-component-per-file\r\nconst mbSideBar = createApp({\r\n components: {\r\n BrandBtn,\r\n BrandList,\r\n },\r\n setup() {\r\n const { useMbMainSideBar, useMbSideBarClose } = useHeaderDiffer();\r\n\r\n const brandList = ref([]);\r\n function getBrandFollow() {\r\n getBrandFollowAPI()\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n if (res.data.Response) {\r\n for (let i = 0; i < res.data.Response.length; i++) {\r\n if (res.data.Response[i].Followed) {\r\n brandList.value.push(res.data.Response[i]);\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n getBrandFollow();\r\n\r\n function updateBrandList() {\r\n brandList.value = [];\r\n getBrandFollow();\r\n }\r\n\r\n onMounted(() => {\r\n useMbMainSideBar();\r\n useMbSideBarClose();\r\n });\r\n\r\n return {\r\n brandList,\r\n updateBrandList,\r\n };\r\n },\r\n});\r\nmbSideBar.mount('#side-bar');\r\n\r\n// eslint-disable-next-line vue/one-component-per-file\r\nconst mbBottomBar = createApp({\r\n setup() {\r\n const { useMbBottomBar } = useHeaderDiffer();\r\n const isLogin = ref(false);\r\n\r\n const miniCartStore = useMiniCartStore();\r\n const { totalCount } = storeToRefs(miniCartStore);\r\n function handleZeroQuantity() {\r\n alertDialog.alert('購物車目前無商品');\r\n }\r\n\r\n const isExpend = ref(false);\r\n function expendMenu() {\r\n isExpend.value = !isExpend.value;\r\n }\r\n\r\n onMounted(() => {\r\n isLogin.value = window.IsLogin === 'True';\r\n useMbBottomBar();\r\n });\r\n\r\n return { isLogin, totalCount, handleZeroQuantity, expendMenu, isExpend };\r\n },\r\n});\r\nmbBottomBar.mount('#bottom-bar');\r\n\r\n/**\r\n * useGoToTop\r\n */\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n const { scrollToTop, goToTopVisibility } = useGoToTop();\r\n window.addEventListener('scroll', () => goToTopVisibility('#top-btn', 500));\r\n scrollToTop('#top-btn', 250);\r\n});\r\n\r\n/**\r\n * useScrollBar TODO: 待測試\r\n */\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n const { changeScrollbarPosition, customScrollbarX } = useScrollBar();\r\n // 所有文章頁 TabList X軸\r\n changeScrollbarPosition('.article-change-items', '.article-change-items .active');\r\n customScrollbarX('.article-change-items');\r\n // 所有會員頁 TabList X軸\r\n changeScrollbarPosition('.member-menu-list', '.member-menu-list .active');\r\n customScrollbarX('.member-menu-list');\r\n});\r\n\r\n// 全域方法前後端使用\r\nwindow.messageBox = messageBox;\r\nwindow.AlertDialog = alertDialog;\r\n\r\n// TODO: GTM\r\n$('.nav-name .banner a').on('click', function getBannerInfo(e) {\r\n window.localStorage.setItem(\r\n 'promotion',\r\n JSON.stringify({\r\n clickName: 'Promotion Nav Banner',\r\n imgLink: $(this).children('img').attr('src'),\r\n }),\r\n );\r\n});\r\n","import $ from 'jquery';\r\n\r\nfunction useZoomBox(opt) {\r\n // 設定傳入的參數\r\n const imgArray = opt.images; // 所有圖片陣列\r\n const imgArrayOnError = opt.imagesOnError; // 大圖無法讀取時的圖片\r\n const { tilting } = opt; // 是否上下搖動\r\n const lastIndex = imgArray.length - 1;\r\n let index; // 當前圖片序號\r\n\r\n // 基本物件的設定\r\n const videoReg = /\\.[mM][pP]4/;\r\n const $win = $(window);\r\n const $body = $('body');\r\n let $container = $('#zoomBox');\r\n let $elm;\r\n\r\n // 顯示物件的資源參數\r\n let imageUrl;\r\n let source;\r\n let zbVideo;\r\n\r\n // 顯示物件的定位參數\r\n let winT;\r\n let elmW;\r\n let elmH;\r\n let panoH;\r\n let cy;\r\n let yPos;\r\n\r\n // 螢幕縮放時重新計算圖片/影片垂直及水平位置\r\n function resize() {\r\n elmW = $elm.width();\r\n elmH = $elm.height();\r\n panoH = $container.height();\r\n cy = (elmH - panoH) / panoH;\r\n $elm.css({\r\n top: -cy * yPos,\r\n 'margin-left': -elmW / 2,\r\n });\r\n }\r\n\r\n // 定位設定\r\n function imgTilt(isImg) {\r\n // 清空 #zoomBox 的滑鼠移動事件\r\n $container.off('mousemove');\r\n\r\n // 使用新的圖片/影片計算初始值\r\n // 切換時新的圖片/影片會在第一張\r\n winT = $win.scrollTop();\r\n $elm = $container.children().first();\r\n elmW = $elm.width();\r\n elmH = $elm.height();\r\n panoH = $container.height();\r\n cy = (elmH - panoH) / panoH;\r\n if (isImg && tilting) {\r\n // 如果是圖片且需要被上下搖動\r\n // 假如是點擊上下張按鈕的情形,yPos 已經設定過了\r\n // yPos 就維持原參數,如果還沒設定過使用傳入的 opt.pageY 計算\r\n // yPos = 鼠標在頁面中 y 軸的位置 - 頁面捲動的高度\r\n yPos = yPos || opt.yPos;\r\n $elm.css({\r\n top: -cy * yPos,\r\n left: '50%',\r\n 'margin-left': -elmW / 2,\r\n });\r\n\r\n // 綁定滑鼠移動事件\r\n // 滑鼠移動時重新計算圖片垂直位置\r\n $container.on('mousemove', (event) => {\r\n yPos = event.pageY - winT;\r\n $elm.css('top', -cy * yPos);\r\n });\r\n } else {\r\n // 如果不是圖片或不需要被上下搖動\r\n // 但仍持續更新 yPos,避免回到圖片後的跳動\r\n // 設定圖片/影片垂直水平置中\r\n $container.on('mousemove', (event) => {\r\n yPos = event.pageY - winT;\r\n });\r\n\r\n $elm.css({\r\n top: '50%',\r\n left: '50%',\r\n 'margin-top': -elmH / 2,\r\n 'margin-left': -elmW / 2,\r\n });\r\n }\r\n\r\n // 設定完定位後淡入新的圖片/影片\r\n $elm.animate({ opacity: 1 }, 600);\r\n }\r\n\r\n function showImage(i) {\r\n // 設定要顯示的是陣列中 index 為 i 的圖片/影片\r\n imageUrl = imgArray[i];\r\n\r\n // 若沒有要顯示的圖片/影片就關閉 zoombox\r\n if (!imageUrl) {\r\n closeZoomBox();\r\n return;\r\n }\r\n\r\n // 淡出並移除 zoombox 中原來的圖片/影片\r\n $container.children('img, video').fadeOut(600, function () {\r\n $(this).remove();\r\n });\r\n\r\n // 判斷為圖片/影片\r\n if (!videoReg.test(imageUrl)) {\r\n // 一般圖片\r\n // 建立一個圖片物件檢查圖片是否存在\r\n // 圖片順利載入後加到 #zoombox 的最前面\r\n // 圖片加入後設定放大圖片定位\r\n // imgTilt 傳入的 true 代表是圖片\r\n const newImage = new Image();\r\n newImage.src = imageUrl;\r\n newImage.onload = () => {\r\n $(newImage).css('opacity', 0).prependTo($container);\r\n imgTilt(true);\r\n };\r\n newImage.onerror = () => {\r\n // 建立一個圖片物件檢查 onerror 圖片是否存在\r\n // 404 圖片使用順序: opt.imagesOnError -> opt.imgPlaceholder -> nowBrand.imagePlaceholder.default\r\n // 如果仍找不到圖片就依序使用下一個設定\r\n // 建議至少要設定 nowBrand.imagePlaceholder.default\r\n // 當 onerror 的圖片順利載入後,重新設定 newImage 的 src\r\n const errorImage = new Image();\r\n errorImage.src = imgArrayOnError\r\n ? imgArrayOnError[i]\r\n : opt.imgPlaceholder || window.nowBrand.imagePlaceholder.default;\r\n errorImage.onerror = () => {\r\n newImage.src = opt.imgPlaceholder || window.nowBrand.imagePlaceholder.default;\r\n };\r\n errorImage.onload = () => {\r\n newImage.src = errorImage.src;\r\n };\r\n };\r\n } else {\r\n // 影片\r\n // 用 jQuery 比較好操作 video 物件的 css 跟 id\r\n // 建立一個影片物件\r\n // 影片設定後加到 #zoombox 的最前面\r\n // video 標籤的資源讀完後才有辦法抓到影片的高度\r\n // 所以在資源讀完以後再設定定位\r\n // imgTilt 傳入的 false 代表是影片\r\n source = document.createElement('source');\r\n source.type = 'video/mp4';\r\n source.src = imageUrl;\r\n\r\n $elm = $(document.createElement('video'));\r\n $elm\r\n .attr('autoplay', true)\r\n .attr('loop', true)\r\n .attr('width', '100%')\r\n .attr('id', 'zb-video')\r\n .attr('class', 'video-js vjs-default-skin')\r\n .css('opacity', 0)\r\n .append(source)\r\n .prependTo($container);\r\n\r\n zbVideo = document.getElementById('zb-video');\r\n zbVideo.onloadeddata = () => {\r\n imgTilt(false);\r\n };\r\n }\r\n }\r\n\r\n function showButton(i) {\r\n // eslint-disable-next-line no-unused-expressions\r\n i === 0 ? $container.find('.prev').fadeOut() : $container.find('.prev').fadeIn();\r\n\r\n // eslint-disable-next-line no-unused-expressions\r\n i === lastIndex ? $container.find('.next').fadeOut() : $container.find('.next').fadeIn();\r\n }\r\n\r\n function createZoomBox() {\r\n const content =\r\n '
' +\r\n 'PREV' +\r\n 'NEXT' +\r\n 'CLOSE' +\r\n '
';\r\n\r\n $container = $(content);\r\n\r\n // 設定初始按鈕樣式\r\n // eslint-disable-next-line no-unused-expressions\r\n index === 0 && $container.find('.prev').hide();\r\n // eslint-disable-next-line no-unused-expressions\r\n index === lastIndex && $container.find('.next').hide();\r\n\r\n // 如果有自訂的 class 加到 #zoombox 上\r\n // eslint-disable-next-line no-unused-expressions\r\n opt.zbClass && $container.addClass(opt.zbClass);\r\n\r\n return $container;\r\n }\r\n\r\n function showZoomBox() {\r\n $container.fadeIn(400);\r\n showImage(index);\r\n showButton(index);\r\n\r\n // 綁定螢幕縮放事件\r\n $win.on('resize.zoombox', resize);\r\n }\r\n\r\n function closeZoomBox() {\r\n // 關閉 #zoombox 後移除所有相關物件、綁定、設定\r\n $win.off('resize.zoombox');\r\n $body.removeClass('hasoverlay');\r\n\r\n // 移除前先微調一下圖片訂位\r\n $elm.css('margin-left', -$elm.width() / 2);\r\n $container.fadeOut(400, () => {\r\n $container.remove();\r\n });\r\n }\r\n\r\n function onkeydown(event) {\r\n // eslint-disable-next-line default-case\r\n switch (event.keyCode) {\r\n case 27: // Esc\r\n closeZoomBox();\r\n break;\r\n case 37: // 右箭頭,沒顯示的話不點\r\n // eslint-disable-next-line no-unused-expressions\r\n index !== 0 && $container.find('.prev').click();\r\n break;\r\n case 39: // 左箭頭,沒顯示的話不點\r\n // eslint-disable-next-line no-unused-expressions\r\n index !== lastIndex && $container.find('.next').click();\r\n break;\r\n }\r\n }\r\n\r\n const init = () => {\r\n index = opt.index;\r\n\r\n // body 加上 class 'hasoverlay' 來鎖定頁面\r\n $body.addClass('hasoverlay');\r\n\r\n createZoomBox().appendTo('body');\r\n showZoomBox();\r\n\r\n // 點擊 #zoombox 關閉自己\r\n // 除非是點到上/下張\r\n $container.on('click', closeZoomBox);\r\n $container.find('.next').on('click', (event) => {\r\n index += 1;\r\n showImage(index);\r\n showButton(index);\r\n event.preventDefault();\r\n event.stopPropagation();\r\n });\r\n $container.find('.prev').on('click', (event) => {\r\n index -= 1;\r\n showImage(index);\r\n showButton(index);\r\n event.preventDefault();\r\n event.stopPropagation();\r\n });\r\n\r\n // 設定 Esc, 左右箭頭按鍵事件\r\n $body.on('keydown', onkeydown);\r\n };\r\n\r\n // 呼叫 zoombox 時直接執行 init\r\n return init();\r\n}\r\n\r\nexport default useZoomBox;\r\n","\r\n\r\n\r\n","import script from \"./ClothPhoto.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ClothPhoto.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./FoodPhoto.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FoodPhoto.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./WishBtn.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./WishBtn.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ShareModal.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ShareModal.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","\r\n\r\n\r\n","import script from \"./ShareBtn.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ShareBtn.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./SpecCloth.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SpecCloth.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./SpecFood.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SpecFood.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./SpecMobile.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SpecMobile.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./SpecMobileFood.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SpecMobileFood.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./Recommend.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Recommend.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./BrandRecommend.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BrandRecommend.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","const useAddonMappingSpec = (addonCheckArray) => {\r\n let nowIndex = 0;\r\n const newAddonArray = [];\r\n\r\n function getMarketID(fullID) {\r\n return fullID.substring(0, fullID.indexOf('CL'));\r\n }\r\n\r\n function specCheck() {\r\n if (!addonCheckArray[nowIndex].isCheck) {\r\n const tempSpec = {\r\n Name: addonCheckArray[nowIndex].Name,\r\n CustomMarketID_withoutSize: addonCheckArray[nowIndex].CustomMarketID.substring(\r\n 0,\r\n addonCheckArray[nowIndex].CustomMarketID.indexOf('SZ'),\r\n ),\r\n OriginPrice: addonCheckArray[nowIndex].OriginPrice,\r\n SellPrice: addonCheckArray[nowIndex].SellPrice,\r\n Cover: addonCheckArray[nowIndex].Cover,\r\n EventName: addonCheckArray[nowIndex].addonEventName || '',\r\n Specs: [\r\n {\r\n CustomMarketID: addonCheckArray[nowIndex].CustomMarketID,\r\n ColorName: addonCheckArray[nowIndex].ColorName,\r\n Size: addonCheckArray[nowIndex].Size,\r\n HasStock: addonCheckArray[nowIndex].HasStock,\r\n Stock: addonCheckArray[nowIndex].Stock,\r\n Pattern: addonCheckArray[nowIndex].Pattern,\r\n Series: addonCheckArray[nowIndex].Series,\r\n },\r\n ],\r\n BrandName: addonCheckArray[nowIndex].BrandName ? addonCheckArray[nowIndex].BrandName : null,\r\n };\r\n\r\n for (let i = 0; i < addonCheckArray.length; i++) {\r\n if (\r\n nowIndex !== i &&\r\n getMarketID(addonCheckArray[nowIndex].CustomMarketID) ===\r\n getMarketID(addonCheckArray[i].CustomMarketID)\r\n ) {\r\n tempSpec.Specs.push({\r\n CustomMarketID: addonCheckArray[i].CustomMarketID,\r\n ColorName: addonCheckArray[i].ColorName,\r\n Size: addonCheckArray[i].Size,\r\n HasStock: addonCheckArray[i].HasStock,\r\n Stock: addonCheckArray[i].Stock,\r\n Pattern: addonCheckArray[i].Pattern,\r\n Series: addonCheckArray[i].Series,\r\n });\r\n addonCheckArray[i].isCheck = true;\r\n }\r\n }\r\n\r\n addonCheckArray[nowIndex].isCheck = true;\r\n newAddonArray.push(tempSpec);\r\n nowIndex += 1;\r\n\r\n if (nowIndex < addonCheckArray.length) {\r\n specCheck();\r\n }\r\n } else {\r\n nowIndex += 1;\r\n\r\n if (nowIndex < addonCheckArray.length) {\r\n specCheck();\r\n }\r\n }\r\n\r\n return newAddonArray;\r\n }\r\n\r\n specCheck();\r\n\r\n return newAddonArray;\r\n};\r\n\r\nexport default useAddonMappingSpec;\r\n","\r\n\r\n\r\n","import script from \"./AddonItems.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AddonItems.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./AddonLayout.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AddonLayout.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AddonShop.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AddonShop.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./CartDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CartDialog.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import script from \"./FoodDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FoodDialog.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { createApp, watch } from 'vue';\r\nimport { storeToRefs } from 'pinia';\r\nimport useShopContentStore from '@global/stores/useShopContentStore';\r\nimport common from '@page/common/js/common';\r\nimport IndexTemplate from '@page/shopContent/template/index.pug';\r\nimport FoodTemplate from '@page/shopContent/template/food.pug';\r\nimport Photo from '@page/shopContent/components/ClothPhoto.vue';\r\nimport FoodPhoto from '@page/shopContent/components/FoodPhoto.vue';\r\nimport Spec from '@page/shopContent/components/SpecCloth.vue';\r\nimport SpecFood from '@page/shopContent/components/SpecFood.vue';\r\nimport SpecMobile from '@page/shopContent/components/SpecMobile.vue';\r\nimport SpecMobileFood from '@page/shopContent/components/SpecMobileFood.vue';\r\nimport Recommend from '@page/shopContent/components/Recommend.vue';\r\nimport BrandRecommend from '@page/shopContent/components/BrandRecommend.vue';\r\nimport Addon from '@page/shopContent/components/AddonShop.vue';\r\nimport NewImage from '@global/components/common/Image/NewImage.vue';\r\nimport BrandBtn from '@components/BrandBtn.vue';\r\nimport CartDialog from '@components/CartDialog.vue';\r\nimport FoodDialog from '@components/FoodDialog.vue';\r\nimport $ from 'jquery';\r\nimport { fireShopContentView } from '@global/gtm/product';\r\nimport { productInfoEnum } from '@/models/productEnum';\r\n\r\nrequire('@global/vendors/jquery.sticky-kit');\r\n\r\nconst app = createApp({\r\n components: {\r\n Spec,\r\n SpecMobile,\r\n Photo,\r\n Recommend,\r\n BrandRecommend,\r\n Addon,\r\n NewImage,\r\n BrandBtn,\r\n SpecMobileFood,\r\n SpecFood,\r\n FoodPhoto,\r\n CartDialog,\r\n FoodDialog,\r\n },\r\n setup() {\r\n const category = window.ItemCategories[0];\r\n const levelTwo = window.ItemCategories[1];\r\n const { CustomMarketID } = window;\r\n const pattern = window.Pattern;\r\n\r\n const shopContentStore = useShopContentStore();\r\n\r\n const {\r\n itemDatas,\r\n selectedDataID,\r\n dataIsLoad,\r\n userSelectFlavor,\r\n selectedFoodSpec,\r\n CMID,\r\n selectedData,\r\n } = storeToRefs(shopContentStore);\r\n\r\n const { getData, getRecommendData, getSelectedData } = shopContentStore;\r\n\r\n getData(pattern);\r\n getRecommendData();\r\n\r\n function changeTab(event) {\r\n event.preventDefault();\r\n\r\n const target = $(event.target);\r\n const href = target.attr('href');\r\n const scrollTop = $(href).offset().top - 138;\r\n\r\n target.siblings().removeClass('active');\r\n target.addClass('active');\r\n\r\n window.scroll({\r\n top: scrollTop,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n watch(selectedDataID, () => {\r\n getSelectedData();\r\n\r\n fireShopContentView({\r\n customMarketID: window.CustomMarketID,\r\n name: itemDatas.value.Name,\r\n price: itemDatas.value.SellPrice,\r\n affiliation: selectedData.value.Name,\r\n eventName: itemDatas.value.Events?.length ? itemDatas.value.Events[0]?.Name : '',\r\n });\r\n });\r\n\r\n return {\r\n category,\r\n levelTwo,\r\n productInfoEnum,\r\n CustomMarketID,\r\n itemDatas,\r\n selectedDataID,\r\n dataIsLoad,\r\n userSelectFlavor,\r\n selectedFoodSpec,\r\n pattern,\r\n CMID,\r\n selectedData,\r\n changeTab,\r\n };\r\n },\r\n template: window.Pattern !== 2 ? IndexTemplate : FoodTemplate,\r\n});\r\n\r\napp.mount('#shop-content');\r\n\r\n$('.product-menu-pc').stick_in_parent({ offset_top: 180 });\r\n","// Module\nvar code = \"
商品資訊
品名商品詳情 商品尺寸商品介紹
規格材質
產地{{ itemDatas.OriginDescription }}
保養/洗滌方式保固期保存方式/期限洗滌方式
\";\n// Exports\nexport default code;","// Module\nvar code = \"
{{ productInfoEnum.productDescription }}
{{ productInfoEnum.productDescription }}
{{ productInfoEnum.otherInformation }}
{{ productInfoEnum.otherInformation }}
\";\n// Exports\nexport default code;","import script from \"./NewImage.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./NewImage.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./Base.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Base.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./FoodSelect.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FoodSelect.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./Quantity.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Quantity.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./Select.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Select.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./AddressPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./AddressPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./ArrivalNotice.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ArrivalNotice.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","export default class OrderGTMEvent {\r\n static getOderInfo(orderItems) {\r\n const { GiftMarkets, Markets } = orderItems;\r\n const combineArray = [...GiftMarkets, ...Markets];\r\n\r\n if (combineArray.length) {\r\n const itemArray = combineArray.map((product) => {\r\n return {\r\n item_name: product.Name,\r\n affiliation: product.ColorName,\r\n item_brand: product.Size,\r\n item_list_name: '購物車清單',\r\n price: product.SellPrice,\r\n quantity: product.Count,\r\n };\r\n });\r\n\r\n return itemArray;\r\n }\r\n\r\n return [];\r\n }\r\n}\r\n","import { ref } from 'vue';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\nimport fireCancelOrderGAEvent from '@global/gtm/orderGTM';\r\n\r\nconst { deleteOrderAPI, getOrderAPI } = useAxiosAPI();\r\n\r\nconst modalStore = useModalStore();\r\nconst { closeModal } = modalStore;\r\n\r\nfunction useCancelOrder(props) {\r\n const lockBtn = ref(false);\r\n const isOrderLoading = ref(false);\r\n\r\n async function confirmCancel() {\r\n lockBtn.value = true;\r\n isOrderLoading.value = true;\r\n\r\n try {\r\n const deleteResponse = await deleteOrderAPI({\r\n params: {\r\n TransactionID: props.transactionId,\r\n },\r\n });\r\n if (deleteResponse.data.Code === 200) {\r\n const getResponse = await getOrderAPI({\r\n params: {\r\n TransactionID: props.transactionId,\r\n },\r\n });\r\n\r\n fireCancelOrderGAEvent({\r\n orderID: props.transactionId,\r\n orderItems: getResponse.data.Response,\r\n });\r\n // 在所有操作完成後再重新加載頁面\r\n window.location.reload();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n } finally {\r\n closeModal();\r\n }\r\n }\r\n\r\n return {\r\n lockBtn,\r\n isOrderLoading,\r\n confirmCancel,\r\n };\r\n}\r\n\r\nexport default useCancelOrder;\r\n","import { fireRefundGAEvent } from '@global/gtm/base';\r\nimport OrderGTMEvent from '@global/gtm/class/orderClass';\r\n\r\nexport default function fireCancelOrderGAEvent(orderPayload) {\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n const { orderID, orderItems } = orderPayload;\r\n const mapOrderItem = OrderGTMEvent.getOderInfo(orderItems);\r\n\r\n fireRefundGAEvent({\r\n transactionID: orderID,\r\n value: orderItems.PayPrice, // 商品應付款金額\r\n shipping: orderItems.ShippingCost,\r\n items: mapOrderItem,\r\n });\r\n}\r\n","\r\n\r\n\r\n","import script from \"./CancelOrder.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CancelOrder.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./CartDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CartDialog.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./Coupon.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Coupon.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","\r\n\r\n\r\n","import script from \"./FaCancel.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FaCancel.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./FaCheck.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FaCheck.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import script from \"./FoodDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FoodDialog.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./PugModal.vue?vue&type=template&id=0a701c22\"\nconst script = {}\n\nimport exportComponent from \"D:\\\\a\\\\1\\\\s\\\\node_modules\\\\.pnpm\\\\vue-loader@16.8.3_@vue+compiler-sfc@3.5.11_vue@3.5.11_webpack@5.95.0\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n","import { ref, watch } from 'vue';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\nconst { getRefundDetailAPI } = useAxiosAPI();\r\n\r\nconst modalStore = useModalStore();\r\nconst { closeModal } = modalStore;\r\n\r\nfunction useRefundDetail(props) {\r\n const data = ref([]);\r\n const dataIsLoad = ref(false);\r\n\r\n function fetchAPI() {\r\n getRefundDetailAPI(\r\n {\r\n params: {\r\n TransactionID: props.transactionId,\r\n },\r\n },\r\n )\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n data.value = res.data.Response;\r\n dataIsLoad.value = true;\r\n } else {\r\n closeModal();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n closeModal();\r\n });\r\n }\r\n\r\n return {\r\n data,\r\n dataIsLoad,\r\n fetchAPI,\r\n };\r\n}\r\n\r\nexport default useRefundDetail;\r\n","\r\n\r\n\r\n","import script from \"./RefundDetail.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./RefundDetail.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { ref, computed, watch } from 'vue';\r\nimport { storeToRefs } from 'pinia';\r\nimport validate from '@global/vendors/jquery.validate.min';\r\nimport useAlert from '@global/composable/useAlert';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\n/**\r\n * @description 餐飲的退貨跟別人不一樣\r\n */\r\nconst { alertDialog } = useAlert();\r\nconst { getOrderAPI, postRefundCalculateAPI } = useAxiosAPI();\r\n\r\nconst modalStore = useModalStore();\r\nconst { closeModal } = modalStore;\r\n\r\nfunction useRefundList(props) {\r\n const step = ref(0);\r\n const data = ref([]);\r\n const selectedItem = ref([]);\r\n const selectedItemReason = ref([]);\r\n const selectedItemType2Reason = ref([]);\r\n const selectedItemOtherReason = ref([]);\r\n const dataIsLoad = ref(false);\r\n const isCheckGift = ref(false);\r\n const giftData = ref([]);\r\n const reservedMarkets = ref([]);\r\n const reservedUnMatchAddons = ref([]);\r\n const fillReasonIndex = ref(0);\r\n const selectedItemDetail = ref({});\r\n const reasonCheck = ref([\r\n {\r\n code: 'a',\r\n check: false,\r\n text: '一、商品不符所需(尺寸/版型/材質...等)',\r\n sub: [\r\n { code: '1', check: false, text: '尺寸過小或過短' },\r\n { code: '2', check: false, text: '尺寸過大或過長' },\r\n { code: '3', check: false, text: '材質不符預期' },\r\n { code: '4', check: false, text: '版型不符預期' },\r\n ],\r\n },\r\n {\r\n code: 'b',\r\n check: false,\r\n text: '二、商品瑕疵問題(破損/污漬/車線...等)',\r\n sub: [\r\n { code: '1', check: false, text: '商品有破損' },\r\n { code: '2', check: false, text: '商品有污漬' },\r\n { code: '3', check: false, text: '商品有異味' },\r\n { code: '4', check: false, text: '商品剪裁瑕疵' },\r\n { code: '5', check: false, text: '車線問題' },\r\n { code: '6', check: false, text: '商品褪色' },\r\n {\r\n code: '7',\r\n check: false,\r\n text: '商品功能性配件缺損(如鈕釦/拉鏈...等)',\r\n },\r\n ],\r\n },\r\n {\r\n code: 'c',\r\n check: false,\r\n text: '三、商品內容物問題',\r\n sub: [\r\n { code: '1', check: false, text: '商品缺件' },\r\n { code: '2', check: false, text: '寄錯商品' },\r\n { code: '3', check: false, text: '買錯商品' },\r\n ],\r\n },\r\n {\r\n code: 'd',\r\n check: false,\r\n text: '四、商品價格問題',\r\n sub: [\r\n {\r\n code: '1',\r\n check: false,\r\n text: '部分退貨後整體未達免運/活動門檻',\r\n },\r\n { code: '2', check: false, text: '想參與較晚開始的行銷活動' },\r\n { code: '3', check: false, text: '下單後發現沒輸入折扣碼' },\r\n ],\r\n },\r\n ]);\r\n const refundForm = ref(null);\r\n\r\n const type2ReasonOverMax = computed(() => {\r\n // 當有選到第二大項的原因\r\n if (data.value && Object.keys(selectedItemDetail.value).length !== 0) {\r\n return selectedItemType2Reason.value[fillReasonIndex.value].length > 48;\r\n }\r\n return false;\r\n });\r\n\r\n const type5ReasonOverMax = computed(() => {\r\n // 要判斷五(其他)是否輸入超過48個字元\r\n if (data.value && Object.keys(selectedItemDetail.value).length !== 0) {\r\n return selectedItemOtherReason.value[fillReasonIndex.value].length > 48;\r\n }\r\n return false;\r\n });\r\n\r\n const showNextStep = computed(() => {\r\n const selectItemIndex = selectedItem.value.findIndex(\r\n (item) => item.OrderMarketID === selectedItemDetail.value.ID,\r\n );\r\n // 最後一項商品\r\n if (selectedItem.value.length === selectItemIndex + 1) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n const canMoveNextItem = computed(() => {\r\n let result = true;\r\n const reg = /^b+/gm;\r\n\r\n if (selectedItemDetail.value.reasonSelect.length === 0 || type5ReasonOverMax.value) {\r\n result = false;\r\n return result;\r\n }\r\n\r\n // 有勾選主項目但副項目沒勾選的狀況下,不通過\r\n reasonCheck.value.forEach((category) => {\r\n if (category.check) {\r\n if (category.sub.filter((sub) => sub.check).length === 0) {\r\n result = false;\r\n }\r\n }\r\n });\r\n\r\n selectedItemDetail.value.reasonSelect.forEach((category) => {\r\n if (reg.test(category)) {\r\n // 有勾選第二類大項就必須填寫原因\r\n if (selectedItemType2Reason.value[fillReasonIndex.value].length === 0) {\r\n result = false;\r\n }\r\n\r\n // 有勾選第二類大項,字數就不能大於48\r\n if (type2ReasonOverMax.value) {\r\n result = false;\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n });\r\n\r\n const upToTwoSub = computed(() => {\r\n return reasonCheck.value.find((e) => e.code === 'b').sub.filter((e) => e.check).length === 2;\r\n });\r\n\r\n function fetchAPI() {\r\n getOrderAPI({\r\n params: {\r\n OnlyRefundData: 1,\r\n TransactionID: props.transactionId,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n data.value = res.data.Response;\r\n selectedItemReason.value.length = data.value.Markets.length;\r\n selectedItemOtherReason.value.length = data.value.Markets.length;\r\n selectedItemType2Reason.value.length = data.value.Markets.length;\r\n data.value.Markets.forEach((el, index) => {\r\n el.openSelect = false;\r\n el.refundCount = 1;\r\n el.checked = false;\r\n el.reasonSelect = [];\r\n\r\n // 正常商品才會有行銷活動,加價購不會有\r\n // 行銷活動退貨邏輯CanScatteredRefund是false就必須一起退\r\n if (el.Events.length && el.Events[0].CanScatteredRefund === false) {\r\n el.selectCount = el.Count;\r\n } else if (el.Type === 3) {\r\n // 加價購退貨必須全退\r\n el.selectCount = el.Count;\r\n } else {\r\n el.selectCount = `${el.ID}_1`;\r\n }\r\n\r\n // 商品數量\r\n const countOptions = [];\r\n\r\n for (let i = 1; i < el.Count + 1; i++) {\r\n countOptions.push({\r\n value: i,\r\n text: i.toString(),\r\n });\r\n }\r\n\r\n el.countOptions = countOptions;\r\n\r\n // 給予每一項商品預設空字串理由\r\n selectedItemReason.value[index] = '';\r\n selectedItemOtherReason.value[index] = '';\r\n selectedItemType2Reason.value[index] = '';\r\n });\r\n dataIsLoad.value = true;\r\n } else {\r\n closeModal();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n closeModal();\r\n });\r\n }\r\n\r\n function toggleOption(index) {\r\n data.value.Markets[index].openSelect = !data.value.Markets[index].openSelect;\r\n }\r\n\r\n function changeValue(newValue, index) {\r\n data.value.Markets[index].openSelect = false;\r\n data.value.Markets[index].refundCount = newValue;\r\n }\r\n\r\n function onMinus(index) {\r\n if (data.value.Markets[index].refundCount > 1) {\r\n data.value.Markets[index].refundCount -= 1;\r\n }\r\n }\r\n\r\n function onPlus(index) {\r\n if (data.value.Markets[index].refundCount < data.value.Markets[index].Count) {\r\n data.value.Markets[index].refundCount += 1;\r\n }\r\n }\r\n\r\n /**\r\n * @description 清空退貨原因的多選框\r\n */\r\n function clearReasonCheckbox() {\r\n reasonCheck.value.forEach((category) => {\r\n category.check = false;\r\n category.sub.forEach((sub) => {\r\n sub.check = false;\r\n });\r\n });\r\n }\r\n\r\n function setReasonCheckbox() {\r\n clearReasonCheckbox();\r\n\r\n if (selectedItemDetail.value.reasonSelect.length === 0) return;\r\n\r\n selectedItemDetail.value.reasonSelect.forEach((code) => {\r\n reasonCheck.value.forEach((category) => {\r\n if (category.code === code.substring(0, 1)) {\r\n category.check = true;\r\n category.sub.forEach((sub) => {\r\n if (sub.code === code.substring(1)) {\r\n sub.check = true;\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @description 勾選退貨商品\r\n * @param {Object} item 退貨商品\r\n */\r\n function toggleChecked(item) {\r\n item.checked = !item.checked;\r\n getSelectedItem();\r\n }\r\n\r\n /**\r\n * @description 大項目種類 code\r\n * @param {String} categoryCode\r\n */\r\n function toggleReasonCategory(categoryCode) {\r\n reasonCheck.value.forEach((ele) => {\r\n if (ele.code === categoryCode) {\r\n ele.check = !ele.check;\r\n // 大項目種類取消後小項目也必需取消\r\n\r\n if (ele.check === false) {\r\n ele.sub.forEach((subCode) => {\r\n subCode.check = false;\r\n const reasonCodeIndex = selectedItemDetail.value.reasonSelect.indexOf(\r\n ele.code + subCode.code,\r\n );\r\n if (reasonCodeIndex !== -1) {\r\n selectedItemDetail.value.reasonSelect.splice(reasonCodeIndex, 1);\r\n }\r\n });\r\n if (ele.code === 'b') {\r\n selectedItemType2Reason.value[fillReasonIndex.value] = '';\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @description 紀錄子項目勾選狀態\r\n * @param {number} categoryIndex\r\n * @param {number} subCategoryIndex\r\n */\r\n function toggleReasonSubCategory(categoryIndex, subCategoryIndex) {\r\n reasonCheck.value[categoryIndex].sub[subCategoryIndex].check =\r\n !reasonCheck.value[categoryIndex].sub[subCategoryIndex].check;\r\n\r\n const reasonCode =\r\n reasonCheck.value[categoryIndex].code +\r\n reasonCheck.value[categoryIndex].sub[subCategoryIndex].code;\r\n\r\n const findIndex = data.value.Markets.findIndex(\r\n (element) => element.ID === selectedItemDetail.value.ID,\r\n );\r\n\r\n const reasonCodeIndex = selectedItemDetail.value.reasonSelect.indexOf(reasonCode);\r\n if (\r\n selectedItemReason.value[findIndex].length !== 0 &&\r\n selectedItemReason.value[findIndex].at(-1) !== ','\r\n ) {\r\n selectedItemReason.value[findIndex] += ',';\r\n }\r\n if (reasonCodeIndex === -1) {\r\n selectedItemDetail.value.reasonSelect.push(reasonCode);\r\n } else {\r\n selectedItemDetail.value.reasonSelect.splice(reasonCodeIndex, 1);\r\n }\r\n }\r\n\r\n /**\r\n * @description 取得勾選的退貨商品\r\n */\r\n function getSelectedItem() {\r\n selectedItem.value = [];\r\n data.value.Markets.forEach((element) => {\r\n if (element.checked) {\r\n selectedItem.value.push({\r\n OrderMarketID: element.ID,\r\n Count: element.refundCount.toString(),\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @description 前往勾選退貨原因\r\n */\r\n function goStep2() {\r\n step.value = 2;\r\n\r\n selectedItemDetail.value = data.value.Markets.find(\r\n (element) => element.ID == selectedItem.value['0'].OrderMarketID,\r\n );\r\n\r\n // mapping selectedItemReason array index\r\n fillReasonIndex.value = data.value.Markets.findIndex(\r\n (element) => element.ID === selectedItemDetail.value.ID,\r\n );\r\n\r\n setReasonCheckbox();\r\n }\r\n\r\n /**\r\n * @description 勾選多個退貨商品時\r\n * @param {Number} dir 上一個/下一個退貨商品\r\n */\r\n function loopStep2(dir) {\r\n let selectItemIndex = selectedItem.value.findIndex(\r\n (item) => item.OrderMarketID === selectedItemDetail.value.ID,\r\n );\r\n // 下一個退貨商品\r\n if (dir === 1) {\r\n selectItemIndex += 1;\r\n }\r\n\r\n // 上一個退貨商品\r\n if (dir === -1) {\r\n // 當只有選一個商品退貨時,或有多項商品退貨但不是從列表中第一項商品退時\r\n if (selectItemIndex === 0 && step.value !== 3) {\r\n step.value = 1;\r\n clearReasonCheckbox();\r\n return;\r\n }\r\n\r\n // 贈品畫面時\r\n if (step.value === 3) {\r\n step.value = 2;\r\n } else {\r\n // 返回上一個退貨商品\r\n selectItemIndex -= 1;\r\n }\r\n selectedItemReason.value[selectItemIndex] = '';\r\n }\r\n\r\n // 上一個 or 下一個的商品 detail\r\n selectedItemDetail.value = data.value.Markets.find(\r\n (element) => element.ID == selectedItem.value[selectItemIndex].OrderMarketID,\r\n );\r\n\r\n fillReasonIndex.value = data.value.Markets.findIndex(\r\n (element) => element.ID === selectedItemDetail.value.ID,\r\n );\r\n\r\n setReasonCheckbox();\r\n }\r\n\r\n /**\r\n * @description 寫入勾選框及輸入框內容\r\n * @param {Number} index\r\n */\r\n function setOtherReason() {\r\n selectedItem.value.forEach((item) => {\r\n const refundItem = data.value.Markets.find((e) => e.ID === item.OrderMarketID);\r\n const refundItemIndex = data.value.Markets.findIndex((e) => e.ID === item.OrderMarketID);\r\n refundItem.reasonSelect.forEach((select) => {\r\n const categoryCode = select.substring(0, 1);\r\n const subCode = select.substring(1);\r\n const categoryObj = reasonCheck.value.find((e) => e.code === categoryCode);\r\n const subObj = categoryObj.sub.find((e) => e.code === subCode);\r\n selectedItemReason.value[refundItemIndex] +=\r\n categoryObj.text.substring(0, categoryObj.text.indexOf('、')) + '_' + subObj.text + ',';\r\n });\r\n // 寫入五、其他(選填)\r\n if (selectedItemOtherReason.value[refundItemIndex].length !== 0) {\r\n selectedItemReason.value[refundItemIndex] +=\r\n '五_' + selectedItemOtherReason.value[refundItemIndex].replace(/,/g, ',') + ',';\r\n }\r\n // 寫入二的備註說明\r\n const string2Array = selectedItemReason.value[refundItemIndex].split(',');\r\n if (selectedItemType2Reason.value[refundItemIndex].length !== 0) {\r\n string2Array.splice(\r\n string2Array.findLastIndex((e) => e.includes('二')) + 1,\r\n 0,\r\n '二_' + selectedItemType2Reason.value[refundItemIndex].replace(/,/g, ','),\r\n );\r\n }\r\n selectedItemReason.value[refundItemIndex] = string2Array.toString();\r\n });\r\n }\r\n\r\n /**\r\n * @description 返回第一步\r\n */\r\n function returnStep1() {\r\n step.value = 1;\r\n clearReasonCheckbox();\r\n }\r\n\r\n /**\r\n * @description 退貨試算\r\n */\r\n async function getReservedMarkets(orderID) {\r\n getSelectedItem();\r\n setOtherReason();\r\n\r\n selectedItemReason.value.forEach((itemReason, index) => {\r\n if (itemReason.substr(-1) === ',') {\r\n selectedItemReason.value[index] = itemReason.slice(0, -1);\r\n }\r\n });\r\n\r\n postRefundCalculateAPI({\r\n TransactionID: orderID,\r\n RefundMarkets: selectedItem.value,\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n reservedMarkets.value = res.data.Response.ReservedMarkets;\r\n checkRemainItemIfMatchAddon();\r\n } else {\r\n closeModal();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n closeModal();\r\n });\r\n }\r\n\r\n /**\r\n * @description 檢查剩下商品是否有加價購且是否符合條件, 若無跳警告視窗提醒\r\n */\r\n function checkRemainItemIfMatchAddon() {\r\n reservedUnMatchAddons.value = [];\r\n if (reservedMarkets.value.length) {\r\n reservedMarkets.value.forEach((remainItem) => {\r\n if (remainItem.Type === 3 && !remainItem.AddOnEvent.IsMatch) {\r\n reservedUnMatchAddons.value.push(remainItem);\r\n }\r\n });\r\n }\r\n\r\n if (reservedUnMatchAddons.value.length > 0) {\r\n let reservedText = '';\r\n reservedUnMatchAddons.value.forEach((ele, index) => {\r\n reservedText += `

${index + 1}. ${ele.Name}(${ele.ColorName}${\r\n ele.Size\r\n })將以NT$${ele.SellPrice.toLocaleString()}計算

`;\r\n });\r\n\r\n alertDialog.special(\r\n `\r\n
\r\n 提醒您:
您選擇的退貨商品無達到加價購活動門檻
\r\n 請您勾選是否要將加價購商品一併退回
\r\n 若無退回 加價商品將會以商品原價計算 :\r\n
\r\n
${reservedText}
\r\n
\r\n
\r\n 不退回,繼續下一步\r\n
\r\n
\r\n 我要退回\r\n
\r\n
\r\n `,\r\n () => {\r\n checkRefundGift(reservedMarkets.value);\r\n },\r\n );\r\n } else {\r\n checkRefundGift(reservedMarkets.value);\r\n }\r\n }\r\n\r\n /**\r\n * @description 確認是否有贈品\r\n * @param {Array} remainItems 退貨商品\r\n */\r\n function checkRefundGift(remainItems) {\r\n const giftItems = remainItems.filter((item) => item.Type === 2 && !item.GiftEvent.IsMatch);\r\n isCheckGift.value = true;\r\n giftData.value = giftItems;\r\n if (giftData.value.length === 0) {\r\n refundForm.value.submit();\r\n } else {\r\n step.value = 3;\r\n }\r\n }\r\n\r\n /**\r\n * @description 取得商品退貨理由\r\n * @param {Object} item 退貨商品\r\n */\r\n function getSelectedItemReason(item) {\r\n const findIndex = data.value.Markets.findIndex((element) => element.ID === item.OrderMarketID);\r\n\r\n return selectedItemReason.value[findIndex];\r\n }\r\n\r\n function submitFn() {\r\n refundForm.value.submit();\r\n }\r\n\r\n return {\r\n step,\r\n data,\r\n selectedItem,\r\n selectedItemReason,\r\n selectedItemType2Reason,\r\n selectedItemOtherReason,\r\n dataIsLoad,\r\n isCheckGift,\r\n giftData,\r\n reservedMarkets,\r\n reservedUnMatchAddons,\r\n fillReasonIndex,\r\n selectedItemDetail,\r\n reasonCheck,\r\n refundForm,\r\n type2ReasonOverMax,\r\n type5ReasonOverMax,\r\n showNextStep,\r\n canMoveNextItem,\r\n upToTwoSub,\r\n submitFn,\r\n toggleOption,\r\n changeValue,\r\n clearReasonCheckbox,\r\n setReasonCheckbox,\r\n toggleChecked,\r\n toggleReasonCategory,\r\n toggleReasonSubCategory,\r\n getSelectedItem,\r\n goStep2,\r\n loopStep2,\r\n setOtherReason,\r\n returnStep1,\r\n getReservedMarkets,\r\n checkRemainItemIfMatchAddon,\r\n checkRefundGift,\r\n getSelectedItemReason,\r\n onMinus,\r\n onPlus,\r\n fetchAPI,\r\n };\r\n}\r\n\r\nexport default useRefundList;\r\n","\r\n\r\n\r\n","import script from \"./RefundList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./RefundList.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./ShareModal.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ShareModal.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","import { ref, watch } from 'vue';\r\nimport { storeToRefs } from 'pinia';\r\nimport useAxiosAPI from '@global/composable/api/useAxiosAPI';\r\nimport useModalStore from '@global/stores/useModalStore';\r\n\r\nconst { getShippingFlowAPI } = useAxiosAPI();\r\n\r\nconst modalStore = useModalStore();\r\nconst { closeModal } = modalStore;\r\n\r\nfunction useShippingProgress(props) {\r\n const data = ref([]);\r\n const dataIsLoad = ref(false);\r\n const dataEn = ref({\r\n 處理中: 'Processing',\r\n 準備中: 'Packing',\r\n 已出貨: 'Shipped',\r\n 已到貨: 'Delivered',\r\n 貨到門市: 'Delivered',\r\n 配送異常: 'Exception',\r\n 退貨至倉庫: 'Return to warehouse',\r\n 退貨申請: 'Applying',\r\n 物流處理中: 'Processing',\r\n 檢查退貨商品中: 'Checking',\r\n 退貨審核完成: 'Review Process',\r\n 退貨處理完成: 'Return Confirmed',\r\n 退貨取消: '',\r\n 退款完成: 'Refund Confirmed',\r\n 貨故: '',\r\n });\r\n const link = ref(null);\r\n const shippingNumber = ref(null);\r\n\r\n function fetchAPI() {\r\n getShippingFlowAPI({\r\n params: {\r\n TransactionID: props.transactionId,\r\n WmsTransactionID: props.wmstransactionId,\r\n },\r\n })\r\n .then((res) => {\r\n if (res.data.Code === 200) {\r\n data.value = res.data.Response;\r\n dataIsLoad.value = true;\r\n\r\n if (res.data.Response.StatusUrl && res.data.Response.ShippingNumber) {\r\n link.value = res.data.Response.StatusUrl;\r\n shippingNumber.value = res.data.Response.ShippingNumber;\r\n }\r\n } else {\r\n closeModal();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n closeModal();\r\n });\r\n }\r\n\r\n return {\r\n data,\r\n dataIsLoad,\r\n dataEn,\r\n link,\r\n shippingNumber,\r\n fetchAPI,\r\n };\r\n}\r\n\r\nexport default useShippingProgress;\r\n","\r\n\r\n\r\n","import script from \"./ShippingProgress.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ShippingProgress.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./SortPopup.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SortPopup.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n","var map = {\n\t\"./AddressPopup.vue\": 9184,\n\t\"./ArrivalNotice.vue\": 7352,\n\t\"./CancelOrder.vue\": 3207,\n\t\"./CartDialog.vue\": 6810,\n\t\"./Coupon.vue\": 7465,\n\t\"./FaCancel.vue\": 51,\n\t\"./FaCheck.vue\": 3205,\n\t\"./FoodDialog.vue\": 8096,\n\t\"./PugModal.vue\": 1547,\n\t\"./RefundDetail.vue\": 3671,\n\t\"./RefundList.vue\": 1878,\n\t\"./ShareModal.vue\": 3588,\n\t\"./ShippingProgress.vue\": 884,\n\t\"./SortPopup.vue\": 501\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1039;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 1418;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1418: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkurliving\"] = self[\"webpackChunkurliving\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4461,2545], function() { return __webpack_require__(6282); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","generateHeaders","otherObj","handleDefaultError","handle401","handle500","commonAPI","getFavoriteAPI","instance","getData","get","API_URL","postFavoriteAPI","postData","headers","post","deleteFavoriteAPI","deleteData","delete","_objectSpread","getHotSearchAPI","getCartInfoAPI","getShareAPI","id","postNewsletter","loginAPI","postForgetPS","getAccountExist","orderAPI","deleteOrderAPI","getRefundDetailAPI","getOrderAPI","postRefundCalculateAPI","getShippingFlowAPI","getOrderAtmAPI","postCashInAPI","memberAPI","getVerifyPhoneAPI","getBonusRecordAPI","postBonusWithDrawAPI","postUserIdAPI","postUserBankAccountAPI","getDataAnalyzeAPI","faPointAPI","getVerifyFaPointAPI","getFaPointAPI","postUnbindFaPointAPI","apiCalls","getArticleListAPI","getArticleContentAPI","getArticleCategoryAPI","getAddonCartAPI","getAddonEvent","getBrandFollowAPI","postBrandFollowAPI","deleteBrandFollowAPI","postCouponAPI","postCoupon2API","getOrderAddressAPI","postShoppingCartAPI","getShoppingCartAPI","putShoppingCartAPI","putData","put","getAddressBookAPI","deleteAddressBookAPI","postAddressBookAPI","getLastInvoiceAPI","getVerifyMobileCode","getCartRecommendDataAPI","getSearchRecommendAPI","getSortConditionAPI","getDataAPI","getSeriesDataAPI","getBrandRecommendDataAPI","getRecommendDataAPI","getMarketRecommendDataAPI","postNoticeAPI","api","key","func","Object","entries","_len","arguments","length","args","Array","_key","alertDialog","useAlert","axios","create","baseURL","interceptors","request","use","config","error","Promise","reject","response","res","successHandle","data","Code","alert","Message","window","location","href","confirm","resolve","createApi","useAxiosAPI","modalStore","useModalStore","closeModal","dataIsLoad","ref","isBind","faPoint","faBindingTime","faUrl","getFaPoint","value","then","Response","Point","BindingTime","FasneyDetailUrl","catch","console","log","cancelFaPoint","alerts","showAlert","msg","type","callback","dataName","push","$","css","overflow","closeAlert","index","splice","allAlertFn","o","name","imgTransfer","imgUrl","sizeStr","imgName","substring","lastIndexOf","imgExtension","splitArr","split","folderName","pictureContainer","indexOf","StaticImgDomain","replace","messages","showMsg","cls","setTimeout","messageBox","allMsgFn","setEnv","myEquipment","test","navigator","userAgent","innerWidth","smallScreen","breakpoint","isLogin","attr","myCookie","cookieEnabled","myStorage","testKey","storage","localStorage","setItem","removeItem","e","pageDependReact","Boolean","windowReload","windowSizeDefault","windowSizeNew","resize","off","reload","shareToSocial","event","url","social","currentTarget","getAttribute","open","copy","closeFunc","clipboard","Clipboard","on","destroy","utmKDetect","itemSpecInfo","KOLValue","utmData","Cookies","JSON","parse","CMIDs","includes","Name","shareCode","USCValue","fireEventAddToWishList","itemInfo","items","dataLayerObj","currency","dataLayer","fireAddToCartGAEvent","productInfo","fireEventRecommendedGoods","parameters","fireRefundGAEvent","transactionID","shipping","transaction_id","fireMemberFavoriteCartGAEvent","productId","productName","addFavoriteItem","Member_List","hash_ID","Email","undefined","Product_Id","Product_Name","Favorite_Add_To_Cart","fireRecommendViewItemListGAEvent","payload","itemListName","item_list_name","fireCustomProductViewEvent","itemCategory","itemCategory2","itemCategory3","itemID","itemName","eventDataLayer","Head_Button","Category_Button","SubCategory_Button","fireProductViewGAEvent","fireAddToCart","ItemCategories","item_category","item_category2","item_category3","item_category4","price","ECDataLayer","getItem","find","item","customMarketID","item_id","stringify","fireMemberFavoriteAddToCart","gtmTrace","addToCart","ecommerce","currencyCode","add","products","htmlDecode","sale_price","img_url","product_url","variant","color","quantity","count","removeFromCart","remove","checkout","useMiniCartStore","defineStore","totalCount","generalCount","refrigerationCount","freezingCount","generalSpotGoodsCount","refrigerationSpotGoodsCount","freezingSpotGoodsCount","generalMarketProducts","refrigerationMarketProducts","freezingMarketProducts","temperaturesData","hotSearch","hotLoad","isOnlyOneTemp","computed","hasProductTempCount","changeCartTotalCount","itemArray","TotalCount","Temperatures","forEach","ID","Count","Markets","InstockCount","getCartInfo","getHotSearch","params","period","date","limit","hotArray","i","isShow","modalName","modalData","openModal","component","document","body","classList","useSetEnv","dialogData","isOpen","allData","selectedID","dataLoad","listName","isMobile","openDialog","CustomMarketID","ColorID","changeOpen","boolean","foodDialogData","openFoodDialog","MarketID","changeFoodOpen","productInfoEnum","productDetails","productSize","productDescription","otherInformation","btnDescriptionEnum","general","addBag","soldOut","preShow","notice","btnFoodDescriptionEnum","btnStyleEnum","disabled","activeMail","active","ProductGTM","constructor","this","getProductInfo","affiliation","item_brand","eventName","newStringID","String","hasCategory","coupon","item_category5","item_name","item_variant","promotion_name","getProductPrice","mapRecommendData","recommendedData","map","Colors","SellPrice","mapRecommendDataByCategory","sellPrice","mapRecommendViewData","recommendPayload","recommendData","recommendArray","recommendItem","recommendObj","ColorName","mapRecommendViewDataByCategory","mapRecommendViewDataByBarcode","mapRecommendDataByBarcode","fireShopContentView","productGTM","productItemInfo","fireRecommendClickGAEvent","transferData","recommendedType","recommendedMove","recommendedPage","pathname","recommendedProduct","fireRecommendViewGAEvent","WishListGTM","getClickItemInfo","size","fireWishlistEvent","ga4Parameters","useUtmKDetect","useShopContentStore","miniCartStore","itemDatas","pattern","Pattern","selectedDataID","selectedFoodSpec","userSelectFlavor","btnStyleGenerate","btnDescriptionGenerate","pzBuyNow","brandRecommendIsLoad","brandRecommendData","getBrandRecommendData","OnlyFirstColor","Brand","Page","PageSize","randomBrandSlideArray","Data","arr","temp","ctr","Math","floor","random","recommendIsLoad","randomSlideArray","marketRecommendIsLoad","marketRecommendData","selectedData","allSpecPreOrder","favCustomMarketID","keys","Product","selectedSpec","Key","selectedSpecID","selectedSpecKey","selectSpec","spec","clearSpec","resetCounter","getBtnStatus","stock","Stock","isSoldOut","IsOutOfStock","isPreOrder","PreOrder","selectIsOpen","IsPreShow","PictureContainer","addPre","btnReset","counter","CMID","isOpenCartDialog","closeMobileCartDialog","setSelectedFood","foodFlavors","flavor","Selected","Specs","checkHasStock","foodSpec","foodBtnStyle","foodBtnDescription","foodBtnStyleGenerate","foodAddonID","changeFoodAddonID","originID","Flavors","Events","getRecommendData","_window$CategoryIDs","CategoryIDs","toString","getMarketRecommendData","MarketUrl","image","PictureUrl","originPrice","OriginPrice","sellPriceTW","SellPrice_TW","eventPrice","EventPrice","currentCurrency","CurrentCurrency","getSelectedData","allSpecPreOrderArray","element","every","openSelector","changeImg","colorID","noArrivalNotice","UtmTag","ShareCode","Images","Url","Barcode","code","addCount","maxCount","reduceCount","showMobileCartDialog","selectFoodSpec","changeFlavor","flavorIndex","foodAddToCart","toggleFoodFavorite","isFavorite","IsFavorite","FavoriteAmount","toggleFavorite","FavoriteCount","isActive","paddingStyle","async","useHeaderExtend","nextTick","header","querySelector","headerHight","offsetHeight","headerPaddingTop","parseInt","getComputedStyle","paddingTop","scrollY","querySelectorAll","detailBlock","style","top","useResizeList","navList","actionBlock","actionBlockWidth","offsetWidth","width","useControlHeader","addEventListener","preventDefault","elementHeight","elementTopPosition","getBoundingClientRect","block","subTypeCount","left","scrollX","right","useMbBottomBar","bottomEl","targetSelector","targetElement","closeBtnSelector","closeBtnElement","defaultTypeSelector","defaultTypeElement","defaultListSelector","defaultListElement","toggle","contains","display","marginRight","marginLeft","useMbMainSideBar","target","el","useMbMore","useMbSideBarClose","closeEl","sidebarSelector","sidebarElement","changeScrollbarPosition","scrollbarEl","activeEl","adjustNum","scrollbar","adjust","scrollBarWidth","activeItem","activeRect","activePositionLeft","scrollLeft","moveScrollbar","customScrollbarX","detectBrowser","createEvent","content","marginBottom","paddingBottom","scrollRatio","clientWidth","scrollWidth","scrollbarMarkup","insertAdjacentHTML","thumb","track","scrollContentHandler","requestAnimationFrame","pos","x","mouseMoveHandler","dy","clientX","mouseUpHandler","removeEventListener","mouseDownThumbHandler","trackClickHandler","bound","percentage","clientY","height","scrollTop","scrollHeight","clientHeight","scrollToTop","duration","cosParameter","scrollCount","oldTimestamp","step","newTimestamp","PI","scrollTo","round","cos","scrollAnimation","endY","startY","change","startTime","performance","now","animateScroll","currentTime","fraction","newY","goToTopVisibility","opacity","visibility","props","__props","onMounted","useMsg","storeToRefs","selectedImgIndex","showImage","changeContent","tab","watch","nV","oV","btnCollapse","$selfContent","parent","hasClass","removeClass","addClass","slideUp","slideDown","idx","selectedSizes","min","condition","PriceLow","max","PriceHigh","range","getTargetArgValue","arg","targetArg","search","getPriceRangeArg","pl","ph","getSizeArg","initSize","getInitArgs","clearCondition","addSize","findIndex","toggleSize","isSelected","goResult","argsString","join","useAdvancedSort","SelectedModal","shallowRef","modals","require","getElementById","close","modalRef","trapFocus","modal","focusableElements","firstFocusableElement","lastFocusableElement","shiftKey","activeElement","focus","specialModal","AddonDetailPopup","AdvancedPopup","defineAsyncComponent","componentPath","default","getModal","onBeforeUnmount","currentBrand","parents","siblings","html","not","each","children","emit","__emit","toggleFollow","notUpdate","BrandCode","brandCode","updateData","nowEnv","nowBrand","NowMyEquipment","pinia","createPinia","global","jQuery","globalCtrl","createApp","components","AlertDialog","mount","pcHeader","NewImage","Modal","setup","useHeaderDiffer","IsLogin","onUnmounted","handleZeroQuantity","mbSideBar","BrandBtn","BrandList","brandList","getBrandFollow","Followed","updateBrandList","mbBottomBar","isExpend","expendMenu","useGoToTop","useScrollBar","clickName","imgLink","opt","imgArray","images","imgArrayOnError","imagesOnError","tilting","lastIndex","videoReg","$win","$body","$elm","imageUrl","source","zbVideo","winT","elmW","elmH","panoH","cy","yPos","$container","imgTilt","isImg","first","pageY","animate","fadeOut","createElement","src","append","prependTo","onloadeddata","newImage","Image","onload","onerror","errorImage","imgPlaceholder","imagePlaceholder","closeZoomBox","showButton","fadeIn","onkeydown","keyCode","click","hide","zbClass","appendTo","stopPropagation","useImage","shopContentStore","selectedProductCoverImage","img","Category","selectedProductImg","filter","newDatas","ele","useZoomBox","VideoUrl","VideoMUrl","newData","nowUrl","custommarketId","productSellPrice","selectedColor","useShare","closeSelf","link","share","marketId","Link","isBindEvent","category","sizeBtn","_selectedData$value$S","_selectedData$value$S2","_selectedData$value$S3","mapEvents","_itemDatas$value$Even","_itemDatas$value$Gift","GiftEvents","Limit","mapSellPrice","shopTop","clickToCart","cart","isLoad","scroll","newDate","Date","getTime","adEvents","StartDate","EndDate","AdHref","AdImg","activeAdEvents","_event$EndDate","adHref","adImg","mapOriginPrice","_selectedFoodSpec$val","_selectedFoodSpec$val2","_selectedFoodSpec$val3","_selectedFoodSpec$val4","_selectedFoodSpec$val5","_selectedFoodSpec$val6","_selectedFoodSpec$val7","_selectedFoodSpec$val8","toLocaleString","mapEvent","_selectedFoodSpec$val9","_selectedFoodSpec$val10","_selectedFoodSpec$val11","LimitAmount","useDialog","val","breakpoints","setting","itemsToShow","snapAlign","nowSlide","slideStart","slideEnd","fireGAEvent","direction","addonCheckArray","nowIndex","newAddonArray","getMarketID","fullID","specCheck","isCheck","tempSpec","CustomMarketID_withoutSize","Cover","EventName","addonEventName","Size","HasStock","Series","BrandName","selectedCustomMarketID","addonData","selectedCount","stockArray","stockArr","specStockCount","getItemDetail","detailData","checkAddonInCart","itemStock","selectSpecs","cartHasMarketItem","allAddonData","mapAddon","addonCheck","addonWarnText","getPopupDetail","payLoad","newVal","market","immediate","IDNumber","_props$marketId","useAddonMappingSpec","toRefs","text","selected","_selected$value$Image","_selected$value$Specs","_selected$value$Specs2","_selected$value$Specs3","btnStyle","set","btnDescription","newValue","_Object$keys","_Object$keys2","_allData$value$Colors","_selected$value$Specs4","_selected$value$Specs5","btnActive","closeSelect","_allData$value$Custom","_allData$value$Custom2","marketID","shareCodeData","_selectedProductCover","_allData$value$Flavor","_userSelectFlavor$val","_selectedFoodSpec$val14","_selectedFoodSpec$val16","_selectedFoodSpec$val17","_selectedFoodSpec$val18","_selectedFoodSpec$val15","_selectedFoodSpec$val19","_selectedFoodSpec$val20","_selectedFoodSpec$val21","_userSelectFlavor$val2","_selectedFoodSpec$val22","_allData$value","_userSelectFlavor$val3","_selectedFoodSpec$val23","_selectedFoodSpec$val24","_selectedFoodSpec$val25","_selectedFoodSpec$val12","_selectedFoodSpec$val13","Spec","SpecMobile","Photo","Recommend","BrandRecommend","Addon","SpecMobileFood","SpecFood","FoodPhoto","CartDialog","FoodDialog","levelTwo","_itemDatas$value$Even2","changeTab","offset","behavior","template","stick_in_parent","offset_top","renderImg","chooseData","chooseID","Country","shippingRegion","Province","shippingProvince","useAddress","findDataIndex","filterData","useAPIHandler","regex","userMail","regexError","getNotice","OrderGTMEvent","getOderInfo","orderItems","GiftMarkets","combineArray","product","lockBtn","isOrderLoading","confirmCancel","TransactionID","transactionId","getResponse","orderPayload","orderID","mapOrderItem","PayPrice","ShippingCost","fireCancelOrderGAEvent","useCancelOrder","couponSelected","selfKeyIn","enterCoupon","checkCoupon","useFaPoint","_selectedFoodSpec$val26","script","_createCommentVNode","_createElementVNode","fetchAPI","useRefundDetail","selectedItem","selectedItemReason","selectedItemType2Reason","selectedItemOtherReason","isCheckGift","giftData","reservedMarkets","reservedUnMatchAddons","fillReasonIndex","selectedItemDetail","reasonCheck","check","sub","refundForm","type2ReasonOverMax","type5ReasonOverMax","showNextStep","selectItemIndex","OrderMarketID","canMoveNextItem","result","reg","reasonSelect","upToTwoSub","clearReasonCheckbox","setReasonCheckbox","getSelectedItem","checked","refundCount","setOtherReason","refundItem","refundItemIndex","select","categoryCode","subCode","categoryObj","subObj","string2Array","findLastIndex","checkRemainItemIfMatchAddon","remainItem","Type","AddOnEvent","IsMatch","reservedText","special","checkRefundGift","remainItems","giftItems","GiftEvent","submit","submitFn","toggleOption","openSelect","changeValue","toggleChecked","toggleReasonCategory","reasonCodeIndex","toggleReasonSubCategory","categoryIndex","subCategoryIndex","reasonCode","at","goStep2","loopStep2","dir","returnStep1","getReservedMarkets","itemReason","substr","slice","RefundMarkets","ReservedMarkets","getSelectedItemReason","onMinus","onPlus","OnlyRefundData","CanScatteredRefund","selectCount","countOptions","useRefundList","dataEn","處理中","準備中","已出貨","已到貨","貨到門市","配送異常","退貨至倉庫","退貨申請","物流處理中","檢查退貨商品中","退貨審核完成","退貨處理完成","退貨取消","退款完成","貨故","shippingNumber","WmsTransactionID","wmstransactionId","StatusUrl","ShippingNumber","useShippingProgress","wid","selectedMode","searchLocation","ModeStr","mode","charAt","getOrderMode","selectedBrands","selectedOM","changeOM","num","toggleBrand","brand","getOMArg","getBrandArg","initBrand","webpackContext","req","webpackContextResolve","__webpack_require__","Error","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}