• vue2 打印数据 以及使用 (2)


     一,安装 print  打印

    1. 安装
    2. To install using npm:
    3. npm install print-js --save
    4. To install using yarn:
    5. yarn add print-js

    二,页面效果

    三,完整代码 

    1. <template>
    2. <div>
    3. <table width="100%" height="100%" border="1">
    4. <tr>
    5. <td colspan="1">1</td>
    6. <td colspan="1">员工姓名</td>
    7. <input v-model="name" style="color: red; width: 100px" />
    8. <td colspan="3">员工部门</td>
    9. <input v-model="department" style="color: red; width: 100px" />
    10. </tr>
    11. </table>
    12. <table width="100%" height="100%" border="1">
    13. <tr>
    14. <td colspan="1">2</td>
    15. <td colspan="1">所在职位</td>
    16. <input v-model="position" style="color: red; width: 100px" />
    17. <td colspan="3">考核吐槽项目</td>
    18. <input v-model="message" style="color: red; width: 100px" />
    19. </tr>
    20. </table>
    21. <table width="100%" height="100%" border="1">
    22. <tr>
    23. <td colspan="1">3</td>
    24. <td colspan="1">a</td>
    25. <input type="number" v-model="a" style="color: red; width: 100px" />
    26. <td colspan="1">*</td>
    27. <td colspan="1">b</td>
    28. <input type="number" v-model="b" style="color: red; width: 100px" />
    29. <td colspan="3">是否满足( > 1593)</td>
    30. <td colspan="3">{{ this.list }}</td>
    31. </tr>
    32. </table>
    33. <button @click="jsonPrint">打印</button>
    34. </div>
    35. </template>
    36. <script lang="ts">
    37. import printJS from "print-js";
    38. export default {
    39. data() {
    40. return {
    41. fraction: '', //分数
    42. name: "", //名字
    43. department: '', //部门
    44. message: "", //吐槽
    45. position: "", //职位
    46. a:'', //分数1
    47. b:'' //分数2
    48. };
    49. },
    50. computed: {
    51. // 计算分数总数
    52. num() {
    53. return this.a * this.b ;
    54. },
    55. // 改变吐槽展现形式
    56. reverseMessage() {
    57. return this.message.split("")
    58. // return this.message.split("").reverse().join("");
    59. },
    60. // list 是判断num的满足条件
    61. list() {
    62. if (this.num > 1593) {
    63. return "满足";
    64. } else {
    65. return "不满足";
    66. }
    67. },
    68. },
    69. methods: {
    70. jsonPrint() {
    71. printJS({
    72. printable: [], //表格的数据
    73. header: `<div style="display: flex;flex-direction: column;text-align: center">
    74. <table border="1" width="100%" height="100%" >
    75. <tr>
    76. <!-- colspan跨n列 -->
    77. <td colspan="12">学生作业考核评价表</td>
    78. </tr>
    79. <tr>
    80. <td colspan="2">员工姓名</td>
    81. <td colspan="2" >${this.name}</td>
    82. <td colspan="1">部门</td>
    83. <td colspan="3">${this.department}</td>
    84. <td colspan="2">所在职位</td>
    85. <td colspan="2">${this.position}</td>
    86. </tr>
    87. <tr>
    88. <td colspan="3">考核吐槽项目</td>
    89. <td colspan="3">${this.reverseMessage}</td>
    90. <td colspan="1">考核分数</td>
    91. <td colspan="5"> ${this.num}</td>
    92. </tr>
    93. <tr>
    94. <td colspan="4">考核结果</td>
    95. <td colspan="8">${this.list}</td>
    96. </tr>
    97. </table>
    98. <table border="1" width="100%" height="100%">
    99. <tr>
    100. <td colspan="1">序号</td>
    101. <td colspan="1">项目</td>
    102. <td colspan="4">考核标准评分</td>
    103. <td colspan="2">自我评分</td>
    104. <td colspan="2">老师评分</td>
    105. <td colspan="3">综合评分</td>
    106. </tr>
    107. <tr>
    108. <td rowspan="4">1</td>
    109. <td rowspan="4">考勤状况及态度考核</td>
    110. <td colspan="4">出勤情况:满勤,无请假迟到早退等情况(满分10分)</td>
    111. <td colspan="2">7</td>
    112. <td colspan="2">7</td>
    113. <td colspan="2">7</td>
    114. </tr>
    115. <tr>
    116. <td colspan="4">工作积极性:主动承担分内工作,对本人职责范围内的工作无推诿(满分10分)</td>
    117. <td colspan="2">7</td>
    118. <td colspan="2">7</td>
    119. <td colspan="2">7</td>
    120. </tr>
    121. <tr>
    122. <td colspan="4">责任意识:本职工作有责任心,及时完成交付的工作,无拖延(满分10分)</td>
    123. <td colspan="2">7</td>
    124. <td colspan="2">7</td>
    125. <td colspan="2">7</td>
    126. </tr>
    127. <tr>
    128. <td colspan="4">协作与配合:与上下级,同事工作配合度(满分10分)</td>
    129. <td colspan="2">7</td>
    130. <td colspan="2">7</td>
    131. <td colspan="2">7</td>
    132. </tr>
    133. </table>
    134. </div>`,
    135. properties: [
    136. //表头
    137. // {field: 'id', displayName: '地区', columnSize: `10%`},
    138. // {field: 'text', displayName: '确认跳闸条数',columnSize: `65%`},
    139. // {field: 'num', displayName: '误报条数'},
    140. // {field: 'powerOutageTotalNum', displayName: '跳闸总条数'},
    141. // {field: 'powerOutageErrorIndex', displayName: '误报指数', columnSize: `10%`},
    142. ],
    143. type: "json",
    144. gridHeaderStyle: "border: 1px solid #000;text-align:center",
    145. gridStyle: "border: 1px solid #000;text-align:center",
    146. style:
    147. " span {color :red ;width: 300px;border: 1px solid #000; display: flex; }", // 表格样式
    148. });
    149. },
    150. },
    151. };
    152. </script>
    153. <style>
    154. </style>

  • 相关阅读:
    【PTA-训练day2】L2-013 红色警报 + L1-006 连续因子
    七夕节送什么礼物?推荐女生喜欢的礼物
    云安全之访问控制的常见攻击及防御
    Python:实现字符串split函数功能算法(附完整源码)
    LVS:NAT模式详解
    C++信息学奥赛1181:整数奇偶排序
    高级语言垃圾回收思路和如何减少性能影响原理分析
    091.PyQt5_QtDesigner_简介&环境配置安装
    微前端是如何实现作用域隔离的?
    Python数据透视表
  • 原文地址:https://blog.csdn.net/weixin_68266812/article/details/133747113