warehouseInfo.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <template>
  2. <view class="content">
  3. <!-- 第一个信息框 -->
  4. <view class="base-info-box">
  5. <info-item isFirst="true" label="库区名称" :value="kqInfo.kqmc" />
  6. <info-item label="所属企业" :value="kqInfo.dwmc" />
  7. <info-item label="统一社会信用代码" :value="kqInfo.tyxydm" />
  8. <info-item label="企业性质" :value="filterXZ(kqInfo.qyxz)" />
  9. <info-item label="库区地址" :value="kqInfo.jtdz" />
  10. <info-item label="库区负责人" :value="kqInfo.kqfzr" />
  11. <info-item label="库区联系方式" :value="kqInfo.lxdh" />
  12. </view>
  13. <!-- 第二个信息框 -->
  14. <view class="base-info-box">
  15. <info-item isFirst="true" label="占地面积(m²)" :value="kqInfo.zdmj" />
  16. <info-item label="经度" :value="kqInfo.jd" />
  17. <info-item label="纬度" :value="kqInfo.wd" />
  18. <!-- <info-item isImage="true" label="库区图" :value="kqInfo.resid" /> -->
  19. <view class="info-item-component">
  20. <text class="label">库区图</text>
  21. <view class="images-container">
  22. <image
  23. @click="previewImage(src)"
  24. v-for="(src, index) in kqInfo.resid.split(',')"
  25. :key="index"
  26. class="kqt-image"
  27. :src="src"
  28. />
  29. </view>
  30. </view>
  31. </view>
  32. </view>
  33. </template>
  34. <script setup>
  35. import { ref, onMounted, toRaw } from "vue";
  36. import { dictData } from "@/api/user";
  37. import InfoItem from "@/pages/components/InfoItem.vue";
  38. const props = defineProps(["kqInfo"]);
  39. const imageSources = ref([]);
  40. // 初始化拿字典数据
  41. const qyxzList = ref([]);
  42. onMounted(() => {
  43. dictData("system_qyxz").then((res) => {
  44. qyxzList.value = res.data;
  45. });
  46. // imageSources.value =
  47. });
  48. const filterXZ = (value) => {
  49. return qyxzList.value.find((item) => item.value === value)?.label;
  50. };
  51. const previewImage = (url) => {
  52. uni.previewImage({
  53. urls: [url],
  54. });
  55. };
  56. </script>
  57. <style lang="scss" scoped>
  58. .content {
  59. padding: 20rpx;
  60. }
  61. .base-info-box {
  62. background: #ffffff;
  63. border-radius: 20rpx;
  64. margin-bottom: 40rpx;
  65. padding: 20rpx;
  66. }
  67. .info-item-component {
  68. display: flex;
  69. justify-content: space-between;
  70. align-items: center;
  71. padding: 30rpx 0;
  72. border-top: 1px solid #e5e9ed;
  73. }
  74. .label {
  75. font-weight: bold;
  76. color: #777777;
  77. }
  78. .value {
  79. flex: 1;
  80. text-align: right;
  81. color: #0f2239;
  82. font-weight: 600;
  83. }
  84. .images-container {
  85. max-width: 50%;
  86. display: flex;
  87. flex-direction: column;
  88. align-items: center;
  89. .kqt-image {
  90. max-width: 100%;
  91. margin-bottom: 10rpx;
  92. }
  93. }
  94. </style>