Detail.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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 ="发现位置"></uni-list-item>
  16. <uni-list-item title ="现场照片" v-if="viewData.attachList&&viewData.attachList.length>0">
  17. <view class="attachbox">
  18. <view class="attach" v-for="(attach, index) in viewData.attachList" :key="index" @click="preview(viewData.attachList)">
  19. <image :src="attach.attachUrl"></image>
  20. </view>
  21. </view>
  22. </uni-list-item>
  23. <uni-list-item :note="viewData.dangerDesc" title ="隐患描述" v-if="viewData.dangerDesc"></uni-list-item>
  24. <uni-list-item :note="viewData.submitRemark" title ="登记说明" v-if="viewData.submitRemark"></uni-list-item>
  25. <uni-list-item :rightText="viewData.dangerDeadLine" title ="整改期限" v-if="viewData.dangerDeadLine"></uni-list-item>
  26. <uni-list-item :rightText="viewData.rectifyTime" title ="整改时间" v-if="viewData.rectifyTime"></uni-list-item>
  27. <uni-list-item :note="viewData.dangerReason" title ="原因分析" v-if="viewData.dangerReason"></uni-list-item>
  28. <uni-list-item :rightText="viewData.rectifyMeasure" title ="整改措施" v-if="viewData.rectifyMeasure"></uni-list-item>
  29. <uni-list-item :rightText="formatRectifyCat(viewData.rectifyCat)" title ="整改方式" v-if="viewData.rectifyCat"></uni-list-item>
  30. <uni-list-item :note="viewData.rectifyRemark" title ="整改说明" v-if="viewData.rectifyRemark"></uni-list-item>
  31. <uni-list-item :rightText="viewData.acceptTime" title ="验收时间" v-if="viewData.acceptTime"></uni-list-item>
  32. <uni-list-item :note="viewData.acceptRemark" title ="验收说明" v-if="viewData.acceptRemark"></uni-list-item>
  33. </uni-list>
  34. </view>
  35. </uni-popup>
  36. </template>
  37. <script>
  38. export default{
  39. name:"DisasteDetail",
  40. props:{
  41. type:{
  42. type:[String,Number],
  43. default:'dl'
  44. }
  45. },
  46. data(){
  47. return{
  48. viewData:{
  49. entId: undefined,
  50. dangerId: 0,
  51. dangerCatId: 1,
  52. dangerCatTitle: '',
  53. dangerTitle: '',
  54. dangerCode: '',
  55. dangerLocation: '',
  56. dangerLevel: 2,
  57. dangerDesc: '',
  58. submitTime: '',
  59. submitRemark: '',
  60. dangerDeadLine: '',
  61. rectifyTime: '',
  62. dangerReason: '',
  63. rectifyCat: 1,
  64. rectifyRemark: '',
  65. acceptTime: '',
  66. acceptRemark: '',
  67. finishTime: '',
  68. status: 0,
  69. attachList: []
  70. }
  71. }
  72. },
  73. methods:{
  74. formatDangerLevel(val){
  75. let dangerLevelOptions=['末知','重大','较大','一般','较小'];
  76. return dangerLevelOptions[val]
  77. },
  78. formatRectifyCat(val){
  79. let dangerLevelOptions=['自行整改','外协整改'];
  80. return dangerLevelOptions[val]
  81. },
  82. show(item){
  83. this.$refs.popup.open('bottom')
  84. this.viewData={...item}
  85. },
  86. preview(urls=[]){
  87. if(urls.length>0){
  88. urls=urls.map(item=>item.attachUrl);
  89. uni.previewImage({
  90. urls
  91. })
  92. }
  93. },
  94. close(){
  95. this.$refs.popup.close()
  96. }
  97. }
  98. }
  99. </script>
  100. <style lang="scss" scoped>
  101. .detail-cont{
  102. &{
  103. max-height: 80vh;
  104. overflow-y: auto;
  105. }
  106. .attachbox{
  107. display: flex;
  108. flex-wrap: wrap;
  109. .attach{
  110. border: 1rpx solid #ccc;
  111. padding: 20rpx;
  112. box-shadow: rgba(0,0,0,0.6);
  113. border-radius: 10px;
  114. overflow: hidden;
  115. image{
  116. display: block;
  117. width: 200rpx;
  118. height: 200rpx;
  119. }
  120. }
  121. }
  122. }
  123. </style>