bundle.$L

This commit is contained in:
devezhao 2021-05-20 11:43:20 +08:00
parent c5ef4b7c74
commit a87fe414cd
71 changed files with 938 additions and 932 deletions

2
@rbv

@ -1 +1 @@
Subproject commit 9ae2c4c9d1b6f9f26ea11ab8cac512d846db8104
Subproject commit 7a948bf9a18ddc1d4c56d2ef1a881685cd9618a4

View file

@ -6,20 +6,20 @@
<div class="left-sidebar-scroll rb-scroller">
<div class="left-sidebar-content">
<ul class="sidebar-elements">
<li class="divider">[[${bundle.L('系统')}]]</li>
<li class="divider">[[${bundle.$L('系统')}]]</li>
<li th:class="${active == 'systems'} ? 'active'">
<a th:href="@{/admin/systems}"><i class="icon zmdi zmdi-settings"></i><span>[[${bundle.L('通用配置')}]]</span></a>
<a th:href="@{/admin/systems}"><i class="icon zmdi zmdi-settings"></i><span>[[${bundle.$L('通用配置')}]]</span></a>
</li>
<li class="parent">
<a><i class="icon zmdi zmdi-puzzle-piece"></i><span>[[${bundle.L('服务集成')}]]</span></a>
<a><i class="icon zmdi zmdi-puzzle-piece"></i><span>[[${bundle.$L('服务集成')}]]</span></a>
<ul class="sub-menu">
<li class="title">[[${bundle.L('服务集成')}]]</li>
<li class="title">[[${bundle.$L('服务集成')}]]</li>
<li class="nav-items">
<div class="rb-scroller">
<div class="content">
<ul>
<li th:class="${active == 'integration-storage'} ? 'active'"><a th:href="@{/admin/integration/storage}">[[${bundle.L('云存储')}]]</a></li>
<li th:class="${active == 'integration-submail'} ? 'active'"><a th:href="@{/admin/integration/submail}">[[${bundle.L('邮件&短信')}]]</a></li>
<li th:class="${active == 'integration-storage'} ? 'active'"><a th:href="@{/admin/integration/storage}">[[${bundle.$L('云存储')}]]</a></li>
<li th:class="${active == 'integration-submail'} ? 'active'"><a th:href="@{/admin/integration/submail}">[[${bundle.$L('邮件&短信')}]]</a></li>
</ul>
</div>
</div>
@ -27,56 +27,56 @@
</ul>
</li>
<li th:class="${active == 'apis-manager'} ? 'active'">
<a th:href="@{/admin/apis-manager}"><i class="icon zmdi zmdi-key"></i><span>[[${bundle.L('API 秘钥')}]]</span></a>
<a th:href="@{/admin/apis-manager}"><i class="icon zmdi zmdi-key"></i><span>[[${bundle.$L('API 秘钥')}]]</span></a>
</li>
<li class="divider">[[${bundle.L('业务实体')}]]</li>
<li class="divider">[[${bundle.$L('业务实体')}]]</li>
<li th:class="${active == 'entities'} ? 'active'">
<a th:href="@{/admin/entities}"><i class="icon zmdi zmdi-widgets"></i><span>[[${bundle.L('实体管理')}]]</span></a>
<a th:href="@{/admin/entities}"><i class="icon zmdi zmdi-widgets"></i><span>[[${bundle.$L('实体管理')}]]</span></a>
</li>
<li th:class="${active == 'classifications'} ? 'active'">
<a th:href="@{/admin/metadata/classifications}"><i class="icon zmdi zmdi-layers"></i><span>[[${bundle.L('分类数据')}]]</span></a>
<a th:href="@{/admin/metadata/classifications}"><i class="icon zmdi zmdi-layers"></i><span>[[${bundle.$L('分类数据')}]]</span></a>
</li>
<li th:class="${active == 'robot-approval'} ? 'active'">
<a th:href="@{/admin/robot/approvals}"><i class="icon zmdi zmdi-assignment-check"></i><span>[[${bundle.L('审批流程')}]]</span></a>
<a th:href="@{/admin/robot/approvals}"><i class="icon zmdi zmdi-assignment-check"></i><span>[[${bundle.$L('审批流程')}]]</span></a>
</li>
<li th:class="${active == 'transforms'} ? 'active'">
<a th:href="@{/admin/transforms}"><i class="icon zmdi zmdi-transform"></i><span>[[${bundle.L('记录转换映射')}]]</span></a>
<a th:href="@{/admin/transforms}"><i class="icon zmdi zmdi-transform"></i><span>[[${bundle.$L('记录转换映射')}]]</span></a>
</li>
<li th:class="${active == 'robot-trigger'} ? 'active'">
<a th:href="@{/admin/robot/triggers}"><i class="icon zmdi zmdi-rotate-cw"></i><span>[[${bundle.L('触发器')}]]</span></a>
<a th:href="@{/admin/robot/triggers}"><i class="icon zmdi zmdi-rotate-cw"></i><span>[[${bundle.$L('触发器')}]]</span></a>
</li>
<li th:class="${active == 'data-imports'} ? 'active'">
<a th:href="@{/admin/data/data-imports}"><i class="icon zmdi zmdi-cloud-upload"></i><span>[[${bundle.L('数据导入')}]]</span></a>
<a th:href="@{/admin/data/data-imports}"><i class="icon zmdi zmdi-cloud-upload"></i><span>[[${bundle.$L('数据导入')}]]</span></a>
</li>
<li th:class="${active == 'report-templates'} ? 'active'">
<a th:href="@{/admin/data/report-templates}"><i class="icon zmdi zmdi-map"></i><span>[[${bundle.L('报表模板')}]]</span></a>
<a th:href="@{/admin/data/report-templates}"><i class="icon zmdi zmdi-map"></i><span>[[${bundle.$L('报表模板')}]]</span></a>
</li>
<li class="divider">[[${bundle.L('高级功能')}]]</li>
<li class="divider">[[${bundle.$L('高级功能')}]]</li>
<li th:class="${active == 'projects'} ? 'active'">
<a th:href="@{/admin/projects}"><i class="icon zmdi zmdi-shape"></i><span>[[${bundle.L('项目')}]]</span></a>
<a th:href="@{/admin/projects}"><i class="icon zmdi zmdi-shape"></i><span>[[${bundle.$L('项目')}]]</span></a>
</li>
<li th:class="${active == 'extforms'} ? 'active'">
<a th:href="@{/admin/extforms}"><i class="icon zmdi zmdi-collection-text"></i><span>[[${bundle.L('外部表单')}]]</span> <sup class="rbv"></sup></a>
<a th:href="@{/admin/extforms}"><i class="icon zmdi zmdi-collection-text"></i><span>[[${bundle.$L('外部表单')}]]</span> <sup class="rbv"></sup></a>
</li>
<li class="divider">[[${bundle.L('用户')}]]</li>
<li class="divider">[[${bundle.$L('用户')}]]</li>
<li th:class="${active == 'users'} ? 'active'">
<a th:href="@{/admin/bizuser/users}"><i class="icon zmdi zmdi-accounts"></i><span>[[${bundle.L('部门用户')}]]</span></a>
<a th:href="@{/admin/bizuser/users}"><i class="icon zmdi zmdi-accounts"></i><span>[[${bundle.$L('部门用户')}]]</span></a>
</li>
<li th:class="${active == 'role-privileges'} ? 'active'">
<a th:href="@{/admin/bizuser/role-privileges}"><i class="icon zmdi zmdi-lock"></i><span>[[${bundle.L('角色权限')}]]</span></a>
<a th:href="@{/admin/bizuser/role-privileges}"><i class="icon zmdi zmdi-lock"></i><span>[[${bundle.$L('角色权限')}]]</span></a>
</li>
<li th:class="${active == 'teams'} ? 'active'">
<a th:href="@{/admin/bizuser/teams}"><i class="icon zmdi zmdi-case"></i><span>[[${bundle.L('团队')}]]</span></a>
<a th:href="@{/admin/bizuser/teams}"><i class="icon zmdi zmdi-case"></i><span>[[${bundle.$L('团队')}]]</span></a>
</li>
<li class="divider">[[${bundle.L('审计')}]]</li>
<li class="divider">[[${bundle.$L('审计')}]]</li>
<li th:class="${active == 'login-logs'} ? 'active'">
<a th:href="@{/admin/audit/login-logs}"><i class="icon zmdi zmdi-pin-account"></i><span>[[${bundle.L('登录日志')}]]</span></a>
<a th:href="@{/admin/audit/login-logs}"><i class="icon zmdi zmdi-pin-account"></i><span>[[${bundle.$L('登录日志')}]]</span></a>
</li>
<li th:class="${active == 'revision-history'} ? 'active'">
<a th:href="@{/admin/audit/revision-history}"><i class="icon zmdi zmdi-wrap-text"></i><span>[[${bundle.L('变更历史')}]]</span></a>
<a th:href="@{/admin/audit/revision-history}"><i class="icon zmdi zmdi-wrap-text"></i><span>[[${bundle.$L('变更历史')}]]</span></a>
</li>
<li th:class="${active == 'recycle-bin'} ? 'active'">
<a th:href="@{/admin/audit/recycle-bin}"><i class="icon zmdi zmdi-delete fs-16"></i><span>[[${bundle.L('回收站')}]]</span></a>
<a th:href="@{/admin/audit/recycle-bin}"><i class="icon zmdi zmdi-delete fs-16"></i><span>[[${bundle.$L('回收站')}]]</span></a>
</li>
</ul>
</div>

View file

@ -7,7 +7,7 @@
<div class="left-sidebar-content no-divider">
<ul class="sidebar-elements">
<li th:class="${active == 'dashboard-home'} ? 'active'">
<a th:href="@{/dashboard/home}"><i class="icon zmdi zmdi-home"></i><span>[[${bundle.L('首页')}]]</span></a>
<a th:href="@{/dashboard/home}"><i class="icon zmdi zmdi-home"></i><span>[[${bundle.$L('首页')}]]</span></a>
</li>
<th:block th:utext="${T(com.rebuild.core.configuration.NavBuilder).renderNav(#request, active)}"></th:block>
</ul>
@ -15,7 +15,7 @@
</div>
</div>
<div th:if="${AllowCustomNav}" class="bottom-widget">
<a class="nav-settings" th:title="${bundle.L('导航菜单配置')}"><i class="icon zmdi zmdi-apps"></i></a>
<a class="nav-settings" th:title="${bundle.$L('导航菜单配置')}"><i class="icon zmdi zmdi-apps"></i></a>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<div class="container-fluid">
<div class="rb-navbar-header">
<a class="navbar-brand" th:href="@{/dashboard/home}"></a>
<a class="rb-toggle-left-sidebar" th:title="${bundle.L('展开/收缩')}"><span class="icon zmdi zmdi-menu"></span></a>
<a class="rb-toggle-left-sidebar" th:title="${bundle.$L('展开/收缩')}"><span class="icon zmdi zmdi-menu"></span></a>
</div>
<!--
<div class="navbar-collapse collapse">
@ -13,7 +13,7 @@
</div>
-->
<div class="search-container">
<input class="form-control form-control-sm search-input-gs" type="text" name="search" maxlength="100" th:placeholder="${bundle.L('搜索')}" autocomplete="off" />
<input class="form-control form-control-sm search-input-gs" type="text" name="search" maxlength="100" th:placeholder="${bundle.$L('搜索')}" autocomplete="off" />
<div class="search-models animated fadeIn faster"></div>
</div>
<div class="rb-right-navbar">
@ -21,25 +21,25 @@
<li class="nav-item dropdown J_top-user">
<a class="nav-link dropdown-toggle" th:href="@{/settings/user}" data-toggle="dropdown">
<img th:src="|${baseUrl}/account/user-avatar?${session.davatarTime}|" alt="Avatar" />
<span class="user-name" th:text="${user.getFullName()}">[[${bundle.L('姓名')}]]</span>
<span class="user-name" th:text="${user.getFullName()}">[[${bundle.$L('姓名')}]]</span>
</a>
<div class="dropdown-menu">
<div class="user-info">
<div class="user-name" th:text="${user.getFullName()}">[[${bundle.L('姓名')}]]</div>
<div class="user-id" th:data-user="${user.getId()}">[[${user.getEmail() ?: bundle.L('邮箱未设置')}]]</div>
<div class="user-name" th:text="${user.getFullName()}">[[${bundle.$L('姓名')}]]</div>
<div class="user-id" th:data-user="${user.getId()}">[[${user.getEmail() ?: bundle.$L('邮箱未设置')}]]</div>
</div>
<a class="dropdown-item" th:href="@{/settings/user}"><i class="icon zmdi zmdi-account-box"></i>[[${bundle.L('个人设置')}]]</a>
<a class="dropdown-item" th:href="@{/user/logout}"><i class="icon zmdi zmdi-power"></i>[[${bundle.L('注销登录')}]]</a>
<a class="dropdown-item" th:href="@{/settings/user}"><i class="icon zmdi zmdi-account-box"></i>[[${bundle.$L('个人设置')}]]</a>
<a class="dropdown-item" th:href="@{/user/logout}"><i class="icon zmdi zmdi-power"></i>[[${bundle.$L('注销登录')}]]</a>
<div class="use-theme">
<div>[[${bundle.L('选择主题')}]] <sup class="rbv"></sup></div>
<div>[[${bundle.$L('选择主题')}]] <sup class="rbv"></sup></div>
<ul class="list-inline list-unstyled mt-1">
<li><a th:title="${bundle.L('默认')}" class="theme-default" data-theme="default"></a></li>
<li><a th:title="${bundle.L('深色')}" class="theme-dark" data-theme="dark"></a></li>
<li><a th:title="${bundle.L('蓝色')}" class="theme-blue" data-theme="blue"></a></li>
<li><a th:title="${bundle.L('红色')}" class="theme-red" data-theme="red"></a></li>
<li><a th:title="${bundle.L('绿色')}" class="theme-green" data-theme="green"></a></li>
<li><a th:title="${bundle.L('紫色')}" class="theme-purple" data-theme="purple"></a></li>
<li><a th:title="${bundle.L('随机')}" class="theme-random" data-theme="_"></a></li>
<li><a th:title="${bundle.$L('默认')}" class="theme-default" data-theme="default"></a></li>
<li><a th:title="${bundle.$L('深色')}" class="theme-dark" data-theme="dark"></a></li>
<li><a th:title="${bundle.$L('蓝色')}" class="theme-blue" data-theme="blue"></a></li>
<li><a th:title="${bundle.$L('红色')}" class="theme-red" data-theme="red"></a></li>
<li><a th:title="${bundle.$L('绿色')}" class="theme-green" data-theme="green"></a></li>
<li><a th:title="${bundle.$L('紫色')}" class="theme-purple" data-theme="purple"></a></li>
<li><a th:title="${bundle.$L('随机')}" class="theme-random" data-theme="_"></a></li>
</ul>
</div>
<div class="dev-show use-language">
@ -55,20 +55,20 @@
<li class="nav-item dropdown admin-danger hide">
<a class="nav-link" href="javascript:;"><i class="icon zmdi zmdi-alert-octagon text-danger"></i></a>
</li>
<li class="nav-item dropdown admin-show admin-settings" th:title="${bundle.L('管理员后台')}">
<li class="nav-item dropdown admin-show admin-settings" th:title="${bundle.$L('管理员后台')}">
<a class="nav-link" th:href="@{/admin/systems}"><i class="icon zmdi zmdi-settings"></i></a>
</li>
<li class="nav-item dropdown page-help" th:title="${bundle.L('查看适用于本页的帮助')}">
<li class="nav-item dropdown page-help" th:title="${bundle.$L('查看适用于本页的帮助')}">
<a class="nav-link" href="https://getrebuild.com/docs/" target="_blank"><i class="icon zmdi zmdi-help"></i></a>
</li>
<li class="nav-item dropdown J_top-notifications" th:title="${bundle.L('通知')}">
<li class="nav-item dropdown J_top-notifications" th:title="${bundle.$L('通知')}">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" th:href="@{/notifications}">
<i class="icon zmdi zmdi-notifications"></i>
<span class="indicator hide"></span>
</a>
<ul class="dropdown-menu rb-notifications">
<li>
<div class="title text-uppercase">[[${bundle.L('未读')}]] <span class="badge badge-pill">0</span></div>
<div class="title text-uppercase">[[${bundle.$L('未读')}]] <span class="badge badge-pill">0</span></div>
<div class="list">
<div class="rb-scroller">
<div class="content">
@ -76,7 +76,7 @@
</div>
</div>
</div>
<div class="footer"><a th:href="@{/notifications}">[[${bundle.L('查看全部')}]]</a></div>
<div class="footer"><a th:href="@{/notifications}">[[${bundle.$L('查看全部')}]]</a></div>
</li>
</ul>
</li>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('管理员验证')}]]</title>
<title>[[${bundle.$L('管理员验证')}]]</title>
<style type="text/css">
.rb-navbar-header .rb-toggle-left-sidebar,
.rb-icons-nav {
@ -18,21 +18,21 @@
<div class="splash-container">
<div class="card card-border-color card-border-color-primary">
<div class="card-header">
<h4>[[${bundle.L('需要验证你的管理员身份')}]]</h4>
<h4>[[${bundle.$L('需要验证你的管理员身份')}]]</h4>
</div>
<div class="card-body">
<form>
<div class="form-group">
<input class="form-control" id="admin-passwd" type="password" th:placeholder="${bundle.L('输入密码')}" autocomplete="off" />
<input class="form-control" id="admin-passwd" type="password" th:placeholder="${bundle.$L('输入密码')}" autocomplete="off" />
</div>
<div class="form-group login-submit">
<button class="btn btn-primary btn-xl J_verify-btn" type="submit">[[${bundle.L('确定')}]]</button>
<button class="btn btn-primary btn-xl J_verify-btn" type="submit">[[${bundle.$L('确定')}]]</button>
</div>
</form>
</div>
</div>
<div class="splash-footer">
<span><a href="javascript:history.back()">[[${bundle.L('返回')}]]</a></span>
<span><a href="javascript:history.back()">[[${bundle.$L('返回')}]]</a></span>
</div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('登录日志')}]]</title>
<title>[[${bundle.$L('登录日志')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -17,7 +17,7 @@
<div class="col-12 col-md-6">
<div class="dataTables_filter">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" data-quickFields="user.loginName,user.email,&user,ipAddr" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" data-quickFields="user.loginName,user.email,&user,ipAddr" />
<span class="input-group-btn">
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
</span>
@ -26,7 +26,7 @@
</div>
<div class="col-12 col-md-6">
<div class="dataTables_oper">
<button class="btn btn-space btn-secondary J_view-online" type="button"><i class="icon zmdi zmdi-accounts-outline"></i> [[${bundle.L('查看在线用户')}]]</button>
<button class="btn btn-space btn-secondary J_view-online" type="button"><i class="icon zmdi zmdi-accounts-outline"></i> [[${bundle.$L('查看在线用户')}]]</button>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/auditing#%E5%9B%9E%E6%94%B6%E7%AB%99" />
<title>[[${bundle.L('回收站')}]]</title>
<title>[[${bundle.$L('回收站')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -19,11 +19,11 @@
<div class="dataTables_filter">
<div class="float-left mr-2 select2-sm">
<select class="form-control form-control-sm" id="belongEntity" style="width: 220px">
<option value="$ALL$">[[${bundle.L('全部实体')}]]</option>
<option value="$ALL$">[[${bundle.$L('全部实体')}]]</option>
</select>
</div>
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -32,7 +32,7 @@
</div>
<div class="col-12 col-md-6">
<div class="dataTables_oper">
<button class="btn btn-space btn-danger J_restore"><i class="icon zmdi zmdi-undo"></i> [[${bundle.L('恢复')}]]</button>
<button class="btn btn-space btn-danger J_restore"><i class="icon zmdi zmdi-undo"></i> [[${bundle.$L('恢复')}]]</button>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/auditing#%E8%AE%B0%E5%BD%95%E4%BF%AE%E6%94%B9%E5%8E%86%E5%8F%B2" />
<title>[[${bundle.L('变更历史')}]]</title>
<title>[[${bundle.$L('变更历史')}]]</title>
<style type="text/css">
.table.table-fixed td {
vertical-align: text-top;
@ -30,11 +30,11 @@
<div class="dataTables_filter">
<div class="float-left mr-2 select2-sm">
<select class="form-control form-control-sm" id="belongEntity" style="width: 220px">
<option value="$ALL$">[[${bundle.L('全部实体')}]]</option>
<option value="$ALL$">[[${bundle.$L('全部实体')}]]</option>
</select>
</div>
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询记录ID')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询记录ID')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -43,7 +43,7 @@
</div>
<div class="col-12 col-md-6">
<div class="dataTables_oper">
<button class="btn btn-space btn-secondary J_details"><i class="icon zmdi zmdi-search-in-file"></i> [[${bundle.L('详情')}]]</button>
<button class="btn btn-space btn-secondary J_details"><i class="icon zmdi zmdi-search-in-file"></i> [[${bundle.$L('详情')}]]</button>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/users#%E9%83%A8%E9%97%A8" />
<title>[[${bundle.L('部门管理')}]]</title>
<title>[[${bundle.$L('部门管理')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-aside rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -27,10 +27,10 @@
<div class="main-content container-fluid">
<ul class="nav nav-tabs nav-tabs-classic">
<li class="nav-item">
<a href="users" class="nav-link"><span class="icon zmdi zmdi-account"></span> [[${bundle.L('用户')}]]</a>
<a href="users" class="nav-link"><span class="icon zmdi zmdi-account"></span> [[${bundle.$L('用户')}]]</a>
</li>
<li class="nav-item">
<a href="departments" class="nav-link active"><span class="icon zmdi zmdi-accounts"></span> [[${bundle.L('部门')}]]</a>
<a href="departments" class="nav-link active"><span class="icon zmdi zmdi-accounts"></span> [[${bundle.$L('部门')}]]</a>
</li>
</ul>
<div class="card card-table">
@ -40,7 +40,7 @@
<div class="col-12 col-lg-6">
<div class="dataTables_filter">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" />
<span class="input-group-btn">
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
</span>
@ -49,12 +49,12 @@
</div>
<div class="col-12 col-lg-6">
<div class="dataTables_oper">
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.L('打开')}]]</button>
<button class="btn btn-primary btn-space J_new" type="button"><i class="icon zmdi zmdi-accounts-add"></i> [[${bundle.L('新建部门')}]]</button>
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.$L('打开')}]]</button>
<button class="btn btn-primary btn-space J_new" type="button"><i class="icon zmdi zmdi-accounts-add"></i> [[${bundle.$L('新建部门')}]]</button>
<div class="btn-group btn-space">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.L('列显示')}]]</a>
<a class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.$L('列显示')}]]</a>
</div>
</div>
</div>

View file

@ -3,12 +3,12 @@
<head>
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/view-page.css}" />
<title>[[${bundle.L('部门视图')}]]</title>
<title>[[${bundle.$L('部门视图')}]]</title>
</head>
<body class="view-body">
<div class="view-header">
<i class="header-icon zmdi" th:classappend="${'zmdi-' + entityIcon}"></i>
<h3 class="title">[[${bundle.L('部门视图')}]]</h3>
<h3 class="title">[[${bundle.$L('部门视图')}]]</h3>
<span>
<a class="close J_close"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload"><i class="zmdi zmdi-refresh"></i></a>
@ -19,7 +19,7 @@
<div class="col-12 col-md-9">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.L('详情')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.$L('详情')}]]</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-rbview"></div>
@ -29,25 +29,25 @@
<div class="col-12 col-md-3 view-operating">
<div class="view-action row admin-show admin-verified">
<div class="col-12 col-lg-6">
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.L('编辑')}]]</button>
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.$L('编辑')}]]</button>
</div>
<div class="col-12 col-lg-6 btn-group J_mores">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_delete-dept"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除')}]]</a>
<a class="dropdown-item J_delete-dept"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除')}]]</a>
</div>
</div>
</div>
<div class="view-date">
<div class="form-line">
<fieldset><legend>[[${bundle.L('日期')}]]</legend></fieldset>
<fieldset><legend>[[${bundle.$L('日期')}]]</legend></fieldset>
</div>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('创建时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('创建时间')}]]</dt>
<dd class="col-12 col-lg-8 J_createdOn"></dd>
</dl>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('修改时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('修改时间')}]]</dt>
<dd class="col-12 col-lg-8 J_modifiedOn"></dd>
</dl>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/privileges" />
<title>[[${bundle.L('角色权限')}]]</title>
<title>[[${bundle.$L('角色权限')}]]</title>
<style type="text/css">
.table.table-priv {
table-layout: fixed;
@ -99,31 +99,31 @@
</div>
</div>
<div class="float-right" style="margin-top: -1px">
<button class="btn btn-secondary btn-space J_new-role" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('新建角色')}]]</button>
<button class="btn btn-primary btn-space J_save mr-0" type="button" disabled="disabled">[[${bundle.L('保存')}]]</button>
<button class="btn btn-secondary btn-space J_new-role" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('新建角色')}]]</button>
<button class="btn btn-primary btn-space J_save mr-0" type="button" disabled="disabled">[[${bundle.$L('保存')}]]</button>
</div>
<div class="tab-container">
<ul class="nav nav-tabs nav-tabs-classic">
<li class="nav-item"><a data-toggle="tab" href="#priv-entity" class="nav-link active">[[${bundle.L('实体权限')}]]</a></li>
<li class="nav-item"><a data-toggle="tab" href="#priv-zero" class="nav-link">[[${bundle.L('扩展权限')}]]</a></li>
<li class="nav-item"><a data-toggle="tab" href="#priv-entity" class="nav-link active">[[${bundle.$L('实体权限')}]]</a></li>
<li class="nav-item"><a data-toggle="tab" href="#priv-zero" class="nav-link">[[${bundle.$L('扩展权限')}]]</a></li>
</ul>
<div class="tab-content mb-0">
<div class="tab-pane active" id="priv-entity">
<table class="table table-hover table-priv">
<thead>
<tr>
<th class="text-left" width="25%">[[${bundle.L('业务实体')}]]</th>
<th><a data-action="C" th:title="${bundle.L('批量选择')}">[[${bundle.L('新建')}]]</a></th>
<th><a data-action="R" th:title="${bundle.L('批量选择')}">[[${bundle.L('读取')}]]</a></th>
<th><a data-action="U" th:title="${bundle.L('批量选择')}">[[${bundle.L('更新')}]]</a></th>
<th><a data-action="D" th:title="${bundle.L('批量选择')}">[[${bundle.L('删除')}]]</a></th>
<th><a data-action="A" th:title="${bundle.L('批量选择')}">[[${bundle.L('分派')}]]</a></th>
<th><a data-action="S" th:title="${bundle.L('批量选择')}">[[${bundle.L('共享')}]]</a></th>
<th class="text-left" width="25%">[[${bundle.$L('业务实体')}]]</th>
<th><a data-action="C" th:title="${bundle.$L('批量选择')}">[[${bundle.$L('新建')}]]</a></th>
<th><a data-action="R" th:title="${bundle.$L('批量选择')}">[[${bundle.$L('读取')}]]</a></th>
<th><a data-action="U" th:title="${bundle.$L('批量选择')}">[[${bundle.$L('更新')}]]</a></th>
<th><a data-action="D" th:title="${bundle.$L('批量选择')}">[[${bundle.$L('删除')}]]</a></th>
<th><a data-action="A" th:title="${bundle.$L('批量选择')}">[[${bundle.$L('分派')}]]</a></th>
<th><a data-action="S" th:title="${bundle.$L('批量选择')}">[[${bundle.$L('共享')}]]</a></th>
</tr>
</thead>
<tbody>
<tr th:each="entity : ${Entities}">
<td class="name"><a th:data-name="${entity[0]}" th:title="${bundle.L('批量选择')}">[[${entity[1]}]]</a></td>
<td class="name"><a th:data-name="${entity[0]}" th:title="${bundle.$L('批量选择')}">[[${entity[1]}]]</a></td>
<td><i data-action="C" class="priv R0"></i></td>
<td><i data-action="R" class="priv R0"></i></td>
<td><i data-action="U" class="priv R0"></i></td>
@ -135,12 +135,12 @@
</table>
<div class="legend-wrap">
<div class="legend">
[[${bundle.L('图例')}]]
<label><i class="priv R0"></i> [[${bundle.L('无权限')}]]</label>
<label><i class="priv R1"></i> [[${bundle.L('本人')}]]</label>
<label><i class="priv R2"></i> [[${bundle.L('本部门')}]]</label>
<label><i class="priv R3"></i> [[${bundle.L('本部门及子部门')}]]</label>
<label><i class="priv R4"></i> [[${bundle.L('全部')}]]</label>
[[${bundle.$L('图例')}]]
<label><i class="priv R0"></i> [[${bundle.$L('无权限')}]]</label>
<label><i class="priv R1"></i> [[${bundle.$L('本人')}]]</label>
<label><i class="priv R2"></i> [[${bundle.$L('本部门')}]]</label>
<label><i class="priv R3"></i> [[${bundle.$L('本部门及子部门')}]]</label>
<label><i class="priv R4"></i> [[${bundle.$L('全部')}]]</label>
</div>
</div>
</div>
@ -148,9 +148,9 @@
<table class="table table-hover table-priv">
<thead>
<tr>
<th class="text-left" width="25%">[[${bundle.L('权限项')}]]</th>
<th><a data-action="Z">[[${bundle.L('允许')}]]</a></th>
<th class="text-left">[[${bundle.L('前置条件')}]]</th>
<th class="text-left" width="25%">[[${bundle.$L('权限项')}]]</th>
<th><a data-action="Z">[[${bundle.$L('允许')}]]</a></th>
<th class="text-left">[[${bundle.$L('前置条件')}]]</th>
<th></th>
<th></th>
<th></th>
@ -159,47 +159,47 @@
</thead>
<tbody>
<tr>
<td class="name"><a data-name="AllowLogin">[[${bundle.L('允许登录')}]]</a></td>
<td class="name"><a data-name="AllowLogin">[[${bundle.$L('允许登录')}]]</a></td>
<td><i data-action="Z" class="priv R4"></i></td>
<td colspan="5" class="text-muted text-left">[[${bundle.L('无')}]]</td>
<td colspan="5" class="text-muted text-left">[[${bundle.$L('无')}]]</td>
</tr>
<tr>
<td class="name"><a data-name="AllowCustomNav">[[${bundle.L('允许自定义导航菜单')}]]</a></td>
<td class="name"><a data-name="AllowCustomNav">[[${bundle.$L('允许自定义导航菜单')}]]</a></td>
<td><i data-action="Z" class="priv R0"></i></td>
<td colspan="5" class="text-muted text-left">[[${bundle.L('无')}]]</td>
<td colspan="5" class="text-muted text-left">[[${bundle.$L('无')}]]</td>
</tr>
<tr>
<td class="name"><a data-name="AllowCustomChart">[[${bundle.L('允许自定义图表')}]]</a></td>
<td class="name"><a data-name="AllowCustomChart">[[${bundle.$L('允许自定义图表')}]]</a></td>
<td><i data-action="Z" class="priv R0"></i></td>
<td colspan="5" class="text-muted text-left">[[${bundle.L('无')}]]</td>
<td colspan="5" class="text-muted text-left">[[${bundle.$L('无')}]]</td>
</tr>
<tr>
<td class="name"><a data-name="AllowCustomDataList">[[${bundle.L('允许自定义列显示')}]]</a></td>
<td class="name"><a data-name="AllowCustomDataList">[[${bundle.$L('允许自定义列显示')}]]</a></td>
<td><i data-action="Z" class="priv R0"></i></td>
<td colspan="5" class="text-muted text-left">[[${bundle.L('需具备相应实体的读取权限')}]]</td>
<td colspan="5" class="text-muted text-left">[[${bundle.$L('需具备相应实体的读取权限')}]]</td>
</tr>
<tr>
<td class="name"><a data-name="AllowBatchUpdate">[[${bundle.L('允许批量修改')}]]</a></td>
<td class="name"><a data-name="AllowBatchUpdate">[[${bundle.$L('允许批量修改')}]]</a></td>
<td><i data-action="Z" class="priv R0"></i></td>
<td colspan="5" class="text-muted text-left">[[${bundle.L('需具备相应实体的修改权限')}]]</td>
<td colspan="5" class="text-muted text-left">[[${bundle.$L('需具备相应实体的修改权限')}]]</td>
</tr>
<tr class="hide">
<td class="name"><a data-name="AllowDataImport">[[${bundle.L('允许数据导入')}]]</a></td>
<td class="name"><a data-name="AllowDataImport">[[${bundle.$L('允许数据导入')}]]</a></td>
<td><i data-action="Z" class="priv R0"></i></td>
<td colspan="5" class="text-muted text-left">[[${bundle.L('需具备相应实体的新建权限')}]]</td>
<td colspan="5" class="text-muted text-left">[[${bundle.$L('需具备相应实体的新建权限')}]]</td>
</tr>
<tr>
<td class="name"><a data-name="AllowDataExport">[[${bundle.L('允许数据导出')}]]</a></td>
<td class="name"><a data-name="AllowDataExport">[[${bundle.$L('允许数据导出')}]]</a></td>
<td><i data-action="Z" class="priv R0"></i></td>
<td colspan="5" class="text-muted text-left">[[${bundle.L('需具备相应实体的读取权限')}]]</td>
<td colspan="5" class="text-muted text-left">[[${bundle.$L('需具备相应实体的读取权限')}]]</td>
</tr>
</tbody>
</table>
<div class="legend-wrap">
<div class="legend">
[[${bundle.L('图例')}]]
<label><i class="priv R4"></i> [[${bundle.L('是')}]]</label>
<label><i class="priv R0"></i> [[${bundle.L('否')}]]</label>
[[${bundle.$L('图例')}]]
<label><i class="priv R4"></i> [[${bundle.$L('是')}]]</label>
<label><i class="priv R0"></i> [[${bundle.$L('否')}]]</label>
</div>
</div>
</div>

View file

@ -3,12 +3,12 @@
<head>
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/view-page.css}" />
<title>[[${bundle.L('角色视图')}]]</title>
<title>[[${bundle.$L('角色视图')}]]</title>
</head>
<body class="view-body">
<div class="view-header">
<i class="header-icon zmdi" th:classappend="${'zmdi-' + entityIcon}"></i>
<h3 class="title">[[${bundle.L('角色视图')}]]</h3>
<h3 class="title">[[${bundle.$L('角色视图')}]]</h3>
<span>
<a class="close J_close"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload"><i class="zmdi zmdi-refresh"></i></a>
@ -19,7 +19,7 @@
<div class="col-12 col-md-9">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.L('详情')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.$L('详情')}]]</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-rbview"></div>
@ -29,25 +29,25 @@
<div class="col-12 col-md-3 view-operating">
<div class="view-action row admin-show admin-verified">
<div class="col-12 col-lg-6">
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.L('编辑')}]]</button>
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.$L('编辑')}]]</button>
</div>
<div class="col-12 col-lg-6 btn-group J_mores">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_delete-role"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除')}]]</a>
<a class="dropdown-item J_delete-role"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除')}]]</a>
</div>
</div>
</div>
<div class="view-date">
<div class="form-line">
<fieldset><legend>[[${bundle.L('日期')}]]</legend></fieldset>
<fieldset><legend>[[${bundle.$L('日期')}]]</legend></fieldset>
</div>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('创建时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('创建时间')}]]</dt>
<dd class="col-12 col-lg-8 J_createdOn"></dd>
</dl>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('修改时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('修改时间')}]]</dt>
<dd class="col-12 col-lg-8 J_modifiedOn"></dd>
</dl>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/users#%E5%9B%A2%E9%98%9F" />
<title>[[${bundle.L('管理团队')}]]</title>
<title>[[${bundle.$L('管理团队')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -18,7 +18,7 @@
<div class="col-12 col-lg-6">
<div class="dataTables_filter">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" />
<span class="input-group-btn">
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
</span>
@ -27,12 +27,12 @@
</div>
<div class="col-12 col-lg-6">
<div class="dataTables_oper">
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.L('打开')}]]</button>
<button class="btn btn-primary btn-space J_new" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('新建团队')}]]</button>
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.$L('打开')}]]</button>
<button class="btn btn-primary btn-space J_new" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('新建团队')}]]</button>
<div class="btn-group btn-space">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.L('列显示')}]]</a>
<a class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.$L('列显示')}]]</a>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/view-page.css}" />
<title>[[${bundle.L('团队视图')}]]</title>
<title>[[${bundle.$L('团队视图')}]]</title>
<style>
.nav.depts a {
border: 1px solid transparent;
@ -18,7 +18,7 @@
<body class="view-body">
<div class="view-header">
<i class="header-icon zmdi" th:classappend="${'zmdi-' + entityIcon}"></i>
<h3 class="title">[[${bundle.L('团队视图')}]]</h3>
<h3 class="title">[[${bundle.$L('团队视图')}]]</h3>
<span>
<a class="close J_close"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload"><i class="zmdi zmdi-refresh"></i></a>
@ -29,8 +29,8 @@
<div class="col-12 col-md-9">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.L('详情')}]]</a></li>
<li class="nav-item admin-show"><a class="nav-link" href="#tab-members" data-toggle="tab">[[${bundle.L('成员列表')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.$L('详情')}]]</a></li>
<li class="nav-item admin-show"><a class="nav-link" href="#tab-members" data-toggle="tab">[[${bundle.$L('成员列表')}]]</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-rbview"></div>
@ -41,28 +41,28 @@
<div class="col-12 col-md-3 view-operating">
<div class="view-action row admin-show admin-verified">
<div class="col-12 col-lg-6">
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.L('编辑')}]]</button>
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.$L('编辑')}]]</button>
</div>
<div class="col-12 col-lg-6 btn-group J_mores">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除')}]]</a>
</div>
</div>
<div class="col-12 col-lg-6">
<button class="btn btn-secondary J_add-detail" type="button"><i class="icon zmdi zmdi-account-add"></i> [[${bundle.L('添加成员')}]]</button>
<button class="btn btn-secondary J_add-detail" type="button"><i class="icon zmdi zmdi-account-add"></i> [[${bundle.$L('添加成员')}]]</button>
</div>
</div>
<div class="view-date">
<div class="form-line">
<fieldset><legend>[[${bundle.L('日期')}]]</legend></fieldset>
<fieldset><legend>[[${bundle.$L('日期')}]]</legend></fieldset>
</div>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('创建时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('创建时间')}]]</dt>
<dd class="col-12 col-lg-8 J_createdOn"></dd>
</dl>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('修改时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('修改时间')}]]</dt>
<dd class="col-12 col-lg-8 J_modifiedOn"></dd>
</dl>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/users" />
<title>[[${bundle.L('用户管理')}]]</title>
<title>[[${bundle.$L('用户管理')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-aside rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -27,10 +27,10 @@
<div class="main-content container-fluid">
<ul class="nav nav-tabs nav-tabs-classic">
<li class="nav-item">
<a href="users" class="nav-link active"><span class="icon zmdi zmdi-account"></span> [[${bundle.L('用户')}]]</a>
<a href="users" class="nav-link active"><span class="icon zmdi zmdi-account"></span> [[${bundle.$L('用户')}]]</a>
</li>
<li class="nav-item">
<a href="departments" class="nav-link"><span class="icon zmdi zmdi-accounts"></span> [[${bundle.L('部门')}]]</a>
<a href="departments" class="nav-link"><span class="icon zmdi zmdi-accounts"></span> [[${bundle.$L('部门')}]]</a>
</li>
</ul>
<div class="card card-table">
@ -40,7 +40,7 @@
<div class="col-12 col-lg-5">
<div class="dataTables_filter">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" data-quickFields="loginName,fullName,email,quickCode" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" data-quickFields="loginName,fullName,email,quickCode" />
<span class="input-group-btn">
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
</span>
@ -49,20 +49,20 @@
</div>
<div class="col-12 col-lg-7">
<div class="dataTables_oper">
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.L('打开')}]]</button>
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.$L('打开')}]]</button>
<div class="btn-group btn-space">
<button class="btn btn-primary J_new" type="button"><i class="icon zmdi zmdi-account-add"></i> [[${bundle.L('新建用户')}]]</button>
<button class="btn btn-primary J_new" type="button"><i class="icon zmdi zmdi-account-add"></i> [[${bundle.$L('新建用户')}]]</button>
<button class="btn btn-primary dropdown-toggle auto" type="button" data-toggle="dropdown"><span class="icon zmdi zmdi-chevron-down"></span></button>
<div class="dropdown-menu dropdown-menu-primary dropdown-menu-right">
<a class="dropdown-item J_new-dept"><i class="icon zmdi zmdi-accounts-add"></i> [[${bundle.L('新建部门')}]]</a>
<a class="dropdown-item J_new-dept"><i class="icon zmdi zmdi-accounts-add"></i> [[${bundle.$L('新建部门')}]]</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item J_imports"><i class="icon zmdi zmdi-cloud-upload"></i> [[${bundle.L('导入用户')}]] <sup class="rbv"></sup></a>
<a class="dropdown-item J_imports"><i class="icon zmdi zmdi-cloud-upload"></i> [[${bundle.$L('导入用户')}]] <sup class="rbv"></sup></a>
</div>
</div>
<div class="btn-group btn-space">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.L('列显示')}]]</a>
<a class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.$L('列显示')}]]</a>
</div>
</div>
</div>

View file

@ -3,12 +3,12 @@
<head>
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/view-page.css}" />
<title>[[${bundle.L('用户视图')}]]</title>
<title>[[${bundle.$L('用户视图')}]]</title>
</head>
<body class="view-body">
<div class="view-header">
<i class="header-icon zmdi" th:classappend="${'zmdi-' + entityIcon}"></i>
<h3 class="title">[[${bundle.L('用户视图')}]]</h3>
<h3 class="title">[[${bundle.$L('用户视图')}]]</h3>
<span>
<a class="close J_close"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload"><i class="zmdi zmdi-refresh"></i></a>
@ -26,7 +26,7 @@
<div class="col-12 col-md-9">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.L('用户信息')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.$L('用户信息')}]]</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-rbview"></div>
@ -36,31 +36,31 @@
<div class="col-12 col-md-3 view-operating">
<div class="view-action row admin-show admin-verified">
<div class="col-12 col-lg-6">
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.L('编辑')}]]</button>
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.$L('编辑')}]]</button>
</div>
<div class="col-12 col-lg-6 btn-group J_mores">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_enable"><i class="icon zmdi zmdi-check-circle"></i> [[${bundle.L('启用')}]]</a>
<a class="dropdown-item J_disable"><i class="icon zmdi zmdi-block"></i> [[${bundle.L('禁用')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除')}]]</a>
<a class="dropdown-item J_resetpwd"><i class="icon zmdi zmdi-key"></i> [[${bundle.L('重置密码')}]]</a>
<a class="dropdown-item J_enable"><i class="icon zmdi zmdi-check-circle"></i> [[${bundle.$L('启用')}]]</a>
<a class="dropdown-item J_disable"><i class="icon zmdi zmdi-block"></i> [[${bundle.$L('禁用')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除')}]]</a>
<a class="dropdown-item J_resetpwd"><i class="icon zmdi zmdi-key"></i> [[${bundle.$L('重置密码')}]]</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item J_changeDept"><i class="icon zmdi zmdi-accounts"></i> [[${bundle.L('修改部门')}]]</a>
<a class="dropdown-item J_changeRole"><i class="icon zmdi zmdi-lock"></i> [[${bundle.L('修改角色')}]]</a>
<a class="dropdown-item J_changeDept"><i class="icon zmdi zmdi-accounts"></i> [[${bundle.$L('修改部门')}]]</a>
<a class="dropdown-item J_changeRole"><i class="icon zmdi zmdi-lock"></i> [[${bundle.$L('修改角色')}]]</a>
</div>
</div>
</div>
<div class="view-date">
<div class="form-line">
<fieldset><legend>[[${bundle.L('日期')}]]</legend></fieldset>
<fieldset><legend>[[${bundle.$L('日期')}]]</legend></fieldset>
</div>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('创建时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('创建时间')}]]</dt>
<dd class="col-12 col-lg-8 J_createdOn"></dd>
</dl>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('修改时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('修改时间')}]]</dt>
<dd class="col-12 col-lg-8 J_modifiedOn"></dd>
</dl>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/data-import" />
<title>[[${bundle.L('数据导入')}]]</title>
<title>[[${bundle.$L('数据导入')}]]</title>
<style type="text/css">
.fuelux .wizard .step-content {
padding: 30px;
@ -51,7 +51,7 @@
<th:block th:replace="~{/_include/nav-left-admin(active='data-imports')}" />
<div class="rb-content">
<div class="page-head">
<div class="page-head-title">[[${bundle.L('数据导入')}]]</div>
<div class="page-head-title">[[${bundle.$L('数据导入')}]]</div>
</div>
<div class="main-content container-fluid pt-1">
<div class="row wizard-row">
@ -59,75 +59,75 @@
<div class="wizard wizard-ux rounded">
<div class="steps-container">
<ul class="steps">
<li data-step="1" class="active">[[${bundle.L('上传文件')}]] <i class="chevron"></i></li>
<li data-step="2">[[${bundle.L('字段映射')}]] <i class="chevron"></i></li>
<li data-step="3">[[${bundle.L('开始导入')}]] <i class="chevron"></i></li>
<li data-step="1" class="active">[[${bundle.$L('上传文件')}]] <i class="chevron"></i></li>
<li data-step="2">[[${bundle.$L('字段映射')}]] <i class="chevron"></i></li>
<li data-step="3">[[${bundle.$L('开始导入')}]] <i class="chevron"></i></li>
</ul>
<div class="step-content">
<div data-step="1" class="step-pane active">
<form class="simple">
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('选择导入实体')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('选择导入实体')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<select class="form-control form-control-sm" id="toEntity"></select>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('上传数据文件')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('上传数据文件')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<div class="file-select">
<input type="file" class="inputfile" id="upload-input" accept=".xlsx,.xls,.csv" data-local="temp" />
<label for="upload-input" class="btn-secondary"><i class="zmdi zmdi-upload"></i><span>[[${bundle.L('上传文件')}]]</span></label>
<label for="upload-input" class="btn-secondary"><i class="zmdi zmdi-upload"></i><span>[[${bundle.$L('上传文件')}]]</span></label>
</div>
<div>
<u class="text-bold J_upload-input"></u>
</div>
<div class="form-text mb-0">
<ul class="mb-0 pl-4">
<li>[[${bundle.L('有合并单元格的数据请处理过后再上传,否则可能出现表头识别有误')}]]</li>
<li>[[${bundle.L('系统默认仅识别第一个 SHEET且会将首行识别为表头')}]]</li>
<li class="link" th:utext="${bundle.L('主实体与明细实体请分别导入,更多帮助请 [参考文档](https://getrebuild.com/docs/admin/data-import)')}"></li>
<li>[[${bundle.$L('有合并单元格的数据请处理过后再上传,否则可能出现表头识别有误')}]]</li>
<li>[[${bundle.$L('系统默认仅识别第一个 SHEET且会将首行识别为表头')}]]</li>
<li class="link" th:utext="${bundle.$L('主实体与明细实体请分别导入,更多帮助请 [参考文档](https://getrebuild.com/docs/admin/data-import)')}"></li>
</ul>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('遇到重复记录时')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('遇到重复记录时')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<div class="mt-1">
<label class="custom-control custom-control-sm custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" name="repeatOpt" value="1" checked="checked" />
<span class="custom-control-label">[[${bundle.L('覆盖 (更新)')}]]</span>
<span class="custom-control-label">[[${bundle.$L('覆盖 (更新)')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" name="repeatOpt" value="2" />
<span class="custom-control-label">[[${bundle.L('跳过')}]]</span>
<span class="custom-control-label">[[${bundle.$L('跳过')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" name="repeatOpt" value="3" />
<span class="custom-control-label">[[${bundle.L('仍旧导入')}]]</span>
<span class="custom-control-label">[[${bundle.$L('仍旧导入')}]]</span>
</label>
</div>
<div class="J_repeatFields">
<label>
[[${bundle.L('重复判断字段')}]]
<i class="zmdi zmdi-help zicon" data-toggle="tooltip" th:title="${bundle.L('选择的字段必须存在字段映射,否则会导致重复判断有误')}"></i>
[[${bundle.$L('重复判断字段')}]]
<i class="zmdi zmdi-help zicon" data-toggle="tooltip" th:title="${bundle.$L('选择的字段必须存在字段映射,否则会导致重复判断有误')}"></i>
</label>
<select class="form-control form-control-sm" id="repeatFields" multiple="multiple"></select>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('记录所属用户')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('记录所属用户')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<div id="toUser"></div>
<div class="form-text mb-0">[[${bundle.L('不选择则默认为当前用户,如字段映射中指定了用户则以映射为准')}]]</div>
<div class="form-text mb-0">[[${bundle.$L('不选择则默认为当前用户,如字段映射中指定了用户则以映射为准')}]]</div>
<div id="user-warn"></div>
</div>
</div>
<div class="form-group row footer">
<div class="col-md-12 col-xl-6 col-lg-8 offset-xl-3 offset-lg-4">
<button class="btn btn-primary btn-space J_step1-btn" type="button">[[${bundle.L('下一步')}]]</button>
<button class="btn btn-primary btn-space J_step1-btn" type="button">[[${bundle.$L('下一步')}]]</button>
</div>
</div>
</form>
@ -135,13 +135,13 @@
<div data-step="2" class="step-pane">
<form class="simple">
<div class="form-group row pt-0">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('设置字段映射')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('设置字段映射')}]]</label>
<div class="col-md-12 col-xl-9 col-lg-8">
<table id="fieldsMapping" class="table table-hover">
<thead>
<tr>
<th width="240">[[${bundle.L('数据列')}]]</th>
<th width="240">[[${bundle.L('导入到字段')}]]</th>
<th width="240">[[${bundle.$L('数据列')}]]</th>
<th width="240">[[${bundle.$L('导入到字段')}]]</th>
<th></th>
</tr>
</thead>
@ -151,8 +151,8 @@
</div>
<div class="form-group row footer">
<div class="col-md-12 col-xl-6 col-lg-8 offset-xl-3 offset-lg-4">
<button class="btn btn-primary btn-space J_step2-btn" type="button">[[${bundle.L('开始导入')}]]</button>
<button class="btn btn-link btn-space J_step2-return" type="button">[[${bundle.L('返回上一步')}]]</button>
<button class="btn btn-primary btn-space J_step2-btn" type="button">[[${bundle.$L('开始导入')}]]</button>
<button class="btn btn-link btn-space J_step2-return" type="button">[[${bundle.$L('返回上一步')}]]</button>
</div>
</div>
</form>
@ -160,15 +160,15 @@
<div data-step="3" class="step-pane">
<form class="simple" style="margin: 30px auto">
<div class="row mb-2">
<div class="col-6"><h5 class="text-bold m-0 p-0 J_import_state">[[${bundle.L('正在准备数据 ...')}]]</h5></div>
<div class="col-6 text-right text-muted">[[${bundle.L('耗时')}]] <span class="J_import_time">00:00:00</span></div>
<div class="col-6"><h5 class="text-bold m-0 p-0 J_import_state">[[${bundle.$L('正在准备数据 ...')}]]</h5></div>
<div class="col-6 text-right text-muted">[[${bundle.$L('耗时')}]] <span class="J_import_time">00:00:00</span></div>
</div>
<div class="progress">
<div class="progress-bar J_import-bar"></div>
</div>
<div class="mt-3">
<button class="btn btn-danger btn-space J_step3-cancel" type="button">[[${bundle.L('终止导入')}]]</button>
<a class="btn btn-link btn-space J_step3-logs hide" href="data-imports">[[${bundle.L('继续导入')}]]</a>
<button class="btn btn-danger btn-space J_step3-cancel" type="button">[[${bundle.$L('终止导入')}]]</button>
<a class="btn btn-link btn-space J_step3-logs hide" href="data-imports">[[${bundle.$L('继续导入')}]]</a>
</div>
</form>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/excel-admin" />
<title>[[${bundle.L('报表模板')}]]</title>
<title>[[${bundle.$L('报表模板')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header rb-aside" th:classappend="${sideCollapsedClazz}">
@ -13,21 +13,21 @@
<aside class="page-aside">
<div class="rb-scroller">
<div class="aside-tree">
<h5 class="config-title">[[${bundle.L('应用实体')}]]</h5>
<h5 class="config-title">[[${bundle.$L('应用实体')}]]</h5>
<ul class="list-unstyled">
<li class="active"><a>[[${bundle.L('全部实体')}]]</a></li>
<li class="active"><a>[[${bundle.$L('全部实体')}]]</a></li>
</ul>
</div>
</div>
</aside>
<div class="page-head">
<div class="float-left"><div class="page-head-title">[[${bundle.L('报表模板')}]]</div></div>
<div class="float-left"><div class="page-head-title">[[${bundle.$L('报表模板')}]]</div></div>
<div class="float-right pt-1">
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
<div class="float-right pt-1 mr-3">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -45,10 +45,10 @@
<table class="table table-hover table-striped table-fixed">
<thead>
<tr>
<th>[[${bundle.L('名称')}]]</th>
<th>[[${bundle.L('应用实体')}]]</th>
<th width="80">[[${bundle.L('启用')}]]</th>
<th width="120">[[${bundle.L('修改时间')}]]</th>
<th>[[${bundle.$L('名称')}]]</th>
<th>[[${bundle.$L('应用实体')}]]</th>
<th width="80">[[${bundle.$L('启用')}]]</th>
<th width="120">[[${bundle.$L('修改时间')}]]</th>
<th width="120"></th>
</tr>
</thead>
@ -57,7 +57,7 @@
<th:block th:replace="~{/_include/spinner}" />
<div class="list-nodata hide">
<span class="zmdi zmdi-map"></span>
<p>[[${bundle.L('暂无报表模板')}]]</p>
<p>[[${bundle.$L('暂无报表模板')}]]</p>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/dev/how-use-apis" />
<title>[[${bundle.L('API 秘钥')}]]</title>
<title>[[${bundle.$L('API 秘钥')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -11,9 +11,9 @@
<th:block th:replace="~{/_include/nav-left-admin(active='apis-manager')}" />
<div class="rb-content">
<div class="page-head">
<div class="float-left"><div class="page-head-title">[[${bundle.L('API 秘钥')}]]</div></div>
<div class="float-left"><div class="page-head-title">[[${bundle.$L('API 秘钥')}]]</div></div>
<div class="float-right pt-1">
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
<div class="clearfix"></div>
</div>
@ -29,9 +29,9 @@
<tr>
<th width="10%">APP ID</th>
<th width="30%">APP SECRET</th>
<th>[[${bundle.L('绑定用户 (权限)')}]]</th>
<th>[[${bundle.L('调用量 (30 天)')}]]</th>
<th width="120">[[${bundle.L('创建时间')}]]</th>
<th>[[${bundle.$L('绑定用户 (权限)')}]]</th>
<th>[[${bundle.$L('调用量 (30 天)')}]]</th>
<th width="120">[[${bundle.$L('创建时间')}]]</th>
<th width="50"></th>
</tr>
</thead>
@ -40,7 +40,7 @@
<th:block th:replace="~{/_include/spinner}" />
<div class="list-nodata hide">
<span class="zmdi zmdi-key"></span>
<p>[[${bundle.L('暂无 API 秘钥')}]]</p>
<p>[[${bundle.$L('暂无 API 秘钥')}]]</p>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/integration#%E4%BA%91%E5%AD%98%E5%82%A8" />
<title>[[${bundle.L('云存储配置')}]]</title>
<title>[[${bundle.$L('云存储配置')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -15,51 +15,51 @@
<div class="col-lg-9 col-12">
<div class="card">
<div class="card-header pb-1">
[[${bundle.L('云存储')}]]
<a href="#modfiy" class="float-right"><i class="icon zmdi zmdi-edit"></i> [[${bundle.L('修改')}]]</a>
[[${bundle.$L('云存储')}]]
<a href="#modfiy" class="float-right"><i class="icon zmdi zmdi-edit"></i> [[${bundle.$L('修改')}]]</a>
</div>
<div class="card-body">
<h5>[[${bundle.L('七牛云 QINIU')}]]</h5>
<h5>[[${bundle.$L('七牛云 QINIU')}]]</h5>
<table class="table">
<tbody>
<tr>
<td width="40%">[[${bundle.L('访问域名')}]]</td>
<td data-id="StorageURL" th:data-value="${storageAccount == null ? '' : storageAccount[3]}">[[${storageAccount == null ? bundle.L('未设置') : storageAccount[3]}]]</td>
<td width="40%">[[${bundle.$L('访问域名')}]]</td>
<td data-id="StorageURL" th:data-value="${storageAccount == null ? '' : storageAccount[3]}">[[${storageAccount == null ? bundle.$L('未设置') : storageAccount[3]}]]</td>
</tr>
<tr>
<td>
[[${bundle.L('存储空间')}]]
<p>[[${bundle.L('存储空间变更需你自行迁移原有数据')}]]</p>
[[${bundle.$L('存储空间')}]]
<p>[[${bundle.$L('存储空间变更需你自行迁移原有数据')}]]</p>
</td>
<td data-id="StorageBucket" th:data-value="${storageAccount == null ? '' : storageAccount[2]}">[[${storageAccount == null ? bundle.L('未设置') : storageAccount[2]}]]</td>
<td data-id="StorageBucket" th:data-value="${storageAccount == null ? '' : storageAccount[2]}">[[${storageAccount == null ? bundle.$L('未设置') : storageAccount[2]}]]</td>
</tr>
<tr>
<td>[[${bundle.L('秘钥 AK')}]]</td>
<td data-id="StorageApiKey" th:data-value="${storageAccount == null ? '' : storageAccount[0]}">[[${storageAccount == null ? bundle.L('未设置') : storageAccount[0]}]]</td>
<td>[[${bundle.$L('秘钥 AK')}]]</td>
<td data-id="StorageApiKey" th:data-value="${storageAccount == null ? '' : storageAccount[0]}">[[${storageAccount == null ? bundle.$L('未设置') : storageAccount[0]}]]</td>
</tr>
<tr>
<td>[[${bundle.L('秘钥 SK')}]]</td>
<td data-id="StorageApiSecret" th:data-value="${storageAccount == null ? '' : storageAccount[1]}">[[${storageAccount == null ? bundle.L('未设置') : storageAccount[1]}]]</td>
<td>[[${bundle.$L('秘钥 SK')}]]</td>
<td data-id="StorageApiSecret" th:data-value="${storageAccount == null ? '' : storageAccount[1]}">[[${storageAccount == null ? bundle.$L('未设置') : storageAccount[1]}]]</td>
</tr>
</tbody>
</table>
<div th:if="${!_StorageCloud}" class="alert alert-warning alert-icon mt-6">
<div class="icon"><span class="zmdi zmdi-alert-triangle"></span></div>
<div class="message">[[${bundle.L('七牛云存储账户未配置或配置有误,当前已启用本地文件存储')}]]</div>
<div class="message">[[${bundle.$L('七牛云存储账户未配置或配置有误,当前已启用本地文件存储')}]]</div>
</div>
<div class="edit-footer">
<button class="btn btn-link">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary">[[${bundle.L('保存')}]]</button>
<button class="btn btn-link">[[${bundle.$L('取消')}]]</button>
<button class="btn btn-primary">[[${bundle.$L('保存')}]]</button>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-12">
<div class="card">
<div class="card-header card-header-divider">[[${bundle.L('存储大小')}]]</div>
<div class="card-header card-header-divider">[[${bundle.$L('存储大小')}]]</div>
<div class="card-body">
<strong class="fs-16">[[${_StorageSize}]]</strong>
([[${_StorageCloud ? bundle.L('七牛云 QINIU') : bundle.L('本地存储')}]])
([[${_StorageCloud ? bundle.$L('七牛云 QINIU') : bundle.$L('本地存储')}]])
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/integration#%E7%9F%AD%E4%BF%A1/%E9%82%AE%E4%BB%B6" />
<title>[[${bundle.L('邮件&短信配置')}]]</title>
<title>[[${bundle.$L('邮件&短信配置')}]]</title>
<style type="text/css">
.row.stats .col-8 span {
display: block;
@ -36,93 +36,93 @@
<div class="col-lg-9 col-12">
<div class="card">
<div class="card-header pb-1">
[[${bundle.L('赛邮 SUBMAIL')}]]
<a href="#modfiy" class="float-right"><i class="icon zmdi zmdi-edit"></i> [[${bundle.L('修改')}]]</a>
[[${bundle.$L('赛邮 SUBMAIL')}]]
<a href="#modfiy" class="float-right"><i class="icon zmdi zmdi-edit"></i> [[${bundle.$L('修改')}]]</a>
</div>
<div class="card-body">
<h5>[[${bundle.L('邮件服务')}]]</h5>
<h5>[[${bundle.$L('邮件服务')}]]</h5>
<table class="table email-set">
<tbody>
<tr class="smtp-show">
<td width="40%">[[${bundle.L('SMTP 服务器地址')}]]</td>
<td width="40%">[[${bundle.$L('SMTP 服务器地址')}]]</td>
<td data-id="MailSmtpServer" data-ignore="true" th:data-value="${mailAccount == null ? '' : mailAccount[4]}">
[[${mailAccount == null ? bundle.L('未设置') : mailAccount[4]}]]
[[${mailAccount == null ? bundle.$L('未设置') : mailAccount[4]}]]
</td>
</tr>
<tr>
<td width="40%">
<span class="smtp-hide">APPID</span>
<span class="smtp-show">[[${bundle.L('SMTP 用户名')}]]</span>
<span class="smtp-show">[[${bundle.$L('SMTP 用户名')}]]</span>
</td>
<td data-id="MailUser" th:data-value="${mailAccount == null ? '' : mailAccount[0]}">[[${mailAccount == null ? bundle.L('未设置') : mailAccount[0]}]]</td>
<td data-id="MailUser" th:data-value="${mailAccount == null ? '' : mailAccount[0]}">[[${mailAccount == null ? bundle.$L('未设置') : mailAccount[0]}]]</td>
</tr>
<tr>
<td>
<span class="smtp-hide">APPKEY</span>
<span class="smtp-show">[[${bundle.L('SMTP 密码')}]]</span>
<span class="smtp-show">[[${bundle.$L('SMTP 密码')}]]</span>
</td>
<td data-id="MailPassword" th:data-value="${mailAccount == null ? '' : mailAccount[1]}">[[${mailAccount == null ? bundle.L('未设置') : mailAccount[1]}]]</td>
<td data-id="MailPassword" th:data-value="${mailAccount == null ? '' : mailAccount[1]}">[[${mailAccount == null ? bundle.$L('未设置') : mailAccount[1]}]]</td>
</tr>
<tr>
<td>
[[${bundle.L('发件人地址')}]]
<p class="smtp-hide">[[${bundle.L('地址域名需与 SUBMAIL 中配置的域名匹配')}]]</p>
[[${bundle.$L('发件人地址')}]]
<p class="smtp-hide">[[${bundle.$L('地址域名需与 SUBMAIL 中配置的域名匹配')}]]</p>
</td>
<td data-id="MailAddr" th:data-value="${mailAccount == null ? '' : mailAccount[2]}">[[${mailAccount == null ? bundle.L('未设置') : mailAccount[2]}]]</td>
<td data-id="MailAddr" th:data-value="${mailAccount == null ? '' : mailAccount[2]}">[[${mailAccount == null ? bundle.$L('未设置') : mailAccount[2]}]]</td>
</tr>
<tr>
<td>[[${bundle.L('发件人名称')}]]</td>
<td data-id="MailName" th:data-value="${mailAccount == null ? '' : mailAccount[3]}">[[${mailAccount == null ? bundle.L('未设置') : mailAccount[3]}]]</td>
<td>[[${bundle.$L('发件人名称')}]]</td>
<td data-id="MailName" th:data-value="${mailAccount == null ? '' : mailAccount[3]}">[[${mailAccount == null ? bundle.$L('未设置') : mailAccount[3]}]]</td>
</tr>
<tr class="show-on-edit">
<td></td>
<td>
<button class="btn btn-primary btn-outline J_test-email">[[${bundle.L('测试发送')}]]</button>
<button class="btn btn-link J_switch-email-set smtp-hide"><i class="zmdi zmdi-swap icon"></i> [[${bundle.L('使用 SMTP')}]]</button>
<button class="btn btn-link J_switch-email-set smtp-show"><i class="zmdi zmdi-swap icon"></i> [[${bundle.L('使用赛邮')}]]</button>
<button class="btn btn-primary btn-outline J_test-email">[[${bundle.$L('测试发送')}]]</button>
<button class="btn btn-link J_switch-email-set smtp-hide"><i class="zmdi zmdi-swap icon"></i> [[${bundle.$L('使用 SMTP')}]]</button>
<button class="btn btn-link J_switch-email-set smtp-show"><i class="zmdi zmdi-swap icon"></i> [[${bundle.$L('使用赛邮')}]]</button>
</td>
</tr>
</tbody>
</table>
<div th:if="${mailAccount == null}" class="alert alert-danger alert-icon mt-6">
<div class="icon"><span class="zmdi zmdi-close-circle-o"></span></div>
<div class="message">[[${bundle.L('邮件服务未配置,相关功能不可用')}]]</div>
<div class="message">[[${bundle.$L('邮件服务未配置,相关功能不可用')}]]</div>
</div>
<h5>[[${bundle.L('短信服务')}]]</h5>
<h5>[[${bundle.$L('短信服务')}]]</h5>
<table class="table">
<tbody>
<tr>
<td width="40%">APPID</td>
<td data-id="SmsUser" th:data-value="${smsAccount == null ? '' : smsAccount[0]}">[[${smsAccount == null ? bundle.L('未设置') : smsAccount[0]}]]</td>
<td data-id="SmsUser" th:data-value="${smsAccount == null ? '' : smsAccount[0]}">[[${smsAccount == null ? bundle.$L('未设置') : smsAccount[0]}]]</td>
</tr>
<tr>
<td>APPKEY</td>
<td data-id="SmsPassword" th:data-value="${smsAccount == null ? '' : smsAccount[1]}">[[${smsAccount == null ? bundle.L('未设置') : smsAccount[1]}]]</td>
<td data-id="SmsPassword" th:data-value="${smsAccount == null ? '' : smsAccount[1]}">[[${smsAccount == null ? bundle.$L('未设置') : smsAccount[1]}]]</td>
</tr>
<tr>
<td>[[${bundle.L('短信签名')}]]</td>
<td data-id="SmsSign" th:data-value="${smsAccount == null ? '' : smsAccount[2]}">[[${smsAccount == null ? bundle.L('未设置') : smsAccount[2]}]]</td>
<td>[[${bundle.$L('短信签名')}]]</td>
<td data-id="SmsSign" th:data-value="${smsAccount == null ? '' : smsAccount[2]}">[[${smsAccount == null ? bundle.$L('未设置') : smsAccount[2]}]]</td>
</tr>
<tr class="show-on-edit">
<td></td>
<td><button class="btn btn-primary btn-outline J_test-sms">[[${bundle.L('发送测试')}]]</button></td>
<td><button class="btn btn-primary btn-outline J_test-sms">[[${bundle.$L('发送测试')}]]</button></td>
</tr>
</tbody>
</table>
<div th:if="${smsAccount == null}" class="alert alert-danger alert-icon mt-6 mb-6">
<div class="icon"><span class="zmdi zmdi-close-circle-o"></span></div>
<div class="message">[[${bundle.L('短信服务未配置,相关功能不可用')}]]</div>
<div class="message">[[${bundle.$L('短信服务未配置,相关功能不可用')}]]</div>
</div>
<div class="edit-footer">
<button class="btn btn-link">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary">[[${bundle.L('保存')}]]</button>
<button class="btn btn-link">[[${bundle.$L('取消')}]]</button>
<button class="btn btn-primary">[[${bundle.$L('保存')}]]</button>
</div>
</div>
</div>
</div>
<div class="col-lg-3 col-12">
<div class="card">
<div class="card-header card-header-divider">[[${bundle.L('发送统计')}]]</div>
<div class="card-header card-header-divider">[[${bundle.$L('发送统计')}]]</div>
<div class="card-body">
<div class="row stats J_stats-sms">
<div class="col-8">
@ -130,7 +130,7 @@
</div>
<div class="col-4">
<strong class="fs-16">0</strong>
<p class="text-muted m-0">[[${bundle.L('短信')}]]</p>
<p class="text-muted m-0">[[${bundle.$L('短信')}]]</p>
</div>
</div>
<div class="row stats J_stats-email mt-4">
@ -139,7 +139,7 @@
</div>
<div class="col-4">
<strong class="fs-16">0</strong>
<p class="text-muted m-0">[[${bundle.L('邮件')}]]</p>
<p class="text-muted m-0">[[${bundle.$L('邮件')}]]</p>
</div>
</div>
</div>

View file

@ -4,7 +4,7 @@
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/lib/widget/bootstrap-slider.min.css}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/meta-entity#%E5%BC%95%E7%94%A8%E5%AD%97%E6%AE%B5%E7%9A%84%E6%9B%B4%E5%A4%9A%E8%AF%B4%E6%98%8E" />
<title>[[${bundle.L('表单回填')}]]</title>
<title>[[${bundle.$L('表单回填')}]]</title>
<style type="text/css">
.dataTables_wrapper .rb-datatable-header {
position: static;
@ -45,22 +45,22 @@
</div>
<div class="aside-nav collapse">
<ul class="nav">
<li><a href="../../base">[[${bundle.L('基本信息')}]]</a></li>
<li><a href="../../form-design">[[${bundle.L('表单设计')}]]</a></li>
<li class="active"><a href="../../fields">[[${bundle.L('字段管理')}]]</a></li>
<li><a href="../../advanced">[[${bundle.L('高级配置')}]]</a></li>
<li><a href="../../base">[[${bundle.$L('基本信息')}]]</a></li>
<li><a href="../../form-design">[[${bundle.$L('表单设计')}]]</a></li>
<li class="active"><a href="../../fields">[[${bundle.$L('字段管理')}]]</a></li>
<li><a href="../../advanced">[[${bundle.$L('高级配置')}]]</a></li>
</ul>
</div>
</div>
</div>
</aside>
<div class="page-head">
<div class="page-head-title">[[${bundle.L('表单回填')}]]</div>
<div class="page-head-title">[[${bundle.$L('表单回填')}]]</div>
</div>
<div class="main-content container-fluid pt-1">
<ul class="nav nav-tabs nav-tabs-classic">
<li class="nav-item"><a th:href="|../${fieldName}|" class="nav-link">[[${bundle.L('字段信息')}]]</a></li>
<li class="nav-item"><a href="./auto-fillin" class="nav-link active">[[${bundle.L('表单回填')}]]</a></li>
<li class="nav-item"><a th:href="|../${fieldName}|" class="nav-link">[[${bundle.$L('字段信息')}]]</a></li>
<li class="nav-item"><a href="./auto-fillin" class="nav-link active">[[${bundle.$L('表单回填')}]]</a></li>
</ul>
<div class="card">
<div class="card-body">
@ -73,7 +73,7 @@
</div>
<div class="col-sm-6">
<div class="dataTables_oper">
<button class="btn btn-primary J_add-rule"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary J_add-rule"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
</div>
</div>
@ -83,9 +83,9 @@
<table class="table table-hover table-striped table-fixed" id="dataList">
<thead>
<tr>
<th>[[${bundle.L('目标字段')}]]</th>
<th>[[${bundle.L('源字段')}]]</th>
<th width="35%">[[${bundle.L('回填规则')}]]</th>
<th>[[${bundle.$L('目标字段')}]]</th>
<th>[[${bundle.$L('源字段')}]]</th>
<th width="35%">[[${bundle.$L('回填规则')}]]</th>
<th width="100"></th>
</tr>
</thead>
@ -94,7 +94,7 @@
<th:block th:replace="~{/_include/spinner}" />
<div class="list-nodata hide">
<span class="zmdi zmdi-info-outline"></span>
<p>[[${bundle.L('暂无表单回填')}]]</p>
<p>[[${bundle.$L('暂无表单回填')}]]</p>
</div>
</div>
</div>
@ -102,7 +102,7 @@
</div>
</div>
</div>
<p class="protips" th:utext="${bundle.L('通过 [触发器 (数据转写)](/admin/robot/triggers) 可以实现更加强大的回填规则')}"></p>
<p class="protips" th:utext="${bundle.$L('通过 [触发器 (数据转写)](/admin/robot/triggers) 可以实现更加强大的回填规则')}"></p>
</div>
</div>
</div>

View file

@ -4,7 +4,7 @@
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/classifications" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/classification.css}" />
<title>[[${bundle.L('分类数据')}]]</title>
<title>[[${bundle.$L('分类数据')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -13,10 +13,10 @@
<div class="rb-content">
<div class="page-head">
<div class="float-left">
<div class="page-head-title">[[${bundle.L('分类数据')}]]<span class="sub-title">[[${name}]]</span></div>
<div class="page-head-title">[[${bundle.$L('分类数据')}]]<span class="sub-title">[[${name}]]</span></div>
</div>
<div class="float-right pt-1">
<button class="btn btn-secondary J_imports" type="button"><i class="icon zmdi zmdi-cloud-upload"></i> [[${bundle.L('导入')}]]</button>
<button class="btn btn-secondary J_imports" type="button"><i class="icon zmdi zmdi-cloud-upload"></i> [[${bundle.$L('导入')}]]</button>
</div>
<div class="clearfix"></div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/classifications" />
<title>[[${bundle.L('分类数据')}]]</title>
<title>[[${bundle.$L('分类数据')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -11,9 +11,9 @@
<th:block th:replace="~{/_include/nav-left-admin(active='classifications')}" />
<div class="rb-content">
<div class="page-head">
<div class="float-left"><div class="page-head-title">[[${bundle.L('分类数据')}]]</div></div>
<div class="float-left"><div class="page-head-title">[[${bundle.$L('分类数据')}]]</div></div>
<div class="float-right pt-1">
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
<div class="clearfix"></div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/meta-entity" />
<title>[[${bundle.L('实体管理')}]]</title>
<title>[[${bundle.$L('实体管理')}]]</title>
<style type="text/css">
.card.entity {
position: relative;

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/meta-entity" />
<title>[[${bundle.L('高级配置')}]]</title>
<title>[[${bundle.$L('高级配置')}]]</title>
<style type="text/css">
a#entityIcon {
display: inline-block;
@ -40,46 +40,48 @@
</div>
<div class="aside-nav collapse">
<ul class="nav">
<li><a href="base">[[${bundle.L('基本信息')}]]</a></li>
<li><a href="form-design">[[${bundle.L('表单设计')}]]</a></li>
<li><a href="fields">[[${bundle.L('字段管理')}]]</a></li>
<li class="active"><a href="advanced">[[${bundle.L('高级配置')}]]</a></li>
<li><a href="base">[[${bundle.$L('基本信息')}]]</a></li>
<li><a href="form-design">[[${bundle.$L('表单设计')}]]</a></li>
<li><a href="fields">[[${bundle.$L('字段管理')}]]</a></li>
<li class="active"><a href="advanced">[[${bundle.$L('高级配置')}]]</a></li>
</ul>
</div>
</div>
</div>
</aside>
<div class="page-head">
<div class="page-head-title">[[${bundle.L('高级配置')}]]</div>
<div class="page-head-title">[[${bundle.$L('高级配置')}]]</div>
</div>
<div class="main-content container-fluid pt-1">
<div class="card">
<div class="card-header">[[${bundle.L('删除实体')}]]</div>
<div class="card-header">[[${bundle.$L('删除实体')}]]</div>
<div class="card-body">
<p th:utext="${bundle.L('**实体删除后将无法恢复,请务必谨慎操作。** [] 删除前,必须将该实体下的记录全部清空。如果这是一个主实体,则需要先将明细实体删除。如果此实体已被其他实体 (字段) 引用,则需要先删除引用字段。')}"></p>
<p
th:utext="${bundle.$L('**实体删除后将无法恢复,请务必谨慎操作。** [] 删除前,必须将该实体下的记录全部清空。如果这是一个主实体,则需要先将明细实体删除。如果此实体已被其他实体 (字段) 引用,则需要先删除引用字段。')}"
></p>
<div>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-2">
<input class="custom-control-input J_drop-check" type="checkbox" /><span class="custom-control-label"> [[${bundle.L('我已知晓风险')}]]</span>
<input class="custom-control-input J_drop-check" type="checkbox" /><span class="custom-control-label"> [[${bundle.$L('我已知晓风险')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-2 bosskey-show">
<input class="custom-control-input J_drop-force" type="checkbox" /><span class="custom-control-label"> [[${bundle.L('强制删除')}]]</span>
<input class="custom-control-input J_drop-force" type="checkbox" /><span class="custom-control-label"> [[${bundle.$L('强制删除')}]]</span>
</label>
</div>
<div class="mb-1">
<button type="button" class="btn btn-danger J_drop-confirm" disabled="disabled"><i class="zmdi zmdi-delete icon"></i> [[${bundle.L('确定')}]]</button>
<button type="button" class="btn btn-danger J_drop-confirm" disabled="disabled"><i class="zmdi zmdi-delete icon"></i> [[${bundle.$L('确定')}]]</button>
<div class="alert alert-warning alert-icon hide col-sm-6 mb-0">
<div class="icon"><span class="zmdi zmdi-alert-triangle"></span></div>
<div class="message">[[${bundle.L('系统内置,不允许删除')}]]</div>
<div class="message">[[${bundle.$L('系统内置,不允许删除')}]]</div>
</div>
</div>
</div>
</div>
<div class="card bosskey-show">
<div class="card-header">[[${bundle.L('导出实体')}]]</div>
<div class="card-header">[[${bundle.$L('导出实体')}]]</div>
<div class="card-body">
<p class="link" th:utext="${bundle.L('将实体的元数据导出,方便与其他实例间共享。你也可以将导出文件发布到 [RB 仓库](https://github.com/getrebuild/rebuild-datas)。')}"></p>
<p class="link" th:utext="${bundle.$L('将实体的元数据导出,方便与其他实例间共享。你也可以将导出文件发布到 [RB 仓库](https://github.com/getrebuild/rebuild-datas)。')}"></p>
<div class="mb-1">
<a th:href="|../entity-export?id=${entityMetaId}|" target="_blank" class="btn btn-primary"><i class="zmdi zmdi-cloud-download icon"></i> [[${bundle.L('导出')}]]</a>
<a th:href="|../entity-export?id=${entityMetaId}|" target="_blank" class="btn btn-primary"><i class="zmdi zmdi-cloud-download icon"></i> [[${bundle.$L('导出')}]]</a>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/meta-entity" />
<title>[[${bundle.L('实体管理')}]]</title>
<title>[[${bundle.$L('实体管理')}]]</title>
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/meta-edit.css}" />
</head>
<body>
@ -22,72 +22,72 @@
</div>
<div class="aside-nav collapse">
<ul class="nav">
<li class="active"><a href="base">[[${bundle.L('基本信息')}]]</a></li>
<li><a href="form-design">[[${bundle.L('表单设计')}]]</a></li>
<li><a href="fields">[[${bundle.L('字段管理')}]]</a></li>
<li><a href="advanced">[[${bundle.L('高级配置')}]]</a></li>
<li class="active"><a href="base">[[${bundle.$L('基本信息')}]]</a></li>
<li><a href="form-design">[[${bundle.$L('表单设计')}]]</a></li>
<li><a href="fields">[[${bundle.$L('字段管理')}]]</a></li>
<li><a href="advanced">[[${bundle.$L('高级配置')}]]</a></li>
</ul>
</div>
</div>
</div>
</aside>
<div class="page-head">
<div class="page-head-title">[[${bundle.L('基本信息')}]]</div>
<div class="page-head-title">[[${bundle.$L('基本信息')}]]</div>
</div>
<div class="main-content container-fluid pt-1">
<ul th:if="${detailEntity != null}" class="nav nav-tabs nav-tabs-classic">
<li th:class="|nav-item J_tab-${mainEntity}|"><a th:href="|../${mainEntity}/base|" class="nav-link">[[${bundle.L('主实体')}]]</a></li>
<li th:class="|nav-item J_tab-${detailEntity}|"><a th:href="|../${detailEntity}/base|" class="nav-link">[[${bundle.L('明细实体')}]]</a></li>
<li th:class="|nav-item J_tab-${mainEntity}|"><a th:href="|../${mainEntity}/base|" class="nav-link">[[${bundle.$L('主实体')}]]</a></li>
<li th:class="|nav-item J_tab-${detailEntity}|"><a th:href="|../${detailEntity}/base|" class="nav-link">[[${bundle.$L('明细实体')}]]</a></li>
</ul>
<div class="card mb-0">
<div class="card-body pt-4">
<form class="simple">
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('图标')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('图标')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<a id="entityIcon" th:data-o="${icon}" title="更换图标"><i th:class="|icon zmdi zmdi-${icon}|"></i></a>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('实体名称')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('实体名称')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<input class="form-control form-control-sm" type="text" id="entityLabel" maxlength="40" th:value="${entityLabel}" th:data-o="${entityLabel}" />
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('内部标识')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('内部标识')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<input class="form-control form-control-sm" type="text" readonly id="entityName" th:value="${entityName}" />
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('名称字段')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('名称字段')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<select class="form-control form-control-sm" id="nameField" th:data-o="${nameField}"></select>
<p class="form-text mb-0">[[${bundle.L('名称字段应该清晰的体现记录本身,如客户中的客户名称')}]]</p>
<p class="form-text mb-0">[[${bundle.$L('名称字段应该清晰的体现记录本身,如客户中的客户名称')}]]</p>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('快速查询字段')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('快速查询字段')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<select class="form-control form-control-sm" id="quickFields"></select>
<p class="form-text mb-0">[[${bundle.L('用于列表、表单引用字段等处的快速查询')}]]</p>
<p class="form-text mb-0">[[${bundle.$L('用于列表、表单引用字段等处的快速查询')}]]</p>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('备注')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('备注')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<textarea class="form-control form-control-sm row2x" id="comments" th:data-o="${comments}" th:placeholder="${bundle.L('可选')}">[[${comments}]]</textarea>
<textarea class="form-control form-control-sm row2x" id="comments" th:data-o="${comments}" th:placeholder="${bundle.$L('可选')}">[[${comments}]]</textarea>
</div>
</div>
<div class="form-group row footer">
<div class="col-md-12 col-xl-6 col-lg-8 offset-xl-3 offset-lg-4">
<div class="J_action hide">
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
</div>
<div class="alert alert-warning alert-icon mb-0 hide">
<div class="icon"><span class="zmdi zmdi-alert-triangle"></span></div>
<div class="message">[[${bundle.L('系统内置,不允许修改')}]]</div>
<div class="message">[[${bundle.$L('系统内置,不允许修改')}]]</div>
</div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('添加实体')}]]</title>
<title>[[${bundle.$L('添加实体')}]]</title>
<style type="text/css">
.text-muted.desc {
max-width: 80%;
@ -13,24 +13,24 @@
<div class="main-content pt-1">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#MANUAL" data-toggle="tab">[[${bundle.L('手动')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#MANUAL" data-toggle="tab">[[${bundle.$L('手动')}]]</a></li>
<li class="nav-item">
<a class="nav-link J_imports" href="#IMPORTS" data-toggle="tab"><i class="icon zmdi zmdi-cloud-outline-alt"></i> [[${bundle.L('从 RB 仓库导入')}]]</a>
<a class="nav-link J_imports" href="#IMPORTS" data-toggle="tab"><i class="icon zmdi zmdi-cloud-outline-alt"></i> [[${bundle.$L('从 RB 仓库导入')}]]</a>
</li>
</ul>
<div class="tab-content m-0 pb-0">
<div class="tab-pane active" id="MANUAL">
<div class="form">
<div class="form-group row">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('实体名称')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('实体名称')}]]</label>
<div class="col-sm-7">
<input class="form-control form-control-sm" type="text" id="entityLabel" maxlength="40" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('备注')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('备注')}]]</label>
<div class="col-sm-7">
<textarea class="form-control form-control-sm row2x" id="comments" maxlength="100" th:placeholder="${bundle.L('可选')}"></textarea>
<textarea class="form-control form-control-sm row2x" id="comments" maxlength="100" th:placeholder="${bundle.$L('可选')}"></textarea>
</div>
</div>
<div class="form-group row pt-2">
@ -38,7 +38,7 @@
<div class="col-sm-7">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="nameField" />
<span class="custom-control-label">[[${bundle.L('添加名称字段')}]]</span>
<span class="custom-control-label">[[${bundle.$L('添加名称字段')}]]</span>
</label>
</div>
</div>
@ -48,22 +48,22 @@
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="isDetail" />
<span class="custom-control-label">
[[${bundle.L('这是一个明细实体')}]]
<i class="zmdi zmdi-help zicon" data-toggle="tooltip" th:title="${bundle.L('通过明细实体可以更好的组织业务关系。例如订单明细通常依附于订单,而非独立存在')}"></i>
[[${bundle.$L('这是一个明细实体')}]]
<i class="zmdi zmdi-help zicon" data-toggle="tooltip" th:title="${bundle.$L('通过明细实体可以更好的组织业务关系。例如订单明细通常依附于订单,而非独立存在')}"></i>
</span>
</label>
</div>
</div>
<div class="form-group row J_mainEntity hide">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('选择主实体')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('选择主实体')}]]</label>
<div class="col-sm-7">
<select class="form-control form-control-sm" id="mainEntity"></select>
</div>
</div>
<div class="form-group row footer">
<div class="col-sm-7 offset-sm-3">
<button class="btn btn-primary" type="button">[[${bundle.L('确定')}]]</button>
<button class="btn btn-link" type="button" onclick="parent.RbModal.hide()">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary" type="button">[[${bundle.$L('确定')}]]</button>
<button class="btn btn-link" type="button" onclick="parent.RbModal.hide()">[[${bundle.$L('取消')}]]</button>
</div>
</div>
</div>
@ -71,7 +71,7 @@
<div class="tab-pane" id="IMPORTS">
<div id="metaschemas"></div>
<div class="mt-2 text-right hide">
<a href="https://github.com/getrebuild/rebuild-datas/" class="link" target="_blank">[[${bundle.L('RbSubmit')}]]</a>
<a href="https://github.com/getrebuild/rebuild-datas/" class="link" target="_blank">[[${bundle.$L('RbSubmit')}]]</a>
</div>
</div>
</div>

View file

@ -4,7 +4,7 @@
<link rel="stylesheet" type="text/css" th:href="@{/assets/lib/widget/bootstrap-slider.min.css}" />
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/meta-entity#%E5%AD%97%E6%AE%B5" />
<title>[[${bundle.L('字段信息')}]]</title>
<title>[[${bundle.$L('字段信息')}]]</title>
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/meta-edit.css}" />
</head>
<body>
@ -23,46 +23,46 @@
</div>
<div class="aside-nav collapse">
<ul class="nav">
<li><a href="../base">[[${bundle.L('基本信息')}]]</a></li>
<li><a href="../form-design">[[${bundle.L('表单设计')}]]</a></li>
<li class="active"><a href="../fields">[[${bundle.L('字段管理')}]]</a></li>
<li><a href="../advanced">[[${bundle.L('高级配置')}]]</a></li>
<li><a href="../base">[[${bundle.$L('基本信息')}]]</a></li>
<li><a href="../form-design">[[${bundle.$L('表单设计')}]]</a></li>
<li class="active"><a href="../fields">[[${bundle.$L('字段管理')}]]</a></li>
<li><a href="../advanced">[[${bundle.$L('高级配置')}]]</a></li>
</ul>
</div>
</div>
</div>
</aside>
<div class="page-head">
<div class="page-head-title">[[${bundle.L('字段信息')}]]</div>
<div class="page-head-title">[[${bundle.$L('字段信息')}]]</div>
</div>
<div class="main-content container-fluid pt-1">
<ul th:if="${fieldType == 'REFERENCE'} and ${!fieldBuildin}" class="nav nav-tabs nav-tabs-classic">
<li class="nav-item"><a th:href="${fieldName}" class="nav-link active">[[${bundle.L('字段信息')}]]</a></li>
<li class="nav-item"><a th:href="|${fieldName}/auto-fillin|" class="nav-link">[[${bundle.L('表单回填')}]]</a></li>
<li class="nav-item"><a th:href="${fieldName}" class="nav-link active">[[${bundle.$L('字段信息')}]]</a></li>
<li class="nav-item"><a th:href="|${fieldName}/auto-fillin|" class="nav-link">[[${bundle.$L('表单回填')}]]</a></li>
</ul>
<div class="card mb-0">
<div class="card-body pt-4">
<form class="simple">
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('字段名称')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('字段名称')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<input class="form-control form-control-sm" type="text" id="fieldLabel" maxlength="40" th:value="${fieldLabel}" th:data-o="${fieldLabel}" />
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('内部标识')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('内部标识')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<input class="form-control form-control-sm" type="text" readonly th:value="${fieldName}" />
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('类型')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('类型')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<input class="form-control form-control-sm" type="text" readonly th:value="${fieldTypeLabel}" />
</div>
</div>
<div th:if="${fieldType == 'DECIMAL'}" class="form-group row J_for-DECIMAL">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('小数位长度')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('小数位长度')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<select class="form-control form-control-sm" id="decimalFormat">
<option value="##,##0.0">1</option>
@ -76,7 +76,7 @@
</div>
<div th:if="${fieldType == 'REFERENCE' or fieldType == 'N2NREFERENCE'}" class="J_for-REFERENCE J_for-N2NREFERENCE">
<div class="form-group row pt-1 pb-1">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('引用实体')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('引用实体')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<div class="form-control-plaintext">
<a class="J_referenceEntity" th:data-refentity="${fieldRefentity}" th:href="|../../${fieldRefentity}/base|">[[${fieldRefentityLabel}]] ([[${fieldRefentity}]])</a>
@ -84,15 +84,15 @@
</div>
</div>
<div class="form-group row pt-0 pb-2 J_for-REFERENCE-filter">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('附加过滤条件')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('附加过滤条件')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<a class="btn btn-sm btn-link pl-0 text-left down-2" id="referenceDataFilter">[[${bundle.L('点击设置')}]]</a>
<p class="form-text mb-0 mt-0">[[${bundle.L('符合过滤条件的数据才能被选择或使用')}]]</p>
<a class="btn btn-sm btn-link pl-0 text-left down-2" id="referenceDataFilter">[[${bundle.$L('点击设置')}]]</a>
<p class="form-text mb-0 mt-0">[[${bundle.$L('符合过滤条件的数据才能被选择或使用')}]]</p>
</div>
</div>
</div>
<div th:if="${fieldType == 'DATE'}" class="form-group row J_for-DATE">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('格式')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('格式')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<select class="form-control form-control-sm" id="dateFormat">
<option value="yyyy">YYYY</option>
@ -102,7 +102,7 @@
</div>
</div>
<div th:if="${fieldType == 'DATETIME'}" class="form-group row J_for-DATETIME">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('格式')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('格式')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<select class="form-control form-control-sm" id="datetimeFormat">
<option value="yyyy-MM-dd">YYYY-MM-DD</option>
@ -112,7 +112,7 @@
</div>
</div>
<div th:if="${fieldType == 'IMAGE' or fieldType == 'FILE'}" class="form-group row J_for-IMAGE J_for-FILE">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('允许上传数量')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('允许上传数量')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8 pt-1 pb-1">
<input
class="bslider form-control"
@ -124,52 +124,52 @@
data-slider-min="0"
data-slider-tooltip="show"
/>
<div class="form-text J_minmax" th:utext="${bundle.L('最少上传 **0** 个,最多上传 **9** 个')}"></div>
<div class="form-text J_minmax" th:utext="${bundle.$L('最少上传 **0** 个,最多上传 **9** 个')}"></div>
</div>
</div>
<div th:if="${fieldType == 'PICKLIST' or fieldType == 'MULTISELECT'}" class="form-group row J_for-PICKLIST J_for-MULTISELECT">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('选项列表')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('选项列表')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<div th:class="|rb-scroller sortable-box autoh dt-${fieldType}|">
<ol class="dd-list" id="picklist-items">
<li class="no-item">[[${bundle.L('加载中')}]]</li>
<li class="no-item">[[${bundle.$L('加载中')}]]</li>
</ol>
</div>
<button type="button" class="btn btn-secondary btn-sm J_picklist-edit"><i class="zmdi zmdi-settings"></i> [[${bundle.L('配置选项')}]]</button>
<button type="button" class="btn btn-secondary btn-sm J_picklist-edit"><i class="zmdi zmdi-settings"></i> [[${bundle.$L('配置选项')}]]</button>
</div>
</div>
<div th:if="${fieldType == 'SERIES'}" class="J_for-SERIES">
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('编号规则')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('编号规则')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<input class="form-control form-control-sm" type="text" id="seriesFormat" value="{YYYYMMDD}-{0000}" />
<p class="form-text mb-0 help" th:utext="${bundle.L('支持内置变量,内置变量包括 `{YYYYMMDD}` (年月日) `{HHIISS}` (时分秒) `{0000}` (自增数字)')}"></p>
<p class="form-text mb-0 help" th:utext="${bundle.$L('支持内置变量,内置变量包括 `{YYYYMMDD}` (年月日) `{HHIISS}` (时分秒) `{0000}` (自增数字)')}"></p>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('自增数字归零')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('自增数字归零')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<select class="form-control form-control-sm" id="seriesZero">
<option value="N" selected="selected">[[${bundle.L('不归零')}]]</option>
<option value="D">[[${bundle.L('每天归零')}]]</option>
<option value="M">[[${bundle.L('每月归零')}]]</option>
<option value="Y">[[${bundle.L('每年归零')}]]</option>
<option value="N" selected="selected">[[${bundle.$L('不归零')}]]</option>
<option value="D">[[${bundle.$L('每天归零')}]]</option>
<option value="M">[[${bundle.$L('每月归零')}]]</option>
<option value="Y">[[${bundle.$L('每年归零')}]]</option>
</select>
</div>
</div>
</div>
<th:block th:if="${fieldType == 'CLASSIFICATION'}">
<div class="form-group row J_for-CLASSIFICATION pt-1 pb-1">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('分类数据')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('分类数据')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<div class="form-control-plaintext" id="useClassification">
<a th:href="@{/admin/metadata/classifications}">[[${bundle.L('加载中')}]]</a>
<a th:href="@{/admin/metadata/classifications}">[[${bundle.$L('加载中')}]]</a>
<i class="zmdi zmdi-layers fs-14 ml-1 text-muted"></i>
</div>
</div>
</div>
<div class="form-group row J_for-CLASSIFICATION pt-1 pb-1">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('使用分类级别')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('使用分类级别')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<select class="form-control form-control-sm" id="classificationLevel">
<option value="-1">[[${bundle.$L('默认')}]]</option>
@ -182,45 +182,45 @@
</div>
</th:block>
<div th:if="${fieldType == 'DECIMAL' or fieldType == 'NUMBER'}" class="form-group row J_for-DECIMAL J_for-NUMBER">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right pt-1">[[${bundle.L('是否允许负数')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right pt-1">[[${bundle.$L('是否允许负数')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="notNegative" /><span class="custom-control-label"> [[${bundle.L('不允许')}]]</span>
<input class="custom-control-input" type="checkbox" id="notNegative" /><span class="custom-control-label"> [[${bundle.$L('不允许')}]]</span>
</label>
</div>
</div>
<div th:if="${fieldType == 'STATE'}" class="form-group row J_for-STATE pt-0 pb-0">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('状态类 (Enum)')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('状态类 (Enum)')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<div class="form-control-plaintext code text-danger" id="stateClass"></div>
</div>
</div>
<div th:if="${fieldType == 'BARCODE'}" class="J_for-BARCODE">
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('显示样式')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('显示样式')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8 pt-1">
<label class="custom-control custom-control-sm custom-radio custom-control-inline mb-0">
<input class="custom-control-input" type="radio" name="barcodeType" value="QRCODE" checked /><span class="custom-control-label"> [[${bundle.L('二维码')}]]</span>
<input class="custom-control-input" type="radio" name="barcodeType" value="QRCODE" checked /><span class="custom-control-label"> [[${bundle.$L('二维码')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-radio custom-control-inline mb-0">
<input class="custom-control-input" type="radio" name="barcodeType" value="BARCODE" /><span class="custom-control-label"> [[${bundle.L('条形码')}]] (CODE128)</span>
<input class="custom-control-input" type="radio" name="barcodeType" value="BARCODE" /><span class="custom-control-label"> [[${bundle.$L('条形码')}]] (CODE128)</span>
</label>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('编码规则')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('编码规则')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<input class="form-control form-control-sm" type="text" id="barcodeFormat" />
<p class="form-text mb-0 help" th:utext="${bundle.L('可使用固定值、内置变量或他们的组合。内置变量如 `{ID}` (其中 ID 为字段内部标识)')}"></p>
<p class="form-text mb-0 help" th:utext="${bundle.$L('可使用固定值、内置变量或他们的组合。内置变量如 `{ID}` (其中 ID 为字段内部标识)')}"></p>
</div>
</div>
</div>
<div th:if="${!fieldBuildin}" class="form-group row" id="defaultValue">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('默认值')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('默认值')}]]</label>
<div th:switch="${fieldType}" class="col-md-12 col-xl-6 col-lg-8">
<select th:case="'BOOL'" class="form-control form-control-sm J_defaultValue" th:data-o="${fieldDefaultValue}">
<option value="T">[[${bundle.L('是')}]]</option>
<option value="F" selected>[[${bundle.L('否')}]]</option>
<option value="T">[[${bundle.$L('是')}]]</option>
<option value="F" selected>[[${bundle.$L('否')}]]</option>
</select>
<div th:case="*" class="input-group">
<input
@ -230,69 +230,72 @@
class="form-control form-control-sm J_defaultValue"
th:data-o="${fieldDefaultValue}"
th:value="${fieldDefaultValue}"
th:placeholder="${bundle.L('无')}"
th:placeholder="${bundle.$L('无')}"
/>
<div class="input-group-append J_defaultValue-append"></div>
<a class="J_defaultValue-clear hide" th:title="${bundle.L('清空')}"><i class="icon zmdi zmdi-close"></i></a>
<a class="J_defaultValue-clear hide" th:title="${bundle.$L('清空')}"><i class="icon zmdi zmdi-close"></i></a>
</div>
</div>
</div>
<div th:if="${fieldType == 'DECIMAL' or fieldType == 'NUMBER'}" class="form-group row J_for-DECIMAL J_for-NUMBER">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('表单计算公式')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('表单计算公式')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<input type="hidden" class="form-control" id="calcFormula" />
<div class="form-control-plaintext formula" id="calcFormula2" th:_title="${bundle.L('无')}">[[${calcFormula ?: calcFormula}]]</div>
<p class="form-text" th:utext="${bundle.L('本公式仅做前端计算,如公式中所用字段未布局/未显示,则无法进行计算。你也可以通过 [触发器 (数据转写)](/admin/robot/triggers) 实现更强大的计算规则')}"></p>
<div class="form-control-plaintext formula" id="calcFormula2" th:_title="${bundle.$L('无')}">[[${calcFormula ?: calcFormula}]]</div>
<p
class="form-text"
th:utext="${bundle.$L('本公式仅做前端计算,如公式中所用字段未布局/未显示,则无法进行计算。你也可以通过 [触发器 (数据转写)](/admin/robot/triggers) 实现更强大的计算规则')}"
></p>
</div>
</div>
<div th:if="${fieldType == 'NTEXT'}" class="form-group row J_for-NTEXT">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right pt-1">[[${bundle.L('使用富文本编辑器')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right pt-1">[[${bundle.$L('使用富文本编辑器')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="useMdedit" /><span class="custom-control-label"> [[${bundle.L('是')}]]</span>
<input class="custom-control-input" type="checkbox" id="useMdedit" /><span class="custom-control-label"> [[${bundle.$L('是')}]]</span>
</label>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('备注')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('备注')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<textarea class="form-control form-control-sm row2x" id="comments" th:data-o="${fieldComments}" th:placeholder="${bundle.L('可选')}">[[${fieldComments}]]</textarea>
<textarea class="form-control form-control-sm row2x" id="comments" th:data-o="${fieldComments}" th:placeholder="${bundle.$L('可选')}">[[${fieldComments}]]</textarea>
</div>
</div>
<div class="form-group row J_fieldAttrs">
<div class="col-md-12 col-xl-6 col-lg-8 offset-xl-3 offset-lg-4">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="fieldNullable" th:data-o="${fieldNullable}" />
<span class="custom-control-label"> [[${bundle.L('允许为空')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('允许为空')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="fieldCreatable" th:data-o="${fieldCreatable}" />
<span class="custom-control-label"> [[${bundle.L('允许创建')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('允许创建')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="fieldUpdatable" th:data-o="${fieldUpdatable}" />
<span class="custom-control-label"> [[${bundle.L('允许编辑')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('允许编辑')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0 hide">
<input class="custom-control-input" type="checkbox" id="fieldRepeatable" th:data-o="${fieldRepeatable}" />
<span class="custom-control-label">[[${bundle.L('允许重复')}]]</span>
<span class="custom-control-label">[[${bundle.$L('允许重复')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0 bosskey-show">
<input class="custom-control-input" type="checkbox" id="fieldQueryable" th:data-o="${fieldQueryable}" />
<span class="custom-control-label"> [[${bundle.L('允许使用')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('允许使用')}]]</span>
</label>
</div>
</div>
<div class="form-group row footer">
<div class="col-md-12 col-xl-6 col-lg-8 offset-xl-3 offset-lg-4">
<div th:if="${!fieldBuildin}" class="J_action">
<button class="btn btn-primary btn-space J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-danger btn-outline btn-space J_del" type="button"><i class="zmdi zmdi-delete icon"></i> [[${bundle.L('删除')}]]</button>
<button th:if="${fieldType == 'SERIES'}" class="btn btn-warning btn-outline btn-space J_series-reindex" type="button">[[${bundle.L('补充编号')}]]</button>
<button class="btn btn-primary btn-space J_save" type="button">[[${bundle.$L('保存')}]]</button>
<button class="btn btn-danger btn-outline btn-space J_del" type="button"><i class="zmdi zmdi-delete icon"></i> [[${bundle.$L('删除')}]]</button>
<button th:if="${fieldType == 'SERIES'}" class="btn btn-warning btn-outline btn-space J_series-reindex" type="button">[[${bundle.$L('补充编号')}]]</button>
</div>
<div th:if="${fieldBuildin}" class="alert alert-warning alert-icon mb-0">
<div class="icon"><span class="zmdi zmdi-alert-triangle"></span></div>
<div class="message">[[${bundle.L('系统内置,不允许修改')}]]</div>
<div class="message">[[${bundle.$L('系统内置,不允许修改')}]]</div>
</div>
</div>
</div>

View file

@ -2,69 +2,69 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('添加字段')}]]</title>
<title>[[${bundle.$L('添加字段')}]]</title>
</head>
<body class="dialog">
<div class="main-content">
<form>
<div class="form-group row">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('字段名称')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('字段名称')}]]</label>
<div class="col-sm-7">
<input class="form-control form-control-sm" type="text" id="fieldLabel" maxlength="40" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('字段类型')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('字段类型')}]]</label>
<div class="col-sm-7">
<select class="form-control form-control-sm" id="type">
<option value="TEXT">[[${bundle.L('文本')}]]</option>
<option value="NTEXT">[[${bundle.L('多行文本')}]]</option>
<option value="PHONE">[[${bundle.L('电话')}]]</option>
<option value="EMAIL">[[${bundle.L('邮箱')}]]</option>
<option value="URL">[[${bundle.L('链接')}]]</option>
<option value="NUMBER">[[${bundle.L('整数')}]]</option>
<option value="DECIMAL">[[${bundle.L('货币')}]]</option>
<option value="DATE">[[${bundle.L('日期')}]]</option>
<option value="DATETIME">[[${bundle.L('日期时间')}]]</option>
<option value="PICKLIST">[[${bundle.L('选项')}]]</option>
<option value="CLASSIFICATION">[[${bundle.L('分类')}]]</option>
<option value="MULTISELECT">[[${bundle.L('多选')}]]</option>
<option value="REFERENCE">[[${bundle.L('引用')}]]</option>
<option value="N2NREFERENCE">[[${bundle.L('多引用')}]]</option>
<option value="FILE">[[${bundle.L('文件')}]]</option>
<option value="IMAGE">[[${bundle.L('图片')}]]</option>
<option value="AVATAR">[[${bundle.L('头像')}]]</option>
<option value="SERIES">[[${bundle.L('自动编号')}]]</option>
<option value="BARCODE">[[${bundle.L('二维码')}]]</option>
<option value="BOOL">[[${bundle.L('布尔')}]]</option>
<optgroup th:label="${bundle.L('保留类型')}" class="bosskey-show">
<option value="STATE">[[${bundle.L('状态')}]]</option>
<option value="TEXT">[[${bundle.$L('文本')}]]</option>
<option value="NTEXT">[[${bundle.$L('多行文本')}]]</option>
<option value="PHONE">[[${bundle.$L('电话')}]]</option>
<option value="EMAIL">[[${bundle.$L('邮箱')}]]</option>
<option value="URL">[[${bundle.$L('链接')}]]</option>
<option value="NUMBER">[[${bundle.$L('整数')}]]</option>
<option value="DECIMAL">[[${bundle.$L('货币')}]]</option>
<option value="DATE">[[${bundle.$L('日期')}]]</option>
<option value="DATETIME">[[${bundle.$L('日期时间')}]]</option>
<option value="PICKLIST">[[${bundle.$L('选项')}]]</option>
<option value="CLASSIFICATION">[[${bundle.$L('分类')}]]</option>
<option value="MULTISELECT">[[${bundle.$L('多选')}]]</option>
<option value="REFERENCE">[[${bundle.$L('引用')}]]</option>
<option value="N2NREFERENCE">[[${bundle.$L('多引用')}]]</option>
<option value="FILE">[[${bundle.$L('文件')}]]</option>
<option value="IMAGE">[[${bundle.$L('图片')}]]</option>
<option value="AVATAR">[[${bundle.$L('头像')}]]</option>
<option value="SERIES">[[${bundle.$L('自动编号')}]]</option>
<option value="BARCODE">[[${bundle.$L('二维码')}]]</option>
<option value="BOOL">[[${bundle.$L('布尔')}]]</option>
<optgroup th:label="${bundle.$L('保留类型')}" class="bosskey-show">
<option value="STATE">[[${bundle.$L('状态')}]]</option>
</optgroup>
</select>
</div>
</div>
<div class="form-group row hide J_dt-REFERENCE J_dt-N2NREFERENCE">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('选择引用实体')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('选择引用实体')}]]</label>
<div class="col-sm-7">
<select class="form-control form-control-sm" id="refEntity"></select>
</div>
</div>
<div class="form-group row hide J_dt-CLASSIFICATION">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('选择分类数据')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('选择分类数据')}]]</label>
<div class="col-sm-7">
<select class="form-control form-control-sm" id="refClassification"></select>
</div>
</div>
<div class="form-group row hide J_dt-STATE">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('状态类 (Enum)')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('状态类 (Enum)')}]]</label>
<div class="col-sm-7">
<input class="form-control form-control-sm" type="text" id="stateClass" placeholder="com.rebuild.core.support.state.HowtoState" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.L('备注')}]]</label>
<label class="col-sm-3 col-form-label text-sm-right">[[${bundle.$L('备注')}]]</label>
<div class="col-sm-7">
<textarea class="form-control form-control-sm row2x" id="comments" maxlength="100" th:placeholder="${bundle.L('可选')}"></textarea>
<textarea class="form-control form-control-sm row2x" id="comments" maxlength="100" th:placeholder="${bundle.$L('可选')}"></textarea>
</div>
</div>
<div class="form-group row pb-1">
@ -72,14 +72,14 @@
<div class="col-sm-7">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="saveAndNew" />
<span class="custom-control-label">[[${bundle.L('继续添加下一个')}]]</span>
<span class="custom-control-label">[[${bundle.$L('继续添加下一个')}]]</span>
</label>
</div>
</div>
<div class="form-group row footer">
<div class="col-sm-7 offset-sm-3">
<button class="btn btn-primary" type="button">[[${bundle.L('确定')}]]</button>
<button class="btn btn-link" type="button" onclick="parent.RbModal.hide()">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary" type="button">[[${bundle.$L('确定')}]]</button>
<button class="btn btn-link" type="button" onclick="parent.RbModal.hide()">[[${bundle.$L('取消')}]]</button>
</div>
</div>
</form>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/meta-entity#%E5%AD%97%E6%AE%B5" />
<title>[[${bundle.L('字段管理')}]]</title>
<title>[[${bundle.$L('字段管理')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-aside rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -22,10 +22,10 @@
</div>
<div class="aside-nav collapse">
<ul class="nav">
<li><a href="base">[[${bundle.L('基本信息')}]]</a></li>
<li><a href="form-design">[[${bundle.L('表单设计')}]]</a></li>
<li class="active"><a href="fields">[[${bundle.L('字段管理')}]]</a></li>
<li><a href="advanced">[[${bundle.L('高级配置')}]]</a></li>
<li><a href="base">[[${bundle.$L('基本信息')}]]</a></li>
<li><a href="form-design">[[${bundle.$L('表单设计')}]]</a></li>
<li class="active"><a href="fields">[[${bundle.$L('字段管理')}]]</a></li>
<li><a href="advanced">[[${bundle.$L('高级配置')}]]</a></li>
</ul>
</div>
</div>
@ -39,7 +39,7 @@
<div class="col-sm-6">
<div class="dataTables_filter">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -48,7 +48,7 @@
</div>
<div class="col-sm-6">
<div class="dataTables_oper">
<button class="btn btn-primary btn-space J_new-field"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary btn-space J_new-field"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
</div>
</div>
@ -58,10 +58,10 @@
<table class="table table-hover table-striped" id="dataList">
<thead>
<tr>
<th width="25%" data-filed="fieldLabel">[[${bundle.L('字段名称')}]]</th>
<th width="16%" data-field="fieldName">[[${bundle.L('内部标识')}]]</th>
<th width="16%" data-field="displayType">[[${bundle.L('类型')}]]</th>
<th data-field="comments">[[${bundle.L('备注')}]]</th>
<th width="25%" data-filed="fieldLabel">[[${bundle.$L('字段名称')}]]</th>
<th width="16%" data-field="fieldName">[[${bundle.$L('内部标识')}]]</th>
<th width="16%" data-field="displayType">[[${bundle.$L('类型')}]]</th>
<th data-field="comments">[[${bundle.$L('备注')}]]</th>
<th width="50"></th>
</tr>
</thead>

View file

@ -4,7 +4,7 @@
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/meta-entity#%E5%B8%83%E5%B1%80" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/form-design.css}" />
<title>[[${bundle.L('表单设计')}]]</title>
<title>[[${bundle.$L('表单设计')}]]</title>
</head>
<body class="open-right-sidebar">
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-aside rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -23,10 +23,10 @@
</div>
<div class="aside-nav collapse">
<ul class="nav">
<li><a href="base">[[${bundle.L('基本信息')}]]</a></li>
<li class="active"><a href="form-design">[[${bundle.L('表单设计')}]]</a></li>
<li><a href="fields">[[${bundle.L('字段管理')}]]</a></li>
<li><a href="advanced">[[${bundle.L('高级配置')}]]</a></li>
<li><a href="base">[[${bundle.$L('基本信息')}]]</a></li>
<li class="active"><a href="form-design">[[${bundle.$L('表单设计')}]]</a></li>
<li><a href="fields">[[${bundle.$L('字段管理')}]]</a></li>
<li><a href="advanced">[[${bundle.$L('高级配置')}]]</a></li>
</ul>
</div>
</div>
@ -36,14 +36,14 @@
<div class="rb-content">
<div class="tab-container">
<ul class="nav nav-tabs bg-transparent">
<li class="nav-item"><a class="nav-link active" href="#FIELDLIST" data-toggle="tab">[[${bundle.L('字段列表')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="#FIELDNEW" data-toggle="tab">[[${bundle.L('添加字段')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#FIELDLIST" data-toggle="tab">[[${bundle.$L('字段列表')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="#FIELDNEW" data-toggle="tab">[[${bundle.$L('添加字段')}]]</a></li>
</ul>
<div class="tab-content bg-transparent p-0">
<div class="tab-pane active" id="FIELDLIST">
<div class="rb-scroller">
<!-- FIELDS HERE -->
<div class="field-list dd-list" th:_title="${bundle.L('全部字段已布局')}"></div>
<div class="field-list dd-list" th:_title="${bundle.$L('全部字段已布局')}"></div>
</div>
</div>
<div class="tab-pane" id="FIELDNEW">
@ -59,30 +59,30 @@
<div class="main-content container-fluid">
<div>
<div class="float-right">
<a class="btn btn-link J_add-divider">+ [[${bundle.L('添加分栏')}]]</a>
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<a class="btn btn-link J_add-divider">+ [[${bundle.$L('添加分栏')}]]</a>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
</div>
<div class="tab-container">
<ul class="nav nav-tabs nav-tabs-classic">
<li class="nav-item"><a class="nav-link active" href="#form-design" data-toggle="tab">[[${bundle.L('表单/视图布局')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#form-design" data-toggle="tab">[[${bundle.$L('表单/视图布局')}]]</a></li>
<li class="nav-item">
<a class="nav-link" href="#adv-control" data-toggle="tab">[[${bundle.L('高级控制')}]] <sup class="rbv"></sup></a>
<a class="nav-link" href="#adv-control" data-toggle="tab">[[${bundle.$L('高级控制')}]] <sup class="rbv"></sup></a>
</li>
</ul>
<div class="tab-content mb-5">
<div class="tab-pane active" id="form-design">
<!-- LAYOUT HERE -->
<div class="form-preview view-preview dd-list" th:_title="${bundle.L('点击右侧字段添加到布局')}"></div>
<div class="form-preview view-preview dd-list" th:_title="${bundle.$L('点击右侧字段添加到布局')}"></div>
<div class="clearfix"></div>
</div>
<div class="tab-pane" id="adv-control">
<table th:if="${commercial > 0}" class="table table-hover table-p">
<thead>
<tr>
<th>[[${bundle.L('字段')}]]</th>
<th>[[${bundle.L('显示')}]]</th>
<th>[[${bundle.$L('字段')}]]</th>
<th>[[${bundle.$L('显示')}]]</th>
<th>
<span class="d-inline-block">[[${bundle.L('必填')}]] <i class="zmdi zmdi-help zicon up-2" data-toggle="tooltip" th:title="${bundle.L('本选项仅针对表单有效')}"></i></span>
<span class="d-inline-block">[[${bundle.$L('必填')}]] <i class="zmdi zmdi-help zicon up-2" data-toggle="tooltip" th:title="${bundle.$L('本选项仅针对表单有效')}"></i></span>
</th>
</tr>
</thead>
@ -92,21 +92,21 @@
<td>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline">
<input class="custom-control-input" type="checkbox" name="displayOnCreate" checked />
<span class="custom-control-label">[[${bundle.L('新建时')}]]</span>
<span class="custom-control-label">[[${bundle.$L('新建时')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline">
<input class="custom-control-input" type="checkbox" name="displayOnUpdate" checked />
<span class="custom-control-label">[[${bundle.L('编辑时')}]]</span>
<span class="custom-control-label">[[${bundle.$L('编辑时')}]]</span>
</label>
</td>
<td>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline">
<input class="custom-control-input" type="checkbox" name="requiredOnCreate" />
<span class="custom-control-label">[[${bundle.L('新建时')}]]</span>
<span class="custom-control-label">[[${bundle.$L('新建时')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline">
<input class="custom-control-input" type="checkbox" name="requiredOnUpdate" />
<span class="custom-control-label">[[${bundle.L('编辑时')}]]</span>
<span class="custom-control-label">[[${bundle.$L('编辑时')}]]</span>
</label>
</td>
</tr>
@ -115,7 +115,7 @@
</div>
</div>
</div>
<p class="protips">[[${bundle.L('新建/编辑页暂不支持双列布局')}]]</p>
<p class="protips">[[${bundle.$L('新建/编辑页暂不支持双列布局')}]]</p>
</div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('选项列表')}]]</title>
<title>[[${bundle.$L('选项列表')}]]</title>
<style type="text/css">
.unset-list .dd-handle {
font-style: italic;
@ -23,7 +23,7 @@
<div class="main-content">
<div class="row m-0">
<div class="col-6">
<h5 class="sortable-box-title">[[${bundle.L('选项列表')}]]</h5>
<h5 class="sortable-box-title">[[${bundle.$L('选项列表')}]]</h5>
<div class="sortable-box rb-scroller">
<ol class="dd-list J_config"></ol>
</div>
@ -31,21 +31,21 @@
<div class="input-group input-group-sm">
<input class="form-control J_text" type="text" maxlength="50" />
<div class="input-group-append">
<button class="btn btn-secondary J_confirm" type="submit" style="min-width: 0">[[${bundle.L('添加')}]]</button>
<button class="btn btn-secondary J_confirm" type="submit" style="min-width: 0">[[${bundle.$L('添加')}]]</button>
</div>
</div>
</form>
</div>
<div class="col-6">
<h5 class="sortable-box-title">[[${bundle.L('已禁用')}]]</h5>
<h5 class="sortable-box-title">[[${bundle.$L('已禁用')}]]</h5>
<div class="sortable-box rb-scroller">
<ol class="dd-list unset-list"></ol>
</div>
</div>
</div>
<div class="dialog-footer">
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-secondary" onclick="parent.RbModal.hide()" type="button">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
<button class="btn btn-secondary" onclick="parent.RbModal.hide()" type="button">[[${bundle.$L('取消')}]]</button>
</div>
</div>
<th:block th:replace="~{/_include/footer}" />

View file

@ -2,20 +2,20 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('视图配置')}]]</title>
<title>[[${bundle.$L('视图配置')}]]</title>
</head>
<body class="dialog">
<div class="main-content">
<div class="row m-0">
<div class="col-6 sortable-swap">
<h5 class="sortable-box-title">[[${bundle.L('已显示')}]]</h5>
<h5 class="sortable-box-title">[[${bundle.$L('已显示')}]]</h5>
<div class="sortable-box rb-scroller">
<ol class="dd-list J_config"></ol>
</div>
<i class="zmdi zmdi-swap"></i>
</div>
<div class="col-6">
<h5 class="sortable-box-title">[[${bundle.L('未显示')}]]</h5>
<h5 class="sortable-box-title">[[${bundle.$L('未显示')}]]</h5>
<div class="sortable-box rb-scroller">
<ol class="dd-list unset-list"></ol>
</div>
@ -25,15 +25,15 @@
<span th:if="${param.type[0] == 'TAB'}" class="float-left pt-1">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline">
<input class="custom-control-input" type="checkbox" id="relatedAutoExpand" />
<span class="custom-control-label">[[${bundle.L('自动展开记录')}]]</span>
<span class="custom-control-label">[[${bundle.$L('自动展开记录')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline ml-2">
<input class="custom-control-input" type="checkbox" id="relatedAutoHide" />
<span class="custom-control-label">[[${bundle.L('隐藏无记录项')}]]</span>
<span class="custom-control-label">[[${bundle.$L('隐藏无记录项')}]]</span>
</label>
</span>
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-secondary" onclick="parent.RbModal.hide()" type="button">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
<button class="btn btn-secondary" onclick="parent.RbModal.hide()" type="button">[[${bundle.$L('取消')}]]</button>
</div>
</div>
<th:block th:replace="~{/_include/footer}" />

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/projects" />
<title>[[${bundle.L('项目管理')}]]</title>
<title>[[${bundle.$L('项目管理')}]]</title>
<style type="text/css">
#members {
min-height: 37px;
@ -40,7 +40,7 @@
<div class="rb-content">
<div class="page-head">
<div class="float-left">
<div class="page-head-title">[[${bundle.L('项目')}]]<span class="sub-title">[[${projectName}]]</span></div>
<div class="page-head-title">[[${bundle.$L('项目')}]]<span class="sub-title">[[${projectName}]]</span></div>
</div>
<div class="float-right pt-1"></div>
<div class="clearfix"></div>
@ -50,44 +50,44 @@
<div class="card-body">
<form class="simple">
<div class="form-group row">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('项目范围')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('项目范围')}]]</label>
<div class="col-12 col-lg-9 pt-1">
<label class="custom-control custom-control-sm custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" name="scope" id="scope_1" value="1" checked />
<span class="custom-control-label">[[${bundle.L('公开 (所有人可见,仅成员可编辑)')}]]</span>
<span class="custom-control-label">[[${bundle.$L('公开 (所有人可见,仅成员可编辑)')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" name="scope" id="scope_2" value="2" />
<span class="custom-control-label">[[${bundle.L('私有 (仅成员可见和编辑)')}]]</span>
<span class="custom-control-label">[[${bundle.$L('私有 (仅成员可见和编辑)')}]]</span>
</label>
</div>
</div>
<div class="form-group row pt-0">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('负责人')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('负责人')}]]</label>
<div class="col-12 col-lg-9">
<div id="principal"></div>
<p class="form-text">[[${bundle.L('负责人拥有对任务的管理权限')}]]</p>
<p class="form-text">[[${bundle.$L('负责人拥有对任务的管理权限')}]]</p>
</div>
</div>
<div class="form-group row">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('项目成员')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('项目成员')}]]</label>
<div class="col-12 col-lg-9">
<div id="members"></div>
</div>
</div>
<div class="form-group row">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('任务面板')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('任务面板')}]]</label>
<div class="col-12 col-lg-9">
<div class="plan-boxes card-list mb-2" id="plans">
<p class="text-muted m-3">[[${bundle.L('加载中')}]]</p>
<p class="text-muted m-3">[[${bundle.$L('加载中')}]]</p>
</div>
<button class="btn btn-secondary btn-sm J_add-plan" type="button"><i class="zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-secondary btn-sm J_add-plan" type="button"><i class="zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
</div>
<div class="form-group row footer">
<label class="col-12 col-lg-3 col-form-label text-lg-right"> </label>
<div class="col-12 col-lg-9">
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
</div>
</div>
</form>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/projects" />
<title>[[${bundle.L('项目管理')}]]</title>
<title>[[${bundle.$L('项目管理')}]]</title>
<style type="text/css">
.project-icon {
display: inline-block;
@ -39,9 +39,9 @@
<th:block th:replace="~{/_include/nav-left-admin(active='projects')}" />
<div class="rb-content">
<div class="page-head">
<div class="float-left"><div class="page-head-title">[[${bundle.L('项目管理')}]]</div></div>
<div class="float-left"><div class="page-head-title">[[${bundle.$L('项目管理')}]]</div></div>
<div class="float-right pt-1">
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
<div class="clearfix"></div>
</div>

View file

@ -4,7 +4,7 @@
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/approval" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/approvals.css}" />
<title>[[${bundle.L('审批流程')}]]</title>
<title>[[${bundle.$L('审批流程')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -13,14 +13,14 @@
<div class="rb-content">
<div class="page-head">
<div class="float-left">
<div class="page-head-title">[[${bundle.L('审批流程')}]]<span class="sub-title">[[${name}]]</span></div>
<div class="page-head-title">[[${bundle.$L('审批流程')}]]<span class="sub-title">[[${name}]]</span></div>
</div>
<div class="float-right pt-1">
<div class="btn-group">
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
<button class="btn btn-primary dropdown-toggle auto" type="button" data-toggle="dropdown"><span class="icon zmdi zmdi-chevron-down"></span></button>
<div class="dropdown-menu dropdown-menu-primary dropdown-menu-right">
<a class="dropdown-item J_copy"><i class="icon zmdi zmdi-copy"></i> [[${bundle.L('另存为')}]]</a>
<a class="dropdown-item J_copy"><i class="icon zmdi zmdi-copy"></i> [[${bundle.$L('另存为')}]]</a>
</div>
</div>
</div>
@ -32,7 +32,7 @@
<div class="wizard wizard-ux rounded">
<div class="steps-container">
<ul class="steps">
<li data-step="2" class="active">[[${bundle.L('流程设计')}]] <i class="chevron"></i></li>
<li data-step="2" class="active">[[${bundle.$L('流程设计')}]] <i class="chevron"></i></li>
</ul>
<div class="step-content p-0">
<div data-step="2" class="step-pane active">

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/approval" />
<title>[[${bundle.L('审批流程配置')}]]</title>
<title>[[${bundle.$L('审批流程配置')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header rb-aside" th:classappend="${sideCollapsedClazz}">
@ -13,21 +13,21 @@
<aside class="page-aside">
<div class="rb-scroller">
<div class="aside-tree">
<h5 class="config-title">[[${bundle.L('应用实体')}]]</h5>
<h5 class="config-title">[[${bundle.$L('应用实体')}]]</h5>
<ul class="list-unstyled">
<li class="active"><a>[[${bundle.L('全部实体')}]]</a></li>
<li class="active"><a>[[${bundle.$L('全部实体')}]]</a></li>
</ul>
</div>
</div>
</aside>
<div class="page-head">
<div class="float-left"><div class="page-head-title">[[${bundle.L('审批流程')}]]</div></div>
<div class="float-left"><div class="page-head-title">[[${bundle.$L('审批流程')}]]</div></div>
<div class="float-right pt-1">
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
<div class="float-right pt-1 mr-3">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -45,10 +45,10 @@
<table class="table table-hover table-striped table-fixed">
<thead>
<tr>
<th>[[${bundle.L('名称')}]]</th>
<th>[[${bundle.L('应用实体')}]]</th>
<th width="80">[[${bundle.L('启用')}]]</th>
<th width="120">[[${bundle.L('修改时间')}]]</th>
<th>[[${bundle.$L('名称')}]]</th>
<th>[[${bundle.$L('应用实体')}]]</th>
<th width="80">[[${bundle.$L('启用')}]]</th>
<th width="120">[[${bundle.$L('修改时间')}]]</th>
<th width="80"></th>
</tr>
</thead>
@ -57,7 +57,7 @@
<th:block th:replace="~{/_include/spinner}" />
<div class="list-nodata hide">
<span class="zmdi zmdi-assignment-check"></span>
<p>[[${bundle.L('暂无审批流程')}]]</p>
<p>[[${bundle.$L('暂无审批流程')}]]</p>
</div>
</div>
</div>

View file

@ -4,7 +4,7 @@
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/triggers" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/triggers.css}" />
<title>[[${bundle.L('触发器')}]]</title>
<title>[[${bundle.$L('触发器')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header" th:classappend="${sideCollapsedClazz}">
@ -12,7 +12,7 @@
<th:block th:replace="~{/_include/nav-left-admin(active='robot-trigger')}" />
<div class="rb-content">
<div class="page-head">
<div class="page-head-title">[[${bundle.L('触发器')}]]<span class="sub-title">[[${name ?: bundle.L('未命名')}]]</span></div>
<div class="page-head-title">[[${bundle.$L('触发器')}]]<span class="sub-title">[[${name ?: bundle.$L('未命名')}]]</span></div>
<div class="clearfix"></div>
</div>
<div class="main-content container-fluid pt-0">
@ -20,54 +20,54 @@
<div class="card-body">
<ul class="timeline spare">
<li class="timeline-item">
<div class="timeline-date"><span>[[${bundle.L('当发生动作')}]]</span></div>
<div class="timeline-date"><span>[[${bundle.$L('当发生动作')}]]</span></div>
<div class="timeline-content">
<form class="simple">
<div class="form-group row">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('源实体')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('源实体')}]]</label>
<div class="col-12 col-lg-9">
<div class="form-control-plaintext text-bold">[[${sourceEntityLabel}]]</div>
</div>
</div>
<div class="form-group row pt-0 pb-0">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('触发动作')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('触发动作')}]]</label>
<div class="col-12 col-lg-9 pt-1 J_when">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="1" />
<span class="custom-control-label"> [[${bundle.L('新建时')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('新建时')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="4" />
<span class="custom-control-label"> [[${bundle.L('更新时')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('更新时')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="2" />
<span class="custom-control-label"> [[${bundle.L('删除时')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('删除时')}]]</span>
</label>
<div class="mt-1">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="16" />
<span class="custom-control-label"> [[${bundle.L('分派时')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('分派时')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="32" />
<span class="custom-control-label"> [[${bundle.L('共享时')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('共享时')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="64" />
<span class="custom-control-label"> [[${bundle.L('取消共享时')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('取消共享时')}]]</span>
</label>
</div>
<div class="mt-1">
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="128" />
<span class="custom-control-label"> [[${bundle.L('审核通过时')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('审核通过时')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="256" />
<span class="custom-control-label">
[[${bundle.L('审核撤销时')}]]
<i class="zmdi zmdi-help zicon down-1" th:title="${bundle.L('审批通过后管理员可以撤销重审')}" data-toggle="tooltip"></i
[[${bundle.$L('审核撤销时')}]]
<i class="zmdi zmdi-help zicon down-1" th:title="${bundle.$L('审批通过后管理员可以撤销重审')}" data-toggle="tooltip"></i
></span>
</label>
</div>
@ -75,60 +75,60 @@
<div>
<label class="custom-control custom-control-sm custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" value="512" onclick="_handle512Change()" />
<span class="custom-control-label"> [[${bundle.L('定期执行')}]] <sup class="rbv"></sup></span>
<span class="custom-control-label"> [[${bundle.$L('定期执行')}]] <sup class="rbv"></sup></span>
</label>
</div>
<div class="on-timers mt-1 hide">
<div class="input-group input-group-sm">
<select class="form-control form-control-sm J_whenTimer1">
<option value="D">[[${bundle.L('每天')}]]</option>
<option value="M">[[${bundle.L('每月')}]]</option>
<option value="H">[[${bundle.L('每小时')}]]</option>
<option value="D">[[${bundle.$L('每天')}]]</option>
<option value="M">[[${bundle.$L('每月')}]]</option>
<option value="H">[[${bundle.$L('每小时')}]]</option>
</select>
<div class="input-group-prepend input-group-append">
<span class="input-group-text">[[${bundle.L('执行')}]]</span>
<span class="input-group-text">[[${bundle.$L('执行')}]]</span>
</div>
<input type="text" class="form-control form-control-sm text-center J_whenTimer2" placeholder="1" />
<div class="input-group-append">
<span class="input-group-text">[[${bundle.L('次')}]]</span>
<span class="input-group-text">[[${bundle.$L('次')}]]</span>
</div>
</div>
<p class="form-text">[[${bundle.L('具体实行时间将在你设定的周期内平均分布。例如每天执行2次其执行时间为 00:00 和 12:00')}]]</p>
<p class="form-text">[[${bundle.$L('具体实行时间将在你设定的周期内平均分布。例如每天执行2次其执行时间为 00:00 和 12:00')}]]</p>
</div>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('附加过滤条件')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('附加过滤条件')}]]</label>
<div class="col-12 col-lg-9 J_whenFilter">
<a class="btn btn-sm btn-link pl-0 text-left down-2">[[${bundle.L('点击设置')}]]</a>
<p class="form-text mb-0 mt-0">[[${bundle.L('符合过滤条件的数据才会执行操作')}]]</p>
<a class="btn btn-sm btn-link pl-0 text-left down-2">[[${bundle.$L('点击设置')}]]</a>
<p class="form-text mb-0 mt-0">[[${bundle.$L('符合过滤条件的数据才会执行操作')}]]</p>
</div>
</div>
</form>
</div>
</li>
<li class="timeline-item">
<div class="timeline-date"><span>[[${bundle.L('就执行操作')}]]</span></div>
<div class="timeline-date"><span>[[${bundle.$L('就执行操作')}]]</span></div>
<div class="timeline-content">
<form class="simple">
<div class="form-group row">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('执行操作')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('执行操作')}]]</label>
<div class="col-12 col-lg-9">
<div class="form-control-plaintext text-bold">[[${actionTypeLabel}]]</div>
</div>
</div>
<div class="form-group row">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('操作内容')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('操作内容')}]]</label>
<div class="col-12 col-lg-9">
<div id="react-content">[[${bundle.L('加载中')}]]</div>
<div id="react-content">[[${bundle.$L('加载中')}]]</div>
</div>
</div>
<div class="form-group row">
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.L('执行优先级')}]]</label>
<label class="col-12 col-lg-3 col-form-label text-lg-right">[[${bundle.$L('执行优先级')}]]</label>
<div class="col-12 col-lg-9">
<input type="number" class="form-control form-control-sm" id="priority" th:value="${priority}" th:data-o="${priority}" style="max-width: 200px" />
<p class="form-text mb-0">[[${bundle.L('优先级高 (数字大) 的会被先执行')}]]</p>
<p class="form-text mb-0">[[${bundle.$L('优先级高 (数字大) 的会被先执行')}]]</p>
</div>
</div>
</form>
@ -140,7 +140,7 @@
<div class="form-group row footer">
<label class="col-12 col-lg-3 col-form-label text-lg-right"></label>
<div class="col-12 col-lg-9">
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
</div>
</div>
</form>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/triggers" />
<title>[[${bundle.L('触发器')}]]</title>
<title>[[${bundle.$L('触发器')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header rb-aside" th:classappend="${sideCollapsedClazz}">
@ -13,21 +13,21 @@
<aside class="page-aside">
<div class="rb-scroller">
<div class="aside-tree">
<h5 class="config-title">[[${bundle.L('源实体')}]]</h5>
<h5 class="config-title">[[${bundle.$L('源实体')}]]</h5>
<ul class="list-unstyled">
<li class="active"><a>[[${bundle.L('全部实体')}]]</a></li>
<li class="active"><a>[[${bundle.$L('全部实体')}]]</a></li>
</ul>
</div>
</div>
</aside>
<div class="page-head">
<div class="float-left"><div class="page-head-title">[[${bundle.L('触发器')}]]</div></div>
<div class="float-left"><div class="page-head-title">[[${bundle.$L('触发器')}]]</div></div>
<div class="float-right pt-1">
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
<div class="float-right pt-1 mr-3">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -45,12 +45,12 @@
<table class="table table-hover table-striped table-fixed">
<thead>
<tr>
<th>[[${bundle.L('名称')}]]</th>
<th>[[${bundle.L('源实体')}]]</th>
<th>[[${bundle.L('触发类型')}]]</th>
<th>[[${bundle.L('触发动作')}]]</th>
<th width="80">[[${bundle.L('启用')}]]</th>
<th width="120">[[${bundle.L('修改时间')}]]</th>
<th>[[${bundle.$L('名称')}]]</th>
<th>[[${bundle.$L('源实体')}]]</th>
<th>[[${bundle.$L('触发类型')}]]</th>
<th>[[${bundle.$L('触发动作')}]]</th>
<th width="80">[[${bundle.$L('启用')}]]</th>
<th width="120">[[${bundle.$L('修改时间')}]]</th>
<th width="80"></th>
</tr>
</thead>
@ -59,7 +59,7 @@
<th:block th:replace="~{/_include/spinner}" />
<div class="list-nodata hide">
<span class="zmdi zmdi-rotate-cw"></span>
<p>[[${bundle.L('暂无触发器')}]]</p>
<p>[[${bundle.$L('暂无触发器')}]]</p>
</div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('REBUILD 安装程序')}]]</title>
<title>[[${bundle.$L('REBUILD 安装程序')}]]</title>
<style type="text/css">
.splash-container.rb-install {
max-width: 680px;
@ -84,18 +84,18 @@
<div class="card shadow-lg">
<div class="card-header bg-primary m-0"><a class="logo-img white"></a></div>
<div class="card-body pt-0">
<h2 class="text-center text-muted">[[${bundle.L('请稍后')}]]</h2>
<h2 class="text-center text-muted">[[${bundle.$L('请稍后')}]]</h2>
</div>
</div>
<div class="copyright">
<div>
<span>&copy; REBUILD ([[${Version}]])</span>
<b>·</b>
<a href="https://getrebuild.com/docs/admin/install" target="_blank" class="link">[[${bundle.L('安装指南')}]]</a>
<a href="https://getrebuild.com/docs/admin/install" target="_blank" class="link">[[${bundle.$L('安装指南')}]]</a>
</div>
<div
class="mt-1 license link"
th:utext="${bundle.L('[REBUILD](https://getrebuild.com/) 使用开源 [GPL-3.0](https://getrebuild.com/license/LICENSE.txt) 和 [商用](https://getrebuild.com/license/COMMERCIAL.txt) 双重授权许可,安装/使用即表示你已阅读并同意许可内容。')}"
th:utext="${bundle.$L('[REBUILD](https://getrebuild.com/) 使用开源 [GPL-3.0](https://getrebuild.com/license/LICENSE.txt) 和 [商用](https://getrebuild.com/license/COMMERCIAL.txt) 双重授权许可,安装/使用即表示你已阅读并同意许可内容。')}"
></div>
<div class="mt-2">
<a class="select-lang dropdown-toggle" data-toggle="dropdown"><i class="icon zmdi zmdi-globe-alt"></i> <span>[[${currentLang}]]</span></a>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('通用配置')}]]</title>
<title>[[${bundle.$L('通用配置')}]]</title>
<style type="text/css">
.syscfg a.img-thumbnail {
display: inline-block;
@ -26,15 +26,15 @@
<div class="col-lg-9 col-12">
<div class="card">
<div class="card-header pb-1">
[[${bundle.L('通用配置')}]]
<a href="#modfiy" class="float-right"><i class="icon zmdi zmdi-edit"></i> [[${bundle.L('修改')}]]</a>
[[${bundle.$L('通用配置')}]]
<a href="#modfiy" class="float-right"><i class="icon zmdi zmdi-edit"></i> [[${bundle.$L('修改')}]]</a>
</div>
<div class="card-body">
<h5>[[${bundle.L('通用')}]]</h5>
<h5>[[${bundle.$L('通用')}]]</h5>
<table class="table">
<tbody>
<tr>
<td width="40%">[[${bundle.L('名称')}]] <sup class="rbv"></sup></td>
<td width="40%">[[${bundle.$L('名称')}]] <sup class="rbv"></sup></td>
<td th:data-id="${commercial > 0 ? 'AppName' : ''}" th:data-value="${AppName}">[[${AppName}]]</td>
</tr>
<tr>
@ -43,95 +43,95 @@
<a class="img-thumbnail"><i class="logo-img"></i></a>
<a class="img-thumbnail bg-primary ml-1"><i class="logo-img white"></i></a>
<input type="file" class="hide" accept="image/*" data-maxsize="5000000" data-local="true" />
<p class="mt-2 text-dark hide">[[${bundle.L('请分别上传深色与白色 LOGO透明背景宽高为 268 × 54')}]]</p>
<p class="mt-2 text-dark hide">[[${bundle.$L('请分别上传深色与白色 LOGO透明背景宽高为 268 × 54')}]]</p>
</td>
</tr>
<tr>
<td>
[[${bundle.L('主页地址/域名')}]]
<p>[[${bundle.L('所有外部链接将以此作为前缀')}]]</p>
[[${bundle.$L('主页地址/域名')}]]
<p>[[${bundle.$L('所有外部链接将以此作为前缀')}]]</p>
</td>
<td data-id="HomeURL" th:data-value="${HomeURL}">[[${HomeURL}]]</td>
</tr>
<tr>
<td>[[${bundle.L('默认语言')}]]</td>
<td>[[${bundle.$L('默认语言')}]]</td>
<td data-id="DefaultLanguage" th:data-value="${DefaultLanguage}" id="_DefaultLanguage">[[${DefaultLanguage}]]</td>
</tr>
</tbody>
</table>
<h5>[[${bundle.L('系统选项')}]]</h5>
<h5>[[${bundle.$L('系统选项')}]]</h5>
<table class="table">
<tbody>
<tr>
<td width="40%">[[${bundle.L('公开注册')}]]</td>
<td data-id="OpenSignUp" th:data-value="${OpenSignUp}">[[${OpenSignUp ? bundle.L('是') : bundle.L('否')}]]</td>
<td width="40%">[[${bundle.$L('公开注册')}]]</td>
<td data-id="OpenSignUp" th:data-value="${OpenSignUp}">[[${OpenSignUp ? bundle.$L('是') : bundle.$L('否')}]]</td>
</tr>
<tr>
<td>[[${bundle.L('登录密码等级')}]]</td>
<td>[[${bundle.$L('登录密码等级')}]]</td>
<td data-id="PasswordPolicy" th:data-value="${PasswordPolicy}">
<th:block th:if="${PasswordPolicy == '1'}">[[${bundle.L('低 (最低6位无字符类型限制)')}]]</th:block>
<th:block th:if="${PasswordPolicy == '2'}">[[${bundle.L('中 (最低6位必须同时包含数字、字母)')}]]</th:block>
<th:block th:if="${PasswordPolicy == '3'}">[[${bundle.L('高 (最低8位必须同时包含数字、字母、特殊字符)')}]]</th:block>
<th:block th:if="${PasswordPolicy == '1'}">[[${bundle.$L('低 (最低6位无字符类型限制)')}]]</th:block>
<th:block th:if="${PasswordPolicy == '2'}">[[${bundle.$L('中 (最低6位必须同时包含数字、字母)')}]]</th:block>
<th:block th:if="${PasswordPolicy == '3'}">[[${bundle.$L('高 (最低8位必须同时包含数字、字母、特殊字符)')}]]</th:block>
</td>
</tr>
<tr>
<td>[[${bundle.L('登录验证码显示模式')}]]</td>
<td>[[${bundle.$L('登录验证码显示模式')}]]</td>
<td data-id="LoginCaptchaPolicy" th:data-value="${LoginCaptchaPolicy}">
<th:block th:if="${LoginCaptchaPolicy == '1'}">[[${bundle.L('自动')}]]</th:block>
<th:block th:if="${LoginCaptchaPolicy == '2'}">[[${bundle.L('总是显示')}]]</th:block>
<th:block th:if="${LoginCaptchaPolicy == '1'}">[[${bundle.$L('自动')}]]</th:block>
<th:block th:if="${LoginCaptchaPolicy == '2'}">[[${bundle.$L('总是显示')}]]</th:block>
</td>
</tr>
<tr>
<td>[[${bundle.L('同一用户允许多地登录')}]] <sup class="rbv"></sup></td>
<td th:data-id="${commercial > 0 ? 'MultipleSessions' : ''}" th:data-value="${MultipleSessions}">[[${MultipleSessions ? bundle.L('是') : bundle.L('否')}]]</td>
<td>[[${bundle.$L('同一用户允许多地登录')}]] <sup class="rbv"></sup></td>
<td th:data-id="${commercial > 0 ? 'MultipleSessions' : ''}" th:data-value="${MultipleSessions}">[[${MultipleSessions ? bundle.$L('是') : bundle.$L('否')}]]</td>
</tr>
<tr>
<td>[[${bundle.L('登录页每日一图')}]]</td>
<td data-id="LiveWallpaper" th:data-value="${LiveWallpaper}">[[${LiveWallpaper ? bundle.L('是') : bundle.L('否')}]]</td>
<td>[[${bundle.$L('登录页每日一图')}]]</td>
<td data-id="LiveWallpaper" th:data-value="${LiveWallpaper}">[[${LiveWallpaper ? bundle.$L('是') : bundle.$L('否')}]]</td>
</tr>
<tr>
<td>[[${bundle.L('显示页面水印')}]]</td>
<td data-id="MarkWatermark" th:data-value="${MarkWatermark}">[[${MarkWatermark ? bundle.L('是') : bundle.L('否')}]]</td>
<td>[[${bundle.$L('显示页面水印')}]]</td>
<td data-id="MarkWatermark" th:data-value="${MarkWatermark}">[[${MarkWatermark ? bundle.$L('是') : bundle.$L('否')}]]</td>
</tr>
<tr>
<td>[[${bundle.L('允许分享文件')}]]</td>
<td data-id="FileSharable" th:data-value="${FileSharable}">[[${FileSharable ? bundle.L('是') : bundle.L('否')}]]</td>
<td>[[${bundle.$L('允许分享文件')}]]</td>
<td data-id="FileSharable" th:data-value="${FileSharable}">[[${FileSharable ? bundle.$L('是') : bundle.$L('否')}]]</td>
</tr>
<tr>
<td>[[${bundle.L('在视图页显示修改历史')}]]</td>
<td data-id="ShowViewHistory" th:data-value="${ShowViewHistory}">[[${ShowViewHistory ? bundle.L('是') : bundle.L('否')}]]</td>
<td>[[${bundle.$L('在视图页显示修改历史')}]]</td>
<td data-id="ShowViewHistory" th:data-value="${ShowViewHistory}">[[${ShowViewHistory ? bundle.$L('是') : bundle.$L('否')}]]</td>
</tr>
</tbody>
</table>
<h5>[[${bundle.L('数据安全')}]]</h5>
<h5>[[${bundle.$L('数据安全')}]]</h5>
<table class="table">
<tbody>
<tr>
<td width="40%">
[[${bundle.L('数据库自动备份')}]]
<p>[[${bundle.L('每日 0 点备份到数据目录,请预留足够磁盘空间')}]]</p>
[[${bundle.$L('数据库自动备份')}]]
<p>[[${bundle.$L('每日 0 点备份到数据目录,请预留足够磁盘空间')}]]</p>
</td>
<td data-id="DBBackupsEnable" th:data-value="${DBBackupsEnable}">[[${DBBackupsEnable ? bundle.L('是') : bundle.L('否')}]]</td>
<td data-id="DBBackupsEnable" th:data-value="${DBBackupsEnable}">[[${DBBackupsEnable ? bundle.$L('是') : bundle.$L('否')}]]</td>
</tr>
<tr>
<td>[[${bundle.L('备份保留时间')}]]</td>
<td data-id="DBBackupsKeepingDays" th:data-value="${DBBackupsKeepingDays}">[[${DBBackupsKeepingDays}]] [[${bundle.L('天')}]]</td>
<td>[[${bundle.$L('备份保留时间')}]]</td>
<td data-id="DBBackupsKeepingDays" th:data-value="${DBBackupsKeepingDays}">[[${DBBackupsKeepingDays}]] [[${bundle.$L('天')}]]</td>
</tr>
<tr>
<td>[[${bundle.L('变更历史保留时间')}]] <sup class="rbv"></sup></td>
<td>[[${bundle.$L('变更历史保留时间')}]] <sup class="rbv"></sup></td>
<td th:data-id="${commercial > 0 ? 'RevisionHistoryKeepingDays' : ''}" th:data-value="${RevisionHistoryKeepingDays}">
[[${RevisionHistoryKeepingDays}]] [[${bundle.L('天')}]]
[[${RevisionHistoryKeepingDays}]] [[${bundle.$L('天')}]]
</td>
</tr>
<tr>
<td>[[${bundle.L('回收站保留时间')}]] <sup class="rbv"></sup></td>
<td th:data-id="${commercial > 0 ? 'RecycleBinKeepingDays' : ''}" th:data-value="${RecycleBinKeepingDays}">[[${RecycleBinKeepingDays}]] [[${bundle.L('天')}]]</td>
<td>[[${bundle.$L('回收站保留时间')}]] <sup class="rbv"></sup></td>
<td th:data-id="${commercial > 0 ? 'RecycleBinKeepingDays' : ''}" th:data-value="${RecycleBinKeepingDays}">[[${RecycleBinKeepingDays}]] [[${bundle.$L('天')}]]</td>
</tr>
</tbody>
</table>
<div class="edit-footer">
<button class="btn btn-link">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary">[[${bundle.L('保存')}]]</button>
<button class="btn btn-link">[[${bundle.$L('取消')}]]</button>
<button class="btn btn-primary">[[${bundle.$L('保存')}]]</button>
</div>
</div>
</div>
@ -145,19 +145,19 @@
</div>
</div>
<div class="card">
<div class="card-header card-header-divider">[[${bundle.L('关于')}]] REBUILD</div>
<div class="card-header card-header-divider">[[${bundle.$L('关于')}]] REBUILD</div>
<div class="card-body">
<p class="mb-1">[[${bundle.L('系统版本')}]] <a class="link" target="_blank" th:href="|https://getrebuild.com/download?v=${Version}|">[[${Version}]]</a></p>
<p class="mb-2">[[${bundle.L('许可类型')}]] <a class="link" target="_blank" th:href="|https://getrebuild.com/authority?sn=${SN}|">[[${LicenseType}]]</a></p>
<p class="mb-1">[[${bundle.$L('系统版本')}]] <a class="link" target="_blank" th:href="|https://getrebuild.com/download?v=${Version}|">[[${Version}]]</a></p>
<p class="mb-2">[[${bundle.$L('许可类型')}]] <a class="link" target="_blank" th:href="|https://getrebuild.com/authority?sn=${SN}|">[[${LicenseType}]]</a></p>
<ul style="line-height: 2">
<li><a class="link" target="_blank" th:href="@{/error/server-status}">[[${bundle.L('系统状态')}]]</a></li>
<li><a class="link" target="_blank" href="https://getrebuild.com/docs/">[[${bundle.L('帮助文档')}]]</a></li>
<li><a class="link" target="_blank" href="https://getrebuild.com/">[[${bundle.L('技术支持')}]]</a></li>
<li><a class="link" target="_blank" th:href="@{/error/server-status}">[[${bundle.$L('系统状态')}]]</a></li>
<li><a class="link" target="_blank" href="https://getrebuild.com/docs/">[[${bundle.$L('帮助文档')}]]</a></li>
<li><a class="link" target="_blank" href="https://getrebuild.com/">[[${bundle.$L('技术支持')}]]</a></li>
</ul>
<div class="text-muted link">
&copy;
<span
th:utext="${bundle.L('[REBUILD](https://getrebuild.com/) 使用开源 [GPL-3.0](https://getrebuild.com/license/LICENSE.txt) 和 [商用](https://getrebuild.com/license/COMMERCIAL.txt) 双重授权许可,安装/使用即表示你已阅读并同意许可内容。')}"
th:utext="${bundle.$L('[REBUILD](https://getrebuild.com/) 使用开源 [GPL-3.0](https://getrebuild.com/license/LICENSE.txt) 和 [商用](https://getrebuild.com/license/COMMERCIAL.txt) 双重授权许可,安装/使用即表示你已阅读并同意许可内容。')}"
></span>
</div>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/transforms" />
<title>[[${bundle.L('记录转换映射')}]]</title>
<title>[[${bundle.$L('记录转换映射')}]]</title>
<style type="text/css">
.nav-tabs > li.nav-item a.nav-link {
padding: 8px 15px;
@ -41,7 +41,7 @@
<th:block th:replace="~{/_include/nav-left-admin(active='transforms')}" />
<div class="rb-content">
<div class="page-head">
<div class="page-head-title">[[${bundle.L('记录转换映射')}]]<span class="sub-title">[[${name ?: bundle.L('未命名')}]]</span></div>
<div class="page-head-title">[[${bundle.$L('记录转换映射')}]]<span class="sub-title">[[${name ?: bundle.$L('未命名')}]]</span></div>
<div class="clearfix"></div>
</div>
<div class="main-content container-fluid pt-0">
@ -49,40 +49,40 @@
<div class="card-body">
<form class="simple" style="max-width: 1100px">
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('附加过滤条件')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('附加过滤条件')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<a class="btn btn-sm btn-link pl-0 text-left down-2" id="useFilter">[[${bundle.L('点击设置')}]]</a>
<p class="form-text mb-0 mt-0">[[${bundle.L('符合过滤条件的记录才允许被转换')}]]</p>
<a class="btn btn-sm btn-link pl-0 text-left down-2" id="useFilter">[[${bundle.$L('点击设置')}]]</a>
<p class="form-text mb-0 mt-0">[[${bundle.$L('符合过滤条件的记录才允许被转换')}]]</p>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('转换字段映射')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('转换字段映射')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<ul th:if="${sourceDetailEntity != null}" class="nav nav-tabs mb-2">
<li class="nav-item"><a class="nav-link active" href="#EMAIN" data-toggle="tab">[[${bundle.L('主实体')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="#EDETAIL" data-toggle="tab">[[${bundle.L('明细实体')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#EMAIN" data-toggle="tab">[[${bundle.$L('主实体')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="#EDETAIL" data-toggle="tab">[[${bundle.$L('明细实体')}]]</a></li>
</ul>
<div class="tab-content m-0 p-0 fields-mapping">
<div class="tab-pane active" id="EMAIN">
<p class="text-muted m-0" style="padding-top: 7px">[[${bundle.L('加载中')}]]</p>
<p class="text-muted m-0" style="padding-top: 7px">[[${bundle.$L('加载中')}]]</p>
</div>
<div class="tab-pane" id="EDETAIL"></div>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.L('转换后回填')}]]</label>
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right">[[${bundle.$L('转换后回填')}]]</label>
<div class="col-md-12 col-xl-6 col-lg-8">
<div>
<select class="form-control form-control-sm" id="fillbackField"></select>
<p class="form-text">[[${bundle.L('可将转换后的记录 ID 回填至源记录中')}]]</p>
<p class="form-text">[[${bundle.$L('可将转换后的记录 ID 回填至源记录中')}]]</p>
</div>
</div>
</div>
<div class="form-group row footer">
<label class="col-md-12 col-xl-3 col-lg-4 col-form-label text-lg-right"></label>
<div class="col-md-12 col-xl-6 col-lg-8">
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
</div>
</div>
</form>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta name="page-help" content="https://getrebuild.com/docs/admin/transforms" />
<title>[[${bundle.L('记录转换映射')}]]</title>
<title>[[${bundle.$L('记录转换映射')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-color-header rb-aside" th:classappend="${sideCollapsedClazz}">
@ -13,21 +13,21 @@
<aside class="page-aside">
<div class="rb-scroller">
<div class="aside-tree">
<h5 class="config-title">[[${bundle.L('源实体')}]]</h5>
<h5 class="config-title">[[${bundle.$L('源实体')}]]</h5>
<ul class="list-unstyled">
<li class="active"><a>[[${bundle.L('全部实体')}]]</a></li>
<li class="active"><a>[[${bundle.$L('全部实体')}]]</a></li>
</ul>
</div>
</div>
</aside>
<div class="page-head">
<div class="float-left"><div class="page-head-title">[[${bundle.L('记录转换映射')}]]</div></div>
<div class="float-left"><div class="page-head-title">[[${bundle.$L('记录转换映射')}]]</div></div>
<div class="float-right pt-1">
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加')}]]</button>
<button class="btn btn-primary J_add" type="button"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加')}]]</button>
</div>
<div class="float-right pt-1 mr-3">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('查询')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -45,11 +45,11 @@
<table class="table table-hover table-striped table-fixed">
<thead>
<tr>
<th>[[${bundle.L('名称')}]]</th>
<th>[[${bundle.L('源实体')}]]</th>
<th>[[${bundle.L('目标实体')}]]</th>
<th width="80">[[${bundle.L('启用')}]]</th>
<th width="120">[[${bundle.L('修改时间')}]]</th>
<th>[[${bundle.$L('名称')}]]</th>
<th>[[${bundle.$L('源实体')}]]</th>
<th>[[${bundle.$L('目标实体')}]]</th>
<th width="80">[[${bundle.$L('启用')}]]</th>
<th width="120">[[${bundle.$L('修改时间')}]]</th>
<th width="80"></th>
</tr>
</thead>
@ -58,7 +58,7 @@
<th:block th:replace="~{/_include/spinner}" />
<div class="list-nodata hide">
<span class="zmdi zmdi-transform"></span>
<p>[[${bundle.L('暂无记录转换映射')}]]</p>
<p>[[${bundle.$L('暂无记录转换映射')}]]</p>
</div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('图标')}]]</title>
<title>[[${bundle.$L('图标')}]]</title>
<style type="text/css">
#icons a {
display: inline-block;

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<meta http-equiv="refresh" content="300" />
<title>[[${bundle.L('分享文件')}]]</title>
<title>[[${bundle.$L('分享文件')}]]</title>
<style type="text/css">
.preview-modal .preview-header .float-right a:first-child {
display: none;
@ -37,7 +37,7 @@
<div class="sharebox must-center">
<i class="zmdi zmdi-share"></i>
</div>
<div class="copyright fixed link">&copy; <th:block th:utext="${commercial > 10 ? appName : bundle.L('[REBUILD](https://getrebuild.com/) 强力驱动')}" /></div>
<div class="copyright fixed link">&copy; <th:block th:utext="${commercial > 10 ? appName : bundle.$L('[REBUILD](https://getrebuild.com/) 强力驱动')}" /></div>
<th:block th:replace="~{/_include/footer}" />
<script type="text/babel">
window.__PageConfig = {

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('安全提示')}]]</title>
<title>[[${bundle.$L('安全提示')}]]</title>
<style type="text/css">
.safe-tips {
background-color: #fff;
@ -47,21 +47,21 @@
<div class="main-content container">
<div class="error-container">
<div class="safe-tips">
<h3>[[${bundle.L('即将跳转到外部网站')}]]</h3>
<p>[[${bundle.L('安全性未知,请谨慎访问')}]]</p>
<h3>[[${bundle.$L('即将跳转到外部网站')}]]</h3>
<p>[[${bundle.$L('安全性未知,请谨慎访问')}]]</p>
<div class="url">
<span class="icon"><i class="zmdi zmdi-link"></i></span>
<span class="text" th:utext="${outerUrl}"></span>
</div>
<div class="clearfix"></div>
<a class="btn btn-danger btn-outline" th:href="${outerUrl}" rel="noopener noreferrer">[[${bundle.L('继续访问')}]]</a>
<a class="btn btn-link" onclick="window.close()">[[${bundle.L('关闭')}]]</a>
<a class="btn btn-danger btn-outline" th:href="${outerUrl}" rel="noopener noreferrer">[[${bundle.$L('继续访问')}]]</a>
<a class="btn btn-link" onclick="window.close()">[[${bundle.$L('关闭')}]]</a>
</div>
</div>
</div>
</div>
</div>
<div class="copyright fixed link">&copy; <th:block th:utext="${commercial > 10 ? appName : bundle.L('[REBUILD](https://getrebuild.com/) 强力驱动')}" /></div>
<div class="copyright fixed link">&copy; <th:block th:utext="${commercial > 10 ? appName : bundle.$L('[REBUILD](https://getrebuild.com/) 强力驱动')}" /></div>
<th:block th:replace="~{/_include/footer}" />
</body>
</html>

View file

@ -4,7 +4,7 @@
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/charts.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/chart-design.css}" />
<title>[[${bundle.L('图表设计')}]]</title>
<title>[[${bundle.$L('图表设计')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-offcanvas-menu">
@ -13,19 +13,19 @@
<aside class="data-aside">
<div class="rb-scroller">
<div class="data-info">
<h5>[[${bundle.L('数据来源')}]]</h5>
<h5>[[${bundle.$L('数据来源')}]]</h5>
<ul class="list-unstyled esource">
<li>
<a>
<i class="zmdi icon" th:classappend="|zmdi-${entityIcon}|"></i>
[[${entityLabel}]]
<span class="J_filter" th:title="${bundle.L('附加过滤条件')}"><i class="zmdi zmdi-filter-list"></i></span>
<span class="J_filter" th:title="${bundle.$L('附加过滤条件')}"><i class="zmdi zmdi-filter-list"></i></span>
</a>
</li>
</ul>
</div>
<div class="data-info">
<h5>[[${bundle.L('字段')}]]</h5>
<h5>[[${bundle.$L('字段')}]]</h5>
<ul class="list-unstyled fields">
<th:block th:each="field : ${availableFields}">
<li th:class="${field[2]}"><a th:title="${field[1]}" th:data-field="${field[0]}" th:data-type="${field[2]}">[[${field[1]}]]</a></li>
@ -37,81 +37,81 @@
<aside class="config-aside">
<div class="rb-scroller">
<div class="data-info">
<h5>[[${bundle.L('图表名称')}]]</h5>
<h5>[[${bundle.$L('图表名称')}]]</h5>
<div class="input">
<input class="form-control form-control-sm" th:placeholder="${bundle.L('未命名图表')}" id="chart-title" th:value="${chartTitle}" />
<input class="form-control form-control-sm" th:placeholder="${bundle.$L('未命名图表')}" id="chart-title" th:value="${chartTitle}" />
</div>
</div>
<div class="data-info">
<h5>[[${bundle.L('图表类型')}]]</h5>
<h5>[[${bundle.$L('图表类型')}]]</h5>
<div class="chart-type">
<a th:title="${bundle.L('表格')}" data-type="TABLE" data-allow-dims="0|3" data-allow-nums="0|9"><i class="C200"></i></a>
<a th:title="${bundle.L('指标卡')}" data-type="INDEX" data-allow-dims="0|0" data-allow-nums="1|1"><i class="C310"></i></a>
<a th:title="${bundle.L('折线图')}" data-type="LINE" data-allow-dims="1|1" data-allow-nums="1|9"><i class="C220"></i></a>
<a th:title="${bundle.L('柱状图')}" data-type="BAR" data-allow-dims="1|1" data-allow-nums="1|9"><i class="C210"></i></a>
<a th:title="${bundle.L('饼图')}" data-type="PIE" data-allow-dims="1|1" data-allow-nums="1|1"><i class="C230"></i></a>
<a th:title="${bundle.L('漏斗图')}" data-type="FUNNEL" data-allow-dims="0|1" data-allow-nums="1|9"><i class="C330"></i></a>
<a th:title="${bundle.L('矩形树图')}" data-type="TREEMAP" data-allow-dims="1|3" data-allow-nums="1|1"><i class="C370"></i></a>
<a th:title="${bundle.L('雷达图')}" data-type="RADAR" data-allow-dims="1|1" data-allow-nums="1|3"><i class="C290"></i></a>
<a th:title="${bundle.L('散点图')}" data-type="SCATTER" data-allow-dims="0|3" data-allow-nums="2|2"><i class="C280"></i></a>
<a th:title="${bundle.$L('表格')}" data-type="TABLE" data-allow-dims="0|3" data-allow-nums="0|9"><i class="C200"></i></a>
<a th:title="${bundle.$L('指标卡')}" data-type="INDEX" data-allow-dims="0|0" data-allow-nums="1|1"><i class="C310"></i></a>
<a th:title="${bundle.$L('折线图')}" data-type="LINE" data-allow-dims="1|1" data-allow-nums="1|9"><i class="C220"></i></a>
<a th:title="${bundle.$L('柱状图')}" data-type="BAR" data-allow-dims="1|1" data-allow-nums="1|9"><i class="C210"></i></a>
<a th:title="${bundle.$L('饼图')}" data-type="PIE" data-allow-dims="1|1" data-allow-nums="1|1"><i class="C230"></i></a>
<a th:title="${bundle.$L('漏斗图')}" data-type="FUNNEL" data-allow-dims="0|1" data-allow-nums="1|9"><i class="C330"></i></a>
<a th:title="${bundle.$L('矩形树图')}" data-type="TREEMAP" data-allow-dims="1|3" data-allow-nums="1|1"><i class="C370"></i></a>
<a th:title="${bundle.$L('雷达图')}" data-type="RADAR" data-allow-dims="1|1" data-allow-nums="1|3"><i class="C290"></i></a>
<a th:title="${bundle.$L('散点图')}" data-type="SCATTER" data-allow-dims="0|3" data-allow-nums="2|2"><i class="C280"></i></a>
<!--
<a th:title="${bundle.L('对比图')}" data-type="BARNEGATIVE" data-allow-dims="1|1" data-allow-nums="2|2"><i class="C243"></i></a>
<a th:title="${bundle.L('词云')}" data-type="DOLOR" data-allow-dims="1|1" data-allow-nums="0|0"><i class="C340"></i></a>
<a th:title="${bundle.L('地图')}" data-type="CNMAP" data-allow-dims="1|1" data-allow-nums="1|1"><i class="C271"></i></a>
<a th:title="${bundle.L('旭日图')}" data-type="SUNBURST" data-allow-dims="2|3" data-allow-nums="1|1"><i class="C360"></i></a>
<a th:title="${bundle.$L('对比图')}" data-type="BARNEGATIVE" data-allow-dims="1|1" data-allow-nums="2|2"><i class="C243"></i></a>
<a th:title="${bundle.$L('词云')}" data-type="DOLOR" data-allow-dims="1|1" data-allow-nums="0|0"><i class="C340"></i></a>
<a th:title="${bundle.$L('地图')}" data-type="CNMAP" data-allow-dims="1|1" data-allow-nums="1|1"><i class="C271"></i></a>
<a th:title="${bundle.$L('旭日图')}" data-type="SUNBURST" data-allow-dims="2|3" data-allow-nums="1|1"><i class="C360"></i></a>
-->
</div>
</div>
<div class="data-info mt-3">
<h5>[[${bundle.L('图表选项')}]]</h5>
<h5>[[${bundle.$L('图表选项')}]]</h5>
<div class="pl-1 mt-3 chart-option">
<div class="J_opt-UNDEF">[[${bundle.L('当前图表无选项')}]]</div>
<div class="J_opt-UNDEF">[[${bundle.$L('当前图表无选项')}]]</div>
<div class="hide J_opt-ALL">
<label>
<a class="J_filter" href="javascript:;">
<i class="zmdi zmdi-filter-list down-2" style="font-size: 1.43rem; width: 23px; padding-left: 2px; color: #888"></i>
<span>[[${bundle.L('附加过滤条件')}]]</span>
<span>[[${bundle.$L('附加过滤条件')}]]</span>
</a>
</label>
<label class="custom-control custom-control-sm custom-checkbox mb-2 admin-show">
<input class="custom-control-input" type="checkbox" data-name="noPrivileges" />
<span class="custom-control-label"> [[${bundle.L('使用全部数据')}]] <i class="zmdi zmdi-help zicon" th:title="${bundle.L('不启用则仅能查看登录用户权限内的数据')}"></i></span>
<span class="custom-control-label"> [[${bundle.$L('使用全部数据')}]] <i class="zmdi zmdi-help zicon" th:title="${bundle.$L('不启用则仅能查看登录用户权限内的数据')}"></i></span>
</label>
<label class="custom-control custom-control-sm custom-checkbox mb-2">
<input class="custom-control-input" type="checkbox" data-name="shareChart" />
<span class="custom-control-label"> [[${bundle.L('共享此图表')}]] <i class="zmdi zmdi-help zicon" th:title="${bundle.L('共享后其他用户也可以使用 (不能修改)')}"></i></span>
<span class="custom-control-label"> [[${bundle.$L('共享此图表')}]] <i class="zmdi zmdi-help zicon" th:title="${bundle.$L('共享后其他用户也可以使用 (不能修改)')}"></i></span>
</label>
<label class="custom-control custom-control-sm custom-checkbox mb-2 hide">
<input class="custom-control-input" type="checkbox" data-name="noZero" />
<span class="custom-control-label"> [[${bundle.L('排除空数据 (数值为 0 不显示)')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('排除空数据 (数值为 0 不显示)')}]]</span>
</label>
</div>
<div class="hide J_opt-TABLE">
<label class="custom-control custom-control-sm custom-checkbox mb-2">
<input class="custom-control-input" type="checkbox" data-name="showLineNumber" />
<span class="custom-control-label"> [[${bundle.L('显示行号')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('显示行号')}]]</span>
</label>
<label class="custom-control custom-control-sm custom-checkbox">
<input class="custom-control-input" type="checkbox" data-name="showSums" />
<span class="custom-control-label"> [[${bundle.L('显示汇总')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('显示汇总')}]]</span>
</label>
</div>
<div class="hide J_opt-LINE J_opt-BAR J_opt-PIE J_opt-FUNNEL J_opt-TREEMAP J_opt-RADAR J_opt-SCATTER">
<label class="custom-control custom-control-sm custom-checkbox mb-2">
<input class="custom-control-input" type="checkbox" data-name="showNumerical" />
<span class="custom-control-label"> [[${bundle.L('在图表上显示数值')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('在图表上显示数值')}]]</span>
</label>
</div>
<div class="hide J_opt-LINE J_opt-BAR J_opt-SCATTER">
<label class="custom-control custom-control-sm custom-checkbox mb-2">
<input class="custom-control-input" type="checkbox" data-name="showGrid" />
<span class="custom-control-label"> [[${bundle.L('显示参考线')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('显示参考线')}]]</span>
</label>
</div>
<div class="hide J_opt-LINE J_opt-BAR J_opt-PIE J_opt-FUNNEL J_opt-RADAR J_opt-SCATTER">
<label class="custom-control custom-control-sm custom-checkbox mb-2">
<input class="custom-control-input" type="checkbox" data-name="showLegend" />
<span class="custom-control-label"> [[${bundle.L('显示图例')}]]</span>
<span class="custom-control-label"> [[${bundle.$L('显示图例')}]]</span>
</label>
</div>
</div>
@ -122,14 +122,14 @@
<div class="axis-editor">
<div class="axis J_dimension">
<div class="axis-head">
<span>[[${bundle.L('纬度')}]]</span>
<span>[[${bundle.$L('纬度')}]]</span>
<a><i class="zmdi zmdi-edit"></i></a>
</div>
<div class="axis-target J_axis-dim"></div>
</div>
<div class="axis J_numerical">
<div class="axis-head">
<span>[[${bundle.L('数值')}]]</span>
<span>[[${bundle.$L('数值')}]]</span>
<a><i class="zmdi zmdi-edit"></i></a>
</div>
<div class="axis-target J_axis-num"></div>
@ -147,31 +147,31 @@
<a class="del"><i class="zmdi zmdi-close-circle"></i></a>
</div>
<ul class="dropdown-menu">
<li class="dropdown-item J_num" data-calc="SUM">[[${bundle.L('求和')}]]</li>
<li class="dropdown-item J_num" data-calc="AVG">[[${bundle.L('平均值')}]]</li>
<li class="dropdown-item J_num" data-calc="MAX">[[${bundle.L('最大值')}]]</li>
<li class="dropdown-item J_num" data-calc="MIN">[[${bundle.L('最小值')}]]</li>
<li class="dropdown-item J_text" data-calc="COUNT">[[${bundle.L('计数')}]]</li>
<li class="dropdown-item J_text" data-calc="COUNT2">[[${bundle.L('去重计数')}]]</li>
<li class="dropdown-item J_date" data-calc="Y">[[${bundle.L('按年')}]]</li>
<li class="dropdown-item J_date" data-calc="Q">[[${bundle.L('按季度')}]]</li>
<li class="dropdown-item J_date" data-calc="M">[[${bundle.L('按月')}]]</li>
<li class="dropdown-item J_date" data-calc="D">[[${bundle.L('按日')}]]</li>
<li class="dropdown-item J_date" data-calc="H">[[${bundle.L('按时')}]]</li>
<li class="dropdown-item J_clazz" data-calc="L1">[[${bundle.L('1级')}]]</li>
<li class="dropdown-item J_clazz" data-calc="L2">[[${bundle.L('2级')}]]</li>
<li class="dropdown-item J_clazz" data-calc="L3">[[${bundle.L('3级')}]]</li>
<li class="dropdown-item J_clazz" data-calc="L4">[[${bundle.L('4级')}]]</li>
<li class="dropdown-item J_num" data-calc="SUM">[[${bundle.$L('求和')}]]</li>
<li class="dropdown-item J_num" data-calc="AVG">[[${bundle.$L('平均值')}]]</li>
<li class="dropdown-item J_num" data-calc="MAX">[[${bundle.$L('最大值')}]]</li>
<li class="dropdown-item J_num" data-calc="MIN">[[${bundle.$L('最小值')}]]</li>
<li class="dropdown-item J_text" data-calc="COUNT">[[${bundle.$L('计数')}]]</li>
<li class="dropdown-item J_text" data-calc="COUNT2">[[${bundle.$L('去重计数')}]]</li>
<li class="dropdown-item J_date" data-calc="Y">[[${bundle.$L('按年')}]]</li>
<li class="dropdown-item J_date" data-calc="Q">[[${bundle.$L('按季度')}]]</li>
<li class="dropdown-item J_date" data-calc="M">[[${bundle.$L('按月')}]]</li>
<li class="dropdown-item J_date" data-calc="D">[[${bundle.$L('按日')}]]</li>
<li class="dropdown-item J_date" data-calc="H">[[${bundle.$L('按时')}]]</li>
<li class="dropdown-item J_clazz" data-calc="L1">[[${bundle.$L('1级')}]]</li>
<li class="dropdown-item J_clazz" data-calc="L2">[[${bundle.$L('2级')}]]</li>
<li class="dropdown-item J_clazz" data-calc="L3">[[${bundle.$L('3级')}]]</li>
<li class="dropdown-item J_clazz" data-calc="L4">[[${bundle.$L('4级')}]]</li>
<li class="dropdown-divider"></li>
<li class="dropdown-submenu J_sort">
<a class="dropdown-item">[[${bundle.L('排序')}]]</a>
<a class="dropdown-item">[[${bundle.$L('排序')}]]</a>
<ul class="dropdown-menu">
<li class="dropdown-item" data-sort="NONE">[[${bundle.L('默认')}]]</li>
<li class="dropdown-item" data-sort="ASC">[[${bundle.L('升级')}]]</li>
<li class="dropdown-item" data-sort="DESC">[[${bundle.L('降序')}]]</li>
<li class="dropdown-item" data-sort="NONE">[[${bundle.$L('默认')}]]</li>
<li class="dropdown-item" data-sort="ASC">[[${bundle.$L('升级')}]]</li>
<li class="dropdown-item" data-sort="DESC">[[${bundle.$L('降序')}]]</li>
</ul>
</li>
<li class="dropdown-item">[[${bundle.L('显示样式')}]]</li>
<li class="dropdown-item">[[${bundle.$L('显示样式')}]]</li>
</ul>
</span>
</script>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('首页')}]]</title>
<title>[[${bundle.$L('首页')}]]</title>
<link rel="stylesheet" type="text/css" th:href="@{/assets/lib/charts/gridstack.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/charts.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/dashboard.css}" />
@ -21,37 +21,37 @@
<div class="row">
<div class="col-sm-6 dash-list">
<div class="dash-head">
<h4 class="J_dash-select">[[${bundle.L('仪表盘')}]]</h4>
<h4 class="J_dash-select">[[${bundle.$L('仪表盘')}]]</h4>
<div class="dash-action">
<a class="zicon J_dash-edit"><i class="zmdi zmdi-settings"></i></a>
<a class="zicon J_dash-new" th:title="${bundle.L('添加仪表盘')}"><i class="zmdi zmdi-plus-circle-o"></i></a>
<a class="zicon J_dash-new" th:title="${bundle.$L('添加仪表盘')}"><i class="zmdi zmdi-plus-circle-o"></i></a>
</div>
</div>
</div>
<div class="col-sm-6 text-right d-none d-md-block dash-right">
<div class="btn-group">
<button type="button" class="btn btn-link pr-0 text-right J_dash-fullscreen" th:title="${bundle.L('全屏')}">
<button type="button" class="btn btn-link pr-0 text-right J_dash-fullscreen" th:title="${bundle.$L('全屏')}">
<i class="zmdi zmdi-fullscreen icon up-1" style="font-size: 1.45rem"></i>
</button>
</div>
<div class="btn-group J_dash-refresh">
<button type="button" class="btn btn-link pr-0 text-right" data-toggle="dropdown">
<i class="zmdi zmdi-time-countdown icon"></i>
<span>[[${bundle.L('自动刷新')}]]</span>
<span>[[${bundle.$L('自动刷新')}]]</span>
</button>
<div class="dropdown-menu dropdown-menu-right" style="min-width: 140px">
<a class="dropdown-item" data-time="30">30 [[${bundle.L('秒')}]]</a>
<a class="dropdown-item" data-time="60">1 [[${bundle.L('分钟')}]]</a>
<a class="dropdown-item" data-time="300">5 [[${bundle.L('分钟')}]]</a>
<a class="dropdown-item" data-time="600">10 [[${bundle.L('分钟')}]]</a>
<a class="dropdown-item" data-time="1800">30 [[${bundle.L('分钟')}]]</a>
<a class="dropdown-item" data-time="30">30 [[${bundle.$L('秒')}]]</a>
<a class="dropdown-item" data-time="60">1 [[${bundle.$L('分钟')}]]</a>
<a class="dropdown-item" data-time="300">5 [[${bundle.$L('分钟')}]]</a>
<a class="dropdown-item" data-time="600">10 [[${bundle.$L('分钟')}]]</a>
<a class="dropdown-item" data-time="1800">30 [[${bundle.$L('分钟')}]]</a>
</div>
</div>
<div class="btn-group">
<button type="button" class="btn btn-link pr-0 text-right J_chart-adds" data-toggle="dropdown"><i class="zmdi zmdi-plus icon"></i> [[${bundle.L('添加图表')}]]</button>
<button type="button" class="btn btn-link pr-0 text-right J_chart-adds" data-toggle="dropdown"><i class="zmdi zmdi-plus icon"></i> [[${bundle.$L('添加图表')}]]</button>
<div class="dropdown-menu dropdown-menu-right">
<a th:if="${AllowCustomChart}" class="dropdown-item J_chart-new">[[${bundle.L('添加新图表')}]]</a>
<a class="dropdown-item J_chart-select">[[${bundle.L('添加已有图表')}]]</a>
<a th:if="${AllowCustomChart}" class="dropdown-item J_chart-new">[[${bundle.$L('添加新图表')}]]</a>
<a class="dropdown-item J_chart-select">[[${bundle.$L('添加已有图表')}]]</a>
</div>
</div>
</div>

View file

@ -4,14 +4,14 @@
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/view-page.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/approvals.css}" />
<title>[[${bundle.L('审批流程图')}]]</title>
<title>[[${bundle.$L('审批流程图')}]]</title>
</head>
<body class="view-body" style="background-color: #f5f5f7">
<div class="view-header">
<i class="header-icon zmdi zmdi-usb zmdi-hc-rotate-180"></i>
<h3 class="title">[[${bundle.L('审批流程图')}]]</h3>
<h3 class="title">[[${bundle.$L('审批流程图')}]]</h3>
<span>
<a class="close J_close" th:title="${bundle.L('关闭')}"><i class="zmdi zmdi-close"></i></a>
<a class="close J_close" th:title="${bundle.$L('关闭')}"><i class="zmdi zmdi-close"></i></a>
</span>
</div>
<div class="main-content container-fluid p-0">

View file

@ -35,10 +35,10 @@
<div class="error-description" th:utext="${error_msg}"></div>
<div th:if="${error_stack != null}" class="error-description text-left"><pre th:utext="${error_stack}"></pre></div>
<div class="error-goback-button">
<a class="btn btn-xl btn-space btn-secondary" th:href="@{/dashboard/home}" id="goHome">[[${bundle.L('返回首页')}]]</a>
<button class="btn btn-xl btn-space btn-primary" type="button" onclick="location.reload()">[[${bundle.L('重试')}]]</button>
<a class="btn btn-xl btn-space btn-secondary" th:href="@{/dashboard/home}" id="goHome">[[${bundle.$L('返回首页')}]]</a>
<button class="btn btn-xl btn-space btn-primary" type="button" onclick="location.reload()">[[${bundle.$L('重试')}]]</button>
<div class="mt-4">
<a href="https://getrebuild.com/report-issue?title=error-page" target="_blank">[[${bundle.L('报告问题')}]]</a>
<a href="https://getrebuild.com/report-issue?title=error-page" target="_blank">[[${bundle.$L('报告问题')}]]</a>
</div>
</div>
</div>

View file

@ -10,7 +10,8 @@
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/rb-base.css}" />
<title>REBUILD</title>
<style>
body,html {
body,
html {
height: auto;
min-height: auto;
}
@ -28,12 +29,12 @@
<body>
<div th:if="${!ok}" class="error">
<div class="container">
<h2 class="mt-0">[[${bundle.L('系统故障')}]]</h2>
<div th:utext="${bundle.L('服务未能正常启动,请通过快速检查排除故障,排除后请重启服务。你也可以 [报告此问题](https://getrebuild.com/report-issue?title=boot-error)')}"></div>
<h2 class="mt-0">[[${bundle.$L('系统故障')}]]</h2>
<div th:utext="${bundle.$L('服务未能正常启动,请通过快速检查排除故障,排除后请重启服务。你也可以 [报告此问题](https://getrebuild.com/report-issue?title=boot-error)')}"></div>
</div>
</div>
<div class="container">
<h5 class="text-bold mt-5">[[${bundle.L('快速检查')}]]</h5>
<h5 class="text-bold mt-5">[[${bundle.$L('快速检查')}]]</h5>
<table class="table table-bordered table-sm table-hover">
<tbody>
<tr>
@ -61,7 +62,7 @@
</tbody>
</table>
<th:block th:if="${isAdminVerified}">
<h5 class="text-bold mt-5">[[${bundle.L('系统信息')}]]</h5>
<h5 class="text-bold mt-5">[[${bundle.$L('系统信息')}]]</h5>
<table class="table table-bordered table-sm table-hover">
<tbody>
<tr>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('动态')}]]</title>
<title>[[${bundle.$L('动态')}]]</title>
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/feeds.css}" />
</head>
<body>
@ -23,26 +23,26 @@
<div class="accordion m-0">
<div class="card">
<div class="card-header" id="headingSearch">
<button class="btn" data-toggle="collapse" data-target="#collapseSearch" aria-expanded="true"><i class="icon zmdi zmdi-chevron-right"></i> [[${bundle.L('搜索')}]]</button>
<button class="btn" data-toggle="collapse" data-target="#collapseSearch" aria-expanded="true"><i class="icon zmdi zmdi-chevron-right"></i> [[${bundle.$L('搜索')}]]</button>
</div>
<div class="collapse show" id="collapseSearch">
<div class="card-body">
<div class="input-group input-group-sm">
<input type="text" class="form-control search J_search-key" th:placeholder="${bundle.L('关键词')}" th:title="${bundle.L('输入关键词搜索')}" />
<input type="text" class="form-control search J_search-key" th:placeholder="${bundle.$L('关键词')}" th:title="${bundle.$L('输入关键词搜索')}" />
<span class="append">
<a><i class="icon zmdi zmdi-close"></i></a>
<i class="icon zmdi zmdi-search"></i>
</span>
</div>
<div class="input-group input-group-sm">
<input type="text" class="form-control search J_date-begin" th:placeholder="${bundle.L('发布时间') + ' (' + bundle.L('起') + ')'}" />
<input type="text" class="form-control search J_date-begin" th:placeholder="${bundle.$L('发布时间') + ' (' + bundle.$L('起') + ')'}" />
<span class="append">
<a><i class="icon zmdi zmdi-close"></i></a>
<i class="icon zmdi zmdi-calendar"></i>
</span>
</div>
<div class="input-group input-group-sm">
<input type="text" class="form-control search J_date-end" th:placeholder="${bundle.L('发布时间') + ' (' + bundle.L('止') + ')'}" />
<input type="text" class="form-control search J_date-end" th:placeholder="${bundle.$L('发布时间') + ' (' + bundle.$L('止') + ')'}" />
<span class="append">
<a><i class="icon zmdi zmdi-close"></i></a>
<i class="icon zmdi zmdi-calendar"></i>
@ -53,16 +53,16 @@
</div>
<div class="card">
<div class="card-header" id="headingFeedsType">
<button class="btn" data-toggle="collapse" data-target="#collapseFeedsType"><i class="icon zmdi zmdi-chevron-right"></i> [[${bundle.L('类型')}]]</button>
<button class="btn" data-toggle="collapse" data-target="#collapseFeedsType"><i class="icon zmdi zmdi-chevron-right"></i> [[${bundle.$L('类型')}]]</button>
</div>
<div class="collapse" id="collapseFeedsType">
<div class="card-body">
<div class="aside-tree rb-scroller">
<ul class="list-unstyled">
<li data-type="1"><a>[[${bundle.L('动态')}]]</a></li>
<li data-type="2"><a>[[${bundle.L('跟进')}]]</a></li>
<li data-type="4"><a>[[${bundle.L('日程')}]]</a></li>
<li data-type="3"><a>[[${bundle.L('公告')}]]</a></li>
<li data-type="1"><a>[[${bundle.$L('动态')}]]</a></li>
<li data-type="2"><a>[[${bundle.$L('跟进')}]]</a></li>
<li data-type="4"><a>[[${bundle.$L('日程')}]]</a></li>
<li data-type="3"><a>[[${bundle.$L('公告')}]]</a></li>
</ul>
</div>
</div>
@ -70,23 +70,23 @@
</div>
<div class="card">
<div class="card-header" id="headingGroup">
<button class="btn" data-toggle="collapse" data-target="#collapseGroup"><i class="icon zmdi zmdi-chevron-right"></i> [[${bundle.L('团队')}]]</button>
<a class="add-group admin-show" th:href="@{/admin/bizuser/teams}" th:title="${bundle.L('管理团队')}"><i class="icon zmdi zmdi-settings"></i></a>
<button class="btn" data-toggle="collapse" data-target="#collapseGroup"><i class="icon zmdi zmdi-chevron-right"></i> [[${bundle.$L('团队')}]]</button>
<a class="add-group admin-show" th:href="@{/admin/bizuser/teams}" th:title="${bundle.$L('管理团队')}"><i class="icon zmdi zmdi-settings"></i></a>
</div>
<div class="collapse" id="collapseGroup">
<div class="card-body">
<div class="search-member"><input type="text" th:placeholder="${bundle.L('搜索团队')}" /></div>
<div class="search-member"><input type="text" th:placeholder="${bundle.$L('搜索团队')}" /></div>
<div class="aside-tree rb-scroller"></div>
</div>
</div>
</div>
<div class="card">
<div class="card-header" id="headingUser">
<button class="btn" data-toggle="collapse" data-target="#collapseUser"><i class="icon zmdi zmdi-chevron-right"></i> [[${bundle.L('用户')}]]</button>
<button class="btn" data-toggle="collapse" data-target="#collapseUser"><i class="icon zmdi zmdi-chevron-right"></i> [[${bundle.$L('用户')}]]</button>
</div>
<div class="collapse" id="collapseUser">
<div class="card-body pb-3">
<div class="search-member"><input type="text" th:placeholder="${bundle.L('搜索用户')}" /></div>
<div class="search-member"><input type="text" th:placeholder="${bundle.$L('搜索用户')}" /></div>
<div class="aside-tree rb-scroller"></div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('附件管理')}]]</title>
<title>[[${bundle.$L('附件管理')}]]</title>
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/files.css}" />
</head>
<body>
@ -11,11 +11,11 @@
<th:block th:replace="~{/_include/nav-left(active='nav_entity-Attachment')}" />
<div class="rb-content rb-no-padding">
<aside class="page-aside widgets">
<a class="side-toggle" th:title="${bundle.L('展开/收缩')}"><i class="zmdi zmdi-arrow-left"></i></a>
<a class="side-toggle" th:title="${bundle.$L('展开/收缩')}"><i class="zmdi zmdi-arrow-left"></i></a>
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="attachment">[[${bundle.L('附件')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="docs">[[${bundle.L('文件')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="attachment">[[${bundle.$L('附件')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="docs">[[${bundle.$L('文件')}]]</a></li>
</ul>
<div class="tab-content rb-scroller">
<div class="tab-pane active" id="navTree">
@ -35,14 +35,14 @@
<div class="file-header">
<div class="file-path">
<ol class="breadcrumb">
<li class="breadcrumb-item active">[[${bundle.L('全部附件')}]]</li>
<li class="breadcrumb-item active">[[${bundle.$L('全部附件')}]]</li>
</ol>
</div>
<div class="file-operator">
<div class="row">
<div class="col-6">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('搜索')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('搜索')}" maxlength="40" />
<span class="input-group-btn">
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
</span>
@ -51,12 +51,12 @@
<div class="col-6 text-right">
<div class="btn-group btn-space mb-0 mr-0 J_sort">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<span>[[${bundle.L('默认排序')}]]</span>
<span>[[${bundle.$L('默认排序')}]]</span>
<i class="icon zmdi zmdi-chevron-down up-1"></i>
</button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" data-sort="newer">[[${bundle.L('最近上传')}]]</a>
<a class="dropdown-item" data-sort="older">[[${bundle.L('最早上传')}]]</a>
<a class="dropdown-item" data-sort="newer">[[${bundle.$L('最近上传')}]]</a>
<a class="dropdown-item" data-sort="older">[[${bundle.$L('最早上传')}]]</a>
</div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('文件管理')}]]</title>
<title>[[${bundle.$L('文件管理')}]]</title>
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/files.css}" />
</head>
<body>
@ -11,11 +11,11 @@
<th:block th:replace="~{/_include/nav-left(active='nav_entity-Attachment')}" />
<div class="rb-content rb-no-padding">
<aside class="page-aside widgets">
<a class="side-toggle" th:title="${bundle.L('展开/收缩')}"><i class="zmdi zmdi-arrow-left"></i></a>
<a class="side-toggle" th:title="${bundle.$L('展开/收缩')}"><i class="zmdi zmdi-arrow-left"></i></a>
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link" href="attachment">[[${bundle.L('附件')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="docs">[[${bundle.L('文件')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="attachment">[[${bundle.$L('附件')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="docs">[[${bundle.$L('文件')}]]</a></li>
</ul>
<div class="tab-content rb-scroller">
<div class="tab-pane active" id="navTree">
@ -35,14 +35,14 @@
<div class="file-header">
<div class="file-path">
<ol class="breadcrumb">
<li class="breadcrumb-item active">[[${bundle.L('全部文件')}]]</li>
<li class="breadcrumb-item active">[[${bundle.$L('全部文件')}]]</li>
</ol>
</div>
<div class="file-operator">
<div class="row">
<div class="col-6">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('搜索')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('搜索')}" maxlength="40" />
<span class="input-group-btn">
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
</span>
@ -50,23 +50,23 @@
</div>
<div class="col-6 text-right">
<div class="btn-group btn-space mb-0">
<button class="btn btn-primary J_upload-file" type="button"><i class="icon zmdi zmdi-upload"></i> [[${bundle.L('上传文件')}]]</button>
<button class="btn btn-primary J_upload-file" type="button"><i class="icon zmdi zmdi-upload"></i> [[${bundle.$L('上传文件')}]]</button>
<button class="btn btn-primary dropdown-toggle auto" type="button" data-toggle="dropdown"><span class="icon zmdi zmdi-chevron-down"></span></button>
<div class="dropdown-menu dropdown-menu-primary dropdown-menu-right">
<a class="dropdown-item J_add-folder"><i class="icon zmdi zmdi-folder"></i> [[${bundle.L('新建目录')}]]</a>
<a class="dropdown-item J_add-folder"><i class="icon zmdi zmdi-folder"></i> [[${bundle.$L('新建目录')}]]</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item J_move"><i class="icon zmdi zmdi-swap"></i> [[${bundle.L('修改文件目录')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除文件')}]]</a>
<a class="dropdown-item J_move"><i class="icon zmdi zmdi-swap"></i> [[${bundle.$L('修改文件目录')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除文件')}]]</a>
</div>
</div>
<div class="btn-group btn-space mb-0 mr-0 J_sort">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<span>[[${bundle.L('默认排序')}]]</span>
<span>[[${bundle.$L('默认排序')}]]</span>
<i class="icon zmdi zmdi-chevron-down up-1"></i>
</button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" data-sort="newer">[[${bundle.L('最近上传')}]]</a>
<a class="dropdown-item" data-sort="older">[[${bundle.L('最早上传')}]]</a>
<a class="dropdown-item" data-sort="newer">[[${bundle.$L('最近上传')}]]</a>
<a class="dropdown-item" data-sort="older">[[${bundle.$L('最早上传')}]]</a>
</div>
</div>
</div>

View file

@ -11,11 +11,11 @@
<th:block th:replace="~{/_include/nav-left(active=${'nav_entity-' + mainEntity})}" />
<div class="rb-content">
<aside class="page-aside widgets">
<a class="side-toggle" th:title="${bundle.L('展开/收缩')}"><i class="zmdi zmdi-arrow-left"></i></a>
<a class="side-toggle" th:title="${bundle.$L('展开/收缩')}"><i class="zmdi zmdi-arrow-left"></i></a>
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#asideFilters" data-toggle="tab">[[${bundle.L('常用查询')}]]</a></li>
<li class="nav-item"><a class="nav-link J_load-chart" href="#asideWidgets" data-toggle="tab">[[${bundle.L('图表')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#asideFilters" data-toggle="tab">[[${bundle.$L('常用查询')}]]</a></li>
<li class="nav-item"><a class="nav-link J_load-chart" href="#asideWidgets" data-toggle="tab">[[${bundle.$L('图表')}]]</a></li>
</ul>
<div class="tab-content rb-scroller">
<div class="tab-pane active" id="asideFilters">
@ -31,7 +31,7 @@
<div class="tab-pane" id="asideWidgets">
<div class="charts-wrap"></div>
<div class="text-center">
<button class="btn btn-secondary J_add-chart"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('选择图表')}]]</button>
<button class="btn btn-secondary J_add-chart"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('选择图表')}]]</button>
</div>
</div>
</div>
@ -55,18 +55,18 @@
<div class="adv-search float-left">
<div class="btn-group btn-space">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<span class="text-truncate J_name">[[${bundle.L('全部数据')}]]</span><i class="icon zmdi zmdi-caret-down"></i>
<span class="text-truncate J_name">[[${bundle.$L('全部数据')}]]</span><i class="icon zmdi zmdi-caret-down"></i>
</button>
<div class="dropdown-menu rb-scroller">
<div class="dropdown-item" data-id="$ALL$"><a>[[${bundle.L('全部数据')}]]</a></div>
<div class="dropdown-item" data-id="$ALL$"><a>[[${bundle.$L('全部数据')}]]</a></div>
</div>
<div class="input-group-append">
<button th:title="${bundle.L('高级查询')}" class="btn btn-secondary J_advfilter" type="button"><i class="icon zmdi zmdi-filter-list"></i></button>
<button th:title="${bundle.$L('高级查询')}" class="btn btn-secondary J_advfilter" type="button"><i class="icon zmdi zmdi-filter-list"></i></button>
</div>
</div>
</div>
<div class="input-group input-search float-left">
<input class="form-control" type="text" th:placeholder="${bundle.L('快速查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('快速查询')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -75,19 +75,19 @@
</div>
<div class="col-12 col-md-6">
<div class="dataTables_oper">
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.L('打开')}]]</button>
<button class="btn btn-space btn-secondary J_edit" type="button" disabled="disabled"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.L('编辑')}]]</button>
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.$L('打开')}]]</button>
<button class="btn btn-space btn-secondary J_edit" type="button" disabled="disabled"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.$L('编辑')}]]</button>
<div class="btn-group btn-space J_action">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除')}]]</a>
<div class="dropdown-divider"></div>
<a th:if="${AllowDataExport}" class="dropdown-item J_export"><i class="icon zmdi zmdi-cloud-download"></i> [[${bundle.L('数据导出')}]]</a>
<a th:if="${AllowDataExport}" class="dropdown-item J_export"><i class="icon zmdi zmdi-cloud-download"></i> [[${bundle.$L('数据导出')}]]</a>
<a class="dropdown-item admin-show" th:href="|${baseUrl}/admin/data/data-imports?entity=${entityName}|">
<i class="icon zmdi zmdi-cloud-upload"></i> [[${bundle.L('数据导入')}]]
<i class="icon zmdi zmdi-cloud-upload"></i> [[${bundle.$L('数据导入')}]]
</a>
<a th:if="${AllowBatchUpdate}" class="dropdown-item J_batch"><i class="icon zmdi zmdi-flash"></i> [[${bundle.L('批量更新')}]] </a>
<a th:if="${AllowCustomDataList}" class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.L('列显示')}]]</a>
<a th:if="${AllowBatchUpdate}" class="dropdown-item J_batch"><i class="icon zmdi zmdi-flash"></i> [[${bundle.$L('批量更新')}]] </a>
<a th:if="${AllowCustomDataList}" class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.$L('列显示')}]]</a>
</div>
</div>
</div>

View file

@ -9,11 +9,11 @@
<body class="view-body">
<div class="view-header">
<i class="header-icon zmdi" th:classappend="|zmdi-${entityIcon}|"></i>
<h3 class="title" th:text="${bundle.L('SomeView,e.' + entityName)}"></h3>
<h3 class="title" th:text="${bundle.$L('SomeView,e.' + entityName)}"></h3>
<span>
<a class="close J_close" th:title="${bundle.L('关闭')}"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload" th:title="${bundle.L('刷新')}"><i class="zmdi zmdi-refresh"></i></a>
<a class="close sm admin-show" th:title="${bundle.L('表单设计')}" th:href="|${baseUrl}/admin/entity/${entityName}/form-design|" target="_blank">
<a class="close J_close" th:title="${bundle.$L('关闭')}"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload" th:title="${bundle.$L('刷新')}"><i class="zmdi zmdi-refresh"></i></a>
<a class="close sm admin-show" th:title="${bundle.$L('表单设计')}" th:href="|${baseUrl}/admin/entity/${entityName}/form-design|" target="_blank">
<i class="zmdi zmdi-settings"></i>
</a>
</span>
@ -23,7 +23,7 @@
<div class="col-12 col-md-9">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.L('明细视图')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.$L('明细视图')}]]</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-rbview"></div>
@ -33,34 +33,34 @@
<div class="col-12 col-md-3 view-operating">
<div class="view-action row">
<div class="col-12 col-lg-6">
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.L('编辑')}]]</button>
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.$L('编辑')}]]</button>
</div>
<div class="col-12 col-lg-6 btn-group J_mores">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除')}]]</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item J_print" target="_blank" th:href="|${baseUrl}/app/${entityName}/print?id=${id}|"><i class="icon zmdi zmdi-print"></i> [[${bundle.L('打印')}]]</a>
<a class="dropdown-item J_print" target="_blank" th:href="|${baseUrl}/app/${entityName}/print?id=${id}|"><i class="icon zmdi zmdi-print"></i> [[${bundle.$L('打印')}]]</a>
</div>
</div>
</div>
<div class="view-date">
<div class="form-line">
<fieldset><legend>[[${bundle.L('日期')}]]</legend></fieldset>
<fieldset><legend>[[${bundle.$L('日期')}]]</legend></fieldset>
</div>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('创建时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('创建时间')}]]</dt>
<dd class="col-12 col-lg-8 J_createdOn"></dd>
</dl>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('修改时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('修改时间')}]]</dt>
<dd class="col-12 col-lg-8 J_modifiedOn"></dd>
</dl>
</div>
<div class="view-history" th:if="${ShowViewHistory}">
<div class="form-line">
<fieldset>
<legend>[[${bundle.L('修改历史')}]] <i class="zmdi zmdi-help zicon" data-toggle="tooltip" th:title="${bundle.L('修改历史明细可至管理员后台 (变更历史) 查看')}"></i></legend>
<legend>[[${bundle.$L('修改历史')}]] <i class="zmdi zmdi-help zicon" data-toggle="tooltip" th:title="${bundle.$L('修改历史明细可至管理员后台 (变更历史) 查看')}"></i></legend>
</fieldset>
</div>
<ul class="view-history-items list-unstyled"></ul>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('打印视图')}]]</title>
<title>[[${bundle.$L('打印视图')}]]</title>
<style type="text/css">
html,
body {
@ -49,8 +49,8 @@
</head>
<body>
<div class="preview-tools d-print-none">
<button class="btn btn-space btn-primary" onclick="window.print()"><i class="icon zmdi zmdi-print"></i> [[${bundle.L('打印')}]]</button>
<button class="btn btn-space btn-secondary" onclick="window.close()">[[${bundle.L('关闭')}]]</button>
<button class="btn btn-space btn-primary" onclick="window.print()"><i class="icon zmdi zmdi-print"></i> [[${bundle.$L('打印')}]]</button>
<button class="btn btn-space btn-secondary" onclick="window.close()">[[${bundle.$L('关闭')}]]</button>
</div>
<div class="preview-content">
<div id="preview-table"></div>

View file

@ -11,11 +11,11 @@
<th:block th:replace="~{/_include/nav-left(active=${'nav_entity-' + entityName})}" />
<div class="rb-content">
<aside class="page-aside widgets">
<a class="side-toggle" th:title="${bundle.L('展开/收缩')}"><i class="zmdi zmdi-arrow-left"></i></a>
<a class="side-toggle" th:title="${bundle.$L('展开/收缩')}"><i class="zmdi zmdi-arrow-left"></i></a>
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#asideFilters" data-toggle="tab">[[${bundle.L('常用查询')}]]</a></li>
<li class="nav-item"><a class="nav-link J_load-chart" href="#asideWidgets" data-toggle="tab">[[${bundle.L('图表')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#asideFilters" data-toggle="tab">[[${bundle.$L('常用查询')}]]</a></li>
<li class="nav-item"><a class="nav-link J_load-chart" href="#asideWidgets" data-toggle="tab">[[${bundle.$L('图表')}]]</a></li>
</ul>
<div class="tab-content rb-scroller">
<div class="tab-pane active" id="asideFilters">
@ -31,7 +31,7 @@
<div class="tab-pane" id="asideWidgets">
<div class="charts-wrap"></div>
<div class="text-center">
<button class="btn btn-secondary J_add-chart"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('选择图表')}]]</button>
<button class="btn btn-secondary J_add-chart"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('选择图表')}]]</button>
</div>
</div>
</div>
@ -55,18 +55,18 @@
<div class="adv-search float-left">
<div class="btn-group btn-space">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">
<span class="text-truncate J_name">[[${bundle.L('全部数据')}]]</span><i class="icon zmdi zmdi-caret-down"></i>
<span class="text-truncate J_name">[[${bundle.$L('全部数据')}]]</span><i class="icon zmdi zmdi-caret-down"></i>
</button>
<div class="dropdown-menu rb-scroller">
<div class="dropdown-item" data-id="$ALL$"><a>[[${bundle.L('全部数据')}]]</a></div>
<div class="dropdown-item" data-id="$ALL$"><a>[[${bundle.$L('全部数据')}]]</a></div>
</div>
<div class="input-group-append">
<button th:title="${bundle.L('高级查询')}" class="btn btn-secondary J_advfilter" type="button"><i class="icon zmdi zmdi-filter-list"></i></button>
<button th:title="${bundle.$L('高级查询')}" class="btn btn-secondary J_advfilter" type="button"><i class="icon zmdi zmdi-filter-list"></i></button>
</div>
</div>
</div>
<div class="input-group input-search float-left">
<input class="form-control" type="text" th:placeholder="${bundle.L('快速查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('快速查询')}" maxlength="40" />
<span class="input-group-btn"
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
></span>
@ -75,23 +75,23 @@
</div>
<div class="col-12 col-md-6">
<div class="dataTables_oper">
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.L('打开')}]]</button>
<button class="btn btn-space btn-secondary J_edit" type="button" disabled="disabled"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.L('编辑')}]]</button>
<button class="btn btn-space btn-primary J_new"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('新建')}]]</button>
<button class="btn btn-space btn-secondary J_view" type="button" disabled="disabled"><i class="icon zmdi zmdi-folder"></i> [[${bundle.$L('打开')}]]</button>
<button class="btn btn-space btn-secondary J_edit" type="button" disabled="disabled"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.$L('编辑')}]]</button>
<button class="btn btn-space btn-primary J_new"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('新建')}]]</button>
<div class="btn-group btn-space J_action">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除')}]]</a>
<a class="dropdown-item J_assign"><i class="icon zmdi zmdi-mail-reply-all"></i> [[${bundle.L('分派')}]]</a>
<a class="dropdown-item J_share"><i class="icon zmdi zmdi-portable-wifi"></i> [[${bundle.L('共享')}]]</a>
<a class="dropdown-item J_unshare"><i class="icon zmdi zmdi-portable-wifi-off"></i> [[${bundle.L('取消共享')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除')}]]</a>
<a class="dropdown-item J_assign"><i class="icon zmdi zmdi-mail-reply-all"></i> [[${bundle.$L('分派')}]]</a>
<a class="dropdown-item J_share"><i class="icon zmdi zmdi-portable-wifi"></i> [[${bundle.$L('共享')}]]</a>
<a class="dropdown-item J_unshare"><i class="icon zmdi zmdi-portable-wifi-off"></i> [[${bundle.$L('取消共享')}]]</a>
<div class="dropdown-divider"></div>
<a th:if="${AllowDataExport}" class="dropdown-item J_export"><i class="icon zmdi zmdi-cloud-download"></i> [[${bundle.L('数据导出')}]]</a>
<a th:if="${AllowDataExport}" class="dropdown-item J_export"><i class="icon zmdi zmdi-cloud-download"></i> [[${bundle.$L('数据导出')}]]</a>
<a class="dropdown-item admin-show" th:href="|${baseUrl}/admin/data/data-imports?entity=${entityName}|">
<i class="icon zmdi zmdi-cloud-upload"></i> [[${bundle.L('数据导入')}]]
<i class="icon zmdi zmdi-cloud-upload"></i> [[${bundle.$L('数据导入')}]]
</a>
<a th:if="${AllowBatchUpdate}" class="dropdown-item J_batch"><i class="icon zmdi zmdi-flash"></i> [[${bundle.L('批量修改')}]]</a>
<a th:if="${AllowCustomDataList}" class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.L('列显示')}]]</a>
<a th:if="${AllowBatchUpdate}" class="dropdown-item J_batch"><i class="icon zmdi zmdi-flash"></i> [[${bundle.$L('批量修改')}]]</a>
<a th:if="${AllowCustomDataList}" class="dropdown-item J_columns"><i class="icon zmdi zmdi-code-setting"></i> [[${bundle.$L('列显示')}]]</a>
</div>
</div>
</div>

View file

@ -9,11 +9,11 @@
<body class="view-body">
<div class="view-header">
<i class="header-icon zmdi" th:classappend="|zmdi-${entityIcon}|"></i>
<h3 class="title" th:text="${bundle.L('SomeView,e.' + entityName)}"></h3>
<h3 class="title" th:text="${bundle.$L('SomeView,e.' + entityName)}"></h3>
<span>
<a class="close J_close" th:title="${bundle.L('关闭')}"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload" th:title="${bundle.L('刷新')}"><i class="zmdi zmdi-refresh"></i></a>
<a class="close sm admin-show" th:title="${bundle.L('表单设计')}" th:href="|${baseUrl}/admin/entity/${entityName}/form-design|" target="_blank">
<a class="close J_close" th:title="${bundle.$L('关闭')}"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload" th:title="${bundle.$L('刷新')}"><i class="zmdi zmdi-refresh"></i></a>
<a class="close sm admin-show" th:title="${bundle.$L('表单设计')}" th:href="|${baseUrl}/admin/entity/${entityName}/form-design|" target="_blank">
<i class="zmdi zmdi-settings"></i>
</a>
</span>
@ -23,8 +23,8 @@
<div class="col-12 col-md-9">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.L('详情')}]]</a></li>
<a class="vtab-settings admin-show J_view-addons" data-type="TAB" th:title="${bundle.L('显示项配置')}"><i class="zmdi zmdi-settings"></i></a>
<li class="nav-item"><a class="nav-link active" href="#tab-rbview" data-toggle="tab">[[${bundle.$L('详情')}]]</a></li>
<a class="vtab-settings admin-show J_view-addons" data-type="TAB" th:title="${bundle.$L('显示项配置')}"><i class="zmdi zmdi-settings"></i></a>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-rbview"></div>
@ -34,69 +34,69 @@
<div class="col-12 col-md-3 view-operating">
<div class="view-action row">
<div class="col-12 col-lg-6">
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.L('编辑')}]]</button>
<button class="btn btn-secondary J_edit" type="button"><i class="icon zmdi zmdi-border-color"></i> [[${bundle.$L('编辑')}]]</button>
</div>
<div class="col-12 col-lg-6 btn-group J_mores">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown">[[${bundle.$L('更多')}]] <i class="icon zmdi zmdi-more-vert"></i></button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.L('删除')}]]</a>
<a class="dropdown-item J_assign"><i class="icon zmdi zmdi-mail-reply-all"></i> [[${bundle.L('分派')}]]</a>
<a class="dropdown-item J_share"><i class="icon zmdi zmdi-portable-wifi"></i> [[${bundle.L('共享')}]]</a>
<a class="dropdown-item J_delete"><i class="icon zmdi zmdi-delete"></i> [[${bundle.$L('删除')}]]</a>
<a class="dropdown-item J_assign"><i class="icon zmdi zmdi-mail-reply-all"></i> [[${bundle.$L('分派')}]]</a>
<a class="dropdown-item J_share"><i class="icon zmdi zmdi-portable-wifi"></i> [[${bundle.$L('共享')}]]</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item J_print" target="_blank" th:href="|${baseUrl}/app/${entityName}/print?id=${id}|"><i class="icon zmdi zmdi-print"></i> [[${bundle.L('打印')}]]</a>
<a class="dropdown-item J_report"><i class="icon zmdi zmdi-map"></i> [[${bundle.L('报表')}]]</a>
<a class="dropdown-item J_print" target="_blank" th:href="|${baseUrl}/app/${entityName}/print?id=${id}|"><i class="icon zmdi zmdi-print"></i> [[${bundle.$L('打印')}]]</a>
<a class="dropdown-item J_report"><i class="icon zmdi zmdi-map"></i> [[${bundle.$L('报表')}]]</a>
</div>
</div>
<div th:if="${detailEntity != null}" class="col-12 col-lg-6">
<button class="btn btn-secondary J_add-detail" type="button" th:data-entity="${detailEntity}" th:data-label="${detailEntityLabel}" th:data-icon="${detailEntityIcon}">
<i class="icon x14 zmdi zmdi-playlist-plus"></i> [[${bundle.L('添加明细')}]]
<i class="icon x14 zmdi zmdi-playlist-plus"></i> [[${bundle.$L('添加明细')}]]
</button>
</div>
<div class="col-12 col-lg-6 btn-group J_adds">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown"><i class="icon zmdi zmdi-plus"></i> [[${bundle.L('添加明细')}]]</button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown"><i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('添加明细')}]]</button>
<div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-divider"></div>
<a class="dropdown-item admin-show J_view-addons" data-type="ADD"><i class="icon zmdi zmdi-settings"></i> [[${bundle.L('配置新建项')}]]</a>
<a class="dropdown-item admin-show J_view-addons" data-type="ADD"><i class="icon zmdi zmdi-settings"></i> [[${bundle.$L('配置新建项')}]]</a>
</div>
</div>
<div class="col-12 col-lg-6 btn-group J_trans hide">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown"><i class="icon zmdi zmdi-transform"></i> [[${bundle.L('转换为')}]]</button>
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown"><i class="icon zmdi zmdi-transform"></i> [[${bundle.$L('转换为')}]]</button>
<div class="dropdown-menu dropdown-menu-right">
<div class="dropdown-divider"></div>
<a class="dropdown-item admin-show" target="_blank" th:href="${baseUrl} + '/admin/transforms'"><i class="icon zmdi zmdi-settings"></i> [[${bundle.L('配置记录转换映射')}]]</a>
<a class="dropdown-item admin-show" target="_blank" th:href="${baseUrl} + '/admin/transforms'"><i class="icon zmdi zmdi-settings"></i> [[${bundle.$L('配置记录转换映射')}]]</a>
</div>
</div>
</div>
<div class="view-user">
<div class="form-line">
<fieldset><legend>[[${bundle.L('用户')}]]</legend></fieldset>
<fieldset><legend>[[${bundle.$L('用户')}]]</legend></fieldset>
</div>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('所属用户')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('所属用户')}]]</dt>
<dd class="col-12 col-lg-8 J_owningUser"></dd>
</dl>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('共享用户')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('共享用户')}]]</dt>
<dd class="col-12 col-lg-8 J_sharingList"></dd>
</dl>
</div>
<div class="view-date">
<div class="form-line">
<fieldset><legend>[[${bundle.L('日期')}]]</legend></fieldset>
<fieldset><legend>[[${bundle.$L('日期')}]]</legend></fieldset>
</div>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('创建时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('创建时间')}]]</dt>
<dd class="col-12 col-lg-8 J_createdOn"></dd>
</dl>
<dl class="row">
<dt class="col-12 col-lg-4">[[${bundle.L('修改时间')}]]</dt>
<dt class="col-12 col-lg-4">[[${bundle.$L('修改时间')}]]</dt>
<dd class="col-12 col-lg-8 J_modifiedOn"></dd>
</dl>
</div>
<div class="view-history" th:if="${ShowViewHistory}">
<div class="form-line">
<fieldset>
<legend>[[${bundle.L('修改历史')}]] <i class="zmdi zmdi-help zicon" data-toggle="tooltip" th:title="${bundle.L('修改历史明细可至管理员后台 (变更历史) 查看')}"></i></legend>
<legend>[[${bundle.$L('修改历史')}]] <i class="zmdi zmdi-help zicon" data-toggle="tooltip" th:title="${bundle.$L('修改历史明细可至管理员后台 (变更历史) 查看')}"></i></legend>
</fieldset>
</div>
<ul class="view-history-items list-unstyled"></ul>

View file

@ -26,7 +26,7 @@
<div class="col-6">
<div class="dataTables_filter">
<div class="input-group input-search">
<input class="form-control" type="text" th:placeholder="${bundle.L('快速查询')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('快速查询')}" maxlength="40" />
<span class="input-group-btn">
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
</span>
@ -35,9 +35,9 @@
</div>
<div class="col-6">
<div class="dataTables_oper">
<button class="btn btn-space btn-primary btn-outline J_select" type="button"><i class="icon zmdi zmdi-check"></i> [[${bundle.L('选择')}]]</button>
<button class="btn btn-space btn-primary btn-outline J_select" type="button"><i class="icon zmdi zmdi-check"></i> [[${bundle.$L('选择')}]]</button>
<a th:if="${canCreate}" target="_blank" class="btn btn-space btn-primary" th:href="|${baseUrl}/app/${entityName}/list#!/New|">
<i class="icon zmdi zmdi-plus"></i> [[${bundle.L('新建')}]]
<i class="icon zmdi zmdi-plus"></i> [[${bundle.$L('新建')}]]
</a>
</div>
</div>

View file

@ -2,20 +2,20 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('列显示')}]]</title>
<title>[[${bundle.$L('列显示')}]]</title>
</head>
<body class="dialog">
<div class="main-content">
<div class="row m-0">
<div class="col-6 sortable-swap">
<h5 class="sortable-box-title">[[${bundle.L('已显示')}]]</h5>
<h5 class="sortable-box-title">[[${bundle.$L('已显示')}]]</h5>
<div class="sortable-box h380 rb-scroller">
<ol class="dd-list J_config"></ol>
</div>
<i class="zmdi zmdi-swap"></i>
</div>
<div class="col-6">
<h5 class="sortable-box-title">[[${bundle.L('未显示')}]]</h5>
<h5 class="sortable-box-title">[[${bundle.$L('未显示')}]]</h5>
<div class="sortable-box h380 rb-scroller">
<ol class="dd-list unset-list"></ol>
</div>
@ -25,8 +25,8 @@
<div class="float-left">
<div id="shareTo" class="shareTo--wrap"></div>
</div>
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-secondary" onclick="parent.RbModal.hide()" type="button">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
<button class="btn btn-secondary" onclick="parent.RbModal.hide()" type="button">[[${bundle.$L('取消')}]]</button>
</div>
</div>
<th:block th:replace="~{/_include/footer}" />

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('通知')}]]</title>
<title>[[${bundle.$L('通知')}]]</title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo rb-offcanvas-menu">
@ -13,12 +13,12 @@
<div class="tab-container">
<ul class="nav nav-tabs nav-tabs-classic notification-tab">
<li class="nav-item">
<a class="nav-link active" href="notifications"><span class="icon zmdi zmdi-notifications"></span> [[${bundle.L('消息')}]]</a>
<a class="nav-link active" href="notifications"><span class="icon zmdi zmdi-notifications"></span> [[${bundle.$L('消息')}]]</a>
</li>
<li class="nav-item">
<a class="nav-link" href="notifications/todo"><span class="icon zmdi zmdi-alarm-check"></span> [[${bundle.L('待办')}]]</a>
<a class="nav-link" href="notifications/todo"><span class="icon zmdi zmdi-alarm-check"></span> [[${bundle.$L('待办')}]]</a>
</li>
<button class="btn btn-secondary read-all" type="button"><i class="zmdi zmdi-check-all icon"></i> [[${bundle.L('已读全部')}]]</button>
<button class="btn btn-secondary read-all" type="button"><i class="zmdi zmdi-check-all icon"></i> [[${bundle.$L('已读全部')}]]</button>
</ul>
<div class="tab-content">
<div class="tab-pane active">
@ -26,25 +26,25 @@
<div class="col-md-3 col-12">
<div class="list-group notification-type">
<a href="#unread" data-type="1" class="list-group-item d-flex list-group-item-action">
<span class="text">[[${bundle.L('未读消息')}]]</span>
<span class="text">[[${bundle.$L('未读消息')}]]</span>
</a>
<a href="#read" data-type="2" class="hide list-group-item d-flex list-group-item-action">
<span class="text">[[${bundle.L('已读消息')}]]</span>
<span class="text">[[${bundle.$L('已读消息')}]]</span>
</a>
<a href="#feeds" data-type="30" class="list-group-item d-flex list-group-item-action">
<span class="text">[[${bundle.L('动态')}]]</span>
<span class="text">[[${bundle.$L('动态')}]]</span>
</a>
<a href="#project" data-type="40" class="list-group-item d-flex list-group-item-action">
<span class="text">[[${bundle.L('项目')}]]</span>
<span class="text">[[${bundle.$L('项目')}]]</span>
</a>
<a href="#approval" data-type="20" class="list-group-item d-flex list-group-item-action">
<span class="text">[[${bundle.L('审批')}]]</span>
<span class="text">[[${bundle.$L('审批')}]]</span>
</a>
<a href="#assigns" data-type="10" class="list-group-item d-flex list-group-item-action">
<span class="text">[[${bundle.L('分派&共享')}]]</span>
<span class="text">[[${bundle.$L('分派&共享')}]]</span>
</a>
<a href="#all" data-type="3" class="list-group-item d-flex list-group-item-action">
<span class="text">[[${bundle.L('全部消息')}]]</span>
<span class="text">[[${bundle.$L('全部消息')}]]</span>
</a>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('通知')}]]</title>
<title>[[${bundle.$L('通知')}]]</title>
<style type="text/css">
.notification-info .badge {
border-radius: 99px;
@ -21,10 +21,10 @@
<div class="tab-container">
<ul class="nav nav-tabs nav-tabs-classic notification-tab">
<li class="nav-item">
<a class="nav-link" href="../notifications"><span class="icon zmdi zmdi-notifications"></span> [[${bundle.L('消息')}]]</a>
<a class="nav-link" href="../notifications"><span class="icon zmdi zmdi-notifications"></span> [[${bundle.$L('消息')}]]</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="todo"><span class="icon zmdi zmdi-alarm-check"></span> [[${bundle.L('待办')}]]</a>
<a class="nav-link active" href="todo"><span class="icon zmdi zmdi-alarm-check"></span> [[${bundle.$L('待办')}]]</a>
</li>
</ul>
<div class="tab-content">
@ -33,7 +33,7 @@
<div class="col-md-3 col-12">
<div class="list-group notification-type">
<a href="#approval" data-type="20" class="list-group-item d-flex list-group-item-action active">
<span class="text">[[${bundle.L('待我审批')}]]</span>
<span class="text">[[${bundle.$L('待我审批')}]]</span>
<span class="badge badge-pill badge-primary hide">0</span>
</a>
</div>

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/project-tasks.css}" />
<title th:text="${projectName} + ' · ' + ${bundle.L('项目')}"></title>
<title th:text="${projectName} + ' · ' + ${bundle.$L('项目')}"></title>
</head>
<body>
<div class="rb-wrapper rb-fixed-sidebar rb-collapsible-sidebar rb-collapsible-sidebar-hide-logo" th:classappend="${sideCollapsedClazz}">
@ -21,7 +21,7 @@
<h4 th:text="${projectName}"></h4>
<div class="project-action">
<span class="admin-show">
<a th:href="${baseUrl} + '/admin/project/' + ${projectId}" th:title="${bundle.L('项目管理')}" target="_blank" class="zicon"><i class="zmdi zmdi-settings"></i></a>
<a th:href="${baseUrl} + '/admin/project/' + ${projectId}" th:title="${bundle.$L('项目管理')}" target="_blank" class="zicon"><i class="zmdi zmdi-settings"></i></a>
</span>
</div>
</div>
@ -30,31 +30,31 @@
<div class="btn-group J_sorts">
<button type="button" class="btn btn-link pr-0 text-right" data-toggle="dropdown">
<i class="zmdi zmdi-sort-asc icon"></i>
<span>[[${bundle.L('排序')}]]</span>
<span>[[${bundle.$L('排序')}]]</span>
</button>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" data-sort="seq">[[${bundle.L('手动拖动')}]]</a>
<a class="dropdown-item" data-sort="deadline">[[${bundle.L('最近截至')}]]</a>
<a class="dropdown-item" data-sort="modifiedOn">[[${bundle.L('最近更新')}]]</a>
<a class="dropdown-item" data-sort="seq">[[${bundle.$L('手动拖动')}]]</a>
<a class="dropdown-item" data-sort="deadline">[[${bundle.$L('最近截至')}]]</a>
<a class="dropdown-item" data-sort="modifiedOn">[[${bundle.$L('最近更新')}]]</a>
</div>
</div>
<div class="btn-group J_search">
<button type="button" class="btn btn-link pr-0 text-right" data-toggle="dropdown">
<i class="zmdi zmdi-search icon"></i>
[[${bundle.L('搜索')}]]
[[${bundle.$L('搜索')}]]
<i class="indicator-primary bg-warning hide" style="top: 1px; right: -7px"></i>
</button>
<div class="dropdown-menu dropdown-menu-right">
<div class="px-4 py-2">
<div class="input-group input-search m-0">
<input class="form-control" type="text" th:placeholder="${bundle.L('输入关键词搜索')}" maxlength="40" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('输入关键词搜索')}" maxlength="40" />
<span class="input-group-btn">
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
</span>
</div>
</div>
<div class="dropdown-divider"></div>
<a class="dropdown-item J_filter"><i class="icon zmdi zmdi-filter-list"></i> [[${bundle.L('高级查询')}]]</a>
<a class="dropdown-item J_filter"><i class="icon zmdi zmdi-filter-list"></i> [[${bundle.$L('高级查询')}]]</a>
</div>
</div>
</div>

View file

@ -5,15 +5,15 @@
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/view-page.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/feeds.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/css/task-view.css}" />
<title>[[${bundle.L('任务视图')}]]</title>
<title>[[${bundle.$L('任务视图')}]]</title>
</head>
<body class="view-body" th:classappend="${!isMember} ? 'readonly'">
<div class="view-header">
<i class="header-icon zmdi" th:classappend="${'zmdi-' + projectIcon}"></i>
<h3 class="title">[[${bundle.L('任务视图')}]]</h3>
<h3 class="title">[[${bundle.$L('任务视图')}]]</h3>
<span>
<a class="close J_close" th:title="${bundle.L('关闭')}"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload" th:title="${bundle.L('刷新')}"><i class="zmdi zmdi-refresh"></i></a>
<a class="close J_close" th:title="${bundle.$L('关闭')}"><i class="zmdi zmdi-close"></i></a>
<a class="close sm J_reload" th:title="${bundle.$L('刷新')}"><i class="zmdi zmdi-refresh"></i></a>
</span>
</div>
<div class="main-content container-fluid">

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('导航菜单')}]]</title>
<title>[[${bundle.$L('导航菜单')}]]</title>
<style type="text/css">
.dd3-content > .zmdi {
position: absolute;
@ -46,46 +46,46 @@
<ol class="dd-list J_config"></ol>
</div>
<div class="actions">
<button type="button" class="btn btn-secondary btn-sm J_add-menu">+ [[${bundle.L('添加菜单项')}]]</button>
<button type="button" class="btn btn-secondary btn-sm J_add-menu">+ [[${bundle.$L('添加菜单项')}]]</button>
</div>
</div>
<div class="col-7 mt-2 pl-6">
<div class="text-muted J_edit-tips">[[${bundle.L('点击左侧菜单项进行编辑')}]]</div>
<div class="text-muted J_edit-tips">[[${bundle.$L('点击左侧菜单项进行编辑')}]]</div>
<div class="J_edit-menu hide" style="margin-top: -6px">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link J_menuType active" href="#ENTITY" data-toggle="tab">[[${bundle.L('关联项')}]]</a></li>
<li class="nav-item"><a class="nav-link J_menuType" href="#URL" data-toggle="tab">[[${bundle.L('外部地址')}]]</a></li>
<li class="nav-item"><a class="nav-link J_menuType active" href="#ENTITY" data-toggle="tab">[[${bundle.$L('关联项')}]]</a></li>
<li class="nav-item"><a class="nav-link J_menuType" href="#URL" data-toggle="tab">[[${bundle.$L('外部地址')}]]</a></li>
</ul>
<div class="tab-content m-0 p-0 pt-3 pb-3">
<div class="tab-pane active" id="ENTITY">
<select class="form-control form-control-sm J_menuEntity">
<option value="">[[${bundle.L('选择关联项')}]]</option>
<optgroup th:label="${bundle.L('业务实体')}">
<option value="">[[${bundle.$L('选择关联项')}]]</option>
<optgroup th:label="${bundle.$L('业务实体')}">
<!-- Biz entities -->
</optgroup>
<optgroup th:label="${bundle.L('系统内置')}">
<option value="$FILEMRG$" data-icon="folder">[[${bundle.L('文件')}]]</option>
<option value="$FEEDS$" data-icon="chart-donut">[[${bundle.L('动态')}]]</option>
<option value="$PROJECT$" data-icon="shape">[[${bundle.L('项目')}]]</option>
<option value="$PARENT$" data-icon="menu">[[${bundle.L('父级菜单')}]]</option>
<optgroup th:label="${bundle.$L('系统内置')}">
<option value="$FILEMRG$" data-icon="folder">[[${bundle.$L('文件')}]]</option>
<option value="$FEEDS$" data-icon="chart-donut">[[${bundle.$L('动态')}]]</option>
<option value="$PROJECT$" data-icon="shape">[[${bundle.$L('项目')}]]</option>
<option value="$PARENT$" data-icon="menu">[[${bundle.$L('父级菜单')}]]</option>
</optgroup>
</select>
</div>
<div class="tab-pane" id="URL">
<input type="text" class="form-control form-control-sm J_menuUrl" th:placeholder="${bundle.L('输入外部地址')}" />
<div class="form-text">[[${bundle.L('支持外部地址或相对地址')}]]</div>
<input type="text" class="form-control form-control-sm J_menuUrl" th:placeholder="${bundle.$L('输入外部地址')}" />
<div class="form-text">[[${bundle.$L('支持外部地址或相对地址')}]]</div>
</div>
</div>
</div>
<div class="input-group mb-3">
<span class="input-group-prepend">
<span class="input-group-text J_menuIcon" th:title="${bundle.L('选择图标')}"><i class="zmdi zmdi-texture"></i></span>
<span class="input-group-text J_menuIcon" th:title="${bundle.$L('选择图标')}"><i class="zmdi zmdi-texture"></i></span>
</span>
<input type="text" class="form-control form-control-sm J_menuName" th:placeholder="${bundle.L('菜单名称')}" />
<input type="text" class="form-control form-control-sm J_menuName" th:placeholder="${bundle.$L('菜单名称')}" />
</div>
<div>
<button type="button" class="btn btn-primary btn-outline J_menuConfirm">[[${bundle.L('确定')}]]</button>
<button type="button" class="btn btn-primary btn-outline J_menuConfirm">[[${bundle.$L('确定')}]]</button>
</div>
</div>
</div>
@ -94,8 +94,8 @@
<div class="float-left">
<div id="shareTo" class="shareTo--wrap"></div>
</div>
<button class="btn btn-primary J_save" type="button">[[${bundle.L('保存')}]]</button>
<button class="btn btn-secondary" onclick="parent.RbModal.hide('/p/settings/nav-settings')" type="button">[[${bundle.L('取消')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('保存')}]]</button>
<button class="btn btn-secondary" onclick="parent.RbModal.hide('/p/settings/nav-settings')" type="button">[[${bundle.$L('取消')}]]</button>
</div>
</div>
<th:block th:replace="~{/_include/footer}" />

View file

@ -3,7 +3,7 @@
<head>
<th:block th:replace="~{/_include/header}" />
<link rel="stylesheet" type="text/css" th:href="@{/assets/lib/widget/cropper.min.css}" />
<title>[[${bundle.L('个人设置')}]]</title>
<title>[[${bundle.$L('个人设置')}]]</title>
<style type="text/css">
.avatar-wrap {
height: 256px;
@ -77,9 +77,9 @@
<div class="card-body">
<div class="tab-container">
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="#base" data-toggle="tab">[[${bundle.L('个人信息')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="#secure" data-toggle="tab">[[${bundle.L('安全设置')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="#logs" data-toggle="tab">[[${bundle.L('登录日志')}]]</a></li>
<li class="nav-item"><a class="nav-link active" href="#base" data-toggle="tab">[[${bundle.$L('个人信息')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="#secure" data-toggle="tab">[[${bundle.$L('安全设置')}]]</a></li>
<li class="nav-item"><a class="nav-link" href="#logs" data-toggle="tab">[[${bundle.$L('登录日志')}]]</a></li>
</ul>
<div class="tab-content m-0">
<div class="tab-pane active" id="base">
@ -90,7 +90,7 @@
<img id="avatar-img" th:src="|${baseUrl}/account/user-avatar?w=200&${session.davatarTime}|" alt="Avatar" />
<label>
<i class="zmdi zmdi-camera"></i>
<br />[[${bundle.L('修改头像')}]]
<br />[[${bundle.$L('修改头像')}]]
<input type="file" id="avatar-input" accept="image/*" data-local="temp" data-maxsize="10000000" />
</label>
</div>
@ -99,42 +99,42 @@
<div class="col-md-8 col-12">
<form>
<div class="form-group row">
<label class="col-sm-4 col-form-label text-left">[[${bundle.L('登录名')}]]</label>
<label class="col-sm-4 col-form-label text-left">[[${bundle.$L('登录名')}]]</label>
<div class="col-sm-8">
<div class="form-control-plaintext" th:text="${user.getName()}"></div>
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label text-left">[[${bundle.L('所属部门')}]]</label>
<label class="col-sm-4 col-form-label text-left">[[${bundle.$L('所属部门')}]]</label>
<div class="col-sm-8">
<div class="form-control-plaintext" th:text="${user.getOwningBizUnit().getName()}"></div>
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label text-left">[[${bundle.L('加入团队')}]]</label>
<label class="col-sm-4 col-form-label text-left">[[${bundle.$L('加入团队')}]]</label>
<div class="col-sm-8">
<div class="form-control-plaintext split-span">
<th:block th:each="team : ${user.getOwningTeams()}">
<span th:text="${team.getName()}"></span>
</th:block>
<em class="text-muted" th:if="${user.getOwningTeams().isEmpty()}">[[${bundle.L('你未加入任何团队')}]]</em>
<em class="text-muted" th:if="${user.getOwningTeams().isEmpty()}">[[${bundle.$L('你未加入任何团队')}]]</em>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label text-left">[[${bundle.L('姓名')}]]</label>
<label class="col-sm-4 col-form-label text-left">[[${bundle.$L('姓名')}]]</label>
<div class="col-sm-8">
<input class="form-control form-control-sm" type="text" id="fullName" th:value="${user.getFullName()}" th:data-o="${user.getFullName()}" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-4 col-form-label text-left">[[${bundle.L('工作电话')}]]</label>
<label class="col-sm-4 col-form-label text-left">[[${bundle.$L('工作电话')}]]</label>
<div class="col-sm-8">
<input
class="form-control form-control-sm"
type="text"
id="workphone"
th:placeholder="${bundle.L('无')}"
th:placeholder="${bundle.$L('无')}"
th:value="${user.getWorkphone()}"
th:data-o="${user.getWorkphone()}"
/>
@ -142,7 +142,7 @@
</div>
<div class="form-group row border-none mt-3">
<div class="col-sm-8 offset-sm-4">
<button class="btn btn-primary J_save" type="button">[[${bundle.L('确定')}]]</button>
<button class="btn btn-primary J_save" type="button">[[${bundle.$L('确定')}]]</button>
</div>
</div>
</form>
@ -152,21 +152,21 @@
<div class="tab-pane" id="secure">
<form>
<div class="form-group row">
<label class="col-sm-2 col-form-label text-left">[[${bundle.L('修改邮箱')}]]</label>
<label class="col-sm-2 col-form-label text-left">[[${bundle.$L('修改邮箱')}]]</label>
<div class="col-sm-7 pl-0">
<div class="form-control-plaintext text-muted J_email-account" th:text="${user.getEmail() ?: bundle.L('邮箱未设置')}"></div>
<div class="form-control-plaintext text-muted J_email-account" th:text="${user.getEmail() ?: bundle.$L('邮箱未设置')}"></div>
</div>
<div class="col-sm-3 text-right">
<button class="btn btn-primary btn-outline J_email" type="button">[[${bundle.L('修改')}]]</button>
<button class="btn btn-primary btn-outline J_email" type="button">[[${bundle.$L('修改')}]]</button>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label text-left">[[${bundle.L('修改密码')}]]</label>
<label class="col-sm-2 col-form-label text-left">[[${bundle.$L('修改密码')}]]</label>
<div class="col-sm-7 pl-0">
<div class="form-control-plaintext text-muted">[[${bundle.L('建议 90 天更改一次密码')}]]</div>
<div class="form-control-plaintext text-muted">[[${bundle.$L('建议 90 天更改一次密码')}]]</div>
</div>
<div class="col-sm-3 text-right">
<button class="btn btn-primary btn-outline J_passwd" type="button">[[${bundle.L('修改')}]]</button>
<button class="btn btn-primary btn-outline J_passwd" type="button">[[${bundle.$L('修改')}]]</button>
</div>
</div>
</form>
@ -176,9 +176,9 @@
<thead>
<tr>
<th width="50"></th>
<th>[[${bundle.L('登录时间')}]]</th>
<th>[[${bundle.L('IP 地址')}]]</th>
<th>[[${bundle.L('客户端')}]]</th>
<th>[[${bundle.$L('登录时间')}]]</th>
<th>[[${bundle.$L('IP 地址')}]]</th>
<th>[[${bundle.$L('客户端')}]]</th>
</tr>
</thead>
<tbody></tbody>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('重置密码')}]]</title>
<title>[[${bundle.$L('重置密码')}]]</title>
</head>
<body class="rb-splash-screen">
<div class="rb-wrapper rb-login">
@ -13,27 +13,27 @@
<div class="card-header"><a class="logo-img"></a></div>
<div class="card-body J_step1">
<div class="form-group">
<input class="form-control" id="email" type="email" th:placeholder="${bundle.L('邮箱')}" autocomplete="off" />
<p class="form-text">[[${bundle.L('如果你忘记或未填写邮箱,请联系管理员重置密码')}]]</p>
<input class="form-control" id="email" type="email" th:placeholder="${bundle.$L('邮箱')}" autocomplete="off" />
<p class="form-text">[[${bundle.$L('如果你忘记或未填写邮箱,请联系管理员重置密码')}]]</p>
</div>
<div class="form-group login-submit">
<button class="btn btn-primary btn-xl J_forgot-btn">[[${bundle.L('重置密码')}]]</button>
<button class="btn btn-primary btn-xl J_forgot-btn">[[${bundle.$L('重置密码')}]]</button>
</div>
</div>
<div class="card-body J_step2 hide">
<div class="alert alert-warning alert-icon alert-icon-border alert-sm">
<div class="icon"><span class="zmdi zmdi-info-outline"></span></div>
<div class="message">
<p>[[${bundle.L('验证码已发送至你的邮箱')}]] <b class="J_email ml-1"></b></p>
<p>[[${bundle.$L('验证码已发送至你的邮箱')}]] <b class="J_email ml-1"></b></p>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-7">
<input class="form-control" id="vcode" type="text" th:placeholder="${bundle.L('请输入验证码')}" />
<input class="form-control" id="vcode" type="text" th:placeholder="${bundle.$L('请输入验证码')}" />
</div>
<div class="col-5 pl-0">
<button type="button" class="btn btn-secondary J_vcode-resend" style="height: 41px; width: 100%">[[${bundle.L('获取验证码')}]]</button>
<button type="button" class="btn btn-secondary J_vcode-resend" style="height: 41px; width: 100%">[[${bundle.$L('获取验证码')}]]</button>
</div>
</div>
</div>
@ -44,12 +44,12 @@
<input class="form-control" id="newpwd2" type="password" placeholder="重复新密码" />
</div>
<div class="form-group login-submit">
<button class="btn btn-primary btn-xl J_confirm-btn">[[${bundle.L('确认重置')}]]</button>
<button class="btn btn-primary btn-xl J_confirm-btn">[[${bundle.$L('确认重置')}]]</button>
</div>
</div>
</div>
<div class="splash-footer">
<span><a href="login">[[${bundle.L('返回登录')}]]</a></span>
<span><a href="login">[[${bundle.$L('返回登录')}]]</a></span>
</div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('用户登录')}]]</title>
<title>[[${bundle.$L('用户登录')}]]</title>
<style type="text/css">
#login-form > .row {
margin-left: -15px !important;
@ -64,33 +64,33 @@
<div class="card-body">
<form id="login-form">
<div class="form-group">
<input class="form-control" id="user" type="text" th:placeholder="${bundle.L('用户名 (或邮箱)')}" />
<input class="form-control" id="user" type="text" th:placeholder="${bundle.$L('用户名 (或邮箱)')}" />
</div>
<div class="form-group">
<input class="form-control" id="passwd" type="password" th:placeholder="${bundle.L('密码')}" />
<input class="form-control" id="passwd" type="password" th:placeholder="${bundle.$L('密码')}" />
</div>
<div class="form-group row pt-0 mb-3 vcode-row" th:if="${session.needLoginVCode}">
<div class="col-6 pr-0">
<input class="form-control" type="text" th:placeholder="${bundle.L('验证码')}" />
<input class="form-control" type="text" th:placeholder="${bundle.$L('验证码')}" />
</div>
<div class="col-6 text-right pl-0 pr-0">
<img class="mw-100 mr-zero" src="captcha" th:title="${bundle.L('点击刷新')}" alt="CAPTCHA" />
<img class="mw-100 mr-zero" src="captcha" th:title="${bundle.$L('点击刷新')}" alt="CAPTCHA" />
</div>
</div>
<div class="form-group row login-tools">
<div class="col-6 login-remember">
<label class="custom-control custom-checkbox custom-control-inline mb-0">
<input class="custom-control-input" type="checkbox" id="autoLogin" />
<span class="custom-control-label">[[${bundle.L('记住登录')}]]</span>
<span class="custom-control-label">[[${bundle.$L('记住登录')}]]</span>
</label>
</div>
<div class="col-6 login-forgot-password">
<a href="forgot-passwd">[[${bundle.L('找回密码')}]]</a>
<a href="forgot-passwd">[[${bundle.$L('找回密码')}]]</a>
</div>
</div>
<div class="form-group login-submit mb-2">
<button class="btn btn-primary btn-xl" type="submit" data-spinner>[[${bundle.L('登录')}]]</button>
<div class="mt-4 text-center" th:utext="${bundle.L('还没有账号? [立即注册](signup)')}"></div>
<button class="btn btn-primary btn-xl" type="submit" data-spinner>[[${bundle.$L('登录')}]]</button>
<div class="mt-4 text-center" th:utext="${bundle.$L('还没有账号? [立即注册](signup)')}"></div>
</div>
<div class="text-center mb-2">
<a class="select-lang dropdown-toggle" data-toggle="dropdown"><i class="icon zmdi zmdi-globe-alt"></i> <span>[[${currentLang}]]</span></a>
@ -102,7 +102,7 @@
</div>
</div>
<div class="splash-footer">
<div class="copyright link">&copy; <th:block th:utext="${commercial > 10 ? appName : bundle.L('[REBUILD](https://getrebuild.com/) 强力驱动')}" /></div>
<div class="copyright link">&copy; <th:block th:utext="${commercial > 10 ? appName : bundle.$L('[REBUILD](https://getrebuild.com/) 强力驱动')}" /></div>
</div>
</div>
</div>

View file

@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:replace="~{/_include/header}" />
<title>[[${bundle.L('用户注册')}]]</title>
<title>[[${bundle.$L('用户注册')}]]</title>
<style type="text/css">
.form-group.row {
margin-left: -15px !important;
@ -23,36 +23,36 @@
<div class="card-header"><a class="logo-img"></a></div>
<div class="card-body">
<div class="form-group">
<input class="form-control" id="sFullName" type="text" th:placeholder="${bundle.L('姓名')}" autocomplete="off" />
<p class="form-text">[[${bundle.L('管理员将审核你的注册信息,请正确填写')}]]</p>
<input class="form-control" id="sFullName" type="text" th:placeholder="${bundle.$L('姓名')}" autocomplete="off" />
<p class="form-text">[[${bundle.$L('管理员将审核你的注册信息,请正确填写')}]]</p>
</div>
<div class="form-group">
<input class="form-control" id="sName" type="text" th:placeholder="${bundle.L('登录名')}" autocomplete="off" />
<input class="form-control" id="sName" type="text" th:placeholder="${bundle.$L('登录名')}" autocomplete="off" />
</div>
<div class="form-group">
<input class="form-control" id="sEmail" type="email" th:placeholder="${bundle.L('邮箱')}" autocomplete="off" />
<input class="form-control" id="sEmail" type="email" th:placeholder="${bundle.$L('邮箱')}" autocomplete="off" />
</div>
<div class="form-group row pt-0">
<div class="col-7">
<input class="form-control" type="text" id="sVcode" th:placeholder="${bundle.L('邮箱验证码')}" autocomplete="off" />
<input class="form-control" type="text" id="sVcode" th:placeholder="${bundle.$L('邮箱验证码')}" autocomplete="off" />
</div>
<div class="col-5 text-right pl-0">
<button class="btn btn-primary btn-outline J_vcode-btn" type="button">[[${bundle.L('获取验证码')}]]</button>
<button class="btn btn-primary btn-outline J_vcode-btn" type="button">[[${bundle.$L('获取验证码')}]]</button>
</div>
</div>
<div class="form-group login-submit">
<button class="btn btn-primary btn-xl J_confirm-btn" type="button">[[${bundle.L('提交注册')}]]</button>
<button class="btn btn-primary btn-xl J_confirm-btn" type="button">[[${bundle.$L('提交注册')}]]</button>
</div>
<div class="alert alert-success alert-icon alert-icon-border alert-sm hide">
<div class="icon"><span class="zmdi zmdi-check"></span></div>
<div class="message">
<p>[[${bundle.L('注册信息已提交,审核结果将通过邮件通知你')}]]</p>
<p>[[${bundle.$L('注册信息已提交,审核结果将通过邮件通知你')}]]</p>
</div>
</div>
</div>
</div>
<div class="splash-footer">
<span><a href="login">[[${bundle.L('返回登录')}]]</a></span>
<span><a href="login">[[${bundle.$L('返回登录')}]]</a></span>
</div>
</div>
</div>