ownersquery.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <template>
  2. <view>
  3. <u-navbar
  4. title="车主查询"
  5. title-color="#fff"
  6. :custom-back="customBack"
  7. :border-bottom="false"
  8. back-icon-color="#CCE8FF"
  9. :background="{background: 'linear-gradient(145deg, #41AFF9 0%, #2D8CFB 100%)' }"></u-navbar>
  10. <view class="taking-pictures" @click="getPic">点击拍照</view>
  11. <view class="wrap">
  12. <view class="title">手输车牌号</view>
  13. <view class="new-plate-number">
  14. <view class="message-input-wrap" @click="messageInputClick">
  15. <u-message-input :maxlength="8" width="70" font-size="50" :disabled-keyboard="true" v-model="newPlateNumber"></u-message-input>
  16. </view>
  17. <u-keyboard ref="uKeyboard" mode="car" @change="keyboardChange" @backspace="backspace" v-model="keyboardshow"></u-keyboard>
  18. </view>
  19. <view class="bottom-btn" @click="submit">确认</view>
  20. </view>
  21. <u-toast ref="uToast" />
  22. </view>
  23. </template>
  24. <script>
  25. //#ifdef APP-PLUS
  26. let ocr = uni.requireNativePlugin("OcrPlug");
  27. //#endif
  28. export default{
  29. data(){
  30. return{
  31. keyboardshow:false,
  32. newPlateNumber:'',
  33. vehicleClor:''
  34. }
  35. },
  36. onLoad(page){
  37. },
  38. methods:{
  39. customBack(){
  40. uni.navigateBack({
  41. delta: 1
  42. });
  43. },
  44. getPic(){
  45. let that = this;
  46. // ocr.ocrVehicleNo((ret) => {
  47. // if (ret.success){
  48. // that.newPlateNumber = ret.vehicleNo;
  49. // }else {
  50. // plus.nativeUI.toast('识别失败');
  51. // }
  52. // });
  53. uni.chooseImage({
  54. count: 1, //默认9
  55. sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
  56. sourceType: ['camera'], //
  57. success: function (res) {
  58. // console.log('img',res)
  59. uni.showLoading({});
  60. const tempFilePaths = res.tempFilePaths;
  61. // 若多选,需循环调用uni.uploadFile ,因微信小程序只支持单文件上传
  62. uni.uploadFile({
  63. url: `${that.config.fileUrl}/tencent/ocr`,
  64. filePath: tempFilePaths[0],
  65. name: 'file',
  66. formData: {
  67. 'isUpload': 0 // 上传附带参数
  68. },
  69. success: (res) => {
  70. // 根据接口具体返回格式 赋值具体对应url
  71. // alert(uploadFileRes.data);
  72. let resobj=eval("("+res.data+")");
  73. uni.hideLoading();
  74. if(resobj.code==200){
  75. console.log(resobj);
  76. that.newPlateNumber = resobj.data.vehicleNo;
  77. // that.vehicleClor = resobj.data.vehicleClor;
  78. }else{
  79. that.$refs.uToast.show({
  80. title: resobj.msg,
  81. type: 'error'
  82. });
  83. }
  84. console.log(res);
  85. },
  86. fail: (err) => {
  87. that.$refs.uToast.show({
  88. title:err.msg,
  89. type: 'error'
  90. });
  91. uni.hideLoading();
  92. }
  93. });
  94. }
  95. });
  96. },
  97. messageInputClick(){
  98. this.keyboardshow = true;
  99. },
  100. // 按键被点击(点击退格键不会触发此事件)
  101. keyboardChange(val) {
  102. // 将每次按键的值拼接到value变量中,注意+=写法
  103. this.newPlateNumber += val;
  104. console.log(this.newPlateNumber);
  105. },
  106. // 退格键被点击
  107. backspace() {
  108. // 删除value的最后一个字符
  109. if(this.newPlateNumber.length) this.newPlateNumber = this.newPlateNumber.substr(0, this.newPlateNumber.length - 1);
  110. console.log(this.newPlateNumber);
  111. },
  112. submit(){
  113. this.$u.route({
  114. type:'redirectTo',
  115. url: 'pages/ownersquery/ownersinfo/ownersinfo',
  116. params: {
  117. vehicleNo: this.newPlateNumber
  118. }
  119. });
  120. }
  121. }
  122. }
  123. </script>
  124. <style lang="scss">
  125. @import "./ownersquery.scss";
  126. </style>