| | |
| | | <template> |
| | | <div class="history-module"> |
| | | <div class="title">历史报警</div> |
| | | <div class="history-item" |
| | | v-for="(item,index) in warnArrProcess" |
| | | :key="index"> |
| | | <warnDescription |
| | | :warnDes="{code:item.code, |
| | | time:item.time, |
| | | warn:item.warn}"/> |
| | | <div |
| | | class="button" |
| | | @click="process(item)">处理</div> |
| | | </div> |
| | | <processWarn |
| | | v-if="activeWarn" |
| | | :warnObj="activeWarn" |
| | | @close="close" |
| | | @save="save"/> |
| | | <div class="mask" v-if="activeWarn"/> |
| | | <div class="title">历史报警</div> |
| | | <div |
| | | class="history-item" |
| | | v-for="(item, index) in warnArrProcess" |
| | | :key="index" |
| | | > |
| | | <warnDescription |
| | | :warnDes="{ |
| | | code: item.device_sn, |
| | | time: item.updated_at, |
| | | warn: item.isLowBattery == 1 ? '低电量预警' : '实时抓拍预警', |
| | | }" |
| | | /> |
| | | <div class="button" @click="process(item)">处理</div> |
| | | </div> |
| | | <processWarn |
| | | v-if="activeWarn" |
| | | :warnObj="activeWarn" |
| | | @close="close" |
| | | @save="save" |
| | | /> |
| | | <div class="mask" v-if="activeWarn" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import warnDescription from '@/pages/internetEquipment/components/warnDescription' |
| | | import processWarn from '@/pages/internetEquipment/components/processWarn' |
| | | import warnDescription from "@/pages/internetEquipment/components/warnDescription"; |
| | | import processWarn from "@/pages/internetEquipment/components/processWarn"; |
| | | import { handleWarn } from "@/api/helemt"; |
| | | |
| | | export default { |
| | | data (){ |
| | | return { |
| | | activeWarn:null |
| | | } |
| | | data() { |
| | | return { |
| | | activeWarn: null, |
| | | }; |
| | | }, |
| | | props: { |
| | | warnArr: { |
| | | type: Array, |
| | | }, |
| | | props :{ |
| | | warnArr : { |
| | | type: Array |
| | | } |
| | | }, |
| | | components: { |
| | | warnDescription, |
| | | processWarn, |
| | | }, |
| | | computed: { |
| | | warnArrProcess() { |
| | | return this.warnArr.filter((item) => item.status != 1); |
| | | }, |
| | | components :{ |
| | | warnDescription, |
| | | processWarn |
| | | }, |
| | | methods: { |
| | | process(item) { |
| | | this.activeWarn = item; |
| | | }, |
| | | computed :{ |
| | | warnArrProcess(){ |
| | | return this.warnArr.filter(item=>!item.processed) |
| | | } |
| | | close() { |
| | | this.activeWarn = null; |
| | | }, |
| | | methods: { |
| | | process(item){ |
| | | this.activeWarn = item |
| | | }, |
| | | close(){ |
| | | this.activeWarn =null |
| | | }, |
| | | save(item) { |
| | | this.$set(item,'processed',true) |
| | | this.close() |
| | | } |
| | | } |
| | | } |
| | | save(item) { |
| | | console.log(item); |
| | | handleWarn({ id: item.id }).then((res) => { |
| | | this.$set(item, "status", 1); |
| | | this.close(); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .history-module { |
| | | padding: 20px; |
| | | width: 280px; |
| | | height: 292px; |
| | | background-color: #fff; |
| | | box-shadow: 0px 2px 10px rgba(141, 164, 187, 0.25); |
| | | border-radius: 15px; |
| | | overflow-y: scroll; |
| | | padding: 20px; |
| | | width: 280px; |
| | | height: 292px; |
| | | background-color: #fff; |
| | | box-shadow: 0px 2px 10px rgba(141, 164, 187, 0.25); |
| | | border-radius: 15px; |
| | | overflow-y: scroll; |
| | | |
| | | .title { |
| | | margin-bottom: 10px; |
| | | font-size: 14px; |
| | | font-weight: 700; |
| | | text-align: left; |
| | | .title { |
| | | margin-bottom: 10px; |
| | | font-size: 14px; |
| | | font-weight: 700; |
| | | text-align: left; |
| | | } |
| | | |
| | | .history-item { |
| | | display: flex; |
| | | width: 240px; |
| | | height: 74px; |
| | | margin-bottom: 4px; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | background: #f9fafc; |
| | | border-radius: 10px; |
| | | padding: 0 10px; |
| | | .button { |
| | | width: 54px; |
| | | height: 20px; |
| | | background: #cfeee0; |
| | | border-radius: 30px; |
| | | font-size: 12px; |
| | | line-height: 20px; |
| | | color: #11aa66; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | |
| | | .history-item { |
| | | display: flex; |
| | | width: 240px; |
| | | height: 74px; |
| | | margin-bottom: 4px; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | background: #F9FAFC; |
| | | border-radius: 10px; |
| | | padding: 0 10px; |
| | | .button { |
| | | width: 54px; |
| | | height: 20px; |
| | | background: #CFEEE0; |
| | | border-radius: 30px; |
| | | font-size: 12px; |
| | | line-height: 20px; |
| | | color: #11AA66; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | |
| | | .mask { |
| | | .mask { |
| | | position: fixed; |
| | | top: 0; |
| | | bottom: 0; |
| | |
| | | text-align: center; |
| | | z-index: 1; |
| | | background-color: black; |
| | | opacity: .5; |
| | | } |
| | | opacity: 0.5; |
| | | } |
| | | } |
| | | </style> |