StorageInfo.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <template>
  2. <view class="storage-info">
  3. <view class="info-card">
  4. <view class="info-row" style="border: 0">
  5. <text class="label">库区名称:</text>
  6. <text class="value">{{ kqxx.kqmc || "-" }}</text>
  7. </view>
  8. <view class="info-row">
  9. <text class="label">所属企业:</text>
  10. <text class="value">{{ kqxx.dwmc || "-" }}</text>
  11. </view>
  12. <view class="info-row">
  13. <text class="label">统一社会信用代码:</text>
  14. <text class="value">{{ kqxx.tyxydm || "-" }}</text>
  15. </view>
  16. <view class="info-row">
  17. <text class="label">库区性质:</text>
  18. <text class="value">{{ filterXZ(kqxx.qyxz) || "-" }}</text>
  19. </view>
  20. <view class="info-row">
  21. <text class="label">库区地址:</text>
  22. <text class="value">{{ kqxx.jtdz || "-" }}</text>
  23. </view>
  24. <view class="info-row">
  25. <text class="label">库区负责人:</text>
  26. <text class="value">{{ kqxx.kqfzr || "-" }}</text>
  27. </view>
  28. <view class="info-row">
  29. <text class="label">库区联系方式:</text>
  30. <text class="value">{{ kqxx.lxdh || "-" }}</text>
  31. </view>
  32. </view>
  33. <view class="info-card" style="margin-top: 20rpx">
  34. <view class="info-row" style="border: 0">
  35. <text class="label">占地面积(㎡):</text>
  36. <text class="value">{{ kqxx.zdmj || "-" }}</text>
  37. </view>
  38. <view class="info-row">
  39. <text class="label">经度:</text>
  40. <text class="value">{{ kqxx.jd || "-" }}</text>
  41. </view>
  42. <view class="info-row">
  43. <text class="label">纬度:</text>
  44. <text class="value">{{ kqxx.wd || "-" }}</text>
  45. </view>
  46. <view class="info-row">
  47. <text class="label">库区图:</text>
  48. <image
  49. @click="handleImageClick(kqxx.resid)"
  50. class="storage-image"
  51. :src="kqxx.resid"
  52. mode="aspectFit"
  53. />
  54. </view>
  55. </view>
  56. <!-- margin预留空间不生效, 添加空的view元素 -->
  57. <view style="height: 140rpx"></view>
  58. </view>
  59. </template>
  60. <script>
  61. import { getKqxxByKqId } from "@/api/task";
  62. import { getDictOptions, DICT_TYPE } from "@/utils/dict.js";
  63. export default {
  64. name: "StorageInfo",
  65. props: {
  66. taskInfo: {
  67. type: Object, // 根据实际数据类型调整
  68. default: () => ({}), // 默认值
  69. },
  70. },
  71. data() {
  72. return {
  73. kqxx: {},
  74. qyxzList: [],
  75. };
  76. },
  77. async mounted() {
  78. this.qyxzList = await getDictOptions(DICT_TYPE.SYSTEM_QYXZ);
  79. this.getStorageInfo();
  80. },
  81. methods: {
  82. filterXZ(value) {
  83. return this.qyxzList.find((item) => item.value == value)?.label;
  84. },
  85. // 图片预览
  86. handleImageClick(url) {
  87. uni.previewImage({
  88. urls: [url],
  89. });
  90. },
  91. getStorageInfo() {
  92. getKqxxByKqId({
  93. kqId: this.taskInfo.kqId,
  94. }).then((res) => {
  95. if (res.code === 0) {
  96. this.kqxx = res.data;
  97. } else {
  98. uni.showToast({
  99. title: res.msg || "获取任务列表失败",
  100. icon: "none",
  101. });
  102. }
  103. });
  104. },
  105. handleVerify(isPassed) {
  106. // 处理验证结果
  107. console.log("库区信息验证结果:", isPassed);
  108. },
  109. },
  110. };
  111. </script>
  112. <style lang="scss" scoped>
  113. .storage-info {
  114. padding: 20rpx;
  115. height: 100%;
  116. overflow: auto;
  117. .info-card {
  118. background-color: #fff;
  119. border-radius: 10rpx;
  120. padding: 20rpx;
  121. box-shadow: 0 4rpx 10rpx rgba(0, 0, 0, 0.1);
  122. .info-row {
  123. display: flex;
  124. align-items: center;
  125. padding: 20rpx 0 20rpx 0;
  126. justify-content: space-between;
  127. border-top: 1rpx solid #eee;
  128. .label {
  129. color: #666;
  130. font-size: 28rpx;
  131. }
  132. .value {
  133. color: #000;
  134. font-size: 28rpx;
  135. }
  136. }
  137. .storage-image {
  138. width: 400rpx !important;
  139. height: 200rpx !important;
  140. border: 1px solid rgba(0, 0, 0, 0.1);
  141. }
  142. }
  143. }
  144. </style>