{"version":3,"sources":["webpack:///./src/views/topicPages/BrandProducts.vue?e56b","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./src/helpers/mixins/ScrollToLoad.ts","webpack:///./src/components/External/ProductListItem.vue?bf86","webpack:///./src/components/External/ProductListItem.vue","webpack:///./src/components/External/ProductListItem.vue?7af2","webpack:///./src/components/External/ProductListItem.vue?1075","webpack:///./src/views/topicPages/BrandProducts.vue?e433","webpack:///./src/views/topicPages/components/BrandCategoryFilter.vue?0e73","webpack:///./src/views/topicPages/components/BrandCategoryFilter.vue","webpack:///./src/views/topicPages/components/BrandCategoryFilter.vue?b4cc","webpack:///./src/views/topicPages/components/BrandCategoryFilter.vue?8760","webpack:///./src/views/topicPages/BrandProducts.vue","webpack:///./src/views/topicPages/BrandProducts.vue?4dcd","webpack:///./src/views/topicPages/BrandProducts.vue?f040"],"names":["_arrayWithoutHoles","arr","Array","isArray","arrayLikeToArray","_iterableToArray","iter","Symbol","iterator","Object","from","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","ScrollToLoad","allDataList","displayedDataList","isDataLoading","itemCountPerLoading","itemPageIndex","loadedItemSectionHeight","pageCount","query","pageIndex","pageSize","window","addEventListener","this","scrollToLoad","removeEventListener","scrollTop","document","documentElement","body","windowHeight","clientHeight","scrollHeight","inPageCount","isLoadAllData","setTimeout","addNewDataList","console","log","length","Math","ceil","itemPageCount","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","name","params","skuId","item","id","selectByLang","nameCn","nameEn","slice","getImageSource","imgUrl","_v","_s","showCNYPrice","showPrice","$t","_e","storeId","shopId","storeName","staticRenderFns","component","_m","brandBanner","class","selectedCategory","on","$event","selectCategory","categoryList","_l","key","sortInfo","filterByTime","filterByDefault","filterByPrice","defaultClass","createTimeClass","priceClass","updateArrow","$emit","required","selectedCate","selectedSortInfo","getBrandDetails","ApiRequiredData","BrandId","api","res","data","results","aggregations","chosenBrand","customBanner","value","$store","getters","locale","$route","brandId","lang","sortRule","Filters","CategoryNameEn","CategoryNameCn","ProductCard","components","ProductListItem","BrandCategoryFilter"],"mappings":"iHAAA,yBAAuiB,EAAG,G,oFCC3hB,SAASA,EAAmBC,GACzC,GAAIC,MAAMC,QAAQF,GAAM,OAAOG,eAAiBH,G,gFCFnC,SAASI,EAAiBC,GACvC,GAAsB,qBAAXC,QAA0BA,OAAOC,YAAYC,OAAOH,GAAO,OAAOJ,MAAMQ,KAAKJ,G,gBCD3E,SAASK,IACtB,MAAM,IAAIC,UAAU,wICGP,SAASC,EAAmBZ,GACzC,OAAOa,EAAkBb,IAAQc,EAAgBd,IAAQe,eAA2Bf,IAAQgB,M,sICDzEC,EAArB,yG,0BACS,EAAAC,YAAwB,GACxB,EAAAC,kBAA8B,GAC9B,EAAAC,eAAgB,EAEhB,EAAAC,oBAAsB,EACtB,EAAAC,cAAgB,EAChB,EAAAC,wBAA0B,IAC1B,EAAAC,UAAY,EACZ,EAAAC,MAAQ,CACbC,UAAW,EACXC,SAAU,GAXd,2DAmBIC,OAAOC,iBAAiB,SAAUC,KAAKC,gBAnB3C,kCAuBIH,OAAOI,oBAAoB,SAAUF,KAAKC,gBAvB9C,qCAuCc,WAEJE,EACJC,SAASC,gBAAgBF,WAAaC,SAASE,KAAKH,UAEhDI,EACJH,SAASC,gBAAgBG,cAAgBJ,SAASE,KAAKE,aAEnDC,EACJL,SAASC,gBAAgBI,cAAgBL,SAASE,KAAKG,cAEpDT,KAAKV,eAAkBa,EAAYI,GAAgBE,EAAeT,KAAKP,yBAA6BO,KAAKU,aAAeV,KAAKW,gBAChIX,KAAKV,eAAgB,EAErBsB,WAAU,wCAAC,8GAGH,EAAKC,iBAHF,OAIT,EAAKvB,eAAgB,EAJZ,2CAKR,QA1DT,uCA8DIwB,QAAQC,IAAI,sBA9DhB,oCAeI,OAAOf,KAAKZ,YAAY4B,OAAQC,KAAKC,KAAKlB,KAAKZ,YAAY4B,OAAOhB,KAAKT,qBAAuB,IAflG,kCA2BI,OAAOS,KAAKN,WAAaM,KAAKL,MAAMC,YA3BxC,oCA+BI,OAAOI,KAAKmB,cAAgBnB,KAAKR,kBA/BrC,GAA0C,QAArBL,EAAY,gBADhC,QACoBA,GAAA,U,kCCJrB,IAAIiC,EAAS,WAAa,IAAIC,EAAIrB,KAASsB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACA,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,cAAc,CAACE,YAAY,aAAaC,MAAM,CAAC,GAAK,CAACC,KAAM,iBAAmBC,OAAQ,CAAEC,MAAOT,EAAIU,KAAKC,KAAM,MAAQX,EAAIY,aAAaZ,EAAIU,KAAKG,OAAQb,EAAIU,KAAKI,QAAQC,MAAM,EAAG,IAAI,OAAS,WAAW,CAACZ,EAAG,MAAM,CAACG,MAAM,CAAC,IAAMN,EAAIgB,eAAe,MAAOhB,EAAIU,KAAKO,QAAQ,IAAMjB,EAAIY,aAAaZ,EAAIU,KAAKG,OAAQb,EAAIU,KAAKI,QAAQC,MAAM,EAAG,UAAU,GAAGZ,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,IAAI,CAACE,YAAY,SAAS,CAACF,EAAG,cAAc,CAACE,YAAY,aAAaC,MAAM,CAAC,GAAK,CAACC,KAAM,iBAAmBC,OAAQ,CAAEC,MAAOT,EAAIU,KAAKC,KAAM,OAAS,WAAW,CAACX,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIY,aAAaZ,EAAIU,KAAKG,OAAQb,EAAIU,KAAKI,aAAa,GAAGX,EAAG,IAAI,CAACA,EAAG,OAAO,CAACE,YAAY,gBAAgB,CAACF,EAAG,QAAQ,CAACH,EAAIkB,GAAG,QAAQlB,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIoB,aAAapB,EAAIU,UAAUV,EAAIkB,GAAG,KAAKf,EAAG,OAAO,CAACE,YAAY,kBAAkB,CAACL,EAAIkB,GAAG,OAAOlB,EAAImB,GAAGnB,EAAIqB,UAAUrB,EAAIU,OAAO,WAAWP,EAAG,MAAM,CAACE,YAAY,YAAY,CAAEL,EAAIU,KAAiB,aAAEP,EAAG,OAAO,CAACE,YAAY,aAAa,CAACL,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIsB,GAAG,2BAA2BtB,EAAIuB,OAASvB,EAAIwB,QAA6PxB,EAAIuB,KAAxPpB,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,IAAI,CAACA,EAAG,cAAc,CAACE,YAAY,WAAWC,MAAM,CAAC,GAAK,CAAEC,KAAM,YAAaC,OAAQ,CAAEiB,OAAQzB,EAAIU,KAAKc,UAAW,OAAS,WAAW,CAACxB,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIU,KAAKgB,eAAe,GAAGvB,EAAG,IAAI,CAACH,EAAIkB,GAAG,cAC13CS,EAAkB,G,oFCKD,EAArB,kLAII,OAAO,KAAK,OAAO,OAAO,QAAQ,OAJtC,GAA6C,eAAO,SACzB,gBAAxB,eAAK,CAAC,UAAU,K,2BADE,EAAe,gBADnC,QACoB,WCNuY,I,YCOxZC,EAAY,eACd,EACA7B,EACA4B,GACA,EACA,KACA,KACA,MAIa,OAAAC,E,kDClBf,IAAI7B,EAAS,WAAa,IAAIC,EAAIrB,KAASsB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,UAAU,CAACL,EAAI6B,GAAG,GAAG1B,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,MAAM,CAACG,MAAM,CAAC,IAAMN,EAAIgB,eAAe,OAAQhB,EAAI8B,kBAAkB3B,EAAG,MAAM,CAACE,YAAY,gCAAgC,CAACF,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,SAAS,CAACL,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIsB,GAAG,sBAAsB,OAAOnB,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,IAAI,CAAC4B,MAA+B,KAAzB/B,EAAIgC,iBAAyB,WAAW,GAAG1B,MAAM,CAAC,KAAO,gBAAgB2B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOlC,EAAImC,eAAe,OAAO,CAACnC,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIsB,GAAG,kBAAmBtB,EAAIoC,aAAa,GAAIjC,EAAG,OAAOH,EAAIqC,GAAIrC,EAAIoC,aAAa,GAAU,SAAE,SAAS1B,GAAM,OAAOP,EAAG,IAAI,CAACmC,IAAI5B,EAAK4B,IAAIP,MAAM/B,EAAIgC,mBAAqBtB,EAAK4B,IAAK,WAAW,GAAGhC,MAAM,CAAC,KAAO,gBAAgB2B,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOlC,EAAImC,eAAezB,EAAK4B,QAAQ,CAACtC,EAAIkB,GAAGlB,EAAImB,GAAGT,EAAK4B,WAAU,GAAGtC,EAAIuB,SAASpB,EAAG,sBAAsB,CAACG,MAAM,CAAC,YAAYN,EAAIuC,UAAUN,GAAG,CAAC,aAAejC,EAAIwC,aAAa,QAAUxC,EAAIyC,gBAAgB,cAAgBzC,EAAI0C,iBAAiBvC,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,mBAAmB,CAACG,MAAM,CAAC,IAAM,KAAK,KAAO,iBAAiBN,EAAIqC,GAAIrC,EAAqB,mBAAE,SAASU,GAAM,OAAOP,EAAG,KAAK,CAACmC,IAAI5B,EAAKC,IAAI,CAACR,EAAG,oBAAoB,CAACG,MAAM,CAAC,KAAOI,MAAS,MAAK,IAAI,GAAGP,EAAG,MAAM,CAAC4B,MAAM/B,EAAI/B,cAAgB,cAAgB,sBAAsB,QAC/7C0D,EAAkB,CAAC,WAAa,IAAI3B,EAAIrB,KAASsB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACG,MAAM,CAAC,IAAM,mC,4JCDnK,EAAS,WAAa,IAAIN,EAAIrB,KAASsB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,IAAI,CAAC4B,MAAM/B,EAAI2C,aAAarC,MAAM,CAAC,KAAO,gBAAgB2B,GAAG,CAAC,MAAQjC,EAAIyC,kBAAkB,CAACzC,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIsB,GAAG,wBAAwBnB,EAAG,IAAI,CAAC4B,MAAM/B,EAAI4C,gBAAgBtC,MAAM,CAAC,KAAO,gBAAgB2B,GAAG,CAAC,MAAQjC,EAAIwC,eAAe,CAACxC,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIsB,GAAG,8BAA8BnB,EAAG,IAAI,CAAC4B,MAAM/B,EAAI6C,WAAWvC,MAAM,CAAC,KAAO,gBAAgB2B,GAAG,CAAC,MAAQjC,EAAI0C,gBAAgB,CAAC1C,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAIsB,GAAG,2BAClkB,EAAkB,GCaD,EAArB,yG,0BAGS,EAAAsB,gBAAkB,GAClB,EAAAC,WAAa,GACb,EAAAF,aAAe,GALxB,oEASIhE,KAAKmE,gBATT,oCAYI,OAAQnE,KAAK4D,UACX,IAAK,kBACH5D,KAAKiE,gBAAkB,YACvBjE,KAAKkE,WAAa,GAClBlE,KAAKgE,aAAe,GACpB,MACF,IAAK,iBACHhE,KAAKiE,gBAAkB,UACvBjE,KAAKkE,WAAa,GAClBlE,KAAKgE,aAAe,GACpB,MACF,IAAK,oBACHhE,KAAKkE,WAAa,YAClBlE,KAAKiE,gBAAkB,GACvBjE,KAAKgE,aAAe,GACpB,MACF,IAAK,mBACHhE,KAAKkE,WAAa,UAClBlE,KAAKiE,gBAAkB,GACvBjE,KAAKgE,aAAe,GACpB,MACF,IAAK,UACHhE,KAAKkE,WAAa,GAClBlE,KAAKiE,gBAAkB,GACvBjE,KAAKgE,aAAe,cApC5B,gCAyCIhE,KAAKmE,gBAzCT,qCA8CyB,oBAAlBnE,KAAK4D,SACN5D,KAAKoE,MAAM,eAAgB,GAE3BpE,KAAKoE,MAAM,eAAgB,KAjDjC,sCAsDyB,sBAAlBpE,KAAK4D,SACN5D,KAAKoE,MAAM,gBAAiB,GAE5BpE,KAAKoE,MAAM,gBAAiB,KAzDlC,wCA8DyB,YAAlBpE,KAAK4D,UACN5D,KAAKoE,MAAM,eA/DjB,GAAiD,QACvB,gBAAvB,eAAK,CAACC,UAAU,K,+BAOjB,gBADC,eAAM,a,+BAGN,MAVkB,EAAmB,gBADvC,QACoB,WCd6Z,I,YCO9apB,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,oBC2CM,EAArB,yG,0BACS,EAAA1D,oBAAsB,EACtB,EAAA+E,aAAe,GACf,EAAAC,iBAAmB,GACnB,EAAAd,aAAe,GACf,EAAAN,YAAc,GACd,EAAAxD,MAAQ,CACbC,UAAW,EACXC,SAAU,IAEL,EAAA+D,SAAW,UACX,EAAAP,iBAAmB,GAX5B,2DAkBIrD,KAAKwE,oBAlBT,uCAoDIxE,KAAKwE,oBApDT,iMAwDI1D,QAAQC,IAAIf,KAAKyE,gBAAiBzE,KAAK0E,SAxD3C,kBA0DwBC,EAAA,KAAIH,gBAAgBxE,KAAKyE,iBA1DjD,OA0DYG,EA1DZ,OA2DM5E,KAAKN,UAAYkF,EAAIC,KAAKnF,UACE,IAAzBM,KAAKL,MAAMC,UACZI,KAAKX,kBAAoBuF,EAAIC,KAAKA,KAAKC,QAEvC9E,KAAKX,kBAAL,yBAA6BW,KAAKX,mBAAlC,eAAwDuF,EAAIC,KAAKA,KAAKC,UAExC,IAA7B9E,KAAKyD,aAAazC,QAAqC,KAArBhB,KAAKmD,cACxCnD,KAAKyD,aAAemB,EAAIC,KAAKA,KAAKE,aAClC/E,KAAKmD,YAAcyB,EAAIC,KAAKA,KAAKG,YAAYC,cAE/CjF,KAAKL,MAAMC,WAAa,EACxBkB,QAAQC,IAAI,CAAE6D,QAtEpB,qDAwEM9D,QAAQC,IAAR,MAxEN,kNA4EsBmE,GA5EtB,wFA6EIpE,QAAQC,IAAImE,GAEVlF,KAAK4D,SADM,IAAVsB,EACe,mBAEA,oBAElBlF,KAAKL,MAAMC,UAAY,EAnF3B,SAoFUI,KAAKwE,kBApFf,wMAuFqBU,GAvFrB,wFAyFMlF,KAAK4D,SADM,IAAVsB,EACe,iBAEA,kBAElBlF,KAAKL,MAAMC,UAAY,EA7F3B,SA8FUI,KAAKwE,kBA9Ff,qSAiGIxE,KAAK4D,SAAW,UAjGpB,SAkGU5D,KAAKwE,kBAlGf,yMAoGuBU,GApGvB,wFAqGIlF,KAAKqD,iBAAmB6B,EACxBlF,KAAKL,MAAMC,UAAY,EAtG3B,SAuGUI,KAAKwE,kBAvGf,qIAcI,OAAOxE,KAAKmF,OAAOC,QAAQC,SAd/B,8BAsBI,OAAOrF,KAAKsF,OAAOzD,OAAO0D,UAtB9B,sCA0BI,IAAIV,EAAO,GAsBX,OApBEA,EADgB,OAAd7E,KAAKwF,KACA,CACLD,SAAUvF,KAAK0E,QACf9E,UAAWI,KAAKL,MAAMC,UACtBC,SAAUG,KAAKL,MAAME,SACrB4F,SAAUzF,KAAK4D,SACf8B,QAAS,CACPC,eAAgB,CAAC3F,KAAKqD,oBAInB,CACLkC,SAAUvF,KAAK0E,QACf9E,UAAWI,KAAKL,MAAMC,UACtBC,SAAUG,KAAKL,MAAME,SACrB4F,SAAUzF,KAAK4D,SACf8B,QAAS,CACPE,eAAgB,CAAC5F,KAAKqD,oBAIrBwB,MAhDX,GAA2C,eAAO1F,EAAA,KAAc0G,EAAA,OAA3C,EAAa,gBANjC,eAAU,CACTC,WAAY,CACVC,kBAAA,KACAC,oBAAA,MAGiB,WC7DqY,ICQtZ,G,UAAY,eACd,EACA5E,EACA4B,GACA,EACA,KACA,KACA,OAIa,e","file":"static/js/BrandProducts.05493479.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BrandProducts.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BrandProducts.vue?vue&type=style&index=0&lang=scss&\"","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import {Component, Vue} from \"vue-property-decorator\";\r\n\r\n\r\n@Component\r\nexport default class ScrollToLoad extends Vue {\r\n public allDataList: object[] = []\r\n public displayedDataList: object[] = []\r\n public isDataLoading = false\r\n //how many items will be load on 1 scroll\r\n public itemCountPerLoading = 5\r\n public itemPageIndex = 0\r\n public loadedItemSectionHeight = 465\r\n public pageCount = 1\r\n public query = {\r\n pageIndex: 1,\r\n pageSize: 5,\r\n }\r\n\r\n get itemPageCount() {\r\n return this.allDataList.length? Math.ceil(this.allDataList.length/this.itemCountPerLoading) : 1\r\n }\r\n\r\n mounted() {\r\n window.addEventListener(\"scroll\", this.scrollToLoad); //watch scroll\r\n }\r\n\r\n destroyed() {\r\n window.removeEventListener(\"scroll\", this.scrollToLoad); //remove wathc scroll\r\n }\r\n\r\n get inPageCount(){\r\n return this.pageCount >= this.query.pageIndex\r\n }\r\n\r\n get isLoadAllData(){\r\n return this.itemPageCount > this.itemPageIndex\r\n }\r\n\r\n // beforeMount() {\r\n // // 在页面挂载前就发起请求\r\n // this.addNewDataList();\r\n // }\r\n\r\n scrollToLoad(){\r\n // 变量 scrollTop 是滚动条滚动时, 距离顶部的距离\r\n const scrollTop =\r\n document.documentElement.scrollTop || document.body.scrollTop;\r\n // 变量 windowHeight 是可视区的高度\r\n const windowHeight =\r\n document.documentElement.clientHeight || document.body.clientHeight;\r\n // 变量 scrollHeight 是滚动条的总高度\r\n const scrollHeight =\r\n document.documentElement.scrollHeight || document.body.scrollHeight;\r\n // 滚动条到底部的条件 (距底部 465px 时触发加载)\r\n if (!this.isDataLoading && (scrollTop + windowHeight >= scrollHeight - this.loadedItemSectionHeight) && this.inPageCount && this.isLoadAllData) {\r\n this.isDataLoading = true;\r\n // 延时触发数据加载\r\n setTimeout(async() => {\r\n // 后端需要进行分页, 然后前端从后端拿来实现滚动加载\r\n // 这里利用数组 push 来模拟从后端拿到的数据\r\n await this.addNewDataList()\r\n this.isDataLoading = false;\r\n }, 500);\r\n }\r\n }\r\n addNewDataList() {\r\n console.log('use child method')\r\n }\r\n\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('div',{staticClass:\"imgContainer\"},[_c('router-link',{staticClass:\"productImg\",attrs:{\"to\":{name: 'ProductDetails', params: { skuId: _vm.item.id }},\"title\":_vm.selectByLang(_vm.item.nameCn, _vm.item.nameEn).slice(0, 10),\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":_vm.getImageSource('130', _vm.item.imgUrl),\"alt\":_vm.selectByLang(_vm.item.nameCn, _vm.item.nameEn).slice(0, 10)}})])],1),_c('div',{staticClass:\"productInfo\"},[_c('p',{staticClass:\"title\"},[_c('router-link',{staticClass:\"productImg\",attrs:{\"to\":{name: 'ProductDetails', params: { skuId: _vm.item.id }},\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.selectByLang(_vm.item.nameCn, _vm.item.nameEn)))])],1),_c('p',[_c('span',{staticClass:\"productPrice\"},[_c('small',[_vm._v(\"约¥\")]),_vm._v(_vm._s(_vm.showCNYPrice(_vm.item)))]),_vm._v(\" \"),_c('span',{staticClass:\"originalPrical\"},[_vm._v(\"(NZ$\"+_vm._s(_vm.showPrice(_vm.item))+\")\")])])]),_c('div',{staticClass:\"salesTag\"},[(_vm.item.freeShipping)?_c('span',{staticClass:\"tagOrange\"},[_vm._v(_vm._s(_vm.$t('Public.freeShipping')))]):_vm._e()]),(!_vm.storeId)?_c('div',{staticClass:\"storeInfo\"},[_c('p',[_c('router-link',{staticClass:\"shopName\",attrs:{\"to\":{ name: 'ShopIndex', params: { shopId: _vm.item.storeId }},\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.item.storeName))])],1),_c('p',[_vm._v(\"新西兰\")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\rimport {Component, Prop, Mixins} from 'vue-property-decorator'\rimport {SKU} from \"@/helpers/interfaces\";\rimport ProductCard from \"@/helpers/mixins/ProductCard\";\r\r@Component\rexport default class ProductListItem extends Mixins(ProductCard) {\r @Prop({required: false}) item!: SKU\r\r get storeId() {\r return this.$route.params.shopId||\"\"\r }\r}\r","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductListItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductListItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductListItem.vue?vue&type=template&id=143bd06b&\"\nimport script from \"./ProductListItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductListItem.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"greyBg\"},[_vm._m(0),_c('div',{staticClass:\"container clearfix\"},[_c('div',{staticClass:\"brandImg_l\"},[_c('img',{attrs:{\"src\":_vm.getImageSource('1190', _vm.brandBanner)}})]),_c('div',{staticClass:\"searchOptionList topicBrands\"},[_c('div',{staticClass:\"searchOption\"},[_c('div',{staticClass:\"oName\"},[_vm._v(_vm._s(_vm.$t('Public.Categories'))+\":\")]),_c('div',{staticClass:\"oCatg\"},[_c('a',{class:_vm.selectedCategory === ''? 'selected':'',attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){return _vm.selectCategory('')}}},[_vm._v(_vm._s(_vm.$t('Public.all')))]),(_vm.categoryList[0])?_c('span',_vm._l((_vm.categoryList[0].buckets),function(item){return _c('a',{key:item.key,class:_vm.selectedCategory === item.key? 'selected':'',attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){return _vm.selectCategory(item.key)}}},[_vm._v(_vm._s(item.key))])}),0):_vm._e()])]),_c('BrandCategoryFilter',{attrs:{\"sort-info\":_vm.sortInfo},on:{\"filterByTime\":_vm.filterByTime,\"default\":_vm.filterByDefault,\"filterByPrice\":_vm.filterByPrice}}),_c('div',{staticClass:\"productList\"},[_c('transition-group',{attrs:{\"tag\":\"ul\",\"name\":\"product-list\"}},_vm._l((_vm.displayedDataList),function(item){return _c('li',{key:item.id},[_c('product-list-item',{attrs:{\"item\":item}})],1)}),0)],1),_c('div',{class:_vm.isDataLoading ? 'loadingIcon' : 'loadingIcon hide'})],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"topicHeader\"},[_c('img',{attrs:{\"src\":\"/img/topic/topic_jxpp.jpg\"}})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filterBar topicBrands\"},[_c('div',{staticClass:\"fliterBtns\"},[_c('a',{class:_vm.defaultClass,attrs:{\"href\":\"javascript:;\"},on:{\"click\":_vm.filterByDefault}},[_vm._v(_vm._s(_vm.$t('Category.Default')))]),_c('a',{class:_vm.createTimeClass,attrs:{\"href\":\"javascript:;\"},on:{\"click\":_vm.filterByTime}},[_vm._v(_vm._s(_vm.$t('Category.NewestArrival')))]),_c('a',{class:_vm.priceClass,attrs:{\"href\":\"javascript:;\"},on:{\"click\":_vm.filterByPrice}},[_vm._v(_vm._s(_vm.$t('Category.Price')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Vue, Prop, Watch} from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class BrandCategoryFilter extends Vue {\r\n @Prop({required: true}) sortInfo!: string\r\n\r\n public createTimeClass = \"\"\r\n public priceClass = \"\"\r\n public defaultClass = \"\"\r\n\r\n @Watch('sortInfo')\r\n onSortInfoChange(){\r\n this.updateArrow()\r\n }\r\n public updateArrow(){\r\n switch (this.sortInfo) {\r\n case 'createTime-desc':\r\n this.createTimeClass = \"arrowDown\";\r\n this.priceClass = \"\";\r\n this.defaultClass = \"\";\r\n break;\r\n case 'createTime-asc':\r\n this.createTimeClass = \"arrowUp\";\r\n this.priceClass = \"\";\r\n this.defaultClass = \"\";\r\n break;\r\n case 'sellingPrice-desc':\r\n this.priceClass = \"arrowDown\";\r\n this.createTimeClass = \"\";\r\n this.defaultClass = \"\";\r\n break;\r\n case 'sellingPrice-asc':\r\n this.priceClass = \"arrowUp\";\r\n this.createTimeClass = \"\";\r\n this.defaultClass = \"\";\r\n break;\r\n case 'default':\r\n this.priceClass = \"\";\r\n this.createTimeClass = \"\";\r\n this.defaultClass = \"selected\";\r\n }\r\n }\r\n\r\n created(){\r\n this.updateArrow()\r\n }\r\n\r\n\r\n public filterByTime(){\r\n if(this.sortInfo === \"createTime-desc\"){\r\n this.$emit('filterByTime', 1)\r\n }else{\r\n this.$emit('filterByTime', 0)\r\n }\r\n }\r\n\r\n public filterByPrice(){\r\n if(this.sortInfo === \"sellingPrice-desc\"){\r\n this.$emit('filterByPrice', 1)\r\n }else{\r\n this.$emit('filterByPrice', 0)\r\n }\r\n }\r\n\r\n public filterByDefault(){\r\n if(this.sortInfo !== 'default'){\r\n this.$emit('default')\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BrandCategoryFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BrandCategoryFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BrandCategoryFilter.vue?vue&type=template&id=54663a55&\"\nimport script from \"./BrandCategoryFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./BrandCategoryFilter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Mixins} from 'vue-property-decorator'\r\nimport ScrollToLoad from \"@/helpers/mixins/ScrollToLoad\";\r\nimport api from \"@/api/api\";\r\nimport ProductListItem from \"@/components/External/ProductListItem.vue\";\r\nimport BrandCategoryFilter from \"@/views/topicPages/components/BrandCategoryFilter.vue\";\r\nimport ProductCard from \"@/helpers/mixins/ProductCard\";\r\n\r\n@Component({\r\n components: {\r\n ProductListItem,\r\n BrandCategoryFilter,\r\n }\r\n})\r\nexport default class BrandProducts extends Mixins(ScrollToLoad, ProductCard) {\r\n public itemCountPerLoading = 5\r\n public selectedCate = \"\"\r\n public selectedSortInfo = \"\"\r\n public categoryList = [] as object[]\r\n public brandBanner = \"\"\r\n public query = {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n }\r\n public sortInfo = 'default'\r\n public selectedCategory = ''\r\n\r\n get lang(){\r\n return this.$store.getters.locale\r\n }\r\n\r\n mounted() {\r\n this.getBrandDetails()\r\n }\r\n\r\n get BrandId() {\r\n return this.$route.params.brandId\r\n }\r\n\r\n get ApiRequiredData() {\r\n let data = {}\r\n if (this.lang === 'en') {\r\n data = {\r\n brandId: +this.BrandId,\r\n pageIndex: this.query.pageIndex,\r\n pageSize: this.query.pageSize,\r\n sortRule: this.sortInfo,\r\n Filters: {\r\n CategoryNameEn: [this.selectedCategory]\r\n }\r\n }\r\n } else {\r\n data = {\r\n brandId: +this.BrandId,\r\n pageIndex: this.query.pageIndex,\r\n pageSize: this.query.pageSize,\r\n sortRule: this.sortInfo,\r\n Filters: {\r\n CategoryNameCn: [this.selectedCategory]\r\n }\r\n }\r\n }\r\n return data\r\n }\r\n\r\n addNewDataList() {\r\n this.getBrandDetails()\r\n }\r\n\r\n async getBrandDetails() {\r\n console.log(this.ApiRequiredData, this.BrandId)\r\n try{\r\n const res = await api.getBrandDetails(this.ApiRequiredData)\r\n this.pageCount = res.data.pageCount\r\n if(this.query.pageIndex === 1){\r\n this.displayedDataList = res.data.data.results\r\n }else{\r\n this.displayedDataList = [...this.displayedDataList, ...res.data.data.results]\r\n }\r\n if(this.categoryList.length === 0 && this.brandBanner === \"\"){\r\n this.categoryList = res.data.data.aggregations\r\n this.brandBanner = res.data.data.chosenBrand.customBanner\r\n }\r\n this.query.pageIndex += 1\r\n console.log({ res })\r\n }catch (e){\r\n console.log(e)\r\n }\r\n }\r\n\r\n async filterByPrice(value){\r\n console.log(value)\r\n if(value === 1){\r\n this.sortInfo = \"sellingPrice-asc\"\r\n }else{\r\n this.sortInfo = \"sellingPrice-desc\"\r\n }\r\n this.query.pageIndex = 1\r\n await this.getBrandDetails()\r\n }\r\n\r\n async filterByTime(value){\r\n if(value === 1){\r\n this.sortInfo = \"createTime-asc\"\r\n }else{\r\n this.sortInfo = \"createTime-desc\"\r\n }\r\n this.query.pageIndex = 1\r\n await this.getBrandDetails()\r\n }\r\n async filterByDefault(){\r\n this.sortInfo = 'default'\r\n await this.getBrandDetails()\r\n }\r\n async selectCategory(value){\r\n this.selectedCategory = value\r\n this.query.pageIndex = 1\r\n await this.getBrandDetails()\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BrandProducts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BrandProducts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BrandProducts.vue?vue&type=template&id=500475ec&\"\nimport script from \"./BrandProducts.vue?vue&type=script&lang=ts&\"\nexport * from \"./BrandProducts.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BrandProducts.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}