{#
This file is part of EC-CUBE
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
http://www.ec-cube.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% extends 'default_frame.twig' %}
{% form_theme form 'Form/form_div_layout.twig' %}
{% block javascript %}
<script src="//yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>
<script>
$(document).ready(function() {
var dropArea = $('#drop-area');
var fileInput = $('#contact_attachment');
var filePreview = $('#file-preview');
var uploadButton = $('#upload-button');
dropArea.on('dragenter', function(e) {
e.preventDefault();
dropArea.addClass('active');
});
dropArea.on('dragover', function(e) {
e.preventDefault();
});
dropArea.on('dragleave', function() {
dropArea.removeClass('active');
});
dropArea.on('drop', function(e) {
e.preventDefault();
dropArea.removeClass('active');
var files = e.originalEvent.dataTransfer.files;
handleFiles(files);
});
fileInput.on('change', function() {
alert("変更");
var files = fileInput[0].files;
handleFiles(files);
});
function handleFiles(files) {
// contact_attachmentにファイルを設定
fileInput.prop('files', files);
filePreview.empty(); // プレビュー領域をクリア
for (var i = 0; i < files.length; i++) {
var file = files[i];
var reader = new FileReader();
reader.onload = function(e) {
var image = $('<div class="preview-item">')
.append($('<img>').attr('src', e.target.result))
.data('file', file); // ファイルをデータ属性に保存
filePreview.append(image);
};
reader.readAsDataURL(file);
}
if (files.length > 0) {
uploadButton.prop('disabled', false);
} else {
uploadButton.prop('disabled', true);
}
}
// プレビュー画像のバツボタンがクリックされたとき
filePreview.on('click', '.close-button', function() {
var previewItem = ('.preview-item');
previewItem.remove();
// アップロードボタンを無効にするかチェック
if (filePreview.children().length === 0) {
uploadButton.prop('disabled', true);
}
// contact_attachmentから画像を削除
var removedFile = previewItem.data('file');
var currentFiles = fileInput[0].files;
var newFiles = Array.from(currentFiles).filter(function(file) {
return file !== removedFile;
});
fileInput[0].files = newFiles;
});
uploadButton.on('click', function() {
// フォームを送信するか、アップロード処理を実行する
// ここにアップロード処理を追加
});
});
</script>
{% endblock javascript %}
{% block main %}
<div class="ec-contactRole">
<div class="ec-pageHeader">
<h1>{{ 'まとめて買い取り査定フォーム'|trans }}</h1>
</div>
<div class="ec-off1Grid">
<div class="ec-off1Grid__cell">
<form method="post" action="{{ url('purchase') }}" class="h-adr" enctype="multipart/form-data" novalidate>
<span class="p-country-name" style="display:none;">Japan</span>
{{ form_widget(form._token) }}
<p class="ec-para-normal">{{ 'こちらは「まとめて買い取り査定フォーム」となります。個別に査定していただきたいカードは画像の添付をしいただけますと幸いです。
内容によっては回答をさしあげるのにお時間をいただくこともございます。
また、休業日は翌営業日以降の対応となりますのでご了承ください。'|trans|nl2br }}</p>
<div class="ec-borderedDefs">
<dl>
<dt>
{{ form_label(form.name, 'お名前', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="ec-halfInput{{ has_errors(form.name.name01, form.name.name02) ? ' error' }}">
{{ form_widget(form.name.name01, {'attr': { 'placeholder': '姓' }}) }}
{{ form_widget(form.name.name02, {'attr': { 'placeholder': '名' }}) }}
{{ form_errors(form.name.name01) }}
{{ form_errors(form.name.name02) }}
</div>
</dd>
</dl>
<dl>
<dt>
{{ form_label(form.kana, 'お名前(カナ)', {'label_attr': {'class': 'ec-label'}}) }}
</dt>
<dd>
<div class="ec-halfInput{{ has_errors(form.kana.kana01, form.kana.kana02) ? ' error' }}">
{{ form_widget(form.kana.kana01, {'attr': { 'placeholder': 'セイ' }}) }}
{{ form_widget(form.kana.kana02, {'attr': { 'placeholder': 'メイ' }}) }}
{{ form_errors(form.kana.kana01) }}
{{ form_errors(form.kana.kana02) }}
</div>
</dd>
</dl>
<dl>
<dt>
{{ form_label(form.address, '住所', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="ec-zipInput{{ has_errors(form.postal_code) ? ' error' }}">
<span>{{ '〒'|trans }}</span>
{{ form_widget(form.postal_code) }}
<div class="ec-zipInputHelp">
<div class="ec-zipInputHelp__icon">
<div class="ec-icon"><img
src="{{ asset('assets/icon/question-white.svg') }}" alt="">
</div>
</div><a href="https://www.post.japanpost.jp/zipcode/" target="_blank"><span>{{ '郵便番号検索'|trans }}</span></a>
</div>
{{ form_errors(form.postal_code) }}
</div>
<div class="ec-select{{ has_errors(form.address.pref) ? ' error' }}">
{{ form_widget(form.address.pref) }}
{{ form_errors(form.address.pref) }}
</div>
<div class="ec-input{{ has_errors(form.address.addr01) ? ' error' }}">
{{ form_widget(form.address.addr01, { 'attr': { 'placeholder': '市区町村名(例:大阪市北区)' }}) }}
{{ form_errors(form.address.addr01) }}
</div>
<div class="ec-input{{ has_errors(form.address.addr02) ? ' error' }}">
{{ form_widget(form.address.addr02, { 'attr': { 'placeholder': '番地・ビル名(例:西梅田1丁目6-8)' }}) }}
{{ form_errors(form.address.addr02) }}
</div>
</dd>
</dl>
<dl>
<dt>
{{ form_label(form.phone_number, '電話番号', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="ec-telInput{{ has_errors(form.phone_number) ? ' error' }}">
{{ form_widget(form.phone_number) }}
{{ form_errors(form.phone_number) }}
</div>
</dd>
</dl>
<dl>
<dt>
{{ form_label(form.email, 'メールアドレス', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="ec-input{{ has_errors(form.email) ? ' error' }}">
{{ form_widget(form.email) }}
{{ form_errors(form.email) }}
</div>
</dd>
</dl>
<!-- 添付ファイル項目を追加 -->
<dl>
<dt>
{{ form_label(form.attachment, '添付ファイル', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div id="file-input-container">
<div class="ec-input{{ has_errors(form.attachment) ? ' error' }}">
{{ form_widget(form.attachment) }}
{{ form_errors(form.attachment) }}
{{ form_widget(form.filename) }}
</div>
</div>
<div id="drop-area">
<p class="fs12">ファイルをここにドラッグアンドドロップしてください。<br />複数アップロードする場合は一度にまとめてドラッグアンドドロップしてください。<br />アップロードする画像を選択し直す事が可能です。</p>
</div>
<div id="file-preview"></div>
{% if form.filename.vars.data != '' %}
{% for key, imgurl in form.filename.vars.data %}
<img src="/html/upload/save_image{{ asset(imgurl, 'save_image') }}" style="width: 150px !important;" />
{% endfor %}
{% endif %}
</dd>
</dl>
<dl>
<dt>
{{ form_label(form.contents, '備考欄', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="ec-input{{ has_errors(form.contents) ? ' error' }}">
{{ form_widget(form.contents) }}
{{ form_errors(form.contents) }}
</div>
<!--<p>{{ 'ご注文に関するお問い合わせには、必ず「ご注文番号」をご記入くださいますようお願いいたします。'|trans }}</p>-->
</dd>
</dl>
{# エンティティ拡張の自動出力 #}
{% for f in form|filter(f => f.vars.eccube_form_options.auto_render) %}
{% if f.vars.eccube_form_options.form_theme %}
{% form_theme f f.vars.eccube_form_options.form_theme %}
{{ form_row(f) }}
{% else %}
<dl>
<dt>
{% set label_class = f.vars.label_attr.class is defined ? f.vars.label_attr.class : '' %}
{{ form_label(f, f.vars.label, { 'label_attr': {'class': label_class ~ ' ec-label' }}) }}
</dt>
<dd>
<div class="{{ f.vars.eccube_form_options.style_class }}{{ has_errors(f) ? ' error' }}">
{{ form_widget(f) }}
{{ form_errors(f) }}
</div>
</dd>
</dl>
{% endif %}
{% endfor %}
</div>
<div class="ec-RegisterRole__actions">
<div class="ec-off4Grid">
<div class="ec-off4Grid__cell">
<button type="submit" class="ec-blockBtn--action" name="mode" value="confirm">{{ '確認ページへ'|trans }}
</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
{% endblock %}