mirror of
https://github.com/getrebuild/rebuild.git
synced 2024-09-20 15:35:55 +08:00
commit
05a07cb87d
2
@rbv
2
@rbv
|
@ -1 +1 @@
|
|||
Subproject commit 65a223473f162d43e46d4092082ef8f43137465a
|
||||
Subproject commit 1dc9735433e827a3f5a8aae7e24f7347e66472cd
|
2
pom.xml
2
pom.xml
|
@ -299,7 +299,7 @@
|
|||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>8.0.25</version>
|
||||
<version>8.0.27</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.ehcache</groupId>
|
||||
|
|
|
@ -281,7 +281,8 @@ public class ProjectTaskController extends BaseController {
|
|||
JSONArray alist = new JSONArray();
|
||||
|
||||
for (ConfigBean p : ps) {
|
||||
if (p.getInteger("status") == ProjectManager.STATUS_ARCHIVED) continue;
|
||||
if (p.getInteger("status") == ProjectManager.STATUS_ARCHIVED) continue; // 已归档
|
||||
if (!p.get("members", Set.class).contains(user)) continue; // 非成员
|
||||
|
||||
JSONObject item = (JSONObject) p.toJSON("id", "projectName");
|
||||
|
||||
|
|
|
@ -28,9 +28,11 @@
|
|||
<i class="icon zmdi zmdi-search"></i>
|
||||
<div class="dropdown-menu" th:_title="${bundle.L('无可搜索项')}"></div>
|
||||
</div>
|
||||
<div class="global-create dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" th:title="${bundle.L('新建')}"><i class="zmdi zmdi-plus icon"></i></a>
|
||||
<div class="dropdown-menu auto-scroller" th:_title="${bundle.L('无可新建项')}"></div>
|
||||
<div class="global-create">
|
||||
<div class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" th:title="${bundle.L('新建')}"><i class="zmdi zmdi-plus icon"></i></a>
|
||||
<div class="dropdown-menu auto-scroller" th:_title="${bundle.L('无可新建项')}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rb-right-navbar">
|
||||
|
|
|
@ -10,8 +10,9 @@
|
|||
<i class="header-icon zmdi" th:classappend="${'zmdi-' + entityIcon}"></i>
|
||||
<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>
|
||||
<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 J_back hide" th:title="${bundle.L('回退')}"><i class="zmdi zmdi-arrow-left"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="main-content container-fluid">
|
||||
|
|
|
@ -10,8 +10,9 @@
|
|||
<i class="header-icon zmdi" th:classappend="${'zmdi-' + entityIcon}"></i>
|
||||
<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>
|
||||
<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 J_back hide" th:title="${bundle.L('回退')}"><i class="zmdi zmdi-arrow-left"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="main-content container-fluid">
|
||||
|
|
|
@ -20,8 +20,9 @@
|
|||
<i class="header-icon zmdi" th:classappend="${'zmdi-' + entityIcon}"></i>
|
||||
<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>
|
||||
<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 J_back hide" th:title="${bundle.L('回退')}"><i class="zmdi zmdi-arrow-left"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="main-content container-fluid">
|
||||
|
|
|
@ -10,8 +10,9 @@
|
|||
<i class="header-icon zmdi" th:classappend="${'zmdi-' + entityIcon}"></i>
|
||||
<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>
|
||||
<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 J_back hide" th:title="${bundle.L('回退')}"><i class="zmdi zmdi-arrow-left"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="main-content container-fluid">
|
||||
|
|
|
@ -448,13 +448,17 @@ See LICENSE and COMMERCIAL in the project root for license information.
|
|||
#collapseSearch .card-body .input-group .append > a {
|
||||
height: 32px;
|
||||
width: 16px;
|
||||
font-size: 1.2rem;
|
||||
font-size: 1.308rem;
|
||||
transform: translateY(-1px);
|
||||
color: #404040;
|
||||
color: #737373;
|
||||
display: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#collapseSearch .card-body .input-group .append > a:hover {
|
||||
color: #5a5a5a;
|
||||
}
|
||||
|
||||
#collapseSearch .card-body .input-group .append > a.show {
|
||||
display: inline-block;
|
||||
}
|
||||
|
|
|
@ -386,6 +386,37 @@ a.btn {
|
|||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.input-search input + .btn-input-clear {
|
||||
position: absolute;
|
||||
right: 35px;
|
||||
top: 3px;
|
||||
border: 0 none;
|
||||
padding: 0;
|
||||
min-width: auto;
|
||||
min-height: auto;
|
||||
width: 1.4rem;
|
||||
height: 2.4rem;
|
||||
background: #fff;
|
||||
color: #737373;
|
||||
z-index: 10;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.input-search input + .btn-input-clear:hover {
|
||||
color: #5a5a5a;
|
||||
}
|
||||
|
||||
.input-search input + .btn-input-clear::before {
|
||||
font-family: 'Material-Design-Iconic-Font';
|
||||
font-size: 1.308rem;
|
||||
content: '\f135';
|
||||
content: '\f136';
|
||||
}
|
||||
|
||||
.input-search input:not(:placeholder-shown) + .btn-input-clear {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.form-control.search {
|
||||
border-color: #d5d8de;
|
||||
}
|
||||
|
@ -1915,7 +1946,7 @@ th.column-fixed {
|
|||
|
||||
.aside-tree li > a {
|
||||
display: block;
|
||||
padding: 7px 10px;
|
||||
padding: 8px 10px;
|
||||
cursor: pointer;
|
||||
color: #444;
|
||||
}
|
||||
|
@ -2025,8 +2056,8 @@ th.column-fixed {
|
|||
|
||||
.aside-2tree li span.collapse-icon {
|
||||
padding-left: 6px;
|
||||
padding-top: 5px;
|
||||
font-size: 1.7rem;
|
||||
padding-top: 7px;
|
||||
font-size: 1.4rem;
|
||||
color: #999;
|
||||
width: 18px;
|
||||
}
|
||||
|
@ -3083,6 +3114,23 @@ form {
|
|||
display: none;
|
||||
}
|
||||
|
||||
.search-container .dropdown-menu {
|
||||
border-radius: 2px;
|
||||
margin-top: 0;
|
||||
width: auto;
|
||||
min-width: 220px;
|
||||
}
|
||||
|
||||
.search-container .dropdown-menu:empty {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.search-container .dropdown-menu:empty::after {
|
||||
content: attr(_title);
|
||||
font-style: italic;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.search-container > .global-search > .icon {
|
||||
position: absolute;
|
||||
left: 160px;
|
||||
|
@ -3099,28 +3147,11 @@ form {
|
|||
}
|
||||
|
||||
.search-container > .global-search > .dropdown-menu {
|
||||
width: auto;
|
||||
min-width: 320px;
|
||||
max-width: 600px;
|
||||
padding: 15px 20px 10px;
|
||||
}
|
||||
|
||||
.search-container .dropdown-menu {
|
||||
box-shadow: 0 3px 0.6rem rgba(0, 0, 0, 0.1);
|
||||
border-radius: 4px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.search-container .dropdown-menu:empty {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.search-container .dropdown-menu:empty::after {
|
||||
content: attr(_title);
|
||||
font-style: italic;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.search-container > .global-search > .dropdown-menu a.badge {
|
||||
background: #f5f5f5;
|
||||
color: #5a5a5a !important;
|
||||
|
@ -3150,7 +3181,7 @@ form {
|
|||
top: 12px;
|
||||
}
|
||||
|
||||
.search-container > .global-create > a {
|
||||
.search-container > .global-create > .dropdown > a {
|
||||
display: inline-block;
|
||||
width: 35px;
|
||||
line-height: 35px;
|
||||
|
@ -3161,8 +3192,8 @@ form {
|
|||
font-size: 1.73rem;
|
||||
}
|
||||
|
||||
.search-container > .global-create > a:hover,
|
||||
.search-container > .global-create.show > a {
|
||||
.search-container > .global-create > .dropdown > a:hover,
|
||||
.search-container > .global-create > .dropdown.show > a {
|
||||
background: #4285f4;
|
||||
color: #fff;
|
||||
}
|
||||
|
@ -3548,7 +3579,7 @@ form {
|
|||
}
|
||||
|
||||
#asideFilters .dropdown-item {
|
||||
padding: 7px 10px;
|
||||
padding: 8px 10px;
|
||||
border-radius: 2px;
|
||||
font-size: 1rem;
|
||||
cursor: pointer;
|
||||
|
|
|
@ -182,7 +182,7 @@ class RbPreview extends React.Component {
|
|||
const fileName = $fileCutName(currentUrl)
|
||||
if (this._isDoc(fileName)) {
|
||||
const setPreviewUrl = function (url) {
|
||||
const previewUrl = rb.commercial < 10 ? `https://view.officeapps.live.com/op/embed.aspx?src=${$encode(url)}` : `${rb.baseUrl}/filex/access/pdf-preview?src=${$encode(url)}`
|
||||
const previewUrl = (window.officePreviewUrl || 'https://view.officeapps.live.com/op/embed.aspx?src=') + $encode(url)
|
||||
that.setState({ previewUrl: previewUrl, errorMsg: null })
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ class FilesList extends React.Component {
|
|||
__pageNo = 1
|
||||
|
||||
render() {
|
||||
const hasFiles = (this.state.files || []).length > 0
|
||||
return (
|
||||
<div className="file-list">
|
||||
{(this.state.files || []).map((item) => {
|
||||
|
@ -58,7 +57,7 @@ class FilesList extends React.Component {
|
|||
</div>
|
||||
)}
|
||||
{this.__pageNo > 1 && this.state.currentLen > 0 && this.state.currentLen < PAGE_SIZE && <div className="text-center mt-3 pb-3 text-muted">{$L('已显示全部')}</div>}
|
||||
{this.__pageNo === 1 && !hasFiles && (
|
||||
{this.__pageNo === 1 && this.state.files && this.state.files.length === 0 && (
|
||||
<div className="list-nodata pt-8 pb-8">
|
||||
<i className="zmdi zmdi-folder-outline" />
|
||||
<p>{$L('暂无数据')}</p>
|
||||
|
@ -141,9 +140,14 @@ $(document).ready(() => {
|
|||
filesList && filesList.loadData()
|
||||
})
|
||||
|
||||
const $btn = $('.input-search .btn').click(() => {
|
||||
// 搜索
|
||||
const $btn = $('.input-search .input-group-btn .btn').on('click', () => {
|
||||
currentSearch = $('.input-search input').val()
|
||||
filesList && filesList.loadData()
|
||||
})
|
||||
$('.input-search input').keydown((e) => (e.which === 13 ? $btn.trigger('click') : true))
|
||||
const $input = $('.input-search input').on('keydown', (e) => (e.which === 13 ? $btn.trigger('click') : true))
|
||||
$('.input-search .btn-input-clear').on('click', () => {
|
||||
$input.val('')
|
||||
$btn.trigger('click')
|
||||
})
|
||||
})
|
||||
|
|
|
@ -7,15 +7,21 @@ See LICENSE and COMMERCIAL in the project root for license information.
|
|||
|
||||
const UNICON_NAME = 'texture'
|
||||
let _Share2
|
||||
let _entity_data = {}
|
||||
let _entityInfos = {}
|
||||
|
||||
$(document).ready(function () {
|
||||
$('.J_add-menu').click(() => render_item({}, true))
|
||||
|
||||
// 系统内置
|
||||
$('#sys-built > option').each(function () {
|
||||
const $this = $(this)
|
||||
_entityInfos[$this.attr('value')] = { icon: $this.attr('data-icon'), label: $this.text() }
|
||||
})
|
||||
|
||||
$.get('/commons/metadata/entities?detail=true', function (res) {
|
||||
$(res.data).each(function () {
|
||||
$(`<option value="${this.name}">${this.label}</option>`).appendTo('.J_menuEntity optgroup:eq(0)')
|
||||
_entity_data[this.name] = this
|
||||
_entityInfos[this.name] = this
|
||||
})
|
||||
|
||||
const $ref = $('.J_menuEntity')
|
||||
|
@ -25,7 +31,7 @@ $(document).ready(function () {
|
|||
})
|
||||
.on('change', () => {
|
||||
if (item_current_isNew === true) {
|
||||
const d = _entity_data[$ref.val()]
|
||||
const d = _entityInfos[$ref.val()]
|
||||
if (d) {
|
||||
$('.J_menuIcon .zmdi').attr('class', `zmdi zmdi-${d.icon}`)
|
||||
$('.J_menuName').val(d.label)
|
||||
|
|
|
@ -43,12 +43,15 @@ $(document).ready(() => {
|
|||
|
||||
// 搜索
|
||||
const $search = $('.J_search .input-search')
|
||||
$search.find('.btn').click(() => {
|
||||
const s = $search.find('input').val()
|
||||
__PlanBoxes.setState({ search: s })
|
||||
const $btn2 = $search.find('.input-group-btn .btn').on('click', () => {
|
||||
__PlanBoxes.setState({ search: $search.find('input').val() || null })
|
||||
})
|
||||
$search.find('input').keydown((e) => {
|
||||
e.keyCode === 13 && $search.find('.btn').trigger('click')
|
||||
const $input2 = $search.find('input').on('keydown', (e) => {
|
||||
e.keyCode === 13 && $btn2.trigger('click')
|
||||
})
|
||||
$search.find('.btn-input-clear').on('click', () => {
|
||||
$input2.val('')
|
||||
$btn2.trigger('click')
|
||||
})
|
||||
|
||||
$unhideDropdown('.J_search').on({
|
||||
|
|
|
@ -545,10 +545,14 @@ const RbListCommon = {
|
|||
if (gs) $('.search-input-gs, .input-search>input').val($decode(gs))
|
||||
|
||||
// 快速查询
|
||||
const $btn = $('.input-search .btn'),
|
||||
const $btn = $('.input-search .input-group-btn .btn'),
|
||||
$input = $('.input-search input')
|
||||
$btn.click(() => RbListPage._RbList.searchQuick())
|
||||
$input.keydown((e) => (e.which === 13 ? $btn.trigger('click') : true))
|
||||
$btn.on('click', () => RbListPage._RbList.searchQuick())
|
||||
$input.on('keydown', (e) => (e.which === 13 ? $btn.trigger('click') : true))
|
||||
$('.input-search .btn-input-clear').on('click', () => {
|
||||
$input.val('')
|
||||
$btn.trigger('click')
|
||||
})
|
||||
|
||||
// via 过滤
|
||||
const via = $urlp('via', location.hash)
|
||||
|
|
|
@ -1074,7 +1074,9 @@ const ChartsWidget = {
|
|||
// eslint-disable-next-line no-undef
|
||||
ECHART_BASE.grid = { left: 40, right: 20, top: 30, bottom: 20 }
|
||||
|
||||
$('.J_load-charts').on('click', () => this.chartLoaded !== true && this.loadWidget())
|
||||
$('.J_load-charts').on('click', () => {
|
||||
this.chartLoaded !== true && this.loadWidget()
|
||||
})
|
||||
$('.J_add-chart').on('click', () => this.showChartSelect())
|
||||
|
||||
$('.charts-wrap')
|
||||
|
|
|
@ -420,6 +420,7 @@ var _initGlobalCreate = function () {
|
|||
|
||||
$.get('/app/entity/extras/check-creates?entity=' + entities.join(','), function (res) {
|
||||
var $gc = $('.global-create .dropdown-menu')
|
||||
$gc.perfectScrollbar()
|
||||
$(res.data || []).each(function () {
|
||||
var $item = $('<a class="dropdown-item"><i class="icon zmdi zmdi-' + this.icon + '"></i>' + this.entityLabel + '</a>').appendTo($gc)
|
||||
var _this = this
|
||||
|
|
|
@ -831,6 +831,15 @@ const RbViewPage = {
|
|||
$(document).ready(function () {
|
||||
// 无关闭按钮
|
||||
if (parent && parent.RbViewModal && parent.RbViewModal.hideClose) $('.J_close').remove()
|
||||
// 回退按钮
|
||||
if ($urlp('back') === 'auto' && parent && parent.RbViewModal) {
|
||||
$('.J_back')
|
||||
.removeClass('hide')
|
||||
.on('click', () => {
|
||||
// parent.RbViewModal.holder(this.__id, 'LOADING')
|
||||
history.back()
|
||||
})
|
||||
}
|
||||
|
||||
// iframe 点击穿透
|
||||
if (parent) {
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<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_back hide" th:title="${bundle.L('回退')}"><i class="zmdi zmdi-arrow-left"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="main-content container-fluid p-0">
|
||||
|
@ -30,6 +31,18 @@
|
|||
window.$addResizeHandler__calls = []
|
||||
|
||||
$(document).ready(function () {
|
||||
// 无关闭按钮
|
||||
if (parent && parent.RbViewModal && parent.RbViewModal.hideClose) $('.J_close').remove()
|
||||
// 回退按钮
|
||||
if ($urlp('back') === 'auto' && parent && parent.RbViewModal) {
|
||||
$('.J_back')
|
||||
.removeClass('hide')
|
||||
.on('click', () => {
|
||||
// parent.RbViewModal.holder(this.__id, 'LOADING')
|
||||
history.back()
|
||||
})
|
||||
}
|
||||
|
||||
const ph = parent && parent.RbViewModal ? parent.RbViewModal.holder(window.__PageConfig.id) : null
|
||||
if (ph) $('.J_close').click(() => ph.hide())
|
||||
else $('.J_close').remove()
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
<div class="col-6">
|
||||
<div class="input-group input-search">
|
||||
<input class="form-control" type="text" th:placeholder="${bundle.L('搜索')}" maxlength="40" />
|
||||
<button class="btn btn-input-clear" type="button"></button>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
|
||||
</span>
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
<div class="col-6">
|
||||
<div class="input-group input-search">
|
||||
<input class="form-control" type="text" th:placeholder="${bundle.L('搜索')}" maxlength="40" />
|
||||
<button class="btn btn-input-clear" type="button"></button>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
|
||||
</span>
|
||||
|
|
|
@ -67,6 +67,7 @@
|
|||
</div>
|
||||
<div class="input-group input-search float-left">
|
||||
<input class="form-control" type="text" th:placeholder="${bundle.L('快速查询')}" maxlength="40" />
|
||||
<button class="btn btn-input-clear" type="button"></button>
|
||||
<span class="input-group-btn"
|
||||
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
|
||||
></span>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<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 J_back hide" th:title="${bundle.L('回退')}"><i class="zmdi zmdi-arrow-left"></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>
|
||||
|
|
|
@ -67,6 +67,7 @@
|
|||
</div>
|
||||
<div class="input-group input-search float-left">
|
||||
<input class="form-control" type="text" th:placeholder="${bundle.L('快速查询')}" maxlength="40" />
|
||||
<button class="btn btn-input-clear" type="button"></button>
|
||||
<span class="input-group-btn"
|
||||
><button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button
|
||||
></span>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<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 J_back hide" th:title="${bundle.L('回退')}"><i class="zmdi zmdi-arrow-left"></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>
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
<div class="px-4 py-2">
|
||||
<div class="input-group input-search m-0">
|
||||
<input class="form-control" type="text" th:placeholder="${bundle.L('关键词')}" th:title="${bundle.L('输入关键词搜索')}" maxlength="40" />
|
||||
<button class="btn btn-input-clear" type="button"></button>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-secondary" type="button"><i class="icon zmdi zmdi-search"></i></button>
|
||||
</span>
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
<optgroup th:label="${bundle.L('业务实体')}">
|
||||
<!-- Biz entities -->
|
||||
</optgroup>
|
||||
<optgroup th:label="${bundle.L('系统内置')}">
|
||||
<optgroup th:label="${bundle.L('系统内置')}" id="sys-built">
|
||||
<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>
|
||||
|
|
Loading…
Reference in a new issue