メールテンプレート画面の修正
All checks were successful
Deploy main / deploy (push) Successful in 23s

This commit is contained in:
kin.rinzen 2025-10-09 11:42:08 +09:00
parent 1d5db12a27
commit 307ab7ccb2
8 changed files with 357 additions and 283 deletions

View File

@ -11,116 +11,101 @@ class MailTemplateController extends Controller
/**
* 一覧表示
*/
public function list(Request $request)
public function list(Request $request)
{
if ($request->input('action') === 'reset') {
return redirect()->route('mail_templates');
}
// 許可されたソートカラム一覧
$allowedSorts = [
'mail_template_id',
'pg_id',
'internal_id',
'mgr_cc_flag',
'bcc_adrs',
'use_flag',
'memo',
'subject',
'text',
'created_at',
'updated_at',
'operator_id',
];
$sort = $request->input('sort', 'mail_template_id');
$sort_type = $request->input('sort_type', 'desc');
$allowedSorts = [
'mail_template_id', 'pg_id', 'internal_id', 'mgr_cc_flag',
'bcc_adrs', 'use_flag', 'memo', 'subject', 'text',
'created_at', 'updated_at', 'operator_id'
];
$sort = $request->input('sort', 'mail_template_id');
$sort_type = $request->input('sort_type', 'asc');
if (!in_array($sort, $allowedSorts)) {
$sort = 'mail_template_id';
}
if (!in_array($sort_type, ['asc', 'desc'])) {
$sort_type = 'desc';
}
}
$query = MailTemplate::query();
// 絞り込み
if ($request->filled('mail_template_id')) {
$query->where('mail_template_id', $request->mail_template_id);
// === 絞り込み ===
$mail_template_id = $request->input('mail_template_id');
$pg_id = $request->input('pg_id');
$mgr_cc_flag = $request->input('mgr_cc_flag');
$use_flag = $request->input('use_flag');
$subject = $request->input('subject');
if ($mail_template_id) {
$query->where('mail_template_id', $mail_template_id);
}
if ($request->filled('pg_id')) {
$query->where('pg_id', $request->pg_id);
if ($pg_id) {
$query->where('pg_id', $pg_id);
}
if ($request->has('mgr_cc_flag') && $request->mgr_cc_flag !== '') {
$query->where('mgr_cc_flag', $request->mgr_cc_flag);
if ($mgr_cc_flag !== null && $mgr_cc_flag !== '') {
$query->where('mgr_cc_flag', $mgr_cc_flag);
}
if ($request->has('use_flag') && $request->use_flag !== '') {
$query->where('use_flag', $request->use_flag);
if ($use_flag !== null && $use_flag !== '') {
$query->where('use_flag', $use_flag);
}
if ($request->filled('subject')) {
$query->where('subject', 'LIKE', "%{$request->subject}%");
if ($subject) {
$query->where('subject', 'LIKE', "%{$subject}%");
}
$templates = $query->orderBy($sort, $sort_type)->paginate(20);
return view('admin.mail_templates.list', compact(
'templates', 'sort', 'sort_type'
'templates', 'sort', 'sort_type',
'mail_template_id', 'pg_id', 'mgr_cc_flag', 'use_flag', 'subject'
));
}
/**
* 新規登録
*/
public function add(Request $request)
{
if ($request->isMethod('post')) {
$data = $this->validateTemplate($request);
$data['operator_id'] = optional(\Auth::user())->ope_id ?? null;
MailTemplate::create($data);
return redirect()->route('mail_templates')
->with('success', 'テンプレートを登録しました');
->with('success', '登録しました');
}
$mailTemplate = new MailTemplate();
return view('admin.mail_templates.add', compact('mailTemplate'));
return view('admin.mail_templates.add', [
'mailTemplate' => new MailTemplate(),
'isEdit' => false,
]);
}
/**
* 編集
*/
public function edit($id, Request $request)
public function edit(int $id, Request $request)
{
$mailTemplate = MailTemplate::findOrFail($id);
if ($request->isMethod('post')) {
$data = $this->validateTemplate($request);
$data['operator_id'] = optional(\Auth::user())->ope_id ?? null;
$mailTemplate->update($data);
return redirect()->route('mail_templates')
->with('success', 'テンプレートを更新しました');
->with('success', '更新しました');
}
return view('admin.mail_templates.edit', compact('mailTemplate'));
}
/**
* 詳細表示
*/
public function info($id)
{
$mailTemplate = MailTemplate::findOrFail($id);
return view('admin.mail_templates.info', compact('mailTemplate'));
return view('admin.mail_templates.edit', [
'mailTemplate' => $mailTemplate,
'isEdit' => true,
]);
}
/**
@ -128,29 +113,34 @@ class MailTemplateController extends Controller
*/
public function delete(Request $request)
{
$id = $request->input('id');
if ($id) {
MailTemplate::destroy($id);
return redirect()->route('mail_templates')->with('success', 'テンプレートを削除しました');
}
return redirect()->route('mail_templates')->with('error', '削除対象が指定されていません');
}
$pk = $request->input('pk', []);
// 配列に統一
$ids = is_array($pk) ? $pk : [$pk];
$ids = array_values(array_filter($ids, fn($v) => preg_match('/^\d+$/', (string) $v)));
if (empty($ids)) {
return redirect()->route('mail_templates')->with('error', '削除対象が選択されていません。');
}
MailTemplate::whereIn('mail_template_id', $ids)->delete();
return redirect()->route('mail_templates')->with('success', '削除しました。');
}
/**
* バリデーション共通化
*/
private function validateTemplate(Request $request)
{
return $request->validate([
'pg_id' => 'nullable|integer',
'internal_id' => 'nullable|integer',
'mgr_cc_flag' => 'nullable|boolean',
'pg_id' => 'required|integer',
'internal_id' => 'required|integer',
'mgr_cc_flag' => 'required|boolean',
'bcc_adrs' => 'nullable|string|max:255',
'use_flag' => 'nullable|boolean',
'use_flag' => 'required|boolean',
'memo' => 'nullable|string|max:255',
'subject' => 'required|string|max:255',
'text' => 'required|string',
'operator_id' => 'nullable|integer',
]);
}
}

View File

@ -409,7 +409,16 @@ return [
'device_work' => '稼働状況',
'device_workstart' => '稼働開始日',
'device_replace' => '交換日',
'device_remarks' => '備考',
'device_remarks' => '備考',
//SWA-97
'pg_id' => '使用プログラムID',
'internal_id' => '内部ID',
'mgr_cc_flag' => 'エリアマネージャー同報',
'bcc_adrs' => 'BCCアドレス',
'use_flag' => '使用フラグ',
'memo' => '備考',
'subject' => '件名',
'text' => '本文',

View File

@ -1,101 +1,146 @@
@if(Session::has('success'))
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
{{ Session::get('success') }}
</div>
@elseif(Session::has('error'))
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i> エラー:</h4>
{!! Session::get('error') !!}
</div>
@endif
<div class="card-body">
{{-- セッションメッセージ --}}
@if(Session::has('success'))
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
{{ Session::get('success') }}
</div>
@elseif(Session::has('error'))
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i> エラー:</h4>
{!! Session::get('error') !!}
</div>
@endif
{{-- バリデーションエラー --}}
@if ($errors->any())
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<h4>入力内容に不備があります:</h4>
<ul class="mb-0">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
<button type="button" class="close" data-dismiss="alert" aria-label="閉じる">
<span aria-hidden="true">&times;</span>
</button>
</div>
@endif
<div class="row">
{{-- 編集・詳細時のみテンプレートID表示 --}}
@if($isEdit || $isInfo)
<div class="form-group col-3">
<label>テンプレートID</label>
</div>
<div class="form-group col-9">
<input type="text" value="{{ $mailTemplate->mail_template_id ?? '' }}" class="form-control form-control-lg" readonly />
</div>
{{-- テンプレートIDメールテンプレートID--}}
@if($isEdit)
<div class="form-group col-3">
<label>メールテンプレートID</label>
</div>
<div class="form-group col-9">
{{-- システム自動入力・右寄せ・読取専用 --}}
<input type="text"
name="mail_template_id"
value="{{ $mailTemplate->mail_template_id ?? '' }}"
class="form-control form-control-lg text-right"
readonly />
</div>
@endif
<!-- 使用プログラムID -->
<div class="form-group col-3">
<label class="required">使用プログラムID</label>
<div class="form-group col-md-3">
<label class="required">{{ __('validation.attributes.pg_id') }}</label>
</div>
<div class="form-group col-9">
<input type="number" name="pg_id" value="{{ old('pg_id', $mailTemplate->pg_id ?? '') }}"
class="form-control form-control-lg" @if($isInfo) readonly @endif required />
<div class="form-group col-md-9">
<input type="number" name="pg_id"
value="{{ old('pg_id', $mailTemplate->pg_id ?? '') }}"
class="form-control form-control-lg text-right"
placeholder="{{ __('validation.attributes.pg_id') }}"
min="0" required>
</div>
<!-- 内部ID -->
{{-- 内部ID --}}
<div class="form-group col-3">
<label>内部ID</label>
<label class="required">{{ __('validation.attributes.internal_id') }}</label>
</div>
<div class="form-group col-9">
<input type="number" name="internal_id" value="{{ old('internal_id', $mailTemplate->internal_id ?? '') }}"
class="form-control form-control-lg" @if($isInfo) readonly @endif />
{{-- 数値入力・必須・負数NG0以上・右寄せ --}}
<input type="number"
name="internal_id"
value="{{ old('internal_id', $mailTemplate->internal_id ?? '') }}"
class="form-control form-control-lg text-right"
placeholder="{{ __('validation.attributes.internal_id') }}"
min="0"
required />
</div>
<!-- エリアマネージャー同報 -->
<div class="form-group col-3">
<label>エリアマネージャー同報</label>
{{-- エリアマネージャー同報 --}}
<div class="form-group col-md-3">
<label class="required">{{ __('validation.attributes.mgr_cc_flag') }}</label>
</div>
<div class="form-group col-9 mt-2">
<div class="form-group col-md-9 d-flex align-items-center">
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="mgr_cc_flag" value="1"
@if(old('mgr_cc_flag', $mailTemplate->mgr_cc_flag ?? '') == 1) checked @endif
@if($isInfo) disabled @endif>
@if(old('mgr_cc_flag', $mailTemplate->mgr_cc_flag ?? 1) == 1) checked @endif required>
<label class="form-check-label">同報する</label>
</div>
<div class="form-check form-check-inline">
<div class="form-check form-check-inline ml-3">
<input class="form-check-input" type="radio" name="mgr_cc_flag" value="0"
@if(old('mgr_cc_flag', $mailTemplate->mgr_cc_flag ?? '') == 0) checked @endif
@if($isInfo) disabled @endif>
@if(old('mgr_cc_flag', $mailTemplate->mgr_cc_flag ?? 1) == 0) checked @endif>
<label class="form-check-label">同報しない</label>
</div>
</div>
<!-- BCCアドレス -->
<div class="form-group col-3">
<label>BCCアドレス</label>
<label>{{ __('validation.attributes.bcc_adrs') }}</label>
</div>
<div class="form-group col-9">
<input type="text" name="bcc_adrs" value="{{ old('bcc_adrs', $mailTemplate->bcc_adrs ?? '') }}"
class="form-control form-control-lg" @if($isInfo) readonly @endif />
{{-- 半角128文字以内・左寄せ --}}
<input type="text"
name="bcc_adrs"
value="{{ old('bcc_adrs', $mailTemplate->bcc_adrs ?? '') }}"
class="form-control form-control-lg text-left"
placeholder="{{ __('validation.attributes.bcc_adrs') }}"
maxlength="128"
pattern="^[\x21-\x7E]+$"
title="半角文字で128文字以内で入力してください。">
</div>
<!-- 使用フラグ -->
<div class="form-group col-3">
<label>使用フラグ</label>
{{-- 使用フラグ --}}
<div class="form-group col-md-3">
<label class="required">使用フラグ</label>
</div>
<div class="form-group col-9 mt-2">
<div class="form-group col-md-9 d-flex align-items-center">
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="use_flag" value="1"
@if(old('use_flag', $mailTemplate->use_flag ?? '') == 1) checked @endif
@if($isInfo) disabled @endif>
@if(old('use_flag', $mailTemplate->use_flag ?? 1) == 1) checked @endif required>
<label class="form-check-label">使用する</label>
</div>
<div class="form-check form-check-inline">
<div class="form-check form-check-inline ml-3">
<input class="form-check-input" type="radio" name="use_flag" value="0"
@if(old('use_flag', $mailTemplate->use_flag ?? '') == 0) checked @endif
@if($isInfo) disabled @endif>
@if(old('use_flag', $mailTemplate->use_flag ?? 1) == 0) checked @endif required>
<label class="form-check-label">使用しない</label>
</div>
</div>
<!-- メモ -->
<!-- メモ(備考) -->
<div class="form-group col-3">
<label>メモ</label>
<label>備考</label>
</div>
<div class="form-group col-9">
<input type="text" name="memo" value="{{ old('memo', $mailTemplate->memo ?? '') }}"
class="form-control form-control-lg" @if($isInfo) readonly @endif />
{{-- 全角可・255文字以内・左寄せ --}}
<input type="text"
name="memo"
value="{{ old('memo', $mailTemplate->memo ?? '') }}"
class="form-control form-control-lg text-left"
placeholder="{{ __('validation.attributes.memo') }}"
maxlength="255"
title="255文字以内で入力してください。">
</div>
<!-- 件名 -->
@ -103,8 +148,15 @@
<label class="required">件名</label>
</div>
<div class="form-group col-9">
<input type="text" name="subject" value="{{ old('subject', $mailTemplate->subject ?? '') }}"
class="form-control form-control-lg" @if($isInfo) readonly @endif required />
{{-- 全角可・128文字以内・左寄せ・必須 --}}
<input type="text"
name="subject"
value="{{ old('subject', $mailTemplate->subject ?? '') }}"
class="form-control form-control-lg text-left"
placeholder="{{ __('validation.attributes.subject') }}"
maxlength="128"
required
title="128文字以内で入力してください。">
</div>
<!-- 本文 -->
@ -112,29 +164,40 @@
<label class="required">本文</label>
</div>
<div class="form-group col-9">
<textarea name="text" class="form-control form-control-lg" rows="8"
@if($isInfo) readonly @endif required>{{ old('text', $mailTemplate->text ?? '') }}</textarea>
</div>
<!-- オペレータID -->
<div class="form-group col-3">
<label>オペレータID</label>
</div>
<div class="form-group col-9">
<input type="number" name="operator_id" value="{{ old('operator_id', $mailTemplate->operator_id ?? '') }}"
class="form-control form-control-lg" @if($isInfo) readonly @endif />
{{-- 全角可・400文字以内・左寄せ・必須 --}}
<textarea name="text"
class="form-control form-control-lg text-left"
placeholder="{{ __('validation.attributes.text') }}"
rows="8"
maxlength="400"
required
title="400文字以内で入力してください。">{{ old('text', $mailTemplate->text ?? '') }}</textarea>
</div>
</div>
{{-- ===== 下部ボタン領域 ===== --}}
{{-- 下部ボタン --}}
<div class="row mt-4">
<div class="form-group col-md-10 d-flex align-items-center gap-2 justify-content-start">
{{-- 下部ボタン --}}
@if($isEdit)
<button type="submit" class="btn btn-lg btn-success register">{{ __('保存') }}</button>
<button type="submit" class="btn btn-lg btn-secondary register">{{ __('戻る') }}</button>
@else
<button type="submit" class="btn btn-lg btn-success register">{{ __('登録') }}</button>
<button type="submit" class="btn btn-lg btn-danger register">{{ __('削除') }}</button>
@endif
{{-- 登録ボタン --}}
@if($isEdit)
<button type="button" id="register_edit" class="btn btn-lg btn-success mr-2">
{{ __('登録') }}
</button>
@else
<button type="button" id="register" class="btn btn-lg btn-success mr-2 register">
{{ __('登録') }}
</button>
@endif
{{-- 削除ボタン(編集時のみ表示) --}}
@if($isEdit)
<button type="button" id="delete_edit" class="btn btn-lg btn-danger">
{{ __('削除') }}
</button>
@endif
</div>
</div>
</div>

View File

@ -1,5 +1,5 @@
@extends('layouts.app')
@section('title', '[東京都|〇〇駐輪場] メール送信テンプレート新規登録')
@section('title', '新規')
@section('content')
<!-- Content Header (Page header) -->
@ -7,14 +7,14 @@
<div class="container-fluid">
<div class="row mb-2">
<div class="col-lg-6">
<h1 class="m-0 text-dark">新規登録</h1>
<h1 class="m-0 text-dark">新規</h1>
</div>
<div class="col-lg-6">
<ol class="breadcrumb float-sm-right text-sm">
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
<!-- <li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li> -->
<li class="breadcrumb-item"><a href="{{ route('mail_templates') }}">メール送信テンプレート</a></li>
<li class="breadcrumb-item active">新規登録</li>
<li class="breadcrumb-item active">新規</li>
</ol>
</div>
</div>
@ -22,25 +22,22 @@
</div>
<!-- /.content-header -->
<!-- Main content -->
<section class="content">
<div class="container-fluid">
<!-- Card -->
<div class="row">
<div class="col-lg-12">
<div class="card">
<form method="post" action="{{ route('mail_templates_add') }}" enctype="multipart/form-data">
@csrf
@include('admin.mail_templates._form', [
'isEdit' => false,
'isInfo' => false,
'mailTemplate' => $mailTemplate,
])
</form>
</div>
</div>
<div class="card">
<form id="form_register" action="{{ route('mail_templates_add') }}" method="POST" enctype="multipart/form-data">
@csrf
@include('admin.mail_templates._form', [
'isEdit' => false,
'mailTemplate' => $mailTemplate,
])
</form>
</div>
</div>
</section>
<!-- /.content -->
@endsection

View File

@ -1,5 +1,5 @@
@extends('layouts.app')
@section('title', '[東京都|〇〇駐輪場] メール送信テンプレート')
@section('title', '編集')
@section('content')
@ -21,13 +21,23 @@
</div>
</div>
</div>
<!-- /.content-header -->
<!-- /.content-header -->
<section class="content">
<div class="container-fluid">
<div class="card">
<form method="post" action="{{ route('mail_templates_edit', ['id' => $mailTemplate->mail_template_id]) }}" enctype="multipart/form-data">
{{-- 編集フォーム --}}
<form id="form_edit" action="{{ route('mail_templates_edit', ['id' => $mailTemplate->mail_template_id]) }}" method="POST">
@csrf
@include('admin.mail_templates._form', ['isEdit' => 1, 'isInfo' => 0, 'mailTemplate' => $mailTemplate])
@include('admin.mail_templates._form', [
'isEdit' => true,
'mailTemplate' => $mailTemplate,
])
</form>
{{-- 削除フォーム(非表示) --}}
<form id="form_delete" action="{{ route('mail_templates_delete') }}" method="POST" style="display:none;">
@csrf
<input type="hidden" name="pk[]" value="{{ $mailTemplate->mail_template_id }}">
</form>
</div>
</div>

View File

@ -1,21 +0,0 @@
@extends('layouts.app')
@section('title', '[東京都|〇〇駐輪場] メール送信テンプレート')
@section('content')
<div class="content-header">
<div class="container-fluid">
<h1 class="m-0 text-dark">メール送信テンプレート詳細</h1>
</div>
</div>
<section class="content">
<div class="container-fluid">
<div class="card">
{{-- info 画面なので action は不要 --}}
<form method="post" enctype="multipart/form-data">
@csrf
@include('admin.mail_templates._form', ['isEdit' => 0, 'isInfo' => 1, 'mailTemplate' => $mailTemplate])
</form>
</div>
</div>
</section>
@endsection

View File

@ -1,6 +1,6 @@
@extends('layouts.app')
@section('title', '[東京都|〇〇駐輪場] メール送信テンプレート')
@section('title', 'メール送信テンプレート')
@section('content')
<div class="content-header">
@ -20,84 +20,110 @@
</div>
<section class="content">
<!-- 絞り込みフィルター -->
<div class="col-lg-12">
<div class="card">
{{-- タイトル区 --}}
<div class="card-header">
<h3 class="card-title">絞り込みフィルター</h3>
<div class="container-fluid">
@if(Session::has('success'))
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
{{ Session::get('success') }}
</div>
@elseif(Session::has('error'))
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i>入力内容に不備があります:</h4>
{!! Session::get('error') !!}
</div>
@endif
{{-- フィルタフォーム主体 --}}
<div class="card-body">
<form action="{{ route('mail_templates') }}" method="POST" id="list-form" class="form-horizontal">
@csrf
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
@if ($errors->any())
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<h4>入力内容に不備があります:</h4>
<ul class="mb-0">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
<button type="button" class="close" data-dismiss="alert" aria-label="閉じる">
<span aria-hidden="true">&times;</span>
</button>
</div>
@endif
<table class="table table-borderless mb-0" style="width: 100%;">
<tbody>
{{-- 行1 --}}
<tr>
<th style="width: 18%; text-align: left; vertical-align: middle;">メールテンプレートID</th>
<td style="width: 32%;">
<input type="text" name="mail_template_id"
value="{{ old('mail_template_id', $mail_template_id ?? '') }}"
class="form-control input-sm" placeholder="123456">
</td>
<th style="width: 18%; text-align: left; vertical-align: middle;">使用プログラムID</th>
<td style="width: 32%;">
<input type="text" name="pg_id"
value="{{ old('pg_id', $pg_id ?? '') }}"
class="form-control input-sm" placeholder="123456">
</td>
</tr>
{{-- 行2 --}}
<tr>
<th style="text-align: left; vertical-align: middle;">エリアマネージャー同報</th>
<td>
<select name="mgr_cc_flag" class="form-control input-sm">
<option value="">全て</option>
<option value="1" {{ old('mgr_cc_flag', $mgr_cc_flag ?? '') === '1' ? 'selected' : '' }}>同報する</option>
<option value="0" {{ old('mgr_cc_flag', $mgr_cc_flag ?? '') === '0' ? 'selected' : '' }}>同報市内</option>
</select>
</td>
<th style="text-align: left; vertical-align: middle;">使用フラグ</th>
<td>
<select name="use_flag" class="form-control input-sm">
<option value="">全て</option>
<option value="1" {{ old('use_flag', $use_flag ?? '') === '1' ? 'selected' : '' }}>使用する</option>
<option value="0" {{ old('use_flag', $use_flag ?? '') === '0' ? 'selected' : '' }}>使用しない</option>
</select>
</td>
</tr>
{{-- 行3 --}}
<tr>
<th style="text-align: left; vertical-align: middle;">件名</th>
<td colspan="3">
<input type="text" name="subject"
value="{{ old('subject', $subject ?? '') }}"
class="form-control input-sm" placeholder="キーワード...">
</td>
</tr>
</tbody>
</table>
{{-- ボタン --}}
<div class="form-group col-12 text-left">
<button type="submit" name="action" value="filter" class="btn btn-default">絞り込み</button>
<button type="submit" name="action" value="reset" class="btn btn-default">解除</button>
<!-- 絞り込みフィルター -->
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<h3 class="card-title">絞り込みフィルター</h3>
</div>
</form>
<div class="card-body">
<form action="{{ route('mail_templates') }}" method="POST" id="list-form" class="form-horizontal">
@csrf
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
<table class="table table-borderless mb-0" style="width: 100%;">
<tbody>
{{-- 行1 --}}
<tr>
<th style="width: 18%; text-align: left;">メールテンプレートID</th>
<td style="width: 32%;">
<input type="text" name="mail_template_id"
value="{{ old('mail_template_id', $mail_template_id ?? '') }}"
class="form-control input-sm" placeholder="123456">
</td>
<th style="width: 18%; text-align: left;">使用プログラムID</th>
<td style="width: 32%;">
<input type="text" name="pg_id"
value="{{ old('pg_id', $pg_id ?? '') }}"
class="form-control input-sm" placeholder="123456">
</td>
</tr>
{{-- 行2 --}}
<tr>
<th style="text-align: left;">エリアマネージャー同報</th>
<td>
<select name="mgr_cc_flag" class="form-control input-sm">
<option value="">全て</option>
<option value="1" {{ old('mgr_cc_flag', $mgr_cc_flag ?? '') == '1' ? 'selected' : '' }}>同報する</option>
<option value="0" {{ old('mgr_cc_flag', $mgr_cc_flag ?? '') == '0' ? 'selected' : '' }}>同報しない</option>
</select>
</td>
<th style="text-align: left;">使用フラグ</th>
<td>
<select name="use_flag" class="form-control input-sm">
<option value="">全て</option>
<option value="1" {{ old('use_flag', $use_flag ?? '') == '1' ? 'selected' : '' }}>使用する</option>
<option value="0" {{ old('use_flag', $use_flag ?? '') == '0' ? 'selected' : '' }}>使用しない</option>
</select>
</td>
</tr>
{{-- 行3 --}}
<tr>
<th style="text-align: left;">件名</th>
<td colspan="3">
<input type="text" name="subject"
value="{{ old('subject', $subject ?? '') }}"
class="form-control input-sm" placeholder="キーワード...">
</td>
</tr>
</tbody>
</table>
{{-- ボタン --}}
<div class="form-group col-12 text-left mt-3">
<button type="submit" name="action" value="filter" class="btn btn-default mr10">絞り込み</button>
<button type="submit" name="action" value="reset" class="btn btn-default">解除</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- 絞り込みフィルター -->
<!-- 絞り込みフィルター -->
<!-- ツールバー -->
<div class="container-fluid mb20">
@ -115,7 +141,7 @@
<form action="{{ route('mail_templates_delete') }}" method="POST" id="form_delete">
@csrf
<table class="table table-bordered dataTable text-nowrap">
<thead>
<thead class="thead-light">
<tr>
{{-- チェック + 編集ボタン --}}
<th style="width:140px;" class="text-left">
@ -135,25 +161,25 @@
</thead>
<tbody class="bg-white">
@foreach($templates as $item)
<tr>
<td class="align-middle" style="background-color:#faebd7;">
<div class="d-flex align-items-center">
<input type="checkbox" class="m-0 checkbox" name="pk[]" value="{{ $item->mail_template_id }}">
<a href="{{ route('mail_templates_edit', ['id' => $item->mail_template_id]) }}" class="btn btn-sm btn-default ml-2">編集</a>
</div>
</td>
<td class="sm-item text-left align-middle">{{ $item->mail_template_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->pg_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->internal_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->mgr_cc_flag ? '同報する' : '同報しない' }}</td>
<td class="sm-item text-left align-middle">{{ $item->bcc_adrs }}</td>
<td class="sm-item text-left align-middle">{{ $item->use_flag ? '使用する' : '使用しない' }}</td>
<td class="sm-item text-left align-middle">{{ $item->memo }}</td>
<td class="sm-item text-left align-middle">{{ $item->subject }}</td>
<td class="sm-item text-left align-middle">{{ Str::limit($item->text, 30) }}</td>
</tr>
@endforeach
@foreach($templates as $item)
<tr>
<td class="align-middle" style="background-color:#faebd7;">
<div class="d-flex align-items-center">
<input type="checkbox" class="m-0 checkbox" name="pk[]" value="{{ $item->mail_template_id }}">
<a href="{{ route('mail_templates_edit', ['id' => $item->mail_template_id]) }}" class="btn btn-sm btn-default ml-2">編集</a>
</div>
</td>
<td class="sm-item text-left align-middle">{{ $item->mail_template_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->pg_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->internal_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->mgr_cc_flag ? '同報する' : '同報しない' }}</td>
<td class="sm-item text-left align-middle">{{ $item->bcc_adrs }}</td>
<td class="sm-item text-left align-middle">{{ $item->use_flag ? '使用する' : '使用しない' }}</td>
<td class="sm-item text-left align-middle">{{ $item->memo }}</td>
<td class="sm-item text-left align-middle">{{ $item->subject }}</td>
<td class="sm-item text-left align-middle">{{ Str::limit($item->text, 30) }}</td>
</tr>
@endforeach
</tbody>
</table>
</form>

View File

@ -43,7 +43,7 @@
</div>
<div class="form-group col-12 text-left">
<button type="submit" name="action" value="filter" class="btn btn-default">絞り込み</button>
<button type="submit" name="action" value="filter" class="btn btn-default mr10">絞り込み</button>
<a href="{{ route('operator_ques') }}" class="btn btn-default">解除</a>
</div>
</div>