金诚优选前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

196 lines
4.8 KiB

  1. <template>
  2. <view class="invoice_detail">
  3. <view class="header_box">
  4. <view class="item">
  5. <view class="name">
  6. 抬头类型
  7. </view>
  8. <view class="type">
  9. <radio-group @change="change($event)" style="display: flex;">
  10. <view class="type-item">
  11. <label class="checkbox" style="margin-right:10px;">
  12. <radio checked="true" value="personal" />
  13. <text>个人</text>
  14. </label>
  15. </view>
  16. <view class="type-item">
  17. <label class="checkbox">
  18. <radio value="enterprise" />
  19. <text>单位</text>
  20. </label>
  21. </view>
  22. </radio-group>
  23. </view>
  24. </view>
  25. <view class="item">
  26. <view class="name">发票抬头</view>
  27. <view class="input-box">
  28. <input type="text" placeholder="抬头名称" placeholder-class="input-placeholder" v-model="name" />
  29. </view>
  30. </view>
  31. <!-- 企业的选择 -->
  32. <view class="conpany" v-if="type == 'enterprise'">
  33. <view class="item">
  34. <view class="name">税号</view>
  35. <view class="input-box">
  36. <input type="text" placeholder="纳税人识别号" placeholder-class="input-placeholder" v-model="number" />
  37. </view>
  38. </view>
  39. <view class="item">
  40. <view class="name">开户银行</view>
  41. <view class="input-box">
  42. <input type="text" placeholder="选填" placeholder-class="input-placeholder" v-model="bank" />
  43. </view>
  44. </view>
  45. <view class="item">
  46. <view class="name">银行账号</view>
  47. <view class="input-box">
  48. <input type="text" placeholder="选填" placeholder-class="input-placeholder" v-model="bank_number" />
  49. </view>
  50. </view>
  51. <view class="item">
  52. <view class="name">企业地址</view>
  53. <view class="input-box">
  54. <input type="text" placeholder="选填" placeholder-class="input-placeholder" v-model="address" />
  55. </view>
  56. </view>
  57. <view class="item">
  58. <view class="name">企业电话</view>
  59. <view class="input-box">
  60. <input type="text" placeholder="选填" placeholder-class="input-placeholder" v-model="phone" />
  61. </view>
  62. </view>
  63. </view>
  64. </view>
  65. <view class="content">
  66. <view class="detail">
  67. <view class="name">发票明细:</view>
  68. </view>
  69. <view class="tips">
  70. 开票金额为用户实际支付金额不含礼品卡优惠券积分抵扣
  71. </view>
  72. </view>
  73. <view class="content" @click="jumpback">
  74. <view class="detail">
  75. <view class="name">本次不开具发票继续下单</view>
  76. <view class="iconfont icon--xiangyoujiantou"></view>
  77. </view>
  78. </view>
  79. <!-- 完成按钮 -->
  80. <view class="btn-box" @click="submit">完成</view>
  81. </view>
  82. </template>
  83. <script>
  84. export default {
  85. data() {
  86. return {
  87. type: 'personal', //发票;类型
  88. name: '', //发票抬头
  89. number: '', //税号
  90. bank: '', //开户银行
  91. bank_number: '', //银行账号,
  92. phone: '', //企业电话
  93. address: '', //企业地址
  94. }
  95. },
  96. onLoad() {
  97. },
  98. onShow() {
  99. },
  100. methods: {
  101. change(e) {
  102. this.type = e.detail.value;
  103. },
  104. // 点击完成时候所完成的动作
  105. submit() {
  106. var message = '';
  107. if (this.type == 'personal') {
  108. if (this.name) {
  109. var data = {
  110. type: 'personal',
  111. name: this.name
  112. }
  113. this.addInvoiceInfo(data);
  114. } else {
  115. message = "请输入抬头名称"
  116. wx.showModal({
  117. content: message,
  118. showCancel: false
  119. })
  120. return
  121. }
  122. }
  123. if (this.type == 'enterprise') {
  124. if(!this.name){
  125. message = "请输入抬头名称"
  126. wx.showModal({
  127. content: message,
  128. showCancel: false
  129. })
  130. return
  131. }
  132. var regExp = /^([1-9]{1})(\d{15}|\d{18})$/;
  133. if (!this.number) {
  134. message = "请输入纳税人识别号"
  135. wx.showModal({
  136. content: message,
  137. showCancel: false
  138. })
  139. return
  140. }
  141. if (this.bank_number) {
  142. if (!regExp.test(this.bank_number)) {
  143. message = "请输入正确的银行卡号",
  144. wx.showModal({
  145. content: message,
  146. showCancel: false
  147. })
  148. return
  149. }
  150. }
  151. var data = {
  152. type: 'enterprise',
  153. name:this.name,
  154. number: this.number,
  155. bank: this.bank,
  156. bank_number: this.bank_number,
  157. phone: this.phone,
  158. address: this.address
  159. }
  160. this.addInvoiceInfo(data);
  161. }
  162. },
  163. // 向后端发送发票信息
  164. addInvoiceInfo(info) {
  165. var data = this.$cookieStorage.get('order_form');
  166. data.invoice = info;
  167. this.$cookieStorage.set('order_form', data);
  168. wx.navigateBack();
  169. },
  170. // 返回
  171. jumpback(){
  172. var data = this.$cookieStorage.get('order_form');
  173. data.invoice = "";
  174. this.$cookieStorage.set('order_form', data);
  175. wx.navigateBack();
  176. }
  177. }
  178. }
  179. </script>
  180. <style rel="stylesheet/less" lang="less">
  181. @import "invoiceDetail";
  182. </style>