rescueStationView.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <template>
  2. <div class="common-dialog">
  3. <div class="common-dialog-content">
  4. <div class="common-dialog-title-box">
  5. <h3 class="common-dialog-title">查看详情</h3>
  6. </div>
  7. <div class="common-dialog-box">
  8. <el-form ref="form" :model="formData" label-width="auto" class="custom-disabled">
  9. <el-form-item label="救助站名称:" prop="fwdmc">
  10. <el-input v-model="formData.fwdmc" style="width: 468px !important" disabled />
  11. </el-form-item>
  12. <el-form-item label="服务对象:" prop="fwdx">
  13. <el-input v-model="formData.fwdx" style="width: 468px !important" disabled />
  14. </el-form-item>
  15. <el-form-item label="所属区县:" prop="ssqx">
  16. <el-input v-model="formData.ssqx" style="width: 468px !important" disabled />
  17. </el-form-item>
  18. <el-form-item label="所属镇街:" prop="zj">
  19. <el-input v-model="formData.zj" style="width: 468px !important" disabled />
  20. </el-form-item>
  21. <el-form-item label="服务内容:" prop="fwnr">
  22. <el-input v-model="formData.fwnr" style="width: 468px !important" disabled />
  23. </el-form-item>
  24. <el-form-item label="操作方式:" prop="cd_operation">
  25. <el-input v-model="formData.cd_operation" style="width: 468px !important" disabled />
  26. </el-form-item>
  27. <el-form-item label="救助站类型:" prop="fwdlx">
  28. <el-input v-model="formData.fwdlx" style="width: 468px !important" disabled />
  29. </el-form-item>
  30. <el-form-item label="联系电话:" prop="lxdh">
  31. <el-input v-model="formData.lxdh" style="width: 468px !important" disabled />
  32. </el-form-item>
  33. <el-form-item label="开放时间:" prop="kfsj">
  34. <el-input v-model="formData.kfsj" style="width: 468px !important" disabled />
  35. </el-form-item>
  36. <el-form-item label="经度:" prop="lng">
  37. <el-input v-model="formData.lng" style="width: 468px !important" disabled />
  38. </el-form-item>
  39. <el-form-item label="纬度:" prop="lat">
  40. <el-input v-model="formData.lat" style="width: 468px !important" disabled />
  41. </el-form-item>
  42. <el-form-item label="救助站简介:" prop="fwdjj">
  43. <el-input v-model="formData.fwdjj" style="width: 468px !important" disabled />
  44. </el-form-item>
  45. <el-form-item label="联系人:" prop="lxr">
  46. <el-input v-model="formData.lxr" style="width: 468px !important" disabled />
  47. </el-form-item>
  48. <el-form-item label="更新时间:" prop="cd_time">
  49. <el-input v-model="formData.cd_time" style="width: 468px !important" disabled />
  50. </el-form-item>
  51. <el-form-item label="服务点状态:" prop="fwdzt">
  52. <el-input v-model="formData.fwdzt" style="width: 468px !important" disabled />
  53. </el-form-item>
  54. <el-form-item label="服务点地址:" prop="fwdaddr">
  55. <el-input v-model="formData.fwdaddr" style="width: 468px !important" disabled />
  56. </el-form-item>
  57. </el-form>
  58. <div class="common-dialog-footer">
  59. <el-button type="primary" @click="closeDialog">返回</el-button>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. </template>
  65. <script setup lang="ts">
  66. import { ref, onMounted } from 'vue';
  67. import { ElMessage } from 'element-plus';
  68. import { getStation } from '@/api/comprehensiveGuarantee/reliefResourceManagement/rescueStation';
  69. import { parseTime } from '@/utils/ruoyi';
  70. const emits = defineEmits(['close']);
  71. const props = defineProps<{
  72. eventId: string | number;
  73. }>();
  74. const formData = ref({
  75. name: '',
  76. type: '',
  77. county: '',
  78. town: '',
  79. address: '',
  80. contacts: '',
  81. phone: '',
  82. open_time: '',
  83. update_time: '',
  84. id: ''
  85. });
  86. const closeDialog = () => {
  87. emits('close');
  88. };
  89. const fetchStationData = async () => {
  90. const response = await getStation(props.eventId);
  91. if (response.code === 200) {
  92. response.station.cd_time = parseTime(response.station.cd_time);
  93. response.station.kfsj = formatTimeRange(response.station.kfsj);
  94. formData.value = response.station;
  95. } else {
  96. ElMessage.error('未找到相关数据');
  97. }
  98. };
  99. const formatTimeRange = (timeStr) => {
  100. // 使用正则表达式匹配小时部分并去除前导零(仅当小时为单个数字时)
  101. return timeStr.replace(/(^|-)0([1-9]):/g, '$1$2:');
  102. }
  103. onMounted(() => {
  104. fetchStationData();
  105. });
  106. </script>
  107. <style scoped>
  108. .custom-disabled {
  109. :deep(.el-select__wrapper.is-disabled),
  110. :deep(.el-input__wrapper) {
  111. background-color: #ffffff !important;
  112. }
  113. :deep(.el-select__wrapper.is-disabled .el-select__selected-item),
  114. :deep(.el-input__inner) {
  115. color: rgba(0, 0, 0, 0.85) !important;
  116. -webkit-text-fill-color: rgba(0, 0, 0, 0.85) !important;
  117. }
  118. }
  119. </style>