514 lines
29 KiB
HTML
514 lines
29 KiB
HTML
<!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="@{/medicalArmy/list}">
|
||
<div class="card">
|
||
<div class="card-header">
|
||
|
||
<div class="row g-2">
|
||
<div class="col"><input type="text" name="armyName" 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.armyName}"></td>
|
||
<td th:text="${item.armyType}"></td>
|
||
<td th:text="${item.armyLevel}"></td>
|
||
<td th:text="${item.armyLocation}"></td>
|
||
<td th:text="${item.bloodPlasmaMax}"></td>
|
||
<td th:text="${item.expressMaxBed}"></td>
|
||
<td th:text="${item.operationTable}"></td>
|
||
<td th:text="${item.seriousCasualtyMonitorAbility}"></td>
|
||
<td th:text="${item.wildVehicleCount}"></td>
|
||
<td th:text="${item.casualtyVehicleCount}"></td>
|
||
<td th:text="${item.jarMeno}"></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="@{/medicalArmy/save}" th:list="@{/medicalArmy/list}"
|
||
th:delete="@{/medicalArmy/remove}" th:batchDelete="@{/medicalArmy/batchRemove}"
|
||
th:view="@{/medicalArmy/view}" th:path="@{/medicalArmy/}">
|
||
<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 required">
|
||
图标</label>
|
||
<div class=" col upload-container">
|
||
<!-- 隐藏的文件输入框 -->
|
||
<input type="file" id="fileInput" name="file">
|
||
<!-- 始终显示的圆形图标,此处采用相机图标(Unicode 表情) -->
|
||
<div class="upload-icon" id="uploadIcon">
|
||
📷
|
||
</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="armyNo">
|
||
<div class="invalid-feedback" id="armyNo_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="armyName">
|
||
<div class="invalid-feedback" id="armyName_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="armyType">
|
||
<div class="invalid-feedback" id="armyType_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="armyLevel">
|
||
<div class="invalid-feedback" id="armyLevel_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="armyLocation">
|
||
<div class="invalid-feedback" id="armyLocation_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="bloodPlasmaMax">
|
||
<div class="invalid-feedback" id="bloodPlasmaMax_error_tip"></div>
|
||
</div>
|
||
</div>
|
||
<div class="mb-3 row">
|
||
<label class="col-3 col-form-label ">
|
||
最大展开床位数</label>
|
||
<div class="col">
|
||
<input type="number" class="form-control" placeholder="最大展开床位数"
|
||
name="expressMaxBed">
|
||
<div class="invalid-feedback" id="expressMaxBed_error_tip"></div>
|
||
</div>
|
||
</div>
|
||
<div class="mb-3 row">
|
||
<label class="col-3 col-form-label ">
|
||
开设手术台数</label>
|
||
<div class="col">
|
||
<input type="number" class="form-control" placeholder="开设手术台数"
|
||
name="operationTable">
|
||
<div class="invalid-feedback" id="operationTable_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="seriousCasualtyMonitorAbility">
|
||
<div class="invalid-feedback"
|
||
id="seriousCasualtyMonitorAbility_error_tip"></div>
|
||
</div>
|
||
</div>
|
||
<div class="mb-3 row">
|
||
<label class="col-3 col-form-label ">
|
||
野战救护车数量</label>
|
||
<div class="col">
|
||
<input type="number" class="form-control" placeholder="野战救护车数量"
|
||
name="wildVehicleCount">
|
||
<div class="invalid-feedback" id="wildVehicleCount_error_tip"></div>
|
||
</div>
|
||
</div>
|
||
<div class="mb-3 row">
|
||
<label class="col-3 col-form-label ">
|
||
伤员运输车数量</label>
|
||
<div class="col">
|
||
<input type="number" class="form-control" placeholder="伤员运输车数量"
|
||
name="casualtyVehicleCount">
|
||
<div class="invalid-feedback" id="casualtyVehicleCount_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" id="jarMeno" name="jarMeno"
|
||
placeholder="Type something…"
|
||
style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea>
|
||
</div>
|
||
<div class="invalid-feedback" id="jarMeno_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_army_no_name">部队编号</div>
|
||
<div class="datagrid-content" id="detail_armyNo_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_army_name_name">部(分)队名称</div>
|
||
<div class="datagrid-content" id="detail_armyName_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_army_type_name">部队类型</div>
|
||
<div class="datagrid-content" id="detail_armyType_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_army_level_name">编制级别</div>
|
||
<div class="datagrid-content" id="detail_armyLevel_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_army_location_name">驻地/基地</div>
|
||
<div class="datagrid-content" id="detail_armyLocation_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_blood_plasma_max_name">血浆最大储量</div>
|
||
<div class="datagrid-content" id="detail_bloodPlasmaMax_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_express_max_bed_name">最大展开床位数</div>
|
||
<div class="datagrid-content" id="detail_expressMaxBed_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_operation_table_name">开设手术台数</div>
|
||
<div class="datagrid-content" id="detail_operationTable_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_serious_casualty_monitor_ability_name">
|
||
重伤员持续监护能力
|
||
</div>
|
||
<div class="datagrid-content" id="detail_seriousCasualtyMonitorAbility_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_wild_vehicle_count_name">野战救护车数量</div>
|
||
<div class="datagrid-content" id="detail_wildVehicleCount_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_casualty_vehicle_count_name">伤员运输车数量
|
||
</div>
|
||
<div class="datagrid-content" id="detail_casualtyVehicleCount_value"></div>
|
||
</div>
|
||
<div class="datagrid-item">
|
||
<div class="datagrid-title" id="detail_jar_meno_name">备注</div>
|
||
<div class="datagrid-content" id="detail_jarMeno_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> |