Detail.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <template>
  2. <uni-popup ref="popup" type="top">
  3. <uni-section type="line" :title="type==='dl'?'地质灾害点详情':'水库淤堤坝详情'">
  4. <template v-slot:right>
  5. <uni-icons type="closeempty" size="24" color="#999" @click="close"></uni-icons>
  6. </template>
  7. </uni-section>
  8. <view class="detail-cont">
  9. <uni-list >
  10. <uni-list-item :rightText="viewData.groupName" title ="监管单位" ></uni-list-item>
  11. <uni-list-item :rightText="viewData.entName" title ="企业单位" ></uni-list-item>
  12. <uni-list-item :rightText="viewData.dangerTitle" title ="隐患名称"></uni-list-item>
  13. <uni-list-item :rightText="viewData.dangerCatTitle" title ="分类" ></uni-list-item>
  14. <uni-list-item :rightText="formatDangerLevel(viewData.dangerLevel)" title ="经营范围"></uni-list-item>
  15. <uni-list-item :rightText="viewData.dangerLocation" title ="发现位置" v-if="viewData.dangerLocation"></uni-list-item>
  16. <view class="attach-list-item" v-if="viewData.attachList&&viewData.attachList.length>0">
  17. <view class="title">现场照片</view>
  18. <view class="attachbox">
  19. <view class="attach" v-for="(attach, index) in viewData.attachList" :key="index" @click="preview(viewData.attachList)">
  20. <image :src="attach.attachUrl"></image>
  21. </view>
  22. </view>
  23. </view>
  24. <uni-list-item :note="viewData.dangerDesc" title ="隐患描述" v-if="viewData.dangerDesc"></uni-list-item>
  25. <uni-list-item :note="viewData.submitRemark" title ="登记说明" v-if="viewData.submitRemark"></uni-list-item>
  26. <uni-list-item :rightText="viewData.dangerDeadLine" title ="整改期限" v-if="viewData.dangerDeadLine"></uni-list-item>
  27. <uni-list-item :rightText="viewData.rectifyTime" title ="整改时间" v-if="viewData.rectifyTime"></uni-list-item>
  28. <uni-list-item :note="viewData.dangerReason" title ="原因分析" v-if="viewData.dangerReason"></uni-list-item>
  29. <uni-list-item :rightText="viewData.rectifyMeasure" title ="整改措施" v-if="viewData.rectifyMeasure"></uni-list-item>
  30. <uni-list-item :rightText="formatRectifyCat(viewData.rectifyCat)" title ="整改方式" v-if="viewData.rectifyCat"></uni-list-item>
  31. <uni-list-item :note="viewData.rectifyRemark" title ="整改说明" v-if="viewData.rectifyRemark"></uni-list-item>
  32. <uni-list-item :rightText="viewData.acceptTime" title ="验收时间" v-if="viewData.acceptTime"></uni-list-item>
  33. <uni-list-item :note="viewData.acceptRemark" title ="验收说明" v-if="viewData.acceptRemark"></uni-list-item>
  34. </uni-list>
  35. </view>
  36. </uni-popup>
  37. </template>
  38. <script>
  39. import dangerApi from '@/api/danger.js'
  40. export default{
  41. name:"DisasteDetail",
  42. props:{
  43. type:{
  44. type:[String,Number],
  45. default:'dl'
  46. }
  47. },
  48. data(){
  49. return{
  50. viewData:{
  51. entId: undefined,
  52. dangerId: 0,
  53. dangerCatId: 1,
  54. dangerCatTitle: '',
  55. dangerTitle: '',
  56. dangerCode: '',
  57. dangerLocation: '',
  58. dangerLevel: 2,
  59. dangerDesc: '',
  60. submitTime: '',
  61. submitRemark: '',
  62. dangerDeadLine: '',
  63. rectifyTime: '',
  64. dangerReason: '',
  65. rectifyCat: 1,
  66. rectifyRemark: '',
  67. acceptTime: '',
  68. acceptRemark: '',
  69. finishTime: '',
  70. status: 0,
  71. attachList: []
  72. }
  73. }
  74. },
  75. methods:{
  76. formatDangerLevel(val){
  77. let dangerLevelOptions=['末知','重大','较大','一般','较小'];
  78. return dangerLevelOptions[val]
  79. },
  80. formatRectifyCat(val){
  81. let dangerLevelOptions=['自行整改','外协整改'];
  82. return dangerLevelOptions[val]
  83. },
  84. show(item){
  85. this.$refs.popup.open('bottom')
  86. dangerApi.getById(item.dangerId).then((res)=>{
  87. this.viewData={...res.data}
  88. })
  89. },
  90. preview(urls=[]){
  91. if(urls.length>0){
  92. urls=urls.map(item=>item.attachUrl);
  93. uni.previewImage({
  94. urls
  95. })
  96. }
  97. },
  98. close(){
  99. this.$refs.popup.close()
  100. }
  101. }
  102. }
  103. </script>
  104. <style lang="scss" scoped>
  105. .detail-cont{
  106. &{
  107. max-height: 80vh;
  108. overflow-y: auto;
  109. }
  110. .attach-list-item{
  111. padding: 13px 20rpx;
  112. .title{
  113. font-size: 14px;
  114. color: #3b4144;
  115. overflow: hidden;
  116. line-height: 1;
  117. padding-bottom: 20rpx;
  118. }
  119. .attachbox{
  120. display: flex;
  121. flex-wrap: wrap;
  122. .attach{
  123. padding: 20rpx;
  124. image{
  125. display: block;
  126. width: 100rpx;
  127. height: 100rpx;
  128. box-shadow: rgba(0,0,0,0.6);
  129. border: 1rpx solid #ccc;
  130. border-radius: 10px;
  131. overflow: hidden;
  132. }
  133. }
  134. }
  135. }
  136. }
  137. </style>