{"version":3,"sources":["webpack:///./src/models/goods/Goods.ts","webpack:///./src/views/goods/detail/GoodsDetail.vue?10cf","webpack:///./src/views/goods/detail/GoodsDetail.vue","webpack:///./src/views/goods/detail/GoodsDetail.vue?bfab","webpack:///./src/views/goods/detail/GoodsDetail.vue?9f17","webpack:///./src/models/goods/GoodsDetail.ts","webpack:///./src/views/goods/list/GoodsList.vue?fb20","webpack:///./src/views/goods/list/GoodsList.vue","webpack:///./src/views/goods/list/GoodsList.vue?6bbb","webpack:///./src/views/goods/list/GoodsList.vue?599f","webpack:///./src/views/goods/result/GoodsResult.vue?c0e4","webpack:///./src/views/goods/result/GoodsResult.vue","webpack:///./src/views/goods/result/GoodsResult.vue?7939","webpack:///./src/views/goods/result/GoodsResult.vue?c054"],"names":["this","goodsCode","goodsTitle","fee","thumbnail","alternativeText","Goods","render","_vm","_h","$createElement","_c","_self","attrs","staticClass","_v","_s","goods","designPathCreate","staticStyle","class","invisible","showFee","canPurchase","on","transitionToEntry","domProps","overview","otherGoods","length","_e","_l","key","path","paths","GOODS_DETAIL","query","goods_code","isIndicatorDisplay","staticRenderFns","ExamRepository","RepositoryFactory","get","exam","GoodsRepository","examTitle","resources","EXAM_RANK_ICON","DesignResource","created","$route","$router","replace","TOP","mounted","CommonCss","document","createElement","rel","href","$el","appendChild","ExamDetailCss","getExamConfigCss","then","cssElement","CommonJs","src","init","onUrlChange","to","from","StringUtil","getExam","getGoods","getGoodsList","response","data","exam_title","undefined","forEach","resource","display_place_key","tmp","displayPlaceKey","displayText","display_text","cssClassName","css_class_name","resourceUri","resource_uri","resourceFileName","resource_file_name","alternative_text","catch","String","status","goodsCodeOrg","goods_title","MarkdownToHTML","canEntry","can_entry","fees","DesignCode","JwtUtil","goods_list","goodsObj","push","jwt","sessionStorage","setItem","ACCOUNT_CONFIRM","LOGIN","immediate","deep","GoodsDetail","components","ExamHeader","ExamFooter","ExamGuide","ExamNav","IndicatorModal","BaseView","component","periodStart","periodEnd","_m","goodsList","getExamInfo","GoodsList","$event","GOODS_LIST","examInfo","ExamInfo","purchasedGoodsCode","initStaticScripts","inPeriod","in_period","GoodsResultCss","GoodsResult"],"mappings":"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","file":"js/goods.488ae356.js","sourcesContent":["import { JsonObject } from 'json2typescript';\n\n@JsonObject('Goods')\nexport default class Goods {\n constructor() {\n this.goodsCode = '';\n this.goodsTitle = '';\n this.fee = '';\n this.thumbnail = '';\n this.alternativeText = '';\n }\n\n public goodsCode: string;\n\n public goodsTitle: string;\n\n public fee: string;\n\n public thumbnail: string;\n\n public alternativeText: string;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('e-header'),_c('e-nav'),_c('main',[_c('article',[_c('section',{staticClass:\"kentei-info\"},[_c('div',{staticClass:\"title-h1 bg-base\"},[_c('h1',[_vm._v(_vm._s(_vm.goods.goodsTitle))])]),_c('div',{staticClass:\"contents-body\"},[_c('div',{staticClass:\"kentei-info-box\"},[_c('dl',[_c('dt',[_c('img',{attrs:{\"src\":_vm.designPathCreate(_vm.goods.thumbnail),\"alt\":_vm.goods.alternativeText}})]),_c('dd',{staticStyle:{\"width\":\"100%\"}},[_c('p',{staticClass:\"kentei-info-box-title\"},[_vm._v(\" \"+_vm._s(_vm.goods.goodsTitle)+\" \")]),_c('p',{staticClass:\"kentei-info-box-price color-link\",class:{invisible: !_vm.showFee }},[_c('span',[_vm._v(_vm._s(_vm.goods.fee)+\" 円\")]),_vm._v(\"(税込) \")])])])]),_c('a',{staticClass:\"btn-large\",class:{ 'disable' : !_vm.canPurchase },on:{\"click\":_vm.transitionToEntry}},[_c('span',[_vm._v(\"購入する\")])])])]),_c('section',{staticClass:\"kentei-detail\"},[_c('div',{staticClass:\"contents-body\"},[_c('h2',{staticClass:\"title-h2\"},[_vm._v(\"グッズ詳細\")]),_c('p',{staticClass:\"markdown-contents\",domProps:{\"innerHTML\":_vm._s(_vm.goods.overview)}}),_c('a',{staticClass:\"btn-large btn-detail-entry\",class:{ 'disable' : !_vm.canPurchase },on:{\"click\":_vm.transitionToEntry}},[_c('span',[_vm._v(\"購入する\")])]),(_vm.otherGoods.length > 0)?_c('h2',{staticClass:\"title-h2\"},[_vm._v(\"グッズ一覧\")]):_vm._e(),(_vm.otherGoods.length > 0)?_c('div',{staticClass:\"card-list\"},[_c('ul',_vm._l((_vm.otherGoods),function(goods){return _c('li',{key:goods.goodsCode},[_c('div',{staticClass:\"card-wrapper\"},[_c('router-link',{staticClass:\"card\",attrs:{\"to\":{ path: _vm.paths.GOODS_DETAIL, query: { goods_code: goods.goodsCode } },\"replace\":\"\"}},[_c('div',{staticClass:\"card-pic\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(goods.thumbnail),\"alt\":goods.alternativeText}})]),_c('div',{staticClass:\"card-body\"},[_c('p',{staticClass:\"card-title color-main\"},[_vm._v(_vm._s(goods.goodsTitle))]),_c('p',{staticClass:\"card-price color-main\"},[_c('strong',[_vm._v(_vm._s(goods.fee))]),_c('span',[_vm._v(\"円\")]),_vm._v(\"(税込)\")]),_c('p',{staticClass:\"btn\"},[_c('span',[_vm._v(\"グッズ詳細へ\")])])])])],1)])}),0)]):_vm._e()])])])]),_c('e-guide'),_c('e-footer'),_c('e-indicator',{attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\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\nimport { Component } from 'vue-mixin-decorator';\nimport { Watch } from 'vue-property-decorator';\nimport BaseView from '@/views/BaseView.vue';\nimport ExamHeader from '@/components/ExamHeader.vue';\nimport ExamFooter from '@/components/ExamFooter.vue';\nimport ExamGuide from '@/components/ExamGuide.vue';\nimport ExamNav from '@/components/ExamNav.vue';\nimport IndicatorModal from '@/components/IndicatorModal.vue';\n\nimport * as DesignCode from '@/classification/DesignCode';\n\nimport MarkdownToHTML from '@/common/MarkdownToHTML';\nimport * as JwtUtil from '@/common/JwtUtil';\nimport * as StringUtil from '@/common/StringUtil';\n\nimport RepositoryFactory from '@/repository/RepositoryFactory';\n\nimport DesignResource from '@/models/exam/DesignResource';\nimport Goods from '@/models/goods/Goods';\nimport GoodsDetailDto from '@/models/goods/GoodsDetail';\n\n@Component(\n {\n components: {\n 'e-header': ExamHeader,\n 'e-footer': ExamFooter,\n 'e-guide': ExamGuide,\n 'e-nav': ExamNav,\n 'e-indicator': IndicatorModal,\n },\n },\n)\nexport default class GoodsDetail extends BaseView {\n private ExamRepository = RepositoryFactory.get().exam;\n\n private GoodsRepository = RepositoryFactory.get().goods;\n\n private goods = new GoodsDetailDto();\n\n private examTitle = '';\n\n private otherGoods: Goods[] = [];\n\n private resources = {\n EXAM_RANK_ICON: new DesignResource(),\n };\n\n private isIndicatorDisplay = false;\n\n private canPurchase = false;\n\n private showFee = false;\n\n private created() {\n // パラメータチェック\n if (!this.$route.query.goods_code) {\n this.$router.replace(this.paths.TOP);\n }\n }\n\n private mounted() {\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n const ExamDetailCss = document.createElement('link');\n ExamDetailCss.rel = 'stylesheet';\n ExamDetailCss.href = '/kentei/css/detail.css';\n this.$el.appendChild(ExamDetailCss);\n\n this.getExamConfigCss().then((cssElement: HTMLLinkElement) => {\n this.$el.appendChild(cssElement);\n });\n\n const CommonJs = document.createElement('script');\n CommonJs.src = '/js/common.js';\n this.$el.appendChild(CommonJs);\n\n this.init();\n }\n\n @Watch('$route', { immediate: true, deep: true })\n private onUrlChange(to: any, from: any) {\n // 変更情報が存在しない場合は何もしない\n if (!to || !from) return;\n\n // rankパラメータが存在しない場合何もしない(createdでTOPに戻す)\n if (StringUtil.isEmpty(to.query.goods_code) || StringUtil.isEmpty(from.query.goods_code)) {\n return;\n }\n\n if (to.query.goods_code !== from.query.goods_code) {\n // インスタンスの再生成が行えないためデータ取得処理を再呼び出し\n this.init();\n }\n }\n\n /**\n * 初期データセット\n */\n private async init() {\n this.isIndicatorDisplay = true;\n await this.getExam();\n await this.getGoods();\n await this.getGoodsList();\n this.isIndicatorDisplay = false;\n }\n\n /**\n * 検定情報取得\n */\n private async getExam() {\n try {\n await this.ExamRepository.getExam().then((response) => {\n this.examTitle = response.data.exam_title;\n\n // デザインリソース\n if (response.data.resources !== undefined) {\n response.data.resources.forEach((resource: any) => {\n const key = resource.display_place_key;\n if (key in this.resources) {\n const tmp = new DesignResource();\n tmp.displayPlaceKey = resource.display_place_key;\n tmp.displayText = StringUtil.isEmpty(resource.display_text) ? '' : resource.display_text;\n tmp.cssClassName = StringUtil.isEmpty(resource.css_class_name) ? '' : resource.css_class_name;\n tmp.resourceUri = StringUtil.isEmpty(resource.resource_uri) ? '' : resource.resource_uri;\n tmp.resourceFileName = StringUtil.isEmpty(resource.resource_file_name) ? '' : resource.resource_file_name;\n tmp.alternativeText = StringUtil.isEmpty(resource.alternative_text) ? '' : resource.alternative_text;\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.resources[key] = tmp;\n }\n });\n }\n }).catch(() => {\n this.$router.replace(this.paths.TOP);\n });\n } catch (_) {\n this.$router.replace(this.paths.TOP);\n }\n }\n\n /**\n * グッズ情報取得\n */\n private async getGoods() {\n const goodsCode = String(this.$route.query.goods_code);\n await this.GoodsRepository.getGoods(goodsCode).then((response: any) => {\n if (response.status === 200) {\n this.goods.goodsCodeOrg = response.data.goods_code;\n this.goods.goodsCode = StringUtil.encodeToBase64Url(response.data.goods_code);\n this.goods.goodsTitle = response.data.goods_title;\n this.goods.overview = MarkdownToHTML(response.data.overview);\n this.goods.canEntry = response.data.can_entry;\n\n if (response.data.fees.length > 0) {\n this.goods.fee = StringUtil.separateNumber(response.data.fees[0].fee);\n }\n\n // eslint-disable-next-line prefer-destructuring\n const resources = response.data.resources;\n if (resources !== undefined && resources.length > 0) {\n resources.forEach((resource: any) => {\n if (resource.display_place_key === DesignCode.EXAM_RANK_ICON) {\n this.goods.thumbnail = resource.resource_uri;\n this.goods.alternativeText = resource.alternative_text;\n }\n });\n }\n\n // 料金が設定されている場合ボタン活性化 ただし、ログインしていて資格が無い場合は不可\n this.canPurchase = (response.data.fees.length > 0 && (JwtUtil.getJwtInfo() === null || (JwtUtil.getJwtInfo() !== null && this.goods.canEntry)));\n // 料金が設定されている場合のみ料金表示\n this.showFee = response.data.fees.length > 0;\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }).catch(() => {\n this.$router.replace(this.paths.TOP);\n });\n }\n\n /**\n * グッズ一覧取得\n */\n private async getGoodsList() {\n // 画面再描画時、直前のデータが残ってしまうため初期化\n this.otherGoods = [];\n\n await this.GoodsRepository.getGoodsList().then((response: any) => {\n if (response.status === 200) {\n response.data.goods_list.forEach((goods: any) => {\n const goodsObj = new Goods();\n goodsObj.goodsCode = StringUtil.encodeToBase64Url(goods.goods_code);\n goodsObj.goodsTitle = goods.goods_title;\n if (goods.fees.length > 0) {\n goodsObj.fee = StringUtil.separateNumber(goods.fees[0].fee);\n } else {\n goodsObj.fee = '0';\n }\n\n // eslint-disable-next-line prefer-destructuring\n const resources = goods.resources;\n if (resources !== undefined && resources.length > 0) {\n resources.forEach((resource: any) => {\n if (resource.display_place_key === DesignCode.EXAM_RANK_ICON) {\n goodsObj.thumbnail = resource.resource_uri;\n goodsObj.alternativeText = resource.alternative_text;\n }\n });\n }\n\n // 詳細表示中のグッズは除外\n if (this.goods.goodsCodeOrg !== goods.goods_code) {\n this.otherGoods.push(goodsObj);\n }\n });\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }).catch(() => {\n this.$router.replace(this.paths.TOP);\n });\n }\n\n /**\n * 申し込み(購入)画面へ遷移\n */\n private async transitionToEntry() {\n // 購入条件を満たしていない場合は購入ボタンを押せないが念のため再チェック\n const jwt = JwtUtil.getJwtInfo();\n if (jwt == null) {\n // 未ログインの場合、ログイン/仮登録画面へ\n sessionStorage.setItem(JwtUtil.SESSION_RETURN_PATH_KEY, `${this.paths.ACCOUNT_CONFIRM}?goods_code=${this.goods.goodsCode}`);\n // eslint-disable-next-line @typescript-eslint/camelcase\n this.$router.replace({ path: this.paths.LOGIN });\n } else if (!this.goods.canEntry) {\n // 購入不可 不正操作のためTOPへ\n this.$router.replace(this.paths.TOP);\n } else {\n // 内容確認画面へ\n // eslint-disable-next-line @typescript-eslint/camelcase\n this.$router.replace({ path: this.paths.ACCOUNT_CONFIRM, query: { goods_code: this.goods.goodsCode } });\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GoodsDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GoodsDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GoodsDetail.vue?vue&type=template&id=019c5d0c&\"\nimport script from \"./GoodsDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./GoodsDetail.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","import { JsonObject } from 'json2typescript';\n\n@JsonObject('GoodsDetail')\nexport default class GoodsDetail {\n constructor() {\n this.goodsCode = '';\n this.goodsTitle = '';\n this.overview = '';\n this.periodStart = '';\n this.periodEnd = '';\n this.canEntry = false;\n this.fee = '';\n this.thumbnail = '';\n this.alternativeText = '';\n }\n\n public goodsCodeOrg: string;\n\n public goodsCode: string;\n\n public goodsTitle: string;\n\n public overview: string;\n\n public periodStart: string;\n\n public periodEnd: string;\n\n public canEntry: boolean;\n\n public fee: string;\n\n public thumbnail: string;\n\n public alternativeText: string;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"wrapper\"}},[_c('e-header'),_c('e-nav'),_c('main',{staticClass:\"template\"},[_c('article',[_vm._m(0),_c('section',[_c('div',{staticClass:\"contents-body\"},[(_vm.goodsList.length > 0)?_c('div',{staticClass:\"card-list\"},[_c('ul',_vm._l((_vm.goodsList),function(goods){return _c('li',{key:goods.goodsCode},[_c('router-link',{staticClass:\"card\",attrs:{\"to\":{ path: _vm.paths.GOODS_DETAIL, query: { goods_code: goods.goodsCode } },\"replace\":\"\"}},[_c('div',{staticClass:\"card-pic\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(goods.thumbnail),\"alt\":goods.alternativeText}})]),_c('div',{staticClass:\"card-body\"},[_c('p',{staticClass:\"card-title color-main\"},[_vm._v(_vm._s(goods.goodsTitle))]),_c('p',{staticClass:\"card-price color-main\"},[_c('strong',[_vm._v(_vm._s(goods.fee))]),_c('span',[_vm._v(\"円\")]),_vm._v(\"(税込)\")]),_c('p',{staticClass:\"btn\"},[_c('span',[_vm._v(\"グッズ詳細へ\")])])])])],1)}),0)]):_c('p',[_vm._v(\" 現在購入可能なグッズはありません \")])])])])]),_c('e-guide'),_c('e-footer'),_c('e-indicator',{attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title-h1 bg-base\"},[_c('h1',[_vm._v(\"グッズ一覧\")])])}]\n\nexport { render, staticRenderFns }","\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\nimport { Component } from 'vue-mixin-decorator';\n\nimport BaseView from '@/views/BaseView.vue';\nimport ExamHeader from '@/components/ExamHeader.vue';\nimport ExamFooter from '@/components/ExamFooter.vue';\nimport ExamGuide from '@/components/ExamGuide.vue';\nimport ExamNav from '@/components/ExamNav.vue';\nimport IndicatorModal from '@/components/IndicatorModal.vue';\n\nimport RepositoryFactory from '@/repository/RepositoryFactory';\n\nimport * as StringUtil from '@/common/StringUtil';\n\nimport * as DesignCode from '@/classification/DesignCode';\n\nimport DesignResource from '@/models/exam/DesignResource';\nimport Goods from '@/models/goods/Goods';\n\n@Component(\n {\n components: {\n 'e-header': ExamHeader,\n 'e-footer': ExamFooter,\n 'e-guide': ExamGuide,\n 'e-nav': ExamNav,\n 'e-indicator': IndicatorModal,\n },\n },\n)\nexport default class GoodsList extends BaseView {\n private isIndicatorDisplay = false;\n\n private examTitle = '';\n\n private goodsList: Goods[] = [];\n\n private resources = {\n EXAM_RANK_ICON: new DesignResource(),\n };\n\n private async mounted() {\n this.isIndicatorDisplay = true;\n\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n this.getExamConfigCss().then((cssElement: HTMLLinkElement) => {\n this.$el.appendChild(cssElement);\n });\n\n try {\n this.isIndicatorDisplay = true;\n await this.getExamInfo();\n await this.getGoodsList();\n this.isIndicatorDisplay = false;\n } catch (e) {\n this.$router.replace(this.paths.TOP);\n } finally {\n this.isIndicatorDisplay = false;\n }\n\n const CommonJs = document.createElement('script');\n CommonJs.src = '/js/common.js';\n this.$el.appendChild(CommonJs);\n }\n\n /**\n * 検定情報取得\n */\n private async getExamInfo() {\n // 検定情報APIを呼び出し、お知らせを生成\n const ExamRepository = RepositoryFactory.get().exam;\n await ExamRepository.getExam().then((response) => {\n if (response.status === 200) {\n this.examTitle = response.data.exam_title;\n\n // デザインリソース\n if (response.data.resources !== undefined) {\n response.data.resources.forEach((resource: any) => {\n const key = resource.display_place_key;\n if (key in this.resources) {\n const tmp = new DesignResource();\n tmp.displayPlaceKey = resource.display_place_key;\n tmp.displayText = StringUtil.isEmpty(resource.display_text) ? '' : resource.display_text;\n tmp.cssClassName = StringUtil.isEmpty(resource.css_class_name) ? '' : resource.css_class_name;\n tmp.resourceUri = StringUtil.isEmpty(resource.resource_uri) ? '' : resource.resource_uri;\n tmp.resourceFileName = StringUtil.isEmpty(resource.resource_file_name) ? '' : resource.resource_file_name;\n tmp.alternativeText = StringUtil.isEmpty(resource.alternative_text) ? '' : resource.alternative_text;\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.resources[key] = tmp;\n }\n });\n }\n }\n });\n }\n\n /**\n * グッズ一覧取得\n */\n private async getGoodsList() {\n const GoodsRepository = RepositoryFactory.get().goods;\n await GoodsRepository.getGoodsList().then((response: any) => {\n if (response.status === 200) {\n response.data.goods_list.forEach((goods: any) => {\n const goodsObj = new Goods();\n goodsObj.goodsCode = StringUtil.encodeToBase64Url(goods.goods_code);\n goodsObj.goodsTitle = goods.goods_title;\n if (goods.fees.length > 0) {\n goodsObj.fee = StringUtil.separateNumber(goods.fees[0].fee);\n } else {\n goodsObj.fee = '0';\n }\n\n // eslint-disable-next-line prefer-destructuring\n const resources = goods.resources;\n if (resources !== undefined && resources.length > 0) {\n resources.forEach((resource: any) => {\n if (resource.display_place_key === DesignCode.EXAM_RANK_ICON) {\n goodsObj.thumbnail = resource.resource_uri;\n goodsObj.alternativeText = resource.alternative_text;\n }\n });\n }\n this.goodsList.push(goodsObj);\n });\n }\n });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GoodsList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GoodsList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GoodsList.vue?vue&type=template&id=e936209a&\"\nimport script from \"./GoodsList.vue?vue&type=script&lang=ts&\"\nexport * from \"./GoodsList.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',{attrs:{\"id\":\"wrapper\"}},[_c('e-nav'),_c('main',[_c('article',[_vm._m(0),_c('section',{staticClass:\"goods-result-links-section\"},[_c('div',{staticClass:\"contents-body\"},[_c('a',{staticClass:\"btn-strong\",on:{\"click\":function($event){return _vm.$router.replace(_vm.paths.GOODS_LIST)}}},[_c('span',[_vm._v(\"グッズ一覧へ\")])]),(_vm.otherGoods.length > 0)?_c('h2',{staticClass:\"title-h2\"},[_vm._v(\" その他のグッズ \")]):_vm._e(),(_vm.otherGoods.length > 0)?_c('div',{staticClass:\"card-list\"},[_c('ul',_vm._l((_vm.otherGoods),function(goods){return _c('li',{key:goods.goodsCode},[_c('router-link',{staticClass:\"card\",attrs:{\"to\":{ path: _vm.paths.GOODS_DETAIL, query: { goods_code: goods.goodsCode } },\"replace\":\"\"}},[_c('div',{staticClass:\"card-pic\"},[_c('img',{attrs:{\"src\":_vm.designPathCreate(goods.thumbnail),\"alt\":goods.alternativeText}})]),_c('div',{staticClass:\"card-body\"},[_c('p',{staticClass:\"card-title color-main\"},[_vm._v(_vm._s(goods.goodsTitle))]),_c('p',{staticClass:\"card-price color-main\"},[_c('strong',[_vm._v(_vm._s(goods.fee))]),_c('span',[_vm._v(\"円\")]),_vm._v(\"(税込)\")]),_c('p',{staticClass:\"btn\"},[_c('span',[_vm._v(\"グッズ詳細へ\")])])])])],1)}),0)]):_vm._e()])])])]),_c('e-guide'),_c('e-footer'),_c('e-indicator',{attrs:{\"display\":_vm.isIndicatorDisplay}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"goods-result-score-section\"},[_c('div',{staticClass:\"contents-body\"},[_c('h2',{staticClass:\"align-center title-h2\"},[_vm._v(\" グッズ購入完了 \")]),_c('div',{staticClass:\"goods-result-score-title\"},[_c('h3',[_vm._v(\"ご購入ありがとうございました!\")]),_c('p',[_vm._v(\"商品のお届けまで、もうしばらくお待ちくださいませ。\")])])])])}]\n\nexport { render, staticRenderFns }","\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\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component } from 'vue-mixin-decorator';\n\nimport BaseView from '@/views/BaseView.vue';\nimport ExamFooter from '@/components/ExamFooter.vue';\nimport ExamGuide from '@/components/ExamGuide.vue';\nimport ExamNav from '@/components/ExamNav.vue';\nimport IndicatorModal from '@/components/IndicatorModal.vue';\n\nimport * as StringUtil from '@/common/StringUtil';\n\nimport * as DesignCode from '@/classification/DesignCode';\n\nimport RepositoryFactory from '@/repository/RepositoryFactory';\n\nimport ExamInfo from '@/models/exam/ExamInfo';\nimport DesignResource from '@/models/exam/DesignResource';\nimport Goods from '@/models/goods/Goods';\n\n@Component(\n {\n components: {\n 'e-footer': ExamFooter,\n 'e-guide': ExamGuide,\n 'e-nav': ExamNav,\n 'e-indicator': IndicatorModal,\n },\n },\n)\nexport default class GoodsResult extends BaseView {\n private examInfo: ExamInfo = new ExamInfo();\n\n private purchasedGoodsCode = '';\n\n private otherGoods: Goods[] = [];\n\n private isIndicatorDisplay = false;\n\n private resources = {\n EXAM_RANK_ICON: new DesignResource(),\n };\n\n private async created() {\n // パラメータなし・該当データ存在しない場合はTOPへ遷移\n if (!this.$route.query.goods_code) {\n this.$router.replace(this.paths.TOP);\n }\n const goodsCode = String(this.$route.query.goods_code);\n const GoodsRepository = RepositoryFactory.get().goods;\n await GoodsRepository.getGoods(goodsCode).then((response: any) => {\n if (response.status === 200) {\n this.purchasedGoodsCode = response.data.goods_code;\n } else {\n this.$router.replace(this.paths.TOP);\n }\n }).catch(() => {\n this.$router.replace(this.paths.TOP);\n });\n }\n\n private async mounted() {\n this.initStaticScripts();\n\n this.isIndicatorDisplay = true;\n\n // 検定情報を取得する\n const ExamRepository = RepositoryFactory.get().exam;\n await ExamRepository.getExam().then((response: any) => {\n if (response.status === 200) {\n // eslint-disable-next-line prefer-destructuring\n const data = response.data;\n this.examInfo.examTitle = data.exam_title;\n this.examInfo.inPeriod = data.in_period;\n // デザインリソース\n if (data.resources !== undefined) {\n data.resources.forEach((resource: any) => {\n const key = resource.display_place_key;\n if (key in this.resources) {\n const tmp = new DesignResource();\n tmp.displayPlaceKey = resource.display_place_key;\n tmp.displayText = StringUtil.isEmpty(resource.display_text) ? '' : resource.display_text;\n tmp.cssClassName = StringUtil.isEmpty(resource.css_class_name) ? '' : resource.css_class_name;\n tmp.resourceUri = StringUtil.isEmpty(resource.resource_uri) ? '' : resource.resource_uri;\n tmp.resourceFileName = StringUtil.isEmpty(resource.resource_file_name) ? '' : resource.resource_file_name;\n tmp.alternativeText = StringUtil.isEmpty(resource.alternative_text) ? '' : resource.alternative_text;\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n this.resources[key] = tmp;\n }\n });\n }\n }\n });\n\n // グッズ一覧を取得\n const GoodsRepository = RepositoryFactory.get().goods;\n await GoodsRepository.getGoodsList().then((response: any) => {\n if (response.status === 200) {\n response.data.goods_list.forEach((goods: any) => {\n const goodsObj = new Goods();\n goodsObj.goodsCode = StringUtil.encodeToBase64Url(goods.goods_code);\n goodsObj.goodsTitle = goods.goods_title;\n if (goods.fees.length > 0) {\n goodsObj.fee = StringUtil.separateNumber(goods.fees[0].fee);\n } else {\n goodsObj.fee = '0';\n }\n\n // eslint-disable-next-line prefer-destructuring\n const resources = goods.resources;\n if (resources !== undefined && resources.length > 0) {\n resources.forEach((resource: any) => {\n if (resource.display_place_key === DesignCode.EXAM_RANK_ICON) {\n goodsObj.thumbnail = resource.resource_uri;\n goodsObj.alternativeText = resource.alternative_text;\n }\n });\n }\n\n // 購入したグッズは除外\n if (this.purchasedGoodsCode !== goods.goods_code) {\n this.otherGoods.push(goodsObj);\n }\n });\n }\n });\n\n this.isIndicatorDisplay = false;\n }\n\n /**\n * 静的CssとJsの読み込み\n */\n private initStaticScripts() {\n const CommonCss = document.createElement('link');\n CommonCss.rel = 'stylesheet';\n CommonCss.href = '/css/common.css';\n this.$el.appendChild(CommonCss);\n\n const GoodsResultCss = document.createElement('link');\n GoodsResultCss.rel = 'stylesheet';\n GoodsResultCss.href = '/css/goods/css/result.css';\n this.$el.appendChild(GoodsResultCss);\n\n this.getExamConfigCss().then((cssElement: HTMLLinkElement) => {\n this.$el.appendChild(cssElement);\n });\n\n const CommonJs = document.createElement('script');\n CommonJs.src = '/js/common.js';\n this.$el.appendChild(CommonJs);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GoodsResult.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--13-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GoodsResult.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GoodsResult.vue?vue&type=template&id=36670464&\"\nimport script from \"./GoodsResult.vue?vue&type=script&lang=ts&\"\nexport * from \"./GoodsResult.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"],"sourceRoot":""}