- 根因:页面(_MainLayout 等)加载的是 bundle.js 等由 bundleconfig.json 打包的生成产物,
但 csproj 未接入 BundlerMinifier,dotnet build 不会重生它们,Jenkins 只是把 git 里
陈旧的 bundle.js 原样发布 -> 改了 fastVue.base.js 后回车不生效(部署的 bundle 仍是无
enter 的旧版)。且源文件带 UTF-8 BOM,拼接后每个 BOM 落入文件中间成为 ZWNBSP,提交
diff 充满不可见字符(历史上曾多次在产物上手工清 BOM 打补丁)。
- 修复:
1. YLErpWeb.csproj 新增 BuildBundlerMinifier(3.2.449);其 BundleMinify 目标在
BeforeCompile 自动按 bundleconfig.json 重建全部 bundle,Jenkins 构建即自动产出正确版本,
不再需要手工重建并提交 bundle.js。
2. .gitignore 忽略 8 个生成产物(jquery.js/bundle.js/vue.js/bundle.css/bundleV2.css/
bundleV2.js/bundle.min.css/bundleV2.min.css) 并 git rm --cached 取消跟踪;这些产物
永不再入版本库、永不陈旧。
3. 剥离 15 个喂给 bundle 的源文件(及 css)开头的 UTF-8 BOM,使重建产物不再含 ZWNBSP。
- 验证:本地 dotnet build -t:BundleMinify 重建后 8 个 bundle 全部 BOM=0,bundle.js 含完整
enter 链路(_enterFired/isEnter/$emit('enter'));删除 bundle.min.css 后构建可自动重建。
93 lines
5.7 KiB
CSS
93 lines
5.7 KiB
CSS
/**************************************************
|
|
定义整个页面用到的通用样式(脱离框架自定义的样式类)
|
|
****************************************************/
|
|
|
|
body.infopage { min-height: calc(100% - 30px); height: auto; }
|
|
|
|
/*分页table样式定义*/
|
|
#listGrid tr:nth-child(odd) { background: #f3f3f4; }
|
|
#listGrid tr .tooltip .tooltip-inner tr:nth-child(odd) { background: none !important; }
|
|
|
|
/***vue***/
|
|
[v-cloak] { display: none; }
|
|
|
|
/***loading***/
|
|
.yl-waitme { z-index: 99999999; position: fixed; left: 0; right: 0; top: 0; bottom: 0; background: rgba(255, 255, 255, 0.1) url("/Images/loading_small.gif") no-repeat center center; display: none; }
|
|
|
|
/***布局**/
|
|
.infopage, page-content { background-color: #f5f5f5; }
|
|
.infopage > .page-content { padding: 1px; }
|
|
.toolbarDiv button { margin: 2px; }
|
|
|
|
input[type=text], input[type=number], input[type=date], input[type=password], select, .searchdiv input[type=text], .searchdiv .search-input,
|
|
.searchdiv select, .text-box, .selectize-control.select-input.single, input.datepicker,
|
|
.bs-searchbox .form-control-sm { width: 152px; height: 30px; text-align: center; background-clip: padding-box; border: 1px solid #bbbbbb; border-radius: 0.25rem; transition-property: border-color, box-shadow; transition-duration: 0.15s, 0.15s; transition-timing-function: ease-in-out, ease-in-out; transition-delay: 0s, 0s; }
|
|
|
|
.chosen-search .chosen-search-input { max-width: 140px; }
|
|
|
|
.selectize-input.items.not-full.has-options { height: 28px; }
|
|
|
|
input:focus, select:focus, textarea:focus, .searchdiv input[type=text]:focus, .searchdiv .search-input:focus,
|
|
.searchdiv select:focus, .text-box:focus, input.datepicker:focus,
|
|
.bs-searchbox .form-control-sm:focus { border-color: #5897FB; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); background-color: #FFFFEE; }
|
|
|
|
li .search-field, input .chosen-search-input { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
|
|
li .search-field:focus, input .chosen-search-input:focus { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
|
|
|
|
input:read-only, input:read-only:focus { background-color: rgb(235,235,228); -webkit-box-shadow: none; -moz-box-shadow: none; color: rgb(84, 84, 84); }
|
|
|
|
select { text-align: center; text-align-last: center; }
|
|
textarea { background-clip: padding-box; border: 1px solid #bbbbbb; border-radius: 0.25rem; transition-property: border-color, box-shadow; transition-duration: 0.15s, 0.15s; transition-timing-function: ease-in-out, ease-in-out; transition-delay: 0s, 0s; }
|
|
|
|
.searchdiv .search-group { display: inline-block; word-break: normal; white-space: normal; margin: 0.25rem 0 0.25rem 0; width: 242px; word-spacing: -6px; letter-spacing: -3px; }
|
|
.searchdiv .search-group > * { word-spacing: 0; letter-spacing: 0; }
|
|
.searchdiv .search-label { margin-right: 5px; display: inline-block; width: 80px; text-align: end; }
|
|
.searchdiv, .toolbarDiv, .form-layout, .yc-panel, .card { background-color: white; border-style: solid; border-width: 1px; border-color: lightgray; box-shadow: 0 0 0 0.1rem rgba(200, 200, 200, 0.5); border-radius: 3px 3px; margin: 1rem 1rem 1rem 1rem; padding: 1rem 1rem 1rem 1rem; }
|
|
.searchdiv .search-group > .bootstrap-select { width: 150px !important; }
|
|
|
|
.tab-content { background-color: white; border-style: solid; border-width: 1px; border-color: lightgray; box-shadow: 0 0 0 0.1rem rgba(200, 200, 200, 0.5); border-radius: 3px 3px; margin: 0 1rem 0 1rem; padding: 1rem 1rem 1rem 1rem; }
|
|
|
|
.tabbable { margin: 0 1rem 0 1rem; }
|
|
|
|
.ui-jqgrid { background-color: white; border-style: solid; border-width: 1px; border-color: lightgray; box-shadow: 0 0 0 0.1rem rgba(200, 200, 200, 0.5); border-radius: 3px 3px; margin: 0 1rem 0 1rem; }
|
|
|
|
.searchdiv input[type="button"] { min-width: 80px; padding: 4px 12px; }
|
|
.searchdiv .search-buttons { margin-top: 5px; }
|
|
.search-form > * { margin-right: 5px; }
|
|
|
|
button, input[type=button], input[type=file], .btn { height: 35px; font-size: 1.1rem; }
|
|
|
|
.btn-sm { height: 30px; font-size: 0.9rem; }
|
|
|
|
.searchdiv .chosen-choices .search-choice > span:first-child { width: 90px; display: inline-block; max-width: 100%; white-space: nowrap !important; overflow: hidden; text-overflow: clip; vertical-align: bottom; }
|
|
|
|
/***通用***/
|
|
.formlabel { text-align: right; min-width: 120px; padding-right: 15px; padding-top: 2px; font-weight: normal; vertical-align: top; margin-right: 0; }
|
|
|
|
label.text-box { text-align: center; }
|
|
.field-validation-error { color: #ff6a00; }
|
|
.warning { background: #ffb752; border-color: #ffb752; color: #fff; }
|
|
.wentiEdit { border: 1px solid #e33333; background-color: #fff !important; color: #e33333 !important; min-width: 50px; height: 20px; border-radius: 0.25rem; margin: 0 0.5rem 0 0.5rem; }
|
|
input[disabled].wentiEdit { background-color: #ebebe4 !important; color: graytext !important; }
|
|
|
|
.tdRight { text-align: left !important; font-size: 13px; }
|
|
.required, .error { color: red; }
|
|
.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; /*border: 1px solid #e3e3e3; box-shadow: inset 0 1px 1px rgba(0,0,0,.05);*/ }
|
|
.hide, .hidden { display: none !important; }
|
|
.center { text-align: center; }
|
|
|
|
.searchdiv .datepicker { width: 73px !important; font-size: 0.75rem }
|
|
|
|
.nav.nav-tabs.nav-main { margin: 0 1rem 0 1rem; }
|
|
.tabbable .nav.nav-tabs.nav-main { margin: 0; }
|
|
|
|
.table td, .table th { text-align: center; }
|
|
|
|
.glyphicon, .fa { color: #e33333; }
|
|
|
|
.btn .glyphicon, .btn .fa, .layui-layer-ico { color: #fff; }
|
|
|
|
|
|
/***修复这个样式文件导致的bootstrap错位问题***/
|
|
.modal-header .close { height: auto; }
|