| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079 |
- <style>
- /* 本页在 iframe 内:收紧外层边距,但保留少量内边距,避免左侧月份栏/上方工具栏被裁切 */
- html, body.inside-aside, body.inside-header {
- margin: 0 !important;
- padding: 0 !important;
- background: #fff !important;
- }
- #main,
- #content,
- .tab-content.tab-addtabs {
- margin-left: 0 !important;
- margin-right: 0 !important;
- }
- .content {
- padding: 10px 8px 0 8px !important;
- }
- #procuremen-layout > .panel-body {
- padding: 4px 0 0 0 !important;
- }
- #procuremen-layout.panel-default,
- #procuremen-layout.panel-intro {
- margin: 0 !important;
- border-radius: 0 !important;
- border-left: none !important;
- border-right: none !important;
- border-top: none !important;
- box-shadow: none !important;
- }
- #procuremen-layout.panel-intro > .panel-heading {
- padding: 8px 8px 0 8px !important;
- overflow: visible;
- min-height: 0;
- }
- #procuremen-layout.panel-intro > .panel-heading .panel-lead {
- margin-bottom: 0;
- }
- #procuremen-layout .tab-content,
- #procuremen-layout .tab-pane {
- padding: 0;
- margin: 0;
- }
- /* 月份栏与表格并排:主区 width:0 + flex:1,防止撑破导致左侧列被裁切 */
- .procuremen-layout { margin: 0 !important; }
- #procuremen-layout .procuremen-layout.row {
- display: flex !important;
- flex-direction: row !important;
- flex-wrap: nowrap !important;
- align-items: stretch;
- margin-left: 0 !important;
- margin-right: 0 !important;
- }
- @media (min-width: 768px) {
- #procuremen-layout .procuremen-layout.row {
- min-height: calc(100vh - 132px);
- }
- #procuremen-layout .procuremen-layout > .procuremen-sidebar,
- #procuremen-layout .procuremen-layout > .procuremen-main {
- float: none !important;
- display: flex;
- flex-direction: column;
- padding-left: 0 !important;
- padding-right: 0 !important;
- }
- #procuremen-layout .procuremen-layout > .procuremen-sidebar {
- flex: 0 0 96px !important;
- max-width: 96px !important;
- width: 96px !important;
- min-width: 96px !important;
- }
- #procuremen-layout .procuremen-layout > .procuremen-main {
- flex: 1 1 0% !important;
- width: 0 !important;
- max-width: none !important;
- min-width: 0 !important;
- }
- }
- #procuremen-layout .procuremen-main {
- overflow: hidden !important;
- padding-left: 0 !important;
- padding-right: 0 !important;
- flex: 1 1 0%;
- min-width: 0;
- width: 0;
- max-width: none !important;
- background: #fff;
- position: relative;
- z-index: 0;
- }
- .procuremen-sidebar {
- flex: 0 0 96px;
- width: 96px;
- min-width: 96px;
- max-width: 96px;
- align-self: stretch;
- min-height: 0;
- overflow-x: hidden;
- overflow-y: auto;
- border-right: 1px solid #d9d9d9;
- background: #fff;
- margin: 0 !important;
- padding: 4px 0 !important;
- box-sizing: border-box;
- position: relative;
- z-index: 1;
- float: none !important;
- }
- /* 手机:必须覆盖上方 nowrap/row !important,否则侧栏占满宽度、主表被挤成 0 宽呈空白 */
- @media (max-width: 767px) {
- #procuremen-layout .procuremen-layout.row {
- flex-direction: column !important;
- flex-wrap: nowrap !important;
- min-height: calc(100vh - 120px);
- align-items: stretch;
- }
- .procuremen-sidebar {
- flex: 0 0 auto !important;
- width: 100% !important;
- min-width: 0 !important;
- max-width: 100% !important;
- border-right: none;
- border-bottom: 1px solid #d9d9d9;
- max-height: 160px;
- align-self: stretch;
- }
- #procuremen-layout .procuremen-main {
- display: flex !important;
- flex-direction: column !important;
- flex: 1 1 auto !important;
- width: 100% !important;
- min-width: 0 !important;
- min-height: 280px;
- }
- #procuremen-layout .procuremen-main > .tab-content,
- #procuremen-layout .procuremen-main .tab-pane,
- #procuremen-layout .procuremen-main .widget-body {
- flex: 1 1 auto;
- min-height: 0;
- min-width: 0;
- display: flex;
- flex-direction: column;
- }
- }
- .procuremen-sidebar .year-title {
- font-weight: 600;
- padding: 8px 4px 4px;
- margin: 4px 0 2px;
- background: transparent;
- border-radius: 0;
- font-size: 12px;
- color: #8c8c8c;
- }
- .procuremen-sidebar .procuremen-ym-item {
- display: block;
- padding: 7px 4px;
- margin: 2px 6px;
- color: #595959;
- border-radius: 6px;
- text-decoration: none;
- border: none;
- font-size: 13px;
- text-align: center;
- }
- .procuremen-sidebar .procuremen-ym-item:hover {
- background: #f0f0f0;
- color: #1f1f1f;
- }
- .procuremen-sidebar .procuremen-ym-item.active {
- background: #e6f4ff;
- color: #1677ff;
- font-weight: 500;
- }
- #procuremen-layout .procuremen-main .widget-body {
- overflow: hidden;
- flex: 1 1 auto;
- min-height: 0;
- min-width: 0;
- display: flex;
- flex-direction: column;
- }
- /* 工具栏必须在 overflow 裁切区之外,否则会被裁掉上半截 */
- .procuremen-toolbar-host {
- display: block !important;
- flex: 0 0 auto !important;
- flex-shrink: 0 !important;
- height: auto !important;
- min-height: 44px !important;
- max-height: none !important;
- padding: 8px 8px 8px 4px !important;
- margin: 0 !important;
- border: none !important;
- border-bottom: 1px solid #f0f0f0 !important;
- width: 100%;
- box-sizing: border-box;
- overflow: visible !important;
- position: relative;
- z-index: 40;
- background: #fff;
- visibility: visible !important;
- opacity: 1 !important;
- }
- #procuremen-layout .procuremen-toolbar-host,
- #procuremen-layout .procuremen-wff-tabs {
- flex-shrink: 0;
- }
- #procuremen-layout .procuremen-main .fixed-table-pagination {
- background: #fff;
- border-top: 1px solid #e7e7e7;
- box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.04);
- }
- /* 主表 loading 遮罩盖不住右侧固定列克隆体,刷新时短暂露出旧「操作」按钮,加载中先隐藏 */
- #procuremen-layout .fixed-columns-right.procuremen-hide-fixed-right-loading {
- visibility: hidden !important;
- pointer-events: none !important;
- }
- /* 表格内若残留工具栏占位则隐藏(已挪到 host) */
- #procuremen-layout .procuremen-table-area .bootstrap-table > .fixed-table-toolbar {
- display: none !important;
- height: 0 !important;
- margin: 0 !important;
- padding: 0 !important;
- overflow: hidden !important;
- border: 0 !important;
- }
- /* 宿主内工具栏:完整可见 */
- #procuremen-layout .procuremen-toolbar-host > .fixed-table-toolbar,
- .procuremen-toolbar-host .fixed-table-toolbar {
- border: none !important;
- margin: 0 !important;
- padding: 0 !important;
- display: flex !important;
- align-items: center;
- justify-content: flex-start !important;
- flex-wrap: nowrap !important;
- flex-direction: row !important;
- gap: 12px;
- width: 100% !important;
- box-sizing: border-box;
- overflow: visible !important;
- min-height: 36px;
- height: auto !important;
- max-height: none !important;
- background: #fff;
- visibility: visible !important;
- opacity: 1 !important;
- position: relative;
- z-index: 20;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .btn-group,
- .procuremen-toolbar-host .fixed-table-toolbar .columns {
- overflow: visible !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .dropdown-menu {
- z-index: 2000;
- max-height: min(70vh, 520px);
- overflow-y: auto;
- overflow-x: hidden;
- }
- .procuremen-toolbar-host .fixed-table-toolbar > .pull-left,
- .procuremen-toolbar-host .fixed-table-toolbar > .bars.pull-left,
- .procuremen-toolbar-host .fixed-table-toolbar > .bs-bars.pull-left {
- float: none !important;
- margin: 0 !important;
- flex: 0 0 auto;
- max-width: 100%;
- visibility: visible !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .toolbar,
- .procuremen-toolbar-host .fixed-table-toolbar .bs-bars .toolbar {
- display: inline-block !important;
- visibility: visible !important;
- margin: 0 !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .toolbar .btn:not(.hide):not(.procuremen-stage-hide):not(.btn-selected-tips),
- .procuremen-toolbar-host .fixed-table-toolbar .btn:not(.hide):not(.procuremen-stage-hide):not(.btn-selected-tips) {
- display: inline-block !important;
- visibility: visible !important;
- opacity: 1 !important;
- font-size: 13px !important;
- line-height: 1.4 !important;
- height: auto !important;
- min-height: 30px;
- max-height: none !important;
- padding: 5px 12px !important;
- vertical-align: middle;
- overflow: visible !important;
- }
- /* 跨页选择提示 / 非本阶段按钮:必须能隐藏 */
- #procuremen-layout .btn-selected-tips,
- .procuremen-toolbar-host .btn-selected-tips,
- .procuremen-toolbar-host .fixed-table-toolbar .toolbar .btn.btn-selected-tips,
- .procuremen-toolbar-host .fixed-table-toolbar .btn.btn-selected-tips,
- .procuremen-toolbar-host .fixed-table-toolbar .toolbar .btn.hide,
- .procuremen-toolbar-host .fixed-table-toolbar .btn.hide,
- .procuremen-toolbar-host .fixed-table-toolbar .toolbar .btn.procuremen-stage-hide,
- .procuremen-toolbar-host .fixed-table-toolbar .btn.procuremen-stage-hide,
- #toolbar .btn.procuremen-stage-hide,
- #toolbar .btn.hide {
- display: none !important;
- visibility: hidden !important;
- pointer-events: none !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .toolbar .btn .fa {
- font-size: 14px !important;
- }
- /* 表头标题文字后的小筛选图标 */
- #procuremen-layout .bootstrap-table th .th-inner.procuremen-th-with-filter {
- display: inline-flex !important;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- gap: 4px;
- white-space: nowrap !important;
- line-height: 1.3 !important;
- }
- #procuremen-layout .bootstrap-table th .procuremen-th-label {
- display: inline;
- font-weight: 600;
- }
- #procuremen-layout .bootstrap-table th .procuremen-th-filter-dd {
- display: inline-block;
- vertical-align: middle;
- position: relative;
- }
- #procuremen-layout .bootstrap-table th .procuremen-th-filter-btn {
- color: #999;
- padding: 0 2px;
- font-size: 12px;
- line-height: 1;
- text-decoration: none !important;
- cursor: pointer;
- }
- #procuremen-layout .bootstrap-table th .procuremen-th-filter-btn:hover,
- #procuremen-layout .bootstrap-table th .procuremen-th-filter-btn.active {
- color: #3c8dbc;
- }
- #procuremen-layout .bootstrap-table th .procuremen-th-filter-dd > .dropdown-menu {
- min-width: 140px;
- max-height: 260px;
- overflow-y: auto;
- font-size: 12px;
- z-index: 1060;
- }
- body > .procuremen-th-filter-menu-float.dropdown-menu {
- min-width: 140px;
- max-height: 260px;
- overflow-y: auto;
- font-size: 12px;
- display: block;
- }
- #procuremen-layout .bootstrap-table th .procuremen-th-filter-dd > .dropdown-menu > li > a,
- body > .procuremen-th-filter-menu-float.dropdown-menu > li > a {
- padding: 4px 12px;
- white-space: nowrap;
- }
- #procuremen-layout .bootstrap-table th .procuremen-th-filter-dd > .dropdown-menu > li.active > a,
- body > .procuremen-th-filter-menu-float.dropdown-menu > li.active > a {
- background: #3c8dbc;
- color: #fff;
- }
- .procuremen-toolbar-host .fixed-table-toolbar > .pull-right,
- .procuremen-toolbar-host .fixed-table-toolbar > .columns.pull-right,
- .procuremen-toolbar-host .fixed-table-toolbar > .columns.columns-right,
- .procuremen-toolbar-host .fixed-table-toolbar .procuremen-toolbar-search-wrap {
- float: none !important;
- clear: none !important;
- margin: 0 0 0 auto !important;
- margin-right: 0 !important;
- padding: 0 !important;
- flex: 0 0 auto !important;
- display: flex !important;
- flex-direction: row !important;
- flex-wrap: nowrap !important;
- align-items: center !important;
- gap: 6px !important;
- visibility: visible !important;
- width: auto !important;
- max-width: none !important;
- order: 9 !important;
- white-space: nowrap !important;
- line-height: normal !important;
- }
- /* 图二:右侧图标按钮紧凑方形,与左侧彩色操作按钮区分 */
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap > .btn,
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap > .btn-group > .btn,
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap .keep-open > .btn,
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap .export > .btn {
- padding: 5px 10px !important;
- min-width: 34px;
- min-height: 30px !important;
- line-height: 1.2 !important;
- background: #fff !important;
- border: 1px solid #d9d9d9 !important;
- color: #595959 !important;
- border-radius: 4px !important;
- box-shadow: none !important;
- float: none !important;
- flex: 0 0 auto !important;
- }
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap > .btn-group,
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap .keep-open,
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap .export {
- margin: 0 !important;
- float: none !important;
- display: inline-flex !important;
- flex: 0 0 auto !important;
- }
- /* 搜索框:仅作为 wrap 内子项;勿盖掉 .procuremen-toolbar-search-wrap 的 flex */
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap > .search,
- .procuremen-toolbar-host .fixed-table-toolbar > .search:not(.procuremen-toolbar-search-wrap) {
- float: none !important;
- clear: none !important;
- margin: 0 !important;
- padding: 0 !important;
- display: inline-block !important;
- visibility: visible !important;
- width: auto !important;
- max-width: none !important;
- flex: 0 0 auto !important;
- line-height: normal !important;
- position: static !important;
- order: 0 !important;
- }
- /* 兜底:万一 wrap 落在 .search 上,仍强制单行 flex */
- .procuremen-toolbar-host .fixed-table-toolbar .search.procuremen-toolbar-search-wrap {
- display: flex !important;
- flex-direction: row !important;
- flex-wrap: nowrap !important;
- align-items: center !important;
- margin-left: auto !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .search .form-control,
- .procuremen-toolbar-host .procuremen-toolbar-search-wrap .search .form-control {
- display: inline-block !important;
- width: 160px !important;
- min-width: 140px !important;
- max-width: 180px !important;
- height: 30px !important;
- margin: 0 !important;
- opacity: 1 !important;
- border-radius: 4px !important;
- border: 1px solid #d9d9d9 !important;
- box-shadow: none !important;
- vertical-align: middle;
- }
- /* 顺序:搜索框(0) → 切换/列/导出(2) → 通用搜索放大镜(5) */
- .procuremen-toolbar-host .fixed-table-toolbar .procuremen-toolbar-search-wrap > .search {
- order: 0 !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .procuremen-toolbar-search-wrap > button[name="toggle"] {
- order: 1 !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .procuremen-toolbar-search-wrap > .keep-open {
- order: 2 !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .procuremen-toolbar-search-wrap > .export {
- order: 3 !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .procuremen-toolbar-search-wrap > button[name="commonSearch"] {
- order: 5 !important;
- }
- .procuremen-toolbar-host .fixed-table-toolbar .procuremen-toolbar-search-wrap > *:not(.search):not([name="toggle"]):not(.keep-open):not(.export):not([name="commonSearch"]) {
- order: 4;
- }
- #procuremen-layout .procuremen-main .procuremen-table-area {
- flex: 1 1 auto;
- min-height: 0;
- min-width: 0;
- overflow: hidden;
- display: flex;
- flex-direction: column;
- }
- /* 表格高度由 JS 控制,勿再 flex 压缩,避免连带裁切 */
- #procuremen-layout .procuremen-table-area > .bootstrap-table {
- flex: 0 0 auto;
- min-height: 0;
- min-width: 0;
- width: 100%;
- overflow: visible !important;
- }
- #procuremen-layout .bootstrap-table .fixed-table-container {
- width: 100% !important;
- }
- .procuremen-table-area .toolbar.procuremen-toolbar-empty {
- display: none !important;
- }
- .procuremen-wff-tabs {
- margin-bottom: 0;
- margin-top: 0;
- border-bottom: 1px solid #f0f0f0;
- background: #fff;
- }
- .procuremen-wff-tabs > li > a {
- padding: 10px 16px;
- color: #8c8c8c;
- border: none !important;
- border-bottom: 2px solid transparent !important;
- border-radius: 0 !important;
- margin-right: 0;
- }
- .procuremen-wff-tabs > li.active > a,
- .procuremen-wff-tabs > li.active > a:hover,
- .procuremen-wff-tabs > li.active > a:focus {
- color: #1677ff !important;
- background: transparent !important;
- border: none !important;
- border-bottom: 2px solid #1677ff !important;
- }
- /* 表头:padding 只写在 .th-inner;th 自身 padding:0,避免色条与文字分离 */
- #procuremen-layout .bootstrap-table .table > thead > tr > th {
- padding: 0 !important;
- line-height: 1.4;
- vertical-align: middle;
- height: auto !important;
- }
- #procuremen-layout .bootstrap-table .fixed-table-container thead th .th-inner {
- padding: 8px 10px !important;
- line-height: 1.4;
- box-sizing: border-box;
- }
- #procuremen-layout .bootstrap-table .table > tbody > tr > td {
- padding: 8px 10px;
- line-height: 1.4;
- vertical-align: middle;
- height: auto !important;
- }
- /* 复选框列:表头 .th-inner 与表体 td 内边距一致,避免全选与行勾选框错位 */
- #procuremen-layout .bootstrap-table th.bs-checkbox,
- #procuremen-layout .bootstrap-table td.bs-checkbox {
- width: 42px !important;
- min-width: 42px !important;
- max-width: 42px !important;
- padding: 0 !important;
- text-align: center !important;
- vertical-align: middle !important;
- box-sizing: border-box;
- }
- #procuremen-layout .bootstrap-table th.bs-checkbox .th-inner {
- padding: 8px 4px !important;
- margin: 0 !important;
- text-align: center !important;
- line-height: 1;
- min-height: 0;
- }
- #procuremen-layout .bootstrap-table td.bs-checkbox {
- padding: 8px 4px !important;
- }
- #procuremen-layout .bootstrap-table th.bs-checkbox input[type="checkbox"],
- #procuremen-layout .bootstrap-table td.bs-checkbox input[type="checkbox"] {
- margin: 0 auto !important;
- vertical-align: middle !important;
- float: none;
- position: static;
- top: auto;
- width: 16px;
- height: 16px;
- cursor: pointer;
- display: block;
- }
- #procuremen-layout .bootstrap-table tbody td.bs-checkbox {
- min-height: 28px;
- cursor: pointer;
- }
- /* 表头与表体同步横向滚动;强制 table-layout:fixed,避免内容把表体列撑宽导致竖线错位 */
- #procuremen-layout .bootstrap-table .fixed-table-body {
- overflow: auto !important;
- -webkit-overflow-scrolling: touch;
- box-sizing: border-box;
- }
- #procuremen-layout .bootstrap-table .fixed-table-header > table.table,
- #procuremen-layout .bootstrap-table .fixed-table-body > table.table,
- #procuremen-layout .bootstrap-table .fixed-columns-right table.table {
- margin-right: 0 !important;
- margin-left: 0 !important;
- table-layout: fixed !important;
- }
- #procuremen-layout .bootstrap-table .fixed-table-header {
- overflow: hidden;
- padding-right: 0 !important;
- box-sizing: border-box;
- }
- #procuremen-layout .bootstrap-table .fixed-table-header,
- #procuremen-layout .bootstrap-table .fixed-table-body {
- box-sizing: border-box;
- }
- #procuremen-layout .bootstrap-table .fixed-table-header .fht-cell {
- display: block !important;
- height: 0 !important;
- overflow: hidden !important;
- box-sizing: border-box !important;
- }
- #procuremen-layout .bootstrap-table .table > thead > tr > th,
- #procuremen-layout .bootstrap-table .table > tbody > tr > td {
- box-sizing: border-box;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- vertical-align: middle;
- line-height: 1.4;
- }
- /* 表头:浅灰底 + 完整边框 */
- #procuremen-layout .bootstrap-table .table > thead > tr > th,
- #procuremen-layout .bootstrap-table .fixed-table-header .table > thead > tr > th,
- #procuremen-layout .bootstrap-table .fixed-columns-right .table > thead > tr > th {
- background: #f5f7fa !important;
- color: #303133 !important;
- font-weight: 600 !important;
- border: 1px solid #e4e7ed !important;
- padding: 0 !important;
- }
- /* 表体:白底 + 单元格边框 */
- #procuremen-layout .bootstrap-table .table > tbody > tr > td,
- #procuremen-layout .bootstrap-table .fixed-columns-right .table > tbody > tr > td {
- background: #fff !important;
- border: 1px solid #ebeef5 !important;
- color: #606266;
- }
- #procuremen-layout .bootstrap-table .table,
- #procuremen-layout .bootstrap-table .table-bordered {
- border: 1px solid #e4e7ed !important;
- }
- /* 长文本列:不省略,允许换行完整显示 */
- #procuremen-layout .bootstrap-table .table > tbody > tr > td.procuremen-cell-wrap,
- #procuremen-layout .bootstrap-table .table > thead > tr > th.procuremen-cell-wrap,
- #procuremen-layout .bootstrap-table .table > tbody > tr > td[data-field="CYJMC"],
- #procuremen-layout .bootstrap-table .table > tbody > tr > td[data-field="CCLBMMC"],
- #procuremen-layout .bootstrap-table .table > tbody > tr > td[data-field="CGYMC"],
- #procuremen-layout .bootstrap-table .table > tbody > tr > td[data-field="CDF"],
- #procuremen-layout .bootstrap-table .table > tbody > tr > td[data-field="cGzzxMc"],
- #procuremen-layout .bootstrap-table .table > tbody > tr > td[data-field="MBZ"],
- #procuremen-layout .bootstrap-table .table > tbody > tr > td[data-field="notify_supplier_text"],
- #procuremen-layout .bootstrap-table .table > tbody > tr > td[data-field="picked_supplier_name"] {
- white-space: normal !important;
- word-break: break-all !important;
- overflow: visible !important;
- text-overflow: clip !important;
- line-height: 1.4 !important;
- vertical-align: middle !important;
- }
- /* 操作列按钮不可省略裁切 */
- #procuremen-layout .bootstrap-table thead th[data-field="operate"],
- #procuremen-layout .bootstrap-table tbody td[data-field="operate"],
- #procuremen-layout .bootstrap-table .fixed-columns-right td[data-field="operate"],
- #procuremen-layout .bootstrap-table .fixed-columns-right th[data-field="operate"] {
- overflow: visible !important;
- text-overflow: clip !important;
- white-space: nowrap !important;
- }
- /* 固定右列:外层定宽即可,内部必须是整表 + scrollLeft 到最右,禁止压成单列宽的假表 */
- #procuremen-layout .bootstrap-table .fixed-columns-right {
- min-width: 188px;
- overflow: hidden !important;
- background: #fff;
- }
- #procuremen-layout .bootstrap-table .fixed-columns-right .fixed-table-header,
- #procuremen-layout .bootstrap-table .fixed-columns-right .fixed-table-body {
- overflow-x: hidden !important;
- overflow-y: hidden !important; /* 与主表同步滚动,勿再出第二条竖滚动条 */
- scrollbar-width: none;
- -ms-overflow-style: none;
- }
- #procuremen-layout .bootstrap-table .fixed-columns-right .fixed-table-body::-webkit-scrollbar {
- width: 0 !important;
- height: 0 !important;
- display: none !important;
- }
- #procuremen-layout .bootstrap-table .fixed-columns-right table {
- /* 勿强制单列宽,否则只能看到左侧复选框/订单号 */
- width: auto !important;
- min-width: 100% !important;
- max-width: none !important;
- }
- #procuremen-layout .bootstrap-table thead th[data-field="operate"],
- #procuremen-layout .bootstrap-table tbody td[data-field="operate"] {
- width: 200px !important;
- min-width: 188px !important;
- max-width: 220px !important;
- padding-left: 6px !important;
- padding-right: 6px !important;
- vertical-align: middle !important;
- text-align: center !important;
- }
- /* 确认页(audit):操作列略窄,减少右侧空白 */
- #procuremen-layout[data-procuremen-stage="audit"] .bootstrap-table .fixed-columns-right {
- min-width: 168px;
- }
- #procuremen-layout[data-procuremen-stage="audit"] .bootstrap-table thead th[data-field="operate"],
- #procuremen-layout[data-procuremen-stage="audit"] .bootstrap-table tbody td[data-field="operate"],
- #procuremen-layout[data-procuremen-stage="audit"] .bootstrap-table .fixed-columns-right td[data-field="operate"],
- #procuremen-layout[data-procuremen-stage="audit"] .bootstrap-table .fixed-columns-right th[data-field="operate"] {
- width: 176px !important;
- min-width: 168px !important;
- max-width: 188px !important;
- padding-left: 4px !important;
- padding-right: 4px !important;
- }
- #procuremen-layout[data-procuremen-stage="audit"] .bootstrap-table .procuremen-op-slot-primary {
- min-width: 82px;
- }
- #procuremen-layout[data-procuremen-stage="audit"] .bootstrap-table .procuremen-op-slot-detail {
- min-width: 48px;
- }
- #procuremen-layout[data-procuremen-stage="audit"] .bootstrap-table .procuremen-op-slot-empty {
- width: 82px;
- }
- #procuremen-layout .bootstrap-table thead th[data-field="operate"] .th-inner {
- text-align: center !important;
- }
- /* 双槽:左侧固定宽(选择供应商/审批),右侧详情;无主按钮时左侧占位,详情竖线对齐 */
- #procuremen-layout .bootstrap-table .procuremen-op-btns {
- display: inline-flex;
- flex-direction: row;
- flex-wrap: nowrap;
- align-items: center;
- justify-content: center;
- gap: 4px;
- width: auto;
- max-width: 100%;
- white-space: nowrap;
- vertical-align: middle;
- }
- #procuremen-layout .bootstrap-table .procuremen-op-slot {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- flex: 0 0 auto;
- }
- #procuremen-layout .bootstrap-table .procuremen-op-slot-primary {
- min-width: 96px;
- justify-content: flex-end;
- }
- #procuremen-layout .bootstrap-table .procuremen-op-slot-detail {
- min-width: 52px;
- justify-content: flex-start;
- }
- #procuremen-layout .bootstrap-table .procuremen-op-slot-empty {
- display: inline-block;
- width: 96px;
- height: 1px;
- visibility: hidden;
- pointer-events: none;
- }
- #procuremen-layout .bootstrap-table .procuremen-op-btns .btn {
- margin: 0 !important;
- float: none !important;
- flex: 0 0 auto;
- white-space: nowrap;
- }
- /* 日期列加宽并禁止省略,避免滚到最右仍被竖向滚动条挡住 */
- #procuremen-layout .bootstrap-table thead th[data-field="dStamp"],
- #procuremen-layout .bootstrap-table thead th[data-field="dputrecord"],
- #procuremen-layout .bootstrap-table thead th[data-field="issue_time"],
- #procuremen-layout .bootstrap-table thead th[data-field="confirm_time"],
- #procuremen-layout .bootstrap-table thead th[data-field="approve_time"],
- #procuremen-layout .bootstrap-table tbody td[data-field="dStamp"],
- #procuremen-layout .bootstrap-table tbody td[data-field="dputrecord"],
- #procuremen-layout .bootstrap-table tbody td[data-field="issue_time"],
- #procuremen-layout .bootstrap-table tbody td[data-field="confirm_time"],
- #procuremen-layout .bootstrap-table tbody td[data-field="approve_time"] {
- min-width: 160px !important;
- width: 160px !important;
- max-width: 176px !important;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: clip;
- }
- #procuremen-layout .nice-validator .bootstrap-table td.bs-checkbox input[type="checkbox"],
- #procuremen-layout .nice-validator .bootstrap-table th.bs-checkbox input[type="checkbox"] {
- vertical-align: middle !important;
- }
- #procuremen-layout .bootstrap-table .table > tbody > tr > td .btn-xs {
- padding: 2px 6px;
- font-size: 12px;
- }
- /*
- * 右固定列与主表 .fixed-table-body 为同级兄弟,主表全宽时最后一列会叠在固定层「下面」。
- * 全局 backend.css 里 .fixed-columns-right 仅 z-index:2,易被主表内层盖住,表现为要点多次才打开弹窗。
- * 抬高固定列整体叠层,并把主表滚动区压在 z-index:0,保证命中的是固定层上的按钮。
- */
- #procuremen-layout .bootstrap-table .fixed-table-container > .fixed-table-body {
- position: relative;
- z-index: 0;
- }
- #procuremen-layout .bootstrap-table .fixed-columns-right {
- box-shadow: none !important;
- border-left: 1px solid #e3e6ea;
- background-color: #fff;
- z-index: 18 !important;
- /* 盖住主表横向滚动条伸到操作列下方的那段,避免「操作按钮下面还能滑」 */
- height: 100% !important;
- bottom: 0 !important;
- }
- #procuremen-layout .bootstrap-table .fixed-columns-right::after {
- content: '';
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
- height: 17px;
- background: #fff;
- pointer-events: none;
- z-index: 1;
- }
- #procuremen-layout .bootstrap-table .fixed-columns-right .fixed-table-header,
- #procuremen-layout .bootstrap-table .fixed-columns-right .fixed-table-body {
- background: #fff;
- }
- #procuremen-layout .bootstrap-table .fixed-columns-right .fixed-table-header table thead th,
- #procuremen-layout .bootstrap-table .fixed-columns-right .fixed-table-body table tbody td {
- border-left-color: transparent;
- }
- /* 操作列按钮在固定层内置于可点区域之上,减少与主表透明重叠导致的「多点一次」 */
- /* 固定列操作按钮:抬高层级 + 明确可点,减轻与主表空白区域叠层的「点了没反应」 */
- #procuremen-layout .bootstrap-table .fixed-columns-right .fixed-table-body {
- pointer-events: auto;
- }
- #procuremen-layout .bootstrap-table .fixed-columns-right a.procuremen-op-open {
- position: relative;
- z-index: 6;
- pointer-events: auto;
- display: inline-block;
- vertical-align: middle;
- }
- #procuremen-layout .procuremen-op-btns .btn + .btn {
- margin-left: 6px;
- }
- /* 可排序列表头:去掉默认排序背景图,保留 .th-inner 内边距与文字对齐 */
- #procuremen-layout .bootstrap-table thead th.sortable,
- #procuremen-layout .bootstrap-table thead th .th-inner.sortable {
- background-image: none !important;
- background-position: unset !important;
- }
- #procuremen-layout .bootstrap-table thead th.sortable .th-inner,
- #procuremen-layout .bootstrap-table thead th .th-inner.sortable {
- display: block !important;
- width: 100% !important;
- max-width: 100%;
- padding: 8px 10px !important;
- box-sizing: border-box;
- vertical-align: middle;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- #procuremen-layout .bootstrap-table thead th.sortable .th-inner:after,
- #procuremen-layout .bootstrap-table thead th .th-inner.sortable:after {
- content: '\f0dc';
- font-family: FontAwesome;
- font-size: 11px;
- line-height: 1;
- color: #bbb;
- margin-left: 4px;
- vertical-align: middle;
- }
- #procuremen-layout .bootstrap-table thead th.sortable.asc .th-inner:after,
- #procuremen-layout .bootstrap-table thead th.sortable.desc .th-inner:after,
- #procuremen-layout .bootstrap-table thead th .th-inner.sortable.asc:after,
- #procuremen-layout .bootstrap-table thead th .th-inner.sortable.desc:after {
- color: #337ab7;
- }
- /* 采购确认弹层(完结/删除等) */
- body .layui-layer-procuremen-finish {
- display: flex !important;
- flex-direction: column !important;
- height: 400px !important;
- border-radius: 8px;
- overflow: hidden;
- box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
- }
- body .layui-layer-procuremen-finish .layui-layer-title {
- background: #fff !important;
- color: #1f1f1f !important;
- border-bottom: 1px solid #f0f0f0;
- height: 48px;
- line-height: 48px;
- font-size: 15px;
- font-weight: 600;
- flex-shrink: 0;
- padding: 0 20px;
- }
- body .layui-layer-procuremen-finish .layui-layer-setwin {
- top: 2px;
- right: 12px;
- }
- body .layui-layer-procuremen-finish .layui-layer-content {
- flex: 1 1 auto !important;
- min-height: 0 !important;
- padding: 16px 20px !important;
- overflow: hidden !important;
- height: auto !important;
- display: flex !important;
- flex-direction: column !important;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-body {
- flex: 1 1 auto;
- min-height: 0;
- display: flex;
- flex-direction: column;
- text-align: left;
- line-height: 1.6;
- font-size: 13px;
- color: #434343;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-intro {
- margin: 0 0 12px;
- flex-shrink: 0;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-scroll {
- flex: 1 1 auto;
- min-height: 0;
- overflow-y: auto;
- overflow-x: hidden;
- border: 1px solid #f0f0f0;
- border-radius: 6px;
- background: #fafafa;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-table {
- margin: 0;
- font-size: 12px;
- border: none;
- background: #fff;
- width: 100%;
- table-layout: fixed;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-table th:nth-child(1),
- body .layui-layer-procuremen-finish .procuremen-confirm-table td:nth-child(1) {
- width: 150px;
- white-space: nowrap;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-table th:nth-child(2),
- body .layui-layer-procuremen-finish .procuremen-confirm-table td:nth-child(2) {
- width: 140px;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-table th:nth-child(3),
- body .layui-layer-procuremen-finish .procuremen-confirm-table td:nth-child(3) {
- width: auto;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-table thead th {
- position: sticky;
- top: 0;
- background: #f5f5f5;
- z-index: 1;
- border: 1px solid #ddd !important;
- color: #333;
- font-weight: 600;
- }
- body .layui-layer-procuremen-finish .procuremen-confirm-table tbody td {
- border: 1px solid #ddd !important;
- color: #434343;
- }
- body .layui-layer-procuremen-finish .layui-layer-btn {
- flex-shrink: 0 !important;
- text-align: right !important;
- padding: 12px 20px !important;
- background: #fff !important;
- border-top: 1px solid #f0f0f0;
- margin-top: auto;
- }
- body .layui-layer-procuremen-finish .layui-layer-btn a {
- height: 32px;
- line-height: 32px;
- margin: 0 0 0 8px;
- padding: 0 16px;
- font-size: 13px;
- border-radius: 4px;
- }
- body .layui-layer-procuremen-finish .layui-layer-btn1 {
- background: #fff !important;
- border: 1px solid #d9d9d9 !important;
- color: #333 !important;
- }
- body .layui-layer-procuremen-finish .layui-layer-btn1:hover {
- border-color: #1677ff !important;
- color: #1677ff !important;
- }
- body .layui-layer-procuremen-finish .layui-layer-btn0 {
- background-color: #27C24C !important;
- border-color: #23ad44 !important;
- color: #fff !important;
- }
- body .layui-layer-procuremen-finish .layui-layer-btn0:hover {
- background-color: #1e983e !important;
- border-color: #1a8737 !important;
- color: #fff !important;
- }
- #procuremen-layout .procuremen-po-field.procuremen-po-dirty {
- border-color: #f0ad4e;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 4px rgba(240, 173, 78, 0.45);
- }
- .procuremen-po-popover {
- position: fixed;
- z-index: 100050;
- padding: 6px 8px;
- background: #fff;
- border: 1px solid #d2d6de;
- border-radius: 4px;
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
- }
- .procuremen-po-popover-inner {
- white-space: nowrap;
- }
- .procuremen-po-popover-inner .btn + .btn {
- margin-left: 6px;
- }
- #procuremen-layout .procuremen-supplier-lines-cell {
- position: relative;
- }
- #procuremen-layout .procuremen-supplier-lines-cell .procuremen-supplier-caret {
- position: absolute;
- right: 0;
- top: 0;
- height: 100%;
- line-height: 1;
- background: #eee;
- color: #ddd;
- padding: 0 5px;
- display: flex;
- justify-content: center;
- align-items: center;
- cursor: pointer;
- }
- #procuremen-layout .procuremen-supplier-lines-cell .procuremen-supplier-caret:hover {
- color: #999;
- }
- </style>
- <div class="panel panel-default panel-intro" id="procuremen-layout"
- data-default-ym="{$defaultYm|htmlentities}"
- data-procuremen-redis-api="{$procuremenRedisApi|htmlentities}"
- data-procuremen-stage="{$procuremenStage|default='pick'|htmlentities}"
- data-can-dispatch="{$procuremenBtnDispatch|default=0}"
- data-can-pick-delete="{$procuremenBtnPickDelete|default=0}"
- data-can-complete="{$procuremenBtnComplete|default=0}"
- data-can-audit-abandon="{$procuremenBtnAuditAbandon|default=0}">
- {:build_heading()}
- <div class="panel-body">
- <div class="row procuremen-layout">
- <div class="procuremen-sidebar">
- {foreach name="sidebarYearMonths" item="block"}
- <div class="procuremen-year-block">
- <div class="year-title">{$block.year}年</div>
- {foreach name="block.months" item="item"}
- <a href="javascript:;" class="procuremen-ym-item{if $item.ym == $defaultYm} active{/if}" data-ym="{$item.ym|htmlentities}">{$item.label|htmlentities}</a>
- {/foreach}
- </div>
- {/foreach}
- </div>
- <div class="procuremen-main">
- <div id="myTabContent" class="tab-content">
- <div class="tab-pane fade active in" id="one">
- <div class="widget-body no-padding">
- <div id="procuremen-toolbar-host" class="procuremen-toolbar-host clearfix"></div>
- <div class="procuremen-table-area">
- <div id="toolbar" class="toolbar">
- <a href="javascript:;" class="btn btn-primary btn-refresh" data-force-refresh="false" title="{:__('Refresh')}" >刷新 <i class="fa fa-refresh"></i> </a>
- {if isset($procuremenBtnAuditAbandon) && $procuremenBtnAuditAbandon}
- <a href="javascript:;" class="btn btn-danger procuremen-stage-hide hide" id="btn-procuremen-audit-abandon" title="勾选一条或多条订单退回供应商初选重新下发(历史记录保留)"><i class="fa fa-repeat"></i> 重新下发</a>
- {/if}
- {if isset($procuremenBtnDispatch) && $procuremenBtnDispatch}
- <a href="javascript:;" class="btn btn-info procuremen-stage-hide hide" id="btn-procuremen-pick-review" title="勾选一条或多条工序进行下发(可跨订单,同批生成批次号)"><i class="fa fa-paper-plane"></i> 下发</a>
- {/if}
- {if isset($procuremenBtnComplete) && $procuremenBtnComplete}
- <a href="javascript:;" class="btn btn-success procuremen-stage-hide hide" id="btn-procuremen-batch-finish" title="勾选一条或多条工序标记为已完结"><i class="fa fa-flag-checkered"></i> 完结</a>
- {/if}
- {if isset($procuremenBtnPickDelete) && $procuremenBtnPickDelete}
- <a href="javascript:;" class="btn btn-danger procuremen-stage-hide hide" id="btn-procuremen-pick-delete" title="勾选一条或多条工序从初选列表移除"><i class="fa fa-trash"></i> 删除</a>
- {/if}
- </div>
- <table id="table"
- class="table table-bordered table-hover">
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
|