communicate-detail.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <template>
  2. <el-dialog
  3. title="查看"
  4. width="70%"
  5. :close-on-click-modal="false"
  6. :visible.sync="visible">
  7. <div style="margin-left: 20px;margin-right: 20px">
  8. <e-desc title="基本信息" column="3">
  9. <e-desc-item label="沟通编码">{{dataForm.coCode}}</e-desc-item>
  10. <e-desc-item label="客户名称">{{dataForm.customerName}}</e-desc-item>
  11. <e-desc-item label="联系人">{{dataForm.bizManagerName}}</e-desc-item>
  12. <e-desc-item label="沟通类别">{{dataForm.coType}}</e-desc-item>
  13. <e-desc-item label="备注说明" span="2">{{dataForm.notes}}</e-desc-item>
  14. </e-desc>
  15. <e-desc title="订单产品明细">
  16. <el-table
  17. :data="cusRCommProductVOS"
  18. border
  19. style="width: 100%;">
  20. <el-table-column
  21. label="序号"
  22. type="index"
  23. width="50"
  24. align="center">
  25. </el-table-column>
  26. <el-table-column
  27. prop="productName"
  28. header-align="center"
  29. align="center"
  30. label="产品名称">
  31. </el-table-column>
  32. <el-table-column
  33. prop="cnt"
  34. header-align="center"
  35. align="center"
  36. label="数量">
  37. </el-table-column>
  38. <el-table-column
  39. prop="price"
  40. header-align="center"
  41. align="center"
  42. label="含税单价">
  43. </el-table-column>
  44. <el-table-column
  45. prop="amount"
  46. header-align="center"
  47. align="center"
  48. label="含税总价">
  49. <template slot-scope="scope">
  50. <span>{{ (scope.row.cnt*scope.row.price).toFixed(2) }}</span>
  51. </template>
  52. </el-table-column>
  53. <el-table-column
  54. prop="rate"
  55. header-align="center"
  56. align="center"
  57. label="税率">
  58. <template slot-scope="scope">
  59. <span>
  60. {{scope.row.rate}} %
  61. </span>
  62. </template>
  63. </el-table-column>
  64. <el-table-column
  65. prop="notes"
  66. header-align="center"
  67. align="center"
  68. label="备注">
  69. </el-table-column>
  70. </el-table>
  71. </e-desc>
  72. </div>
  73. <span slot="footer" class="dialog-footer">
  74. <el-button @click="visible = false">返回</el-button>
  75. </span>
  76. </el-dialog>
  77. </template>
  78. <script>
  79. import EDesc from '../common/e-desc'
  80. import EDescItem from '../common/e-desc-item'
  81. import { getCoDetail } from '@/api/cus'
  82. export default {
  83. name: 'communicate-detail',
  84. components: {
  85. EDesc, EDescItem
  86. },
  87. data () {
  88. return {
  89. visible: false,
  90. id: 0,
  91. dataForm: {},
  92. cusRCommProductVOS: [],
  93. fileList: []
  94. }
  95. },
  96. methods: {
  97. async init (id) {
  98. this.visible = true
  99. this.id = id || 0
  100. this.cusRCommProductVOS = []
  101. this.getDetails()
  102. },
  103. getDetails () {
  104. getCoDetail(this.id).then(({data}) => {
  105. if (data && data.code === '200') {
  106. this.dataForm = data.data
  107. // 附件显示
  108. this.fileList = []
  109. data.data.attachList.forEach((item) => {
  110. this.fileList.push({
  111. name: item.fileName,
  112. url: item.url,
  113. id: item.url
  114. })
  115. })
  116. if (data.data.cusRCommProductVOS) {
  117. data.data.cusRCommProductVOS.forEach((item) => {
  118. this.cusRCommProductVOS.push({
  119. cnt: item.cnt,
  120. price: item.price,
  121. productId: item.productId,
  122. rate: item.rate,
  123. productName: item.productName,
  124. notes: item.notes
  125. })
  126. })
  127. }
  128. }
  129. })
  130. }
  131. }
  132. }
  133. </script>
  134. <style scoped>
  135. .my-line{
  136. border-bottom: 1px solid #c0c4cc;
  137. margin-bottom: 10px;
  138. }
  139. .title{
  140. padding: 10px 0 ;
  141. }
  142. </style>