defence_strong_enemy/target/classes/templates/FuelBoat/list.html
2025-07-23 16:29:53 +08:00

523 lines
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<!--
* Tabler - Premium and Open Source dashboard template with responsive and high quality UI.
* @version 1.0.0-beta19
* @link https://tabler.io
* Copyright 2018-2023 The Tabler Authors
* Copyright 2018-2023 codecalm.net Paweł Kuna
* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)
-->
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title></title>
<!-- CSS files -->
<link th:href="@{/css/tabler.min.css}" rel="stylesheet"/>
<link th:href="@{/css/tabler-flags.min.css}" rel="stylesheet"/>
<link th:href="@{/css/tabler-payments.min.css}" rel="stylesheet"/>
<link th:href="@{/css/tabler-vendors.min.css}" rel="stylesheet"/>
<link th:href="@{/css/defence.css}" rel="stylesheet"/>
</head>
<body>
<div class="page">
<!-- Sidebar -->
<aside class="navbar navbar-vertical navbar-expand-lg" data-bs-theme="dark">
<div class="container-fluid">
<div class="collapse navbar-collapse" id="sidebar-menu">
<div th:replace="fragments/menu :: menuList(${user.menuList})"></div>
</div>
</div>
</aside>
<!-- Navbar -->
<header class="navbar navbar-expand-md d-none d-lg-flex d-print-none">
<div class="container-xl" th:insert="fragments/header">
</div>
</header>
<div class="page-wrapper">
<div class="page-header d-print-none">
<div class="container-xl">
<div class="container-xl">
<div class="row g-2 align-items-center">
<div class="col">
<h2 class="page-title" th:text="${user.pageTitle}">
</h2>
</div>
</div>
</div>
</div>
</div>
<!-- Page body -->
<div class="page-body">
<div class="container-xl">
<div class="row row-cards">
<form name="searchForm" id="searchForm" th:action="@{/fuelBoat/list}">
<div class="card">
<div class="card-header">
<div class="row g-2">
<div class="col"><input type="text" th:value="${data.searchForm.boatName}"
name="boatName"
class="form-control" placeholder="输入名称"></div>
<div class="col-auto">
<a href="javascript:void(0)" class="btn btn-icon" aria-label="Button"
onclick="_resetPageNoSearch();return false;">
<!-- Download SVG icon from http://tabler-icons.io/i/search -->
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24"
height="24" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"></path>
<path d="M21 21l-6 -6"></path>
</svg>
</a>
</div>
</div>
<input type="hidden" id="_currentPage" name="currentPage"
th:value="${data.searchForm.currentPage}"/>
</div>
.
<div class="card-body border-bottom py-3">
<div class="d-flex">
<div class="text-muted">
显示
<div class="mx-2 d-inline-block">
<input type="text" class="form-control form-control-sm"
th:value="${data.searchForm.pageSize}" size="3"
name="pageSize">
</div>
</div>
<div class="ms-auto text-muted">
<div class="col-md-auto ms-auto d-print-none">
<div class="btn-list">
<a href="#" class="btn btn-ghost-primary active "
onclick="common_add()">
<!-- Download SVG icon from http://tabler-icons.io/i/player-pause -->
添加
</a>
<a href="#" class="btn btn-ghost-danger active"
onclick="common_batchRemove();return false;">
<!-- Download SVG icon from http://tabler-icons.io/i/player-pause -->
批量删除
</a>
</div>
</div>
</div>
</div>
</div>
<div class="table-responsive">
<table class="table card-table table-vcenter text-nowrap datatable">
<thead>
<tr>
<th class="w-1"><input class="form-check-input m-0 align-middle"
type="checkbox" onclick="checkBoxIdChanged(this)"></th>
<th class="w-1">No.
<!-- Download SVG icon from http://tabler-icons.io/i/chevron-up -->
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-sm icon-thick"
width="24" height="24" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M6 15l6 -6l6 6"/>
</svg>
</th>
<th>船舶名称</th>
<th>种类</th>
<th>舰长(米)</th>
<th>舰宽(米)</th>
<th>吃水(米)</th>
<th>满载排水量(吨)</th>
<th>标准排水量(吨)</th>
<th>最大航速(节)</th>
<th>续航力</th>
<th>舰员</th>
<th>装载能力</th>
<th>备注</th>
<th></th>
</tr>
</thead>
<tbody th:if="${data.totalCount>0}">
<tr th:each="item:${data.list}">
<td><input class="form-check-input m-0 align-middle" name="itemId"
th:value="${item.id}" type="checkbox"
aria-label="Select invoice"></td>
<td th:text="${item.seq}"></td>
<td th:text="${item.boatName}"></td>
<td th:text="${item.boatType}"></td>
<td th:text="${item.boatLength}"></td>
<td th:text="${item.boatWidth}"></td>
<td th:text="${item.boatWaterDeep}"></td>
<td th:text="${item.boatFullWaterLoan}"></td>
<td th:text="${item.boatStandardWaterLoan}"></td>
<td th:text="${item.boatMaxSpeed}"></td>
<td th:text="${item.boatAbility}"></td>
<td th:text="${item.boatWorker}"></td>
<td th:text="${item.boatLoadAbility}"></td>
<td th:text="${item.truckMemo}"></td>
<td>
<a href="#" th:onclick="|common_edit(${item.id})|">编辑</a>
<a href="#" th:onclick="|common_delete(${item.id})|">删除</a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer d-flex align-items-center" th:if="${data.totalCount>0}">
<p class="m-0 text-muted"><span
th:text="${data.totalCount}"></span>
记录</p>
<ul class="pagination m-0 ms-auto">
<li th:class="${data.isHasPrevious()}?'page-item':'page-item disabled'">
<a class="page-link" href="#" tabindex="-1" aria-disabled="true"
onclick="_pre()">
<!-- Download SVG icon from http://tabler-icons.io/i/chevron-left -->
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24"
height="24"
viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none"
stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M15 6l-6 6l6 6"/>
</svg>
上一页
</a>
</li>
<li th:each="page:${#numbers.sequence(data.startDisplayPage,data.endDisplayPage)}"
th:class="${page} == ${data.currentPage}?'page-item active':'page-item'">
<a class="page-link" href="#" th:text="${page}"
th:onclick="|_setPage(${page})|"></a>
</li>
<li th:class="${data.isHasNext()}?'page-item':'page-item disabled'">
<a class="page-link" href="#" onclick="_next()">
下一页
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24"
height="24"
viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
fill="none"
stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path d="M9 6l6 6l-6 6"/>
</svg>
</a>
</li>
</ul>
</div>
</div>
</form>
</div>
</div>
</div>
<footer class="footer footer-transparent d-print-none">
<div class="container-xl" th:insert="fragments/footer">
</div>
</footer>
</div>
</div>
<script th:src="@{/js/tabler.min.js}" defer></script>
<script th:src="@{/js/common/common.js}"></script>
</body>
</html>
<div th:replace="fragments/dialog :: confirmationDialog"></div>
<div class="modal modal-blur fade" id="_addDialog" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-full-width modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"
onclick="closeDialog('_addDialog')"></button>
</div>
<form name="entityForm" id="entityForm" th:action="@{/fuelBoat/save}" th:list="@{/fuelBoat/list}"
th:delete="@{/fuelBoat/remove}" th:batchDelete="@{/fuelBoat/batchRemove}" th:view="@{/fuelBoat/view}"
th:path="@{/fuelBoat/}">
<input type="hidden" name="id">
<div class="modal-body">
<div class="row row-cards">
<div class="card">
<div class="card-header"><h3 class="card-title">油船信息</h3></div>
<div class="card-body">
<div class="mb-3 row">
<label class="col-3 col-form-label ">
船舶名称</label>
<div class="col">
<input type="text" class="form-control" placeholder="船舶名称" name="boatName">
<div class="invalid-feedback" id="boatName_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label required">
图标</label>
<div class=" col upload-container">
<!-- 隐藏的文件输入框 -->
<input type="file" id="fileInput" name="file">
<!-- 始终显示的圆形图标此处采用相机图标Unicode 表情) -->
<div class="upload-icon" id="uploadIcon">
&#128247;
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label required">种类</label>
<div class="col">
<select class="form-select" name=boatType>
<option th:each="item : ${codeMap['boat_type']}"
th:value="${item.id}"
th:text="${item.optionName}">
</select>
<div class="invalid-feedback" id="boatType_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
舰长(米)</label>
<div class="col">
<input type="text" class="form-control" placeholder="舰长" name="boatLength">
<div class="invalid-feedback" id="boatLength_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
舰宽(米)</label>
<div class="col">
<input type="text" class="form-control" placeholder="舰宽" name="boatWidth">
<div class="invalid-feedback" id="boatWidth_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
吃水(米)</label>
<div class="col">
<input type="text" class="form-control" placeholder="吃水" name="boatWaterDeep">
<div class="invalid-feedback" id="boatWaterDeep_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
满载排水量(吨)</label>
<div class="col">
<input type="text" class="form-control" placeholder="满载排水量"
name="boatFullWaterLoan">
<div class="invalid-feedback" id="boatFullWaterLoan_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
标准排水量(吨)</label>
<div class="col">
<input type="text" class="form-control" placeholder="标准排水量"
name="boatStandardWaterLoan">
<div class="invalid-feedback" id="boatStandardWaterLoan_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
最大航速(节)</label>
<div class="col">
<input type="text" class="form-control" placeholder="最大航速"
name="boatMaxSpeed">
<div class="invalid-feedback" id="boatMaxSpeed_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
续航力</label>
<div class="col">
<input type="text" class="form-control" placeholder="续航力" name="boatAbility">
<div class="invalid-feedback" id="boatAbility_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
舰员</label>
<div class="col">
<input type="text" class="form-control" placeholder="舰员" name="boatWorker">
<div class="invalid-feedback" id="boatWorker_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">
装载能力</label>
<div class="col">
<input type="text" class="form-control" placeholder="装载能力"
name="boatLoadAbility">
<div class="invalid-feedback" id="boatLoadAbility_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label required">
加注能力</label>
<div class="col">
<input type="text" class="form-control" placeholder="加注能力"
name="boatFilingSpeed">
<div class="invalid-feedback" id="boatFilingSpeed_error_tip"></div>
</div>
</div>
<div class="mb-3 row">
<label class="col-3 col-form-label ">备注</label>
<div class="col">
<textarea class="form-control" data-bs-toggle="autosize" name="truckMemo" id="truckMemo"
placeholder="Type something…"
style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea>
</div>
<div class="invalid-feedback" id="truckMemo_tip"></div>
</div>
</div>
</div>
</div>
</div>
</form>
<div class="modal-footer">
<a href="#" class="btn btn-link link-secondary" onclick="closeDialog('_addDialog')">
取消
</a>
<a href="#" class="btn btn-primary ms-auto" data-bs-dismiss="modal" onclick="common_save()">
<!-- Download SVG icon from http://tabler-icons.io/i/plus -->
确定
</a>
</div>
</div>
</div>
</div>
<div class="modal modal-blur fade" id="detailDialog" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-full-width modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">*${template.view.detail.title}*</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"
onclick="closeDialog('detailDialog')"></button>
</div>
<div class="modal-body">
<div class="row row-cards">
<div class="card">
<div class="card-header">
<h3 class="card-title">*template.view.detail.title*</h3>
</div>
<div class="card-body" id="view-body-project">
<div class="datagrid">
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_name_name">船舶名称</div>
<div class="datagrid-content" id="detail_boatName_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_type_name">种类</div>
<div class="datagrid-content" id="detail_boatType_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_length_name">舰长(米)</div>
<div class="datagrid-content" id="detail_boatLength_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_width_name">舰宽(米)</div>
<div class="datagrid-content" id="detail_boatWidth_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_water_deep_name">吃水(米)</div>
<div class="datagrid-content" id="detail_boatWaterDeep_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_full_water_loan_name">满载排水量(吨)
</div>
<div class="datagrid-content" id="detail_boatFullWaterLoan_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_standard_water_loan_name">
标准排水量(吨)
</div>
<div class="datagrid-content" id="detail_boatStandardWaterLoan_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_max_speed_name">最大航速(节)</div>
<div class="datagrid-content" id="detail_boatMaxSpeed_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_ability_name">续航力</div>
<div class="datagrid-content" id="detail_boatAbility_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_worker_name">舰员</div>
<div class="datagrid-content" id="detail_boatWorker_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_boat_load_ability_name">装载能力</div>
<div class="datagrid-content" id="detail_boatLoadAbility_value"></div>
</div>
<div class="datagrid-item">
<div class="datagrid-title" id="detail_truck_memo_name">备注</div>
<div class="datagrid-content" id="detail_truckMemo_value"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function afterEditShow(data) {
if (data.base64Img) {
if (data.base64Img.length > 0) {
let container = document.getElementById("uploadIcon");
document.getElementById("uploadIcon").innerHTML = "";
var imgElement = document.createElement("img");
// 设置图片的 src 属性,拼接上 data URI 前缀, 这里的 MIME 类型为 image/png
imgElement.src = "data:image/png;base64," + data.base64Img;
// 将 img 元素添加到容器中
container.appendChild(imgElement);
}
}
}
function afterViewShow(data) {
//
if (data.base64Img) {
if (data.base64Img.length > 0) {
let container = document.getElementById("detail_jarImg_value");
document.getElementById("detail_jarImg_value").innerHTML = "";
var imgElement = document.createElement("img");
// 设置图片的 src 属性,拼接上 data URI 前缀, 这里的 MIME 类型为 image/png
imgElement.src = "data:image/png;base64," + data.base64Img;
// 将 img 元素添加到容器中
container.appendChild(imgElement);
}
}
}
</script>