ContractDetailsHeader.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <!-- 合同详情头部组件-->
  2. <template>
  3. <div>
  4. <div class="flex items-start justify-between">
  5. <div>
  6. <el-col>
  7. <el-row>
  8. <span class="text-xl font-bold">{{ contract.name }}</span>
  9. </el-row>
  10. </el-col>
  11. </div>
  12. <div>
  13. <!-- 右上:按钮 -->
  14. <slot></slot>
  15. </div>
  16. </div>
  17. </div>
  18. <ContentWrap class="mt-10px">
  19. <el-descriptions :column="5" direction="vertical">
  20. <el-descriptions-item label="客户名称">
  21. {{ contract.customerName }}
  22. </el-descriptions-item>
  23. <el-descriptions-item label="合同金额(元)">
  24. {{ erpPriceInputFormatter(contract.totalPrice) }}
  25. </el-descriptions-item>
  26. <el-descriptions-item label="下单时间">
  27. {{ formatDate(contract.orderDate) }}
  28. </el-descriptions-item>
  29. <el-descriptions-item label="回款金额(元)">
  30. {{ erpPriceInputFormatter(contract.totalReceivablePrice) }}
  31. </el-descriptions-item>
  32. <el-descriptions-item label="负责人">
  33. {{ contract.ownerUserName }}
  34. </el-descriptions-item>
  35. </el-descriptions>
  36. </ContentWrap>
  37. </template>
  38. <script lang="ts" setup>
  39. import * as ContractApi from '@/api/crm/contract'
  40. import { formatDate } from '@/utils/formatTime'
  41. import { erpPriceInputFormatter } from '@/utils'
  42. defineOptions({ name: 'ContractDetailsHeader' })
  43. defineProps<{ contract: ContractApi.ContractVO }>()
  44. </script>