wui-print
Version:
前端打印插件,包含打印设计器、打印表单、打印API
649 lines (648 loc) • 17.9 kB
CSS
:root {
--wui-printing-color--primary: #005089;
--wui-printing-font-size: 14px;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
html,
body {
width: auto;
height: auto;
color: #1e1e1e;
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: none;
font-size: 14px;
background: #eee;
}
.break,
.print-form_input,
.print-form_textarea {
word-break: break-all;
}
.print-container {
width: 210mm;
background: #fff;
position: relative;
}
.print-container.print-container--a5 {
width: 148mm;
}
.print-container.print-container--a5-landscape {
width: 210mm;
}
.print-container.print-container--a4 {
width: 210mm;
}
.print-container.print-container--a4-landscape {
width: 297mm;
}
.print-container.print-container--a3 {
width: 297mm;
}
.print-container.print-container--a3-landscape {
width: 420mm;
}
.print-container.print-container--auto-continue-preview {
position: relative;
}
.print-container.print-container--auto-continue-preview::after {
content: "正在加载";
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
text-align: center;
font-size: 100px;
font-weight: bold;
color: #000;
letter-spacing: 20px;
padding-top: 20px;
background: #fff;
}
.print-page-top {
margin: 0 ;
padding: 0;
height: 0 ;
width: 100%;
background: none;
padding-top: var(--wui-printing-page-padding-top);
}
.print-page-bottom {
margin: 0 ;
padding: 0;
height: 0 ;
width: 100%;
background: none;
padding-bottom: var(--wui-printing-page-padding-bottom);
}
.print-page-break {
margin: 0 ;
padding: 0 ;
height: 0 ;
width: 0 ;
background: none;
page-break-after: always;
background: #cdcdcd;
padding-bottom: 30px;
}
.print-container--preview .print-page-break {
width: 100% ;
height: 10px ;
background: #cdcdcd;
}
.print-text {
position: relative;
width: 100%;
height: auto;
}
.print-dynamic-text {
position: relative;
width: 100%;
height: auto;
display: flex;
flex-flow: row;
}
.print-dynamic-text .print-dynamic-text_content {
width: 0;
flex: 1;
overflow-wrap: break-word;
}
.print-grid {
position: relative;
width: 100%;
display: flex;
flex-flow: row wrap;
}
.print-table-layout {
position: relative;
width: 100%;
}
.print-table-layout td {
position: relative;
}
.print-table-layout td > .print-table-layout_td-slash {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
overflow: hidden;
}
.print-table-layout td > .print-table-layout_td-slash ._p-t-l_td-slash_slash {
position: absolute;
display: block;
height: 1px;
background-color: #000;
}
.print-table-layout td > .print-table-layout_td-slash.print-table-layout_td-slash--top-left ._p-t-l_td-slash_slash {
top: 0;
left: 0;
}
.print-table-layout td > .print-table-layout_td-slash.print-table-layout_td-slash--top-left ._p-t-l_td-slash_left {
position: absolute;
left: 10px;
bottom: 5px;
}
.print-table-layout td > .print-table-layout_td-slash.print-table-layout_td-slash--top-left ._p-t-l_td-slash_right {
position: absolute;
right: 10px;
top: 5px;
}
.print-table-layout td > .print-table-layout_td-slash.print-table-layout_td-slash--bottom-left ._p-t-l_td-slash_slash {
bottom: 0;
left: 0;
}
.print-table-layout td > .print-table-layout_td-slash.print-table-layout_td-slash--bottom-left ._p-t-l_td-slash_left {
position: absolute;
left: 10px;
top: 5px;
}
.print-table-layout td > .print-table-layout_td-slash.print-table-layout_td-slash--bottom-left ._p-t-l_td-slash_right {
position: absolute;
right: 10px;
bottom: 5px;
}
.print-table-layout td > .print-table-layout_td-container {
width: 100%;
height: 100%;
}
.print-barcode {
position: relative;
}
.print-image img {
width: 100%;
height: 100%;
}
.print-form-item {
width: 100%;
display: flex;
flex-flow: row;
}
.print-form-item > .print-form-item_label {
padding-right: 12px;
display: inline-flex;
justify-content: flex-end;
}
.print-form-item > .print-form-item_content {
width: 0;
flex: 1;
}
.print-form_label-left .print-form-item {
display: flex;
flex-flow: row;
}
.print-form_label-left .print-form-item > .print-form-item_label {
display: inline-flex;
justify-content: flex-start;
}
.print-form_label-left .print-form-item > .print-form-item_content {
width: 0;
flex: 1;
}
.print-form_label-right .print-form-item {
display: flex;
flex-flow: row;
}
.print-form_label-right .print-form-item > .print-form-item_label {
display: inline-flex;
justify-content: flex-end;
}
.print-form_label-right .print-form-item > .print-form-item_content {
width: 0;
flex: 1;
}
.print-form_label-top .print-form-item {
display: flex;
flex-flow: column;
}
.print-form_label-top .print-form-item > .print-form-item_label {
display: block;
text-align: left;
width: 100%;
}
.print-form_label-top .print-form-item > .print-form-item_content {
width: 100%;
}
.print-form-large.print-form_label-top .print-form-item > .print-form-item_label {
margin-bottom: 12px;
}
.print-form-large .print-form-item {
--wui-printing-font-size: 14px;
}
.print-form-large .print-form-item > .print-form-item_label {
height: 40px;
line-height: 40px;
font-size: var(--wui-printing-font-size);
}
.print-form-large .print-form-item > .print-form-item_content {
line-height: 40px;
min-height: 40px;
font-size: var(--wui-printing-font-size);
}
.print-form-default .print-form-item {
--wui-printing-font-size: 14px;
}
.print-form-default .print-form-item > .print-form-item_label {
height: 32px;
line-height: 32px;
font-size: var(--wui-printing-font-size);
}
.print-form-default .print-form-item > .print-form-item_content {
line-height: 32px;
min-height: 32px;
font-size: var(--wui-printing-font-size);
}
.print-form-small .print-form-item {
--wui-printing-font-size: 12px;
}
.print-form-small .print-form-item > .print-form-item_label {
height: 24px;
line-height: 24px;
font-size: var(--wui-printing-font-size);
}
.print-form-small .print-form-item > .print-form-item_content {
line-height: 24px;
min-height: 24px;
font-size: var(--wui-printing-font-size);
}
.print-form-item.print-form-item_label-left {
display: flex;
flex-flow: row;
}
.print-form-item.print-form-item_label-left > .print-form-item_label {
display: inline-flex;
justify-content: flex-start;
}
.print-form-item.print-form-item_label-left > .print-form-item_content {
width: 0;
height: auto;
flex: 1;
}
.print-form-item.print-form-item_label-right {
display: flex;
flex-flow: row;
}
.print-form-item.print-form-item_label-right > .print-form-item_label {
display: inline-flex;
justify-content: flex-end;
}
.print-form-item.print-form-item_label-right > .print-form-item_content {
width: 0;
height: auto;
flex: 1;
}
.print-form-item.print-form-item_label-top {
display: flex;
flex-flow: column;
}
.print-form-item.print-form-item_label-top > .print-form-item_label {
height: auto;
line-height: 22px;
margin-bottom: 8px;
display: block;
text-align: left;
}
.print-form-item.print-form-item_label-top > .print-form-item_content {
width: auto;
height: 0;
flex: 1;
}
.print-form_input {
position: relative;
}
.print-form_textarea {
position: relative;
line-height: 1.3;
}
.print-form_radio-group {
position: relative;
width: 100%;
height: auto;
display: flex;
flex-flow: row;
flex-wrap: wrap;
--wui-printing-radio-border: 1px solid #969696;
}
.print-form_radio-group.print-form_radio-group--large {
--wui-printing-radio-font-size: 14px;
--wui-printing-radio-icon-width: 14px;
--wui-printing-radio-icon-height: 14px;
}
.print-form_radio-group.print-form_radio-group--default {
--wui-printing-radio-font-size: 14px;
--wui-printing-radio-icon-width: 14px;
--wui-printing-radio-icon-height: 14px;
}
.print-form_radio-group.print-form_radio-group--small {
--wui-printing-radio-font-size: 12px;
--wui-printing-radio-icon-width: 12px;
--wui-printing-radio-icon-height: 12px;
}
.print-form_radio-group .print-form_radio {
display: flex;
flex-flow: row;
align-items: center;
margin-right: 10px;
}
.print-form_radio-group .print-form_radio:last-of-type {
margin-right: 0;
}
.print-form_radio-group .print-form_radio .print-form_radio-icon {
width: var(--wui-printing-radio-icon-width);
height: var(--wui-printing-radio-icon-height);
border: var(--wui-printing-radio-border);
border-radius: 50%;
}
.print-form_radio-group .print-form_radio .print-form_radio-label {
padding-left: 8px;
font-size: var(--wui-printing-radio-font-size);
}
.print-form_radio-group .print-form_radio.print-form_radio--active .print-form_radio-icon {
position: relative;
background: var(--wui-printing-color--primary);
border-color: var(--wui-printing-color--primary);
}
.print-form_radio-group .print-form_radio.print-form_radio--active .print-form_radio-icon::after {
content: "";
background-color: #fff;
width: 4px;
height: 4px;
border-radius: 50%;
position: absolute;
left: 4px;
top: 4px;
}
.print-form_checkbox-group {
position: relative;
width: 100%;
height: auto;
display: flex;
flex-flow: row;
flex-wrap: wrap;
--wui-printing-checkbox-border: 1px solid #969696;
}
.print-form_checkbox-group.print-form_checkbox-group--large {
--wui-printing-checkbox-font-size: 14px;
--wui-printing-checkbox-icon-width: 14px;
--wui-printing-checkbox-icon-height: 14px;
}
.print-form_checkbox-group.print-form_checkbox-group--default {
--wui-printing-checkbox-font-size: 14px;
--wui-printing-checkbox-icon-width: 14px;
--wui-printing-checkbox-icon-height: 14px;
}
.print-form_checkbox-group.print-form_checkbox-group--small {
--wui-printing-checkbox-font-size: 12px;
--wui-printing-checkbox-icon-width: 12px;
--wui-printing-checkbox-icon-height: 12px;
}
.print-form_checkbox-group .print-form_checkbox {
display: flex;
flex-flow: row;
align-items: center;
margin-right: 10px;
}
.print-form_checkbox-group .print-form_checkbox:last-of-type {
margin-right: 0;
}
.print-form_checkbox-group .print-form_checkbox .print-form_checkbox-icon {
width: var(--wui-printing-checkbox-icon-width);
height: var(--wui-printing-checkbox-icon-height);
border: var(--wui-printing-checkbox-border);
border-radius: 2px;
}
.print-form_checkbox-group .print-form_checkbox .print-form_checkbox-label {
padding-left: 8px;
font-size: var(--wui-printing-checkbox-font-size);
}
.print-form_checkbox-group .print-form_checkbox.print-form_checkbox--active .print-form_checkbox-icon {
position: relative;
background: var(--wui-printing-color--primary);
border-color: var(--wui-printing-color--primary);
}
.print-form_checkbox-group .print-form_checkbox.print-form_checkbox--active .print-form_checkbox-icon::after {
content: "✔";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
text-align: center;
line-height: 12px;
font-size: 10px;
color: #fff;
}
.print-form_select {
position: relative;
}
.print-form_datetime {
position: relative;
}
@media print {
body {
font-family: "Avenir", Helvetica, Arial, sans-serif;
font-size: 14px;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
@page {
margin: 0 ;
}
}
.print-complex-table {
position: relative;
width: 100%;
}
.print-complex-table td {
position: relative;
}
.print-complex-table td > .print-complex-table_td-slash {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
overflow: hidden;
}
.print-complex-table td > .print-complex-table_td-slash ._p-c-t_td-slash_slash {
position: absolute;
display: block;
height: 1px;
background-color: #000;
}
.print-complex-table td > .print-complex-table_td-slash.print-complex-table_td-slash--top-left ._p-c-t_td-slash_slash {
top: 0;
left: 0;
}
.print-complex-table td > .print-complex-table_td-slash.print-complex-table_td-slash--top-left ._p-c-t_td-slash_left {
position: absolute;
left: 10px;
bottom: 5px;
}
.print-complex-table td > .print-complex-table_td-slash.print-complex-table_td-slash--top-left ._p-c-t_td-slash_right {
position: absolute;
right: 10px;
top: 5px;
}
.print-complex-table td > .print-complex-table_td-slash.print-complex-table_td-slash--bottom-left ._p-c-t_td-slash_slash {
bottom: 0;
left: 0;
}
.print-complex-table td > .print-complex-table_td-slash.print-complex-table_td-slash--bottom-left ._p-c-t_td-slash_left {
position: absolute;
left: 10px;
top: 5px;
}
.print-complex-table td > .print-complex-table_td-slash.print-complex-table_td-slash--bottom-left ._p-c-t_td-slash_right {
position: absolute;
right: 10px;
bottom: 5px;
}
.print-complex-table_pagination {
width: 100%;
height: 20px;
line-height: 20px;
text-align: center;
}
.print-complex-table.print-complex-table--fixed-continue {
border-top: 1px solid #000;
border-left: 1px solid #000;
}
.print-complex-table.print-complex-table--fixed-continue tr > td {
border-bottom: 1px solid #000;
border-right: 1px solid #000;
word-break: break-all;
overflow: hidden;
}
.print-complex-table--fixed-continue.print-complex-table--fixed-continue_continue-content {
border-color: var(--wui-printing-background) ;
}
.print-complex-table--fixed-continue.print-complex-table--fixed-continue_continue-content tr > td {
word-break: break-all;
overflow: hidden;
border-color: var(--wui-printing-background) ;
}
.print-complex-table.print-complex-table--auto-continue-span {
border-top: 1px solid #000;
border-left: 1px solid #000;
overflow: hidden;
}
.print-complex-table.print-complex-table--auto-continue-span tr > td {
border-bottom: 1px solid #000;
border-right: 1px solid #000;
}
.print-complex-table.print-complex-table--auto-continue-span tr:last-child td {
border-bottom: 1px solid #000 ;
}
.print-complex-table.print-complex-table--auto-continue-span .complex-table-content-tr > td {
position: relative;
}
.print-complex-table.print-complex-table--auto-continue-span .complex-table-content-tr > td > div {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
word-break: break-all;
}
.print-complex-table.print-complex-table--auto-continue-span .complex-table-content-tr > td .excess-td-container {
overflow: hidden;
}
.print-complex-table.print-complex-table--auto-continue-span .complex-table-content-tr--excess-blank-begin td,
.print-complex-table.print-complex-table--auto-continue-span .complex-table-content-tr--excess-blank td {
border-bottom: 0px;
}
.print-complex-table.print-complex-table--auto-continue-span .complex-table-blank-tr > td {
position: relative;
border-bottom: 0px;
}
.print-complex-table.print-complex-table--auto-continue-span .complex-table-blank-tr > td > div {
position: absolute;
}
.print-complex-table--auto-continue-span.print-complex-table--auto-continue-span_continue-content {
border-top: 1px solid transparent ;
border-left: 1px solid transparent ;
}
.print-complex-table--auto-continue-span.print-complex-table--auto-continue-span_continue-content tr > td {
border-right: 1px solid transparent ;
}
.print-complex-table--auto-continue-span.print-complex-table--auto-continue-span_continue-content tr.complex-table-content-tr--page-end > td {
border-bottom: 1px solid transparent ;
}
.print-complex-table.print-complex-table--auto-continue-not-span {
border-top: 1px solid #000;
border-left: 1px solid #000;
overflow: hidden;
}
.print-complex-table.print-complex-table--auto-continue-not-span tr > td {
border-bottom: 1px solid #000;
border-right: 1px solid #000;
}
.print-complex-table.print-complex-table--auto-continue-not-span .complex-table-content-tr > td {
position: relative;
}
.print-complex-table.print-complex-table--auto-continue-not-span .complex-table-content-tr > td > div {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
word-break: break-all;
}
.print-complex-table.print-complex-table--auto-continue-not-span .complex-table-content-tr > td .excess-td-container {
overflow: hidden;
}
.print-complex-table.print-complex-table--auto-continue-not-span .complex-table-blank-tr > td {
position: relative;
}
.print-complex-table.print-complex-table--auto-continue-not-span .complex-table-blank-tr > td > div {
position: absolute;
}
.print-complex-table--auto-continue-not-span.print-complex-table--auto-continue-not-span_continue-content {
border-color: var(--wui-printing-background) ;
}
.print-complex-table--auto-continue-not-span.print-complex-table--auto-continue-not-span_continue-content tr > td {
border-color: var(--wui-printing-background) ;
}
.print-continue-blank {
position: relative;
}
.print-continue-blank::after {
content: "";
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: var(--wui-printing-background);
}
.print-continue-blank.print-continue-blank--before.print-complex-table {
border-top-color: var(--wui-printing-background) ;
border-left: 0px ;
border-right: 0px ;
border-bottom: 0px ;
}
.print-continue-blank.print-continue-blank--before.print-complex-table tr:last-child td {
border-bottom: 0px ;
}
.print-continue-blank.print-continue-blank--after.print-complex-table {
border-left: 0px ;
border-right: 0px ;
border-top: 0px ;
}
.print-continue-blank.print-continue-blank--after.print-complex-table tr:first-child td {
border-top: 0px ;
}