rocket-a


git -C '/home/opc/rocketa.git' show f393a5a -- resources/views/media/company/regist.blade.php

commit f393a5a0fad5dd498bf6f58ad344360076cf9d89
Author: Satoshi Ujihara <satoshi_ujihara@fivegate.jp>
Date:   Fri Dec 19 19:36:07 2025 +0900

    メニュータイトルの仕様変更
    銀行コピーのアップロード機能

diff --git a/resources/views/media/company/regist.blade.php b/resources/views/media/company/regist.blade.php
index d290c18..077d598 100644
--- a/resources/views/media/company/regist.blade.php
+++ b/resources/views/media/company/regist.blade.php
@@ -5,7 +5,7 @@
 ページタイトル定義
 ここのタイトルがapp.bladeに読み込まれます。
 --}}
-@section('title', '登録情報編集')
+@section('title', __('company-regist.edit_registration_info'))
 
 {{-- コンテンツ内容 .main_col内 --}}
 @section('content')
@@ -13,7 +13,7 @@
     <h2 class="mb-3 pb-2 border-bottom">{{__('company-regist.edit_registration_info')}}</h2>
 
     @if (!isset($datas['action']))
-        {{ Form::open() }}
+        {{ Form::open(['files'=> true]) }}
             <div class="form_box border mb-3">
                 <h5 class="mb-0 text-white bg-dark form_head">{{__('company-regist.basic_info')}}</h5>
 
@@ -325,7 +325,7 @@
                     </div>
                 </div><!-- /.form-group -->
 
-                <div class="form-group row m-0">
+                <div class="form-group row m-0  border-bottom">
                     <div class="col-sm-2 px-0 bg-gray d-flex align-items-center">
                         {{ Form::label('',__('company-regist.account_holder_kana').'<span class="required">'.__('company-regist.required').'</span>', ['class'=>'px-2 col-form-label'], false) }}
                     </div>
@@ -340,8 +340,53 @@
                         </div>
                     </div>
                 </div><!-- /.form-group -->
+
+            <div class="form-group row m-0">
+                <div class="col-sm-2 px-0 bg-gray d-flex align-items-center">
+                    {{ Form::label('',__('company-detail.bank_account_copy'), ['class'=>'px-2 col-form-label'], false) }}
+                </div>
+                <div class="col-sm-10 px-0 d-flex align-items-center">
+                    <div class="p-2 w-100">
+                        <div class="container mt-5">
+                            <label class="file-upload-area w-100 p-5 text-center" id="dropArea">
+                                <input type="file" name="bank_copy" class="d-none" id="fileInput">
+                                
+                                <div id="defaultContent">
+                                    <div class="mb-3">
+                                        <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" fill="currentColor" class="bi bi-upload text-dark" viewBox="0 0 16 16">
+                                            <path d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"/>
+                                            <path d="M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 0 1-.708-.708l3-3z"/>
+                                        </svg>
+                                    </div>
+                                    <p class="mb-1 text-secondary fw-bold">{{__('company-detail.file_drag_and_drop')}}</p>
+                                    <p class="text-secondary small mb-0">{{__('company-detail.pdf_png_jpeg')}}</p>
+                                </div>
+
+                                <div id="fileContent" class="d-none">
+                                    <div class="mb-3">
+                                        <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" fill="currentColor" class="bi bi-file-earmark-check text-success" viewBox="0 0 16 16">
+                                            <path d="M10.854 7.854a.5.5 0 0 0-.708-.708L7.5 9.793 6.354 8.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z"/>
+                                            <path d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z"/>
+                                        </svg>
+                                    </div>
+                                    <h5 class="fw-bold text-dark" id="fileNameDisplay"></h5>
+                                    <p class="text-primary small mb-0">{{__('company-detail.click_to_change')}}</p>
+                                </div>
+                            </label>
+                        </div>
+
+                        @if($errors->has('bank_copy'))
+                            <div class="err_msg mt-2">{{ $errors->first('bank_copy') }}</div>
+                        @endif
+                    </div>
+                </div>
+            </div><!-- /.form-group -->
+
             </div><!-- /.form_box -->
 
+
+
+
             <div class="area_btn">
                 <div class="row mx-0 mb-3 justify-content-center">
                     <div class="col-md-8 p-0">
@@ -354,7 +399,7 @@
         {{ Form::close() }}
 
     @else
-        {{ Form::open() }}
+        {{ Form::open(['files'=> true]) }}
             <div class="form_box border mb-3">
                 <h5 class="mb-0 text-white bg-dark form_head">{{__('company-regist.basic_info')}}</h5>
 
@@ -596,7 +641,7 @@
                     </div>
                 </div><!-- /.form-group -->
 
-                <div class="form-group row m-0">
+                <div class="form-group row m-0 border-bottom">
                     <div class="col-sm-2 px-0 bg-gray d-flex align-items-center">
                         <div class="px-2 col-form-label">{{__('company-regist.account_holder_kana')}}</div>
                     </div>
@@ -607,6 +652,17 @@
                         </div>
                     </div>
                 </div><!-- /.form-group -->
+                <div class="form-group row m-0">
+                    <div class="col-sm-2 px-0 bg-gray d-flex align-items-center">
+                        <div class="px-2 col-form-label">{{__('company-detail.bank_account_copy')}}</div>
+                    </div>
+
+                    <div class="col-sm-10 px-0 d-flex align-items-center">
+                        <div class="px-2 py-3 w-100">
+                            {{ $datas['bank_copy_file_name'] ?? '' }}
+                        </div>
+                    </div>
+                </div><!-- /.form-group -->
             </div><!-- /.form_box -->
 
             <div class="area_btn">
@@ -629,3 +685,68 @@
         {{ Form::close() }}
     @endif
 @endsection
+
+
+@section('respectively_js')
+<script>
+//画像drac & drop start
+    const dropArea = document.getElementById('dropArea');
+    const fileInput = document.getElementById('fileInput');
+    const defaultContent = document.getElementById('defaultContent');
+    const fileContent = document.getElementById('fileContent');
+    const fileNameDisplay = document.getElementById('fileNameDisplay');
+
+    // 1. クリックしてファイルを選択した場合の処理
+    fileInput.addEventListener('change', function(e) {
+        handleFiles(this.files);
+    });
+
+    // 2. ドラッグ&ドロップの処理
+    // デフォルトの挙動(ブラウザでファイルが開く)を無効化
+    ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
+        dropArea.addEventListener(eventName, preventDefaults, false);
+    });
+
+    function preventDefaults(e) {
+        e.preventDefault();
+        e.stopPropagation();
+    }
+
+    // ドラッグ中(見た目を変える)
+    ['dragenter', 'dragover'].forEach(eventName => {
+        dropArea.addEventListener(eventName, () => dropArea.classList.add('dragover'), false);
+    });
+
+    // ドラッグ終了(見た目を戻す)
+    ['dragleave', 'drop'].forEach(eventName => {
+        dropArea.addEventListener(eventName, () => dropArea.classList.remove('dragover'), false);
+    });
+
+    // ドロップ時の処理
+    dropArea.addEventListener('drop', function(e) {
+        const dt = e.dataTransfer;
+        const files = dt.files;
+
+        // 重要: ドロップされたファイルをinputタグに設定する
+        // これで通常のinput type=fileで選んだのと同じ状態になります
+        fileInput.files = files; 
+
+        handleFiles(files);
+    });
+
+    // 共通: ファイルが設定されたら表示を切り替える関数
+    function handleFiles(files) {
+        if (files.length > 0) {
+            const file = files[0];
+            // ファイル名を表示
+            fileNameDisplay.textContent = file.name;
+            
+            // 表示エリアを切り替え
+            defaultContent.classList.add('d-none');
+            fileContent.classList.remove('d-none');
+        }
+    }
+//画像drac & drop end
+
+</script>
+@endsection

diff.txt · 最終更新: by root