detailDialog.vue 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <el-dialog title="车位详情" v-model="showDialog" width="800px">
  3. <el-descriptions
  4. class="margin-top"
  5. :title="data.parkingNumber"
  6. :column="3"
  7. border
  8. >
  9. <el-descriptions-item width="250" label="区县">
  10. {{ data.districtName }}
  11. </el-descriptions-item>
  12. <el-descriptions-item width="250" label="小区">
  13. {{ data.communityName }}
  14. </el-descriptions-item>
  15. <el-descriptions-item width="250" label="车位类型">
  16. {{ data.parkingType == 1 ? "车库" : "车位" }}
  17. </el-descriptions-item>
  18. <el-descriptions-item label="面积">
  19. {{ data.area }}
  20. </el-descriptions-item>
  21. <el-descriptions-item label="售卖方式">
  22. <el-tag style="margin: 0px 3px" v-if="data.isSale==1">出售</el-tag>
  23. <el-tag style="margin: 0px 3px" v-if="data.isHire==1">出租</el-tag>
  24. </el-descriptions-item>
  25. <el-descriptions-item label="售价">
  26. {{ data.isSale == 1 ? data.salePrice : "-" }}
  27. </el-descriptions-item>
  28. <el-descriptions-item label="租金">
  29. {{ data.isHire == 1 ? data.hirePrice : "-" }}
  30. </el-descriptions-item>
  31. <el-descriptions-item label="销售情况">
  32. <el-tag type="info" style="margin: 0px 3px" v-if="data.isSale==1&&data.saleStatus==1">已售</el-tag>
  33. <el-tag type="success" style="margin: 0px 3px" v-if="data.isSale==1&&data.saleStatus==0">待售</el-tag>
  34. <el-tag type="info" style="margin: 0px 3px" v-if="data.isHire==1&&data.hireStatus==1">已租</el-tag>
  35. <el-tag type="success" style="margin: 0px 3px" v-if="data.isHire==1&&data.hireStatus==0">待租</el-tag>
  36. </el-descriptions-item>
  37. <el-descriptions-item label="地图标记">
  38. {{ data.mapId == 0 ? "未标记" : "已标记" }}
  39. </el-descriptions-item>
  40. </el-descriptions>
  41. <parkingView v-if="data.mapId !=0" ref="parkingViewRef" style="margin-top: 20px" :imgUrl="data.mapUrl"
  42. :mapId="data.mapId"
  43. :value="[data]"></parkingView>
  44. </el-dialog>
  45. </template>
  46. <script setup>
  47. import { ref } from "vue";
  48. import parkingView from "./parkingView.vue";
  49. let showDialog = ref(false);
  50. defineExpose({
  51. open
  52. });
  53. let parkingViewRef = ref();
  54. let data = ref({});
  55. function open(event) {
  56. let e = Object.assign({}, event);
  57. e.mapUrl = e.mapUrl ? JSON.parse(e.mapUrl)[0] : "";
  58. data.value = e;
  59. showDialog.value = true;
  60. setTimeout(() => {
  61. if (data.value.mapId != 0) {
  62. parkingViewRef.value.setImgSize(e.mapUrl);
  63. console.log(123);
  64. }
  65. }, 100);
  66. }
  67. </script>
  68. <style scoped>
  69. </style>