dialog.detail.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <template>
  2. <div class="videoDaysDetail">
  3. <el-dialog title="录像天数详情" :visible.sync="isShow" width="1000px" :destroy-on-close="true">
  4. <el-descriptions :column="2" border>
  5. <el-descriptions-item label="组织机构" >{{data.orgName}}</el-descriptions-item>
  6. <el-descriptions-item label="上报时间" >{{data.updateTime}}</el-descriptions-item>
  7. <el-descriptions-item label="监控主机" >{{data.equipmentName}}</el-descriptions-item>
  8. <el-descriptions-item label="摄像头" >{{data.channelName}}</el-descriptions-item>
  9. <el-descriptions-item label="通道号" >{{data.channelCode}}</el-descriptions-item>
  10. <el-descriptions-item label="计划存储天数" >{{data.planDays}}</el-descriptions-item>
  11. <el-descriptions-item label="实际存储天数" >{{data.realDays}}</el-descriptions-item>
  12. <el-descriptions-item label="计划录像开始时间" >{{data.planStartTime}}</el-descriptions-item>
  13. <el-descriptions-item label="计划录像结束时间" >{{data.planEndTime}}</el-descriptions-item>
  14. </el-descriptions>
  15. <div class="time-line">
  16. <el-timeline :reverse="false">
  17. <el-timeline-item v-for="(activity, index) in data.loseDateList" :key="index" color="rgb(208 230 253)"
  18. size="large" type="primary">
  19. <div class="time">
  20. <div>
  21. <span class="year">
  22. {{ activity.month }}
  23. </span>
  24. </div>
  25. <!-- <div class="day">{{ activity.time.substring(0, 4) }}年</div> -->
  26. </div>
  27. <div class="ml10">
  28. <el-tag v-for="(date, number) in activity.lostDates" :key="number">
  29. <div>{{ date }}
  30. <div class="reTip">
  31. </div>
  32. </div>
  33. </el-tag>
  34. </div>
  35. </el-timeline-item>
  36. </el-timeline>
  37. </div>
  38. <div slot="footer" class="dialog-footer">
  39. <el-button @click="onHide">关闭</el-button>
  40. </div>
  41. </el-dialog>
  42. </div>
  43. </template>
  44. <script>
  45. export default {
  46. data() {
  47. return {
  48. isShow: false,
  49. data: {},
  50. id: null,
  51. };
  52. },
  53. methods: {
  54. async show(id) {
  55. this.id = id;
  56. //this.data = await this.$api.videoDaysCheck.one(id);
  57. this.isShow = true;
  58. },
  59. onHide() {
  60. this.isShow = false;
  61. },
  62. },
  63. };
  64. </script>
  65. <style lang="scss">
  66. .videoDaysDetail {
  67. .block {
  68. display: block;
  69. }
  70. .time-line {
  71. margin-top: 10px;
  72. margin-left: 80px;
  73. }
  74. .list-title {
  75. font-size: 16px;
  76. font-family: PingFangSC-Medium, PingFang SC;
  77. font-weight: 500;
  78. color: #181b1e;
  79. }
  80. .list-company {
  81. font-size: 14px;
  82. font-family: PingFangSC-Regular, PingFang SC;
  83. font-weight: 400;
  84. color: #2991ff;
  85. margin-top: 15px;
  86. margin-bottom: 15px;
  87. }
  88. .list-desc {
  89. font-size: 14px;
  90. font-family: PingFangSC-Regular, PingFang SC;
  91. font-weight: 400;
  92. color: #596878;
  93. }
  94. .el-tag--small {
  95. margin-bottom: 10px;
  96. }
  97. .reTip {
  98. display: block;
  99. background: #f00;
  100. border-radius: 50%;
  101. width: 4px;
  102. height: 4px;
  103. top: -21px;
  104. right: -26px;
  105. position: relative;
  106. z-index: 4;
  107. }
  108. //左侧时间
  109. .time {
  110. color: rgb(181 215 251);
  111. position: absolute;
  112. left: -35px;
  113. top: -1px;
  114. .year {
  115. font-size: 14px;
  116. font-family: PingFangSC-Regular, PingFang SC;
  117. font-weight: 400;
  118. color: #20354a;
  119. }
  120. .day {
  121. font-size: 14px;
  122. font-family: PingFangSC-Regular, PingFang SC;
  123. font-weight: 400;
  124. color: #596878;
  125. text-align: center;
  126. margin-top: 10px;
  127. }
  128. }
  129. }
  130. </style>