signature.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <template>
  2. <div>
  3. <nut-docheader
  4. :name="$route.name"
  5. :chName="$route.params.chnName"
  6. type="Component"
  7. desc="签名组件。"
  8. :showQrCode="true"></nut-docheader>
  9. <!-- <h1>Signature</h1>
  10. <p>一种在线签字组件。</p> -->
  11. <h5>示例</h5>
  12. <h6>基本用法</h6>
  13. <nut-codebox :code="demo1" imgUrl="../asset/img/demo/signature1.png"></nut-codebox>
  14. <nut-codebox :code="demo3"></nut-codebox>
  15. <h6>修改签字颜色和画笔粗细</h6>
  16. <nut-codebox :code="demo2" imgUrl="../asset/img/demo/signature2.png"></nut-codebox>
  17. <!-- <a class="button button-primary" href="/demo.html#/Signature" target="_blank">Demo</a> -->
  18. <!-- <p>默认用法</p>
  19. <nut-signature @confirm="confirm"></nut-signature>
  20. <pre><code v-highlight v-text="demo1"></code></pre>
  21. <p>修改签字颜色和画笔粗细</p>
  22. <nut-signature @confirm="confirm1" :lineWidth="lineWidth" :strokeStyle="strokeStyle"></nut-signature>
  23. <pre><code v-highlight v-text="demo2"></code></pre> -->
  24. <h5>Props</h5>
  25. <div class="tbl-wrapper">
  26. <table class="u-full-width">
  27. <thead>
  28. <tr>
  29. <th>参数</th>
  30. <th>说明</th>
  31. <th>类型</th>
  32. <th>默认值</th>
  33. <th>可选值</th>
  34. </tr>
  35. </thead>
  36. <tbody>
  37. <tr>
  38. <td>lineWidth</td>
  39. <td>画笔宽度</td>
  40. <td>number</td>
  41. <td>2</td>
  42. <td>--</td>
  43. </tr>
  44. <tr>
  45. <td>strokeStyle</td>
  46. <td>画笔颜色</td>
  47. <td>string</td>
  48. <td>#000</td>
  49. <td>--</td>
  50. </tr>
  51. <tr>
  52. <td>type</td>
  53. <td>转换为dataUrl格式</td>
  54. <td>string</td>
  55. <td>png</td>
  56. <td>png/jpg</td>
  57. </tr>
  58. <tr>
  59. <td>unSupportTpl</td>
  60. <td>浏览器不支持显示文案</td>
  61. <td>string</td>
  62. <td>对不起,当前浏览器不支持Canvas,无法使用本控件!</td>
  63. <td>--</td>
  64. </tr>
  65. </tbody>
  66. </table>
  67. </div>
  68. <h5>Events</h5>
  69. <div class="tbl-wrapper">
  70. <table class="u-full-width">
  71. <thead>
  72. <tr>
  73. <th>事件名</th>
  74. <th>说明</th>
  75. <th>回调参数</th>
  76. </tr>
  77. </thead>
  78. <tbody>
  79. <tr>
  80. <td>confirm</td>
  81. <td>点击确认签字按钮时触发</td>
  82. <td>canvas:canvas;data:based64</td>
  83. </tr>
  84. </tbody>
  85. </table>
  86. </div>
  87. </div>
  88. </template>
  89. <script>
  90. export default {
  91. data(){
  92. return{
  93. demo1:`<nut-signature
  94. @confirm="confirm"
  95. ></nut-signature>`,
  96. demo2:`<nut-signature
  97. @confirm="confirm1"
  98. :lineWidth="5"
  99. strokeStyle="#000000"
  100. ></nut-signature>`,
  101. demo3:`export default {
  102. methods:{
  103. confirm(canvas, data) {
  104. console.log(data);
  105. }
  106. }
  107. }`
  108. }
  109. },
  110. methods:{
  111. confirm(canvas, data) {
  112. console.log(data);
  113. },
  114. confirm1(canvas, data) {
  115. console.log(data);
  116. }
  117. }
  118. }
  119. </script>
  120. <style lang="scss">
  121. .nut-signature{
  122. .nut-signature-inner{
  123. height: 200px;
  124. width: 100%;
  125. max-width: 400px;
  126. margin-bottom: 10px;
  127. border: 1px solid #eee;
  128. display: flex;
  129. justify-content: center;
  130. align-items: center;
  131. }
  132. .nut-signature-unsopport{
  133. font-size: 12px;
  134. }
  135. }
  136. </style>