优化路径加载

优化JS和CSS加载目录
pull/438/head
Karson 2023-03-15 16:18:28 +08:00
parent 6f1805ceb0
commit ec84778d3d
16 changed files with 13308 additions and 11996 deletions

View File

@ -3,15 +3,15 @@
@import url("../css/skins/skin-black-blue.css"); @import url("../css/skins/skin-black-blue.css");
@import url("../css/iconfont.css"); @import url("../css/iconfont.css");
@import url("../libs/font-awesome/css/font-awesome.min.css"); @import url("../libs/font-awesome/css/font-awesome.min.css");
@import url("../libs/toastr/toastr.min.css"); @import url("../libs/toastr/build/toastr.min.css");
@import url("../libs/fastadmin-layer/dist/theme/default/layer.css"); @import url("../libs/fastadmin-layer/dist/theme/default/layer.css");
@import url("../libs/bootstrap-table/dist/bootstrap-table.min.css"); @import url("../libs/fastadmin-bootstraptable/dist/bootstrap-table.min.css");
@import url("../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css"); @import url("../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css");
@import url("../libs/bootstrap-daterangepicker/daterangepicker.css"); @import url("../libs/bootstrap-daterangepicker/daterangepicker.css");
@import url("../libs/nice-validator/dist/jquery.validator.css"); @import url("../libs/nice-validator/dist/jquery.validator.css");
@import url("../libs/bootstrap-select/dist/css/bootstrap-select.min.css"); @import url("../libs/bootstrap-select/dist/css/bootstrap-select.min.css");
@import url("../libs/fastadmin-selectpage/selectpage.css"); @import url("../libs/fastadmin-selectpage/selectpage.css");
@import url("../libs/bootstrap-slider/slider.css"); @import url("../libs/bootstrap-slider/dist/css/bootstrap-slider.min.css");
.m-0 { .m-0 {
margin-top: 0px !important; margin-top: 0px !important;
margin-right: 0px !important; margin-right: 0px !important;
@ -417,15 +417,18 @@ table.table-template {
margin-bottom: -5px; margin-bottom: -5px;
padding: 10px 20px; padding: 10px 20px;
} }
.bootstrap-select .bs-placeholder {
min-height: 33px;
}
select.bs-select-hidden, select.bs-select-hidden,
select.selectpicker { select.selectpicker {
display: inherit !important; display: inherit !important;
max-height: 31px; max-height: 33px;
overflow: hidden; overflow: hidden;
} }
select.bs-select-hidden[multiple], select.bs-select-hidden[multiple],
select.selectpicker[multiple] { select.selectpicker[multiple] {
height: 31px; height: 33px;
padding: 0; padding: 0;
background: #f4f4f4; background: #f4f4f4;
} }
@ -1038,12 +1041,12 @@ form.form-horizontal .control-label {
.bootstrap-table .table:not(.table-condensed) > thead > tr > td, .bootstrap-table .table:not(.table-condensed) > thead > tr > td,
.bootstrap-table .table:not(.table-condensed) > tbody > tr > td, .bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
.bootstrap-table .table:not(.table-condensed) > tfoot > tr > td { .bootstrap-table .table:not(.table-condensed) > tfoot > tr > td {
padding: 8px 15px; padding: 10px 15px;
height: 47px; height: 47px;
} }
.fixed-table-container tbody td .th-inner, .fixed-table-container tbody td .th-inner,
.fixed-table-container thead th .th-inner { .fixed-table-container thead th .th-inner {
padding: 8px 10px; padding: 10px 10px;
} }
.toolbar { .toolbar {
margin-top: 10px; margin-top: 10px;
@ -1437,7 +1440,7 @@ table.table-nowrap thead > tr > th {
} }
/*修正开关关闭下的颜色值*/ /*修正开关关闭下的颜色值*/
.btn-switcher.disabled { .btn-switcher.disabled {
opacity: .6; opacity: 0.6;
cursor: not-allowed; cursor: not-allowed;
} }
.btn-switcher .text-gray { .btn-switcher .text-gray {
@ -1516,7 +1519,7 @@ table.table-nowrap thead > tr > th {
color: #555; color: #555;
vertical-align: middle; vertical-align: middle;
width: 100%; width: 100%;
line-height: 22px; line-height: 23px;
cursor: text; cursor: text;
} }
.bootstrap-tagsinput input { .bootstrap-tagsinput input {
@ -1546,6 +1549,7 @@ table.table-nowrap thead > tr > th {
.bootstrap-tagsinput .tag { .bootstrap-tagsinput .tag {
margin-right: 2px; margin-right: 2px;
color: white; color: white;
min-height: 23px;
} }
.bootstrap-tagsinput .tag [data-role="remove"] { .bootstrap-tagsinput .tag [data-role="remove"] {
margin-left: 5px; margin-left: 5px;

File diff suppressed because one or more lines are too long

View File

@ -1424,7 +1424,7 @@ select.form-control {
.input-lg + .form-control-feedback.fa, .input-lg + .form-control-feedback.fa,
.input-group-lg + .form-control-feedback.fa, .input-group-lg + .form-control-feedback.fa,
.form-group-lg .form-control + .form-control-feedback.fa { .form-group-lg .form-control + .form-control-feedback.fa {
line-height: 45px; line-height: 44px;
} }
.input-sm + .form-control-feedback.fa, .input-sm + .form-control-feedback.fa,
.input-group-sm + .form-control-feedback.fa, .input-group-sm + .form-control-feedback.fa,

View File

@ -2,15 +2,15 @@
@import url("../css/fastadmin.css"); @import url("../css/fastadmin.css");
@import url("../css/iconfont.css"); @import url("../css/iconfont.css");
@import url("../libs/font-awesome/css/font-awesome.min.css"); @import url("../libs/font-awesome/css/font-awesome.min.css");
@import url("../libs/toastr/toastr.min.css"); @import url("../libs/toastr/build/toastr.min.css");
@import url("../libs/fastadmin-layer/dist/theme/default/layer.css"); @import url("../libs/fastadmin-layer/dist/theme/default/layer.css");
@import url("../libs/bootstrap-table/dist/bootstrap-table.min.css"); @import url("../libs/fastadmin-bootstraptable/dist/bootstrap-table.min.css");
@import url("../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css"); @import url("../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css");
@import url("../libs/bootstrap-daterangepicker/daterangepicker.css"); @import url("../libs/bootstrap-daterangepicker/daterangepicker.css");
@import url("../libs/nice-validator/dist/jquery.validator.css"); @import url("../libs/nice-validator/dist/jquery.validator.css");
@import url("../libs/bootstrap-select/dist/css/bootstrap-select.min.css"); @import url("../libs/bootstrap-select/dist/css/bootstrap-select.min.css");
@import url("../libs/fastadmin-selectpage/selectpage.css"); @import url("../libs/fastadmin-selectpage/selectpage.css");
@import url("../libs/bootstrap-slider/slider.css"); @import url("../libs/bootstrap-slider/dist/css/bootstrap-slider.min.css");
.m-0 { .m-0 {
margin-top: 0px !important; margin-top: 0px !important;
margin-right: 0px !important; margin-right: 0px !important;
@ -813,21 +813,25 @@ footer.footer .copyright a:hover {
.login-section .login-main { .login-section .login-main {
padding: 40px 45px 20px 45px; padding: 40px 45px 20px 45px;
} }
.login-section .n-bootstrap .form-group { .login-section .n-bootstrap .controls,
.form-section .n-bootstrap .controls {
position: relative; position: relative;
} }
.login-section .n-bootstrap .input-group { .login-section .n-bootstrap .input-group,
.form-section .n-bootstrap .input-group {
position: inherit; position: inherit;
} }
.login-section .n-bootstrap .n-right { .login-section .n-bootstrap .n-right,
.form-section .n-bootstrap .n-right {
margin-top: 0; margin-top: 0;
top: 0; top: -20px;
position: absolute; position: absolute;
left: 0; left: 0;
text-align: right; text-align: right;
width: 100%; width: 100%;
} }
.login-section .n-bootstrap .n-right .msg-wrap { .login-section .n-bootstrap .n-right .msg-wrap,
.form-section .n-bootstrap .n-right .msg-wrap {
position: relative; position: relative;
} }
main.content { main.content {
@ -950,21 +954,21 @@ main.content {
margin: 0; margin: 0;
} }
.pager li { .pager li {
margin: 0 .4em; margin: 0 0.4em;
display: inline-block; display: inline-block;
} }
.pager li:first-child > a, .pager li:first-child > a,
.pager li:last-child > a, .pager li:last-child > a,
.pager li:first-child > span, .pager li:first-child > span,
.pager li:last-child > span { .pager li:last-child > span {
padding: .5em 1.2em; padding: 0.5em 1.2em;
} }
.pager li > a, .pager li > a,
.pager li > span { .pager li > span {
background: none; background: none;
border: 1px solid #e6e6e6; border: 1px solid #e6e6e6;
border-radius: 0.25em; border-radius: 0.25em;
padding: .5em .93em; padding: 0.5em 0.93em;
font-size: 14px; font-size: 14px;
} }
.jumpto input { .jumpto input {

File diff suppressed because one or more lines are too long

View File

@ -57,7 +57,6 @@ p {
margin-bottom: 20px; margin-bottom: 20px;
} }
#mainbody { #mainbody {
position: relative; position: relative;
width: 100%; width: 100%;
@ -114,15 +113,11 @@ p {
@media (max-width: 767px) { @media (max-width: 767px) {
#mainbody > .container > .text-center { #mainbody > .container > .text-center {
padding: 130px 0 0 0; padding: 130px 0 0 0;
height: calc(100vh - 261px); height: calc(100vh - 261px);
} }
#mainbody > .container > .text-center > h1 { #mainbody > .container > .text-center > h1 {
font-size: 50px; font-size: 50px;
margin-bottom: 20px; margin-bottom: 20px;
} }
@ -139,3 +134,4 @@ p {
font-size: 14px; font-size: 14px;
margin: 0; margin: 0;
} }

File diff suppressed because one or more lines are too long

View File

@ -6,7 +6,7 @@ require.config({
main: 'moment' main: 'moment'
}], }],
//在打包压缩时将会把include中的模块合并到主文件中 //在打包压缩时将会把include中的模块合并到主文件中
include: ['css', 'layer', 'toastr', 'fast', 'backend', 'backend-init', 'table', 'form', 'dragsort', 'drag', 'drop', 'addtabs', 'selectpage'], include: ['css', 'layer', 'toastr', 'fast', 'backend', 'backend-init', 'table', 'form', 'dragsort', 'drag', 'drop', 'addtabs', 'selectpage', 'bootstrap-daterangepicker'],
paths: { paths: {
'lang': "empty:", 'lang': "empty:",
'form': 'require-form', 'form': 'require-form',
@ -20,24 +20,23 @@ require.config({
'adminlte': 'adminlte', 'adminlte': 'adminlte',
'bootstrap-table-commonsearch': 'bootstrap-table-commonsearch', 'bootstrap-table-commonsearch': 'bootstrap-table-commonsearch',
'bootstrap-table-template': 'bootstrap-table-template', 'bootstrap-table-template': 'bootstrap-table-template',
// // 以下的包从libs目录加载
// 以下的包从bower的libs目录加载
'jquery': '../libs/jquery/dist/jquery.min', 'jquery': '../libs/jquery/dist/jquery.min',
'bootstrap': '../libs/bootstrap/dist/js/bootstrap.min', 'bootstrap': '../libs/bootstrap/dist/js/bootstrap.min',
'bootstrap-datetimepicker': '../libs/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min', 'bootstrap-datetimepicker': '../libs/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min',
'bootstrap-daterangepicker': '../libs/bootstrap-daterangepicker/daterangepicker', 'bootstrap-daterangepicker': '../libs/bootstrap-daterangepicker/daterangepicker',
'bootstrap-select': '../libs/bootstrap-select/dist/js/bootstrap-select.min', 'bootstrap-select': '../libs/bootstrap-select/dist/js/bootstrap-select.min',
'bootstrap-select-lang': '../libs/bootstrap-select/dist/js/i18n/defaults-zh_CN', 'bootstrap-select-lang': '../libs/bootstrap-select/dist/js/i18n/defaults-zh_CN',
'bootstrap-table': '../libs/bootstrap-table/dist/bootstrap-table.min', 'bootstrap-table': '../libs/fastadmin-bootstraptable/dist/bootstrap-table.min',
'bootstrap-table-export': '../libs/bootstrap-table/dist/extensions/export/bootstrap-table-export.min', 'bootstrap-table-export': '../libs/fastadmin-bootstraptable/dist/extensions/export/bootstrap-table-export',
'bootstrap-table-fixed-columns': '../libs/bootstrap-table/dist/extensions/fixed-columns/bootstrap-table-fixed-columns', 'bootstrap-table-fixed-columns': '../libs/fastadmin-bootstraptable/dist/extensions/fixed-columns/bootstrap-table-fixed-columns',
'bootstrap-table-mobile': '../libs/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile', 'bootstrap-table-mobile': '../libs/fastadmin-bootstraptable/dist/extensions/mobile/bootstrap-table-mobile.min',
'bootstrap-table-lang': '../libs/bootstrap-table/dist/locale/bootstrap-table-zh-CN', 'bootstrap-table-lang': '../libs/fastadmin-bootstraptable/dist/locale/bootstrap-table-zh-CN',
'bootstrap-table-jumpto': '../libs/bootstrap-table/dist/extensions/page-jumpto/bootstrap-table-jumpto', 'bootstrap-table-jumpto': '../libs/fastadmin-bootstraptable/dist/extensions/page-jumpto/bootstrap-table-jumpto',
'bootstrap-slider': '../libs/bootstrap-slider/bootstrap-slider', 'bootstrap-slider': '../libs/bootstrap-slider/dist/bootstrap-slider.min',
'tableexport': '../libs/tableExport.jquery.plugin/tableExport.min', 'tableexport': '../libs/tableexport.jquery.plugin/tableExport.min',
'dragsort': '../libs/fastadmin-dragsort/jquery.dragsort', 'dragsort': '../libs/fastadmin-dragsort/jquery.dragsort',
'sortable': '../libs/Sortable/Sortable.min', 'sortable': '../libs/sortablejs/Sortable.min',
'addtabs': '../libs/fastadmin-addtabs/jquery.addtabs', 'addtabs': '../libs/fastadmin-addtabs/jquery.addtabs',
'slimscroll': '../libs/jquery-slimscroll/jquery.slimscroll', 'slimscroll': '../libs/jquery-slimscroll/jquery.slimscroll',
'validator': '../libs/nice-validator/dist/jquery.validator', 'validator': '../libs/nice-validator/dist/jquery.validator',
@ -49,6 +48,7 @@ require.config({
'cxselect': '../libs/fastadmin-cxselect/js/jquery.cxselect', 'cxselect': '../libs/fastadmin-cxselect/js/jquery.cxselect',
'template': '../libs/art-template/dist/template-native', 'template': '../libs/art-template/dist/template-native',
'selectpage': '../libs/fastadmin-selectpage/selectpage', 'selectpage': '../libs/fastadmin-selectpage/selectpage',
'coloris': '../libs/coloris/dist/umd/coloris.min',
'citypicker': '../libs/fastadmin-citypicker/dist/js/city-picker.min', 'citypicker': '../libs/fastadmin-citypicker/dist/js/city-picker.min',
'citypicker-data': '../libs/fastadmin-citypicker/dist/js/city-picker.data', 'citypicker-data': '../libs/fastadmin-citypicker/dist/js/city-picker.data',
}, },
@ -65,7 +65,7 @@ require.config({
exports: '$.fn.bootstrapTable.defaults' exports: '$.fn.bootstrapTable.defaults'
}, },
'bootstrap-table-export': { 'bootstrap-table-export': {
deps: ['bootstrap-table', 'tableexport'], deps: ['bootstrap-table'],
exports: '$.fn.bootstrapTable.defaults' exports: '$.fn.bootstrapTable.defaults'
}, },
'bootstrap-table-fixed-columns': { 'bootstrap-table-fixed-columns': {
@ -104,15 +104,25 @@ require.config({
deps: ['bootstrap', 'slimscroll'], deps: ['bootstrap', 'slimscroll'],
exports: '$.AdminLTE' exports: '$.AdminLTE'
}, },
'bootstrap-daterangepicker': [ 'table': [
'moment/locale/zh-cn' 'moment', 'moment/locale/zh-cn',
], 'bootstrap-table',
'bootstrap-datetimepicker': [ 'bootstrap-table-lang', 'bootstrap-table-export', 'bootstrap-table-commonsearch', 'bootstrap-table-template',
'moment/locale/zh-cn', 'bootstrap-table-jumpto', 'bootstrap-table-fixed-columns'
], ],
'bootstrap-daterangepicker': ['moment', 'moment/locale/zh-cn'],
'bootstrap-datetimepicker': ['moment', 'moment/locale/zh-cn'],
'bootstrap-select-lang': ['bootstrap-select'], 'bootstrap-select-lang': ['bootstrap-select'],
'selectpage': {
deps: ['jquery'],
exports: '$.fn.extend'
},
'layer': {
deps: ['jquery']
},
'jstree': ['css!../libs/jstree/dist/themes/default/style.css'], 'jstree': ['css!../libs/jstree/dist/themes/default/style.css'],
'validator-lang': ['validator'], 'validator-lang': ['validator'],
'coloris': ['css!../libs/coloris/dist/coloris.min.css'],
'citypicker': ['citypicker-data', 'css!../libs/fastadmin-citypicker/dist/css/city-picker.css'] 'citypicker': ['citypicker-data', 'css!../libs/fastadmin-citypicker/dist/css/city-picker.css']
}, },
baseUrl: requirejs.s.contexts._.config.config.site.cdnurl + '/assets/js/', //资源基础路径 baseUrl: requirejs.s.contexts._.config.config.site.cdnurl + '/assets/js/', //资源基础路径
@ -135,6 +145,15 @@ require(['jquery', 'bootstrap'], function ($, undefined) {
paths['lang'] = Config.moduleurl + '/ajax/lang?callback=define&controllername=' + Config.controllername + '&lang=' + Config.language + '&v=' + Config.site.version; paths['lang'] = Config.moduleurl + '/ajax/lang?callback=define&controllername=' + Config.controllername + '&lang=' + Config.language + '&v=' + Config.site.version;
// 避免目录冲突 // 避免目录冲突
paths['backend/'] = 'backend/'; paths['backend/'] = 'backend/';
// 如果是英文,则移除默认的定义
if (Config.language === 'en') {
$.each(requirejs.s.contexts._.config.paths, function (key, value) {
if (key.match(/\-lang$/)) {
define(key);
}
});
define('moment/locale/zh-cn');
}
require.config({paths: paths}); require.config({paths: paths});
// 初始化 // 初始化

File diff suppressed because one or more lines are too long

View File

@ -61,8 +61,10 @@ define(['jquery', 'bootstrap', 'upload', 'validator', 'validator-lang'], functio
var msg = ret.hasOwnProperty("msg") && ret.msg !== "" ? ret.msg : __('Operation completed'); var msg = ret.hasOwnProperty("msg") && ret.msg !== "" ? ret.msg : __('Operation completed');
parent.Toastr.success(msg); parent.Toastr.success(msg);
parent.$(".btn-refresh").trigger("click"); parent.$(".btn-refresh").trigger("click");
var index = parent.Layer.getFrameIndex(window.name); if (window.name) {
parent.Layer.close(index); var index = parent.Layer.getFrameIndex(window.name);
parent.Layer.close(index);
}
return false; return false;
}, function (data, ret) { }, function (data, ret) {
that.holdSubmit(false); that.holdSubmit(false);
@ -89,8 +91,10 @@ define(['jquery', 'bootstrap', 'upload', 'validator', 'validator-lang'], functio
$(".layer-footer [type=submit],.fixed-footer [type=submit],.normal-footer [type=submit]", form).removeClass("disabled"); $(".layer-footer [type=submit],.fixed-footer [type=submit],.normal-footer [type=submit]", form).removeClass("disabled");
//自定义关闭按钮事件 //自定义关闭按钮事件
form.on("click", ".layer-close", function () { form.on("click", ".layer-close", function () {
var index = parent.Layer.getFrameIndex(window.name); if (window.name) {
parent.Layer.close(index); var index = parent.Layer.getFrameIndex(window.name);
parent.Layer.close(index);
}
return false; return false;
}); });
}, },
@ -282,7 +286,7 @@ define(['jquery', 'bootstrap', 'upload', 'validator', 'validator-lang'], functio
} }
var result = urlArr.join(","); var result = urlArr.join(",");
inputObj.val(result).trigger("change").trigger("validate"); inputObj.val(result).trigger("change").trigger("validate");
} else { } else if (input_id) {
var url = Config.upload.fullmode ? Fast.api.cdnurl(data.url) : data.url; var url = Config.upload.fullmode ? Fast.api.cdnurl(data.url) : data.url;
$("#" + input_id).val(url).trigger("change").trigger("validate"); $("#" + input_id).val(url).trigger("change").trigger("validate");
} }

View File

@ -20,28 +20,28 @@ require.config({
'adminlte': 'adminlte', 'adminlte': 'adminlte',
'bootstrap-table-commonsearch': 'bootstrap-table-commonsearch', 'bootstrap-table-commonsearch': 'bootstrap-table-commonsearch',
'bootstrap-table-template': 'bootstrap-table-template', 'bootstrap-table-template': 'bootstrap-table-template',
// // 以下的包从libs目录加载
// 以下的包从bower的libs目录加载
'jquery': '../libs/jquery/dist/jquery.min', 'jquery': '../libs/jquery/dist/jquery.min',
'bootstrap': '../libs/bootstrap/dist/js/bootstrap.min', 'bootstrap': '../libs/bootstrap/dist/js/bootstrap.min',
'bootstrap-datetimepicker': '../libs/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min', 'bootstrap-datetimepicker': '../libs/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min',
'bootstrap-daterangepicker': '../libs/bootstrap-daterangepicker/daterangepicker', 'bootstrap-daterangepicker': '../libs/bootstrap-daterangepicker/daterangepicker',
'bootstrap-select': '../libs/bootstrap-select/dist/js/bootstrap-select.min', 'bootstrap-select': '../libs/bootstrap-select/dist/js/bootstrap-select.min',
'bootstrap-select-lang': '../libs/bootstrap-select/dist/js/i18n/defaults-zh_CN', 'bootstrap-select-lang': '../libs/bootstrap-select/dist/js/i18n/defaults-zh_CN',
'bootstrap-table': '../libs/bootstrap-table/dist/bootstrap-table.min', 'bootstrap-table': '../libs/fastadmin-bootstraptable/dist/bootstrap-table.min',
'bootstrap-table-export': '../libs/bootstrap-table/dist/extensions/export/bootstrap-table-export.min', 'bootstrap-table-export': '../libs/fastadmin-bootstraptable/dist/extensions/export/bootstrap-table-export.min',
'bootstrap-table-fixed-columns': '../libs/bootstrap-table/dist/extensions/fixed-columns/bootstrap-table-fixed-columns', 'bootstrap-table-fixed-columns': '../libs/fastadmin-bootstraptable/dist/extensions/fixed-columns/bootstrap-table-fixed-columns',
'bootstrap-table-mobile': '../libs/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile', 'bootstrap-table-mobile': '../libs/fastadmin-bootstraptable/dist/extensions/mobile/bootstrap-table-mobile.min',
'bootstrap-table-lang': '../libs/bootstrap-table/dist/locale/bootstrap-table-zh-CN', 'bootstrap-table-lang': '../libs/fastadmin-bootstraptable/dist/locale/bootstrap-table-zh-CN',
'bootstrap-table-jumpto': '../libs/bootstrap-table/dist/extensions/page-jumpto/bootstrap-table-jumpto', 'bootstrap-table-jumpto': '../libs/fastadmin-bootstraptable/dist/extensions/page-jumpto/bootstrap-table-jumpto',
'tableexport': '../libs/tableExport.jquery.plugin/tableExport.min', 'bootstrap-slider': '../libs/bootstrap-slider/dist/bootstrap-slider.min',
'tableexport': '../libs/tableexport.jquery.plugin/tableExport.min',
'dragsort': '../libs/fastadmin-dragsort/jquery.dragsort', 'dragsort': '../libs/fastadmin-dragsort/jquery.dragsort',
'sortable': '../libs/Sortable/Sortable.min', 'sortable': '../libs/sortablejs/Sortable.min',
'addtabs': '../libs/fastadmin-addtabs/jquery.addtabs', 'addtabs': '../libs/fastadmin-addtabs/jquery.addtabs',
'slimscroll': '../libs/jquery-slimscroll/jquery.slimscroll', 'slimscroll': '../libs/jquery-slimscroll/jquery.slimscroll',
'validator': '../libs/nice-validator/dist/jquery.validator', 'validator': '../libs/nice-validator/dist/jquery.validator',
'validator-lang': '../libs/nice-validator/dist/local/zh-CN', 'validator-lang': '../libs/nice-validator/dist/local/zh-CN',
'toastr': '../libs/toastr/toastr', 'toastr': '../libs/toastr/build/toastr.min',
'jstree': '../libs/jstree/dist/jstree.min', 'jstree': '../libs/jstree/dist/jstree.min',
'layer': '../libs/fastadmin-layer/dist/layer', 'layer': '../libs/fastadmin-layer/dist/layer',
'cookie': '../libs/jquery.cookie/jquery.cookie', 'cookie': '../libs/jquery.cookie/jquery.cookie',
@ -64,7 +64,7 @@ require.config({
exports: '$.fn.bootstrapTable.defaults' exports: '$.fn.bootstrapTable.defaults'
}, },
'bootstrap-table-export': { 'bootstrap-table-export': {
deps: ['bootstrap-table', 'tableexport'], deps: ['bootstrap-table'],
exports: '$.fn.bootstrapTable.defaults' exports: '$.fn.bootstrapTable.defaults'
}, },
'bootstrap-table-fixed-columns': { 'bootstrap-table-fixed-columns': {
@ -103,13 +103,22 @@ require.config({
deps: ['bootstrap', 'slimscroll'], deps: ['bootstrap', 'slimscroll'],
exports: '$.AdminLTE' exports: '$.AdminLTE'
}, },
'bootstrap-daterangepicker': [ 'table': [
'moment/locale/zh-cn' 'moment', 'moment/locale/zh-cn',
], 'bootstrap-table',
'bootstrap-datetimepicker': [ 'bootstrap-table-lang', 'bootstrap-table-export', 'bootstrap-table-commonsearch', 'bootstrap-table-template',
'moment/locale/zh-cn', 'bootstrap-table-jumpto', 'bootstrap-table-fixed-columns'
], ],
'bootstrap-daterangepicker': ['moment', 'moment/locale/zh-cn'],
'bootstrap-datetimepicker': ['moment', 'moment/locale/zh-cn'],
'bootstrap-select-lang': ['bootstrap-select'], 'bootstrap-select-lang': ['bootstrap-select'],
'selectpage': {
deps: ['jquery'],
exports: '$.fn.extend'
},
'layer': {
deps: ['jquery']
},
'jstree': ['css!../libs/jstree/dist/themes/default/style.css'], 'jstree': ['css!../libs/jstree/dist/themes/default/style.css'],
'validator-lang': ['validator'], 'validator-lang': ['validator'],
'citypicker': ['citypicker-data', 'css!../libs/fastadmin-citypicker/dist/css/city-picker.css'] 'citypicker': ['citypicker-data', 'css!../libs/fastadmin-citypicker/dist/css/city-picker.css']
@ -134,6 +143,15 @@ require(['jquery', 'bootstrap'], function ($, undefined) {
paths['lang'] = Config.moduleurl + '/ajax/lang?callback=define&controllername=' + Config.controllername + '&lang=' + Config.language + '&v=' + Config.site.version; paths['lang'] = Config.moduleurl + '/ajax/lang?callback=define&controllername=' + Config.controllername + '&lang=' + Config.language + '&v=' + Config.site.version;
// 避免目录冲突 // 避免目录冲突
paths['frontend/'] = 'frontend/'; paths['frontend/'] = 'frontend/';
// 如果是英文,则移除默认的定义
if (Config.language === 'en') {
$.each(requirejs.s.contexts._.config.paths, function (key, value) {
if (key.match(/\-lang$/)) {
define(key);
}
});
define('moment/locale/zh-cn');
}
require.config({paths: paths}); require.config({paths: paths});
// 初始化 // 初始化
@ -143,7 +161,13 @@ require(['jquery', 'bootstrap'], function ($, undefined) {
//加载相应模块 //加载相应模块
if (Config.jsname) { if (Config.jsname) {
require([Config.jsname], function (Controller) { require([Config.jsname], function (Controller) {
Controller[Config.actionname] != undefined && Controller[Config.actionname](); if (Controller.hasOwnProperty(Config.actionname)) {
Controller[Config.actionname]();
} else {
if (Controller.hasOwnProperty("_empty")) {
Controller._empty();
}
}
}, function (e) { }, function (e) {
console.error(e); console.error(e);
// 这里可捕获模块加载的错误 // 这里可捕获模块加载的错误

File diff suppressed because one or more lines are too long

54
public/assets/js/require-table.js 100644 → 100755
View File

@ -1,4 +1,4 @@
define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table', 'bootstrap-table-lang', 'bootstrap-table-export', 'bootstrap-table-commonsearch', 'bootstrap-table-template', 'bootstrap-table-jumpto', 'bootstrap-table-fixed-columns'], function ($, undefined, Moment) { define(['jquery', 'bootstrap'], function ($, undefined) {
var Table = { var Table = {
list: {}, list: {},
// Bootstrap-table 基础配置 // Bootstrap-table 基础配置
@ -34,7 +34,9 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
singleSelect: false, //是否启用单选 singleSelect: false, //是否启用单选
showRefresh: false, showRefresh: false,
showJumpto: true, showJumpto: true,
locale: Config.language == 'zh-cn' ? 'zh-CN' : 'en-US', locale: Config.language === 'en' ? 'en-US' : Config.language.replace(/\-(\w+)$/, function (value) {
return value.toUpperCase();
}),
showToggle: true, showToggle: true,
showColumns: true, showColumns: true,
pk: 'id', pk: 'id',
@ -224,12 +226,14 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
checkboxtd.drag("start", function (ev, dd) { checkboxtd.drag("start", function (ev, dd) {
return $('<div class="selection" />').css('opacity', .65).appendTo(document.body); return $('<div class="selection" />').css('opacity', .65).appendTo(document.body);
}).drag(function (ev, dd) { }).drag(function (ev, dd) {
$(dd.proxy).css({ setTimeout(function () {
top: Math.min(ev.pageY, dd.startY), $(dd.proxy).css({
left: Math.min(ev.pageX, dd.startX), top: Math.min(ev.pageY, dd.startY),
height: Math.abs(ev.pageY - dd.startY), left: Math.min(ev.pageX, dd.startX),
width: Math.abs(ev.pageX - dd.startX) height: Math.abs(ev.pageY - dd.startY),
}); width: Math.abs(ev.pageX - dd.startX)
});
}, 0);
}).drag("end", function (ev, dd) { }).drag("end", function (ev, dd) {
$(dd.proxy).remove(); $(dd.proxy).remove();
}); });
@ -383,7 +387,7 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
$(document).on('click', Table.config.restoreonebtn + ',' + Table.config.destroyonebtn, function () { $(document).on('click', Table.config.restoreonebtn + ',' + Table.config.destroyonebtn, function () {
var that = this; var that = this;
var url = $(that).data("url") ? $(that).data("url") : $(that).attr("href"); var url = $(that).data("url") ? $(that).data("url") : $(that).attr("href");
var row = Fast.api.getrowbyindex(table, $(that).data("row-index")); var row = Table.api.getrowbyindex(table, $(that).data("row-index"));
Fast.api.ajax({ Fast.api.ajax({
url: url, url: url,
data: {ids: row[options.pk]} data: {ids: row[options.pk]}
@ -635,40 +639,30 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
return '<i class="' + value + '"></i> ' + value; return '<i class="' + value + '"></i> ' + value;
}, },
image: function (value, row, index) { image: function (value, row, index) {
value = value == null || value.length === 0 ? '' : value.toString(); return Table.api.formatter.images.call(this, value, row, index);
value = value ? value : '/assets/img/blank.gif';
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
var url = Fast.api.cdnurl(value, true);
url = url.match(/^(\/|data:image\\)/) ? url : url + Config.upload.thumbstyle;
return '<a href="javascript:"><img class="' + classname + '" src="' + url + '" /></a>';
}, },
images: function (value, row, index) { images: function (value, row, index) {
value = value == null || value.length === 0 ? '' : value.toString(); value = value == null || value.length === 0 ? '' : value.toString();
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center'; var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
var arr = value != '' ? value.split(',') : []; var arr = value !== '' ? value.split(',') : [];
var html = []; var html = [];
var url; var url;
$.each(arr, function (i, value) { $.each(arr, function (i, value) {
value = value ? value : '/assets/img/blank.gif'; value = value ? value : '/assets/img/blank.gif';
url = Fast.api.cdnurl(value, true); url = Fast.api.cdnurl(value, true);
url = url.match(/^(\/|data:image\\)/) ? url : url + Config.upload.thumbstyle; url = url.match(/^(\/|data:image\\)/) ? url : url + Config.upload.thumbstyle;
html.push('<a href="javascript:"><img class="' + classname + '" src="' + url + '" /></a>'); html.push('<a href="javascript:"><img class="' + classname + '" src="' + url + '" width="30" height="30" /></a>');
}); });
return html.join(' '); return html.join(' ');
}, },
file: function (value, row, index) { file: function (value, row, index) {
value = value == null || value.length === 0 ? '' : value.toString(); return Table.api.formatter.files.call(this, value, row, index);
value = Fast.api.cdnurl(value, true);
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
var suffix = /[\.]?([a-zA-Z0-9]+)$/.exec(value);
suffix = suffix ? suffix[1] : 'file';
var url = Fast.api.fixurl("ajax/icon?suffix=" + suffix);
return '<a href="' + value + '" target="_blank"><img src="' + url + '" class="' + classname + '"></a>';
}, },
files: function (value, row, index) { files: function (value, row, index) {
value = value == null || value.length === 0 ? '' : value.toString(); value = value == null || value.length === 0 ? '' : value.toString();
var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center'; var classname = typeof this.classname !== 'undefined' ? this.classname : 'img-sm img-center';
var arr = value != '' ? value.split(',') : []; var arr = value !== '' ? value.split(',') : [];
var html = []; var html = [];
var suffix, url; var suffix, url;
$.each(arr, function (i, value) { $.each(arr, function (i, value) {
@ -676,7 +670,7 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
suffix = /[\.]?([a-zA-Z0-9]+)$/.exec(value); suffix = /[\.]?([a-zA-Z0-9]+)$/.exec(value);
suffix = suffix ? suffix[1] : 'file'; suffix = suffix ? suffix[1] : 'file';
url = Fast.api.fixurl("ajax/icon?suffix=" + suffix); url = Fast.api.fixurl("ajax/icon?suffix=" + suffix);
html.push('<a href="' + value + '" target="_blank"><img src="' + url + '" class="' + classname + '"></a>'); html.push('<a href="' + value + '" target="_blank"><img src="' + url + '" class="' + classname + '" width="30" height="30"></a>');
}); });
return html.join(' '); return html.join(' ');
}, },
@ -773,7 +767,9 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
} }
if (typeof that.searchList === 'object' && typeof that.custom === 'undefined') { if (typeof that.searchList === 'object' && typeof that.custom === 'undefined') {
var i = 0; var i = 0;
var searchValues = Object.values(colorArr); var searchValues = Object.keys(colorArr).map(function (e) {
return colorArr[e];
});
$.each(that.searchList, function (key, val) { $.each(that.searchList, function (key, val) {
if (typeof colorArr[key] == 'undefined') { if (typeof colorArr[key] == 'undefined') {
colorArr[key] = searchValues[i]; colorArr[key] = searchValues[i];
@ -784,11 +780,11 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
//渲染Flag //渲染Flag
var html = []; var html = [];
var arr = value != '' ? value.split(',') : []; var arr = value !== '' ? value.split(',') : [];
var color, display, label; var color, display, label;
$.each(arr, function (i, value) { $.each(arr, function (i, value) {
value = value == null || value.length === 0 ? '' : value.toString(); value = value == null || value.length === 0 ? '' : value.toString();
if (value == '') if (value === '')
return true; return true;
color = value && typeof colorArr[value] !== 'undefined' ? colorArr[value] : 'primary'; color = value && typeof colorArr[value] !== 'undefined' ? colorArr[value] : 'primary';
display = typeof that.searchList !== 'undefined' && typeof that.searchList[value] !== 'undefined' ? that.searchList[value] : __(value.charAt(0).toUpperCase() + value.slice(1)); display = typeof that.searchList !== 'undefined' && typeof that.searchList[value] !== 'undefined' ? that.searchList[value] : __(value.charAt(0).toUpperCase() + value.slice(1));

View File

@ -27,7 +27,7 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined,
if ($(button).data("multiple") && inputObj.val() !== "") { if ($(button).data("multiple") && inputObj.val() !== "") {
urlArr.push(inputObj.val()); urlArr.push(inputObj.val());
} }
var url = Config.upload.fullmode ? Fast.api.cdnurl(data.url) : data.url; var url = Config.upload.fullmode ? (data.fullurl ? data.fullurl : Fast.api.cdnurl(data.url)) : data.url;
urlArr.push(url); urlArr.push(url);
inputObj.val(urlArr.join(",")).trigger("change").trigger("validate"); inputObj.val(urlArr.join(",")).trigger("change").trigger("validate");
} }
@ -173,12 +173,8 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined,
options = $.extend(true, {}, options, $(this).data("upload-options") || {}); options = $.extend(true, {}, options, $(this).data("upload-options") || {});
delete options.success; delete options.success;
delete options.url; delete options.url;
// delete options.params;
multipart = $.isArray(multipart) ? {} : multipart; multipart = $.isArray(multipart) ? {} : multipart;
var params = $(this).data("params") || {};
var category = typeof params.category !== 'undefined' ? params.category : ($(this).data("category") || '');
if (category) {
// multipart.category = category;
}
Upload.list[id] = new Dropzone(this, $.extend({ Upload.list[id] = new Dropzone(this, $.extend({
url: url, url: url,
@ -232,6 +228,7 @@ define(['jquery', 'bootstrap', 'dropzone', 'template'], function ($, undefined,
}, },
addedfile: function (file) { addedfile: function (file) {
var params = $(this.element).data("params") || {}; var params = $(this.element).data("params") || {};
params = typeof params === 'function' ? params.call(this, file) : params;
var category = typeof params.category !== 'undefined' ? params.category : ($(this.element).data("category") || ''); var category = typeof params.category !== 'undefined' ? params.category : ($(this.element).data("category") || '');
file.category = typeof category === 'function' ? category.call(this, file) : category; file.category = typeof category === 'function' ? category.call(this, file) : category;
}, },

View File

@ -8,15 +8,15 @@
@import url("../css/skins/skin-black-blue.css"); @import url("../css/skins/skin-black-blue.css");
@import url("../css/iconfont.css"); @import url("../css/iconfont.css");
@import url("../libs/font-awesome/css/font-awesome.min.css"); @import url("../libs/font-awesome/css/font-awesome.min.css");
@import url("../libs/toastr/toastr.min.css"); @import url("../libs/toastr/build/toastr.min.css");
@import url("../libs/fastadmin-layer/dist/theme/default/layer.css"); @import url("../libs/fastadmin-layer/dist/theme/default/layer.css");
@import url("../libs/bootstrap-table/dist/bootstrap-table.min.css"); @import url("../libs/fastadmin-bootstraptable/dist/bootstrap-table.min.css");
@import url("../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css"); @import url("../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css");
@import url("../libs/bootstrap-daterangepicker/daterangepicker.css"); @import url("../libs/bootstrap-daterangepicker/daterangepicker.css");
@import url("../libs/nice-validator/dist/jquery.validator.css"); @import url("../libs/nice-validator/dist/jquery.validator.css");
@import url("../libs/bootstrap-select/dist/css/bootstrap-select.min.css"); @import url("../libs/bootstrap-select/dist/css/bootstrap-select.min.css");
@import url("../libs/fastadmin-selectpage/selectpage.css"); @import url("../libs/fastadmin-selectpage/selectpage.css");
@import url("../libs/bootstrap-slider/slider.css"); @import url("../libs/bootstrap-slider/dist/css/bootstrap-slider.min.css");
@import "tinycss.less"; @import "tinycss.less";
@main-bg: #f1f4f6; @main-bg: #f1f4f6;
@ -204,24 +204,30 @@ table.table-template {
right: 12px; right: 12px;
} }
.bootstrap-select .status { .bootstrap-select {
background: #f0f0f0; .status {
clear: both; background: #f0f0f0;
color: #999; clear: both;
font-size: 13px; color: #999;
font-weight: 500; font-size: 13px;
line-height: 1; font-weight: 500;
margin-bottom: -5px; line-height: 1;
padding: 10px 20px; margin-bottom: -5px;
padding: 10px 20px;
}
.bs-placeholder {
min-height: 33px;
}
} }
select.bs-select-hidden, select.selectpicker { select.bs-select-hidden, select.selectpicker {
display: inherit !important; display: inherit !important;
max-height: 31px; max-height: 33px;
overflow: hidden; overflow: hidden;
&[multiple] { &[multiple] {
height: 31px; height: 33px;
//visibility: hidden; //visibility: hidden;
padding: 0; padding: 0;
background: #f4f4f4; background: #f4f4f4;
@ -963,12 +969,13 @@ form.form-horizontal .control-label {
.bootstrap-table .table:not(.table-condensed) > thead > tr > td, .bootstrap-table .table:not(.table-condensed) > thead > tr > td,
.bootstrap-table .table:not(.table-condensed) > tbody > tr > td, .bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
.bootstrap-table .table:not(.table-condensed) > tfoot > tr > td { .bootstrap-table .table:not(.table-condensed) > tfoot > tr > td {
padding: 8px 15px; padding: 10px 15px;
height: 47px; height: 47px;
} }
.fixed-table-container tbody td .th-inner, .fixed-table-container thead th .th-inner { .fixed-table-container tbody td .th-inner, .fixed-table-container thead th .th-inner {
padding: 8px 10px; padding: 10px 10px;
} }
.toolbar { .toolbar {
@ -1532,13 +1539,14 @@ table.table-nowrap {
display: inline-block; display: inline-block;
padding: 4px 6px; padding: 4px 6px;
//margin-bottom: 10px; //margin-bottom: 10px;
color: #555; color: #555;
vertical-align: middle; vertical-align: middle;
//border-radius: 4px; //border-radius: 4px;
//max-width: 100%; //max-width: 100%;
width: 100%; width: 100%;
line-height: 22px; line-height: 23px;
cursor: text; cursor: text;
@ -1573,6 +1581,7 @@ table.table-nowrap {
.tag { .tag {
margin-right: 2px; margin-right: 2px;
color: white; color: white;
min-height: 23px;
[data-role="remove"] { [data-role="remove"] {
margin-left: 5px; margin-left: 5px;

View File

@ -5,15 +5,15 @@
@import url("../css/fastadmin.css"); @import url("../css/fastadmin.css");
@import url("../css/iconfont.css"); @import url("../css/iconfont.css");
@import url("../libs/font-awesome/css/font-awesome.min.css"); @import url("../libs/font-awesome/css/font-awesome.min.css");
@import url("../libs/toastr/toastr.min.css"); @import url("../libs/toastr/build/toastr.min.css");
@import url("../libs/fastadmin-layer/dist/theme/default/layer.css"); @import url("../libs/fastadmin-layer/dist/theme/default/layer.css");
@import url("../libs/bootstrap-table/dist/bootstrap-table.min.css"); @import url("../libs/fastadmin-bootstraptable/dist/bootstrap-table.min.css");
@import url("../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css"); @import url("../libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css");
@import url("../libs/bootstrap-daterangepicker/daterangepicker.css"); @import url("../libs/bootstrap-daterangepicker/daterangepicker.css");
@import url("../libs/nice-validator/dist/jquery.validator.css"); @import url("../libs/nice-validator/dist/jquery.validator.css");
@import url("../libs/bootstrap-select/dist/css/bootstrap-select.min.css"); @import url("../libs/bootstrap-select/dist/css/bootstrap-select.min.css");
@import url("../libs/fastadmin-selectpage/selectpage.css"); @import url("../libs/fastadmin-selectpage/selectpage.css");
@import url("../libs/bootstrap-slider/slider.css"); @import url("../libs/bootstrap-slider/dist/css/bootstrap-slider.min.css");
@import "tinycss.less"; @import "tinycss.less";
@primary-color: #007bff; @primary-color: #007bff;
@ -619,9 +619,11 @@ footer.footer {
.login-main { .login-main {
padding: 40px 45px 20px 45px; padding: 40px 45px 20px 45px;
} }
}
.login-section, .form-section {
.n-bootstrap { .n-bootstrap {
.form-group { .controls {
position: relative; position: relative;
} }
@ -631,7 +633,7 @@ footer.footer {
.n-right { .n-right {
margin-top: 0; margin-top: 0;
top: 0; top: -20px;
position: absolute; position: absolute;
left: 0; left: 0;
text-align: right; text-align: right;