kongdeqiang
2024-04-22 d6e51b776dfe5cfb575610f423238f98b5e58b94
src/components/page/IndexTest.vue
@@ -50,6 +50,39 @@
            </div>
        </div>
      <div class="dialog-box">
        <el-dialog
            title="支付"
            :close-on-click-modal="false"
            :visible.sync="dialogVisible"
            width="100%">
          <div class="dialog-main-box">
            <div class="dialog-main-line">
              <h1>合计费用</h1>
              <h1>{{this.statisticData.price}}元</h1>
            </div>
            <div class="dialog-main-line">
              <h1>停车时长</h1>
              <h1>{{this.statisticData.timeStr}}</h1>
            </div>
            <div class="dialog-main-line-middle">
              <h1>{{this.statisticData.price}}<font>元</font></h1>
            </div>
            <div class="wx-img-box">
              <div class="wx-img-l">
                <img src="../../assets/images/wxIcon.png" alt="">
                <h1>微信支付</h1>
              </div>
              <div class="wx-img-r">
                <img src="../../assets/images/duigouIcon.png" alt="">
              </div>
            </div>
          </div>
          <span slot="footer" class="dialog-footer">
            <el-button type="primary" @click="pay()" :loading="payNowFlag">立 即 支 付</el-button>
          </span>
        </el-dialog>
      </div>
    </div>
</template>
@@ -60,7 +93,9 @@
        name: 'dashboard',
        data() {
            return {
                dialogVisible:false,
                payFlag:false,
                payNowFlag:false,
                outParkId:"",
                type:null,
                statisticData:{
@@ -91,7 +126,6 @@
            return;
          }
            var url = window.location.href;
            var count = url.split('?').length-1;
            if(count >1){
@@ -108,7 +142,15 @@
            //this.outParkId = cs.code;
          this.code2 = cs.code2;
          this.code = cs.code;
          this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/outpark/findByBarrierCode', {code2:cs.code2}, res => {
          if(this.code2 == null || this.code2 == ''){
            window.location.href = "http://hesuancj.cn/#/indexTest?code2="+this.code
          }
          if(this.code != null && this.code != '') {
            this.dialogVisible = true
          }else {
            this.dialogVisible = false
          }
          this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/outpark/findByBarrierCode2', {code2:cs.code2}, res => {
            this.statisticData = res.data;
            this.outParkId = this.statisticData.id;
            this.status3 = this.statisticData.status3;
@@ -126,6 +168,7 @@
        methods: {
            pay(){
                this.payFlag = true;
                this.payNowFlag = true;
                if(this.status3==1){
                    this.$message({
                        message: '您有违章未处理,请先处理或联系停车场管理人员',
@@ -200,7 +243,6 @@
                  this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/api/getOpenId', {id:this.outParkId,code:this.code}, res => {
                    if(res.code === 0){
                      var param = res.data;
                      alert(param)
                      // 点击支付时候调用
                      if (typeof WeixinJSBridge === 'undefined') {
                        if (document.addEventListener) {
@@ -246,7 +288,7 @@
                  appId: params.appId, // 公众号名称,由商户传入
                  timeStamp: params.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
                  nonceStr: params.nonceStr, // 支付签名随机串,不长于 32 位
                  package: params.prepay_id, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
                  package: params.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
                  signType: params.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
                  paySign: params.paySign // 支付签名
                },
@@ -265,7 +307,7 @@
            this.$byutil.postData(this, this.$systemconfig.basePath + '/ffzf/outpark/getById', {id: this.outParkId}, res => {
              if (res.code == 0) {
                let outpark = res.data
                if(outPark.status == 1){
                if(outpark.status == 1){
                  window.location.href = "http://hesuancj.cn/#/indexOk?code2="+this.code2
                }else {
                  window.location.href = "http://hesuancj.cn/#/indexFail?code2="+this.code2
@@ -300,6 +342,39 @@
            padding: 11px 15px;
            font-size: 0.347rem  /* 26/75 */;
        }
    }
    .dialog-box{
      .el-dialog{
        bottom: 0;
        position: fixed;
        left: 0;
        margin: 0;
      }
      .el-dialog__body{
        padding: 2.67vw  /* 20/7.5 */ 5.33vw  /* 40/7.5 */;
      }
      .el-dialog__header{
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 1.87vw  /* 14/7.5 */;
        background: rgba(103,201,122,0.1);
      }
      .el-dialog__title{
        font-size: 4vw  /* 30/7.5 */;
      }
      .el-dialog__headerbtn{
        top: 2.67vw  /* 20/7.5 */;
      }
      .dialog-footer{
        display: flex;
        width: 100% !important;
        .el-button{
          width: 100%;
          background: rgba(74,76,89,1);
        }
      }
    }
</style>
@@ -385,4 +460,53 @@
    .weizhang-main-bootom{
        margin-top: 0.333rem  /* 25/75 */;
    }
    .dialog-main-box{
      .dialog-main-line{
        display: flex;
        justify-content: space-between;
        h1{
          font-size: 3.2vw  /* 24/7.5 */;
          color: rgba(0,0,0,0.9);
          line-height: 2;
        }
      }
      .dialog-main-line-middle{
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 2.67vw  /* 20/7.5 */ 0;
        h1{
          font-size: 8vw  /* 60/7.5 */;
          line-height: 2;
          color: rgba(0,0,0,1);
          font{
            font-size: 3.73vw  /* 28/7.5 */;
            margin-left: 0.67vw  /* 5/7.5 */;
          }
        }
      }
      .wx-img-box{
        width: 100%;
        display: flex;
        justify-content: space-between;
        .wx-img-l{
          display: flex;
          img{
            width: 5.33vw  /* 40/7.5 */;
            object-fit: contain;
          }
          h1{
            font-size: 3.47vw  /* 26/7.5 */;
            margin-left: 1.33vw  /* 10/7.5 */;
          }
        }
        .wx-img-r{
          width: 4vw  /* 30/7.5 */;
          height: 4vw  /* 30/7.5 */;
          img{
            width: 100%;
          }
        }
      }
    }
</style>