cc-defineKeyboard.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <view class="page-total" v-show="isShow">
  3. <view class="key-list">
  4. <view class="list" v-for="(item,index) in keyList"
  5. :class="{'special':item.keyCode==190||item.keyCode==8}"
  6. @click="onKeyList(item,index)"
  7. :key="item.keyCode">
  8. <text>{{item.key}}</text>
  9. </view>
  10. </view>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. isShow: true,
  18. keyList: [
  19. {
  20. key: 1,
  21. en: '',
  22. keyCode: 49,
  23. },{
  24. key: 2,
  25. en: 'ABC',
  26. keyCode: 50,
  27. },{
  28. key: 3,
  29. en: 'ABC',
  30. keyCode: 51,
  31. },{
  32. key: 4,
  33. en: 'ABC',
  34. keyCode: 52,
  35. },{
  36. key: 5,
  37. en: 'ABC',
  38. keyCode: 53,
  39. },{
  40. key: 6,
  41. en: 'ABC',
  42. keyCode: 54,
  43. },{
  44. key: 7,
  45. en: 'ABC',
  46. keyCode: 55,
  47. },{
  48. key: 8,
  49. en: 'ABC',
  50. keyCode: 56,
  51. },{
  52. key: 9,
  53. en: 'ABC',
  54. keyCode: 57,
  55. },{
  56. key: '关闭',
  57. en: 'ABC',
  58. keyCode: 190,
  59. },{
  60. key: 0,
  61. en: 'ABC',
  62. keyCode: 48,
  63. },{
  64. key: 'X',
  65. en: 'DEL',
  66. keyCode: 8,
  67. },
  68. ],
  69. keyIndex: -1,
  70. };
  71. },
  72. props:{
  73. passwrdType: {
  74. type: String,
  75. default: 'pay'
  76. }
  77. },
  78. methods:{
  79. show(){
  80. this.isShow = true;
  81. },
  82. hide(){
  83. this.isShow = false;
  84. },
  85. /**
  86. * 密码键盘按下
  87. * @param {Object} item
  88. * @param {Number} index
  89. */
  90. onKeyList(item,index){
  91. let KeyInfo = item;
  92. // 删除键
  93. if(KeyInfo.keyCode === 8 && this.keyIndex > -1){
  94. this.keyIndex--;
  95. }
  96. // 不是删除键
  97. if(KeyInfo.keyCode != 8){
  98. if(this.passwrdType == 'pay' && this.keyIndex >= 5){
  99. console.log('支付键盘');
  100. this.keyIndex = -1;
  101. return;
  102. }
  103. this.keyIndex++;
  104. }
  105. KeyInfo.index = this.keyIndex;
  106. this.$emit('KeyInfo',KeyInfo);
  107. }
  108. }
  109. }
  110. </script>
  111. <style scoped lang="scss">
  112. @import 'cc-defineKeyboard.scss';
  113. </style>