UNPKG

wui-print

Version:

前端打印插件,包含打印设计器、打印表单、打印API

649 lines (648 loc) 17.9 kB
: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 !important; padding: 0; height: 0 !important; width: 100%; background: none; padding-top: var(--wui-printing-page-padding-top); } .print-page-bottom { margin: 0 !important; padding: 0; height: 0 !important; width: 100%; background: none; padding-bottom: var(--wui-printing-page-padding-bottom); } .print-page-break { margin: 0 !important; padding: 0 !important; height: 0 !important; width: 0 !important; background: none; page-break-after: always; background: #cdcdcd; padding-bottom: 30px; } .print-container--preview .print-page-break { width: 100% !important; height: 10px !important; 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 !important; } } .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) !important; } .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) !important; } .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 !important; } .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 !important; border-left: 1px solid transparent !important; } .print-complex-table--auto-continue-span.print-complex-table--auto-continue-span_continue-content tr > td { border-right: 1px solid transparent !important; } .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 !important; } .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) !important; } .print-complex-table--auto-continue-not-span.print-complex-table--auto-continue-not-span_continue-content tr > td { border-color: var(--wui-printing-background) !important; } .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) !important; border-left: 0px !important ; border-right: 0px !important ; border-bottom: 0px !important ; } .print-continue-blank.print-continue-blank--before.print-complex-table tr:last-child td { border-bottom: 0px !important ; } .print-continue-blank.print-continue-blank--after.print-complex-table { border-left: 0px !important ; border-right: 0px !important ; border-top: 0px !important ; } .print-continue-blank.print-continue-blank--after.print-complex-table tr:first-child td { border-top: 0px !important ; }