dataDetail.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <template>
  2. <view class="data-detail detail">
  3. <house-items :house="detail" v-if="detail.id"></house-items>
  4. <view class="detail-box">
  5. <view class="sub-title">
  6. <uni-icons class="inherit-icons" type="icon-hetongwendang" custom-prefix="iconfont" color="#08979c"
  7. size="26">
  8. </uni-icons>
  9. <text class="sub-label">房源合同</text>
  10. </view>
  11. <view class="other-list">
  12. <mescroll-empty :option="{tip:'暂未签订合同'}" v-if="contract.length === 0"></mescroll-empty>
  13. <view class="other">
  14. <view class="contarct-item hui-ellipsis" v-for="(item,index) in contract" :key="item.id"
  15. @click="$navigateTo('/pages/contractDetail/contractDetail?contractId='+item.id)">
  16. <view class="contarct-content">
  17. <view class="content-item content-title">{{item.code}}</view>
  18. <view class="content-item right">
  19. <view class="status-tag info" v-if="!item.status">待发送</view>
  20. <view class="status-tag warning" v-else-if="item.status === 1">待确认</view>
  21. <view class="status-tag success" v-else-if="item.status === 2">已生效</view>
  22. </view>
  23. </view>
  24. <view class="contarct-content last">
  25. <view class="content-item">
  26. <view class="content-label">出租方:</view>
  27. <view class="content-value hui-ellipsis">{{item.organizationName}}</view>
  28. </view>
  29. <view class="content-item right">
  30. <view class="content-label">租赁方:</view>
  31. <view class="content-value hui-ellipsis">
  32. {{item.tenantType === 1 ? item.merchantName: item.clientName}}
  33. </view>
  34. </view>
  35. </view>
  36. </view>
  37. </view>
  38. </view>
  39. </view>
  40. <view class="detail-box">
  41. <view class="sub-title">
  42. <uni-icons class="inherit-icons" type="icon-weixiugongdan" custom-prefix="iconfont" color="#08979c"
  43. size="26">
  44. </uni-icons>
  45. <text class="sub-label">房源工单</text>
  46. </view>
  47. <view class="other-list">
  48. <mescroll-empty :option="{tip:'暂未有工单数据'}" v-if="order.length === 0"></mescroll-empty>
  49. <view class="other">
  50. <view class="contarct-item hui-ellipsis" v-for="(item,index) in order" :key="item.id"
  51. @click="$navigateTo('/pages/orderDetail/orderDetail?orderId='+item.id)">
  52. <view class="contarct-content">
  53. <view class="content-item content-title">{{item.name}}</view>
  54. <view class="content-item right">
  55. <view class="status-tag info" v-if="!item.status">待提交</view>
  56. <view class="status-tag primary" v-else-if="item.status === 1">待处理</view>
  57. <view class="status-tag warning" v-else-if="item.status === 2">处理中</view>
  58. <view class="status-tag success" v-else>已处理</view>
  59. </view>
  60. </view>
  61. <view class="contarct-content last">
  62. <view class="content-item">
  63. <view class="content-label">跟进者:</view>
  64. <view class="content-value hui-ellipsis">{{item.followUpPersonName || '-'}}</view>
  65. </view>
  66. <view class="content-item right">
  67. <view class="content-label">租客:</view>
  68. <view class="content-value hui-ellipsis">
  69. {{(item.tenantType === 1 ? item.merchantName: item.clientName) || '-'}}
  70. </view>
  71. </view>
  72. </view>
  73. </view>
  74. </view>
  75. </view>
  76. </view>
  77. </view>
  78. </template>
  79. <script>
  80. import houseItems from "@/components/house/houseItems.vue";
  81. import {
  82. getHouseDetailById
  83. } from '@/request/api/house.js'
  84. import {
  85. getContractList
  86. } from '@/request/api/contract.js'
  87. import {
  88. getOrderPageListByQuery
  89. } from '@/request/api/order.js'
  90. export default {
  91. data() {
  92. return {
  93. houseId: '',
  94. detail: {},
  95. contract: [],
  96. order: []
  97. }
  98. },
  99. onLoad(body) {
  100. if (body.houseId) this.houseId = body.houseId;
  101. this.init();
  102. },
  103. components: {
  104. houseItems
  105. },
  106. methods: {
  107. init() {
  108. getHouseDetailById(this.houseId).then(res => {
  109. if (res.code === 200) {
  110. this.detail = res.data;
  111. this.getContract();
  112. this.getOrder();
  113. }
  114. })
  115. },
  116. getContract() {
  117. getContractList({
  118. projectItemTargetRoomIds: this.houseId
  119. }).then(res => {
  120. if (res.code === 200) {
  121. this.contract = res.data;
  122. }
  123. })
  124. },
  125. getOrder() {
  126. getOrderPageListByQuery({
  127. currPage: 1,
  128. pageSize: 100,
  129. projectItemTargetRoomIds: this.houseId
  130. }).then(res => {
  131. if (res.code === 200) {
  132. this.order = res.data.dataList;
  133. }
  134. })
  135. }
  136. }
  137. }
  138. </script>
  139. <style lang="scss">
  140. .data-detail {
  141. // padding: 30rpx;
  142. }
  143. </style>