mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-22 23:26:44 +08:00
Merge branch 'dev' of 112.124.100.131:GFRS/ebiz-h5 into dev
This commit is contained in:
@@ -89,6 +89,10 @@ git clone http://112.124.100.131/dcrs/ebiz-h5.git
|
|||||||
|
|
||||||
cd ebiz-h5
|
cd ebiz-h5
|
||||||
|
|
||||||
|
npm install --global --production window-build-tools (全局安装依赖)
|
||||||
|
|
||||||
|
npm install --global node-gyp (全局安装依赖)
|
||||||
|
|
||||||
yarn install(推荐使用yarn)
|
yarn install(推荐使用yarn)
|
||||||
|
|
||||||
yarn serve(开发环境)
|
yarn serve(开发环境)
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
|
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
|
||||||
<title></title>
|
<title></title>
|
||||||
<script src="<%= BASE_URL %>js/EWebBridge.js"></script>
|
<script src="<%= BASE_URL %>js/EWebBridge.js"></script>
|
||||||
|
<script src="<%= BASE_URL %>js/echarts.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<noscript>
|
<noscript>
|
||||||
@@ -20,7 +21,7 @@
|
|||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<!-- built files will be auto injected -->
|
<!-- built files will be auto injected -->
|
||||||
<!-- <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script> -->
|
<!-- <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script> -->
|
||||||
<script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts.min.js"></script>
|
<!-- <script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts.min.js"></script>-->
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
22
public/js/echarts.min.js
vendored
Normal file
22
public/js/echarts.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: PangXingYue
|
* @Author: PangXingYue
|
||||||
* @Date: 2021-03-26 10:38:37
|
* @Date: 2021-03-26 10:38:37
|
||||||
* @LastEditTime: 2021-03-29 18:42:28
|
* @LastEditTime: 2021-04-02 16:10:30
|
||||||
* @LastEditors: PangXingYue
|
* @LastEditors: PangXingYue
|
||||||
* @Description:
|
* @Description:
|
||||||
* @FilePath: \ebiz-h5\src\api\ebiz\cardList\cardList.js
|
* @FilePath: \ebiz-h5\src\api\ebiz\cardList\cardList.js
|
||||||
@@ -92,7 +92,7 @@ export function getPayTemp(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取订单支付状态
|
//
|
||||||
export function getShareParam(data) {
|
export function getShareParam(data) {
|
||||||
return request({
|
return request({
|
||||||
url: getUrl('/customer/account/getShareParam', 1),
|
url: getUrl('/customer/account/getShareParam', 1),
|
||||||
@@ -100,3 +100,11 @@ export function getShareParam(data) {
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 更新险种文档阅读状态
|
||||||
|
export function saveOrUpdateDocument(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl('/sale/card/saveOrUpdateDocument', 1),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -201,6 +201,7 @@ service.interceptors.response.use(
|
|||||||
res = JSON.parse(AESTools.AESDecrypt(res.response, configApp.REQ_PWD))
|
res = JSON.parse(AESTools.AESDecrypt(res.response, configApp.REQ_PWD))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Toast.clear()
|
Toast.clear()
|
||||||
if (res.code != 0) {
|
if (res.code != 0) {
|
||||||
if (res.code == 10001 || res.code == 10002) {
|
if (res.code == 10001 || res.code == 10002) {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: PangXingYue
|
* @Author: PangXingYue
|
||||||
* @Date: 2021-03-23 13:34:15
|
* @Date: 2021-03-23 13:34:15
|
||||||
* @LastEditTime: 2021-03-23 13:48:26
|
* @LastEditTime: 2021-04-02 16:11:35
|
||||||
* @LastEditors: PangXingYue
|
* @LastEditors: PangXingYue
|
||||||
* @Description:
|
* @Description:
|
||||||
* @FilePath: \ebiz-h5\src\config\index.js
|
* @FilePath: \ebiz-h5\src\config\index.js
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ const payResult = () => import('@/views/ebiz/cardList/PayResult')
|
|||||||
const paySuccess = () => import('@/views/ebiz/cardList/PaySuccess')
|
const paySuccess = () => import('@/views/ebiz/cardList/PaySuccess')
|
||||||
const payLoser = () => import('@/views/ebiz/cardList/PayLoser')
|
const payLoser = () => import('@/views/ebiz/cardList/PayLoser')
|
||||||
const ShowPDF = () => import('@/views/ebiz/cardList/ShowPDF')
|
const ShowPDF = () => import('@/views/ebiz/cardList/ShowPDF')
|
||||||
|
const phoneCode = () => import('@/views/ebiz/cardList/phoneCode')
|
||||||
|
const cardDetail = () => import('@/views/ebiz/cardList/cardDetail')
|
||||||
|
const SignatureConfirmation = () => import('@/views/ebiz/cardList/SignatureConfirmation')
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
{
|
{
|
||||||
@@ -80,6 +83,33 @@ export default [
|
|||||||
title: '',
|
title: '',
|
||||||
index: 7
|
index: 7
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/cardList/phoneCode',
|
||||||
|
name: 'phoneCode',
|
||||||
|
component: phoneCode,
|
||||||
|
meta: {
|
||||||
|
title: '短信验证',
|
||||||
|
index: 8
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/cardList/cardDetail',
|
||||||
|
name: 'cardDetail',
|
||||||
|
component: cardDetail,
|
||||||
|
meta: {
|
||||||
|
title: '核对投被保人信息',
|
||||||
|
index: 9
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/cardList/SignatureConfirmation',
|
||||||
|
name: 'SignatureConfirmation',
|
||||||
|
component: SignatureConfirmation,
|
||||||
|
meta: {
|
||||||
|
title: '阅读确认',
|
||||||
|
index: 10
|
||||||
|
}
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,11 @@
|
|||||||
|
/*
|
||||||
|
* @Author: PangXingYue
|
||||||
|
* @Date: 2021-04-02 16:04:38
|
||||||
|
* @LastEditTime: 2021-04-02 16:13:50
|
||||||
|
* @LastEditors: PangXingYue
|
||||||
|
* @Description:
|
||||||
|
* @FilePath: \ebiz-h5\src\store\index.js
|
||||||
|
*/
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import Vuex from 'vuex'
|
import Vuex from 'vuex'
|
||||||
import app from './modules/app'
|
import app from './modules/app'
|
||||||
@@ -18,9 +26,25 @@ export default new Vuex.Store({
|
|||||||
eodrApplyNo: '', //保全-保全受理号
|
eodrApplyNo: '', //保全-保全受理号
|
||||||
agentGrade: '', //用户的agentGrade,判断用户权限
|
agentGrade: '', //用户的agentGrade,判断用户权限
|
||||||
secondManageCode: '', //内勤所需参数
|
secondManageCode: '', //内勤所需参数
|
||||||
thirdManageCode: '' //内勤所需参数
|
thirdManageCode: '' ,//内勤所需参数
|
||||||
|
orderDetail:{},//无优卡分享微信端订单信息
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
|
setOrderDetail(state,data){
|
||||||
|
console.log('更新订单信息')
|
||||||
|
state.orderDetail = data;
|
||||||
|
},
|
||||||
|
setThirdManageCode(state, code) {
|
||||||
|
state.thirdManageCode = code
|
||||||
|
},
|
||||||
|
setSecondManageCode(state, code) {
|
||||||
|
state.secondManageCode = code
|
||||||
|
},
|
||||||
|
//设置用户的agentGrade,判断用户权限
|
||||||
|
|
||||||
|
setAgentGrade(state, code) {
|
||||||
|
state.agentGrade = code
|
||||||
|
},
|
||||||
//更新 理赔申请-区分被保险人/申请人页面flag
|
//更新 理赔申请-区分被保险人/申请人页面flag
|
||||||
updatePageFlag(state, val) {
|
updatePageFlag(state, val) {
|
||||||
state.pageFlag = val
|
state.pageFlag = val
|
||||||
|
|||||||
@@ -2,7 +2,10 @@
|
|||||||
<div class="pay">
|
<div class="pay">
|
||||||
<div v-if="!isScan">
|
<div v-if="!isScan">
|
||||||
<van-cell-group>
|
<van-cell-group>
|
||||||
<van-field v-model="underWriteData.appntName" type="textarea" autosize readonly label="产品名称" class="projuct" />
|
<van-field v-model="underWriteData.riskName" type="textarea" autosize readonly label="产品名称" class="projuct" />
|
||||||
|
<van-field v-model="underWriteData.schemeName" readonly label="保障方案" class="projuct" />
|
||||||
|
<van-field v-if="!isWeixin" v-model="underWriteData.appntName" readonly label="投保人姓名" class="projuct" />
|
||||||
|
<van-field v-if="!isWeixin" v-model="underWriteData.insuredName" readonly label="被保人姓名" class="projuct" />
|
||||||
<van-field :value="underWriteData.orderAmount == undefined ? '' : `${underWriteData.orderAmount} 元`" readonly label="支付金额" />
|
<van-field :value="underWriteData.orderAmount == undefined ? '' : `${underWriteData.orderAmount} 元`" readonly label="支付金额" />
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
<!-- 银行卡支付开始 -->
|
<!-- 银行卡支付开始 -->
|
||||||
@@ -15,11 +18,12 @@
|
|||||||
<van-radio-group v-model="radio" class="flex justify-content-fe"><van-radio name="1"></van-radio></van-radio-group>
|
<van-radio-group v-model="radio" class="flex justify-content-fe"><van-radio name="1"></van-radio></van-radio-group>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
|
<div v-if="isWeixin">
|
||||||
<van-cell-group class="flex align-items-c">
|
<van-cell-group class="flex align-items-c">
|
||||||
<img :src="src" class="pl10" />
|
<img :src="src" class="pl10" />
|
||||||
<van-cell title="银行卡支付" clickable>
|
<van-cell title="银行卡支付" clickable>
|
||||||
<!-- <van-checkbox v-model="checked" class="flex justify-content-fe"></van-checkbox> -->
|
<!-- <van-checkbox v-model="checked" class="flex justify-content-fe"></van-checkbox> -->
|
||||||
<van-radio-group v-model="radio" :disabled="noEdit" class="flex justify-content-fe">
|
<van-radio-group v-model="radio" class="flex justify-content-fe">
|
||||||
<van-radio name=""></van-radio>
|
<van-radio name=""></van-radio>
|
||||||
</van-radio-group>
|
</van-radio-group>
|
||||||
</van-cell>
|
</van-cell>
|
||||||
@@ -27,15 +31,16 @@
|
|||||||
<van-cell-group class="flex align-items-c">
|
<van-cell-group class="flex align-items-c">
|
||||||
<img :src="vxSrc" class="vximg" />
|
<img :src="vxSrc" class="vximg" />
|
||||||
<van-cell title="微信支付" clickable>
|
<van-cell title="微信支付" clickable>
|
||||||
<van-radio-group v-model="radio" :disabled="noEdit" class="flex justify-content-fe">
|
<van-radio-group v-model="radio" class="flex justify-content-fe">
|
||||||
<van-radio name="3" @click="vxVerify"></van-radio>
|
<van-radio name="3" @click="vxVerify"></van-radio>
|
||||||
</van-radio-group>
|
</van-radio-group>
|
||||||
</van-cell>
|
</van-cell>
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
|
</div>
|
||||||
<!-- 银行卡支付结束 -->
|
<!-- 银行卡支付结束 -->
|
||||||
<van-cell-group v-if="radio != '3'">
|
<van-cell-group v-if="radio != '3'">
|
||||||
<van-field
|
<van-field
|
||||||
v-model="underWriteData.name"
|
v-model="underWriteData.appntName"
|
||||||
label="姓名"
|
label="姓名"
|
||||||
name="姓名"
|
name="姓名"
|
||||||
readonly
|
readonly
|
||||||
@@ -46,7 +51,7 @@
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<template v-if="noEdit">
|
<!-- <template v-if="noEdit">
|
||||||
<van-field
|
<van-field
|
||||||
v-model="underWriteData.bankCode"
|
v-model="underWriteData.bankCode"
|
||||||
maxlength="19"
|
maxlength="19"
|
||||||
@@ -71,8 +76,8 @@
|
|||||||
data-vv-name="开户银行"
|
data-vv-name="开户银行"
|
||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
</template>
|
</template> -->
|
||||||
<template v-else>
|
<template>
|
||||||
<van-field
|
<van-field
|
||||||
v-model="underWriteData.bankCode"
|
v-model="underWriteData.bankCode"
|
||||||
maxlength="19"
|
maxlength="19"
|
||||||
@@ -139,10 +144,12 @@
|
|||||||
<input name="ReqReserved5" type="hidden" v-model="payParam.ReqReserved5" />
|
<input name="ReqReserved5" type="hidden" v-model="payParam.ReqReserved5" />
|
||||||
<input name="S3Sign" type="hidden" v-model="payParam.S3Sign" />
|
<input name="S3Sign" type="hidden" v-model="payParam.S3Sign" />
|
||||||
</form>
|
</form>
|
||||||
<div class="bg-white bottom-btn"><van-button type="danger" size="large" @click="pay" v-no-more-click="1000">支付</van-button></div>
|
<div class="bg-white bottom-btn" v-if="!isWeixin">
|
||||||
<div class="bg-white bottom-btn" v-if="radio == '3' && !isWeixin">
|
<!-- <van-button type="danger" style="width: 100vw;height: 13vw" @click="pay" v-no-more-click="1000">支付</van-button> -->
|
||||||
<van-button type="danger" style="width: 50vw;height: 13vw" @click="pay" v-no-more-click="1000">支付</van-button>
|
<van-button type="danger" style="width: 100vw; height: 13vw" @click="share" v-no-more-click="1000">支付分享</van-button>
|
||||||
<van-button type="danger" style="width: 50vw;height: 13vw" @click="share" v-no-more-click="1000">分享</van-button>
|
</div>
|
||||||
|
<div class="bg-white bottom-btn" v-else>
|
||||||
|
<van-button type="danger" size="large" @click="pay" v-no-more-click="1000">支付</van-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 银行卡扫描按钮 -->
|
<!-- 银行卡扫描按钮 -->
|
||||||
@@ -156,7 +163,7 @@
|
|||||||
</van-list>
|
</van-list>
|
||||||
</van-popup>
|
</van-popup>
|
||||||
<!-- 分享到微信的页面loading -->
|
<!-- 分享到微信的页面loading -->
|
||||||
<Loading :isLoading="isLoading"></Loading>
|
<!-- <Loading :isLoading="isLoading"></Loading> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -182,8 +189,7 @@ export default {
|
|||||||
[Cell.name]: Cell,
|
[Cell.name]: Cell,
|
||||||
[RadioGroup.name]: RadioGroup,
|
[RadioGroup.name]: RadioGroup,
|
||||||
[Radio.name]: Radio,
|
[Radio.name]: Radio,
|
||||||
[Dialog.name]: Dialog,
|
Loading,
|
||||||
Loading
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||||
@@ -200,7 +206,8 @@ export default {
|
|||||||
orderAmount: '', //支付金额
|
orderAmount: '', //支付金额
|
||||||
name: '',
|
name: '',
|
||||||
bankCode: '', //银行卡号
|
bankCode: '', //银行卡号
|
||||||
bankName: '' //开户银行
|
bankName: '', //开户银行
|
||||||
|
schemeName: '' //保障金额
|
||||||
},
|
},
|
||||||
radio: '3',
|
radio: '3',
|
||||||
result: [],
|
result: [],
|
||||||
@@ -245,42 +252,50 @@ export default {
|
|||||||
ReqReserved4: '', // 备用字段4
|
ReqReserved4: '', // 备用字段4
|
||||||
ReqReserved5: '', // 备用字段5
|
ReqReserved5: '', // 备用字段5
|
||||||
S3Sign: '', // 验签信息
|
S3Sign: '', // 验签信息
|
||||||
tradeState: '' // 状态
|
tradeState: '', // 状态
|
||||||
},
|
},
|
||||||
gotPayParam: false, // 是否已正确获取支付参数,
|
gotPayParam: false, // 是否已正确获取支付参数,
|
||||||
payStatus: '', // 接口返回的支付状态
|
payStatus: '', // 接口返回的支付状态
|
||||||
noEdit: true, //是否为编辑
|
noEdit: true, //是否为编辑
|
||||||
isWeixin, // 是否为微信环境
|
isWeixin, // 是否为微信环境
|
||||||
isLoading: false // 分享到微信后的页面loading
|
isLoading: false, // 分享到微信后的页面loading
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
if (this.isWeixin) {
|
if (this.isWeixin) {
|
||||||
this.radio = '3'
|
let orderDetail = JSON.parse(sessionStorage.orderDetail)
|
||||||
let token = this.$route.query.token
|
this.underWriteData = {
|
||||||
let orderNo = this.$route.query.orderNo
|
'riskName': orderDetail.insuredDTOs[0].riskDTOLst[0].riskName,
|
||||||
localStorage.token = token
|
'appntName': orderDetail.appntDTO.name,
|
||||||
localStorage.orderNo = orderNo
|
'insuredName': orderDetail.insuredDTOs[0].name,
|
||||||
this.isLoading = true
|
'orderAmount': orderDetail.insuredDTOs[0].riskDTOLst[0].prem,
|
||||||
this.$toast.loading({
|
'schemeName': orderDetail.insuredDTOs[0].riskDTOLst[0].proScheme,
|
||||||
duration: 0, // 持续展示 toast
|
'idType': orderDetail.appntDTO.idType,
|
||||||
forbidClick: true, // 禁用背景点击
|
|
||||||
loadingType: 'spinner',
|
|
||||||
message: '加载中……'
|
|
||||||
})
|
|
||||||
setTimeout(() => {
|
|
||||||
this.pay()
|
|
||||||
}, 500)
|
|
||||||
}
|
}
|
||||||
|
this.orderStatus = orderDetail.orderInfoDTO.orderStatus
|
||||||
|
localStorage.orderNo = orderDetail.orderInfoDTO.orderNo
|
||||||
|
// this.radio = '3'
|
||||||
|
// this.isLoading = true
|
||||||
|
// this.$toast.loading({
|
||||||
|
// duration: 0, // 持续展示 toast
|
||||||
|
// forbidClick: true, // 禁用背景点击
|
||||||
|
// loadingType: 'spinner',
|
||||||
|
// message: '加载中……'
|
||||||
|
// })
|
||||||
|
// setTimeout(() => {
|
||||||
|
// this.pay()
|
||||||
|
// }, 500)
|
||||||
|
} else {
|
||||||
// 再次支付 调详情 获取信息
|
// 再次支付 调详情 获取信息
|
||||||
this.getOrderDetail()
|
this.getOrderDetail()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
intercept: '1', //是否拦截原生返回事件 1是 其他否
|
||||||
})
|
})
|
||||||
}, 100)
|
}, 100)
|
||||||
// window.appCallBack = this.appCallBack
|
// window.appCallBack = this.appCallBack
|
||||||
@@ -288,11 +303,10 @@ export default {
|
|||||||
// this.underWrite.orderAmount = this.trialList[0].prem
|
// this.underWrite.orderAmount = this.trialList[0].prem
|
||||||
document.body.style.backgroundColor = '#fff'
|
document.body.style.backgroundColor = '#fff'
|
||||||
window.appCallBack = this.appCallBack
|
window.appCallBack = this.appCallBack
|
||||||
|
|
||||||
// 不在微信环境下
|
|
||||||
// if (!this.isWeixin) {
|
|
||||||
// 获取银行卡
|
// 获取银行卡
|
||||||
this.getBankList()
|
this.getBankList()
|
||||||
|
// 不在微信环境下
|
||||||
|
if (!this.isWeixin) {
|
||||||
// this.getOrderDetail()
|
// this.getOrderDetail()
|
||||||
// console.log('----保融form.action', config.payUrl)
|
// console.log('----保融form.action', config.payUrl)
|
||||||
// if (localStorage.salelist == '1') {
|
// if (localStorage.salelist == '1') {
|
||||||
@@ -306,9 +320,7 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// console.log('--自核结果--支付信息:', JSON.stringify(this.underWriteData))
|
// console.log('--自核结果--支付信息:', JSON.stringify(this.underWriteData))
|
||||||
this.getPayTemp()
|
this.getPayTemp()
|
||||||
|
}
|
||||||
|
|
||||||
// }
|
|
||||||
},
|
},
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
document.body.style.backgroundColor = ''
|
document.body.style.backgroundColor = ''
|
||||||
@@ -318,7 +330,7 @@ export default {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||||
intercept: '0' //是否拦截原生返回事件 1是 其他否
|
intercept: '0', //是否拦截原生返回事件 1是 其他否
|
||||||
})
|
})
|
||||||
// window.appCallBack = this.appCallBack
|
// window.appCallBack = this.appCallBack
|
||||||
}, 100)
|
}, 100)
|
||||||
@@ -332,7 +344,7 @@ export default {
|
|||||||
title: '提示',
|
title: '提示',
|
||||||
message: '是否确认退出?',
|
message: '是否确认退出?',
|
||||||
cancelButtonColor: '#E9332E',
|
cancelButtonColor: '#E9332E',
|
||||||
confirmButtonColor: '#FFFFFF'
|
confirmButtonColor: '#FFFFFF',
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$jump({
|
this.$jump({
|
||||||
@@ -340,12 +352,12 @@ export default {
|
|||||||
extra: {
|
extra: {
|
||||||
title: '产品列表',
|
title: '产品列表',
|
||||||
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||||
url: location.origin + `/#/cardList/CardTotreasure`
|
url: location.origin + `/#/cardList/CardTotreasure`,
|
||||||
},
|
},
|
||||||
routerInfo: {
|
routerInfo: {
|
||||||
path: `/cardList/CardTotreasure`,
|
path: `/cardList/CardTotreasure`,
|
||||||
type: '1'
|
type: '1',
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
@@ -357,8 +369,8 @@ export default {
|
|||||||
flag: 'navigation',
|
flag: 'navigation',
|
||||||
extra: {
|
extra: {
|
||||||
title: '支付',
|
title: '支付',
|
||||||
hiddenRight: '1'
|
hiddenRight: '1',
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
this.isScan = false
|
this.isScan = false
|
||||||
}
|
}
|
||||||
@@ -370,8 +382,8 @@ export default {
|
|||||||
flag: 'navigation',
|
flag: 'navigation',
|
||||||
extra: {
|
extra: {
|
||||||
title: '账户信息',
|
title: '账户信息',
|
||||||
hiddenRight: '1'
|
hiddenRight: '1',
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
this.isScan = false
|
this.isScan = false
|
||||||
},
|
},
|
||||||
@@ -387,8 +399,8 @@ export default {
|
|||||||
flag: 'navigation',
|
flag: 'navigation',
|
||||||
extra: {
|
extra: {
|
||||||
title,
|
title,
|
||||||
hiddenLeft: '1'
|
hiddenLeft: '1',
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
this.closeBtn()
|
this.closeBtn()
|
||||||
}, 400)
|
}, 400)
|
||||||
@@ -401,10 +413,10 @@ export default {
|
|||||||
btns: [
|
btns: [
|
||||||
{
|
{
|
||||||
img: this.$assetsUrl + 'images/del-close.png',
|
img: this.$assetsUrl + 'images/del-close.png',
|
||||||
route: { flag: '', extra: {} }
|
route: { flag: '', extra: {} },
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 获取银行列表的focus
|
// 获取银行列表的focus
|
||||||
@@ -417,9 +429,9 @@ export default {
|
|||||||
getBankList() {
|
getBankList() {
|
||||||
let self = this
|
let self = this
|
||||||
let data = {
|
let data = {
|
||||||
operateType: 'bank_type'
|
operateType: 'bank_type',
|
||||||
}
|
}
|
||||||
getBankList(data).then(res => {
|
getBankList(data).then((res) => {
|
||||||
if (res.result == '0') {
|
if (res.result == '0') {
|
||||||
console.log('银行卡列表', res.content)
|
console.log('银行卡列表', res.content)
|
||||||
self.bankList = res.content
|
self.bankList = res.content
|
||||||
@@ -437,19 +449,19 @@ export default {
|
|||||||
},
|
},
|
||||||
getPayTemp() {
|
getPayTemp() {
|
||||||
getPayTemp({ orderNo: window.localStorage.getItem('orderNo') })
|
getPayTemp({ orderNo: window.localStorage.getItem('orderNo') })
|
||||||
.then(res => {
|
.then((res) => {
|
||||||
if (res.result == '0') {
|
if (res.result == '0') {
|
||||||
this.noEdit = res.content.flag != 'false'
|
this.noEdit = res.content.flag != 'false'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(e => {
|
.catch((e) => {
|
||||||
console.error(e)
|
console.error(e)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 再次支付
|
// 获取支付详情
|
||||||
getOrderDetail() {
|
getOrderDetail() {
|
||||||
var orderParms
|
getOrderDetail({ orderNo: window.localStorage.getItem('orderNo') }).then((res) => {
|
||||||
getOrderDetail({orderNo: window.localStorage.getItem('orderNo')}).then(res => {
|
console.log('getOrderDetail', res)
|
||||||
if (res.result == '0') {
|
if (res.result == '0') {
|
||||||
this.orderStatus = res.orderDTO.orderInfoDTO.orderStatus
|
this.orderStatus = res.orderDTO.orderInfoDTO.orderStatus
|
||||||
try {
|
try {
|
||||||
@@ -466,17 +478,19 @@ export default {
|
|||||||
this.$toast.clear()
|
this.$toast.clear()
|
||||||
console.log(res.orderDTO.orderAccountDTO.bankCode)
|
console.log(res.orderDTO.orderAccountDTO.bankCode)
|
||||||
this.underWriteData = {
|
this.underWriteData = {
|
||||||
appntName: res.orderDTO.insuredDTOs[0].riskDTOLst[0].riskName,
|
riskName: res.orderDTO.insuredDTOs[0].riskDTOLst[0].riskName,
|
||||||
name: res.orderDTO.appntDTO.name,
|
appntName: res.orderDTO.appntDTO.name,
|
||||||
|
insuredName: res.orderDTO.insuredDTOs[0].name,
|
||||||
// bankName: res.orderDTO.orderAccountDTO.bankCode,
|
// bankName: res.orderDTO.orderAccountDTO.bankCode,
|
||||||
// bankCode: res.orderDTO.orderAccountDTO.cardBookCode,
|
// bankCode: res.orderDTO.orderAccountDTO.cardBookCode,
|
||||||
// cardBookCode: res.orderDTO.orderAccountDTO.cardBookCode,
|
// cardBookCode: res.orderDTO.orderAccountDTO.cardBookCode,
|
||||||
|
schemeName: res.orderDTO.insuredDTOs[0].riskDTOLst[0].proScheme,
|
||||||
idType: res.orderDTO.appntDTO.idType,
|
idType: res.orderDTO.appntDTO.idType,
|
||||||
orderAmount: res.orderDTO.orderInfoDTO.orderAmount,
|
orderAmount: res.orderDTO.insuredDTOs[0].riskDTOLst[0].prem,
|
||||||
orderNo: res.orderDTO.orderAccountDTO.orderNo,
|
orderNo: res.orderDTO.orderAccountDTO.orderNo,
|
||||||
result: '',
|
result: '',
|
||||||
resultMessage: '交易处理成功',
|
resultMessage: '交易处理成功',
|
||||||
uwResult: '02'
|
uwResult: '02',
|
||||||
}
|
}
|
||||||
// this.bankListName = res.orderDTO.orderAccountDTO.bankName
|
// this.bankListName = res.orderDTO.orderAccountDTO.bankName
|
||||||
this.underWriteData.bankCode =
|
this.underWriteData.bankCode =
|
||||||
@@ -485,7 +499,6 @@ export default {
|
|||||||
this.underWriteData.cardBookCode =
|
this.underWriteData.cardBookCode =
|
||||||
res.orderDTO.orderAccountDTO.cardBookCode !== null ? res.orderDTO.orderAccountDTO.cardBookCode : this.$route.query.bankCode
|
res.orderDTO.orderAccountDTO.cardBookCode !== null ? res.orderDTO.orderAccountDTO.cardBookCode : this.$route.query.bankCode
|
||||||
this.bankListName = res.orderDTO.orderAccountDTO.bankName !== null ? res.orderDTO.orderAccountDTO.bankName : this.$route.query.bankListName
|
this.bankListName = res.orderDTO.orderAccountDTO.bankName !== null ? res.orderDTO.orderAccountDTO.bankName : this.$route.query.bankListName
|
||||||
|
|
||||||
// if (this.isWeixin) {
|
// if (this.isWeixin) {
|
||||||
// this.pay()
|
// this.pay()
|
||||||
// }
|
// }
|
||||||
@@ -494,7 +507,9 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.underWriteData = {
|
this.underWriteData = {
|
||||||
accountName: '',
|
accountName: '',
|
||||||
|
riskName: '',
|
||||||
appntName: '',
|
appntName: '',
|
||||||
|
insuredName: '',
|
||||||
idType: '',
|
idType: '',
|
||||||
bankCode: '',
|
bankCode: '',
|
||||||
bankName: '',
|
bankName: '',
|
||||||
@@ -503,7 +518,7 @@ export default {
|
|||||||
orderNo: '',
|
orderNo: '',
|
||||||
result: '',
|
result: '',
|
||||||
resultMessage: '交易处理失败',
|
resultMessage: '交易处理失败',
|
||||||
uwResult: '00'
|
uwResult: '00',
|
||||||
}
|
}
|
||||||
// window.localStorage.setItem('underWriteData', JSON.stringify(underWriteData))
|
// window.localStorage.setItem('underWriteData', JSON.stringify(underWriteData))
|
||||||
this.$toast(res.resultMessage)
|
this.$toast(res.resultMessage)
|
||||||
@@ -568,9 +583,33 @@ export default {
|
|||||||
let data = {
|
let data = {
|
||||||
orderNo: window.localStorage.getItem('orderNo'),
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
cardOrder: 'cardOrder',
|
cardOrder: 'cardOrder',
|
||||||
payType: this.radio
|
payType: this.radio,
|
||||||
}
|
}
|
||||||
acceptInsurance(data).then(res => {
|
acceptInsurance(data).then((res) => {
|
||||||
|
// this.$jump({
|
||||||
|
// flag: 'h5',
|
||||||
|
// extra: {
|
||||||
|
// forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||||
|
// url: location.origin + `/#/cardList/payLoser`,
|
||||||
|
// },
|
||||||
|
// routerInfo: {
|
||||||
|
// path: `/cardList/payLoser`,
|
||||||
|
// type: '1',
|
||||||
|
// },
|
||||||
|
// })
|
||||||
|
// return;
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||||
|
url: location.origin + `/#/cardList/paySuccess`,
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: `/cardList/paySuccess`,
|
||||||
|
type: '1',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return
|
||||||
console.log('----取支付参数结果:', JSON.stringify(res))
|
console.log('----取支付参数结果:', JSON.stringify(res))
|
||||||
// res = {'result':'0','resultMessage':'','content':null,'prtNo':'8186270000000008','payStatus':'4','amnt':'63700.00','appntName':'投保人','message':null,'brPayReturnData':{'result':'','resultMessage':'','content':null,'businessId':'1569125393518','businessNo':'8186270000000008','tradeSubType':'COMM','businessType':'SALE','systemType':'GF','money':63700,'businessSubType':'XDCB','thirdType':'0002','thirdName':null,'bankCode':'ABC','epayOrderNo':'1909221209536259999900','companyAccount':null,'tradeState':'TRADING','standardCode':'DEALING','standardMsg':null,'thirdOrderNo':null,'respRemark':null,'tradeTime':'2019-09-22T04:09:53.518+0000','description':'','version':'1','sourceNotecode':'8186270000000008','payType':'MIT01','expireDate':'20191010101010','transSeq':'20190922120953782','transSource':'MIT','applyEntity':'11860000','paymentCode':'8186270000000008','transDate':'20190922','rdSeq':'1909221209536259999900','settleMode':null,'cur':'CNY','transTime':'120953','ourAmount':63700,'fixUser':'1','insurer':'投保人','certType':'0','certNum':'110101199009210011','oppBank':'ABC','oppAct':'6228481200290317812','oppActName':'投保人','cellPhone':null,'purpose':null,'memo':null,'returnURL':'http://139.199.50.151/#/sale/payResult','notifyURL':'http://139.199.50.151:7000/api/v1/epay/epay/payResult','s3Sign':'e3f0581ec6b751337e8eca360a0746bc'}}
|
// res = {'result':'0','resultMessage':'','content':null,'prtNo':'8186270000000008','payStatus':'4','amnt':'63700.00','appntName':'投保人','message':null,'brPayReturnData':{'result':'','resultMessage':'','content':null,'businessId':'1569125393518','businessNo':'8186270000000008','tradeSubType':'COMM','businessType':'SALE','systemType':'GF','money':63700,'businessSubType':'XDCB','thirdType':'0002','thirdName':null,'bankCode':'ABC','epayOrderNo':'1909221209536259999900','companyAccount':null,'tradeState':'TRADING','standardCode':'DEALING','standardMsg':null,'thirdOrderNo':null,'respRemark':null,'tradeTime':'2019-09-22T04:09:53.518+0000','description':'','version':'1','sourceNotecode':'8186270000000008','payType':'MIT01','expireDate':'20191010101010','transSeq':'20190922120953782','transSource':'MIT','applyEntity':'11860000','paymentCode':'8186270000000008','transDate':'20190922','rdSeq':'1909221209536259999900','settleMode':null,'cur':'CNY','transTime':'120953','ourAmount':63700,'fixUser':'1','insurer':'投保人','certType':'0','certNum':'110101199009210011','oppBank':'ABC','oppAct':'6228481200290317812','oppActName':'投保人','cellPhone':null,'purpose':null,'memo':null,'returnURL':'http://139.199.50.151/#/sale/payResult','notifyURL':'http://139.199.50.151:7000/api/v1/epay/epay/payResult','s3Sign':'e3f0581ec6b751337e8eca360a0746bc'}}
|
||||||
if (res.result == '0') {
|
if (res.result == '0') {
|
||||||
@@ -609,7 +648,7 @@ export default {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||||
intercept: '0' //是否拦截原生返回事件 1是 其他否
|
intercept: '0', //是否拦截原生返回事件 1是 其他否
|
||||||
})
|
})
|
||||||
}, 100)
|
}, 100)
|
||||||
})
|
})
|
||||||
@@ -629,7 +668,7 @@ export default {
|
|||||||
let data = {
|
let data = {
|
||||||
orderDTO: {
|
orderDTO: {
|
||||||
orderInfoDTO: {
|
orderInfoDTO: {
|
||||||
orderNo: window.localStorage.getItem('orderNo')
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
},
|
},
|
||||||
orderAccountDTO: {
|
orderAccountDTO: {
|
||||||
accountType: '0',
|
accountType: '0',
|
||||||
@@ -639,15 +678,15 @@ export default {
|
|||||||
cardBookType: '1',
|
cardBookType: '1',
|
||||||
cardBookCode: this.underWriteData.bankCode,
|
cardBookCode: this.underWriteData.bankCode,
|
||||||
isAutoPay: '0',
|
isAutoPay: '0',
|
||||||
isAutoRenewal: '1'
|
isAutoRenewal: '1',
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
this.$toast.loading({
|
this.$toast.loading({
|
||||||
duration: 0, // 持续展示 toast
|
duration: 0, // 持续展示 toast
|
||||||
forbidClick: true, // 禁用背景点击
|
forbidClick: true, // 禁用背景点击
|
||||||
loadingType: 'spinner',
|
loadingType: 'spinner',
|
||||||
message: '加载中……'
|
message: '加载中……',
|
||||||
})
|
})
|
||||||
/*
|
/*
|
||||||
支付之前要先保存银行账户信息
|
支付之前要先保存银行账户信息
|
||||||
@@ -661,7 +700,7 @@ export default {
|
|||||||
duration: 0, // 持续展示 toast
|
duration: 0, // 持续展示 toast
|
||||||
forbidClick: true, // 禁用背景点击
|
forbidClick: true, // 禁用背景点击
|
||||||
loadingType: 'spinner',
|
loadingType: 'spinner',
|
||||||
message: '加载中……'
|
message: '加载中……',
|
||||||
})
|
})
|
||||||
|
|
||||||
// if (!flag) {
|
// if (!flag) {
|
||||||
@@ -688,7 +727,7 @@ export default {
|
|||||||
duration: 0, // 持续展示 toast
|
duration: 0, // 持续展示 toast
|
||||||
forbidClick: true, // 禁用背景点击
|
forbidClick: true, // 禁用背景点击
|
||||||
loadingType: 'spinner',
|
loadingType: 'spinner',
|
||||||
message: '加载中……'
|
message: '加载中……',
|
||||||
})
|
})
|
||||||
|
|
||||||
// if (!flag) {
|
// if (!flag) {
|
||||||
@@ -713,7 +752,7 @@ export default {
|
|||||||
this.$dialog
|
this.$dialog
|
||||||
.confirm({
|
.confirm({
|
||||||
message: '证件类型不是身份证,无法使用微信支付',
|
message: '证件类型不是身份证,无法使用微信支付',
|
||||||
showCancelButton: false
|
showCancelButton: false,
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.radio = ''
|
this.radio = ''
|
||||||
@@ -727,14 +766,13 @@ export default {
|
|||||||
console.log(this.$validator)
|
console.log(this.$validator)
|
||||||
return this.$toast(this.$validator.errors.all()[0])
|
return this.$toast(this.$validator.errors.all()[0])
|
||||||
}
|
}
|
||||||
let shareName = this.underWriteData.name
|
let shareName = this.underWriteData.appntName
|
||||||
localStorage.name = this.underWriteData.name
|
localStorage.name = this.underWriteData.appntName
|
||||||
localStorage.bankName = this.underWriteData.bankName
|
localStorage.bankName = this.underWriteData.bankName
|
||||||
localStorage.bankCode = this.underWriteData.bankCode
|
localStorage.bankCode = this.underWriteData.bankCode
|
||||||
localStorage.bankListName = this.bankListName
|
localStorage.bankListName = this.bankListName
|
||||||
console.log(this.underWriteData.bankName, this.underWriteData.bankCode, this.bankListName, this.underWriteData.name)
|
|
||||||
let res = await getShareParam({ shareType: 'card_pay' })
|
let res = await getShareParam({ shareType: 'card_pay' })
|
||||||
let url = location.origin + '/#/cardList/pay?orderNo=' + localStorage.orderNo + '&token=' + res.content
|
let url = location.origin + '/#/cardList/phoneCode?orderNo=' + localStorage.orderNo + '&token=' + res.content
|
||||||
if (res.result == '0') {
|
if (res.result == '0') {
|
||||||
EWebBridge.webCallAppInJs('bridge', {
|
EWebBridge.webCallAppInJs('bridge', {
|
||||||
flag: 'share',
|
flag: 'share',
|
||||||
@@ -749,7 +787,7 @@ export default {
|
|||||||
return this.$toast(res.resultMessage)
|
return this.$toast(res.resultMessage)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -766,4 +804,8 @@ export default {
|
|||||||
padding-right: 3px;
|
padding-right: 3px;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
|
.bottom-btn {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="PayLoser">
|
<div class="PayLoser">
|
||||||
<div>
|
<div>
|
||||||
<img src="../../../assets/images/u10608.svg" alt="" />
|
<!-- <img src="../../../assets/images/u10608.svg" alt="" /> -->
|
||||||
|
<img :src="$assetsUrl + 'images/fail.png'" alt="">
|
||||||
<p>支付失败</p>
|
<p>支付失败</p>
|
||||||
</div>
|
</div>
|
||||||
<van-button type="info" size="large" class="payBtn">返回首页</van-button>
|
<van-button type="danger" size="large" class="payBtn">返回首页</van-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="paySuccess">
|
<div class="paySuccess">
|
||||||
<template v-if="payStatus == '1'">
|
<template>
|
||||||
<div class="paySucc">
|
<div class="paySucc">
|
||||||
<van-icon name="passed" size="100px" color="#1296DB" />
|
<van-icon name="passed" size="100px" color="#E9332E" />
|
||||||
<span>支付成功</span>
|
<span>支付成功</span>
|
||||||
</div>
|
</div>
|
||||||
<van-cell-group name="payInfo">
|
<van-cell-group name="payInfo">
|
||||||
<van-field v-model="payInfo.productName" readonly clearable label="产品名称" name="产品名称" placeholder="国富安全出行2.0" />
|
<van-field v-model="productName" readonly clearable label="产品名称" name="产品名称" placeholder="国富安全出行2.0" />
|
||||||
<van-field v-model="payInfo.paymentAmount" readonly clearable label="支付金额" name="支付金额" placeholder="100.00元" />
|
<van-field v-model="paymentAmount" readonly clearable label="支付金额" name="支付金额" placeholder="100.00元" />
|
||||||
<van-field v-model="payInfo.bankCardNumber" readonly clearable label="卡号" name="卡号" placeholder="1297793740298" />
|
<van-field v-model="bankCardNumber" readonly clearable label="卡号" name="卡号" placeholder="1297793740298" />
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="payStatus == '2'">
|
<!-- <template v-else-if="payStatus == '2'">
|
||||||
<div class="flex flex-direction-colunm align-items-c pt100">
|
<div class="flex flex-direction-colunm align-items-c pt100">
|
||||||
<img :src="this.$assetsUrl + 'images/fail.png'" class="w100 h100" alt="" />
|
<img :src="this.$assetsUrl + 'images/fail.png'" class="w100 h100" alt="" />
|
||||||
<p class="mt30">支付失败</p>
|
<p class="mt30">支付失败</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template> -->
|
||||||
<div class="bg-white bottom-btn">
|
<div class="bg-white bottom-btn">
|
||||||
<van-button type="danger" size="large" class="payBtn" @click="goHome">返回首页</van-button>
|
<van-button type="danger" size="large" class="payBtn" @click="goHome">返回首页</van-button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,28 +1,111 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: PangXingYue
|
||||||
|
* @Date: 2021-04-01 11:00:21
|
||||||
|
* @LastEditTime: 2021-04-06 16:32:02
|
||||||
|
* @LastEditors: PangXingYue
|
||||||
|
* @Description:
|
||||||
|
* @FilePath: \ebiz-h5\src\views\ebiz\cardList\ShowPDF.vue
|
||||||
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<iframe :src="src + pdfUrl" style="width:100vw;height:100vh"></iframe>
|
<van-notice-bar wrapable v-if="time > 0" :scrollable="false" :text="'提示:阅读时长需在' + time + '秒以上'" />
|
||||||
|
<iframe :src="src + pdfUrl" style="width: 100vw; height: calc(100vh - 100px)"></iframe>
|
||||||
|
<div class="bg-white bottom-btn" v-if="docType === 'shareOpen'">
|
||||||
|
<van-button type="danger" size="large" @click="nextStep" v-no-more-click="1000">下一步</van-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { Button, NoticeBar } from 'vant'
|
||||||
|
import { saveOrUpdateDocument } from '@/api/ebiz/cardList/cardList.js'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pdfUrl: '',
|
pdfUrl: '',
|
||||||
src: location.origin + '/pdfjs/web/viewer.html?file='
|
src: 'http://139.199.50.151' + '/pdfjs/web/viewer.html?file=',
|
||||||
|
index: this.$route.query.index || 0, //阅读文件指针
|
||||||
|
timer: null,
|
||||||
|
time: 5,
|
||||||
|
cardListPDF: [],
|
||||||
|
orderDTO: [],
|
||||||
|
docType: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
components: {
|
||||||
|
[NoticeBar.name]: NoticeBar,
|
||||||
|
[Button.name]: Button
|
||||||
|
},
|
||||||
created() {
|
created() {
|
||||||
|
if (sessionStorage.orderDetail) {
|
||||||
|
this.orderDTO = JSON.parse(sessionStorage.orderDetail)
|
||||||
|
this.cardListPDF = this.orderDTO.ebizSignDTOS
|
||||||
|
this.docType = 'shareOpen'
|
||||||
|
} else {
|
||||||
|
this.cardListPDF = JSON.parse(localStorage.getItem('cardListPDF'))
|
||||||
|
}
|
||||||
this.init()
|
this.init()
|
||||||
},
|
},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init() {
|
||||||
let cardListPDF = JSON.parse(localStorage.cardListPDF)
|
if (sessionStorage.orderDetail) {
|
||||||
console.log(cardListPDF)
|
this.pdfUrl = this.cardListPDF[this.index].originalUrl
|
||||||
this.pdfUrl = cardListPDF.documentUrl
|
document.title = this.cardListPDF[this.index].documentName
|
||||||
this.shareContent = cardListPDF.title
|
} else {
|
||||||
document.title = cardListPDF.title
|
this.pdfUrl = this.cardListPDF.documentUrl
|
||||||
|
document.title = this.cardListPDF.title
|
||||||
|
}
|
||||||
|
this.interval()
|
||||||
|
},
|
||||||
|
interval() {
|
||||||
|
this.time = 5
|
||||||
|
this.timer = setInterval(() => {
|
||||||
|
this.time--
|
||||||
|
if (this.time == 0) return clearInterval(this.timer)
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
|
nextStep() {
|
||||||
|
// 调用阅读接口
|
||||||
|
if (this.time !== 0) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
this.saveOrUpdateDocument()
|
||||||
|
},
|
||||||
|
//更新险种文档阅读状态
|
||||||
|
saveOrUpdateDocument() {
|
||||||
|
this.cardListPDF[this.index]['documentStatus'] = '1'
|
||||||
|
let data = {
|
||||||
|
ebizSignDTOS: [this.cardListPDF[this.index]]
|
||||||
|
}
|
||||||
|
saveOrUpdateDocument(data).then(res => {
|
||||||
|
if (res.result == '0') {
|
||||||
|
this.$toast.clear()
|
||||||
|
sessionStorage.orderDetail = JSON.stringify(this.orderDTO)
|
||||||
|
if (this.index >= this.cardListPDF.length - 1) {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/cardList/SignatureConfirmation'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/cardList/SignatureConfirmation'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.index = this.cardListPDF.findIndex((item, key) => {
|
||||||
|
return item.documentStatus != 1
|
||||||
|
})
|
||||||
|
if (this.index != -1) {
|
||||||
|
this.init()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.cardListPDF[this.index]['documentStatus'] = '0'
|
||||||
|
this.$toast(res.resultMessage)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
204
src/views/ebiz/cardList/SignatureConfirmation.vue
Normal file
204
src/views/ebiz/cardList/SignatureConfirmation.vue
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
<template>
|
||||||
|
<div class="signature-container">
|
||||||
|
<div class="signature-content pb40">
|
||||||
|
<van-cell-group class="mt10">
|
||||||
|
<van-cell title="销售人员工号" :value="recmd.agentCode" />
|
||||||
|
<van-cell title="销售人员姓名" :value="recmd.name" />
|
||||||
|
<van-cell title="投保单号" :value="orderInfo.orderNo"></van-cell>
|
||||||
|
<van-cell title="投保日期" :value="orderInfo.appntDateLabel" />
|
||||||
|
<van-cell title="保费合计(元)" :value="orderInfo.orderAmount == undefined ? '' : orderInfo.orderAmount | moneyFormat" />
|
||||||
|
</van-cell-group>
|
||||||
|
<!-- 在微信 -->
|
||||||
|
<div class="mt10">
|
||||||
|
<van-collapse v-model="activeNames">
|
||||||
|
<van-collapse-item name="1">
|
||||||
|
<div slot="title">
|
||||||
|
投保人
|
||||||
|
<span class="ml20">{{ appntInfo.name }}</span>
|
||||||
|
</div>
|
||||||
|
<p class="mb20">以下内容需要您按照顺序阅读确认:</p>
|
||||||
|
<div>
|
||||||
|
<p>需阅读</p>
|
||||||
|
<p class="mb20" v-for="item in appntSign" :key="item.signId">
|
||||||
|
<span class="text">{{ item.documentName }}</span>
|
||||||
|
<img :src="src" v-if="item.documentStatus == '1'" />
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<p class="start">点击【下一步】按钮,进行相关操作</p>
|
||||||
|
<!-- <div class="text">操作时间已失效,请联系销售人员!</div> -->
|
||||||
|
</van-collapse-item>
|
||||||
|
</van-collapse>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-btn bg-white">
|
||||||
|
<van-button type="danger" size="large" @click="next" v-no-more-click="1000">下一步</van-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// import UploadImageFile from '@/components/ebiz/sale/UploadImageFile'
|
||||||
|
import { Field, Cell, CellGroup, Collapse, CollapseItem, Dialog } from 'vant'
|
||||||
|
import { underWrite } from '@/api/ebiz/sale/sale'
|
||||||
|
import { checkPhone } from '@/api/ebiz/customer/customer'
|
||||||
|
import IndexBar from '@/components/ebiz/sale/IndexBar'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||||
|
return {
|
||||||
|
operaFlag: null,
|
||||||
|
encyCustomerMobile: null,
|
||||||
|
//人脸识别认证次数
|
||||||
|
faceAuthCount: {
|
||||||
|
appnt: 0,
|
||||||
|
insured: 0,
|
||||||
|
weixin: 0,
|
||||||
|
},
|
||||||
|
customerMobile: '',
|
||||||
|
//保险产品名称
|
||||||
|
riskName: '',
|
||||||
|
// 员工信息
|
||||||
|
recmd: {},
|
||||||
|
// 订单信息
|
||||||
|
orderInfo: {},
|
||||||
|
// 投保人信息
|
||||||
|
appntInfo: {},
|
||||||
|
// 投保人签名阅读信息
|
||||||
|
appntSign: [
|
||||||
|
|
||||||
|
],
|
||||||
|
// 折叠面板
|
||||||
|
activeNames: ['1'],
|
||||||
|
// 图片路径
|
||||||
|
src: this.$assetsUrl + 'images/u6490.png',
|
||||||
|
// 是否在微信
|
||||||
|
isWeixin,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
orderDTO: {
|
||||||
|
get() {
|
||||||
|
return JSON.parse(sessionStorage.orderDetail)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化
|
||||||
|
async init() {
|
||||||
|
this.recmd = this.orderDTO.recmdDTO
|
||||||
|
this.orderInfo = this.orderDTO.orderInfoDTO
|
||||||
|
this.appntInfo = this.orderDTO.appntDTO
|
||||||
|
// localStorage.setItem('cardListPDF', JSON.stringify(this.orderDTO.ebizSignDTOS))
|
||||||
|
this.appntSign = this.orderDTO.ebizSignDTOS
|
||||||
|
|
||||||
|
// if (this.isWeixin) {
|
||||||
|
// await this.getOrderDetail()
|
||||||
|
// // weixinShare({
|
||||||
|
// // title: '国富人寿计划书',
|
||||||
|
// // imgUrl: 'http://47.96.143.111:8000/app/images/logo.png',
|
||||||
|
// // desc: '国富为您量身定制的保险产品,请查收'
|
||||||
|
// // })
|
||||||
|
// } else {
|
||||||
|
// // 获取详情消息
|
||||||
|
// this.getOrderDetail()
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
// 提交
|
||||||
|
next() {
|
||||||
|
let index = 0
|
||||||
|
let is_sign = this.appntSign.some((item, key) => {
|
||||||
|
index = key
|
||||||
|
return item.documentStatus != 1
|
||||||
|
})
|
||||||
|
if (is_sign) {
|
||||||
|
// 有未阅读的文件
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
title: this.appntSign[index].documentName,
|
||||||
|
// url: 'http://47.96.143.111/pdfjs/web/viewer.html?file=' + url //测试代码
|
||||||
|
url: location.origin + '/#/cardList/ShowPDF?index='+index,
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/cardList/ShowPDF?index='+index,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
return this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
title: this.appntSign[index].documentName,
|
||||||
|
url: location.origin + '/#/cardList/pay',
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/cardList/pay',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
//需要全部提交
|
||||||
|
/** this.$toast.loading({
|
||||||
|
duration: 0, // 持续展示 toast
|
||||||
|
|
||||||
|
forbidClick: true, // 禁用背景点击
|
||||||
|
|
||||||
|
loadingType: 'spinner',
|
||||||
|
|
||||||
|
message: '加载中……',
|
||||||
|
})
|
||||||
|
let data = {
|
||||||
|
platform: 'app',
|
||||||
|
type: '1',
|
||||||
|
orderDTO: {
|
||||||
|
orderInfoDTO: {
|
||||||
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
// /insure/selfToHuman
|
||||||
|
underWrite(data).then((res) => {
|
||||||
|
this.$toast.clear()
|
||||||
|
if (res.result == '0') {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})**/
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {},
|
||||||
|
mounted() {
|
||||||
|
// 初始化
|
||||||
|
this.init()
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
[Cell.name]: Cell,
|
||||||
|
[CellGroup.name]: CellGroup,
|
||||||
|
[Collapse.name]: Collapse,
|
||||||
|
[CollapseItem.name]: CollapseItem,
|
||||||
|
[Dialog.name]: Dialog,
|
||||||
|
[Field.name]: Field,
|
||||||
|
[IndexBar.name]: IndexBar,
|
||||||
|
},
|
||||||
|
beforeRouteLeave(to, from, next) {
|
||||||
|
document.body.style.backgroundColor = ''
|
||||||
|
next()
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import '@/assets/sass/variables.scss';
|
||||||
|
.text {
|
||||||
|
color: #4a90e2;
|
||||||
|
}
|
||||||
|
.start {
|
||||||
|
color: #4fc6b3;
|
||||||
|
}
|
||||||
|
.tips {
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
.tips {
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
131
src/views/ebiz/cardList/cardDetail.vue
Normal file
131
src/views/ebiz/cardList/cardDetail.vue
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
<template>
|
||||||
|
<div class="product-detail-container pb50" style="overflow: hidden">
|
||||||
|
<van-cell-group class="mt10">
|
||||||
|
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">投保人信息</p>
|
||||||
|
<van-field :value="appntInfo.name" label="姓名" name="姓名" readonly />
|
||||||
|
<van-field :value="appntInfo.idType | idToText('insuredIdType')" label="证件类型" name="证件类型" readonly />
|
||||||
|
<van-field :value="appntInfo.idNo" label="证件号码" name="证件号码" readonly />
|
||||||
|
<van-field :value="appntInfo.mobile" label="手机号码" name="手机号码" readonly />
|
||||||
|
<van-field :value="appntInfo.email" label="电子邮箱" name="电子邮箱" readonly />
|
||||||
|
<van-field :value="appntInfo.homeName" label="联系地址" name="联系地址" readonly />
|
||||||
|
<van-field :value="appntInfo.homeAddress" label="详细地址" name="详细地址" readonly />
|
||||||
|
</van-cell-group>
|
||||||
|
<van-cell-group class="mt10">
|
||||||
|
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">被保人信息</p>
|
||||||
|
<van-field :value="insuredInfo.name" label="姓名" name="姓名" readonly />
|
||||||
|
<van-field :value="insuredInfo.idType | idToText('insuredIdType')" label="证件类型" name="证件类型" readonly />
|
||||||
|
<van-field :value="insuredInfo.idNo" label="证件号码" name="证件号码" readonly />
|
||||||
|
<van-field :value="insuredInfo.mobile" label="手机号码" name="手机号码" readonly />
|
||||||
|
<van-field :value="insuredInfo.email" label="电子邮箱" name="电子邮箱" readonly />
|
||||||
|
<van-field :value="insuredInfo.homeName" label="联系地址" name="联系地址" readonly />
|
||||||
|
<van-field :value="insuredInfo.homeAddress" label="详细地址" name="详细地址" readonly />
|
||||||
|
</van-cell-group>
|
||||||
|
<van-cell-group class="mt10">
|
||||||
|
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">受益人信息</p>
|
||||||
|
<van-field readonly v-model="bnfTypeVal" clearable label="受益人类型" v-validate="'required'" style="border-bottom: 1px solid #ebedf0" />
|
||||||
|
</van-cell-group>
|
||||||
|
<van-cell-group class="mt10">
|
||||||
|
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">产品信息</p>
|
||||||
|
<van-field :value="riskDTO.riskName" label="保障方案" name="保障方案" readonly />
|
||||||
|
<van-field value="保额" label="保险责任" name="保险责任" readonly />
|
||||||
|
<van-field :value="riskDTO.prem" label="保费" name="保费" readonly />
|
||||||
|
<van-field :value="'1年'" label="保险期间" name="保险期间" readonly />
|
||||||
|
</van-cell-group>
|
||||||
|
<div class="tips">注:{{productDate}}</div>
|
||||||
|
<van-goods-action style="z-index: 99">
|
||||||
|
<van-button type="default" style="width: 50%; font-size: 14px; height: 40px; background: white">总保费:<span style="color: red; font-weight: bold; font-size: 18px; font-weight: 400">{{
|
||||||
|
riskDTO.prem }}</span>元</van-button>
|
||||||
|
<van-goods-action-button type="danger" text="确认" @click="nextStep" v-no-more-click="1000" style="border-radius: 0em; width: 50%; height: 40px" />
|
||||||
|
</van-goods-action>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { Field, GoodsAction, GoodsActionIcon, GoodsActionButton, Icon } from 'vant'
|
||||||
|
import { getOrderDetail, information, underWrite } from '@/api/ebiz/sale/sale'
|
||||||
|
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
|
||||||
|
export default {
|
||||||
|
name: 'cardDetail',
|
||||||
|
components: {
|
||||||
|
[Field.name]: Field,
|
||||||
|
[GoodsAction.name]: GoodsAction,
|
||||||
|
[GoodsActionIcon.name]: GoodsActionIcon,
|
||||||
|
[GoodsActionButton.name]: GoodsActionButton,
|
||||||
|
[Icon.name]: Icon
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
orderDTO: {
|
||||||
|
get() {
|
||||||
|
return JSON.parse(sessionStorage.orderDetail)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeName: ['1'],
|
||||||
|
appntInfo: {},
|
||||||
|
insuredInfo: {},
|
||||||
|
bnfTypeVal: '法定受益人', //受益人类型文字展示
|
||||||
|
riskDTO: {},
|
||||||
|
productDate: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.appntInfo = this.orderDTO.appntDTO
|
||||||
|
this.appntInfo.homeName = getAreaName([{ code: this.appntInfo.homeProvince }, { code: this.appntInfo.homeCity }, { code: this.appntInfo.homeArea }])
|
||||||
|
this.insuredInfo = this.orderDTO.insuredDTOs[0]
|
||||||
|
this.insuredInfo.homeName = getAreaName([{ code: this.insuredInfo.homeProvince }, { code: this.insuredInfo.homeCity }, { code: this.insuredInfo.homeArea }])
|
||||||
|
|
||||||
|
let insuYear = (this.riskDTO = this.orderDTO.insuredDTOs[0].riskDTOLst[0])
|
||||||
|
let currentDataArr = insuYear.cvaliDate.split('-')
|
||||||
|
let currentData = currentDataArr[0] + '年' + currentDataArr[1] + '月' + currentDataArr[2] + '日'
|
||||||
|
let insuYearM, productDate, productDateTime,insuYearD;
|
||||||
|
|
||||||
|
switch (insuYear.insuYearFlag) {
|
||||||
|
case 'D':
|
||||||
|
let hoDate = Date.parse(insuYear.cvaliDate) / 1000 + insuYear['insuYear'] * 24 * 3600
|
||||||
|
productDate = new Date(parseInt(hoDate) * 1000)
|
||||||
|
insuYearM = productDate.getMonth() + 1 < 10 ? '0' + (productDate.getMonth() + 1) : productDate.getMonth() + 1
|
||||||
|
insuYearD = productDate.getDate() < 10 ? '0' + productDate.getDate() : productDate.getDate()
|
||||||
|
productDateTime = productDate.getFullYear() + '年' + insuYearM + '月' + insuYearD + '日'
|
||||||
|
this.productDate = currentData + '0时至' + productDateTime + '24时止'
|
||||||
|
break
|
||||||
|
case 'Y':
|
||||||
|
productDate = new Date(insuYear.cvaliDate)
|
||||||
|
insuYearM = productDate.getMonth() + 1 < 10 ? '0' + (productDate.getMonth() + 1) : productDate.getMonth() + 1
|
||||||
|
insuYearD = productDate.getDate() < 10 ? '0' + productDate.getDate() : productDate.getDate()
|
||||||
|
productDateTime = parseInt(productDate.getFullYear()) + parseInt(insuYear['insuYear']) + '年' + insuYearM + '月' + insuYearD + '日'
|
||||||
|
this.productDate = currentData + '0时至' + productDateTime + '24时止'
|
||||||
|
break
|
||||||
|
case 'M':
|
||||||
|
productDateTime = this.GetNextMonthDay(insuYear.cvaliDate, insuYear['insuYear'])
|
||||||
|
this.productDate = currentData + '0时至' + productDateTime + '24时止'
|
||||||
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
nextStep() {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + `/#/cardList/SignatureConfirmation`
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: `/cardList/SignatureConfirmation`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.product-detail-container .van-collapse-item__content {
|
||||||
|
padding: 0 15px;
|
||||||
|
}
|
||||||
|
.tips {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -3,146 +3,71 @@
|
|||||||
<!-- 投保人信息 -->
|
<!-- 投保人信息 -->
|
||||||
<van-cell-group class="mt10">
|
<van-cell-group class="mt10">
|
||||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">投保人信息</p>
|
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">投保人信息</p>
|
||||||
<customer-picker
|
<customer-picker @on-choose="chooseCustomer(arguments)" v-validate="'required|name'" name="投保人姓名" label="投保人姓名"
|
||||||
@on-choose="chooseCustomer(arguments)"
|
required :parentShowPicker.sync="customerShowPicker" :value.sync="userInfo.name" @nameChange="nameChange"
|
||||||
v-validate="'required|name'"
|
@on-click="selectClick('1', '0')"></customer-picker>
|
||||||
name="投保人姓名"
|
<van-field :value="userInfo.idType | idToText('insuredIdType')" v-validate="'required'" readonly required label="证件类型"
|
||||||
label="投保人姓名"
|
name="证件类型" right-icon="arrow" placeholder="请选择" />
|
||||||
required
|
<!-- @click="toSelect('2')" -->
|
||||||
:parentShowPicker.sync="customerShowPicker"
|
|
||||||
v-model="userInfo.name"
|
|
||||||
@nameChange="nameChange"
|
|
||||||
@on-click="selectClick('1', '0')"
|
|
||||||
></customer-picker>
|
|
||||||
<van-field
|
|
||||||
:value="userInfo.idType | idToText('insuredIdType')"
|
|
||||||
v-validate="'required'"
|
|
||||||
readonly
|
|
||||||
required
|
|
||||||
label="证件类型"
|
|
||||||
name="证件类型"
|
|
||||||
right-icon="arrow"
|
|
||||||
placeholder="请选择"
|
|
||||||
@click="toSelect('2')"
|
|
||||||
/>
|
|
||||||
<!-- <van-field v-model="userInfo.idNo" v-validate="'required|idNo'" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable> -->
|
<!-- <van-field v-model="userInfo.idNo" v-validate="'required|idNo'" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable> -->
|
||||||
<van-field
|
<van-field v-model="userInfo.idNo" maxlength="18" required label="证件号码" v-validate="'required'" name="证件号码"
|
||||||
v-model="userInfo.idNo"
|
placeholder="请输入" clearable @blur="getRelatedData(userInfo.idNo, '1')">
|
||||||
maxlength="18"
|
<van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3','','1')">证件扫描</van-button>
|
||||||
required
|
|
||||||
label="证件号码"
|
|
||||||
v-validate="'required'"
|
|
||||||
name="证件号码"
|
|
||||||
placeholder="请输入"
|
|
||||||
clearable
|
|
||||||
@blur="getRelatedData(userInfo.idNo, '1')"
|
|
||||||
>
|
|
||||||
<van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')">证件扫描</van-button>
|
|
||||||
</van-field>
|
</van-field>
|
||||||
<select-radio required :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="userInfo.sex"></select-radio>
|
<select-radio required :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="userInfo.sex"></select-radio>
|
||||||
<FieldDatePicter
|
<FieldDatePicter v-validate="'required'" label="出生日期" name="出生日期" required :value.sync="userInfo.birthday" type="date"
|
||||||
v-validate="'required'"
|
:flag="true" @confirm="onDateConfirm($event, '2')" ref="birthday" :maxDate="maxDate">
|
||||||
label="出生日期"
|
|
||||||
name="出生日期"
|
|
||||||
required
|
|
||||||
:value.sync="userInfo.birthday"
|
|
||||||
type="date"
|
|
||||||
:flag="true"
|
|
||||||
@confirm="onDateConfirm($event, '2')"
|
|
||||||
ref="birthday"
|
|
||||||
:maxDate="maxDate"
|
|
||||||
>
|
|
||||||
</FieldDatePicter>
|
</FieldDatePicter>
|
||||||
<van-field
|
<van-field required v-model="userInfo.mobile" clearable label="手机号码" name="手机号码" placeholder="请输入" v-validate="'required|mobile'"
|
||||||
required
|
maxlength="11" />
|
||||||
v-model="userInfo.mobile"
|
<van-field v-model="userInfo.email" required label="邮箱" name="邮箱" placeholder="请输入" v-validate="'required|email'"
|
||||||
clearable
|
clearable />
|
||||||
label="手机号码"
|
|
||||||
name="手机号码"
|
|
||||||
placeholder="请输入"
|
|
||||||
v-validate="'required|mobile'"
|
|
||||||
maxlength="11"
|
|
||||||
/>
|
|
||||||
<van-field v-model="userInfo.email" required label="邮箱" name="邮箱" placeholder="请输入" v-validate="'required|email'" clearable />
|
|
||||||
<!-- <van-field v-model="userInfo.workcompany" required label="工作单位" name="工作单位" placeholder="请输入" v-validate="'required'" maxlength="50" clearable /> -->
|
<!-- <van-field v-model="userInfo.workcompany" required label="工作单位" name="工作单位" placeholder="请输入" v-validate="'required'" maxlength="50" clearable /> -->
|
||||||
<!-- <template v-if="false">
|
<van-field @click="openOccupation('1')" label="职业类别" placeholder="请输入" name="职业类别" :value="userInfo.occupationName"
|
||||||
<van-field
|
right-icon="arrow" />
|
||||||
v-model="homeName"
|
<van-field :value="userInfo.nativeplace | idToText('nativeplace')" readonly required label="国籍" name="国籍"
|
||||||
readonly
|
v-validate="'required'" right-icon="arrow" placeholder="请选择" @click="toSelect('1')" />
|
||||||
label="地址"
|
<van-field :value="userInfo.marriage | idToText('marriage')" readonly required label="婚姻状况" name="婚姻状况"
|
||||||
name="地址"
|
v-validate="'required'" right-icon="arrow" placeholder="请选择" @click="toSelect('6')" />
|
||||||
required
|
<van-field v-model="userInfo.homeName" readonly label="联系地址" name="联系地址" required right-icon="arrow" placeholder="请选择"
|
||||||
right-icon="arrow"
|
v-validate="'required'" @click="areaSelect('1')" />
|
||||||
placeholder="请选择"
|
<van-field v-model="userInfo.homeAddress" label name="详细地址" placeholder="请输入详细地址" v-validate="'required'"
|
||||||
v-validate="'required'"
|
clearable maxlength="30" />
|
||||||
@click="homeShow = true"
|
<!-- </template> -->
|
||||||
/>
|
<van-field :value="userInfo.relationToInsured | idToText('relationToAppnt')" readonly required label="与被保人关系"
|
||||||
<van-field v-model="userInfo.homeAddress" label name="详细地址" placeholder="请输入详细地址" v-validate="'required'" clearable maxlength="30" />
|
name="与被保人关系" right-icon="arrow" placeholder="请选择" v-validate="'required'" @click="toSelect('9')" />
|
||||||
</template> -->
|
|
||||||
<van-field
|
|
||||||
:value="userInfo.relationToInsured | idToText('relationToAppnt')"
|
|
||||||
readonly
|
|
||||||
required
|
|
||||||
label="与被保人关系"
|
|
||||||
name="与被保人关系"
|
|
||||||
right-icon="arrow"
|
|
||||||
placeholder="请选择"
|
|
||||||
v-validate="'required'"
|
|
||||||
@click="toSelect('9')"
|
|
||||||
/>
|
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
<!-- 被保险人信息 -->
|
<!-- 被保险人信息 -->
|
||||||
<van-cell-group class="mt10" v-if="userInfo.relationToInsured != 1">
|
<van-cell-group class="mt10" v-if="userInfo.relationToInsured != 1">
|
||||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">被保险人信息</p>
|
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">被保人信息</p>
|
||||||
<customer-picker
|
<customer-picker @on-choose="chooseCustomer(arguments)" v-validate="'required|name'" name="被保险人姓名" label="被保险人姓名"
|
||||||
@on-choose="chooseCustomer(arguments)"
|
required :parentShowPicker.sync="customerShowPicker2" :value.sync="insuredInfo.name" @nameChange="nameChanges"
|
||||||
v-validate="'required|name'"
|
@on-click="selectClick('1', '1')"></customer-picker>
|
||||||
name="被保险人姓名"
|
<van-field :value="insuredInfo.idType | idToText('insuredIdType')" v-validate="'required'" readonly required
|
||||||
label="被保险人姓名"
|
label="证件类型" name="证件类型" right-icon="arrow" placeholder="请选择" />
|
||||||
required
|
|
||||||
:parentShowPicker.sync="customerShowPicker2"
|
|
||||||
v-model="insuredInfo.name"
|
|
||||||
@nameChange="nameChanges"
|
|
||||||
@on-click="selectClick('1', '1')"
|
|
||||||
></customer-picker>
|
|
||||||
<van-field
|
|
||||||
:value="insuredInfo.idType | idToText('insuredIdType')"
|
|
||||||
v-validate="'required'"
|
|
||||||
readonly
|
|
||||||
required
|
|
||||||
label="证件类型"
|
|
||||||
name="证件类型"
|
|
||||||
right-icon="arrow"
|
|
||||||
placeholder="请选择"
|
|
||||||
/>
|
|
||||||
<!-- @click="toSelect('11')" -->
|
<!-- @click="toSelect('11')" -->
|
||||||
|
|
||||||
<van-field
|
<van-field v-model="insuredInfo.idNo" maxlength="18" required label="证件号码" v-validate="'required'" name="证件号码"
|
||||||
v-model="insuredInfo.idNo"
|
placeholder="请输入" clearable @blur="getRelatedData(insuredInfo.idNo, '2')">
|
||||||
maxlength="18"
|
<van-button v-if="insuredInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3','','2')">证件扫描</van-button>
|
||||||
required
|
|
||||||
label="证件号码"
|
|
||||||
v-validate="'required'"
|
|
||||||
name="证件号码"
|
|
||||||
placeholder="请输入"
|
|
||||||
clearable
|
|
||||||
@blur="getRelatedData(insuredInfo.idNo, '2')"
|
|
||||||
>
|
|
||||||
<van-button v-if="insuredInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')">证件扫描</van-button>
|
|
||||||
</van-field>
|
</van-field>
|
||||||
<select-radio required :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="userInfo.insuredSex"></select-radio>
|
<select-radio required :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="insuredInfo.insuredSex"></select-radio>
|
||||||
<FieldDatePicter
|
<FieldDatePicter v-validate="'required'" label="出生日期" name="出生日期" required :value.sync="insuredInfo.birthday"
|
||||||
v-validate="'required'"
|
type="date" :flag="true" @confirm="onDateConfirm($event, '5')" ref="insuredBirthday" :maxDate="insuredMaxDate"></FieldDatePicter>
|
||||||
label="出生日期"
|
<van-field required v-model="insuredInfo.mobile" clearable label="手机号码" name="手机号码" placeholder="请输入" v-validate="'required|mobile'"
|
||||||
name="出生日期"
|
maxlength="11" />
|
||||||
required
|
<van-field v-model="insuredInfo.email" required label="邮箱" name="邮箱" placeholder="请输入" v-validate="'required|email'"
|
||||||
:value.sync="insuredInfo.birthday"
|
clearable />
|
||||||
type="date"
|
<van-field @click="openOccupation('2')" label="职业类别" placeholder="请输入" name="职业类别" :value="insuredInfo.occupationName"
|
||||||
:flag="true"
|
right-icon="arrow" />
|
||||||
@confirm="onDateConfirm($event, '5')"
|
<van-field :value="insuredInfo.nativeplace | idToText('nativeplace')" readonly required label="国籍" name="国籍"
|
||||||
ref="insuredBirthday"
|
v-validate="'required'" right-icon="arrow" placeholder="请选择" @click="toSelect('11')" />
|
||||||
:maxDate="insuredMaxDate"
|
<van-field :value="insuredInfo.marriage | idToText('marriage')" readonly required label="婚姻状况" name="婚姻状况"
|
||||||
></FieldDatePicter>
|
v-validate="'required'" right-icon="arrow" placeholder="请选择" @click="toSelect('66')" />
|
||||||
|
<van-field v-model="insuredInfo.homeName" readonly label="联系地址" name="联系地址" required right-icon="arrow"
|
||||||
|
placeholder="请选择" v-validate="'required'" @click="areaSelect('2')" />
|
||||||
|
<van-field v-model="insuredInfo.homeAddress" label name="详细地址" placeholder="请输入详细地址" v-validate="'required'"
|
||||||
|
clearable maxlength="30" />
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
<van-cell-group class="mt10" v-else>
|
<van-cell-group class="mt10" v-else>
|
||||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">被保人信息</p>
|
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">被保人信息</p>
|
||||||
@@ -151,66 +76,49 @@
|
|||||||
<!-- :parentShowPicker.sync="customerShowPicker2" -->
|
<!-- :parentShowPicker.sync="customerShowPicker2" -->
|
||||||
<!-- @nameChange="nameChanges" -->
|
<!-- @nameChange="nameChanges" -->
|
||||||
<!-- @on-click="selectClick('1', '1')" -->
|
<!-- @on-click="selectClick('1', '1')" -->
|
||||||
<van-field
|
<van-field :value="userInfo.idType | idToText('insuredIdType')" v-validate="'required'" readonly required label="证件类型"
|
||||||
:value="userInfo.idType | idToText('insuredIdType')"
|
name="证件类型" right-icon="arrow" placeholder="请选择" />
|
||||||
v-validate="'required'"
|
<van-field v-model="userInfo.idNo" maxlength="18" required readonly label="证件号码" v-validate="'required'" name="证件号码"
|
||||||
readonly
|
placeholder="请输入" clearable>
|
||||||
required
|
|
||||||
label="证件类型"
|
|
||||||
name="证件类型"
|
|
||||||
right-icon="arrow"
|
|
||||||
placeholder="请选择"
|
|
||||||
/>
|
|
||||||
<van-field
|
|
||||||
v-model="userInfo.idNo"
|
|
||||||
maxlength="18"
|
|
||||||
required
|
|
||||||
readonly
|
|
||||||
label="证件号码"
|
|
||||||
v-validate="'required'"
|
|
||||||
name="证件号码"
|
|
||||||
placeholder="请输入"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<!-- @blur="getRelatedData(insuredInfo.idNo, '2')" -->
|
<!-- @blur="getRelatedData(insuredInfo.idNo, '2')" -->
|
||||||
<!-- <van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')">证件扫描</van-button> -->
|
<!-- <van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')">证件扫描</van-button> -->
|
||||||
</van-field>
|
</van-field>
|
||||||
<select-radio required :disabled="true" :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="userInfo.sex"></select-radio>
|
<select-radio required :disabled="true" :radios="sexRadio" label="性别" name="性别" v-validate="'required'"
|
||||||
<FieldDatePicter
|
:value.sync="userInfo.sex"></select-radio>
|
||||||
v-validate="'required'"
|
<FieldDatePicter v-validate="'required'" label="出生日期" name="出生日期" readonly required :value.sync="userInfo.birthday"
|
||||||
label="出生日期"
|
type="date" :flag="true" ref="insuredBirthday" :maxDate="maxDate"></FieldDatePicter>
|
||||||
name="出生日期"
|
<van-field required v-model="userInfo.mobile" clearable label="手机号码" name="手机号码" placeholder="请输入" v-validate="'required|mobile'"
|
||||||
readonly
|
maxlength="11" />
|
||||||
required
|
<van-field v-model="userInfo.email" required label="邮箱" name="邮箱" placeholder="请输入" v-validate="'required|email'"
|
||||||
:value.sync="userInfo.birthday"
|
clearable />
|
||||||
type="date"
|
<van-field readonly label="职业类别" name="职业类别" :value="userInfo.occupationName" right-icon="arrow" />
|
||||||
:flag="true"
|
<van-field :value="userInfo.nativeplace | idToText('nativeplace')" readonly required label="国籍" name="国籍"
|
||||||
ref="insuredBirthday"
|
v-validate="'required'" right-icon="arrow" placeholder="请选择" />
|
||||||
:maxDate="maxDate"
|
<van-field :value="userInfo.marriage | idToText('marriage')" readonly required label="婚姻状况" name="婚姻状况"
|
||||||
></FieldDatePicter>
|
v-validate="'required'" right-icon="arrow" placeholder="请选择" />
|
||||||
|
<van-field v-model="userInfo.homeName" readonly label="联系地址" name="联系地址" required right-icon="arrow" placeholder="请选择"
|
||||||
|
v-validate="'required'" />
|
||||||
|
<van-field readonly v-model="userInfo.homeAddress" label name="详细地址" placeholder="请输入详细地址" v-validate="'required'"
|
||||||
|
clearable maxlength="30" />
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
<!-- 受益人信息 -->
|
<!-- 受益人信息 -->
|
||||||
<van-cell-group class="mt10">
|
<van-cell-group class="mt10">
|
||||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">受益人信息</p>
|
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">受益人信息</p>
|
||||||
<van-field required readonly v-model="bnfTypeVal" clearable label="受益人类型" v-validate="'required'" style="border-bottom: 1px solid #ebedf0;" />
|
<van-field required readonly v-model="bnfTypeVal" clearable label="受益人类型" v-validate="'required'" style="border-bottom: 1px solid #ebedf0" />
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
<p style="background: white; border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">产品信息</p>
|
<p style="background: white; border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">产品信息</p>
|
||||||
<FieldDatePicter
|
<van-field :value="proScheme" readonly required label="保障方案" name="保障方案" v-validate="'required'" right-icon="arrow"
|
||||||
v-validate="'required'"
|
placeholder="请选择" @click="toSelect('10')" />
|
||||||
label="指定生效日期"
|
<FieldDatePicter v-validate="'required'" label="指定生效日期" name="指定生效日期" required :minDate="now" :value.sync="cvaliDate"
|
||||||
name="指定生效日期"
|
type="date" :flag="true" @confirm="onDateConfirm($event, '6')" ref="effectiveDate" input-align:right>
|
||||||
required
|
|
||||||
:minDate="now"
|
|
||||||
:value.sync="cvaliDate"
|
|
||||||
type="date"
|
|
||||||
:flag="true"
|
|
||||||
@confirm="onDateConfirm($event, '6')"
|
|
||||||
ref="effectiveDate"
|
|
||||||
input-align:right
|
|
||||||
>
|
|
||||||
</FieldDatePicter>
|
</FieldDatePicter>
|
||||||
<van-field value="7天" clearable label="保险期间" style="border-bottom: 1px solid #ebedf0;" />
|
<div v-if="cvaliDate.length > 0" class="van-cell van-field" style="border-bottom: 1px solid rgb(235, 237, 240);">
|
||||||
<van-checkbox-group v-model="result" ref="checkboxGroup" style="box-sizing:border-box;" class="pl8 pr20 pt10 pb10 bg-white">
|
<div class="van-cell__title van-field__label"><span>保险期间</span></div>
|
||||||
|
<div class="van-cell__value">
|
||||||
|
<div class="van-field__body"><span class="van-field__control">{{productDate}}</span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <van-checkbox-group v-model="result" ref="checkboxGroup" style="box-sizing:border-box;" class="pl8 pr20 pt10 pb10 bg-white">
|
||||||
<van-checkbox name="a" shape="square" icon-size="13px"
|
<van-checkbox name="a" shape="square" icon-size="13px"
|
||||||
>本人已仔细阅读并了解
|
>本人已仔细阅读并了解
|
||||||
<span class="blue" @click.stop="goDocu($assetsUrl + 'product/GFRS_M0022/M0022Notice.pdf', '短期交通卡投保须知')">《投保须知》</span>
|
<span class="blue" @click.stop="goDocu($assetsUrl + 'product/GFRS_M0022/M0022Notice.pdf', '短期交通卡投保须知')">《投保须知》</span>
|
||||||
@@ -222,34 +130,30 @@
|
|||||||
等内容,自愿为被保险人投保本保险。<br />
|
等内容,自愿为被保险人投保本保险。<br />
|
||||||
为未成年子女投保的人身保险,在被保险人成年之前,因被保险人身故给付的保险金总和不得超过国务院保险监督管理机构规定的限额,身故给付的保险金额总和的约定也不得超过前述限额。但航空意外死亡保险金额及重大自然灾害意外死亡保险金额不计算在上述规定限额之中。</van-checkbox
|
为未成年子女投保的人身保险,在被保险人成年之前,因被保险人身故给付的保险金总和不得超过国务院保险监督管理机构规定的限额,身故给付的保险金额总和的约定也不得超过前述限额。但航空意外死亡保险金额及重大自然灾害意外死亡保险金额不计算在上述规定限额之中。</van-checkbox
|
||||||
>
|
>
|
||||||
</van-checkbox-group>
|
</van-checkbox-group> -->
|
||||||
|
<!-- <div class="tips" v-if="cvaliDate.length > 0">注:2020年04月03日0时至2021年04月02日24时止。</div> -->
|
||||||
|
|
||||||
<van-goods-action style="z-index: 99;">
|
<van-goods-action style="z-index: 99">
|
||||||
<van-button type="default" style="width:50%;font-size:14px;height:40px;background:white"
|
<van-button type="default" style="width: 50%; font-size: 14px; height: 40px; background: white">总保费:<span style="color: red; font-weight: bold; font-size: 18px; font-weight: 400">{{
|
||||||
>总保费:<span style="color:red;font-weight:bold;font-size:18px;font-weight:400;">{{ allPrice }}</span
|
allPrice }}</span>元</van-button>
|
||||||
>元</van-button
|
<van-goods-action-button type="danger" text="立即投保" @click="nextStep" v-no-more-click="1000" style="border-radius: 0em; width: 50%; height: 40px" />
|
||||||
>
|
|
||||||
<van-goods-action-button
|
|
||||||
:disabled="!result.length"
|
|
||||||
type="danger"
|
|
||||||
text="立即投保"
|
|
||||||
@click="nextStep"
|
|
||||||
v-no-more-click="1000"
|
|
||||||
style="border-radius:0em;width:50%;height:40px;"
|
|
||||||
/>
|
|
||||||
</van-goods-action>
|
</van-goods-action>
|
||||||
|
|
||||||
|
<!-- 职业类别弹窗 -->
|
||||||
|
<van-popup v-model="occupationShowPicker" position="bottom">
|
||||||
|
<occupation-for-loop @chooseOccupation="chooseOccupation" :name="occupationName" :code="occupationCode"></occupation-for-loop>
|
||||||
|
</van-popup>
|
||||||
<!-- 字段选择 -->
|
<!-- 字段选择 -->
|
||||||
<van-popup v-model="popupShow" position="bottom">
|
<van-popup v-model="popupShow" position="bottom">
|
||||||
<van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="popupShow = false" />
|
<van-picker show-toolbar :columns="columns" @confirm="onConfirm" :default-index="pickerIndex" @cancel="popupShow = false" />
|
||||||
</van-popup>
|
</van-popup>
|
||||||
<!-- 地区选择 -->
|
<!-- 地区选择 -->
|
||||||
<van-popup v-model="areaShow" position="bottom">
|
<!-- <van-popup v-model="areaShow" position="bottom">
|
||||||
<van-area :area-list="areaList" value="110101" @confirm="sureArea($event, '1')" @cancel="areaShow = false" />
|
<van-area :area-list="areaList" value="110101" @confirm="sureArea($event, '1')" @cancel="areaShow = false" />
|
||||||
</van-popup>
|
</van-popup> -->
|
||||||
<!-- 家庭地址选择 -->
|
<!-- 家庭地址选择 -->
|
||||||
<van-popup v-model="homeShow" position="bottom">
|
<van-popup v-model="homeShow" position="bottom">
|
||||||
<van-area :area-list="areaList" value="110101" @confirm="sureArea($event, '2')" @cancel="homeShow = false" />
|
<van-area :area-list="areaList" :value="areaCode" @confirm="sureArea($event, '2')" @cancel="homeShow = false" />
|
||||||
</van-popup>
|
</van-popup>
|
||||||
<!-- 户籍选择 -->
|
<!-- 户籍选择 -->
|
||||||
<van-popup v-model="censusShow" position="bottom">
|
<van-popup v-model="censusShow" position="bottom">
|
||||||
@@ -259,6 +163,9 @@
|
|||||||
<van-popup v-model="isScan" position="bottom">
|
<van-popup v-model="isScan" position="bottom">
|
||||||
<IdentityCardScan @getScanInfo="getIdentityInfo"></IdentityCardScan>
|
<IdentityCardScan @getScanInfo="getIdentityInfo"></IdentityCardScan>
|
||||||
</van-popup>
|
</van-popup>
|
||||||
|
<van-popup v-model="isScan2" position="bottom">
|
||||||
|
<IdentityCardScan @getScanInfo="getIdentityInfo"></IdentityCardScan>
|
||||||
|
</van-popup>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -277,7 +184,9 @@ import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
|
|||||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||||
import afterDate from '@/assets/js/utils/getAfterDate.js'
|
import afterDate from '@/assets/js/utils/getAfterDate.js'
|
||||||
|
import CacheUtils from '@/assets/js/utils/cacheUtils'
|
||||||
import { idToData } from './js/verification'
|
import { idToData } from './js/verification'
|
||||||
|
import OccupationForLoop from '@/components/ebiz/occipation/OccupationForLoop'
|
||||||
import { selectComp, getIdentityInfo } from './js/methods'
|
import { selectComp, getIdentityInfo } from './js/methods'
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
|
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
|
||||||
@@ -301,16 +210,22 @@ export default {
|
|||||||
[Area.name]: Area,
|
[Area.name]: Area,
|
||||||
[RadioGroup.name]: RadioGroup,
|
[RadioGroup.name]: RadioGroup,
|
||||||
[Radio.name]: Radio,
|
[Radio.name]: Radio,
|
||||||
[IdentityCardScan.name]: IdentityCardScan
|
[IdentityCardScan.name]: IdentityCardScan,
|
||||||
|
OccupationForLoop
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
proScheme: '', //保障方案
|
||||||
|
proSchemeCode: '',
|
||||||
|
productDate: '', //保险期间
|
||||||
now: afterDate.getAfterDays(1), //指定生效日期最小值
|
now: afterDate.getAfterDays(1), //指定生效日期最小值
|
||||||
insuredSex: '男',
|
insuredSex: '男',
|
||||||
isScan: false, //是否显示证件扫描组件
|
isScan: false, //是否显示证件扫描组件
|
||||||
|
isScan2: false,
|
||||||
allPrice: 0,
|
allPrice: 0,
|
||||||
result: [],
|
result: [],
|
||||||
checked: true,
|
checked: true,
|
||||||
|
current: 'userInfo',
|
||||||
sexRadio: [
|
sexRadio: [
|
||||||
{
|
{
|
||||||
label: '男',
|
label: '男',
|
||||||
@@ -354,10 +269,17 @@ export default {
|
|||||||
relationToInsured: '1',
|
relationToInsured: '1',
|
||||||
idType: '1', //证件类型
|
idType: '1', //证件类型
|
||||||
idNo: '', //证件号码
|
idNo: '', //证件号码
|
||||||
// homeProvince: '1', //家庭省
|
occupationCode: '', //职业代码
|
||||||
// homeCity: '1', //家庭市
|
occupationName: '', //职业名称
|
||||||
// homeArea: '1', //家庭区
|
lifeGrade: '', //寿险等级
|
||||||
// homeAddress: '1', //详细地址
|
healthGrade: '', //健康等级
|
||||||
|
nativeplace: '1', //国家地区
|
||||||
|
marriageStatus: '', //婚姻状况
|
||||||
|
homeProvince: '1', //家庭省
|
||||||
|
homeCity: '1', //家庭市
|
||||||
|
homeArea: '1', //家庭区
|
||||||
|
homeName: '', //联系地址
|
||||||
|
homeAddress: '', //详细地址
|
||||||
mobile: '', //移动电话
|
mobile: '', //移动电话
|
||||||
email: '' //电子邮箱
|
email: '' //电子邮箱
|
||||||
// effectiveDate: '' //指定生效日期
|
// effectiveDate: '' //指定生效日期
|
||||||
@@ -368,7 +290,20 @@ export default {
|
|||||||
idType: '1', //被保人证件类型
|
idType: '1', //被保人证件类型
|
||||||
idNo: '', //被保人证件号码
|
idNo: '', //被保人证件号码
|
||||||
sex: '0', //被保人性别
|
sex: '0', //被保人性别
|
||||||
birthday: '' //被保人出生日期
|
birthday: '', //被保人出生日期
|
||||||
|
occupationCode: '', //职业代码
|
||||||
|
occupationName: '', //职业名称
|
||||||
|
lifeGrade: '', //寿险等级
|
||||||
|
healthGrade: '', //健康等级
|
||||||
|
nativeplace: '1', //国家地区
|
||||||
|
marriageStatus: '', //婚姻状况
|
||||||
|
homeProvince: '1', //家庭省
|
||||||
|
homeCity: '1', //家庭市
|
||||||
|
homeArea: '1', //家庭区
|
||||||
|
homeName: '', //联系地址
|
||||||
|
homeAddress: '1', //详细地址
|
||||||
|
mobile: '', //移动电话
|
||||||
|
email: '' //电子邮箱
|
||||||
},
|
},
|
||||||
selectUser: '',
|
selectUser: '',
|
||||||
areaList: areaList,
|
areaList: areaList,
|
||||||
@@ -378,8 +313,14 @@ export default {
|
|||||||
occupationShowPicker: false,
|
occupationShowPicker: false,
|
||||||
timeId: null,
|
timeId: null,
|
||||||
chooseProducts: JSON.parse(localStorage.chooseProducts),
|
chooseProducts: JSON.parse(localStorage.chooseProducts),
|
||||||
trialList: JSON.parse(localStorage.trialList),
|
trialList: JSON.parse(CacheUtils.getLocItem('trialList')),
|
||||||
pdf: ['', '', '']
|
pdf: ['', '', ''],
|
||||||
|
insureType: '',
|
||||||
|
pickerIndex: 0,
|
||||||
|
areaCode: '110101',
|
||||||
|
occupationCode: '',
|
||||||
|
occupationName: '',
|
||||||
|
itemProductDTOS: JSON.parse(CacheUtils.getLocItem('itemProductDTOS')) //
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -408,9 +349,65 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
// 筛选按钮的点击事件
|
// 筛选按钮的点击事件
|
||||||
window.appCallBack = this.appCallBack
|
window.appCallBack = this.appCallBack
|
||||||
|
if (this.itemProductDTOS.productCode === 'GFRS_M0022') {
|
||||||
|
this.proScheme = '畅行无忧'
|
||||||
|
this.proSchemeCode = ''
|
||||||
this.allPrice = this.trialList[0].prem
|
this.allPrice = this.trialList[0].prem
|
||||||
|
} else {
|
||||||
|
this.proScheme = this.trialList[0].proScheme
|
||||||
|
this.proSchemeCode = this.trialList[0].proSchemeCode
|
||||||
|
this.allPrice = this.trialList[0].prem
|
||||||
|
this.now = afterDate.getAfterDays(Number(this.trialList[0].timeliness))
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @param {*} data
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
chooseOccupation(data) {
|
||||||
|
let { code, name, healthGrade, lifeGrade } = data
|
||||||
|
this.$jump({
|
||||||
|
flag: 'navigation',
|
||||||
|
extra: {
|
||||||
|
title: '职业类别',
|
||||||
|
hiddenRight: '1'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.occupationShowPicker = false
|
||||||
|
if (this.insureType === '1') {
|
||||||
|
this.userInfo.occupationName = name
|
||||||
|
this.userInfo.occupationCode = code
|
||||||
|
} else if (this.insureType === '2') {
|
||||||
|
this.insuredInfo.occupationName = name
|
||||||
|
this.insuredInfo.occupationCode = code
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @param {*}
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
openOccupation(insureType) {
|
||||||
|
this.occupationShowPicker = !this.occupationShowPicker
|
||||||
|
this.insureType = insureType
|
||||||
|
if (this.insureType === '1') {
|
||||||
|
this.occupationName = this.userInfo.occupationName
|
||||||
|
this.occupationCode = this.userInfo.occupationCode
|
||||||
|
} else if (this.insureType === '2') {
|
||||||
|
this.occupationName = this.insuredInfo.occupationName
|
||||||
|
this.occupationCode = this.insuredInfo.occupationCode
|
||||||
|
}
|
||||||
|
},
|
||||||
|
areaSelect(insureType) {
|
||||||
|
;[this.homeShow, this.insureType] = [true, insureType]
|
||||||
|
if (insureType === '1') {
|
||||||
|
this.areaCode = this.userInfo.homeArea
|
||||||
|
} else if (insureType === '2') {
|
||||||
|
this.areaCode = this.insuredInfo.homeArea
|
||||||
|
}
|
||||||
|
},
|
||||||
underWrite(orderNo) {
|
underWrite(orderNo) {
|
||||||
let data = {
|
let data = {
|
||||||
platform: 'app',
|
platform: 'app',
|
||||||
@@ -475,13 +472,21 @@ export default {
|
|||||||
// console.log('name',name)
|
// console.log('name',name)
|
||||||
this.insuredInfo.name = name
|
this.insuredInfo.name = name
|
||||||
},
|
},
|
||||||
selectClick(index, value) {
|
/**
|
||||||
|
* @description:
|
||||||
|
* @param {*} index
|
||||||
|
* @param {*} value
|
||||||
|
* @param {*} insureType '1'为投保人 '2'为被投保人
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
selectClick(index, value, insureType) {
|
||||||
if (value !== undefined) {
|
if (value !== undefined) {
|
||||||
this.selectUser = value
|
this.selectUser = value
|
||||||
}
|
}
|
||||||
|
this.insureType = insureType
|
||||||
|
selectComp(this, index, insureType)
|
||||||
// console.log(index, value)
|
// console.log(index, value)
|
||||||
// localStorage.setItem('value', value)
|
// localStorage.setItem('value', value)
|
||||||
selectComp(this, index, '1')
|
|
||||||
},
|
},
|
||||||
// closeBtn() {
|
// closeBtn() {
|
||||||
// // 筛选按钮的显示
|
// // 筛选按钮的显示
|
||||||
@@ -516,47 +521,55 @@ export default {
|
|||||||
this.occupationShowPicker = false
|
this.occupationShowPicker = false
|
||||||
} else if (this.currentPopupIndex == 3) {
|
} else if (this.currentPopupIndex == 3) {
|
||||||
this.isScan = false
|
this.isScan = false
|
||||||
|
this.isScan2 = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
chooseOccupation() {
|
|
||||||
this.$jump({
|
|
||||||
flag: 'navigation',
|
|
||||||
extra: {
|
|
||||||
title: '投被保人信息',
|
|
||||||
hiddenRight: '1'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.occupationShowPicker = false
|
|
||||||
},
|
|
||||||
//弹框选择
|
//弹框选择
|
||||||
toSelect(pickerType, valueKey) {
|
toSelect(pickerType, valueKey) {
|
||||||
console.log(valueKey)
|
|
||||||
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源, 9 关系
|
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源, 9 关系
|
||||||
;[this.popupShow, this.pickerType] = [true, pickerType]
|
;[this.popupShow, this.pickerType] = [true, pickerType]
|
||||||
if (valueKey) this.valueKey = valueKey
|
if (valueKey) this.valueKey = valueKey
|
||||||
if (pickerType == '1') {
|
if (pickerType == '1') {
|
||||||
this.columns = DataDictionary.nativeplace
|
this.columns = DataDictionary.nativeplace
|
||||||
|
this.pickerIndex = this.userInfo.nativeplace - 1 > 0 ? this.userInfo.nativeplace - 1 : 0
|
||||||
} else if (pickerType == '2') {
|
} else if (pickerType == '2') {
|
||||||
this.columns = DataDictionary.cardListInsuredIdType
|
this.columns = DataDictionary.cardListInsuredIdType
|
||||||
} else if (pickerType == '3') {
|
} else if (pickerType == '3') {
|
||||||
this.columns = DataDictionary.degree
|
this.columns = DataDictionary.degree
|
||||||
} else if (pickerType == '4') {
|
} else if (pickerType == '4') {
|
||||||
this.columns = [
|
this.columns = [{ id: 0, text: '有' }, { id: 1, text: '无' }]
|
||||||
{ id: 0, text: '有' },
|
|
||||||
{ id: 1, text: '无' }
|
|
||||||
]
|
|
||||||
} else if (pickerType == '5') {
|
} else if (pickerType == '5') {
|
||||||
this.columns = DataDictionary.taxIdentity
|
this.columns = DataDictionary.taxIdentity
|
||||||
} else if (pickerType == '6') {
|
} else if (pickerType == '6') {
|
||||||
this.columns = DataDictionary.marriage
|
this.columns = DataDictionary.marriage
|
||||||
|
this.pickerIndex = this.userInfo.marriage - 1 > 0 ? this.userInfo.marriage - 1 : 0
|
||||||
} else if (pickerType == '7') {
|
} else if (pickerType == '7') {
|
||||||
this.columns = DataDictionary.workCondition
|
this.columns = DataDictionary.workCondition
|
||||||
} else if (pickerType == '8') {
|
} else if (pickerType == '8') {
|
||||||
this.columns = DataDictionary.salarySource
|
this.columns = DataDictionary.salarySource
|
||||||
} else if (pickerType == '9') {
|
} else if (pickerType == '9') {
|
||||||
this.columns = DataDictionary.relationToAppnt
|
this.columns = DataDictionary.relationToAppnt
|
||||||
|
} else if (pickerType == '66') {
|
||||||
|
this.columns = DataDictionary.marriage
|
||||||
|
this.pickerIndex = this.insuredInfo.marriage - 1 > 0 ? this.insuredInfo.marriage - 1 : 0
|
||||||
} else if (pickerType == '11') {
|
} else if (pickerType == '11') {
|
||||||
this.columns = DataDictionary.insuredIdType
|
this.columns = DataDictionary.nativeplace
|
||||||
|
this.pickerIndex = this.insuredInfo.nativeplace - 1 > 0 ? this.insuredInfo.nativeplace - 1 : 0
|
||||||
|
} else if (pickerType == '10') {
|
||||||
|
this.columns = []
|
||||||
|
this.trialList.forEach(item => {
|
||||||
|
if (item.productCode === 'GFRS_M0022') {
|
||||||
|
this.columns.push({
|
||||||
|
id: this.proSchemeCode,
|
||||||
|
text: this.proScheme
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.columns.push({
|
||||||
|
id: item.proSchemeCode,
|
||||||
|
text: item.proScheme
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//确认选择字段
|
//确认选择字段
|
||||||
@@ -581,14 +594,27 @@ export default {
|
|||||||
this.userInfo.taxResidentId = value.id
|
this.userInfo.taxResidentId = value.id
|
||||||
} else if (this.pickerType == '6') {
|
} else if (this.pickerType == '6') {
|
||||||
this.userInfo.marriage = value.id
|
this.userInfo.marriage = value.id
|
||||||
|
this.userInfo.marriageStatus = value.text
|
||||||
} else if (this.pickerType == '7') {
|
} else if (this.pickerType == '7') {
|
||||||
this.userInfo.jobStatus = value.id
|
this.userInfo.jobStatus = value.id
|
||||||
} else if (this.pickerType == '8') {
|
} else if (this.pickerType == '8') {
|
||||||
this.userInfo.salarySource = value.id
|
this.userInfo.salarySource = value.id
|
||||||
} else if (this.pickerType == '9') {
|
} else if (this.pickerType == '9') {
|
||||||
this.userInfo.relationToInsured = value.id
|
this.userInfo.relationToInsured = value.id
|
||||||
|
} else if (this.pickerType == '66') {
|
||||||
|
this.insuredInfo.marriage = value.id
|
||||||
|
this.insuredInfo.marriageStatus = value.text
|
||||||
} else if (this.pickerType == '11') {
|
} else if (this.pickerType == '11') {
|
||||||
this.insuredInfo.idType = value.id
|
this.insuredInfo.nativeplace = value.id
|
||||||
|
} else if (this.pickerType == '10') {
|
||||||
|
this.proScheme = value.text
|
||||||
|
this.proSchemeCode = value.id
|
||||||
|
for (let item of this.trialList) {
|
||||||
|
if (item.proSchemeCode === this.proSchemeCode) {
|
||||||
|
this.allPrice = item.prem
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//证件起始截止日期
|
//证件起始截止日期
|
||||||
@@ -689,15 +715,58 @@ export default {
|
|||||||
{
|
{
|
||||||
//指定生效日期
|
//指定生效日期
|
||||||
//如果录入日期晚于当前日期
|
//如果录入日期晚于当前日期
|
||||||
// if (Date.parse(val) < Date.parse(new Date())) {
|
if (Date.parse(val) < Date.parse(new Date())) {
|
||||||
// this.userInfo.birthday = ''
|
return this.$toast('当前日期早于当日')
|
||||||
// this.$refs.birthday.date = ''
|
}
|
||||||
// return this.$toast('当前日期早于当日')
|
let currentDataArr = val.split('-')
|
||||||
// }
|
let currentData = currentDataArr[0] + '年' + currentDataArr[1] + '月' + currentDataArr[2] + '日'
|
||||||
|
let insuYear = JSON.parse(localStorage.insuYear)
|
||||||
|
let insuYearM, productDate, productDateTime
|
||||||
|
let insuYearD,hoDate
|
||||||
|
switch (insuYear.insuYearFlag) {
|
||||||
|
case 'D':
|
||||||
|
hoDate = Date.parse(val) / 1000 + (insuYear['insuYear'] - 1) * 24 * 3600
|
||||||
|
break
|
||||||
|
case 'Y':
|
||||||
|
var y = new Date().getFullYear(),isLeap = (0 === y % 4 && 0 === y % 100) || 0 === y % 400,days = isLeap ? 366 : 365;
|
||||||
|
hoDate = Date.parse(val) / 1000 + insuYear['insuYear'] * 24 * 3600 * (days - 1)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
productDate = new Date(parseInt(hoDate) * 1000)
|
||||||
|
insuYearM = productDate.getMonth() + 1 < 10 ? '0' + (productDate.getMonth() + 1) : productDate.getMonth() + 1
|
||||||
|
insuYearD = productDate.getDate() < 10 ? '0' + productDate.getDate() : productDate.getDate()
|
||||||
|
productDateTime = productDate.getFullYear() + '年' + insuYearM + '月' + insuYearD + '日'
|
||||||
|
this.productDate = currentData + '0时至' + productDateTime + '24时止'
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
GetNextMonthDay(date, monthNum) {
|
||||||
|
var dateArr = date.split('-')
|
||||||
|
var year = dateArr[0] //获取当前日期的年份
|
||||||
|
var month = dateArr[1] //获取当前日期的月份
|
||||||
|
var day = dateArr[2] //获取当前日期的日
|
||||||
|
var days = new Date(year, month, 0)
|
||||||
|
days = days.getDate() //获取当前日期中的月的天数
|
||||||
|
var year2 = year
|
||||||
|
var month2 = parseInt(month) + parseInt(monthNum)
|
||||||
|
if (month2 > 12) {
|
||||||
|
year2 = parseInt(year2) + parseInt(parseInt(month2) / 12 == 0 ? 1 : parseInt(month2) / 12)
|
||||||
|
month2 = parseInt(month2) % 12
|
||||||
|
}
|
||||||
|
var day2 = day
|
||||||
|
var days2 = new Date(year2, month2, 0)
|
||||||
|
days2 = days2.getDate()
|
||||||
|
if (day2 > days2) {
|
||||||
|
day2 = days2
|
||||||
|
}
|
||||||
|
if (month2 < 10) {
|
||||||
|
month2 = '0' + month2
|
||||||
|
}
|
||||||
|
|
||||||
|
var t2 = year2 + '年' + month2 + '月' + day2 + '日'
|
||||||
|
return t2
|
||||||
|
},
|
||||||
//选择客户
|
//选择客户
|
||||||
chooseCustomer(data) {
|
chooseCustomer(data) {
|
||||||
data = data[0]
|
data = data[0]
|
||||||
@@ -723,19 +792,26 @@ export default {
|
|||||||
this.userInfo.sex = customerSex ? customerSex.toString() : '0' //性别
|
this.userInfo.sex = customerSex ? customerSex.toString() : '0' //性别
|
||||||
this.userInfo.birthday = data.birthday //出生日期
|
this.userInfo.birthday = data.birthday //出生日期
|
||||||
if (data.customerIdType == 1) {
|
if (data.customerIdType == 1) {
|
||||||
|
console.log(data)
|
||||||
this.userInfo.idType = data.customerIdType //证件类型
|
this.userInfo.idType = data.customerIdType //证件类型
|
||||||
this.userInfo.idNo = data.customerIdNumber //证件类别
|
this.userInfo.idNo = data.customerIdNumber //证件类别
|
||||||
}
|
}
|
||||||
this.userInfo.email = data.email //邮箱
|
this.userInfo.email = data.email //邮箱
|
||||||
|
|
||||||
this.userInfo.mobile = data.customerPhone //移动电话
|
this.userInfo.mobile = data.customerPhone //移动电话
|
||||||
// this.userInfo.homeProvince = data.homeProvince //家庭省
|
this.userInfo.homeProvince = data.homeProvince //家庭省
|
||||||
// this.userInfo.homeCity = data.homeCity //家庭市
|
this.userInfo.homeCity = data.homeCity //家庭市
|
||||||
// this.userInfo.homeArea = data.homeArea //家庭区
|
this.userInfo.homeArea = data.homeArea //家庭区
|
||||||
// if (data.homeProvince && data.homeCity && data.homeArea) {
|
if (data.homeProvince && data.homeCity && data.homeArea) {
|
||||||
// this.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
this.userInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
||||||
// }
|
}
|
||||||
// this.userInfo.homeAddress = data.homeAddress //家庭详细地址
|
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
|
||||||
|
this.userInfo.occupationCode = data.occupationCode
|
||||||
|
this.userInfo.occupationName = data.occupationName
|
||||||
|
this.userInfo.lifeGrade = data.lifeGrade
|
||||||
|
this.userInfo.healthGrade = data.healthGrade
|
||||||
|
this.userInfo.nativeplace = data.country
|
||||||
|
this.userInfo.marriage = data.marryStatus
|
||||||
|
|
||||||
// 计算年龄
|
// 计算年龄
|
||||||
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||||
@@ -751,6 +827,22 @@ export default {
|
|||||||
this.insuredInfo.idType = data.customerIdType //证件类型
|
this.insuredInfo.idType = data.customerIdType //证件类型
|
||||||
this.insuredInfo.idNo = data.customerIdNumber //证件类别
|
this.insuredInfo.idNo = data.customerIdNumber //证件类别
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.insuredInfo.email = data.email //邮箱
|
||||||
|
this.insuredInfo.mobile = data.customerPhone //移动电话
|
||||||
|
this.insuredInfo.homeProvince = data.homeProvince //家庭省
|
||||||
|
this.insuredInfo.homeCity = data.homeCity //家庭市
|
||||||
|
this.insuredInfo.homeArea = data.homeArea //家庭区
|
||||||
|
if (data.homeProvince && data.homeCity && data.homeArea) {
|
||||||
|
this.insuredInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
||||||
|
}
|
||||||
|
this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
|
||||||
|
this.insuredInfo.occupationCode = data.occupationCode
|
||||||
|
this.insuredInfo.occupationName = data.occupationName
|
||||||
|
this.insuredInfo.lifeGrade = data.lifeGrade
|
||||||
|
this.insuredInfo.healthGrade = data.healthGrade
|
||||||
|
this.insuredInfo.nativeplace = data.country
|
||||||
|
this.insuredInfo.marriage = data.marryStatus
|
||||||
// 计算年龄
|
// 计算年龄
|
||||||
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||||
|
|
||||||
@@ -986,19 +1078,14 @@ export default {
|
|||||||
let params = {
|
let params = {
|
||||||
orderDTO: {
|
orderDTO: {
|
||||||
orderInfoDTO: {
|
orderInfoDTO: {
|
||||||
bnfFlag: '0'
|
bnfFlag: '0',
|
||||||
// cvaliDate: this.cvaliDate
|
supportBank: '0'
|
||||||
},
|
},
|
||||||
appntDTO: {},
|
appntDTO: this.userInfo,
|
||||||
insuredDTOs: [
|
insuredDTOs: [this.insuredInfo]
|
||||||
{
|
|
||||||
riskDTOLst: this.riskDTOLst
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
params.orderDTO.appntDTO = this.userInfo
|
|
||||||
params.orderDTO.insuredDTOs = [this.insuredInfo]
|
|
||||||
//组装险种提交数据
|
//组装险种提交数据
|
||||||
let [mainRiskCode, riskDTOLst] = ['', []]
|
let [mainRiskCode, riskDTOLst] = ['', []]
|
||||||
let rollInResult = '' //校验预计转入保费结果
|
let rollInResult = '' //校验预计转入保费结果
|
||||||
@@ -1007,6 +1094,7 @@ export default {
|
|||||||
if (item.isMainRisk == 0) {
|
if (item.isMainRisk == 0) {
|
||||||
mainRiskCode = item.productCode
|
mainRiskCode = item.productCode
|
||||||
}
|
}
|
||||||
|
let insuYearDate = JSON.parse(localStorage.insuYear)
|
||||||
let riskItem = {
|
let riskItem = {
|
||||||
cvaliDate: this.cvaliDate,
|
cvaliDate: this.cvaliDate,
|
||||||
isMainRisk: item.isMainRisk,
|
isMainRisk: item.isMainRisk,
|
||||||
@@ -1014,11 +1102,15 @@ export default {
|
|||||||
riskType: item.riskType,
|
riskType: item.riskType,
|
||||||
riskCode: item.productCode,
|
riskCode: item.productCode,
|
||||||
mainRiskCode: mainRiskCode,
|
mainRiskCode: mainRiskCode,
|
||||||
prem: this.trialList[index] && this.trialList[index].prem,
|
prem: this.allPrice,
|
||||||
standPrem: this.trialList[index] && this.trialList[index].standPrem,
|
standPrem: this.allPrice,
|
||||||
predictTransferPrem: item.predictTransferPrem,
|
predictTransferPrem: item.predictTransferPrem,
|
||||||
thirdInsuraceNo: this.policyNo,
|
thirdInsuraceNo: this.policyNo,
|
||||||
mult: this.mult
|
mult: this.mult,
|
||||||
|
proScheme: this.proScheme,
|
||||||
|
proSchemeCode: this.proSchemeCode,
|
||||||
|
insuYear: insuYearDate.insuYear,
|
||||||
|
insuYearFlag: insuYearDate.insuYearFlag
|
||||||
}
|
}
|
||||||
if (item.hasPredictTransferPrem && item.hasPredictTransferPrem === '0') {
|
if (item.hasPredictTransferPrem && item.hasPredictTransferPrem === '0') {
|
||||||
//增加万能险 预计转入保费校验
|
//增加万能险 预计转入保费校验
|
||||||
@@ -1046,6 +1138,7 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// console.log()
|
// console.log()
|
||||||
// riskItem = Object.assign(riskItem, this.trialInfos[index])
|
// riskItem = Object.assign(riskItem, this.trialInfos[index])
|
||||||
|
|
||||||
riskDTOLst.push(riskItem)
|
riskDTOLst.push(riskItem)
|
||||||
})
|
})
|
||||||
if (!rollInResult) {
|
if (!rollInResult) {
|
||||||
@@ -1086,9 +1179,15 @@ export default {
|
|||||||
this.areaShow = false
|
this.areaShow = false
|
||||||
break
|
break
|
||||||
case '2': //家庭地址
|
case '2': //家庭地址
|
||||||
this.homeName = getAreaName(area)
|
if (this.insureType === '1') {
|
||||||
|
this.userInfo.homeName = getAreaName(area)
|
||||||
;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
|
;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
|
||||||
this.homeShow = false
|
this.homeShow = false
|
||||||
|
} else if (this.insureType === '2') {
|
||||||
|
this.insuredInfo.homeName = getAreaName(area)
|
||||||
|
;[this.insuredInfo.homeProvince, this.insuredInfo.homeCity, this.insuredInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
|
||||||
|
this.homeShow = false
|
||||||
|
}
|
||||||
break
|
break
|
||||||
case '3': //户籍
|
case '3': //户籍
|
||||||
this.census = getAreaName(area)
|
this.census = getAreaName(area)
|
||||||
@@ -1099,7 +1198,7 @@ export default {
|
|||||||
},
|
},
|
||||||
//获取身份证扫描信息
|
//获取身份证扫描信息
|
||||||
getIdentityInfo(data) {
|
getIdentityInfo(data) {
|
||||||
getIdentityInfo(this, data, '1')
|
getIdentityInfo(this, data, this.insureType)
|
||||||
},
|
},
|
||||||
// getIdentityInfo(data) {
|
// getIdentityInfo(data) {
|
||||||
// console.log(data)
|
// console.log(data)
|
||||||
@@ -1185,4 +1284,9 @@ export default {
|
|||||||
.van-checkbox__label {
|
.van-checkbox__label {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
.tips {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -15,11 +15,13 @@ export function selectComp(that, index, type = '') {
|
|||||||
if (type == '1') {
|
if (type == '1') {
|
||||||
//投保人
|
//投保人
|
||||||
localStorage.scanFromInsured = 'true'
|
localStorage.scanFromInsured = 'true'
|
||||||
|
;[that.isScan, title] = [true, '身份证扫描']
|
||||||
} else if (type == '2') {
|
} else if (type == '2') {
|
||||||
//被保人
|
//被保人
|
||||||
localStorage.scanFromInsured = 'false'
|
localStorage.scanFromInsured = 'false'
|
||||||
|
;[that.isScan2, title] = [true, '身份证扫描']
|
||||||
}
|
}
|
||||||
;[that.isScan, title] = [true, '身份证扫描']
|
// ;[that.isScan, title] = [true, '身份证扫描']
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -88,9 +90,9 @@ export function getIdentityInfo(that, data, type) {
|
|||||||
// 正面
|
// 正面
|
||||||
if (data.name && data.name != '待识别') {
|
if (data.name && data.name != '待识别') {
|
||||||
that.userInfo.insuredName = data.name
|
that.userInfo.insuredName = data.name
|
||||||
that.userInfo.insuredidNo = data.idNo
|
that.insuredInfo.idNo = that.userInfo.insuredidNo = data.idNo
|
||||||
that.userInfo.insuredBirthday = `${data.birthYear}-${data.birthMonth}-${data.birthDay}`
|
that.insuredInfo.birthday = that.userInfo.insuredBirthday = `${data.birthYear}-${data.birthMonth}-${data.birthDay}`
|
||||||
that.userInfo.insuredSex = data.gender == '男' ? '0' : '1'
|
that.insuredInfo.insuredSex = that.userInfo.insuredSex = data.gender == '男' ? '0' : '1'
|
||||||
}
|
}
|
||||||
// 反面
|
// 反面
|
||||||
if (data.startDate && data.startDate != '待识别') {
|
if (data.startDate && data.startDate != '待识别') {
|
||||||
|
|||||||
132
src/views/ebiz/cardList/phoneCode.vue
Normal file
132
src/views/ebiz/cardList/phoneCode.vue
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<van-notice-bar
|
||||||
|
wrapable
|
||||||
|
:scrollable="false"
|
||||||
|
text="特别提示:国富人寿为保证您的投保安全,请您点击发送验证码至投保人手机号,输入正确的验证码后点击下一步进入投保流程。"
|
||||||
|
/>
|
||||||
|
<van-field
|
||||||
|
:value="userInfo.mobile | filterMobile"
|
||||||
|
clearable
|
||||||
|
label="投保人手机号"
|
||||||
|
name="投保人手机号"
|
||||||
|
placeholder="请输入手机号"
|
||||||
|
v-validate="'required|mobile'"
|
||||||
|
maxlength="11"
|
||||||
|
/>
|
||||||
|
<van-field v-model="userInfo.authCode" center clearable label="" name="短信验证码" placeholder="请输入短信验证码" v-validate="'required'" maxlength="6">
|
||||||
|
<van-button slot="button" size="small" type="danger" @click="getCode()" :disabled="codeDisabled" v-no-more-click="2000">{{
|
||||||
|
codeDisabled ? `${countDown}s后重新获取` : '发送验证码'
|
||||||
|
}}</van-button>
|
||||||
|
</van-field>
|
||||||
|
<div class="bg-white bottom-btn"><van-button type="danger" size="large" @click="nextStep" v-no-more-click="1000">下一步</van-button></div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { NoticeBar, Field, Button } from 'vant'
|
||||||
|
import { getOrderDetail, getAuthCode, autchCodeCheck } from '@/api/ebiz/sale/sale'
|
||||||
|
export default {
|
||||||
|
name: 'phoneCode',
|
||||||
|
components: {
|
||||||
|
[NoticeBar.name]: NoticeBar,
|
||||||
|
[Field.name]: Field,
|
||||||
|
[Button.name]: Button,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
orderNo: this.$route.query.orderNo,
|
||||||
|
isWeixin: this.$utils.device().isWeixin,
|
||||||
|
userInfo: {
|
||||||
|
mobile: '',
|
||||||
|
authCode: ''
|
||||||
|
},
|
||||||
|
codeDisabled: false,
|
||||||
|
countDown: 60,
|
||||||
|
timeId: null,
|
||||||
|
sessionId: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (this.$route.query.token) {
|
||||||
|
localStorage.token = this.$route.query.token
|
||||||
|
this.init()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init() {
|
||||||
|
localStorage.orderNo = this.$route.query.orderNo;
|
||||||
|
this.getOrderDetail()
|
||||||
|
},
|
||||||
|
nextStep() {
|
||||||
|
autchCodeCheck({
|
||||||
|
smsId: this.sessionId,
|
||||||
|
code: this.userInfo.authCode,
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.result == 0) {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + `/#/cardList/cardDetail`,
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: `/cardList/cardDetail`,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getCode() {
|
||||||
|
if (!this.userInfo.mobile) {
|
||||||
|
return this.$toast('请填写移动电话')
|
||||||
|
}
|
||||||
|
let data = {
|
||||||
|
operateType: 'appntInfoEntry',
|
||||||
|
type: 'H5',
|
||||||
|
operateCode: this.userInfo.mobile,
|
||||||
|
system: 'agentApp',
|
||||||
|
operateCodeType: '0',
|
||||||
|
}
|
||||||
|
//获取验证码
|
||||||
|
getAuthCode(data).then((res) => {
|
||||||
|
console.log(res)
|
||||||
|
if (res.result == 0) {
|
||||||
|
this.sessionId = res.sessionId
|
||||||
|
this.codeDisabled = true
|
||||||
|
//倒计时
|
||||||
|
this.timeId = setInterval(() => {
|
||||||
|
this.countDown--
|
||||||
|
if (this.countDown <= 0) {
|
||||||
|
window.clearInterval(this.timeId)
|
||||||
|
this.codeDisabled = false
|
||||||
|
this.countDown = 60
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
} else {
|
||||||
|
this.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取订单详情
|
||||||
|
getOrderDetail() {
|
||||||
|
getOrderDetail({ orderNo: this.orderNo }).then((res) => {
|
||||||
|
console.log('getOrderDetail', res)
|
||||||
|
if (res.result == '0') {
|
||||||
|
this.userInfo = res.orderDTO.appntDTO
|
||||||
|
sessionStorage.orderDetail =JSON.stringify(res.orderDTO);
|
||||||
|
this.$store.commit('setOrderDetail', res.orderDTO)
|
||||||
|
} else {
|
||||||
|
this.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
filters: {
|
||||||
|
filterMobile(val) {
|
||||||
|
if (val == undefined) return ''
|
||||||
|
if (val.length != 11) return val
|
||||||
|
return val.slice(0, 3) + '****' + val.slice(-4)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -21,13 +21,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Cell, Toast } from 'vant'
|
import { Cell, Toast, Dialog } from 'vant'
|
||||||
import { getProductDetails, getProductInfo, insureTrial } from '@/api/ebiz/cardList/cardList.js'
|
import { getProductDetails, getProductInfo, insureTrial } from '@/api/ebiz/cardList/cardList.js'
|
||||||
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
||||||
|
import CacheUtils from '@/assets/js/utils/cacheUtils'
|
||||||
export default {
|
export default {
|
||||||
name: 'Chanpingxiangqing.vue',
|
name: 'Chanpingxiangqing.vue',
|
||||||
components: {
|
components: {
|
||||||
[Cell.name]: Cell
|
[Cell.name]: Cell,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -40,8 +41,8 @@ export default {
|
|||||||
shareInfo: {
|
shareInfo: {
|
||||||
isShare: '',
|
isShare: '',
|
||||||
shareURL: '',
|
shareURL: '',
|
||||||
shareFlag: true
|
shareFlag: true,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
@@ -61,11 +62,11 @@ export default {
|
|||||||
extra: {
|
extra: {
|
||||||
title: name,
|
title: name,
|
||||||
// url: 'http://47.96.143.111/pdfjs/web/viewer.html?file=' + url //测试代码
|
// url: 'http://47.96.143.111/pdfjs/web/viewer.html?file=' + url //测试代码
|
||||||
url: location.origin + '/#/cardList/ShowPDF'
|
url: location.origin + '/#/cardList/ShowPDF',
|
||||||
},
|
},
|
||||||
routerInfo: {
|
routerInfo: {
|
||||||
path: '/cardList/ShowPDF'
|
path: '/cardList/ShowPDF',
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
// 跳转到产品资料详情
|
// 跳转到产品资料详情
|
||||||
// 保存url
|
// 保存url
|
||||||
@@ -84,23 +85,37 @@ export default {
|
|||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
gotoInformation() {
|
gotoInformation() {
|
||||||
|
Dialog.confirm({
|
||||||
|
title: '温馨提示',
|
||||||
|
messageAlign:'left',
|
||||||
|
confirmButtonColor:'#ee0a24',
|
||||||
|
confirmButtonText:'立即投保',
|
||||||
|
cancelButtonText:'返回',
|
||||||
|
message: `1、您即将进入投保流程,为维护您的合法权益,投保时请您务必仔细阅读和确认保险条款、投保须知、免除保险人责任条款、犹豫期条款等页面所有内容。<br/>2.您的投保过程和操作将被记录。`,
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
// on confirm
|
||||||
this.$jump({
|
this.$jump({
|
||||||
flag: 'h5',
|
flag: 'h5',
|
||||||
extra: {
|
extra: {
|
||||||
url: location.origin + '/#/cardList/information'
|
url: location.origin + '/#/cardList/information',
|
||||||
},
|
},
|
||||||
routerInfo: {
|
routerInfo: {
|
||||||
path: '/cardList/information'
|
path: '/cardList/information',
|
||||||
}
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
// on cancel
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async getData(code) {
|
async getData(code) {
|
||||||
let data = {
|
let data = {
|
||||||
itemCode: code,
|
itemCode: code,
|
||||||
platform: 'app'
|
platform: 'app',
|
||||||
}
|
}
|
||||||
await getProductDetails(data)
|
await getProductDetails(data)
|
||||||
.then(res => {
|
.then((res) => {
|
||||||
if (res.result == 0) {
|
if (res.result == 0) {
|
||||||
// 获取产品特色图片
|
// 获取产品特色图片
|
||||||
this.introductImages = res.productShowInfo.introductImages
|
this.introductImages = res.productShowInfo.introductImages
|
||||||
@@ -111,11 +126,12 @@ export default {
|
|||||||
this.shareInfo.shareURL = res.productShowInfo.itemProductBaseInfoDTO.itemDesc + ''
|
this.shareInfo.shareURL = res.productShowInfo.itemProductBaseInfoDTO.itemDesc + ''
|
||||||
this.productCode = res.productShowInfo.itemProductDTOS[0].productCode
|
this.productCode = res.productShowInfo.itemProductDTOS[0].productCode
|
||||||
this.results = res.productShowInfo.itemProductDTOS[0]
|
this.results = res.productShowInfo.itemProductDTOS[0]
|
||||||
|
CacheUtils.setLocItem('itemProductDTOS', JSON.stringify(this.productInfo))
|
||||||
} else {
|
} else {
|
||||||
Toast.fail(res.resultMessage)
|
Toast.fail(res.resultMessage)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch((err) => {
|
||||||
console.log('errerr', err)
|
console.log('errerr', err)
|
||||||
})
|
})
|
||||||
if (this.shareInfo.isShare == '2') {
|
if (this.shareInfo.isShare == '2') {
|
||||||
@@ -134,8 +150,8 @@ export default {
|
|||||||
title: '分享给您一个产品《' + this.productInfo.productName + '》',
|
title: '分享给您一个产品《' + this.productInfo.productName + '》',
|
||||||
content: '快来投保吧!',
|
content: '快来投保吧!',
|
||||||
url: this.shareInfo.shareURL,
|
url: this.shareInfo.shareURL,
|
||||||
img: this.$assetsUrl + 'images/logo.png'
|
img: this.$assetsUrl + 'images/logo.png',
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async getProductDetail() {
|
async getProductDetail() {
|
||||||
@@ -144,22 +160,23 @@ export default {
|
|||||||
let data = {
|
let data = {
|
||||||
platform: 'app',
|
platform: 'app',
|
||||||
productCodes: [that.productCode],
|
productCodes: [that.productCode],
|
||||||
type: '1'
|
type: '1',
|
||||||
}
|
}
|
||||||
console.log('data', data)
|
console.log('data', data)
|
||||||
await getProductInfo(data)
|
await getProductInfo(data)
|
||||||
.then(res => {
|
.then((res) => {
|
||||||
if (res.result == 0) {
|
if (res.result == 0) {
|
||||||
this.trialInfos = res.trialDTOS[0].productTrialInfoDTO
|
this.trialInfos = res.trialDTOS[0].productTrialInfoDTO
|
||||||
console.log('this.trialInfos', this.trialInfos)
|
console.log('this.trialInfos', this.trialInfos)
|
||||||
let resultData = res.trialDTOS[0]
|
let resultData = res.trialDTOS[0]
|
||||||
if (resultData.productTrialInfoDTO.dutyGroup != null) {
|
if (resultData.productTrialInfoDTO.dutyGroup != null) {
|
||||||
resultData.productTrialInfoDTO.dutyGroup.map(item => {
|
resultData.productTrialInfoDTO.dutyGroup.map((item) => {
|
||||||
if (item.dutyName == '意外身故/伤残保险金') {
|
if (item.dutyName == '意外身故/伤残保险金') {
|
||||||
item.defaultDutyAmt = '50'
|
item.defaultDutyAmt = '50'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
localStorage.insuYear = JSON.stringify(this.trialInfos.insuYear[0])
|
||||||
//保存附加险
|
//保存附加险
|
||||||
localStorage.addtionRiskLst = JSON.stringify(resultData.productTrialInfoDTO.addtionRiskLst)
|
localStorage.addtionRiskLst = JSON.stringify(resultData.productTrialInfoDTO.addtionRiskLst)
|
||||||
// console.log('resultData', resultData)
|
// console.log('resultData', resultData)
|
||||||
@@ -180,7 +197,7 @@ export default {
|
|||||||
influences: resultData.productTrialInfoDTO.influences,
|
influences: resultData.productTrialInfoDTO.influences,
|
||||||
isRemit: resultData.productTrialInfoDTO.isRemit,
|
isRemit: resultData.productTrialInfoDTO.isRemit,
|
||||||
hasPredictTransferPrem: resultData.productTrialInfoDTO.hasPredictTransferPrem, //建议书使用 是否展示预计转入保费
|
hasPredictTransferPrem: resultData.productTrialInfoDTO.hasPredictTransferPrem, //建议书使用 是否展示预计转入保费
|
||||||
predictTransferPrem: null //建议书使用 预计转入保费字段
|
predictTransferPrem: null, //建议书使用 预计转入保费字段
|
||||||
}
|
}
|
||||||
|
|
||||||
//构建险种数组
|
//构建险种数组
|
||||||
@@ -199,7 +216,7 @@ export default {
|
|||||||
Toast.fail(res.resultMessage)
|
Toast.fail(res.resultMessage)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch((err) => {
|
||||||
console.log('errerr', err)
|
console.log('errerr', err)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -207,19 +224,19 @@ export default {
|
|||||||
let that = this
|
let that = this
|
||||||
// 获取卡单列表
|
// 获取卡单列表
|
||||||
let data = {
|
let data = {
|
||||||
trialInfos: [{ productCode: that.productCode }]
|
trialInfos: [{ productCode: that.productCode }],
|
||||||
}
|
}
|
||||||
|
|
||||||
insureTrial(data)
|
insureTrial(data)
|
||||||
.then(res => {
|
.then((res) => {
|
||||||
console.log('resrrrrrr', res)
|
console.log('resrrrrrr', res)
|
||||||
if (res.result == 0) {
|
if (res.result == 0) {
|
||||||
localStorage.trialList = JSON.stringify(res.trialList)
|
CacheUtils.setLocItem('trialList', JSON.stringify(res.trialList))
|
||||||
} else {
|
} else {
|
||||||
Toast.fail(res.resultMessage)
|
Toast.fail(res.resultMessage)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch((err) => {
|
||||||
console.log('errerr', err)
|
console.log('errerr', err)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -230,12 +247,12 @@ export default {
|
|||||||
let calFactorLst = resultData.productTrialInfoDTO.calFactorLst
|
let calFactorLst = resultData.productTrialInfoDTO.calFactorLst
|
||||||
console.log('calFactorLst', calFactorLst)
|
console.log('calFactorLst', calFactorLst)
|
||||||
|
|
||||||
calFactorLst.forEach(item => {
|
calFactorLst.forEach((item) => {
|
||||||
item['isMainRisk'] = 0
|
item['isMainRisk'] = 0
|
||||||
item.columns = []
|
item.columns = []
|
||||||
if (item.type == 0) {
|
if (item.type == 0) {
|
||||||
//1、type=0 select 2、type=1 input+stepper
|
//1、type=0 select 2、type=1 input+stepper
|
||||||
productTrialInfoDTO[item.code].forEach(factor => {
|
productTrialInfoDTO[item.code].forEach((factor) => {
|
||||||
if (factor.defaultValue == 0) {
|
if (factor.defaultValue == 0) {
|
||||||
item.showContent = factor.showContent
|
item.showContent = factor.showContent
|
||||||
if (factor[item.code + 'Flag'] != undefined) {
|
if (factor[item.code + 'Flag'] != undefined) {
|
||||||
@@ -250,7 +267,7 @@ export default {
|
|||||||
})
|
})
|
||||||
} else if (item.type == 1) {
|
} else if (item.type == 1) {
|
||||||
//按年龄选择
|
//按年龄选择
|
||||||
productTrialInfoDTO[item.code].forEach(factor => {
|
productTrialInfoDTO[item.code].forEach((factor) => {
|
||||||
item = Object.assign(item, factor)
|
item = Object.assign(item, factor)
|
||||||
})
|
})
|
||||||
if (item.code == 'inputPrem') {
|
if (item.code == 'inputPrem') {
|
||||||
@@ -271,11 +288,13 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// })
|
// })
|
||||||
return calFactorLst
|
return calFactorLst
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
</style>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -102,10 +102,14 @@ export default {
|
|||||||
localStorage.chooseProductCodes = '' //置空所选险种
|
localStorage.chooseProductCodes = '' //置空所选险种
|
||||||
let path = `/sale/insuredInfo`
|
let path = `/sale/insuredInfo`
|
||||||
let flagPermission = true
|
let flagPermission = true
|
||||||
if (this.$route.params.productDetailCode == 'GFRSPRO_M0024' || this.$route.params.productDetailCode == 'GFRSPRO_M0040') {
|
if (this.$route.params.productDetailCode == 'GFRSPRO_M0024') {
|
||||||
flagPermission = await riskRules.getProductSellPermissionList('GFRS_M0024', this)
|
flagPermission = await riskRules.getProductSellPermissionList('GFRS_M0024', this)
|
||||||
let specilFlag = '1'
|
let specilFlag = '1'
|
||||||
path = `${path}?specilFlag=${specilFlag}`
|
path = `${path}?specilFlag=${specilFlag}`
|
||||||
|
} else if(this.$route.params.productDetailCode == 'GFRSPRO_M0040'){
|
||||||
|
flagPermission = await riskRules.getProductSellPermissionList('GFRS_M0040', this)
|
||||||
|
let specilFlag = '1'
|
||||||
|
path = `${path}?specilFlag=${specilFlag}`
|
||||||
} else {
|
} else {
|
||||||
flagPermission = false
|
flagPermission = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,6 @@ module.exports = {
|
|||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
devServer: {
|
devServer: {
|
||||||
port:8082
|
port: 8082,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user