mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-10 01:06:45 +08:00
开门红需求-电投提示:电投提示处理初版代码提交 --提交人:阳华祥
This commit is contained in:
@@ -253,3 +253,21 @@ export function checkCard(data) {
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取订单活动信息
|
||||||
|
export function getOrderActiveInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl('/sale/order/getActiveInfo', 1),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取订单活动信息
|
||||||
|
export function saveOrderActiveType(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl('/sale/order/saveActiveType', 1),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ const productTip = () => import('@/views/ebiz/sale/productTip')
|
|||||||
const avoidDutyTip = () => import('@/views/ebiz/sale/AvoidDutyTip')
|
const avoidDutyTip = () => import('@/views/ebiz/sale/AvoidDutyTip')
|
||||||
const doubleRecordTip = () => import('@/views/ebiz/sale/DoubleRecordTip')
|
const doubleRecordTip = () => import('@/views/ebiz/sale/DoubleRecordTip')
|
||||||
const PayResultFail = () => import('@/views/ebiz/sale/PayResultFail')
|
const PayResultFail = () => import('@/views/ebiz/sale/PayResultFail')
|
||||||
|
const apointValidDoc = () => import('@/views/ebiz/sale/apointValidDoc')
|
||||||
let riskName = localStorage.riskName
|
let riskName = localStorage.riskName
|
||||||
console.log('sale/riskName==', riskName)
|
console.log('sale/riskName==', riskName)
|
||||||
export default [
|
export default [
|
||||||
@@ -161,6 +162,14 @@ export default [
|
|||||||
title: '免除保险人责任条款说明书'
|
title: '免除保险人责任条款说明书'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/sale/apointValidDoc',
|
||||||
|
name: 'apointValidDoc',
|
||||||
|
component: apointValidDoc,
|
||||||
|
meta: {
|
||||||
|
title: '免除保险人责任条款说明书'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/sale/doubleRecordTip',
|
path: '/sale/doubleRecordTip',
|
||||||
name: 'doubleRecordTip',
|
name: 'doubleRecordTip',
|
||||||
|
|||||||
@@ -270,6 +270,9 @@
|
|||||||
<span style="font-weight:bold" v-else>保额(元):</span>
|
<span style="font-weight:bold" v-else>保额(元):</span>
|
||||||
<span class="fee red" v-if="trialList && trialList.length > 0">{{ trialList[index].showPrem | moneyFormat }}</span>
|
<span class="fee red" v-if="trialList && trialList.length > 0">{{ trialList[index].showPrem | moneyFormat }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="flex justify-content-s pv10 border-bottom prem" v-if="item.isMainRisk == 0 && activeType == 'KMH'">
|
||||||
|
<span>指定保单生效日:2021年1月1日</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-btn bg-white">
|
<div class="bottom-btn bg-white">
|
||||||
<van-button type="danger" size="large" @click="nextStep" :disabled="nextStepFlag" v-no-more-click="1000">完成</van-button>
|
<van-button type="danger" size="large" @click="nextStep" :disabled="nextStepFlag" v-no-more-click="1000">完成</van-button>
|
||||||
@@ -350,6 +353,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
activeType: localStorage.getItem('active_type'),
|
||||||
chooseProducts: [],
|
chooseProducts: [],
|
||||||
productIndex: '',
|
productIndex: '',
|
||||||
calFactorIndex: '',
|
calFactorIndex: '',
|
||||||
|
|||||||
@@ -3,11 +3,13 @@
|
|||||||
<van-radio-group v-model="result">
|
<van-radio-group v-model="result">
|
||||||
<van-cell-group>
|
<van-cell-group>
|
||||||
<van-cell v-for="(item, index) in list" clickable @click="result = item" :key="index">
|
<van-cell v-for="(item, index) in list" clickable @click="result = item" :key="index">
|
||||||
<p slot="default">
|
<div v-if="checkItemShow(item)">
|
||||||
<van-tag plain class="green fs12 mr10">{{ item.productType }}</van-tag>
|
<p slot="default">
|
||||||
<span class="c-gray-dark fs14">{{ item.riskName }}</span>
|
<van-tag plain class="green fs12 mr10">{{ item.productType }}</van-tag>
|
||||||
</p>
|
<span class="c-gray-dark fs14">{{ item.riskName }}</span>
|
||||||
<van-radio checked-color="red" slot="right-icon" :name="item" />
|
</p>
|
||||||
|
<van-radio checked-color="red" slot="right-icon" :name="item" />
|
||||||
|
</div>
|
||||||
</van-cell>
|
</van-cell>
|
||||||
<van-cell> </van-cell>
|
<van-cell> </van-cell>
|
||||||
<van-cell> </van-cell>
|
<van-cell> </van-cell>
|
||||||
@@ -40,7 +42,8 @@ export default {
|
|||||||
result: '',
|
result: '',
|
||||||
delList: [],
|
delList: [],
|
||||||
radioVal: '',
|
radioVal: '',
|
||||||
isFrom: localStorage.isFrom
|
isFrom: localStorage.isFrom,
|
||||||
|
activeFlag: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
@@ -61,6 +64,8 @@ export default {
|
|||||||
this.specilFlag = '1'
|
this.specilFlag = '1'
|
||||||
}
|
}
|
||||||
// ------------------------专为桂企写死--end---------------//
|
// ------------------------专为桂企写死--end---------------//
|
||||||
|
// 处理活动产品
|
||||||
|
this.activeFlag = res.orderDTO.orderInfoDTO.activeType
|
||||||
}
|
}
|
||||||
resolve(this.getMainRiskList())
|
resolve(this.getMainRiskList())
|
||||||
},
|
},
|
||||||
@@ -74,6 +79,20 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
checkItemShow(item) {
|
||||||
|
if (this.activeFlag != 'KMH') {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
let showFlag = false
|
||||||
|
if (item.activeLst && item.activeLst.length > 0) {
|
||||||
|
item.activeLst.forEach(subItem => {
|
||||||
|
if (subItem == 'KMH') {
|
||||||
|
showFlag = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return showFlag
|
||||||
|
},
|
||||||
//获取主险列表
|
//获取主险列表
|
||||||
async getMainRiskList() {
|
async getMainRiskList() {
|
||||||
let mainRiskCodes = localStorage.mainRiskCodes && JSON.parse(localStorage.mainRiskCodes)
|
let mainRiskCodes = localStorage.mainRiskCodes && JSON.parse(localStorage.mainRiskCodes)
|
||||||
|
|||||||
@@ -33,6 +33,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<van-dialog v-model="active_show" title="提示" @confirm="comfirmCheckActive">
|
||||||
|
<div>
|
||||||
|
<van-radio-group v-model="active_radio">
|
||||||
|
<van-radio name="1" icon-size="12px">
|
||||||
|
<div class="flex justify-content-fs">
|
||||||
|
<van-image round width="10rem" height="10rem" src="https://img.yzcdn.cn/vant/cat.jpeg" />
|
||||||
|
<div class="fs18 bold">开门红产品</div>
|
||||||
|
</div>
|
||||||
|
</van-radio>
|
||||||
|
<van-radio name="2" icon-size="12px">
|
||||||
|
<div class="flex justify-content-fs">
|
||||||
|
<van-image round width="10rem" height="10rem" src="https://img.yzcdn.cn/vant/cat.jpeg" />
|
||||||
|
<div class="fs18 bold">普通产品</div>
|
||||||
|
</div>
|
||||||
|
</van-radio>
|
||||||
|
</van-radio-group>
|
||||||
|
</div>
|
||||||
|
</van-dialog>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<van-submit-bar button-text="下一步" @submit="nextStep" :disabled="nextStepFlag">
|
<van-submit-bar button-text="下一步" @submit="nextStep" :disabled="nextStepFlag">
|
||||||
<div class="fs15 ml15 fwb" style="flex:1" slot="default">
|
<div class="fs15 ml15 fwb" style="flex:1" slot="default">
|
||||||
@@ -45,11 +64,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { Tag, SubmitBar, Icon, Dialog } from 'vant'
|
import { Tag, SubmitBar, Icon, Dialog, RadioGroup, Radio, Image as VanImage } from 'vant'
|
||||||
import FieldPicker from '@/components/ebiz/FieldPicker'
|
import FieldPicker from '@/components/ebiz/FieldPicker'
|
||||||
import { orderDetail, deleteOrderInfo } from '@/api/ebiz/common/common'
|
import { orderDetail, deleteOrderInfo } from '@/api/ebiz/common/common'
|
||||||
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
|
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
|
||||||
import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js'
|
import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js'
|
||||||
|
import { getOrderActiveInfo, saveOrderActiveType } from '@/api/ebiz/sale/sale.js'
|
||||||
import utilsAge from '@/assets/js/utils/age'
|
import utilsAge from '@/assets/js/utils/age'
|
||||||
import IndexBar from '@/components/ebiz/sale/IndexBar'
|
import IndexBar from '@/components/ebiz/sale/IndexBar'
|
||||||
|
|
||||||
@@ -63,7 +83,9 @@ export default {
|
|||||||
isShow: true,
|
isShow: true,
|
||||||
appntDTO: {},
|
appntDTO: {},
|
||||||
isFrom: localStorage.isFrom,
|
isFrom: localStorage.isFrom,
|
||||||
salePageFlag: '3'
|
salePageFlag: '3',
|
||||||
|
active_show: false,
|
||||||
|
active_radio: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -71,10 +93,15 @@ export default {
|
|||||||
[FieldPicker.name]: FieldPicker,
|
[FieldPicker.name]: FieldPicker,
|
||||||
[SubmitBar.name]: SubmitBar,
|
[SubmitBar.name]: SubmitBar,
|
||||||
[Icon.name]: Icon,
|
[Icon.name]: Icon,
|
||||||
[IndexBar.name]: IndexBar
|
[IndexBar.name]: IndexBar,
|
||||||
|
[RadioGroup.name]: RadioGroup,
|
||||||
|
[Radio.name]: Radio,
|
||||||
|
[VanImage.name]: VanImage
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (localStorage.isFrom == 'sale') {
|
if (localStorage.isFrom == 'sale') {
|
||||||
|
// 清除活动标志
|
||||||
|
localStorage.removeItem('active_type')
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||||
@@ -339,7 +366,25 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
//添加产品
|
//添加产品
|
||||||
addProduct() {
|
async addProduct() {
|
||||||
|
// 1、处理判断活动 1、电投流程 2、后端接口提供弹出判断
|
||||||
|
if (localStorage.isFrom == 'sale') {
|
||||||
|
let param = {
|
||||||
|
activeType: 'KMH'
|
||||||
|
}
|
||||||
|
let resultData = await getOrderActiveInfo(param)
|
||||||
|
if (resultData.result == 0) {
|
||||||
|
if (resultData.content.activeFlag != '1') {
|
||||||
|
// todo 弹框 显示
|
||||||
|
this.active_show = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//正常后续跳转流程
|
||||||
|
} else {
|
||||||
|
this.$toast(resultData.resultMessage)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
this.$jump({
|
this.$jump({
|
||||||
flag: 'h5',
|
flag: 'h5',
|
||||||
extra: {
|
extra: {
|
||||||
@@ -350,6 +395,33 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
comfirmCheckActive() {
|
||||||
|
let param = {
|
||||||
|
orderDTO: {
|
||||||
|
orderInfoDTO: {
|
||||||
|
orderNo: localStorage.orderNo,
|
||||||
|
activeType: 'KMH'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
saveOrderActiveType(param).then(res => {
|
||||||
|
this.active_show = false
|
||||||
|
localStorage.setItem('active_type', 'KMH')
|
||||||
|
if (res.result == 0) {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/common/mainRiskList'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/common/mainRiskList'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
showTipForDoubleRecord() {
|
showTipForDoubleRecord() {
|
||||||
//判断投保人年龄是否大于等于60岁
|
//判断投保人年龄是否大于等于60岁
|
||||||
let showFlag = false
|
let showFlag = false
|
||||||
|
|||||||
@@ -297,6 +297,11 @@ export default {
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
|
url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
|
||||||
|
that.appntSign.map(item => {
|
||||||
|
if (item.documentCode == '8') {
|
||||||
|
url = 'apointValidDoc'
|
||||||
|
}
|
||||||
|
})
|
||||||
this.$jump({
|
this.$jump({
|
||||||
flag: 'h5',
|
flag: 'h5',
|
||||||
extra: {
|
extra: {
|
||||||
|
|||||||
@@ -38,11 +38,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div v-for="(item, index) in appntSign" :key="index">
|
<div v-for="(item, index) in appntSign" :key="index">
|
||||||
<p>{{ item.documentCode == '1' ? '需阅读' : '需签署' }}</p>
|
<p>{{ item.documentCode == '1' || item.documentCode == '8' ? '需阅读' : '需签署' }}</p>
|
||||||
<p class="mb20">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<span class="text">{{ item.documentName }}</span>
|
||||||
<img :src="src" v-if="item.documentCode == '1' && item.documentStatus == '1'" />
|
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '1'" />
|
||||||
<img :src="src" v-if="item.documentCode !== '1' && item.documentStatus == '3'" />
|
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -83,11 +83,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||||
<div v-for="(item, index) in insuredSign" :key="index">
|
<div v-for="(item, index) in insuredSign" :key="index">
|
||||||
<p>{{ item.documentCode == '1' ? '需阅读' : '需签署' }}</p>
|
<p>{{ item.documentCode == '1' || item.documentCode == '8' ? '需阅读' : '需签署' }}</p>
|
||||||
<p class="mb20">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<span class="text">{{ item.documentName }}</span>
|
||||||
<img :src="src" v-if="item.documentCode == '1' && item.documentStatus == '1'" />
|
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '1'" />
|
||||||
<img :src="src" v-if="item.documentCode !== '1' && item.documentStatus == '3'" />
|
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<p class="start" v-if="airSign != '1'">点击【开始】或【分享】,进行相关操作</p>
|
<p class="start" v-if="airSign != '1'">点击【开始】或【分享】,进行相关操作</p>
|
||||||
@@ -131,11 +131,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div v-for="(item, index) in appntSign" :key="index">
|
<div v-for="(item, index) in appntSign" :key="index">
|
||||||
<p>{{ item.documentCode == '1' ? '需阅读' : '需签署' }}</p>
|
<p>{{ item.documentCode == '1' || item.documentCode == '8' ? '需阅读' : '需签署' }}</p>
|
||||||
<p class="mb20">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<span class="text">{{ item.documentName }}</span>
|
||||||
<img :src="src" v-if="item.documentCode == '1' && item.documentStatus == '1'" />
|
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '1'" />
|
||||||
<img :src="src" v-if="item.documentCode !== '1' && item.documentStatus == '3'" />
|
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -165,11 +165,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||||
<div v-for="(item, index) in insuredSign" :key="index">
|
<div v-for="(item, index) in insuredSign" :key="index">
|
||||||
<p>{{ item.documentCode == '1' ? '需阅读' : '需签署' }}</p>
|
<p>{{ item.documentCode == '1' || item.documentCode == '8' ? '需阅读' : '需签署' }}</p>
|
||||||
<p class="mb20">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<span class="text">{{ item.documentName }}</span>
|
||||||
<img :src="src" v-if="item.documentCode == '1' && item.documentStatus == '1'" />
|
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '1'" />
|
||||||
<img :src="src" v-if="item.documentCode !== '1' && item.documentStatus == '3'" />
|
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<p class="start" v-if="airSign != '1'">点击【开始】或【分享】,进行相关操作</p>
|
<p class="start" v-if="airSign != '1'">点击【开始】或【分享】,进行相关操作</p>
|
||||||
@@ -687,7 +687,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
|
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
|
||||||
for (let i = 0; i < that.appntSign.length; i++) {
|
for (let i = 0; i < that.appntSign.length; i++) {
|
||||||
if (that.appntSign[i].documentCode == '1' && that.appntSign[0].documentStatus == 0) {
|
if ((that.appntSign[i].documentCode == '1' || that.appntSign[i].documentCode == '8') && that.appntSign[i].documentStatus == 0) {
|
||||||
//1投保须知 未读
|
//1投保须知 未读
|
||||||
path = that.appntSign[i].routePath
|
path = that.appntSign[i].routePath
|
||||||
break
|
break
|
||||||
@@ -1124,23 +1124,26 @@ export default {
|
|||||||
addKey(item) {
|
addKey(item) {
|
||||||
//ducumentCode 1投保须知 2投保单 3产品说明书 4提示书 6免除保险人责任条款说明书 7保险销售行为双录说明
|
//ducumentCode 1投保须知 2投保单 3产品说明书 4提示书 6免除保险人责任条款说明书 7保险销售行为双录说明
|
||||||
if (item.documentCode == '1') {
|
if (item.documentCode == '1') {
|
||||||
item.key = 1
|
item.key = 2
|
||||||
item.routePath = 'insuranceInformation'
|
item.routePath = 'insuranceInformation'
|
||||||
} else if (item.documentCode == '2') {
|
} else if (item.documentCode == '2') {
|
||||||
item.key = 6
|
item.key = 7
|
||||||
item.routePath = 'SignatureOfElectronic'
|
item.routePath = 'SignatureOfElectronic'
|
||||||
} else if (item.documentCode == '3') {
|
} else if (item.documentCode == '3') {
|
||||||
item.key = 2
|
item.key = 3
|
||||||
item.routePath = 'productTip'
|
item.routePath = 'productTip'
|
||||||
} else if (item.documentCode == '4') {
|
} else if (item.documentCode == '4') {
|
||||||
item.key = 3
|
item.key = 4
|
||||||
item.routePath = 'InsuranceTip'
|
item.routePath = 'InsuranceTip'
|
||||||
} else if (item.documentCode == '6') {
|
} else if (item.documentCode == '6') {
|
||||||
item.key = 4
|
item.key = 5
|
||||||
item.routePath = 'avoidDutyTip'
|
item.routePath = 'avoidDutyTip'
|
||||||
} else if (item.documentCode == '7') {
|
} else if (item.documentCode == '7') {
|
||||||
item.key = 5
|
item.key = 6
|
||||||
item.routePath = 'doubleRecordTip'
|
item.routePath = 'doubleRecordTip'
|
||||||
|
} else if (item.documentCode == '8') {
|
||||||
|
item.key = 1
|
||||||
|
item.routePath = 'apointValidDoc'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getSignInvalid() {
|
getSignInvalid() {
|
||||||
|
|||||||
376
src/views/ebiz/sale/apointValidDoc.vue
Normal file
376
src/views/ebiz/sale/apointValidDoc.vue
Normal file
@@ -0,0 +1,376 @@
|
|||||||
|
<template>
|
||||||
|
<div class="insuranceInformation-container pb50 redRadioCheckbox">
|
||||||
|
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上` }}</van-notice-bar>
|
||||||
|
<div class="bg-white flex justify-content-c flex-direction-colunm align-it<po>ems-center p20 fs14">
|
||||||
|
<div>
|
||||||
|
<h2 style="text-align:center" class="mb20">指定保单生效日说明</h2>
|
||||||
|
<p>
|
||||||
|
尊敬的客户,您好!以下指定保单生效日相关说明,请您务必仔细阅读和确认。
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
交费成功,即承保成功。如您于2020年12月31日(包含当日)之前承保,保单生效日指定为2021年1月1日零时;如您于2021年1月1日(包含当日)之后承保,保单生效日为承保次日零时。
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
国富人寿保险股份有限公司(以下简称国富人寿)承担的保险责任从保单生效日零时开始。
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
承保成功后,保险合同成立,国富人寿将电子保单发送至您的电子邮箱。
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<van-radio-group v-model="radio" class="pb10 pb20 pl30">
|
||||||
|
<van-radio name="1" @click="click" class="fs14">
|
||||||
|
<span>本人已详细阅读并同意上述指定保单生效日说明 </span>
|
||||||
|
</van-radio>
|
||||||
|
</van-radio-group>
|
||||||
|
<div class="bg-white bottom-btn">
|
||||||
|
<van-button type="danger" size="large" :disabled="isDisable" @click="goNext" v-no-more-click="1000">我已阅读并知晓</van-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
|
||||||
|
import { saveInformation } from '@/api/ebiz/sale/sale'
|
||||||
|
// import config from '@/config'
|
||||||
|
// import axios from 'axios'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||||
|
return {
|
||||||
|
// 投保人还是被保险人信息
|
||||||
|
signVal: '',
|
||||||
|
// 被保险人签名信息
|
||||||
|
insuredSign: {},
|
||||||
|
// 投保人签名信息
|
||||||
|
appntSign: {},
|
||||||
|
radio: '',
|
||||||
|
// 倒计时时间
|
||||||
|
number: '',
|
||||||
|
// 定时器时间
|
||||||
|
time: '10',
|
||||||
|
// 定时器名称
|
||||||
|
timer: null,
|
||||||
|
isOver: false,
|
||||||
|
// 判断验证码是否开始倒计时
|
||||||
|
Time: true,
|
||||||
|
// 按钮是否可以点击
|
||||||
|
isDisable: true,
|
||||||
|
// 是否在微信
|
||||||
|
isWeixin,
|
||||||
|
productCode: localStorage.productCode, //获取产品编号
|
||||||
|
protocol: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
[RadioGroup.name]: RadioGroup,
|
||||||
|
[Radio.name]: Radio,
|
||||||
|
[Dialog.name]: Dialog,
|
||||||
|
[NoticeBar.name]: NoticeBar
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
let readingType = localStorage.getItem('readingProtocolType')
|
||||||
|
if (readingType && readingType === '1') {
|
||||||
|
this.protocol = true
|
||||||
|
}
|
||||||
|
let that = this
|
||||||
|
// {{switchFlag.Time?pageVariable.msg:pageVariable.number}}
|
||||||
|
that.timeOut()
|
||||||
|
document.title = '指定保单生效日说明'
|
||||||
|
// Notify({
|
||||||
|
// type: 'warning',
|
||||||
|
// message: `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上`,
|
||||||
|
// duration: 10000,
|
||||||
|
// background: '#999999',
|
||||||
|
// className: 'notify'
|
||||||
|
// })
|
||||||
|
|
||||||
|
document.body.style.backgroundColor = '#fff'
|
||||||
|
that.signVal = window.localStorage.getItem('sign-val')
|
||||||
|
if (JSON.parse(window.localStorage.getItem('sign-insured'))) {
|
||||||
|
that.insuredSign = JSON.parse(window.localStorage.getItem('sign-insured'))
|
||||||
|
}
|
||||||
|
if (JSON.parse(window.localStorage.getItem('sign-appnt'))) {
|
||||||
|
that.appntSign = JSON.parse(window.localStorage.getItem('sign-appnt'))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
timeOut() {
|
||||||
|
let that = this
|
||||||
|
let time = that.time
|
||||||
|
that.Time = false
|
||||||
|
that.number = `${time}`
|
||||||
|
let timer = setInterval(() => {
|
||||||
|
time--
|
||||||
|
if (time <= 0) {
|
||||||
|
time = 0
|
||||||
|
clearInterval(timer)
|
||||||
|
|
||||||
|
that.Time = true
|
||||||
|
that.isOver = true
|
||||||
|
// window.localStorage.setItem('step', '1')
|
||||||
|
}
|
||||||
|
that.number = `${time}`
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
|
// 点击阅读时
|
||||||
|
click() {
|
||||||
|
let that = this
|
||||||
|
if (that.isOver == false) {
|
||||||
|
Dialog.confirm({
|
||||||
|
title: '提示',
|
||||||
|
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||||||
|
showCancelButton: false
|
||||||
|
}).then(() => {
|
||||||
|
that.radio = ''
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 下一步
|
||||||
|
goNext() {
|
||||||
|
if (this.isWeixin) {
|
||||||
|
console.log('````````````````````')
|
||||||
|
console.log('进入微信')
|
||||||
|
this.$toast.loading({
|
||||||
|
duration: 0, // 持续展示 toast
|
||||||
|
forbidClick: true, // 禁用背景点击
|
||||||
|
loadingType: 'spinner',
|
||||||
|
message: '加载中……'
|
||||||
|
})
|
||||||
|
let that = this
|
||||||
|
|
||||||
|
if (that.signVal == '0' || that.signVal == '2') {
|
||||||
|
that.appntSign.map(item => {
|
||||||
|
if (item.documentCode == '8') {
|
||||||
|
that.appntSign.signId = item.signId
|
||||||
|
that.appntSign.documentCode = item.documentCode
|
||||||
|
that.appntSign.documentType = item.documentType
|
||||||
|
}
|
||||||
|
})
|
||||||
|
let data = {
|
||||||
|
orderType: 'SIGN_ORDER',
|
||||||
|
orderDTO: {
|
||||||
|
orderInfoDTO: {
|
||||||
|
orderNo: window.localStorage.getItem('orderNo')
|
||||||
|
},
|
||||||
|
ebizSignDTOS: [
|
||||||
|
{
|
||||||
|
signOrRead: 'read',
|
||||||
|
signId: that.appntSign.signId,
|
||||||
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
|
documentCode: that.appntSign.documentCode,
|
||||||
|
documentStatus: '1',
|
||||||
|
documentType: that.appntSign.documentType,
|
||||||
|
signType: that.signVal
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
saveInformation(data).then(res => {
|
||||||
|
// console.log(res)
|
||||||
|
if (res.result == '0') {
|
||||||
|
this.$toast.clear()
|
||||||
|
window.localStorage.setItem('detailJump', '')
|
||||||
|
let url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/sale/' + url
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/sale/' + url
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$toast.loading({
|
||||||
|
duration: 0, // 持续展示 toast
|
||||||
|
forbidClick: true, // 禁用背景点击
|
||||||
|
loadingType: 'spinner',
|
||||||
|
message: '加载中……'
|
||||||
|
})
|
||||||
|
that.insuredSign.map(item => {
|
||||||
|
if (item.documentCode == '8') {
|
||||||
|
that.insuredSign.signId = item.signId
|
||||||
|
that.insuredSign.documentCode = item.documentCode
|
||||||
|
that.insuredSign.documentType = item.documentType
|
||||||
|
}
|
||||||
|
})
|
||||||
|
let data = {
|
||||||
|
orderType: 'SIGN_ORDER',
|
||||||
|
orderDTO: {
|
||||||
|
orderInfoDTO: {
|
||||||
|
orderNo: window.localStorage.getItem('orderNo')
|
||||||
|
},
|
||||||
|
ebizSignDTOS: [
|
||||||
|
{
|
||||||
|
signOrRead: 'read',
|
||||||
|
signId: that.insuredSign.signId,
|
||||||
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
|
documentCode: that.insuredSign.documentCode,
|
||||||
|
documentStatus: '1',
|
||||||
|
documentType: that.insuredSign.documentType,
|
||||||
|
signType: that.signVal
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
saveInformation(data).then(res => {
|
||||||
|
if (res.result == '0') {
|
||||||
|
this.$toast.clear()
|
||||||
|
window.localStorage.setItem('detailJump', '')
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/sale/SignatureOfElectronic'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/sale/SignatureOfElectronic'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let that = this
|
||||||
|
this.$toast.loading({
|
||||||
|
duration: 0, // 持续展示 toast
|
||||||
|
forbidClick: true, // 禁用背景点击
|
||||||
|
loadingType: 'spinner',
|
||||||
|
message: '加载中……'
|
||||||
|
})
|
||||||
|
// console.log('that.appntSign.signId',that.appntSign,that.appntSign.signId,that.appntSign.documentCode,that.appntSign.documentType)
|
||||||
|
if (that.signVal == '0' || that.signVal == '2') {
|
||||||
|
that.appntSign.map(item => {
|
||||||
|
if (item.documentCode == '8') {
|
||||||
|
that.appntSign.signId = item.signId
|
||||||
|
that.appntSign.documentCode = item.documentCode
|
||||||
|
that.appntSign.documentType = item.documentType
|
||||||
|
}
|
||||||
|
})
|
||||||
|
let data = {
|
||||||
|
orderType: 'SIGN_ORDER',
|
||||||
|
orderDTO: {
|
||||||
|
orderInfoDTO: {
|
||||||
|
orderNo: window.localStorage.getItem('orderNo')
|
||||||
|
},
|
||||||
|
ebizSignDTOS: [
|
||||||
|
{
|
||||||
|
signOrRead: 'read',
|
||||||
|
signId: that.appntSign.signId,
|
||||||
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
|
documentCode: that.appntSign.documentCode,
|
||||||
|
documentStatus: '1',
|
||||||
|
documentType: that.appntSign.documentType,
|
||||||
|
signType: that.signVal
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
saveInformation(data).then(res => {
|
||||||
|
if (res.result == '0') {
|
||||||
|
this.$toast.clear()
|
||||||
|
window.localStorage.setItem('detailJump', '')
|
||||||
|
let url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/sale/' + url,
|
||||||
|
forbidSwipeBack: '1'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/sale/' + url
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.insuredSign.map(item => {
|
||||||
|
if (item.documentCode == '8') {
|
||||||
|
that.insuredSign.signId = item.signId
|
||||||
|
that.insuredSign.documentCode = item.documentCode
|
||||||
|
that.insuredSign.documentType = item.documentType
|
||||||
|
}
|
||||||
|
})
|
||||||
|
let data = {
|
||||||
|
orderType: 'SIGN_ORDER',
|
||||||
|
orderDTO: {
|
||||||
|
orderInfoDTO: {
|
||||||
|
orderNo: window.localStorage.getItem('orderNo')
|
||||||
|
},
|
||||||
|
ebizSignDTOS: [
|
||||||
|
{
|
||||||
|
signOrRead: 'read',
|
||||||
|
signId: that.insuredSign.signId,
|
||||||
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
|
documentCode: that.insuredSign.documentCode,
|
||||||
|
documentStatus: '1',
|
||||||
|
documentType: that.insuredSign.documentType,
|
||||||
|
signType: that.signVal
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
saveInformation(data).then(res => {
|
||||||
|
if (res.result == '0') {
|
||||||
|
this.$toast.clear()
|
||||||
|
window.localStorage.setItem('detailJump', '')
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/sale/SignatureOfElectronic',
|
||||||
|
forbidSwipeBack: '1'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/sale/SignatureOfElectronic'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
listenChange() {
|
||||||
|
const { isOver, radio } = this
|
||||||
|
return { isOver, radio }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
listenChange(val) {
|
||||||
|
let that = this
|
||||||
|
// console.log('listenChange :', val)
|
||||||
|
if (val.isOver == true && val.radio !== '') {
|
||||||
|
that.isDisable = false
|
||||||
|
} else {
|
||||||
|
that.isDisable = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
beforeRouteLeave(to, from, next) {
|
||||||
|
document.body.style.backgroundColor = ''
|
||||||
|
next()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
p {
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
.notice {
|
||||||
|
width: 100%;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
z-index: 20;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user