index.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <template>
  2. <view class="box">
  3. <view class="search ddflex">
  4. <image src="../static/images/ssico.png" class="ssico"></image>
  5. <input v-model="searchTitle" placeholder="手动输入核销码" placeholder-class="placeholder" class="fflex" />
  6. <image src="../../static/pages/images/clear.png" class="clear" v-if="searchTitle" @click="clearSearchTitle()"></image>
  7. <view class="go" @click="search">查询</view>
  8. </view>
  9. <view class="sao ddflex" @click="scan()">
  10. <image src="../static/images/sao1.png"></image>
  11. <view>扫码核销</view>
  12. </view>
  13. <navigator url="/merchant/record/index" hover-class="none" class="record ddflex">
  14. <image src="../static/images/jlico.png" class="jlico"></image>
  15. <view class="fflex">核销记录</view>
  16. <image src="../../static/pages/images/more.png" class="rico"></image>
  17. </navigator>
  18. <view class="tip ddflex">
  19. <image src="../static/images/tip.png"></image>
  20. <view>核销码一经核销,无法撤回,请核实好再进行核销操作</view>
  21. </view>
  22. </view>
  23. </template>
  24. <script>
  25. const app = getApp();
  26. const req = require('../../utils/request.js');
  27. export default {
  28. data() {
  29. return {
  30. apiUrl: req.env[req.env.NODE_ENV].apiUrl,
  31. searchTitle: '',
  32. code: '',
  33. url: '',
  34. merchantId: '',
  35. params: {
  36. page: 0,
  37. limit: 10
  38. }
  39. };
  40. },
  41. onLoad(options) {
  42. this.merchantId = options.merchantId;
  43. },
  44. onReachBottom() {},
  45. methods: {
  46. search() {
  47. if (this.searchTitle) {
  48. uni.navigateTo({
  49. url: '/merchant/writeDetail/index?code=' + this.searchTitle
  50. });
  51. } else {
  52. req.msg('请输入核销码');
  53. }
  54. },
  55. clearSearchTitle() {
  56. this.searchTitle = '';
  57. },
  58. //调用扫码
  59. // HX//核销
  60. // CK//次卡核销
  61. scan() {
  62. var tah = this;
  63. uni.scanCode({
  64. success: function(res) {
  65. console.log('条码类型:' + res.scanType);
  66. console.log('条码内容:', res);
  67. if (res.result.indexOf('HX')!=-1) {
  68. //核销
  69. console.log('HX>>>>>', res.result);
  70. tah.confirm(res.result.replace('HX', ''));
  71. } else if (res.result.indexOf('CK')!=-1) {
  72. console.log('CK>>>>>', res.result);
  73. uni.navigateTo({
  74. url: '/merchant/writeDetail/index?code=' + res.result
  75. });
  76. }
  77. }
  78. });
  79. },
  80. confirm(value) {
  81. let that = this;
  82. let form = this.params;
  83. form.search = value;
  84. form.merchantId = this.merchantId;
  85. req.getRequest(
  86. '/api/order/merchant/list',
  87. form,
  88. data => {
  89. if (data && data.length > 0) {
  90. var obj = data[0];
  91. this.toOrederDel(obj.id);
  92. }
  93. },
  94. true
  95. );
  96. },
  97. toOrederDel(id) {
  98. this.jumpUrl('/merchant/show?id=' + id + '&merchantId=' + this.merchantId);
  99. },
  100. jumpUrl(url) {
  101. uni.navigateTo({
  102. url: url
  103. });
  104. },
  105. scanQRCode() {
  106. let that = this;
  107. jWeixin.scanQRCode({
  108. needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  109. scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有
  110. success: function(res) {
  111. var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
  112. console.log('res.resultStr==', result);
  113. if (res.resultStr.indexOf(',') > 0) {
  114. //条形码时返回的格式类似为【code128,123456789】
  115. var dealserialNumber = res.resultStr.split(',')[1];
  116. dealserialNumber = dealserialNumber.replace(/[^a-z\d]/gi, ''); //处理条形码扫描的字符
  117. that.code = dealserialNumber;
  118. // alert(dealserialNumber);
  119. uni.navigateTo({
  120. url: '/write/detail/detail?orderId=' + dealserialNumber
  121. });
  122. // location.href = that.apiUrl + '?orderId=' + dealserialNumber;//扫描结果传递到的处理页面
  123. } else {
  124. //二维码时
  125. that.code = result;
  126. uni.navigateTo({
  127. url: '/write/detail/detail?orderId=' + result
  128. });
  129. // alert(res.resultStr);
  130. // location.href = that.apiUrl + '?code=' + res.resultStr;//扫描结果传递到的处理页面
  131. }
  132. }
  133. });
  134. }
  135. }
  136. };
  137. </script>
  138. <style>
  139. page {
  140. background: #fff;
  141. }
  142. </style>
  143. <style>
  144. @import './index.css';
  145. </style>