index.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <div class="alarm-overlay">
  3. <AlertModal
  4. v-if="pageType == 1"
  5. :AlertModalData="AlertModalData"
  6. @close="$emit('close')"/>
  7. <emergency
  8. v-if="pageType == 2"
  9. :alarmData="alarmData"
  10. @close="$emit('close')"
  11. />
  12. </div>
  13. </template>
  14. <script>
  15. import AlertModal from './AlertModal.vue'
  16. import emergency from './emergency.vue'
  17. export default {
  18. name: 'AlarmWindow',
  19. components: { AlertModal,emergency },
  20. props: {
  21. alarmData: {
  22. type: Object,
  23. default: () => ({})
  24. }
  25. },
  26. data(){
  27. return{
  28. AlertModalData:{},
  29. pageType:0,
  30. }
  31. },
  32. mounted(){
  33. this.emergencyButton(1);
  34. },
  35. methods: {
  36. emergencyButton(val){
  37. if(val == 1){
  38. const e = this.alarmData;
  39. console.log('e',e)
  40. const obj = e.triggerUploadData[0];
  41. const deviceValue = obj.deviceValue;
  42. const unit = obj.unit;
  43. this.$set(this,'AlertModalData',{
  44. lab: e.subName + (e.roomNum ? `(${e.roomNum})` : ''),
  45. building: [e.schoolName, e.buildName, e.floorName].filter(Boolean).join(' · '),
  46. unit: e.deptName,
  47. param: e.eventName,
  48. value: obj.source == 'kunyun'?'--':(deviceValue+''+(unit=='-'?'':unit)),
  49. person: e.adminName,
  50. phone: e.adminPhone,
  51. time: e.eventStartTime ? e.eventStartTime.replace('T', ' ') : '',
  52. buildId:e.buildId,
  53. floorId:e.floorId,
  54. subId:e.subId,
  55. eventId:e.eventId,
  56. })
  57. // this.$refs.alertModal.show({
  58. // lab: e.subName + (e.roomNum ? `(${e.roomNum})` : ''),
  59. // building: [e.schoolName, e.buildName, e.floorName].filter(Boolean).join(' · '),
  60. // unit: e.deptName,
  61. // param: e.eventName,
  62. // value: deviceValue+''+(unit=='-'?'':unit),
  63. // person: e.adminName,
  64. // phone: e.adminPhone,
  65. // time: e.eventStartTime ? e.eventStartTime.replace('T', ' ') : '',
  66. // buildId:e.buildId,
  67. // floorId:e.floorId,
  68. // subId:e.subId,
  69. // })
  70. this.$set(this,'pageType',val);
  71. }else if(val == 2){
  72. this.$set(this,'pageType',val);
  73. }
  74. },
  75. }
  76. }
  77. </script>
  78. <style lang="scss" scoped>
  79. .alarm-overlay {
  80. position: fixed;
  81. inset: 0;
  82. z-index: 100;
  83. display: flex;
  84. align-items: center;
  85. justify-content: center;
  86. background: rgba(0, 0, 0, 0.75);
  87. backdrop-filter: blur(4px);
  88. }
  89. </style>