invoice.vue 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <template>
  2. <view class="container">
  3. <view class="tui-invoice__box">
  4. <tui-list-cell :hover="false">
  5. <view class="tui-title tui-bold">
  6. <text>发票类型</text>
  7. <text class="tui-notice" @tap="modal = true">发票须知</text>
  8. </view>
  9. <view class="tui-attr__box">
  10. <view class="tui-attr-item" :class="{ 'tui-attr-active': type === 1 }" @tap="switchType(1)">电子普通发票</view>
  11. <view class="tui-attr-item" :class="{ 'tui-attr-active': type === 2 }" @tap="switchType(2)">不开发票</view>
  12. </view>
  13. <view class="tui-tips">ThorUI商城启用电子普通发票,与纸质普通发票具备同等法律效力,订单完成后24小时内在“我的订单”查看</view>
  14. </tui-list-cell>
  15. <view v-if="type === 1">
  16. <tui-list-cell :hover="false">
  17. <view class="tui-title tui-bold">发票抬头</view>
  18. <view class="tui-attr__box tui-pbtm__0">
  19. <view class="tui-attr-item" :class="{ 'tui-attr-active': invoiceTitle === 1 }" @tap="switchTitle(1)">个人</view>
  20. <view class="tui-attr-item" :class="{ 'tui-attr-active': invoiceTitle === 2 }" @tap="switchTitle(2)">单位</view>
  21. </view>
  22. <view class="tui-form">
  23. <view class="tui-box__personal" v-show="invoiceTitle === 1">
  24. <view class="tui-input__item">
  25. <view class="tui-input__title">个人名称名称</view>
  26. <input placeholder="请填写“个人”或您的姓名" placeholder-class="tui-placeholder" />
  27. </view>
  28. </view>
  29. <view class="tui-box__enterprise" v-show="invoiceTitle === 2">
  30. <view class="tui-input__item">
  31. <view class="tui-input__title">单位名称</view>
  32. <input placeholder="请填写单位名称" placeholder-class="tui-placeholder" />
  33. </view>
  34. <view class="tui-input__item">
  35. <view class="tui-input__title">纳税人识别码</view>
  36. <input placeholder="纳税人识别号/统一社会信用代码" placeholder-class="tui-placeholder" />
  37. </view>
  38. <view class="tui-input__item tui-between">
  39. <view class="tui-input__title">更多选填项</view>
  40. <view class="tui-more__optional" @tap="optional=!optional">
  41. <text>展开</text>
  42. <tui-icon :name="optional?'arrowup':'arrowdown'" :size="18" color="#999"></tui-icon>
  43. </view>
  44. </view>
  45. <view class="tui-optional__box" v-if="optional">
  46. <view class="tui-input__item">
  47. <view class="tui-input__title">注册地址</view>
  48. <input placeholder="请填写注册地址" placeholder-class="tui-placeholder" />
  49. </view>
  50. <view class="tui-input__item">
  51. <view class="tui-input__title">注册电话</view>
  52. <input type="number" placeholder="请填写注册电话" placeholder-class="tui-placeholder" />
  53. </view>
  54. <view class="tui-input__item">
  55. <view class="tui-input__title">开户银行</view>
  56. <input placeholder="请填写单位开户银行" placeholder-class="tui-placeholder" />
  57. </view>
  58. <view class="tui-input__item">
  59. <view class="tui-input__title">银行账号</view>
  60. <input placeholder="请填写单位银行账号" placeholder-class="tui-placeholder" />
  61. </view>
  62. </view>
  63. </view>
  64. </view>
  65. </tui-list-cell>
  66. <tui-list-cell :hover="false">
  67. <view class="tui-title tui-bold">收票人信息</view>
  68. <view class="tui-input__item">
  69. <view class="tui-input__title">收票人手机</view>
  70. <input placeholder="可通过手机号在发票服务平台查询" placeholder-class="tui-placeholder" value="188****0088" />
  71. </view>
  72. <view class="tui-input__item">
  73. <view class="tui-input__title">收票人邮箱</view>
  74. <input placeholder="用来接收电子发票邮件,可选填" placeholder-class="tui-placeholder" />
  75. </view>
  76. </tui-list-cell>
  77. </view>
  78. </view>
  79. <view class="tui-btn__box">
  80. <tui-button type="danger" height="88rpx" shape="circle">确定</tui-button>
  81. </view>
  82. <tui-modal :show="modal" shape="circle" padding="30rpx 40rpx" custom>
  83. <view class="tui-modal__title">发票须知</view>
  84. <view class="tui-modal__p">1.发票金额不含优惠券、红包等优惠扣减金额;</view>
  85. <view class="tui-modal__p">2.请确保发票抬头、纳税人识别号或统一社会信用代码的准确性,开票成功后无法更改;</view>
  86. <view class="tui-modal__p">3.增值税普通发票的开具不填写纳税人识别号或统一社会信用代码不得作为税收凭证。</view>
  87. <view class="tui-modal__btn">
  88. <tui-button type="danger" shape="circle" width="280rpx" height="68rpx" :size="26" @click="modal = false">我知道了</tui-button>
  89. </view>
  90. </tui-modal>
  91. </view>
  92. </template>
  93. <script>
  94. export default {
  95. data() {
  96. return {
  97. type: 1, //发票类型:1-电子普通发票 2-不开发票
  98. invoiceTitle: 1, //发票抬头:1-个人 2-企业
  99. optional: false,
  100. modal: false
  101. };
  102. },
  103. methods: {
  104. switchType(type) {
  105. this.type = type;
  106. },
  107. switchTitle(type) {
  108. this.invoiceTitle = type;
  109. }
  110. },
  111. /**
  112. * 页面相关事件处理函数--监听用户下拉动作
  113. */
  114. onPullDownRefresh: function() {
  115. setTimeout(() => {
  116. uni.stopPullDownRefresh()
  117. }, 200);
  118. },
  119. };
  120. </script>
  121. <style>
  122. .tui-invoice__box {
  123. background-color: #ffffff;
  124. margin-top: 20rpx;
  125. border-radius: 20rpx;
  126. overflow: hidden;
  127. }
  128. .tui-title {
  129. display: flex;
  130. align-items: center;
  131. justify-content: space-between;
  132. }
  133. .tui-notice {
  134. font-size: 24rpx;
  135. font-weight: 400;
  136. color: #999;
  137. }
  138. .tui-bold {
  139. font-weight: bold;
  140. }
  141. .tui-attr__box {
  142. padding: 24rpx 0;
  143. }
  144. .tui-pbtm__0 {
  145. padding-bottom: 0;
  146. }
  147. .tui-attr-item {
  148. max-width: 100%;
  149. min-width: 180rpx;
  150. height: 64rpx;
  151. display: -webkit-inline-flex;
  152. display: inline-flex;
  153. align-items: center;
  154. justify-content: center;
  155. background-color: #f7f7f7;
  156. border: 1rpx solid #f7f7f7;
  157. padding: 0 26rpx;
  158. box-sizing: border-box;
  159. border-radius: 32px;
  160. margin-right: 32rpx;
  161. font-size: 26rpx;
  162. }
  163. .tui-attr-active {
  164. background-color: #fcedea;
  165. border-color: #e41f19;
  166. color: #e41f19;
  167. font-weight: bold;
  168. }
  169. .tui-tips {
  170. color: #999;
  171. font-size: 24rpx;
  172. font-weight: 400;
  173. }
  174. .tui-input__item {
  175. width: 100%;
  176. display: flex;
  177. align-items: center;
  178. font-size: 28rpx;
  179. padding-top: 40rpx;
  180. }
  181. .tui-input__title {
  182. width: 196rpx;
  183. flex-shrink: 0;
  184. }
  185. .tui-input__item input {
  186. font-size: 28rpx;
  187. flex: 1;
  188. }
  189. .tui-placeholder {
  190. color: #bfbfbf;
  191. }
  192. .tui-more__optional {
  193. font-size: 24rpx;
  194. display: flex;
  195. align-items: center;
  196. color: #999;
  197. }
  198. .tui-between {
  199. justify-content: space-between;
  200. }
  201. .tui-btn__box {
  202. padding: 60rpx 30rpx 80rpx;
  203. }
  204. .tui-modal__title {
  205. text-align: center;
  206. font-weight: bold;
  207. padding-bottom: 8rpx;
  208. }
  209. .tui-modal__p {
  210. font-size: 26rpx;
  211. color: #888;
  212. padding-top: 20rpx;
  213. }
  214. .tui-modal__btn {
  215. width: 100%;
  216. padding: 60rpx 0 20rpx;
  217. display: flex;
  218. justify-content: center;
  219. }
  220. </style>