123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- <!-- 顶部警告 -->
- <template>
- <view class="top-warn" v-if="pageType">
- <view>{{text}}</view>
- <view @click="buttonClick" v-if="whetherRoute">查看</view>
- </view>
- </template>
- <script>
- import { selectTriggerInfo,evacuate,closeRiskPlan } from '@/api/basicsModules/index.js'
- export default {
- data() {
- return {
- pageType:false,
- text:"",
- buildId:"",
- floorId:"",
- subId:"",
- closePlan:false,// true 火焰报警,false 没有火焰报警
- whetherRoute:true,
- subjectId:"",
- buildingId:"",
- subjectName:"",
- groupId:"",
- }
- },
- created() {
- },
- mounted(){
- this.getWarn();
- getApp().watch(this.lineDataFunction,'lineData');
- },
- methods: {
- //应急变更
- lineDataFunction(val){
- this.getWarn();
- },
- buttonClick(){
- let self = this;
- let list = [];
- if(self.closePlan){
- list = ['查看', '结束预案'];
- }else{
- self.goPage();
- }
- uni.showActionSheet({
- itemList: list,
- success: function (res) {
- if(res.tapIndex == 0){
- self.goPage();
- }else if(res.tapIndex == 1){
- self.offEvacuationClick();
- }
- },
- fail: function (res) {
- console.log(res.errMsg);
- }
- });
- },
- //结束预案
- offEvacuationClick(){
- let self = this;
- uni.showModal({
- content: '确认结束预案?',
- cancelColor:"#999",
- confirmColor:"#0183FA",
- success: function (res) {
- if (res.confirm) {
- self.closeRiskPlan();
- } else if (res.cancel) {
- }
- }
- });
- },
- async closeRiskPlan(){
- const {data} = await closeRiskPlan({id:this.groupId});
- if(data.code == 200){
- uni.showToast({
- title: '操作成功',
- icon:"none",
- mask:true,
- duration: 2000
- });
- this.pageType = false;
- }
- },
- //页面跳转
- goPage(){
- let obj = {
- buildId: this.buildId,
- floorId:this.floorId,
- subId:this.subId,
- groupId:this.groupId,
- }
- uni.navigateTo({
- url:'/pages_manage/emergencyEvacuationBig?item='+encodeURIComponent(JSON.stringify(obj))
- });
- },
- //获取报警信息
- async getWarn(){
- let self = this;
- const {data} = await selectTriggerInfo();
- if(data.data[0]){
- this.$set(this,'text',data.data.length>1?'有多个实验室发生预案':'有实验室发生预案');
- this.$set(this,'buildId',data.data[0].buildId);
- this.$set(this,'floorId',data.data[0].floorId);
- this.$set(this,'subId',data.data[0].subId);
- if(data.data[0].riskAttribute == 1){
- this.$set(this,'closePlan',true);
- this.$set(this,'groupId',data.data[0].groupId);
- }
- this.$set(this,'pageType',true);
- // for(let i=0;i<data.data.length;i++){
- // if(data.data[i].riskAttribute == '1'&&data.data[i].ifCheck != '1'){
- // let obj = {
- // buildId: data.data[i].buildId,
- // floorId:data.data[i].floorId,
- // subId:data.data[i].subId,
- // riskPlanId:data.data[i].riskPlanId,
- // }
- // uni.navigateTo({
- // url:'/pages/emergencyEvacuationBig?item='+encodeURIComponent(JSON.stringify(obj))
- // });
- // return
- // }
- // }
- //没有火焰预案并且没有查看过
- for(let i=0;i<data.data.length;i++){
- if(data.data[i].riskAttribute != '1'&&data.data[i].ifCheck != '1'){
- let obj = {
- buildId: data.data[i].buildId,
- floorId:data.data[i].floorId,
- subId:data.data[i].subId,
- groupId:data.data[i].groupId,
- }
- uni.navigateTo({
- url:'/pages_manage/emergencyEvacuationBig?item='+encodeURIComponent(JSON.stringify(obj))
- });
- return
- }
- }
- }else{
- this.$set(this,'pageType',false);
- }
- },
- timeFuncontion(){
- let self = this;
- var t1 = setInterval(refreshCount, 300);
- function refreshCount() {
- let txt = self.text
- let start = txt.substring(0, 1);//取该字符串的第一个字符
- let end = txt.substring(1);//取该字符串的从1之后的所有字符
- let newText = end + start;//拼接新的字符串
- self.$set(self,'text',newText)
- }
- }
- }
- }
- </script>
- <style lang="stylus" scoped>
- .top-warn{
- height:80rpx;
- line-height:80rpx;
- background rgba(2550,0,0,0.2)
- margin:20rpx 0;
- display flex;
- overflow hidden
- view:nth-child(1){
- padding-left:20rpx;
- color:#FF0000;
- flex:1;
- view{
- padding-left:20rpx;
- white-space:nowrap;
- }
- }
- view:nth-child(2){
- width:140rpx;
- color:#0183FA;
- text-align center;
- }
- }
- </style>
|