Commit c81a339e authored by 郝聪敏's avatar 郝聪敏

fix: ui调整、修改微信h5支付跳转流程

parent 46ed64b1
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="format-detection" content="telephone=no"/> <meta name="format-detection" content="telephone=yes"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no,viewport-fit=cover"> <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no,viewport-fit=cover">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
......
...@@ -89,7 +89,7 @@ export default { ...@@ -89,7 +89,7 @@ export default {
this.isPayWait = false; this.isPayWait = false;
} }
}, },
getPayResult(expectResult) { getPayResult() {
const { payOrderNo, payType, orderNo } = this.orderInfo; const { payOrderNo, payType, orderNo } = this.orderInfo;
placeOrder.polling({ payOrderNo, payOrderType: payType || 1 }).then(async payRes => { placeOrder.polling({ payOrderNo, payOrderType: payType || 1 }).then(async payRes => {
if (!payRes.result && payRes.payState === 2) { if (!payRes.result && payRes.payState === 2) {
...@@ -97,10 +97,6 @@ export default { ...@@ -97,10 +97,6 @@ export default {
this.getPayResult(); this.getPayResult();
}, 3000); }, 3000);
} else { } else {
// expectResult为true时期望支付结果成功,否则继续执行
if (expectResult && !payRes?.result) return;
// 清除定时器
if (this.timer) window.clearInterval(this.timer);
// payOrderNo为月计划订单时跳转保单列表 // payOrderNo为月计划订单时跳转保单列表
if (+payType === 2) { if (+payType === 2) {
if (!payRes?.result) { if (!payRes?.result) {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
&::after { &::after {
content: ""; content: "";
display: block; display: block;
padding-bottom: 49px; height: 80px;
} }
......
...@@ -297,11 +297,36 @@ ...@@ -297,11 +297,36 @@
.card-container(); .card-container();
&-head { &-head {
.card-head .card-head();
} }
&-body { &-body {
.card-body(8px); .card-body(8px);
div {
span:first-child {
font-size: 14px;
color: #333333;
}
span:last-child {
font-size: 14px;
font-weight: 700;
color: #333333;
}
.Pdbci-item-divider {
width: 100%;
}
}
.Pdbc-body-item_inline {
span {
font-size: 12px !important;
color: #999999 !important;
}
}
}
&-collapse {
} }
&-operation { &-operation {
...@@ -352,10 +377,15 @@ ...@@ -352,10 +377,15 @@
.Pdb-service { .Pdb-service {
.card-container(); .card-container();
margin: 0 16px 16px; margin: 0 16px 16px;
padding: 20px 20px 11px; padding: 20px;
&:first-child {
margin-bottom: 10px;
}
&-head { &-head {
.card-head(); .card-head();
} }
&-body { &-body {
...@@ -365,6 +395,7 @@ ...@@ -365,6 +395,7 @@
&-question { &-question {
// margin-top: 24px; // margin-top: 24px;
.card-head(); .card-head();
margin-bottom: 0;
} }
&-divider { &-divider {
...@@ -377,12 +408,15 @@ ...@@ -377,12 +408,15 @@
} }
&-agreement { &-agreement {
font-size: 0;
font-size: 12px;
color: #333;
font-weight: 400;
line-height: 24px;
.Pdbc-agreement-title {
.card-title(10px);
}
a { a {
font-size: 12px;
color: #333;
font-weight: 400;
line-height: 24px;
&::after { &::after {
display: inline-block; display: inline-block;
content: " "; content: " ";
...@@ -409,7 +443,7 @@ ...@@ -409,7 +443,7 @@
.Pdb-operation { .Pdb-operation {
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
margin-bottom: 14px; margin: 30px 30px 30px;
&-item { &-item {
display: flex; display: flex;
......
...@@ -30,13 +30,12 @@ export default { ...@@ -30,13 +30,12 @@ export default {
cardConfig: { cardConfig: {
component: "" component: ""
} }
}, }
timer: null
}; };
}, },
async created() { async created() {
await this.getPolicy(); await this.getPolicy();
if (this.$route?.query?.isWxH5 && +this.policy?.payState !== 3) { if (this.$route?.query?.isWxH5) {
this.$dialog({ this.$dialog({
message: "请确认是否已经完成了微信免密支付签约", message: "请确认是否已经完成了微信免密支付签约",
onCancel: this.refresh, onCancel: this.refresh,
...@@ -55,11 +54,7 @@ export default { ...@@ -55,11 +54,7 @@ export default {
payType: this.policy?.payInfo?.payOrderType, payType: this.policy?.payInfo?.payOrderType,
orderNo: this.policy?.orderNo orderNo: this.policy?.orderNo
}; };
this.timer = window.setInterval(() => this.getPayResult(true), 3000); this.getPayResult();
this.$once("hook:beforeDestroy", () => {
window.clearInterval(this.timer);
this.timer = null;
});
} }
} }
}; };
......
...@@ -86,10 +86,15 @@ export default { ...@@ -86,10 +86,15 @@ export default {
align-items: center; align-items: center;
font-weight: 400; font-weight: 400;
color: #666666; color: #666666;
.Cit-left-txt {
font-size: 14px;
color: #333333;
}
} }
.Ci-title-right { .Ci-title-right {
font-weight: 600;
color: #333333; color: #333333;
font-size: 14px;
font-weight: 700;
} }
} }
&-content { &-content {
......
<template> <template>
<div class="Pdb-service"> <div>
<div class="Pdb-service-question" @click="showQa = !showQa"> <div class="Pdb-service" v-if="detail.qaInfo">
<span>常见问题</span> <div class="Pdb-service-question" @click="showQa = !showQa">
<svg-icon icon-class="arrow" :style="{ transform: `rotate(${showQa ? '90deg' : '0deg'})` }" /> <span>常见问题</span>
<svg-icon
icon-class="arrow"
:style="{ transform: `rotate(${showQa ? '90deg' : '0deg'})` }"
/>
</div>
<collapse
:collapse-data="detail.qaInfo"
:more-btn="false"
:hide-icon="true"
:init-length="3"
v-show="showQa"
/>
<!-- <cr-divider class="Pdb-service-divider" :hairline="false" /> -->
<popup-with-iframe
v-model="popupShow"
:title="pupopData.title"
:content="pupopData.content"
:url="pupopData.url"
/>
</div> </div>
<collapse <div class="Pdb-service">
:collapse-data="detail.qaInfo" <div class="Pdb-service-agreement">
:more-btn="false" <p class="Pdbc-agreement-title">查看</p>
:hide-icon="true" <div>
:init-length="3" <a
v-show="showQa" href="javascript:;"
/> @click="openIframePupop(item.id)"
<cr-divider class="Pdb-service-divider" :hairline="false" /> v-for="(item, index) in detail.protocolData"
<div class="Pdb-service-agreement"> :key="index"
<a >
href="javascript:;" {{ item.title }}
@click="openIframePupop(item.id)" </a>
v-for="(item, index) in detail.protocolData" </div>
:key="index" </div>
>
{{ item.title }}
</a>
</div> </div>
<popup-with-iframe
v-model="popupShow"
:title="pupopData.title"
:content="pupopData.content"
:url="pupopData.url"
/>
</div> </div>
</template> </template>
<script> <script>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="Pdb-content"> <div class="Pdb-content">
<div class="Pdb-content-head"> <div class="Pdb-content-head">
<span class="Pdbc-head-name">保障内容</span> <span class="Pdbc-head-name">保障内容</span>
<span></span>
<router-link <router-link
tag="span" tag="span"
:to="{ name: 'GoodsPlan', query: { type: detail.type } }" :to="{ name: 'GoodsPlan', query: { type: detail.type } }"
...@@ -16,14 +17,14 @@ ...@@ -16,14 +17,14 @@
class="Pdbc-body-item" class="Pdbc-body-item"
v-for="(item, index) in detail.planCellInfo" v-for="(item, index) in detail.planCellInfo"
:key="index" :key="index"
:class="{ inline: item.inline }" :class="{ 'Pdbc-body-item_inline': item.inline }"
> >
<span>{{ item.title }}</span> <span>{{ item.title }}</span>
<span>{{ item.value }}</span> <span>{{ item.value }}</span>
<cr-divider v-if="item.divider" /> <cr-divider class="Pdbci-item-divider" v-if="item.divider" />
</div> </div>
</div> </div>
<Collapse v-else :collapse-data="detail.planCellInfo" /> <Collapse class="Pdb-content-collapse" v-else :collapse-data="detail.planCellInfo" />
<div class="Pdb-content-operation" v-if="isShowPdfBtn"> <div class="Pdb-content-operation" v-if="isShowPdfBtn">
<cr-button class="Pdbc-button" @click="showPdf">电子保单</cr-button> <cr-button class="Pdbc-button" @click="showPdf">电子保单</cr-button>
</div> </div>
......
...@@ -275,6 +275,11 @@ ...@@ -275,6 +275,11 @@
display: none; display: none;
} }
} }
@{deep} .cr-cell__value {
padding-top: 2px;
font-size: 13px;
line-height: 16px;
}
&-svg { &-svg {
width: 16px; width: 16px;
height: 16px; height: 16px;
...@@ -294,9 +299,8 @@ ...@@ -294,9 +299,8 @@
margin: 0 130px 82.92px; margin: 0 130px 82.92px;
font-size: 0; font-size: 0;
&-svg { &-svg {
margin-bottom: 3.08px; margin-bottom: 8px;
width: 116px; width: 113px;
height: 43px;
} }
&-desc { &-desc {
margin: 0; margin: 0;
......
...@@ -51,7 +51,13 @@ ...@@ -51,7 +51,13 @@
<svg-icon slot="right-icon" icon-class="arrow" class-name="user-service-main-item-svg" /> <svg-icon slot="right-icon" icon-class="arrow" class-name="user-service-main-item-svg" />
</cr-cell> </cr-cell>
<a :href="`tel:${tel}`"> <a :href="`tel:${tel}`">
<cr-cell title="客服电话" :icon="customerService" class="user-service-main-item"> <cr-cell
title="客服电话"
:icon="customerService"
center
value="服务时间:9:00-21:00"
class="user-service-main-item"
>
<svg-icon <svg-icon
slot="right-icon" slot="right-icon"
icon-class="arrow" icon-class="arrow"
...@@ -62,7 +68,8 @@ ...@@ -62,7 +68,8 @@
</div> </div>
</div> </div>
<div class="user-logo"> <div class="user-logo">
<svg-icon icon-class="logo" class-name="user-logo-svg" /> <!-- <svg-icon icon-class="logo" class-name="user-logo-svg" /> -->
<img src="@/assets/logo-foot.png" class="user-logo-svg" />
<p class="user-logo-desc" @click="go('/introduction', false)">了解芒果保险</p> <p class="user-logo-desc" @click="go('/introduction', false)">了解芒果保险</p>
</div> </div>
<tabbar></tabbar> <tabbar></tabbar>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment