addInvoice.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <!-- 新增发票 -->
  2. <template>
  3. <view class="invoice">
  4. <view class="invoice-form">
  5. <u-form :model="form" ref="uForm" label-width="150">
  6. <u-form-item label="抬头类型">
  7. <u-radio-group v-model="form.type">
  8. <u-radio name="company">企业</u-radio>
  9. <u-radio name="personal">个人/机关事业单位</u-radio>
  10. </u-radio-group>
  11. </u-form-item>
  12. <u-form-item label="公司名称">
  13. <u-input v-model="form.companyName" placeholder="请输入公司名称" />
  14. <u-icon slot="right" name="list-dot" size="40" color="#606266" @click="moreCompany" />
  15. </u-form-item>
  16. <u-form-item label="公司税号">
  17. <u-input v-model="form.dutyNum" placeholder="" disabled />
  18. </u-form-item>
  19. <u-form-item label="备注">
  20. <u-input v-model="form.remark" placeholder="请输入备注" />
  21. </u-form-item>
  22. <u-form-item label="发票金额"> ¥{{ form.price }}元 </u-form-item>
  23. </u-form>
  24. </view>
  25. <view class="invoice-tips"> 注:本公司目前只支持开具增值税普通发票 </view>
  26. <view class="invoice-submit">
  27. <u-button type="primary" @click="submitForm">提交</u-button>
  28. </view>
  29. <!-- 公司弹框 -->
  30. <u-popup v-model="companyPop.show" mode="bottom" :closeable="true" height="50vh">
  31. <view class="popup">
  32. <view class="popup-list" v-if="companyPop.list.length">
  33. <u-radio-group class="popup-list-group" v-model="form.companyName" :wrap="true">
  34. <u-radio
  35. class="popup-list-item"
  36. v-for="(item, index) in companyPop.list"
  37. :key="index"
  38. :name="item.name"
  39. @change="companyRadioClick(item)"
  40. >
  41. {{ item.name }}
  42. </u-radio>
  43. </u-radio-group>
  44. </view>
  45. <view class="popup-list" v-else>
  46. <view class="popup-list-item">暂未添加发票开头</view>
  47. </view>
  48. <view class="popup-bottom">
  49. <u-button type="info" @click="addInvoiceHeader">添加常用发票开头</u-button>
  50. </view>
  51. </view>
  52. </u-popup>
  53. </view>
  54. </template>
  55. <script>
  56. export default {
  57. data() {
  58. return {
  59. form: {
  60. type: 'company',
  61. companyName: '',
  62. dutyNum: '',
  63. remark: '',
  64. price: 100
  65. },
  66. companyPop: {
  67. show: false,
  68. list: []
  69. }
  70. };
  71. },
  72. methods: {
  73. /**
  74. * @description: 选择企业
  75. * @return {*}
  76. */
  77. moreCompany() {
  78. this.companyPop.show = true;
  79. },
  80. companyRadioClick(item) {
  81. this.companyPop.show = false;
  82. this.form.companyName = item.name;
  83. this.form.dutyNum = item.no;
  84. },
  85. addInvoiceHeader() {
  86. this.companyPop.show = false;
  87. this.$u.route({
  88. url: '/pages/invoiceModule/invoiceHeaderList/invoiceHeaderList'
  89. })
  90. },
  91. submitForm() {
  92. this.$u.route({
  93. url: '/pages/invoiceModule/invoiceSuccess/invoiceSuccess'
  94. })
  95. }
  96. }
  97. };
  98. </script>
  99. <style lang="scss" scoped>
  100. @import './addInvoice.scss';
  101. </style>