819527061@qq.com
2023-09-12 7a6d66c564108c297d922a20e696ae2c0edcc5af
支付成功和失败页面
1个文件已修改
4个文件已添加
578 ■■■■■ 已修改文件
src/assets/images/failIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/successIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
src/components/page/IndexFail.vue 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/page/IndexOk.vue 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/failIcon.png
src/assets/images/successIcon.png
src/components/page/IndexFail.vue
New file
@@ -0,0 +1,284 @@
<template>
    <div class="weizhang-box">
        <!--<div class="weizhang-header">-->
            <!--<div class="iconfont leftjiantou">&#xe606;</div>-->
            <!--<div class="text"><h1>峰峰矿区综合行政执法局</h1></div>-->
            <!--<div class="right"></div>-->
        <!--</div>-->
        <div class="weizhang-main-box">
            <div class="success-box">
              <span class="success-icon">
                <img src="../../assets/images/failIcon.png" alt="">
              </span>
              <h2>支付失败</h2>
            </div>
            <div class="weizhang-main-top">
<!--                <img class="logoPhone" src="../../assets/images/logoImg.png" alt="">-->
                <span class="weizhang">停车收费</span>
                <span class="money">¥{{this.statisticData.price}}</span>
            </div>
            <div class="weizhang-main-bootom">
                <div class="weizhang-main-form">
                    <el-form label-width="80px" :model="statisticData" label-position="left">
                        <el-form-item label="车牌号:" style="margin-left: 25px;">
                            {{this.statisticData.carNo}}
                        </el-form-item>
                        <el-form-item label="进场时间:" style="margin-left: 25px;">
                            {{this.statisticData.enterTime}}
                        </el-form-item>
                        <el-form-item label="出场时间:" style="margin-left: 25px;">
                            {{this.statisticData.createTime}}
                        </el-form-item>
                        <el-form-item label="停留时间:" style="margin-left: 25px;">
                            {{this.statisticData.timeStr}}
                        </el-form-item>
                        <el-form-item label="停车场:" style="margin-left: 25px;">
                            {{this.statisticData.parkName}}
                        </el-form-item>
                        <el-form-item label="订单号:" style="margin-left: 25px;">
                            {{this.statisticData.code}}
                            <!--<el-input v-model="statisticData.code" readonly></el-input>-->
                        </el-form-item>
                    </el-form>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
    export default {
        name: 'dashboard',
        data() {
            return {
                payFlag:false,
                outParkId:"",
                statisticData:{
                },
                showFlag:true,
                showFlag2:true,
                status3:0,
                carNo:"",
                oldCarNo:"",
                code2:""
            }
        },
        created(){
            var url = window.location.href;
            var cs = url.split('?')[1];
            var cs_arr = cs.split('&');
            var cs={};
            for(var i=0;i<cs_arr.length;i++){
                cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1]
            }
            //this.outParkId = cs.code;
            this.code2 = cs.code;
            this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/outpark/findByBarrierCode', {code:cs.code}, res => {
                this.statisticData = res.data;
                this.outParkId = this.statisticData.id;
                this.status3 = this.statisticData.status3;
                this.oldCarNo = this.statisticData.carNo;
                this.payFlag = false
                if(this.status3==1){
                    this.$message({
                        message: '您有违章未处理,请先处理或联系停车场管理人员',
                        type: 'error',
                        duration:5000,
                    });
                }
            })
        },
        methods: {
            pay(){
                this.payFlag = true;
                if(this.status3==1){
                    this.$message({
                        message: '您有违章未处理,请先处理或联系停车场管理人员',
                        type: 'error',
                        duration:3000,
                    });
                    return;
                }
                this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/api/park', {id:this.outParkId}, res => {
                    window.location.href = res.msg
                    this.showFlag = false;
                })
            },
            noCarOut(){
                if(this.oldCarNo == '无车牌'){
                  if(this.carNo){
                    this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/car/outParkByPhone', {code2:this.code2,carNo:this.carNo}, res => {
                      if(res.code===0){
                        this.statisticData = res.data;
                        this.outParkId = this.statisticData.id;
                      }
                    })
                  }else{
                    this.$message({
                      message: '请输入手机号',
                      type: 'error',
                    });
                  }
                }else {
                  this.$message({
                    message: '非法输入',
                    type: 'error',
                  });
                }
            },
        }
    }
</script>
<style lang="scss">
    .weizhang-main-bootom{
        .el-input__inner{
            border:none;
        }
        .el-form-item__label{
            color: #000;
            font-weight: 600;
        }
    }
    .weizhang-footer-box{
        .el-form-item__content{
            width: 100%;
            display: flex;
            justify-content: center;
        }
        .el-button--small{
            padding: 11px 15px;
            font-size: 0.347rem  /* 26/75 */;
        }
    }
</style>
<style lang="scss" scoped>
    h1,h2,h3,h4,h5{
        font-family: '苹方 中等';
        font-weight: normal;
    }
    .weizhang-header{
        display: flex;
        height: 12.8vw  /* 96/7.5 */;
        align-items: center;
        border-bottom:1px solid rgba(154,154,154,0.2);
    .text{
        flex: 1;
        text-align: center;
    h1{
        font-size: 2.699vh  /* 36/13.34 */;
    }
    }
    .right{
        width: 6.747vh  /* 90/13.34 */;
    }
    .leftjiantou{
        font-size: 5.33vw;
        width: 6.747vh  /* 90/13.34 */;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    }
    .weizhang-main-box{
        width: 100%;
        display: flex;
        flex-direction: column;
        //padding:0 5.33vw  /* 40/7.5 */ 5.33vw  /* 40/7.5 */ 5.33vw  /* 40/7.5 */ ;
      .success-box{
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        background:#efefef;
        padding: 2.67vw  /* 20/7.5 */ 0;
        .success-icon{
          width: 4.27vw  /* 32/7.5 */;
          height: 4.27vw  /* 32/7.5 */;
          img{
            width: 100%;
          }
        }
        h2{
          font-size: 4vw  /* 30/7.5 */;
          color: #000;
          font-weight: 600;
          margin-left: 1.33vw  /* 10/7.5 */;
          letter-spacing: 2px;
        }
      }
    }
    .weizhang-main-top{
        height: 22.489vh  /* 300/13.34 */;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid #f0f0f0;
    .money{
        font-size: 6.93vw  /* 52/7.5 */;
        font-weight: 550;
        color: #000;
    }
    .weizhang{
        font-size: 0.4rem  /* 30/75 */;
        line-height: 2;
        font-weight: normal;
        margin-top:1.33vw  /* 10/7.5 */;
        color: #000;
    }
    }
    .weizhang-main-form{
    }
    .weizhang-tiaokuan{
        margin-top: 2.67vw  /* 20/7.5 */;
    h1{
        font-size:3.2vw  /* 24/7.5 */;
        color: #999999;
        text-indent: 2.5em;
        line-height: 2;
    }
    }
    .jiaofei-btn{
        width: 80%;
        border-radius: 5.33vw  /* 40/7.5 */;
        background-image: linear-gradient(to right,#33b1fe,#0679dc);
    }
    .logoPhone{
        margin-top: 0.67vw;
        width: 1.333rem  /* 100/75 */;
        height: 1.333rem  /* 100/75 */;
    }
    .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
        margin-bottom: 10px;
    }
    .weizhang-main-bootom{
        margin-top: 0.333rem  /* 25/75 */;
       padding: 0 5.33vw;
    }
    .formLabel{
      ::v-deep .el-form-item__label{
        font-size: 18px;
      }
      ::v-deep el-input{
        border: solid 1px #ccc!important;
      }
    }
    .carSearch{
      border:solid 1px #ccc;
      margin-top: 15%;
      border-radius: 4%;
      box-shadow: 0px 0px 0px 10px;
    }
</style>
src/components/page/IndexOk.vue
New file
@@ -0,0 +1,284 @@
<template>
    <div class="weizhang-box">
        <!--<div class="weizhang-header">-->
            <!--<div class="iconfont leftjiantou">&#xe606;</div>-->
            <!--<div class="text"><h1>峰峰矿区综合行政执法局</h1></div>-->
            <!--<div class="right"></div>-->
        <!--</div>-->
        <div class="weizhang-main-box">
            <div class="success-box">
              <span class="success-icon">
                <img src="../../assets/images/successIcon.png" alt="">
              </span>
              <h2>支付成功</h2>
            </div>
            <div class="weizhang-main-top">
<!--                <img class="logoPhone" src="../../assets/images/logoImg.png" alt="">-->
                <span class="weizhang">停车收费</span>
                <span class="money">¥{{this.statisticData.price}}</span>
            </div>
            <div class="weizhang-main-bootom">
                <div class="weizhang-main-form">
                    <el-form label-width="80px" :model="statisticData" label-position="left">
                        <el-form-item label="车牌号:" style="margin-left: 25px;">
                            {{this.statisticData.carNo}}
                        </el-form-item>
                        <el-form-item label="进场时间:" style="margin-left: 25px;">
                            {{this.statisticData.enterTime}}
                        </el-form-item>
                        <el-form-item label="出场时间:" style="margin-left: 25px;">
                            {{this.statisticData.createTime}}
                        </el-form-item>
                        <el-form-item label="停留时间:" style="margin-left: 25px;">
                            {{this.statisticData.timeStr}}
                        </el-form-item>
                        <el-form-item label="停车场:" style="margin-left: 25px;">
                            {{this.statisticData.parkName}}
                        </el-form-item>
                        <el-form-item label="订单号:" style="margin-left: 25px;">
                            {{this.statisticData.code}}
                            <!--<el-input v-model="statisticData.code" readonly></el-input>-->
                        </el-form-item>
                    </el-form>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
    export default {
        name: 'dashboard',
        data() {
            return {
                payFlag:false,
                outParkId:"",
                statisticData:{
                },
                showFlag:true,
                showFlag2:true,
                status3:0,
                carNo:"",
                oldCarNo:"",
                code2:""
            }
        },
        created(){
            var url = window.location.href;
            var cs = url.split('?')[1];
            var cs_arr = cs.split('&');
            var cs={};
            for(var i=0;i<cs_arr.length;i++){
                cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1]
            }
            //this.outParkId = cs.code;
            this.code2 = cs.code;
            this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/outpark/findByBarrierCode', {code:cs.code}, res => {
                this.statisticData = res.data;
                this.outParkId = this.statisticData.id;
                this.status3 = this.statisticData.status3;
                this.oldCarNo = this.statisticData.carNo;
                this.payFlag = false
                if(this.status3==1){
                    this.$message({
                        message: '您有违章未处理,请先处理或联系停车场管理人员',
                        type: 'error',
                        duration:5000,
                    });
                }
            })
        },
        methods: {
            pay(){
                this.payFlag = true;
                if(this.status3==1){
                    this.$message({
                        message: '您有违章未处理,请先处理或联系停车场管理人员',
                        type: 'error',
                        duration:3000,
                    });
                    return;
                }
                this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/api/park', {id:this.outParkId}, res => {
                    window.location.href = res.msg
                    this.showFlag = false;
                })
            },
            noCarOut(){
                if(this.oldCarNo == '无车牌'){
                  if(this.carNo){
                    this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/car/outParkByPhone', {code2:this.code2,carNo:this.carNo}, res => {
                      if(res.code===0){
                        this.statisticData = res.data;
                        this.outParkId = this.statisticData.id;
                      }
                    })
                  }else{
                    this.$message({
                      message: '请输入手机号',
                      type: 'error',
                    });
                  }
                }else {
                  this.$message({
                    message: '非法输入',
                    type: 'error',
                  });
                }
            },
        }
    }
</script>
<style lang="scss">
    .weizhang-main-bootom{
        .el-input__inner{
            border:none;
        }
        .el-form-item__label{
            color: #000;
            font-weight: 600;
        }
    }
    .weizhang-footer-box{
        .el-form-item__content{
            width: 100%;
            display: flex;
            justify-content: center;
        }
        .el-button--small{
            padding: 11px 15px;
            font-size: 0.347rem  /* 26/75 */;
        }
    }
</style>
<style lang="scss" scoped>
    h1,h2,h3,h4,h5{
        font-family: '苹方 中等';
        font-weight: normal;
    }
    .weizhang-header{
        display: flex;
        height: 12.8vw  /* 96/7.5 */;
        align-items: center;
        border-bottom:1px solid rgba(154,154,154,0.2);
    .text{
        flex: 1;
        text-align: center;
    h1{
        font-size: 2.699vh  /* 36/13.34 */;
    }
    }
    .right{
        width: 6.747vh  /* 90/13.34 */;
    }
    .leftjiantou{
        font-size: 5.33vw;
        width: 6.747vh  /* 90/13.34 */;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    }
    .weizhang-main-box{
        width: 100%;
        display: flex;
        flex-direction: column;
        //padding:0 5.33vw  /* 40/7.5 */ 5.33vw  /* 40/7.5 */ 5.33vw  /* 40/7.5 */ ;
      .success-box{
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        background:rgba(103,201,122,0.1);
        padding: 2.67vw  /* 20/7.5 */ 0;
        .success-icon{
          width: 4.27vw  /* 32/7.5 */;
          height: 4.27vw  /* 32/7.5 */;
          img{
            width: 100%;
          }
        }
        h2{
          font-size: 4vw  /* 30/7.5 */;
          color: #67c97a;
          font-weight: 600;
          margin-left: 1.33vw  /* 10/7.5 */;
          letter-spacing: 2px;
        }
      }
    }
    .weizhang-main-top{
        height: 22.489vh  /* 300/13.34 */;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid #f0f0f0;
    .money{
        font-size: 6.93vw  /* 52/7.5 */;
        font-weight: 550;
        color: #000;
    }
    .weizhang{
        font-size: 0.4rem  /* 30/75 */;
        line-height: 2;
        font-weight: normal;
        margin-top:1.33vw  /* 10/7.5 */;
        color: #000;
    }
    }
    .weizhang-main-form{
    }
    .weizhang-tiaokuan{
        margin-top: 2.67vw  /* 20/7.5 */;
    h1{
        font-size:3.2vw  /* 24/7.5 */;
        color: #999999;
        text-indent: 2.5em;
        line-height: 2;
    }
    }
    .jiaofei-btn{
        width: 80%;
        border-radius: 5.33vw  /* 40/7.5 */;
        background-image: linear-gradient(to right,#33b1fe,#0679dc);
    }
    .logoPhone{
        margin-top: 0.67vw;
        width: 1.333rem  /* 100/75 */;
        height: 1.333rem  /* 100/75 */;
    }
    .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
        margin-bottom: 10px;
    }
    .weizhang-main-bootom{
        margin-top: 0.333rem  /* 25/75 */;
       padding: 0 5.33vw;
    }
    .formLabel{
      ::v-deep .el-form-item__label{
        font-size: 18px;
      }
      ::v-deep el-input{
        border: solid 1px #ccc!important;
      }
    }
    .carSearch{
      border:solid 1px #ccc;
      margin-top: 15%;
      border-radius: 4%;
      box-shadow: 0px 0px 0px 10px;
    }
</style>
src/router/index.js
@@ -100,6 +100,16 @@
            component: resolve => require(['../components/page/Index2.vue'], resolve),
            meta: { title: '智慧泊车' }
        },
        {
            path: '/IndexOk',
            component: resolve => require(['../components/page/IndexOk.vue'], resolve),
            meta: { title: '智慧泊车' }
        },
        {
            path: '/IndexFail',
            component: resolve => require(['../components/page/IndexFail.vue'], resolve),
            meta: { title: '智慧泊车' }
        },
        // {
        //     path: '/index3',
        //     component: resolve => require(['../components/page/Index3.vue'], resolve),