purchase-invoice-detail.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <template>
  2. <!-- <el-dialog
  3. title="查看"
  4. width="70%"
  5. :close-on-click-modal="false"
  6. :visible.sync="visible"> -->
  7. <div>
  8. <div class="my-title">查看</div>
  9. <div style="margin-left: 20px;margin-right: 20px">
  10. <e-desc title="基本信息" column="3">
  11. <e-desc-item label="采购发票编码">{{dataForm.code}}</e-desc-item>
  12. <e-desc-item label="发票类型">{{typeFormat(dataForm)}}</e-desc-item>
  13. <e-desc-item label="发票类别代码">{{dataForm.typeCode}}</e-desc-item>
  14. <e-desc-item label="发票号">{{dataForm.invoiceNumber}}</e-desc-item>
  15. <e-desc-item label="开票电话">{{dataForm.phone}}</e-desc-item>
  16. <e-desc-item label="发票金额">{{dataForm.invoiceAmount}}</e-desc-item>
  17. <e-desc-item label="币种">{{currencyFormat(dataForm)}}</e-desc-item>
  18. <e-desc-item label="供应商">{{dataForm.supplierName}}</e-desc-item>
  19. <e-desc-item label="收付款金额">{{dataForm.receivedPaidAmount}}</e-desc-item>
  20. <e-desc-item label="备注说明" span="3">{{dataForm.notes}}</e-desc-item>
  21. </e-desc>
  22. <e-desc title="附件">
  23. <upload-component :display="true" :display-title="false" :accept="'*'" :file-obj-list="fileList"/>
  24. </e-desc>
  25. <e-desc title="客户信息" column="3">
  26. <e-desc-item label="发票抬头">{{dataForm.invoiceTitle}}</e-desc-item>
  27. <e-desc-item label="企业税号">{{dataForm.taxNumber}}</e-desc-item>
  28. <e-desc-item label="开户银行">{{dataForm.bank}}</e-desc-item>
  29. <e-desc-item label="银行账号">{{dataForm.account}}</e-desc-item>
  30. <e-desc-item label="电话">{{dataForm.contactTel}}</e-desc-item>
  31. <e-desc-item label="传真">{{dataForm.fax}}</e-desc-item>
  32. </e-desc>
  33. </div>
  34. <span slot="footer" class="dialog-footer">
  35. <el-button @click="onChose">返回</el-button>
  36. </span>
  37. </div>
  38. <!-- </el-dialog> -->
  39. </template>
  40. <script>
  41. // import { getSupplierNameList, getSupplierDetail } from '@/api/sale'
  42. import { getPurchaseInvoiceDetail } from '@/api/finance'
  43. import EDesc from '../common/e-desc'
  44. import EDescItem from '../common/e-desc-item'
  45. import uploadComponent from '../common/upload-component'
  46. export default {
  47. name: 'purchase-invoice-detail',
  48. components: {
  49. EDesc,
  50. EDescItem,
  51. uploadComponent
  52. },
  53. data () {
  54. return {
  55. isFlow: false,
  56. visible: false,
  57. id: 0,
  58. dataForm: {},
  59. cusRCommProductVOS: [],
  60. fileList: [],
  61. typeState: [ // 发票类型映射关系
  62. {
  63. code: '1',
  64. value: '增值税专用发票'
  65. },
  66. {
  67. code: '2',
  68. value: '增值税普通发票'
  69. },
  70. {
  71. code: '3',
  72. value: '形式发票'
  73. }
  74. ],
  75. currencyType: [ // 币种映射关系
  76. {
  77. code: '1',
  78. value: '人民币'
  79. }
  80. ]
  81. }
  82. },
  83. methods: {
  84. onChose () {
  85. this.$emit('onChose')
  86. },
  87. // 转换类别
  88. typeFormat (row) {
  89. for (let i = 0; i < this.typeState.length; i++) {
  90. if (this.typeState[i].code === String(row.type)) {
  91. return this.typeState[i].value
  92. }
  93. }
  94. },
  95. // 转换币种
  96. // 转换属性“级别”
  97. currencyFormat (row) {
  98. for (let i = 0; i < this.currencyType.length; i++) {
  99. if (this.currencyType[i].code === String(row.currency)) {
  100. return this.currencyType[i].value
  101. }
  102. }
  103. },
  104. async init (id) {
  105. this.visible = true
  106. this.id = id || 0
  107. // await getSupplierNameList().then(({data}) => {
  108. // if (data && data.code === '200') {
  109. // this.optionsCus = data.data
  110. // }
  111. // })
  112. if (!id) return
  113. await getPurchaseInvoiceDetail(this.id).then(({data}) => {
  114. if (data && data.code === '200') {
  115. this.dataForm = data.data
  116. // 文件列表
  117. this.fileList = []
  118. if (data.data.attachList) {
  119. data.data.attachList.forEach((item) => {
  120. this.fileList.push({
  121. name: item.fileName,
  122. url: item.url,
  123. id: item.url
  124. })
  125. })
  126. }
  127. }
  128. })
  129. }
  130. }
  131. }
  132. </script>
  133. <style scoped>
  134. .my-line{
  135. border-bottom: 1px solid #c0c4cc;
  136. margin-bottom: 10px;
  137. }
  138. .title{
  139. padding: 10px 0 ;
  140. }
  141. </style>