瀬田駅(滋賀県)でテイクアウトができるお店をご紹介 - お持ち帰り予約のEPARKテイクアウト ' + data.seo.keywords); // エリア情報 // $('section.search_head').append('
' + data.seo.description + '
'); // パンくずリスト表示 if (isMobile()) { dom = '
'; dom += '
'; dom += 'EPARKテイクアウト'; dom += ''; dom += '
'; data.breadcrumb.map(function(link, index) { dom += '
'; if (link.url) { const addQuery = (categoryExists && (index < filterCount)) ? query.replace(/(&category=)[a-z]+/g, "$1") : query; const url = link.url + '?' + addQuery; dom += '' + link.name + ''; } else { dom += '' + link.name + ''; } dom += ''; dom += '
'; }); dom += '
'; } else { // ol start dom = '
'; dom += '
EPARKテイクアウト
'; data.breadcrumb.map(function(link, index) { if (link.url) { const addQuery = (categoryExists && (index < filterCount)) ? query.replace(/(&category=)[a-z]+/g, "$1") : query; const url = link.url + '?' + addQuery; dom += '
' + link.name + '
'; } else { dom += '
' + link.name + '
'; } }); // ol end dom += '
'; dom += '
' + data.seo.heading + '
'; } } $topicPath.empty().append(dom); } // 店舗画像URLをクリア productImagesURLList = {}; // 現在地から〇〇 // 検索条件によって表示する文言を変更する let distance = '現在地から'; if (area === AREA_SELECT) { distance = '検索地から'; } else if (area === AREA_STATION) { if (typeof data.station_name !== 'undefined') { distance = data.station_name + 'から'; } } // 店舗情報表示 viewShopInfo(data.shops, data.passportIcon, distance); // 明日以降受取可能な店舗情報を表示 viewShopInfo(data.shopsTommorow, data.passportIcon, distance, true); // ページネーション表示 if (data.pagenation) { $('#results_sp').append('
もっと見る
'); $('#results').append('
もっと見る
'); } }).fail(function (jqXHR, textStatus, errorThrown) { $('#results_sp').empty(); $('#results').empty().append( '
対象の店舗は存在しません。
' + '
' + '店舗をリクエストする' + '
' ); }).always(function(jqXHR, textStatus) { // 検索中画像非表示 $('.loading').hide(); $('.loading-next').hide(); // TOPページの場合は初回検索終了フラグを立てる if (location.pathname === '/') { $('#initSearch').val('init'); } d.resolve(); }); // 履歴とブラウザのURL設定 if (isSetHistory) { const uri = url + '?' + query; history.replaceState('', '', uri); history.pushState('', '', uri); replaceAuthUrl(uri); } return d.promise(); } /** * urlを対象のaタグへ設定する * @param url https||http で始まるURI */ function replaceAuthUrl(url) { const encodeUrl = encodeURIComponent(url); const replaceQueryStringValue = function ($target, keys, value) { for (let i = 0; i < keys.length; i++) { const key = keys[i]; const regex = new RegExp(key + '=[^&]+'); const result = $target.attr('href').replace(regex, key + '=' + value); $target.attr('href', result); } }; $('a.replace_auth_url').each(function() { replaceQueryStringValue( $(this), ['redirect_uri', 'call_back', 'new_mem_back_uri', 'callbackurl', 'back_url'], encodeUrl ); }); } /** * 店舗情報表示 * @param {Array} shops 店舗情報 * @param {Array} passportIcon パスポートアイコン * @param {string} distance 距離の初期文言 * @param {boolean} isFromTomorrow 明日以降受取可能か */ function viewShopInfo(shops, passportIcon, distance, isFromTomorrow) { shops = shops || []; isFromTomorrow = isFromTomorrow || false; const $results = $('#results'); const $resultsSp = $('#results_sp'); // 対象の店舗が存在しない場合 if (shops.length === 0) { if (!isFromTomorrow) { // メッセージ表示 const baseMessage = '
対象の店舗は存在しません。
' + '
' + '店舗をリクエストする' + '
'; /** * 'foo {bar} baz' のような文字列の{bar}を任意の文字列で置換する * @param {string} value 置換対象文字列 * @param {Object} object 置換するkeyと置換文字列 */ const stringFormat = function (value, object) { return value.replace(/{(\w+)}/g, function (_, o) { return object[o] }) }; $('head').append(''); $results.append(stringFormat(baseMessage, {style: ''})); $resultsSp.append(stringFormat(baseMessage, {style: 'text-align:center;padding:15px;margin-bottom:10px;'})); } return; } const isMobileDisplay = isMobile(); // 店舗､商品情報のDOMを作成 let pcDom = ''; let spDom = ''; let columnCount = 1; // 明日以降受取可能な店舗ラベル表示フラグ let shopTomorrowHeadLabel = false; // ループ中に作成した1つ前の店舗情報jQueryオブジェクト保存用 let oneBeforeDom = null; shops.map(function(shop) { // 受取可能な商品のみ処理する // 個別の店舗DOMを保持 pcDom += createShopComponentDOM(shop, isFromTomorrow, isMobileDisplay); if (!isMobileDisplay) { return true; } // 店舗情報作成 const shopDom = createShopComponentDOMForMobile(shop, columnCount, isFromTomorrow, passportIcon, distance); if (isFromTomorrow && !shopTomorrowHeadLabel && $('div').hasClass('receive_shop_head') === false) { const message = '
明日以降受取可能な店舗
'; $results.append(message); if (isMobileDisplay) { spDom += message; } shopTomorrowHeadLabel = true; } // 本日受け取れない店舗 if (!shop.receivable) { // 通常掲載 if (shop.selfPublishedFlg) { spDom += '
'; if (shop.receivable_not_today) { // 本日休止 spDom += '
本日休止中
'; } else if (shop.receivable_not_tommorow) { // 明日以降 spDom += '
明日以降受取可能
'; } spDom += shopDom; spDom += '
'; } else { // 勝手掲載 spDom += '
' + shopDom + '
'; } } else { if (shop.selfPublishedFlg) { // 通常掲載 spDom += '
' + shopDom + '
'; } else { // 勝手掲載 spDom += '
' + shopDom + '
'; } } columnCount++ ; }); // Mobile if (isMobileDisplay) { if ($('ul').hasClass('store-list')) { $('.store-list').append(spDom); } else { $resultsSp.append( '
' + spDom + '
' ); } } // PC $results.append(pcDom); // 商品名高さ調整 $('.fn-product-name').heightLine(); $('.fn-receipt-time').heightLine(); } /** * 店舗商品情報をもとに店舗コンポーネントのDOM文字列を作成 * @param {Object} shop * @param {boolean} isFromTomorrow * @param {boolean} isMobile * @return {string} DOM文字列 */ function createShopComponentDOM(shop, isFromTomorrow, isMobile) { // くら寿司店舗の場合 if (shop.kurasushi_shop_id !== null) { return createKurasushiShopInfoDOM(shop, shop.kurasushi_shop_id); } const shopInfoDom = createShopInfoDOM(shop, isFromTomorrow); const catchCopyDom = createCatchCopyDOM(shop); const productsDom = shop.products.map(function(product, index) { return createProductDOM(product, index, isMobile, isFromTomorrow); }).join(''); return '' + '
' + shopInfoDom + catchCopyDom + '
' + '
' + productsDom + '
' + '
' + '
'; } /** * 店舗情報をもとに店舗情報コンポーネントのDOM文字列を作成 * @param {Object} shop * @param {boolean} isFromTomorrow * @return {string} DOM文字列 */ function createShopInfoDOM(shop, isFromTomorrow) { const shopUrl = shop.url + (isFromTomorrow ? '?search_receipt_clear_flg=true' : ''); const today = new Date(); const endDate = new Date(2021, 4, 1, 0, 0, 0); let storeLabelDom = ''; if (shop.isDisplayLabels['isGoToEat'] && today < endDate) { storeLabelDom = '
' + '
Go To Eat ポイント使用可能
' + '
'; } let shopInfoDom = '
' + '
' + shop.name + '
' + '
' + storeLabelDom + shop.favorite + '
'; // 住所 let addressInfo = '
' + shop.address; if (shop.distance !== '') { addressInfo += '　(現在地から' + shop.distance + 'm' + ')'; } addressInfo += '
'; if (shop.accesses !== '') { addressInfo += '
' + shop.accesses + '
'; } shopInfoDom += addressInfo; if (shop.heads_up_flg) { shopInfoDom += '
※時間帯でお急ぎの方は現地注文をお勧めします。
'; } // 受取時間と最低注文金額 const receivableTime = shop.receivableTimes.map(function(item) { return '' + item.start_time + '～' + item.end_time + ''; }).join(''); shopInfoDom += '
' + '
' + '
' + '
最低注文金額：
' + '
' + shop.minimumOrder + '円
' + '
' + '
ネット注文受取可能時間：
' + '
' + receivableTime + '
' + '
'; // 対応表 shopInfoDom += '
' + '
'; // オンライン決済 shopInfoDom += '
オンライン決済
' + '
'; if (shop.credit_icon && shop.credit_icon == 1) { shopInfoDom += '〇'; }else{ shopInfoDom += 'ー'; } shopInfoDom += '
'; // 店頭支払 shopInfoDom += '
店頭支払
' + '
'; if (shop.cash_icon && shop.cash_icon == 1) { shopInfoDom += '〇'; }else{ shopInfoDom += 'ー'; } shopInfoDom += '
'; // レジ袋 //shopInfoDom += // '
レジ袋
' + // '
'; /* if 有料無料*/ // shopInfoDom += '有料'; /*shopInfoDom += '無料';*/ //shopInfoDom += '
'; // ドライブスルー shopInfoDom += '
ドライブスルー
' + '
'; if (intToBoolean(shop.receipt_drive_through_flg)) { shopInfoDom += '〇'; }else{ shopInfoDom += 'ー'; } shopInfoDom += '
'; // 駐車場受取 shopInfoDom += '
駐車場受取
' + '
'; if (intToBoolean(shop.receipt_parking_flg)) { shopInfoDom += '〇'; }else{ shopInfoDom += 'ー'; } shopInfoDom += '
'; shopInfoDom += '
'; shopInfoDom += '
'; return '' + '
' + shopInfoDom + '
'; } /** * 店舗キャッチコピーのDOM文字列を作成 * @param {Object} shop * @return {string} DOM文字列 */ function createCatchCopyDOM(shop) { let catchCopyDom = ''; if(shop.catchcopy) { if(shop.catchcopy.match(/\S/g)) { catchCopyDom += '
' + shop.catchcopy + '
'; } } if(shop.catchcopy_detail){ if(shop.catchcopy_detail.match(/\S/g)) { catchCopyDom += '
' + shop.catchcopy_detail + '
'; } } if(catchCopyDom){ return '' + '
' + catchCopyDom + '
'; } return ''; } /** * くら寿司店舗情報をもとに店舗情報コンポーネントのDOM文字列を作成 * @param {Object} shop * @param {int} kurasushiShopId * @return {string} DOM文字列 */ function createKurasushiShopInfoDOM(shop, kurasushiShopId) { const shopUrl = 'https://kura.takeout.epark.jp/?shop_id=' + kurasushiShopId; const today = new Date(); const endDate = new Date(2021, 4, 1, 0, 0, 0); let storeLabelDom = ''; if (shop.isDisplayLabels['isGoToEat'] && today < endDate) { storeLabelDom = '
' + '
Go To Eat ポイント使用可能
' + '
'; } let shopInfoDom = '
' + '
' + shop.name +'
' + '
' + storeLabelDom + shop.favorite + '
'; // 住所 let addressInfo = '
' + shop.address; if (shop.distance !== '') { addressInfo += '　(現在地から' + shop.distance + 'm' + ')'; } addressInfo += '
'; if (shop.accesses !== '') { addressInfo += '
' + shop.accesses + '
'; } shopInfoDom += addressInfo; if (shop.heads_up_flg) { shopInfoDom += '
※時間帯でお急ぎの方は現地注文をお勧めします。
'; } // 受取時間と最低注文金額 const receivableTime = shop.receivableTimes.map(function(item) { return '' + item.start_time + '～' + item.end_time + ''; }).join(''); shopInfoDom += '
' + '
' + '
' + '
最低注文金額：
' + '
' + shop.minimumOrder + '円
' + '
' + '
ネット注文受取可能時間：
' + '
' + receivableTime + '
' + '
'; // 対応表 shopInfoDom += '
' + '
'; // オンライン決済 shopInfoDom += '
オンライン決済
' + '
'; if (shop.credit_icon && shop.credit_icon == 1) { shopInfoDom += '〇'; }else{ shopInfoDom += 'ー'; } shopInfoDom += '
'; // 店頭支払 shopInfoDom += '
店頭支払
' + '
'; if (shop.cash_icon && shop.cash_icon == 1) { shopInfoDom += '〇'; }else{ shopInfoDom += 'ー'; } shopInfoDom += '
'; // レジ袋 //shopInfoDom += // '
レジ袋
' + // '
'; /* if 有料無料*/ // shopInfoDom += '有料'; /*shopInfoDom += '無料';*/ //shopInfoDom += '
'; // ドライブスルー shopInfoDom += '
ドライブスルー
' + '
'; if (intToBoolean(shop.receipt_drive_through_flg)) { shopInfoDom += '〇'; }else{ shopInfoDom += 'ー'; } shopInfoDom += '
'; // 駐車場受取 shopInfoDom += '
駐車場受取
' + '
'; if (intToBoolean(shop.receipt_parking_flg)) { shopInfoDom += '〇'; }else{ shopInfoDom += 'ー'; } shopInfoDom += '
'; shopInfoDom += '
'; shopInfoDom += '
'; return '' + '
' + '
' + shopInfoDom + '
' + '
' + '
' + '
' + '
くら寿司専用サイトよりご利用ください
' + '
' + '
ご注文はスマートフォンのみの対応となります。
' + '
EPARKポイントの割引・キャシュポのご利用はできません。
' + '
' + '
くら寿司専用サイトへ
' + '
' + '
' + '
'; } /** * 商品情報をもとに商品コンポーネントのDOMを作成 * @param {Object} product * @param {number} index * @param {boolean} isMobile * @param {boolean} isFromTomorrow * @result {string} DOM文字列 */ function createProductDOM(product, index, isMobile, isFromTomorrow) { let detailDom = '
' + product.name + '
'; if (product.immediate_receivable) { // 今すぐ detailDom += '
' + product.stock + '
' + product.receivable + '
'; } else if (product.receivable) { // 受取可能時間 detailDom += '
' + product.stock + '
' + product.receivable + '
'; } else { // 受取不可 detailDom += '
' + product.stock + '
受取不可
'; } detailDom += '
' + product.price + '円
(税込)
'; if (product.migrating) { detailDom += '
' + product.favorite +'
商品詳細へ
'; } else if (product.receivable) { detailDom += '
' + product.favorite +'
注文する
'; } else { detailDom += '
' + product.favorite +'
注文する
'; } const identifier =[ 'product', product.company_id + '', product.id + '', index + (isFromTomorrow ? '_tomorrow' : '') ].join('_'); // Mobile表示なら画像URLをオブジェクトに保存 if (isMobile) { productImagesURLList[identifier] = product.imagePath; } return '' + '
' + '
' + '' + '
' + '' + '
' + detailDom + '
' + '
' + '
'; } /** * 店舗情報をもとに店舗情報コンポーネントのDOM文字列を作成 * @param {Object} shop * @param {number} columnCount * @param {boolean} isFromTomorrow * @param {Object} passportIcon * @param {string} distance * @return {string} DOM文字列 */ function createShopComponentDOMForMobile(shop, columnCount, isFromTomorrow, passportIcon, distance) { // 店舗リンクに画像部、店舗情報表示部を追加 const imageLink = shop.url + (isFromTomorrow ? '?search_receipt_clear_flg=true' : ''); const today = new Date(); const endDate = new Date(2021, 4, 1, 0, 0, 0); let storeLabelDom = ''; if (shop.isDisplayLabels['isGoToEat'] && today < endDate) { storeLabelDom = '
' + '
Go To Eat ポイント使用可能
' + '
'; } // 店舗名 let storeNameDom = '
'; storeNameDom += '
' + ''; // 新着判定 if (shop.newShopFlg) { storeNameDom += 'NEW'; } storeNameDom += shop.name + '
'; // ポイントアイコン if (shop.epark_point && shop.epark_point === 1) { storeNameDom += '
'; } storeNameDom += '
'; // 店舗画像部 let imageDom = '
' + '
'; imageDom += ' '; imageDom += '
'; // 店舗情報 let storeInfoDom = '
'; // 〇分後OKラベル if (shop.preparation) { storeInfoDom += '
' + shop.preparation + '分後OK
'; } // 通常掲載の時 if (shop.selfPublishedFlg) { // テキスト storeInfoDom += '
'+ distance +'：計算中
'; // ネット注文受取可能時間 if ((shop.shortestReceiptTime !== '' && !isFromTomorrow) && shop.selfPublishedFlg) { storeInfoDom += '
' + '' + shop.shortestReceiptTime + '～' + shop.longestReceiptTime; if (shop.heads_up_flg) { storeInfoDom += '当時間帯でお急ぎの方は現地注文をお勧めします。'; } storeInfoDom += '
'; } // 最低注文金額 storeInfoDom += '
最低注文金額：' + shop.minimumOrder + '円
'; storeInfoDom += '
'; // 対応表 storeInfoDom += '
'; // オンライン決済 storeInfoDom += '
オンライン決済
' + '
'; if (shop.credit_icon && shop.credit_icon == 1) { storeInfoDom += '〇'; }else{ storeInfoDom += 'ー'; } storeInfoDom += '
'; // 店頭支払 storeInfoDom += '
店頭支払
' + '
'; if (shop.cash_icon && shop.cash_icon == 1) { storeInfoDom += '〇'; }else{ storeInfoDom += 'ー'; } storeInfoDom += '
'; // レジ袋 //storeInfoDom += // '
レジ袋
' + // '
'; /* if 有料無料*/ // storeInfoDom += '有料'; /*storeInfoDom += '無料';*/ //storeInfoDom += '
'; // ドライブスルー storeInfoDom += '
ドライブスルー
' + '
'; if (intToBoolean(shop.receipt_drive_through_flg)) { storeInfoDom += '〇'; }else{ storeInfoDom += 'ー'; } storeInfoDom += '
'; // 駐車場受取 storeInfoDom += '
駐車場受取
' + '
'; if (intToBoolean(shop.receipt_parking_flg)) { storeInfoDom += '〇'; }else{ storeInfoDom += 'ー'; } storeInfoDom += '
'; storeInfoDom += '
'; // キャッチコピー storeInfoDom += createCatchCopyDOM(shop); } else { storeInfoDom += '
'+ distance +'：計算中
'; storeInfoDom += '
このお店はまだ誰も編集していません。
あなたが取材してポイントGETのチャンス！
'; } return '' + '
' + storeLabelDom + storeNameDom + '' + imageDom + storeInfoDom + '' + '
'; } /** * 現在地を取得 */ function getNowLocationSearch() { $('p.location_error').remove() ; $('div.gmp_top').attr('style', 'height: 0') ; const d = $.Deferred(); if (navigator.geolocation) { navigator.geolocation.getCurrentPosition( function (position) { d.resolve([ position.coords.latitude, position.coords.longitude ]); }, function (error) { // 現在地取得に失敗 d.reject(); } ); } else { // Geolocation非対応ブラウザ // エラーメッセージ表示（PC版） $('#results').prepend('
Geolocation非対応ブラウザのため、位置情報が取得できません。
'); d.reject(); } return d.promise(); } /** * jqXHRオブジェクト保持用 * 値が代入されていたら通信中と判断する */ let shopDetailRequest; /** * 現在地からの距離取得 * @param latitude 緯度 * @param longitude 経度 */ function getShopDetailInfoAjax(latitude, longitude) { // 前の店舗詳細取得Ajax処理を中断 if (shopDetailRequest) { shopDetailRequest.abort(); } // 駅IDを取得 const stationId = $('input[name="station_id"]').val(); // エリア情報 const prefCode = $('input[name="pref_cd"]').val(); const areaCode = $('input[name="area_cd"]').val(); // 検索条件 const area = (typeof stationId === 'undefined' || stationId === '') ? $('input[name="area"]:checked').val() : AREA_STATION; // 表示店舗ごとに処理を行う $('.shopInfo').each(function(_, ele) { const $el = $(ele); const data = { area: area, shopId: $el.attr('id').replace("shopID", ""), latitude: latitude, longitude: longitude, stationId: stationId, prefCode: prefCode, areaCode: areaCode, }; shopDetailRequest = $.ajax({ type: 'GET', url: 'https://takeout.epark.jp/ajax/search/mappin/shop_after', data: data, datatype: 'json', }).done(function (data) { // 現在地からの距離 let $distance = $el.find('.distance'); $distance.empty().text(data.distance); if (data.distance === '') { // 現在地からの距離が空だった場合アイコンも非表示 $distance.addClass('store-list__item--link__cnt__detail--item'); $distance.removeClass('store-list__item--link__cnt__detail--item--map'); } }); }); } /** * 検索表示の見出し文言を設定 * @param keyword * @param category * @param prefCode 都道府県コード * @param areaCode エリアコード HACK 未使用? */ function setSeoHeading(keyword, category, prefCode, areaCode) { let seoHeading = keyword !== '' ? keyword : ''; // 都道府県コード if (prefCode !== '' && Number(prefCode) !== 0) { seoHeading += (seoHeading !== '' ? ',' : '') + PREFECTURES[prefCode]; } // カテゴリ if (category !== '' && category !== 'none') { if(CATEGORY[category]){ seoHeading += (seoHeading !== '' ? ',' : '') + CATEGORY[category]; } } return seoHeading; } /** * TOP/検索結果画面モーダル：モーダル設定値を検索項目に設定 * (呼び出しているのはmodal-a.js) */ function setSearchFromModal(){ // 空白でないものを設定 // フリーワード const $keyword = $('#modal_keyWord'); if ($keyword.length > 0 ) { const value = $keyword.val(); $('input[name="keyword"]').val(value); $('#search-keyword').text(value); } // エリア // エリアグループ let areaGroup = ''; // 都道府県 let pref = ''; // エリア let area = ''; const $areaGroup = $('#modal_area_group'); const $pref = $('#modal_pref'); const $area = $('#modal_area'); const $radius = $('#modal_radius'); const $modalArea = $('#modal-area'); const $nameArea = $('#modal_name_area'); const $nameStation = $('#modal_name_station'); if (areaGroup !== '' && pref !== '' && area !== '') { // エリア指定 areaGroup = $areaGroup.val(); pref = $pref.val(); area = $area.val(); // サイドメニュー $('input[name="area"][value="' + AREA_SELECT + '"]').prop('checked', true); // ボタン名称 const cityId = $('#modal_city_id').val(); const stationName = $nameStation.val(); if (!cityId && !stationName) { // city_id, 駅名が存在しない場合は都道府県 area = 0; $modalArea.html($('#modal_pref_name').val()); } else if (cityId) { // city_idが存在している場合は都市名（すべて）で検索 area = cityId; $modalArea.html($('#modal_city_name').val()); } else if (stationName) { // 駅名が与えられた場合は、駅名検索 $modalArea.html(stationName); } else { $modalArea.html($nameArea.val()); } } else if ($radius.val() !== '') { // 現在地指定 // サイドメニュー $('input[name="area"][value="' + AREA_HERE + '"]').prop('checked', true); $modalArea.html($nameArea.val()); // ボタン名称 } else if ($('input[name="location"]').prop('checked') === false) { // フリーワード検索のとき該当の箇所にチェックがあった場合すべてのエリア検索を実施する $('input[name="area"][value="' + AREA_ALL + '"]').prop('checked', true); $modalArea.html($nameArea.val()); // ボタン名称 } // 受取日付 const $receipt = $('#modal_receipt'); const $immediate = $('#modal_immediate'); const $nameReceipt = $('#modal_name_receipt'); const receipt = $receipt.val(); if (receipt !== '') { const now = new Date(); const today = now.getFullYear() + '/' + ('0' + (now.getMonth() + 1)) + '/' + ('0' + now.getDate() ); if (today === receipt) { $('input[name="receipt_radio"][value="' + RECEIPT_TODAY + '"]').prop('checked', true); $('input[name="receipt_radio_time"][value="' + RECEIPT_TODAY + '"]').prop('checked', true); $('.fn-receipt').text(''); } else { $('input[name="receipt_radio"][value="' + RECEIPT_AFTER_TOMORROW + '"]').prop('checked', true); $('input[name="receipt_radio_time"][value="' + RECEIPT_AFTER_TOMORROW + '"]').prop('checked', true); $('.fn-receipt').text('(' + receipt + ')'); } $('input[name="receipt"]').val(receipt); // 受取日付 // 今すぐ受取 const immediate = $immediate.val(); if (immediate !== '') { $('input[name="immediate"]').val(immediate); } $('#modal-receipt').text($nameReceipt.val()); } // カテゴリ const $category = $('#modal_category'); const category = $category.val(); if (category !== '') { $('select[name="category"]').val(category); // ボタン名称 $('#modal-category').html(category); } // モーダル値リセット // エリアグループ $areaGroup.val(''); // 都道府県 $pref.val(''); // エリア $area.val(''); // 検索範囲 $radius.val(''); // 受取日付 $receipt.val(''); // カテゴリ $category.val(''); // いますぐ受取 $immediate.val(''); // モーダル名称：エリア $nameArea.val(''); // モーダル名称：日付 $nameReceipt.val(''); // モーダル名称：カテゴリ $('#modal_name_category').val(''); // モーダル名称：駅 $nameStation.val(''); } /** * 展開するエリアモーダルを判定し、対象のIDを取得する * @return {string} */ function getOpenAreaModalId() { const area_group = $('#modal_area_group').val(); const radius = $('#modal_radius').val(); let area = $('#modal_area').val(); let pref = $('#modal_pref').val(); if (area_group !== '' || pref !== '' || area !== '' || radius !== '') { let openId; // モーダル値が設定されている場合 if (radius === '' && area !== '0') { // エリア openId = 'search_sp_area_' + pref; } else if (pref !== '' && area === '0') { // 都道府県 openId = 'search_sp_pref_' + area_group; } else { // エリアグループ openId = 'search_sp_area_group'; } return openId; } // モーダル値が設定されていない場合は前回の検索条件で判定する area = $('input[name="area_cd"]').val(); pref = $('input[name="pref_cd"]').val(); if (area !== '0') { // エリア return 'search_sp_area_'+pref; } else if (pref !== '' && area === '0') { // 都道府県 return'search_sp_pref_' + $('input[name="area_group"]').val(); } else { // エリアグループ return 'search_sp_area_group'; } } /** * エリアモーダルの選択を初期状態に設定する */ function setDefSelectAreaModal() { if ($('input[name="area"]:checked').val() === AREA_ALL) { // 全てのエリアが存在する場合は現在地へ書き換え $('#search_here').trigger('click'); return; } const areaGroup = $('input[name="area_group"]').val(); const prefCode = $('input[name="pref_cd"]').val(); const areaCode = $('input[name="area_cd"]').val(); // 選択状態を設定 if (areaGroup === '' && prefCode === '' && areaCode === '') { // 現在地 bgSelected('.search_area_groups', '#search_here'); // エリアモーダル現在地押下イベント発火 $('#search_here').trigger('click'); return; } // エリアグループ $('.search_area_groups').each(function (_, ele) { if (areaGroup === $(ele).attr('id')) { bgSelected('.search_area_groups', ele); return false; } }); // 都道府県 $('.modal_area_pref').each(function (_, ele) { if (prefCode === $(ele).attr('id')) { bgSelected('.modal_area_pref', ele); return false; } }); // エリア $('.search_area').each(function (_, ele) { const $ele = $(ele); if (prefCode === $ele.attr('data-pref') && areaCode === $ele.attr('id')) { bgSelected('.search_area', ele); return false; } }); } /** * 日付モーダルの選択を初期状態に設定する */ function setDefSelectReceiptModal() { // 本日日付 const now = new Date(); const today = now.getFullYear() + '/' + ('0' + (now.getMonth() + 1)) + '/' + ('0' + now.getDate()); // 今すぐ or 日付指定 const receivingDate = $('input[name="immediate"]').val() === 'true' ? 'today' : 'tomorrow'; $('#search_sp_time .btn_receipt').each(function (_, ele) { const $ele = $(ele); const dataReceipt = $ele.attr('data-receipt'); if (receivingDate === dataReceipt) { bgSelected('#search_sp_time .search_modal_selected', ele); if (dataReceipt === 'tomorrow') { // クリックイベント発火 $ele.trigger('click'); } } }); // 検索されている日付で設定 let receiptDate = new Date($('input[name="receipt"]').val()); if (isNaN(receiptDate)) { // 取得できない場合は本日日付 receiptDate = new Date(today); } createReceiptCalender(receiptDate, $('#search_sp_time_calendar'), true); // カレンダー日付選択 if (receivingDate === 'tomorrow') { $('#search_sp_time_calendar a.receipt_date_anchor').each(function (_, ele) { const $ele = $(ele); if ($ele.attr('data-search_date') === $('input[name="receipt"]').val()) { bgSelectedReceipt('#search_sp_time_calendar .search_receipt_selected', $ele.parent()); return false; } }); } } /** * カテゴリモーダルの選択を初期状態に設定する */ function setDefSelectChoiceModal() { // カテゴリ選択 const category = $('select[name="category"]').find('option:selected').val(); $('.btn_category').each(function (_, ele) { if ($(ele).attr('data-category') === category) { bgSelectedCategory('.btn_category', ele); } }); } /** * 選択背景設定 * @param {string} reset 背景リセット対象セレクタ * @param {string} target 背景セット対象セレクタ */ function bgSelected(reset, target){ // 背景色変更 if (reset !== '') { $(reset).removeClass("search_modal_selected"); } if (target !== '') { $(target).addClass("search_modal_selected"); } } /** * 日付選択背景設定 * @param {string} reset 背景リセット対象セレクタ * @param {string} target 背景セット対象セレクタ */ function bgSelectedReceipt(reset, target){ // 背景色変更 if (reset !== '') { $(reset).removeClass('search_receipt_selected'); } if (target !== '') { $(target).addClass('search_receipt_selected'); } } /** * カテゴリ背景設定 * @param {string} reset 背景リセット対象セレクタ * @param {string} target 背景セット対象セレクタ */ function bgSelectedCategory(reset, target){ // 背景色変更 if (reset !== '') { $(reset).removeClass('search_modal_selected'); $(reset).removeClass('pushed'); } if (target !== '') { if($(target).attr('data-category') === CATEGORY_NONE) { $(target).addClass('search_modal_selected'); } else { $(target).addClass('pushed'); } } } /** * 待ち時間を取得する * */ function getShopWaitTime() { $.ajax({ type: 'GET', url: 'https://takeout.epark.jp/ajax/shop/wait', datatype: 'json', }).done(function (data) { $.each(data, function(key, value) { let waitTimeIconDom = ''; // 該当店舗のエレメント $shopIdElm = $('.shopid_' + key); // 〇分待ちのアイコンを削除 $shopIdElm.find('.icon_minutes').remove(); // 画像エレメント作成 waitTimeIconDom += '
'; waitTimeIconDom += ' ' waitTimeIconDom += '
'; // エレメント結合 $shopIdElm.find('.text').append(waitTimeIconDom); }); }); }
受取日の指定
いますぐ 本日 明日以降
カートに入れる
キャンセルする
数量
オプション選択してください
買い物を
続ける
お会計へ
進む
確定
キャンセル
アカウント情報
さん　ログアウト
会員登録
ログイン
クーポン
ログイン
EPARKテイクアウト
滋賀県
大津市
瀬田駅(滋賀県)
瀬田駅(滋賀県)テイクアウト
滋賀県大津市瀬田駅(滋賀県)のテイクアウト（持ち帰り）ができるお店
条件からさがす
フリーワード
場所
全てのエリア 現在地から エリアから
エリア選択
北海道
青森県
岩手県
宮城県
秋田県
山形県
福島県
茨城県
栃木県
群馬県
埼玉県
千葉県
東京都
神奈川県
新潟県
富山県
石川県
福井県
山梨県
長野県
岐阜県
静岡県
愛知県
三重県
滋賀県
京都府
大阪府
兵庫県
奈良県
和歌山県
鳥取県
島根県
岡山県
広島県
山口県
徳島県
香川県
愛媛県
高知県
福岡県
佐賀県
長崎県
熊本県
大分県
宮崎県
鹿児島県
沖縄県
受取日時
本日 明日以降
ジャンル
指定なし 寿司 魚料理 和食 ラーメン・麺類 お好み焼き・粉物 日本料理・郷土料理 アジア・エスニック 中華 イタリアン 洋食・西洋料理 フレンチ アメリカ料理 珍しい各国料理 焼肉・ステーキ 焼き鳥・串料理 しゃぶしゃぶ・すき焼き カフェ・スイーツ ビュッフェ・バイキング 居酒屋・バー ファミレス ファストフード その他
予算
指定無し 1,000円以下 1,000円～2,000円 2,000円～5,000円 5,000円～7,000円 7,000円～10,000円 10,000円以上
目的
新着 いちおし 一人で 友達と 家族と パーティ 自宅で 会社で モーニング ランチ ディナー
受取日の指定
本日 明日以降
表示順
商品準備時間が早い順 距離が近い順
EPARKテイクアウト
滋賀県
大津市
瀬田駅(滋賀県)
瀬田駅(滋賀県)テイクアウト
滋賀県大津市瀬田駅(滋賀県)のテイクアウト（持ち帰り）ができるお店
瀬田駅(滋賀県)
今すぐ受け取る
全てのジャンル
詳細検索
当日
明日以降
商品準備時間が早い順 距離が近い順
エリア選択
エリア選択都道府県
都道府県エリア条件
エリア条件市区郡
エリア条件路線
市区郡駅（市区郡）
路線駅（路線）
受取日を変更
今すぐ受け取る
日付指定
検索
閉じる
ジャンルを選ぶ
全てのジャンル
イタリアン
和食
フレンチ
アジア・エスニック
焼き鳥・串料理
中華料理
寿司
カフェ・スイーツ
ジャンルを選ぶ
全てのジャンル
イタリアン
和食
フレンチ
アジア・エスニック
焼き鳥・串料理
中華料理
寿司
カフェ・スイーツ
ブランド一覧へ
※時短注文とは？
商品注文完了後に表示される「今すぐリクエスト」ボタンより、店舗に直接電話し、お受け取り時間のリクエストが可能となります。
本機能は、自由にお受け取り時間のリクエストができることをお約束するものではございません。
在庫状況・店舗都合によっては、時短注文が行えない場合があります。その際は商品注文時のお受け取り時間に準じますことご了承ください。
OK
EPARKポイント
EPARKでお店を予約した時やEPARKのサービスをご利用いただいた時に貯まるEPARKポイントを注文詳細設定画面でクーポンと交換してご利用いただけます。
※クレジットカード決済時のみご利用いただけます。
※EPARKポイントについて詳しくはこちら
※期間限定で、最大300EPARKポイント獲得のチャンス！
OK
「Go To Eat ポイント使用可能」
Go To Eatキャンペーン期間中に対象店舗（加盟店）にて、EPARKテイクアウトサイトから予約いただくと、店頭支払いの際にポイントをご利用いただけます。
ポイント利用は店頭にて Go To Eatキャンペーン特設サイト からQRコードをご提示ください。
EPARKサイト（日時指定受付）、EPARKグルメ（席予約）で獲得したGo To Eatキャンペーンのポイントがご利用いただけます。
EPARKテイクアウトで行えるのはポイントの利用のみです。ポイントを貯めることはできませんのでご注意ください。
EPARKテイクアウトサイト上ではGo To Eatポイントの割引額表示は行われません。
詳しいご利用方法・利用可能なポイント数は Go To Eatキャンペーン特設サイト にてご確認ください。
※スマートフォンのみ閲覧可能
閉じる
周辺の駅
瀬田駅(滋賀県)
石山駅
膳所駅
大津駅
大津京駅
唐崎駅
比叡山坂本駅
おごと温泉駅
堅田駅
小野駅(滋賀県)
和邇駅
蓬莱駅
志賀駅
比良駅(滋賀県)
近江舞子駅
北小松駅
追分駅(滋賀県)
大谷駅(滋賀県)
上栄町駅
びわ湖浜大津駅
坂本比叡山口駅
松ノ馬場駅
穴太駅(滋賀県)
滋賀里駅
南滋賀駅
近江神宮前駅
京阪大津京駅
大津市役所前駅
三井寺駅
島ノ関駅
石場駅
京阪膳所駅
錦駅
膳所本町駅
中ノ庄駅
瓦ヶ浜駅
粟津駅(滋賀県)
京阪石山駅
唐橋前駅
石山寺駅
お知らせ
お知らせ一覧へ
お知らせ
お知らせ一覧へ
EPARKテイクアウト(イーパークテイクアウト)は、お持ち帰り専用の検索・予約サイトです。
エリア、駅名、予算などから、お気に入りのお店が探せて、簡単にネット予約ができます。
有名店でも待ち時間なしで商品を受け取れます。
トピックス
ページトップへ
ご利用ガイド
よくあるご質問
お問い合わせ
運営会社
個人情報保護方針
サービス利用規約
ご利用ガイド
運営会社
よくあるご質問
個人情報保護方針
お問い合わせ
サービス利用規約
EPARK会員規約
EPARKとは？
EPARKグループサイト一覧
"一回のお客様を、一生のお客様に。"
© 2017 EPARK Takeout, Inc.
[REV0007092]
点数 0点
0円(税込)
カート
お会計へ
進む
カート内容
すでに会員の方はこちら
ログインする
会員登録がお済でない方
EPARKなら、ひとつのIDでさまざまな施設順番待ちや予約が可能です。
飲食店や、歯医者さん、病院、薬局、マッサージサロン、ヘアサロン、駐車場など…ひとつのIDで全ジャンルのサイトをご利用できます！
新規会員登録はとっても簡単です！ 会員登録（無料） EPARKについて詳しく知る
お問い合わせ・通報
返金申請
お問い合わせ
よくあるご質問
EPARKとは？
EPARKグループサービス
EPARKサービス向上アンケート
会員登録
ログイン
