需求:
1.点击一个事件时弹出一个蒙版;
2.蒙版上有取消,删除事件;(点击取消时候蒙版消失,点击删除时,删除蒙版并消失);
3.点击空白地方,蒙版也消失;
 
 
<template>
    <div class="waitPay">
        <div class="logo">
            <span></span>
            <span>保单号{{accidentData.orderId}}</span>
            <span @click="isdele">删除</span>
        </div>
        <div class="carInfo">
            <div class="text">
                <p>{{accidentData.orderMemberName}}</p>
                <p>投保人:{{accidentData.policyHolder}} </p>
                <p>被保人: {{accidentData.protectHolder}} </p>
                <p>
                    结算日期:{{accidentData.orderMemberName}}
                </p>
            </div>
            <div class="item-img">
                <img :src="orderStatus" alt="">
            </div>
        </div>
        <div class="item">
            <p>
                <span>保费 :{{accidentData.amount}}</span>
                <span>推广费 : 271.1</span>
            </p>
            <p v-show="isState">
                <span>
                    重新投保
                </span>
                <span>
                    付款
                </span>
            </p>
        </div>
        <IsDeleMask v-show="show" @isShow="isShow" />
    </div>
</template>
<script>
import IsDeleMask from "@/components/IsDeleMask.vue"; // 是否删除
export default {
  props: ["accidentData"],
  components: {
    IsDeleMask
  },
  data(){
      return{
          show:false,
      }
  },
  computed: {
    orderStatus() {
      let obj = {
        "10000531": require("@/assets/img/yi_chu_dan.png"), // 已出单
        "10000532": require("@/assets/img/daizhifu.png"), // 待支付
        "10000533": require("@/assets/img/tui-dan.jpg") // 退单
      };
      return obj[this.accidentData.orderStatus];
    },
    isState() {
      let obj = {
        "10000531": false, // 已出单
        "10000532": true, // 未出单
        "10000533": false // 退单
      };
      return obj[this.accidentData.orderStatus];
    }
  },
  methods: {
    isdele() {
      this.show = true;
    },
    isShow() {
      this.show = false;
    }
  }
};
</script>
<style lang="scss" scoped>
.waitPay {
  width: 94.67%;
  max-height: 4.6rem;
  background-color: #fff;
  margin: auto;
  margin-bottom: 0.2rem;
  border: 0.18rem;
  > .logo {
    width: 100%;
    height: 0.7rem;
    // background: green;
    display: flex;
    align-items: center;
    border-bottom: 0.012rem solid #f2f2f2;
    > span:nth-child(1) {
      color: #f76c41;
      font-weight: bold;
      font-size: 0.28rem;
      margin-left: 8%;
    }
    > span:nth-child(2) {
      color: #6a6a6a;
      font-size: 0.22rem;
      margin-left: 8%;
      margin-right: 10%;
    }
    > span:nth-child(3) {
      text-align: right;
      color: #333333;
      font-size: 0.22rem;
      font-weight: bold;
    }
  }
  > .carInfo {
    width: 100%;
    height: 2.32rem;
    // background: red;
    display: flex;
    border-bottom: 0.012rem solid #f2f2f2;
    .text {
      padding-left: 0.3rem;
      width: 73.33%;
      //   background: yellow;
      height: 2.32rem;
      box-sizing: border-box;
      > p {
        font-size: 0.26rem;
        color: #6a6a6a;
        // font-weight: bold;
        line-height: 0.46rem;
      }
      > p:nth-child(1) {
        padding-top: 0.25rem;
        color: #333333;
        font-size: 0.3rem;
        font-weight: bold;
      }
    }
    > .item-img {
      width: 26.67%;
      display: flex;
      margin-bottom: 0.61rem;
      margin-top: 0.4rem;
      justify-content: center;
      > img {
        width: 1.3rem;
        height: 1.3rem;
        align-items: center;
      }
    }
  }
  > .item {
    width: 100%;
    max-height: 1.58rem;
    // background: green;
    > p:nth-child(1) {
      width: 100%;
      height: 0.69rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      > span {
        font-size: 0.24rem;
        color: #f76c41;
        font-weight: bold;
      }
      > span:nth-child(1) {
        padding-left: 0.3rem;
      }
      > span:nth-child(2) {
        padding-right: 0.3rem;
      }
    }
    > p:nth-child(2) {
      width: 100%;
      height: 0.89rem;
      > span {
        width: 2rem;
        height: 0.7rem;
        display: inline-block;
        text-align: center;
        line-height: 0.7rem;
        font-size: 0.26rem;
      }
      > span:nth-child(1) {
        border: 0.012rem solid #6a6a6a;
        color: #6a6a6a;
        margin-left: 30.9%;
        margin-right: 6.5%;
      }
      > span:nth-child(2) {
        background-color: #f76c41;
        color: white;
      }
    }
  }
}
</style>
<template>
    <div class="isDele" @click="kbxs">
        <div class="item">
            <p>是否删除</p>
            <p>
                <span>
                    取消
                </span>
                <span>
                    删除
                </span>
            </p>
        </div>
    </div>
</template>
<script>
export default {
data() {
return {
deleData: ""
};
},
methods: {
     kbxs(e) {
         if (e.target.tagName === 'DIV') {
             this.$emit('isShow')
         }else if (e.target.tagName === 'SPAN') {
            if (e.target.innerHTML.indexOf('取消') !== -1 ) {
                this.handleClick('取消')
            }else {
                this.handleClick('删除')
            }
         }
     },
handleClick(type) {
        if (type == '取消') {
            this.$emit('isShow')
            return
        }
let datas = {
// orderId:'OPRO20180823160539323',
};
this.$http.get("delect", datas).then(({ data }) => {
if (data.code == 1) {
this.$dialog.toast({
mes: data.msg,
timeout: 1500,
icon: "success",
callback: () => {
this.$emit('isShow')
}
});
}
});
}
}
};
</script>
<style lang="scss" scoped>
.isDele {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  > .item {
    width: 6.3rem;
    height: 3rem;
    background: #fff;
    border-radius: 0.1rem;
    > p:nth-child(1) {
      height: 2.05rem;
      color: #333333;
      font-size: 0.38rem;
      font-weight: bold;
      text-align: center;
      line-height: 2.05rem;
      z-index: 200;
    }
    > p:nth-child(2) {
      width: 100%;
      height: 0.95rem;
      // background: green;
      > span {
        color: #6a6a6a;
        display: inline-block;
        width: 50%;
        font-size: 0.28rem;
        text-align: center;
        line-height: 0.95rem;
      }
      > span:nth-child(2) {
        color: #fff;
        background-color: #f76c41;
        line-height: 0.97rem;
        border-radius: 0 0 0.1rem 0;
      }
    }
  }
  font-size: 0.3rem;
  color: green;
}
</style>
 
 
 
												
												
								- vue 点击当前元素添加class 去掉兄弟的class  获取当前点击元素的文字
		
点击当前标签给其添加class,兄弟标签class删除 然后获取当前点击元素的文字 演示地址: https://xibushijie.github.io/static/addClass.html &l ...
		 
						- vue点击返回顶部插件vue-totop
		
vue-totop vue 点击返回顶部插件,可以根据参数设定按钮大小,颜色,类型,返回顶部的时间等.github地址:https://github.com/1006008051/vue-totop, ...
		 
						- vue点击切换颜色限制个数(用了mui框架)
		
vue点击切换颜色 只能点击一个 <!doctype html> <head> <meta charset="UTF-8"> <title ...
		 
						- vue 点击当前元素添加class 去掉兄弟的class
		
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
		 
						- vue点击时动态改变样式 -------  最简单的方法
		
vue点击时动态改变样式 template中 <li :class="{ active:index==isActive }" @click="changeValue ...
		 
						- vue点击切换样式,点击切换地址栏,点击显示或者隐藏
		
1. vue点击显示切换 :class='{"span":index==0}' class原本是 类选择器 加上 :class就是绑定属性的意思 '{"span" ...
		 
						- vue 点击展开显示更多 点击收起部分隐藏
		
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
		 
						- (1)vue点击图片预览(可旋转、翻转、缩放、上下切换、键盘操作)
		
今天做项目的时候,遇到了新需求,需要把点击图片放大的功能.学习了一下GitHub上的viewerjs插件 GitHub地址:https://github.com/fengyuanchen/viewer ...
		 
						- vue点击元素变色兄弟元素不变色
		
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
		 
		
	
随机推荐
	
									- Python遍历列表删除多个元素或者重复元素
			
在遍历list的时候,删除符合条件的数据,结果不符合预期   num_list = [1, 2, 2, 2, 3] print(num_list) for item in num_list: if i ...
			 
						- MessageWebSocket
			
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; usi ...
			 
						- 在Linux上安装ipmitool
			
https://blog.csdn.net/bnanoou/article/details/43985839
			 
						- weblogic域,管理服务器,受管服务器,集群和机器的基本知识
			
1.域(Domain) •它是什么? –是一个逻辑上管理的WebLogic Server组,这些组从管理上当作一个整体来操作 •域里面有什么? –服务器 –服务器集群 –机器 •规则: –同一个域中的 ...
			 
						- mysql5.7.25搭建mysql-5.7.25.tar.gz包(亲验)
			
STEP 1. 下载 去往官方下载MySQL包.http://dev.mysql.com mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz STEP 2. 解压缩  ...
			 
						- 常用javaScript小常识
			
javascript数据类型强制转换 一.转换为数值类型 Number(参数) 把任何的类型转换为数值类型 A.如果是布尔值,false为0,true为1 B.如果是数字,转换成为本身.将无意义的后导 ...
			 
						- InputNumber计数器
			
InputNumber 计数器 仅允许输入标准的数字值,可定义范围 要使用它,只需要在el-input-number元素中使用v-model绑定变量即可,变量的初始值即为默认值. <templa ...
			 
						- redis的LRU策略理解
			
首先看下serverCron中,服务器每次循环执行的时候,都会刷新server.lrulock. int serverCron(struct aeEventLoop *eventLoop, long  ...
			 
						- IP冲突如何把冲突的IP挤下去
			
把冲突IP挤下去的方法: ①进入网络和共享中心>本地连接>禁用. ②进入网络和共享中心>更改适配器设置>双击被禁用的连接,自动重新连接即可.
			 
						- mybatis父查询值嵌套传递/column传入多个参数值
			
mybatis中collection的column传入多个参数值(使用父查询的映射值) property description column 数据库的列名或者列标签别名.与传递给resultSet. ...