Compare commits
123 Commits
feature/FM
...
release/【2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ba94179c7f | ||
|
|
c164e663a6 | ||
|
|
9218460588 | ||
|
|
edac860b33 | ||
|
|
2dbe944d4a | ||
|
|
8f2403e8b1 | ||
|
|
4fa3488090 | ||
|
|
8445ba071c | ||
|
|
bbc6242a7a | ||
|
|
2e7e2d4146 | ||
|
|
5d4dc021d9 | ||
|
|
cb067f5f1a | ||
|
|
e65c297ca9 | ||
|
|
6f01cc72e7 | ||
|
|
1d75027332 | ||
|
|
5dc278aba3 | ||
|
|
d37d91e587 | ||
|
|
7ffa52b175 | ||
|
|
e20dace024 | ||
|
|
2717db913d | ||
|
|
d9171c7e7c | ||
|
|
5f834ed26e | ||
|
|
36a97af0ef | ||
|
|
d5302ebe9b | ||
|
|
9959ffb99a | ||
|
|
ae9389989e | ||
|
|
d689e9ca52 | ||
|
|
1b52c69865 | ||
|
|
3c8e8c13b6 | ||
|
|
c68d0e31a3 | ||
|
|
e28447f510 | ||
|
|
091fae62bc | ||
|
|
6bd20a7312 | ||
|
|
a00a732589 | ||
|
|
da400985cb | ||
|
|
507fe98e27 | ||
|
|
43395923f6 | ||
|
|
7ff3024390 | ||
|
|
a6dda21589 | ||
|
|
e253b38fd7 | ||
|
|
cb98c30ff0 | ||
|
|
80beac7078 | ||
|
|
ee6ba8b5a5 | ||
|
|
d7042a8b96 | ||
|
|
8a5901fdc9 | ||
|
|
ec82a0efda | ||
|
|
b7a6df0a24 | ||
|
|
3fd5a44080 | ||
|
|
494136d4a6 | ||
|
|
874ba80d6b | ||
|
|
4a311d5b07 | ||
|
|
09956c6b4d | ||
|
|
755730d514 | ||
|
|
fa91abdca7 | ||
|
|
ad653e50b5 | ||
|
|
32a84be33e | ||
|
|
9c582b75d1 | ||
|
|
a4e86aa113 | ||
|
|
3ec0ba7ae4 | ||
|
|
755d258450 | ||
|
|
e57198774f | ||
|
|
344b61199f | ||
|
|
2c08e65d60 | ||
|
|
69dcee67e3 | ||
|
|
9b1e3a8d05 | ||
|
|
90ee2ec5f5 | ||
|
|
a258ce446e | ||
|
|
70e9bbf03b | ||
|
|
d6235d5655 | ||
|
|
cd2a880d91 | ||
|
|
131bf1ed45 | ||
|
|
81febb9712 | ||
|
|
03505a3f5e | ||
|
|
6db394d79e | ||
|
|
20f6ee1612 | ||
|
|
f4394e2fec | ||
|
|
c55476e6d1 | ||
|
|
d77aeaa3d6 | ||
|
|
5c880bf648 | ||
|
|
4e57b1342b | ||
|
|
b3ba5222b9 | ||
|
|
17c74c328a | ||
|
|
c3d6cf6752 | ||
|
|
c2e1e6b3c7 | ||
|
|
c6948a98ca | ||
|
|
30060e81aa | ||
|
|
de7ade0173 | ||
|
|
99ad90fcf7 | ||
|
|
5682d1a01f | ||
|
|
2cdafbd761 | ||
|
|
ee1373ff84 | ||
|
|
13543d159b | ||
|
|
b28890850e | ||
|
|
bdf06b777a | ||
|
|
a5431a8ca9 | ||
|
|
2328efe212 | ||
|
|
0a0bac86b0 | ||
|
|
6ddf7cf4aa | ||
|
|
cec63933d7 | ||
|
|
7a9a0767f1 | ||
|
|
b5337a4c30 | ||
|
|
c5f3e0be9f | ||
|
|
98104e9706 | ||
|
|
385c2ec58e | ||
|
|
ea4e27a62c | ||
|
|
732ff8ab71 | ||
|
|
d588db380f | ||
|
|
881c580c94 | ||
|
|
76334ae38d | ||
|
|
22214ab765 | ||
|
|
2b93581562 | ||
|
|
c4dfd890a1 | ||
|
|
d0edf75aa9 | ||
|
|
eeebd1cf39 | ||
|
|
f493629a1c | ||
|
|
c9fd0c0c69 | ||
|
|
4c18da414a | ||
|
|
6c25eaa286 | ||
|
|
07e799e20b | ||
|
|
ace9714ae3 | ||
|
|
142116711c | ||
|
|
069aa9e193 | ||
|
|
f34658b3e3 |
91
src/api/GBC/GBC.js
Normal file
@@ -0,0 +1,91 @@
|
||||
import request from '@/assets/js/utils/request'
|
||||
import getUrl from '@/assets/js/utils/get-url'
|
||||
// 查询登录人所属项目列表
|
||||
export function gbcProjectList(data) {
|
||||
return request({
|
||||
url: getUrl('/agent/gbc/project/list', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询项目详情
|
||||
export function gbcProjectDetail(data) {
|
||||
return request({
|
||||
url: getUrl('/agent/gbc/project/detail', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 此接口是后端用于将GBC项目信息同步至登录用户信息(即UserModel)中的接口,前端在选中项目后需要调用此接口。
|
||||
export function gbcProjectConfirm(data) {
|
||||
return request({
|
||||
url: getUrl('/agent/gbc/project/confirm', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// GBC获取首页轮播图和上头条内容
|
||||
export function homeConfigGBC(data) {
|
||||
return request({
|
||||
url: getUrl('/customer/agent/homeConfigGBC', 1,3),
|
||||
method: 'get',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 根据项目编码获取科室信息
|
||||
export function getDepartmentByProjectNo(data) {
|
||||
return request({
|
||||
url: getUrl('/agent/gbc/project/getDepartmentByProjectNo', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 按年份查询登录人所属项目列表
|
||||
export function getGBCprojectlistByYear(data) {
|
||||
return request({
|
||||
url: getUrl('/agent/gbc/project/listByYear', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询项目下的客户列表
|
||||
export function getGBCappntlist(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/gbc/appnt/list', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询项目下的客户列表
|
||||
export function getGBCappntDetail(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/gbc/appnt/detail', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 保存客户类型
|
||||
export function getGBCappntTypeSave(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/gbc/appnt/type/save', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 保存客户沟通记录
|
||||
export function getGBCappntConnectSave(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/gbc/appnt/connect/save', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
@@ -381,3 +381,12 @@ export function appntIsAgent(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function saveOrderType(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/order/saveOrderType', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
BIN
src/assets/images/GBC/home-companyProfile.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
src/assets/images/GBC/home-cooperativeUnits-icon.png
Normal file
|
After Width: | Height: | Size: 1002 B |
BIN
src/assets/images/GBC/home-cooperativeUnits.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
src/assets/images/GBC/home-menu-1.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
src/assets/images/GBC/home-menu-2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
src/assets/images/GBC/home-menu-3.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
src/assets/images/GBC/home-menu-4.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/GBC/relation1.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
src/assets/images/GBC/relation2.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
src/assets/images/GBC/relation3.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
src/assets/images/GBC/relation4.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
src/assets/images/GBC/relation5.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
src/assets/images/GBC/relation6.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
@@ -3887,6 +3887,10 @@ export default {
|
||||
{
|
||||
code: "riskCost_M",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "GFRS_M0087__cashValue",
|
||||
label: "元"
|
||||
}
|
||||
],
|
||||
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,
|
||||
|
||||
78
src/components/ebiz/sale/BreadcrumbNavigator.vue
Normal file
@@ -0,0 +1,78 @@
|
||||
<template>
|
||||
<div class="index">
|
||||
<div class="navigator-item" v-for="(item, index) in navigatorItems" :key="index">
|
||||
<span class="title" :class="{ active: index === current }" @click="jump(index)">{{ index + 1 }}.{{ item }}</span>
|
||||
<div v-if="showArrow(index)" class="arrow">
|
||||
<div class="arrow-line" :style="{ backgroundColor: index === current ? 'red' : '' }" />
|
||||
<van-icon name="arrow" :class="{ active: index === current }" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'BreadcrumbNavigator',
|
||||
props: {
|
||||
current: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
moveOn: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
navigatorItems: ['投保人信息', '选择被保人', '生成建议书'],
|
||||
routerInfos: ['proposal/appnt', 'proposal/chooseInsuredPerson']
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jump(index) {
|
||||
if (index === this.current || index == 2) return
|
||||
if (this.moveOn) {
|
||||
let thisMyUrl = this.routerInfos[index]
|
||||
if (this.$route.query.proposalOrderNo) {
|
||||
thisMyUrl = this.routerInfos[index] + '?proposalOrderNo=' + this.$route.query.proposalOrderNo
|
||||
}
|
||||
this.$router.push({ path: '/' + thisMyUrl })
|
||||
}
|
||||
},
|
||||
showArrow(index) {
|
||||
return index + 1 != this.navigatorItems.length
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.index {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
.navigator-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 5px 2px;
|
||||
.title {
|
||||
font-size: 14px;
|
||||
}
|
||||
.active {
|
||||
color: red;
|
||||
}
|
||||
.arrow {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.arrow-line {
|
||||
width: 10px;
|
||||
height: 1px;
|
||||
background-color: #2c3e50;
|
||||
border-radius: 1px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,29 +1,34 @@
|
||||
<template>
|
||||
<div class="own_content">
|
||||
<ul class="index-bar">
|
||||
<li @click="changePage(item.pageNo)" v-for="(item, index) in pageTitle" :key="index" :class="item.tabClass" :id="item.tabClass" v-if="item.show">
|
||||
<!-- 选中 -->
|
||||
<div v-if="item.tabClass" class="flex justify-content-fs align-items-c">
|
||||
<div class="flex flex-direction-colunm align-items-c">
|
||||
<van-image :src="item.imgCheckedUrl" class="image_head" />
|
||||
<span class="fs12 mt12">{{ item.pageItem }}</span>
|
||||
<div>
|
||||
<div class="own_content">
|
||||
<ul class="index-bar">
|
||||
<li @click="changePage(item.pageNo)" v-for="(item, index) in pageTitle" :key="index" :class="item.tabClass" :id="item.tabClass" v-if="item.show">
|
||||
<!-- 选中 -->
|
||||
<div v-if="item.tabClass" class="flex justify-content-fs align-items-c">
|
||||
<div class="flex flex-direction-colunm align-items-c">
|
||||
<van-image :src="item.imgCheckedUrl" class="image_head" />
|
||||
<span class="fs12 mt12">{{ item.pageItem }}</span>
|
||||
</div>
|
||||
<van-image :src="doneUrl" v-if="index !== 10" class="image_done" />
|
||||
</div>
|
||||
<van-image :src="doneUrl" v-if="index !== 10" class="image_done" />
|
||||
</div>
|
||||
<div v-if="!item.tabClass" class="flex justify-content-fs align-items-c">
|
||||
<div class="flex flex-direction-colunm align-items-c">
|
||||
<van-image :src="item.imgNoCheckedUrl" class="image_head" />
|
||||
<span class="fs12 mt12" style="color: #999999">{{ item.pageItem }}</span>
|
||||
<div v-if="!item.tabClass" class="flex justify-content-fs align-items-c">
|
||||
<div class="flex flex-direction-colunm align-items-c">
|
||||
<van-image :src="item.imgNoCheckedUrl" class="image_head" />
|
||||
<span class="fs12 mt12" style="color: #999999">{{ item.pageItem }}</span>
|
||||
</div>
|
||||
<van-image :src="doneNurl" v-if="index !== 10" class="image_done" />
|
||||
</div>
|
||||
<van-image :src="doneNurl" v-if="index !== 10" class="image_done" />
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p v-if="branchType == '13'" style="margin-top: 10px;color: red;background-color: #ffdddc;padding: 5px 10px;">提示:您目前正在投保的项目为【{{projectName}}】</p>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import { Icon, Image } from 'vant'
|
||||
import { getOrderDetail1 } from '@/api/ebiz/sale/sale'
|
||||
import { gbcProjectDetail } from '@/api/GBC/GBC'
|
||||
export default {
|
||||
name: 'IndexBar',
|
||||
props: {
|
||||
@@ -51,6 +56,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
branchType:'',
|
||||
projectName:'',
|
||||
thisShow: false,
|
||||
doneUrl: this.$assetsUrl + 'images/kmh/done.png',
|
||||
doneNurl: this.$assetsUrl + 'images/kmh/done_n.png',
|
||||
@@ -159,7 +166,7 @@ export default {
|
||||
salePageFlag: Number(localStorage.salePageFlag)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
async mounted() {
|
||||
let that = this
|
||||
let data = {
|
||||
orderNo: that.$route.query.orderNo
|
||||
@@ -187,11 +194,32 @@ export default {
|
||||
})
|
||||
}
|
||||
}
|
||||
if(this.$route.query.orderNo) {
|
||||
this.projectName = res.orderDTO.ebizOrderGbcRelDTO.projectName
|
||||
}
|
||||
}
|
||||
})
|
||||
this.selectTab()
|
||||
if(window.localStorage.getItem('branchType') == '13') {
|
||||
this.branchType = '13'
|
||||
if(!this.$route.query.orderNo) {
|
||||
that.gbcProjectDetail()
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
gbcProjectDetail(){
|
||||
let params = {
|
||||
|
||||
}
|
||||
gbcProjectDetail(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
this.projectName = res.content.projectName
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
changePage(pageIndex) {
|
||||
let url = ''
|
||||
//由 localStorage.salePageFlag 来控制是否可跳到指定页面
|
||||
|
||||
44
src/router/GBC/index.js
Normal file
@@ -0,0 +1,44 @@
|
||||
//数据报表 定义相关组件
|
||||
const GBC_home = () => import('@/views/GBC/home')
|
||||
const GBC_projectList = () => import('@/views/GBC/projectList')
|
||||
const GBC_projectDetail = () => import('@/views/GBC/projectDetail')
|
||||
const GBC_customerDetail = () => import('@/views/GBC/customerDetail')
|
||||
|
||||
export default [
|
||||
{
|
||||
path: '/GBC/home',
|
||||
name: 'GBC_home',
|
||||
component: GBC_home,
|
||||
meta: {
|
||||
title: '首页',
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/GBC/projectList',
|
||||
name: 'GBC_projectList',
|
||||
component: GBC_projectList,
|
||||
meta: {
|
||||
title: '项目列表',
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/GBC/projectDetail',
|
||||
name: 'GBC_projectDetail',
|
||||
component: GBC_projectDetail,
|
||||
meta: {
|
||||
title: '项目详情',
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/GBC/customerDetail',
|
||||
name: 'GBC_customerDetail',
|
||||
component: GBC_customerDetail,
|
||||
meta: {
|
||||
title: '编辑客户信息',
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
]
|
||||
@@ -49,6 +49,8 @@ import allowance from './allowance'
|
||||
import cooperativeUnit from './cooperativeUnit'
|
||||
// YB_APP
|
||||
import YB_APP from '../YB_APP/index'
|
||||
// GBC
|
||||
import GBC from '../GBC/index'
|
||||
//健康险续保
|
||||
import healthInsuranceRenewal from './healthInsuranceRenewal'
|
||||
export default [
|
||||
@@ -89,5 +91,6 @@ export default [
|
||||
...allowance,
|
||||
...cooperativeUnit,
|
||||
...YB_APP,
|
||||
...GBC,
|
||||
...healthInsuranceRenewal
|
||||
] //根据需要进行删减
|
||||
|
||||
@@ -37,6 +37,9 @@ const PayResultFail = () => import('@/views/ebiz/sale/PayResultFail')
|
||||
const apointValidDoc = () => import('@/views/ebiz/sale/apointValidDoc')
|
||||
const shortPeriodProduct = () => import('@/views/ebiz/sale/shortPeriodProduct')
|
||||
const commitmentSelfProtect = () => import('@/views/ebiz/sale/commitmentSelfProtect')
|
||||
const readDocuments = () => import('@/views/ebiz/sale/readDocuments')
|
||||
const signDocuments = () => import('@/views/ebiz/sale/signDocuments')
|
||||
|
||||
let riskName = localStorage.riskName
|
||||
console.log('sale/riskName==', riskName)
|
||||
export default [
|
||||
@@ -328,5 +331,21 @@ export default [
|
||||
meta: {
|
||||
title: '国富人寿投保风险承受能力测评表'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/sale/readDocuments',
|
||||
name: 'readDocuments',
|
||||
component: readDocuments,
|
||||
meta: {
|
||||
title: '阅读文件'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/sale/signDocuments',
|
||||
name: 'signDocuments',
|
||||
component: signDocuments,
|
||||
meta: {
|
||||
title: '签名页面'
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -31,6 +31,8 @@ export default new Vuex.Store({
|
||||
YBidNo: '', //银保代理人电子化合同签署证件号码
|
||||
YBname: '', //银保代理人电子化合同签署姓名
|
||||
YBuuid: '', //银保代理人电子化合同签署代理人uuid
|
||||
appntSign: '', //投保人阅读签署文件
|
||||
insuredSign: '', //被保人阅读签署文件
|
||||
},
|
||||
mutations: {
|
||||
setOrderDetail (state, data) {
|
||||
@@ -93,6 +95,14 @@ export default new Vuex.Store({
|
||||
updateYBuuid (state, val) {
|
||||
state.YBuuid = val
|
||||
},
|
||||
//更新 投保人阅读签署文件
|
||||
updateappntSign (state, val) {
|
||||
state.appntSign = val
|
||||
},
|
||||
//更新 被保人阅读签署文件
|
||||
updateinsuredSign (state, val) {
|
||||
state.insuredSign = val
|
||||
},
|
||||
},
|
||||
getters: {
|
||||
getPageFlag (state) {
|
||||
@@ -128,6 +138,12 @@ export default new Vuex.Store({
|
||||
getYBuuid (state) {
|
||||
return state.YBuuid
|
||||
},
|
||||
getappntSign (state) {
|
||||
return state.appntSign
|
||||
},
|
||||
getinsuredSign (state) {
|
||||
return state.insuredSign
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
400
src/views/GBC/customerDetail.vue
Normal file
@@ -0,0 +1,400 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="background: #fff;margin: 10px;padding: 10px;border-radius: 5px;">
|
||||
<div style="display: flex;font-size: 14px;font-weight: bold;">
|
||||
<span style="width: 25%;display: flex;align-items: center;align-items: center;line-height: 30px;justify-content: center;">保单数量</span>
|
||||
<span style="width: 25%;display: flex;align-items: center;align-items: center;line-height: 30px;justify-content: center">家庭成员</span>
|
||||
<span style="width: 25%;display: flex;align-items: center;align-items: center;line-height: 30px;justify-content: center;">总保额</span>
|
||||
<span style="width: 25%;display: flex;align-items: center;align-items: center;line-height: 30px;justify-content: center;">总保费</span>
|
||||
</div>
|
||||
<div style="display: flex;font-size: 13px;color: #999;margin-top: 10px;">
|
||||
<span style="width: 25%;display: flex;align-items: flex-end;align-items: baseline;justify-content: center;">
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 7px;font-weight: bold;">{{infoContent.contSize}}</span>份
|
||||
</span>
|
||||
<span style="width: 25%;display: flex;align-items: flex-end;align-items: baseline;justify-content: center;">
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 7px;font-weight: bold;">{{infoContent.members.length}}</span>人
|
||||
</span>
|
||||
<span style="width: 25%;display: flex;align-items: flex-end;align-items: baseline;justify-content: center;">
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 7px;font-weight: bold;">{{infoContent.totalAmt}}</span>
|
||||
</span>
|
||||
<span style="width: 25%;display: flex;align-items: flex-end;align-items: baseline;justify-content: center;">
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 7px;font-weight: bold;">{{infoContent.totalPrem}}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin: 10px;overflow: auto;white-space: nowrap;">
|
||||
<div v-for="(item,index) in infoContent.members" @click="activeMembers(item,index)" class="membersClass" :key="index" :style="{border:activeMembersIndex==index?'1px solid #e98c8c':'none'}">
|
||||
<div v-if="item.gender=='1'" class="triangle1"></div>
|
||||
<div v-if="item.gender=='0'" class="triangle2"></div>
|
||||
<div v-if="item.relateToAppnt == 1" style="position: absolute;right: 2px;top: 2px;font-size: 12px;color: #fff;">本人</div>
|
||||
<div v-if="item.relateToAppnt == 2" style="position: absolute;right: 2px;top: 2px;font-size: 12px;color: #fff;">配偶</div>
|
||||
<div v-if="item.relateToAppnt == 3" style="position: absolute;right: 2px;top: 2px;font-size: 12px;color: #fff;">父母</div>
|
||||
<div v-if="item.relateToAppnt == 4" style="position: absolute;right: 2px;top: 2px;font-size: 12px;color: #fff;">子女</div>
|
||||
<div v-if="item.relateToAppnt == 5" style="position: absolute;right: 2px;top: 2px;font-size: 12px;color: #fff;">其他</div>
|
||||
<div style="position: absolute;top: 20px;left: 20px;">
|
||||
<img v-if="item.gender =='0' && item.relateToAppnt == 1" src="@/assets/images/GBC/relation6.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='1' && item.relateToAppnt == 1" src="@/assets/images/GBC/relation1.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='0' && item.relateToAppnt == 2" src="@/assets/images/GBC/relation6.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='1' && item.relateToAppnt == 2" src="@/assets/images/GBC/relation1.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='0' && item.relateToAppnt == 3" src="@/assets/images/GBC/relation4.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='1' && item.relateToAppnt == 3" src="@/assets/images/GBC/relation5.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='0' && item.relateToAppnt == 4" src="@/assets/images/GBC/relation3.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='1' && item.relateToAppnt == 4" src="@/assets/images/GBC/relation2.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='0' && item.relateToAppnt == 5" src="@/assets/images/GBC/relation6.png" style="width: 40px;" />
|
||||
<img v-if="item.gender =='1' && item.relateToAppnt == 5" src="@/assets/images/GBC/relation1.png" style="width: 40px;" />
|
||||
</div>
|
||||
<div style="position: absolute;bottom: 3px;width: 100%;text-align: center;font-size: 12px;">{{item.appntName}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin: 10px;border-radius: 5px;overflow: hidden;">
|
||||
<van-collapse v-model="activeNames">
|
||||
<van-collapse-item title="基本信息" name="1">
|
||||
<div style="display: flex;padding-bottom: 10px;border-bottom: 1px dashed #666;">
|
||||
<div style="width: 30%;line-height: 30px;color: #666;">
|
||||
<p>客户姓名:</p>
|
||||
<p>年龄:</p>
|
||||
<p>性别:</p>
|
||||
<p>手机号码:</p>
|
||||
<p v-if="activeMembersIndex == 0">部门/科室:</p>
|
||||
</div>
|
||||
<div style="width: 70%;line-height: 30px;color: #000;">
|
||||
<p>{{infoContent.appntName}}</p>
|
||||
<p>{{infoContent.age}}周岁</p>
|
||||
<p>{{infoContent.gender=='1'?'女':'男'}}</p>
|
||||
<p>{{infoContent.mobile}}</p>
|
||||
<p v-if="activeMembersIndex == 0">{{infoContent.departmentName}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<van-field @click="toSelect('toChooseAppntType')" v-model="infoContent.appntTypeName" class="customerType" label="客户类型" name="客户类型" readonly right-icon="arrow" placeholder="请选择"/>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
<div style="margin: 10px;border-radius: 5px;overflow: hidden;">
|
||||
<van-collapse v-model="activeNames">
|
||||
<van-collapse-item title="沟通记录" name="2">
|
||||
<div style="display: flex;justify-content: space-between;align-items: center;">
|
||||
<span>内容描述:</span>
|
||||
<van-button @click="activeConnectRecords = true" plain round type="danger" size="small">添 加</van-button>
|
||||
</div>
|
||||
<div v-if="activeConnectRecords">
|
||||
<div class="message">
|
||||
<div class="wrapper">
|
||||
<div class="parents">
|
||||
<textarea placeholder="请输入内容描述......" maxlength="500" autofocus="true" v-model="connectContent"></textarea>
|
||||
<span class="tips">
|
||||
{{connectContent.length}}/500
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="saveMeaasge" style="margin-top: 10px;display: flex;justify-content: center;">
|
||||
<van-button @click="getGBCappntConnectSave" type="danger" size="small">保 存</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="connectRecordsClass" style="border-top: 1px solid #dedede;margin-top: 10px;">
|
||||
<div v-for="(item,index) in infoContent.connectRecords" :key="index" style="margin-top: 10px;">
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<span style="display: inline-block;width: 30%;color: #666;">记录时间:</span>
|
||||
<span style="display: inline-block;width: 70%;color: #000;">{{item.connectTime}}</span>
|
||||
</div>
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<span style="display: inline-block;width: 30%;color: #666;">提交人:</span>
|
||||
<span style="display: inline-block;width: 70%;color: #000;">{{item.createUser}}</span>
|
||||
</div>
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<span style="display: inline-block;width: 30%;color: #666;">内容描述:</span>
|
||||
<span style="display: inline-block;width: 70%;color: #000;"></span>
|
||||
</div>
|
||||
<div class="itemMessage">
|
||||
<van-field v-model="item.connectContent" readonly rows="5" label="" type="textarea" maxlength="500" placeholder=""/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
<div style="margin: 10px;border-radius: 5px;overflow: hidden;">
|
||||
<van-collapse v-model="activeNames">
|
||||
<van-collapse-item title="保单信息" name="3">
|
||||
<div v-for="(item,index) in infoContent.contList" :key="index" style="border-bottom: 1px dashed #dedede;margin-bottom: 20px;">
|
||||
<div style="display: flex;justify-content: space-between;align-items: center;border-bottom: 1px solid #dedede;padding-bottom: 5px;">
|
||||
<div>
|
||||
<p style="font-size: 14px;font-weight: bold;line-height: 25px;color: #000;">{{item.productName}} </p>
|
||||
<p style="font-size: 12px;line-height: 25px;color: #999;">保单号:{{item.contNo}} </p>
|
||||
</div>
|
||||
<div v-if="item.orderStatus == '08'" style="padding: 10px 20px;border-radius: 8px;border: 1px solid #e9332e;background: #ffdfde;color: #e9332e;">
|
||||
<span>已承保</span>
|
||||
</div>
|
||||
<div v-if="item.orderStatus == '09'" style="padding: 10px 20px;border-radius: 8px;border: 1px solid #48A1F3;background: #DBEDFE;color: #48A1F3;">
|
||||
<span>已退保</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 10px 0px;">
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<p style="width: 30%;color: #666;">投保人:</p>
|
||||
<p style="width: 25%;color: #000;">{{item.appntName}}</p>
|
||||
<p style="width: 25%;color: #666;">被保险人:</p>
|
||||
<p style="width: 20%;color: #000;">{{item.insuredName}}</p>
|
||||
</div>
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<p style="width: 30%;color: #666;">保额(元):</p>
|
||||
<p style="width: 25%;color: #000;">{{item.amt}}</p>
|
||||
<p style="width: 25%;color: #666;">保费(元):</p>
|
||||
<p style="width: 20%;color: #000;">{{item.prem}}</p>
|
||||
</div>
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<p style="width: 30%;color: #666;">交费期间:</p>
|
||||
<p style="width: 25%;color: #000;">{{item.paymentPeriod}}</p>
|
||||
<p style="width: 25%;color: #666;">保险期间:</p>
|
||||
<p style="width: 20%;color: #000;">{{item.insuredPeriod}}</p>
|
||||
</div>
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<p style="width: 30%;color: #666;">保险生效日期:</p>
|
||||
<p style="width: 50%;color: #000;">{{item.effectiveDate}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
<van-popup v-model="popupShow" position="bottom">
|
||||
<van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="popupShow = false" />
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Collapse, CollapseItem } from 'vant'
|
||||
import { getGBCappntDetail, getGBCappntTypeSave, getGBCappntConnectSave } from '@/api/GBC/GBC.js'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeMembersIndex:0,
|
||||
activeConnectRecords:false,
|
||||
infoContent:{
|
||||
members:[
|
||||
{appntName:'刘亚丽',relateToAppnt:1,src:require('@/assets/images/GBC/relation1.png'),gender:'1'},
|
||||
{appntName:'刘桂芬',relateToAppnt:2,src:require('@/assets/images/GBC/relation2.png'),gender:'1'},
|
||||
{appntName:'谢居安',relateToAppnt:3,src:require('@/assets/images/GBC/relation3.png'),gender:'0'},
|
||||
{appntName:'谢危',relateToAppnt:4,src:require('@/assets/images/GBC/relation4.png'),gender:'0'},
|
||||
{appntName:'刘亚丽',relateToAppnt:5,src:require('@/assets/images/GBC/relation5.png'),gender:'1'},
|
||||
{appntName:'刘桂芬',relateToAppnt:6,src:require('@/assets/images/GBC/relation6.png'),gender:'1'},
|
||||
{appntName:'谢居安',relateToAppnt:7,src:require('@/assets/images/GBC/relation1.png'),gender:'0'},
|
||||
{appntName:'谢危',relateToAppnt:8,src:require('@/assets/images/GBC/relation2.png'),gender:'0'},
|
||||
{appntName:'谢危',relateToAppnt:9,src:require('@/assets/images/GBC/relation2.png'),gender:'0'},
|
||||
],
|
||||
connectRecords:[
|
||||
{
|
||||
connectTime:'2023-11-21 16:00:00',
|
||||
createUser:'赵威武',
|
||||
connectContent:'客户为财务部总经理,45岁,2个小孩,大儿子读初中,小女儿读小学,爱人在银行工作,全家人都已配置过重疾险,保额均为30万。自己可以做购买决策,但目前有2套房贷在供,经济压力较大,但对我司方案很认可,回去商量后再决定是否加保'
|
||||
},
|
||||
{
|
||||
connectTime:'2023-11-21 16:00:00',
|
||||
createUser:'赵威武',
|
||||
connectContent:'客户为财务部总经理,45岁,2个小孩,大儿子读初中,小女儿读小学,爱人在银行工作,全家人都已配置过重疾险,保额均为30万。自己可以做购买决策,但目前有2套房贷在供,经济压力较大,但对我司方案很认可,回去商量后再决定是否加保'
|
||||
},
|
||||
{
|
||||
connectTime:'2023-11-21 16:00:00',
|
||||
createUser:'赵威武',
|
||||
connectContent:'客户为财务部总经理,45岁,2个小孩,大儿子读初中,小女儿读小学,爱人在银行工作,全家人都已配置过重疾险,保额均为30万。自己可以做购买决策,但目前有2套房贷在供,经济压力较大,但对我司方案很认可,回去商量后再决定是否加保'
|
||||
}
|
||||
],
|
||||
contList:[
|
||||
{appntName:'赵燕燕',insuredName:'赵燕燕',amt:'3,200.00',prem:'150.00',paymentPeriod:'3年交',insuredPeriod:'终身',effectiveDate:'2023-11-28',orderStatus: '1'},
|
||||
{appntName:'赵燕燕',insuredName:'赵燕燕',amt:'3,200.00',prem:'150.00',paymentPeriod:'3年交',insuredPeriod:'终身',effectiveDate:'2023-11-28',orderStatus: '1'},
|
||||
{appntName:'赵燕燕',insuredName:'赵燕燕',amt:'3,200.00',prem:'150.00',paymentPeriod:'3年交',insuredPeriod:'终身',effectiveDate:'2023-11-28',orderStatus: '2'},
|
||||
]
|
||||
},
|
||||
activeNames:[],
|
||||
popupShow:false,
|
||||
columns:[],
|
||||
customerType:'',
|
||||
pickerType: '',
|
||||
columns_toChooseAppntType:[
|
||||
{text:'A类',id:'A'},
|
||||
{text:'B类',id:'B'},
|
||||
{text:'C类',id:'C'},
|
||||
{text:'D类',id:'D'},
|
||||
],
|
||||
connectContent: "",
|
||||
maxLength: 500,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.getGBCappntDetail()
|
||||
},
|
||||
methods: {
|
||||
activeMembers(thisData,thisIndex) {
|
||||
this.activeMembersIndex = thisIndex
|
||||
this.infoContent.appntName = thisData.name
|
||||
this.infoContent.age = thisData.age
|
||||
this.infoContent.gender = thisData.gender
|
||||
this.infoContent.mobile = thisData.mobile
|
||||
this.infoContent.departmentName = thisData.departmentName
|
||||
},
|
||||
getGBCappntDetail() {
|
||||
let params = {
|
||||
"projectCode": this.$route.query.projectCode,
|
||||
"appntId": this.$route.query.appntId
|
||||
}
|
||||
getGBCappntDetail(params).then(res => {
|
||||
if(res.result == 0) {
|
||||
this.infoContent = res.content
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
getGBCappntConnectSave(){
|
||||
let params = {
|
||||
"projectCode": this.$route.query.projectCode,
|
||||
"appntId": this.$route.query.projectCode,
|
||||
"connectContent": this.connectContent
|
||||
}
|
||||
getGBCappntConnectSave(params).then(res=>{
|
||||
if(res.result == 0) {
|
||||
this.$toast('保存成功')
|
||||
this.getGBCappntDetail()
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
onConfirm(value){
|
||||
if(this.pickerType == 'toChooseAppntType'){
|
||||
this.infoContent.appntTypeName = value.text
|
||||
this.infoContent.appntType = value.id
|
||||
let params = {
|
||||
"projectCode": this.$route.query.projectCode,
|
||||
"appntId": this.$route.query.appntId,
|
||||
"appntType": this.infoContent.appntType
|
||||
}
|
||||
getGBCappntTypeSave(params).then(res=>{
|
||||
if(res.result == 0){
|
||||
this.$toast('保存成功')
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
}
|
||||
this.popupShow = false
|
||||
},
|
||||
toSelect(pickerType){
|
||||
this.pickerType = pickerType
|
||||
this.popupShow = true
|
||||
switch (pickerType) {
|
||||
case 'toChooseAppntType':
|
||||
this.columns = this.columns_toChooseAppntType
|
||||
break
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.triangle1 {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-width:30px; /* 设置边长 */
|
||||
border-style: solid;
|
||||
transform: translateX(50px) translateY(-30px) rotate(45deg);
|
||||
border-color: transparent transparent #FC7D5B transparent; /* 透明色为背景色,#000000为需要显示的颜色 */
|
||||
}
|
||||
.triangle2 {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-width:30px; /* 设置边长 */
|
||||
border-style: solid;
|
||||
transform: translateX(50px) translateY(-30px) rotate(45deg);
|
||||
border-color: transparent transparent #3D72D0 transparent; /* 透明色为背景色,#000000为需要显示的颜色 */
|
||||
}
|
||||
/deep/ .van-cell:not(:last-child)::after {
|
||||
border-bottom: 1px dashed #666 !important;
|
||||
}
|
||||
/deep/ .van-cell:not(:last-child)::after{
|
||||
left:0px !important;
|
||||
}
|
||||
.customerType{
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
color: #666;
|
||||
}
|
||||
/deep/ .message{
|
||||
border-radius: 10px;
|
||||
border: 1px solid #dedede;
|
||||
margin-top: 20px;
|
||||
padding: 10px;
|
||||
}
|
||||
.parents {
|
||||
width: 100%;
|
||||
height: 120px;
|
||||
position: relative;
|
||||
}
|
||||
textarea {
|
||||
border: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.tips {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
/deep/ .saveMeaasge{
|
||||
.van-button--small{
|
||||
padding: 0px 40px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
}
|
||||
/deep/ .itemMessage{
|
||||
border: 1px solid #dedede;
|
||||
border-radius: 10px;
|
||||
padding: 10px;
|
||||
.van-field__label{
|
||||
width: 0;
|
||||
}
|
||||
.van-cell{
|
||||
padding: 0px;
|
||||
}
|
||||
.van-field__control{
|
||||
color: #333;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
/deep/ .van-collapse-item{
|
||||
.van-cell__title{
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.membersClass{
|
||||
display: inline-block;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 5px;
|
||||
background: #fff;
|
||||
margin-right: 10px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
||||
368
src/views/GBC/home.vue
Normal file
@@ -0,0 +1,368 @@
|
||||
<template>
|
||||
<div class="public_container" :style="{paddingTop:marginTop+'px'}">
|
||||
<!-- <van-pull-refresh v-model="isLoading" @refresh="onRefresh">-->
|
||||
<div class="head">
|
||||
<van-swipe :autoplay="3000" style="width: 100%;">
|
||||
<van-swipe-item v-for="(item, index) in activity" :key="index" @touchstart="touchstart" @touchmove="touchmove" @touchend="touchend(item)">
|
||||
<!-- <img :src="config.assetsUrl + item.img + '?v=' + thisGetTime" /> -->
|
||||
<img :src="item.img">
|
||||
</van-swipe-item>
|
||||
</van-swipe>
|
||||
</div>
|
||||
|
||||
<div class="iconPart1">
|
||||
<van-notice-bar :left-icon="png8" :text='getCodeValue'/>
|
||||
</div>
|
||||
|
||||
<div class="top">
|
||||
<div class="menu" v-for="(item, ind) in homePageIcon" :key="ind" @click="goDetail(item)">
|
||||
<div class="menuImg">
|
||||
<img :src="item.img">
|
||||
</div>
|
||||
<span class="menuName">{{ item.title }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="cooperativeUnits">
|
||||
<div>
|
||||
<div style="width: 50%;display: inline-block;" v-for="(item,index) in list1" :key="index">
|
||||
<p style="display: flex;justify-content: flex-start;height: 50px;align-items: center;margin: 5px 10px;border:1px solid #eee;border-radius: 5px;background: #fff;color: #333333;padding-left: 10px;">
|
||||
<img src="@/assets/images/GBC/home-cooperativeUnits-icon.png" style="width: 20px;height: 20px;margin-right: 10px;"/>
|
||||
{{item.name}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="companyProfile">
|
||||
<img :src="image1" style="width: 100%;"/>
|
||||
</div>
|
||||
<!-- </van-pull-refresh>-->
|
||||
|
||||
<van-dialog v-model="chooseProjectDialogShow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">请选择项目</p>
|
||||
</div>
|
||||
<div class="chooseProjectDialog" style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<van-radio-group v-model="chooseTeamCode">
|
||||
<van-radio v-for="(item,index) in projectList" :key="index" :name="item.teamCode" style="margin: 10px;">
|
||||
<span style="margin-left: 20px;">
|
||||
{{item.projectName}}
|
||||
<span v-if="item.teamName" style="margin-left: 10px;color: #a7a7a7;">
|
||||
({{item.teamName}})
|
||||
</span>
|
||||
</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 30px;">
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="chooseProjectList">
|
||||
确定
|
||||
</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
|
||||
<!-- 选择过期项目弹窗提示 -->
|
||||
<van-dialog v-model="enableProjectDialogShow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">提示</p>
|
||||
</div>
|
||||
<div style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
{{chooseProjectName}}项目服务时间已结束!
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 30px;">
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="enableProjectDialogShow = false">
|
||||
返回
|
||||
</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { gbcProjectList, gbcProjectConfirm, homeConfigGBC } from '@/api/GBC/GBC'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
||||
import { Swipe, SwipeItem, NoticeBar, Icon, Popup, PullRefresh ,Toast, RadioGroup, Radio } from 'vant'
|
||||
import config from '@/config'
|
||||
import png8 from '@/assets/YB_APP/images/8.png';
|
||||
export default {
|
||||
name: 'Home',
|
||||
components: {
|
||||
[Swipe.name]: Swipe,
|
||||
[SwipeItem.name]: SwipeItem,
|
||||
[NoticeBar.name]: NoticeBar,
|
||||
[Icon.name]: Icon,
|
||||
[Popup.name]: Popup,
|
||||
[PullRefresh.name]:PullRefresh,
|
||||
[RadioGroup.name]:RadioGroup,
|
||||
[Radio.name]:Radio,
|
||||
[Toast.name]:Toast ,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
marginTop:'80',
|
||||
getCodeValue:'',
|
||||
png8,
|
||||
activity: [],
|
||||
homePageIcon:[
|
||||
{title:'建议书',route:'/proposal/list',img:require('@/assets/images/GBC/home-menu-1.png')},
|
||||
{title:'电子投保',route:'/sale/list',img:require('@/assets/images/GBC/home-menu-2.png')},
|
||||
{title:'海报设计',route:'/poster/posterList',img:require('@/assets/images/GBC/home-menu-3.png')},
|
||||
{title:'GBC专区',route:'/GBC/projectList',img:require('@/assets/images/GBC/home-menu-4.png')}
|
||||
],
|
||||
isLoading: false,
|
||||
image1: require('@/assets/images/GBC/home-companyProfile.png'),
|
||||
list1:[
|
||||
{name:'广西金融投资集团'},{name:'广投集团'},{name:'广西北部湾银行'},{name:'国海证券'},
|
||||
],
|
||||
projectList:[],
|
||||
chooseProjectDialogShow: false,
|
||||
chooseTeamCode:'',
|
||||
chooseProjectCode:'',
|
||||
chooseProjectName: '',
|
||||
enableProjectDialogShow: false,
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.homeConfigGBC()
|
||||
this.setMarginTop()
|
||||
if(this.$route.query.isFrom == 'login') {
|
||||
this.gbcProjectList()
|
||||
}
|
||||
this.getAgentInfo()
|
||||
},
|
||||
methods:{
|
||||
getAgentInfo(){
|
||||
let params = {
|
||||
|
||||
}
|
||||
getAgentInfo(params).then(res => {
|
||||
if(res.result == '0') {
|
||||
if(res.branchType == '13') {
|
||||
window.localStorage.setItem('branchType','13')
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
gbcProjectList(){
|
||||
let params = {
|
||||
|
||||
}
|
||||
gbcProjectList(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
this.projectList = res.content
|
||||
if(this.projectList.length == 1) {
|
||||
this.chooseProjectDialogShow = false
|
||||
this.chooseTeamCode = this.projectList[0].teamCode
|
||||
this.chooseProjectCode = this.projectList[0].projectCode
|
||||
this.chooseProjectName = this.projectList[0].projectName
|
||||
this.chooseProjectList()
|
||||
}
|
||||
if(this.projectList.length > 1) {
|
||||
this.chooseProjectDialogShow = true
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
chooseProjectList(){
|
||||
if(!this.chooseTeamCode) {
|
||||
this.$toast('请选择项目')
|
||||
return false
|
||||
}
|
||||
if(this.projectList && this.projectList.length != 0) {
|
||||
this.projectList.forEach(item=>{
|
||||
if(item.teamCode == this.chooseTeamCode){
|
||||
this.chooseProjectName = item.projectName
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
let params = {
|
||||
teamCode:this.chooseTeamCode
|
||||
}
|
||||
gbcProjectConfirm(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
if(res.content.enable == 1){
|
||||
this.chooseProjectDialogShow = false
|
||||
} else {
|
||||
this.enableProjectDialogShow = true
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
goDetail(data){
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#'+ data.route,
|
||||
},
|
||||
routerInfo: {
|
||||
path: data.route,
|
||||
},
|
||||
})
|
||||
},
|
||||
setMarginTop(){
|
||||
EWebBridge.webCallAppInJs("top_bar_height").then(data => {
|
||||
console.log(data,'top_bar_height')
|
||||
if(data){
|
||||
// 获取高度成功
|
||||
let height = data.height
|
||||
// 设置高度
|
||||
this.marginTop = height + 10
|
||||
}
|
||||
})
|
||||
},
|
||||
homeConfigGBC(){
|
||||
let params = {
|
||||
|
||||
}
|
||||
homeConfigGBC(params).then(res=>{
|
||||
if(res.result == 0){
|
||||
this.activity = res.content.activity
|
||||
if(res.content.getCodeValue.length!=0){
|
||||
res.content.getCodeValue.forEach(item=>{
|
||||
this.getCodeValue += item + ' '
|
||||
})
|
||||
}
|
||||
this.homePageIcon = res.content.icon.homePageIcon
|
||||
}else{
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
touchstart(){
|
||||
this.clickFlag = true
|
||||
},
|
||||
touchmove(){
|
||||
this.clickFlag = false
|
||||
},
|
||||
touchend(data){
|
||||
if(this.clickFlag){
|
||||
let dataURL = JSON.parse(data.route).extra.url
|
||||
if(dataURL){
|
||||
let thisRoute = dataURL.substring(dataURL.lastIndexOf("/#")+2)
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#' + thisRoute,
|
||||
},
|
||||
routerInfo: {
|
||||
path: thisRoute,
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
// 下拉刷新
|
||||
onRefresh() {
|
||||
setTimeout(() => {
|
||||
Toast('刷新成功');
|
||||
this.isLoading = false;
|
||||
location. reload()
|
||||
}, 1000);
|
||||
},
|
||||
},
|
||||
// beforeRouteEnter(to, from, next) {
|
||||
// next(vm => {
|
||||
// if(from && from.path){
|
||||
// console.log(from)
|
||||
// // eslint-disable-next-line no-undef
|
||||
// if(form.path == '/login') {
|
||||
// window.sessionStorage.setItem('GBCFrom','GBCLogin')
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// },
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.public_container{
|
||||
font-size: 12px;
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
/*background-image: url("../../assets/YB_APP/images/2-1.png");*/
|
||||
/*background-repeat: no-repeat;*/
|
||||
/*background-size: contain;*/
|
||||
background: #F0F8FF;
|
||||
}
|
||||
.head {
|
||||
position: relative;
|
||||
margin: 10px;border-radius: 5px;
|
||||
/*box-shadow: 0px 5px 8px 0px #7a6fc1;*/
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 5px;
|
||||
}
|
||||
/deep/ .van-swipe-item{
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
/deep/ .van-notice-bar{
|
||||
border-radius: 5px;
|
||||
}
|
||||
.menuImg{
|
||||
width:100%;display: flex;justify-content: center;margin-bottom: 5px;
|
||||
/deep/ img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
/deep/ .van-notice-bar{
|
||||
background: #fff;
|
||||
color: #333;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
/deep/ .van-icon__image{
|
||||
width: 100%;
|
||||
}
|
||||
/deep/ .van-notice-bar__left-icon{
|
||||
width: 50px;
|
||||
}
|
||||
/deep/ .van-notice-bar__wrap{
|
||||
margin-left: 10px;
|
||||
}
|
||||
/deep/ .van-swipe-item{
|
||||
img{
|
||||
height:145px;
|
||||
}
|
||||
}
|
||||
.iconPart1{
|
||||
margin: 10px;border-radius: 5px;
|
||||
}
|
||||
.top{
|
||||
display:flex;
|
||||
justify-content: space-between;
|
||||
margin: 10px;
|
||||
border-radius: 5px;
|
||||
align-items: center;
|
||||
padding: 15px;
|
||||
}
|
||||
.title-img {
|
||||
height: 40px;
|
||||
}
|
||||
/deep/ .chooseProjectDialog{
|
||||
.van-radio__icon {
|
||||
.van-icon{
|
||||
border: 1px solid red;
|
||||
}
|
||||
}
|
||||
}
|
||||
.cooperativeUnits{
|
||||
background: url("../../assets/images/GBC/home-cooperativeUnits.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
height: 130px;
|
||||
padding-top: 60px;
|
||||
margin: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
379
src/views/GBC/projectDetail.vue
Normal file
@@ -0,0 +1,379 @@
|
||||
<template>
|
||||
<div>
|
||||
<van-tabs v-model="tabActive">
|
||||
<van-tab title="客户列表" name="customerList"></van-tab>
|
||||
<van-tab title="数据看板" name="dataBoard"></van-tab>
|
||||
<van-tab title="产品列表" name="productList"></van-tab>
|
||||
</van-tabs>
|
||||
<div v-if="tabActive == 'customerList'">
|
||||
<div style="display: flex;align-items: center;padding-left: 10px;background: #fff;">
|
||||
<div style="width: 30%;">
|
||||
<van-dropdown-menu :overlay="dropdownmenuoverlay">
|
||||
<van-dropdown-item v-model="filterType" :options="filterTypeOption" @change="dropdownMenuChange"/>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<van-search v-if="filterType == 1 || filterType == 2 || filterType == 3" v-model="searchvalue" shape="round" @search="getGBCappntlist" placeholder="搜索客户姓名/部门/科室/服务人员" style="width: 70%;"/>
|
||||
<div v-if="filterType == 4" style="display: flex;align-items: center;height: 54px;">
|
||||
<div @click="toChooseDate('startDate')" style="background: #f5f5f5;height: 34px;border-radius: 17px;width: 90px;display: flex;align-items: center;padding:0px 10px;">
|
||||
<van-icon name="notes-o" />
|
||||
<span v-if="!startDate" style="font-size: 12px;margin-left: 5px;color: #666;">请选择日期</span>
|
||||
<span v-if="startDate" style="font-size: 12px;margin-left: 5px;color: #333;">{{startDate}}</span>
|
||||
</div>
|
||||
<span style="margin: 0px 5px;font-size: 14px;">至</span>
|
||||
<div @click="toChooseDate('endDate')" style="background: #f5f5f5;height: 34px;border-radius: 17px;width: 90px;display: flex;align-items: center;padding: 0px 10px;">
|
||||
<van-icon name="notes-o" />
|
||||
<span v-if="!endDate" style="font-size: 12px;margin-left: 5px;color: #666;">请选择日期</span>
|
||||
<span v-if="endDate" style="font-size: 12px;margin-left: 5px;color: #333;">{{endDate}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 0px 10px 10px;">
|
||||
<div v-for="(item,index) in customerList" :key="index">
|
||||
<div style="padding: 20px 20px 10px;border-radius: 5px;background: #fff;margin-top: 20px;">
|
||||
<div style="display: flex;font-size: 14px;line-height: 30px;border-bottom: 1px solid #eee;padding-bottom: 10px;">
|
||||
<div style="width: 55%;overflow: hidden;white-space: nowrap;">
|
||||
<p>客户姓名:{{item.appntName}}</p>
|
||||
<p>手机号码:{{item.mobile}}</p>
|
||||
<p>服务组长:{{item.teamLeader}}</p>
|
||||
</div>
|
||||
<div style="width: 45%;overflow: hidden;white-space: nowrap;">
|
||||
<p>部门/科室:{{item.departmentName}}</p>
|
||||
<p>承包保单:{{item.contSize}}份</p>
|
||||
<p>服务组员:{{item.teamMember}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: flex;justify-content: flex-end;margin-top: 10px;">
|
||||
<van-button @click="goCustomerDetail(item)" type="danger" size="small" style="border-radius:5px;">查看编辑</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="tabActive == 'dataBoard'">
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目名称:国富人寿北京协和医院AA项目</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
<div style="display: flex;justify-content: center;margin-top: 20px;">
|
||||
<van-circle v-model="currentRate" color="#E9332E" :stroke-width="60" size="80px" :rate="85" :speed="100" :text="text" />
|
||||
</div>
|
||||
<p style="display: flex;justify-content: center;font-weight: bold;font-size: 14px;margin: 10px;">面谈转化率</p>
|
||||
<div style="padding: 10px;background: rgba(251, 235, 230, 0.5);border-radius: 5px;display: flex;justify-content: flex-start;flex-wrap:wrap;">
|
||||
<div v-for="(item,index) in dataList1" style="width: 33%;display: flex;justify-content: space-around;align-items: center;">
|
||||
<div>
|
||||
<div style="font-size: 12px;line-height: 22px;margin: 7px 0px;">
|
||||
<p style="display: flex;justify-content: center;font-size: 14px;">{{item.value}}</p>
|
||||
<p style="display: flex;justify-content: center;align-items: center;">
|
||||
<span class="colorBlock" :style="{background:colorList[index]}"></span>
|
||||
{{item.name}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div v-if="(index + 1) % 3 != 0 || index < 2" style="width: 1px;background: #FFC9AF;height: 60%;"></div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<div style="border-bottom: 1px dashed #666;padding-bottom: 15px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目成员分配</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
</div>
|
||||
<div style="margin-top: 10px;margin-bottom: 3px;background: rgba(255, 87, 83, 0.7);line-height: 30px;display: flex;align-items: center;color: #fff;font-size: 14px;">
|
||||
<span style="width: 18%;display: flex;justify-content: center;">成员</span>
|
||||
<span style="width: 22%;display: flex;justify-content: center;">角色</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">累计标保(元)</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">受理标保(元)</span>
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="item in dataList2" style="background: rgba(251, 235, 230, 0.44);margin-bottom: 1px;line-height: 30px;display: flex;align-items: center;color: #333;font-size: 13px;">
|
||||
<span style="width: 18%;display: flex;justify-content: center;">{{item.name}}</span>
|
||||
<span style="width: 22%;display: flex;justify-content: center;">{{item.role}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.value1}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.value2}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<div style="border-bottom: 1px dashed #666;padding-bottom: 15px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目数据统计</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
</div>
|
||||
<div style="margin-top: 10px;margin-bottom: 3px;background: rgba(255, 87, 83, 0.7);line-height: 30px;display: flex;align-items: center;color: #fff;font-size: 14px;">
|
||||
<span style="width: 25%;display: flex;justify-content: center;">小组</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">组长</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">获客人数</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">获客率</span>
|
||||
</div>
|
||||
<div>
|
||||
<div style="background: rgba(251, 235, 230, 0.44);margin-bottom: 1px;line-height: 30px;display: flex;align-items: center;color: #333;font-size: 13px;">
|
||||
<span style="width: 50%;display: flex;justify-content: center;">项目合并</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">890</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">89%</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="(item,index) in dataList3" :key="index" style="background: rgba(251, 235, 230, 0.44);margin-bottom: 1px;line-height: 30px;display: flex;align-items: center;color: #333;font-size: 13px;">
|
||||
<span style="width: 25%;display: flex;justify-content: center;">{{item.name}}</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">{{item.role}}</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">{{item.value1}}</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">{{item.value2}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="tabActive == 'productList'">
|
||||
<div v-for="(item,index) in dataList4" @click="goProductDetail(item.productCode)" :key="index" style="background: #fff;border-radius: 5px;margin: 5px;display: flex;padding: 5px;">
|
||||
<img :src="item.productImageUrl" style="display: inline-block;width: 35%;border-radius: 5px;"/>
|
||||
<div style="display: inline-block;width: 65%;padding-left: 10px;">
|
||||
<p style="font-size: 16px;">{{item.productName}}</p>
|
||||
<p style="font-size: 14px;color: #bdbdbd;margin-top: 20px;">{{item.productDesc}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="showDataPicker" position="bottom">
|
||||
<van-datetime-picker type="date" v-model="currentDate" @confirm="onConfirmDate" @cancel="cancelDate" :max-date="maxDate" :min-date="minDate" />
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Tab, Tabs, Search, DropdownMenu, DropdownItem, Circle } from 'vant'
|
||||
import { getList } from '@/api/ebiz/product/product.js'
|
||||
import { getGBCappntlist } from '@/api/GBC/GBC.js'
|
||||
export default {
|
||||
components: {
|
||||
[Tab.name]: Tab,
|
||||
[Tabs.name]: Tabs,
|
||||
[Search.name]: Search,
|
||||
[DropdownMenu.name]: DropdownMenu,
|
||||
[DropdownItem.name]: DropdownItem,
|
||||
[Circle.name]: Circle,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tabActive:1,
|
||||
searchvalue:'',
|
||||
filterType: 1,
|
||||
startDate:'',
|
||||
endDate:'',
|
||||
showDataPicker:false,
|
||||
minDate: new Date(2000, 0, 1),
|
||||
maxDate: new Date(2050, 11, 31),
|
||||
currentDate:new Date(),
|
||||
datePickerType:'',
|
||||
filterTypeOption: [
|
||||
{ text: '按客户', value: 1 },
|
||||
{ text: '按科室', value: 2 },
|
||||
{ text: '按小组', value: 3 },
|
||||
{ text: '按日期', value: 4 },
|
||||
],
|
||||
dropdownmenuoverlay:false,
|
||||
customerList:[],
|
||||
currentRate: 0,
|
||||
colorList:['#E9332E','#CB9BFF','#54C6FA','#FF9B39','#60D64D','#4045F3','#FF59D9','#E8C0A2','#FCD338','#7584A2'],
|
||||
dataList1:[
|
||||
{name:'累计受理保费(元)',value:'150,000.00'},
|
||||
{name:'累计标保(元)',value:'250,000.00'},
|
||||
{name:'件均保费(元)',value:'130,000.00'},
|
||||
{name:'件均保费(元)',value:'10856'},
|
||||
{name:'累计受理件数(件)',value:'356'},
|
||||
{name:'累计承保人数(人)',value:'9569'},
|
||||
{name:'累计承保件数(件)',value:'262'},
|
||||
],
|
||||
dataList2:[
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
],
|
||||
dataList3:[
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
],
|
||||
dataList4:[],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.getGBCappntlist()
|
||||
this.getProductList()
|
||||
},
|
||||
methods: {
|
||||
dropdownMenuChange(value){
|
||||
this.filterType = value
|
||||
this.searchvalue = ''
|
||||
this.startDate = ''
|
||||
this.endDate = ''
|
||||
if(value == 1 || value == 2 || value == 3) {
|
||||
this.getGBCappntlist()
|
||||
}
|
||||
},
|
||||
getGBCappntlist(){
|
||||
let params = {
|
||||
"projectCode": this.$route.query.projectCode,
|
||||
"filterType": this.filterType,
|
||||
"appntName": "",
|
||||
"departmentName": "",
|
||||
"teamMemberName": "",
|
||||
"startDate": "",
|
||||
"endDate": ""
|
||||
}
|
||||
if(this.filterType == 1){
|
||||
params.appntName = this.searchvalue
|
||||
}
|
||||
if(this.filterType == 2){
|
||||
params.departmentName = this.searchvalue
|
||||
}
|
||||
if(this.filterType == 3){
|
||||
params.teamMemberName = this.searchvalue
|
||||
}
|
||||
if(this.filterType == 4) {
|
||||
params.startDate = this.startDate
|
||||
params.endDate = this.endDate
|
||||
}
|
||||
getGBCappntlist(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
this.customerList = []
|
||||
if(res.content && res.content.length != 0) {
|
||||
this.customerList = res.content
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
toChooseDate(type){
|
||||
this.datePickerType = type
|
||||
if(type == 'startDate') {
|
||||
this.showDataPicker = true
|
||||
}
|
||||
if(type == 'endDate') {
|
||||
this.showDataPicker = true
|
||||
}
|
||||
},
|
||||
onConfirmDate(date){
|
||||
if(this.datePickerType == 'startDate') {
|
||||
let year = date.getFullYear()
|
||||
let month = String(date.getMonth() + 1).padStart(2, '0');
|
||||
let day = String(date.getDate()).padStart(2, '0');
|
||||
this.startDate = year + '-' + month + '-' + day;
|
||||
if(this.endDate) {
|
||||
this.getGBCappntlist()
|
||||
}
|
||||
}
|
||||
if(this.datePickerType == 'endDate') {
|
||||
let year = date.getFullYear()
|
||||
let month = String(date.getMonth() + 1).padStart(2, '0');
|
||||
let day = String(date.getDate()).padStart(2, '0');
|
||||
this.endDate = year + '-' + month + '-' + day;
|
||||
if(this.startDate) {
|
||||
this.getGBCappntlist()
|
||||
}
|
||||
}
|
||||
this.showDataPicker = false
|
||||
},
|
||||
cancelDate(){
|
||||
this.showDataPicker = false
|
||||
},
|
||||
goCustomerDetail(data){
|
||||
this.$router.push({
|
||||
path:'/GBC/customerDetail',
|
||||
query:{
|
||||
projectCode:this.$route.query.projectCode,
|
||||
appntId:data.appntId
|
||||
},
|
||||
})
|
||||
},
|
||||
getProductList(){
|
||||
let params = {
|
||||
type: 'app'
|
||||
}
|
||||
getList(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
this.dataList4 = this.dataList4.concat(res.productList)
|
||||
this.dataList4 = this.dataList4.concat(res.productList)
|
||||
this.dataList4 = this.dataList4.concat(res.productList)
|
||||
this.dataList4 = this.dataList4.concat(res.productList)
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
goProductDetail(productCode) {
|
||||
localStorage.productDetailCode = productCode
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/product/ProductDetail/${productCode}`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/product/ProductDetail/${productCode}`
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
// watch: {
|
||||
// isShowOthenSalarySource(nVal) {
|
||||
// if (!nVal) {
|
||||
// this.userInfo.otherSalarySource = ''
|
||||
// }
|
||||
// },
|
||||
// },
|
||||
computed: {
|
||||
text() {
|
||||
return this.currentRate.toFixed(0) + '%';
|
||||
},
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
/deep/ .van-search__content{
|
||||
background: #fff;
|
||||
}
|
||||
/deep/ .van-dropdown-menu{
|
||||
height: 34px;
|
||||
}
|
||||
/deep/ .van-dropdown-item__content{
|
||||
width: 40%;
|
||||
left: 10px;
|
||||
}
|
||||
/deep/ .van-dropdown-menu{
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.colorBlock{
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
display: inline-block;
|
||||
/*background: #000;*/
|
||||
border-radius: 3px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
/deep/ .van-hairline--top-bottom::after{
|
||||
border: none;
|
||||
}
|
||||
/deep/ .van-dropdown-menu{
|
||||
background: #fff;
|
||||
}
|
||||
/deep/ .van-search__content{
|
||||
background: #f5f5f5;
|
||||
}
|
||||
/deep/ [data-v-3f765cce] .van-dropdown-item__content{
|
||||
box-shadow: 0px 0px 5px 5px #f5f5f5;
|
||||
}
|
||||
</style>
|
||||
87
src/views/GBC/projectList.vue
Normal file
@@ -0,0 +1,87 @@
|
||||
<template>
|
||||
<div>
|
||||
<van-search v-model="searchvalue" shape="round" background="#fff" placeholder="搜索项目名称"/>
|
||||
<div style="padding: 10px;">
|
||||
<van-collapse v-for="item in yearList" :key="item.year" v-model="activeNames" style="margin-top: 10px;border-radius: 5px;">
|
||||
<van-collapse-item :title="item.year" :name="item.year">
|
||||
<div v-for="(ii,iis) in item.projects" @click="goprojectDetail(ii)" :key="iis" style="display: flex;justify-content: space-between;align-items: center;padding: 10px;border-bottom: 1px solid #eee;">
|
||||
<div>
|
||||
<p style="color:#323233;margin-bottom: 10px;">{{ii.projectName}}</p>
|
||||
<p v-if="ii.enable == '1'">服务起止日期<span style="margin-left: 10px;">{{ii.startDate}}至{{ii.endDate}}</span></p>
|
||||
<p v-if="ii.enable == '0'">服务起止日期<span style="margin-left: 10px;color: red;">{{ii.startDate}}至{{ii.endDate}}</span></p>
|
||||
</div>
|
||||
<van-icon name="arrow" />
|
||||
</div>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Search, Collapse, CollapseItem, Icon } from 'vant'
|
||||
import { getGBCprojectlistByYear } from '@/api/GBC/GBC'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
[Search.name]: Search,
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
[Icon.name]: Icon,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
searchvalue:'',
|
||||
activeNames: [],
|
||||
yearList:[],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.getGBCprojectlistByYear()
|
||||
},
|
||||
methods: {
|
||||
getGBCprojectlistByYear(){
|
||||
let params = {
|
||||
|
||||
}
|
||||
getGBCprojectlistByYear(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
this.yearList = []
|
||||
if(res.content && res.content.length != 0) {
|
||||
this.yearList = res.content
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
goprojectDetail(data){
|
||||
this.$router.push({
|
||||
path:'/GBC/projectDetail',
|
||||
query:{
|
||||
projectCode:data.projectCode
|
||||
},
|
||||
})
|
||||
},
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
/deep/ .van-search__content{
|
||||
background: #f7f8fa;
|
||||
}
|
||||
/deep/ .van-cell__title{
|
||||
font-weight: bold;
|
||||
}
|
||||
/deep/ .van-collapse-item__title{
|
||||
border-radius: 5px;
|
||||
}
|
||||
</style>
|
||||
@@ -19,7 +19,8 @@
|
||||
<img v-if="signH5Img" :src="signImgUrl" style="height: 34px;margin-left: 20px;width: auto;"/>
|
||||
</div>
|
||||
<div class='bg-white bottom-btn'>
|
||||
<van-button type='danger' size='large' :disabled='isDisabledComplite' @click='goNext' v-no-more-click='1000'>提交
|
||||
<van-button type='danger' size='large' :disabled='isDisabledComplite' @click='goNext' v-no-more-click='1000'>
|
||||
提交
|
||||
</van-button>
|
||||
</div>
|
||||
<van-popup v-model="signSuccessShow" :close-on-click-overlay="false" round>
|
||||
@@ -87,8 +88,6 @@
|
||||
generateAgreementYB(dataParams).then(res=>{
|
||||
this.$toast.clear()
|
||||
if(res.result == 0){
|
||||
window.sessionStorage.setItem('signName',this.$store.getters.getYBname)
|
||||
// this.pdfUrl = config.assetsUpUrl + res.content.rgssUrl
|
||||
//实例化
|
||||
this.pdfh5 = new Pdfh5("#pdfH5ID", {
|
||||
pdfurl: config.YB_agenturl + res.content.rgssUrl,
|
||||
@@ -98,7 +97,7 @@
|
||||
}).on("complete", function (status, msg, time) { //监听完成事件
|
||||
console.log("状态:" + status + ",信息:" + msg + ",耗时:" + time + "毫秒,总页数:" + this.totalNum)
|
||||
})
|
||||
this.signH5Img = sessionStorage.getItem('signH5Img')
|
||||
this.signH5Img = JSON.parse(window.sessionStorage.getItem('signH5Img')).val
|
||||
if(this.signH5Img){
|
||||
this.$set(this.signInfo, 'status', '2')
|
||||
this.radio = '1'
|
||||
@@ -144,17 +143,22 @@
|
||||
}, 1000)
|
||||
},
|
||||
sign() {
|
||||
let signInfo = {
|
||||
type:'签名-银保代理人电子化合同签署',
|
||||
text:this.$store.getters.getYBname,
|
||||
keyWord: '乙方锟斤拷:'
|
||||
}
|
||||
window.sessionStorage.setItem('signInfo',JSON.stringify(signInfo))
|
||||
window.location.href = 'http://'+window.location.host + '/signH5/1.html'
|
||||
},
|
||||
goNext(){
|
||||
// this.signSuccessShow = true
|
||||
// window.localStorage.removeItem('signInfo')
|
||||
let params = {
|
||||
uuid:this.$store.getters.getYBuuid,
|
||||
signInfo: window.sessionStorage.getItem('signH5Val')
|
||||
}
|
||||
putContractInfo(params).then(res=>{
|
||||
if(res.result == 0){
|
||||
window.sessionStorage.clear()
|
||||
this.signSuccessShow = true
|
||||
window.localStorage.removeItem('signInfo')
|
||||
}else{
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<index-bar :key="renovate"></index-bar>
|
||||
</div>
|
||||
<div class="mt8"></div>
|
||||
<div v-for="(item, index) in chooseProducts" :key="index" class="mb20 bg-white mh15 pv15 pr15 pl10 radius5">
|
||||
<div v-for="(item, index) in chooseProducts" :key="index" class="mb20 bg-white pv15 pr15 pl10 radius5">
|
||||
<div class="flex mv10 align-items-c">
|
||||
<div class="fs14 w45">
|
||||
<van-tag plain type="danger">主险</van-tag>
|
||||
@@ -27,12 +27,27 @@
|
||||
<van-button size="small" round @click="deteleInsure(index)" plain type="danger">删除</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="isFrom == 'sale' && isShow == false">
|
||||
<div class="p15 pl8 fs14" style="margin-bottom: 20px;background: #fff;">
|
||||
<van-radio-group v-model="isElecCont" class="flex" style="display: flex;align-items: center;">
|
||||
<label>
|
||||
<i class="red pr5">*</i>
|
||||
保单形式
|
||||
</label>
|
||||
<van-radio name="1" class="ml10" style="display: flex;align-items: center;color: red;">
|
||||
电子(不打印保单)
|
||||
</van-radio>
|
||||
<van-radio name="2" v-if="chooseProducts[0].mainRiskCode != 'GFRS_M0076' && chooseProducts[0].mainRiskCode != 'GFRS_M0077'" class="ml10" style="display: flex;align-items: center;color: red;">
|
||||
电子+纸质
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pt30 bg-white pb50">
|
||||
<div class="text-center m20 pv15 border-dotted c-gray-base bg-white" @click="addProduct" v-if="isShow == true">
|
||||
<span class="v-middle mr10" style="font-size:32px">+</span>添加产品
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-dialog v-model="active_show" :show-confirm-button="false" class="dialog_class" style="position: relative; overflow: visible;">
|
||||
<img class="icon_image" src="@/assets/images/kmh/close_bg.png" @click="active_show = false" />
|
||||
<div class="pl20 pr20 mt30">
|
||||
@@ -133,7 +148,7 @@
|
||||
import { orderDetail, deleteOrderInfo, mainRiskList, mainRiskListProposal, calculatePremium } from '@/api/ebiz/common/common'
|
||||
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
|
||||
import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js'
|
||||
import { saveOrderActiveType,getActivityList, getDoubleRecordProductLst } from '@/api/ebiz/sale/sale.js'
|
||||
import { saveOrderActiveType,getActivityList, getDoubleRecordProductLst, saveOrderType } from '@/api/ebiz/sale/sale.js'
|
||||
import utilsAge from '@/assets/js/utils/age'
|
||||
import IndexBar from '@/components/ebiz/sale/IndexBar'
|
||||
import riskRules from './risk-rules'
|
||||
@@ -162,6 +177,7 @@
|
||||
renovate:'',//刷新子组件
|
||||
manageComCode:'',//代理人管理机构 52贵州 45广西
|
||||
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
|
||||
isElecCont: '', // 保单形式
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -384,6 +400,9 @@
|
||||
}
|
||||
if (!isProposal) {
|
||||
if (this.chooseProducts.length > 0) {
|
||||
if(this.chooseProducts[0].mainRiskCode == 'GFRS_M0076' || this.chooseProducts[0].mainRiskCode == 'GFRS_M0077') {
|
||||
this.isElecCont = '1'
|
||||
}
|
||||
if (this.chooseProducts[0].mainRiskCode == 'GFRS_M0026' && this.chooseProducts.length == 1) {
|
||||
this.isShow = true
|
||||
} else {
|
||||
@@ -981,17 +1000,58 @@
|
||||
localStorage.beneficiaryInfo = ''
|
||||
localStorage.fromAddBeneficiaryInfo = ''
|
||||
localStorage.removeItem('applicant')
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
forbidSwipeBack: '1',
|
||||
url: location.origin + '/#' + thismyurl,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: thismyurl
|
||||
if(this.isFrom == 'sale') {
|
||||
if(!this.isElecCont) {
|
||||
this.$toast('请选择保单形式')
|
||||
return false
|
||||
}
|
||||
})
|
||||
else {
|
||||
let params = {
|
||||
orderNO: this.$route.query.orderNo,
|
||||
isElecCont: this.isElecCont
|
||||
}
|
||||
saveOrderType(params).then(res => {
|
||||
if(res.result == 0) {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
forbidSwipeBack: '1',
|
||||
url: location.origin + '/#' + thismyurl,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: thismyurl
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// forbidSwipeBack: '1',
|
||||
// url: location.origin + '/#' + thismyurl,
|
||||
// needRefresh: '1'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: thismyurl
|
||||
// }
|
||||
// })
|
||||
}
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
forbidSwipeBack: '1',
|
||||
url: location.origin + '/#' + thismyurl,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: thismyurl
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1072,5 +1132,15 @@
|
||||
padding-right: 0px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
/deep/ .van-radio__icon--round{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
/deep/ .van-icon{
|
||||
line-height: 100%;
|
||||
}
|
||||
/deep/ .van-radio__label{
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -196,6 +196,7 @@ export default {
|
||||
if (res.result == 0) {
|
||||
flag.manageComCode = res.manageComCode ? res.manageComCode.substring(2, 4) : ''
|
||||
flag.jobNo = res.jobNo
|
||||
flag.branchType = res.branchType
|
||||
// branchType N1、1代表个险渠道 和 N5、5 代表中介渠道,N代表内勤
|
||||
if (res.branchType == 'N1' || res.branchType == '1') {
|
||||
flag.branchTypeVal = 'G'
|
||||
|
||||
@@ -275,8 +275,15 @@
|
||||
//点我新增
|
||||
addProposal() {
|
||||
let thisToken = this.$CacheUtils.getLocItem('token')
|
||||
let thisbranchType = ''
|
||||
if(this.$CacheUtils.getLocItem('branchType') == '13') {
|
||||
thisbranchType = this.$CacheUtils.getLocItem('branchType')
|
||||
}
|
||||
window.localStorage.clear()
|
||||
this.$CacheUtils.setLocItem('token', thisToken)
|
||||
if(thisbranchType) {
|
||||
this.$CacheUtils.setLocItem('branchType', thisbranchType)
|
||||
}
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -290,8 +297,15 @@
|
||||
//编辑
|
||||
edit(item) {
|
||||
let thisToken = this.$CacheUtils.getLocItem('token')
|
||||
let thisbranchType = ''
|
||||
if(this.$CacheUtils.getLocItem('branchType') == '13') {
|
||||
thisbranchType = this.$CacheUtils.getLocItem('branchType')
|
||||
}
|
||||
window.localStorage.clear()
|
||||
this.$CacheUtils.setLocItem('token', thisToken)
|
||||
if(thisbranchType) {
|
||||
this.$CacheUtils.setLocItem('branchType', thisbranchType)
|
||||
}
|
||||
//建议书列表 编辑=》制作中的建议书跳转到选择被保险人页面;
|
||||
this.$CacheUtils.setLocItem('proposalNo', item.orderInfoDTO.orderNo)
|
||||
this.$CacheUtils.setLocItem('canMoveOn', 1)
|
||||
|
||||
@@ -56,12 +56,12 @@
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
<div class="item">
|
||||
<van-field label-class="labels" readonly label="银行卡照片"></van-field>
|
||||
<div class="cardList">
|
||||
<van-uploader :max-count="1" :after-read="cardUpload" @delete="transferBankCardDelete" name="bankcardA" v-model="transfer.cardPhoto" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="item">-->
|
||||
<!-- <van-field label-class="labels" readonly label="银行卡照片"></van-field>-->
|
||||
<!-- <div class="cardList">-->
|
||||
<!-- <van-uploader :max-count="1" :after-read="cardUpload" @delete="transferBankCardDelete" name="bankcardA" v-model="transfer.cardPhoto" />-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<div class="checkedBox" v-if="issueType === '818901'">
|
||||
<van-checkbox v-model="checked" class="checked" icon-size="16px" shape="square"
|
||||
@@ -288,9 +288,9 @@ export default {
|
||||
if (!regx.test(this.transfer.card)) {
|
||||
return this.$toast('银行卡号不符合规则')
|
||||
}
|
||||
if (this.transfer.cardPhoto.length === 0) {
|
||||
return this.$toast('请上传银行卡照片')
|
||||
}
|
||||
// if (this.transfer.cardPhoto.length === 0) {
|
||||
// return this.$toast('请上传银行卡照片')
|
||||
// }
|
||||
}
|
||||
|
||||
if (this.transfer.bank) {
|
||||
@@ -447,9 +447,9 @@ export default {
|
||||
if (!regx.test(this.transfer.card)) {
|
||||
return this.$toast('银行卡号不符合规则')
|
||||
}
|
||||
if (this.transfer.cardPhoto.length === 0) {
|
||||
return this.$toast('请上传银行卡照片')
|
||||
}
|
||||
// if (this.transfer.cardPhoto.length === 0) {
|
||||
// return this.$toast('请上传银行卡照片')
|
||||
// }
|
||||
}
|
||||
}
|
||||
if (!this.checked) {
|
||||
@@ -498,7 +498,7 @@ export default {
|
||||
}
|
||||
// 补充资料类问题件
|
||||
else if (this.issueType === '828601') {
|
||||
problemData.list.push(...this.imageResultList)
|
||||
// problemData.list.push(...this.imageResultList)
|
||||
if (this.suplementDesc.trim()) {
|
||||
problemData.content = this.suplementDesc.trim()
|
||||
} else {
|
||||
@@ -512,9 +512,9 @@ export default {
|
||||
problemData.bankName = this.transfer.bank
|
||||
problemData.bankNo = this.transfer.card
|
||||
// 选择非终止转账时上传银行卡照片
|
||||
if (this.transfer.mode === 3) {
|
||||
problemData.list.push(this.transfer.cardUploadResult)
|
||||
}
|
||||
// if (this.transfer.mode === 3) {
|
||||
// problemData.list.push(this.transfer.cardUploadResult)
|
||||
// }
|
||||
}
|
||||
// 更新问题件数据
|
||||
try {
|
||||
|
||||
@@ -1,28 +1,7 @@
|
||||
<template>
|
||||
<div class="redRadioCheckbox">
|
||||
<index-bar></index-bar>
|
||||
<!-- 来源于支付失败后更换银行卡信息 -->
|
||||
<div v-if="changeCard">
|
||||
<div class="flex p10 align-items-c bg-white mt10">
|
||||
<span>投保人附件</span>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field required label="银行卡账户" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileListBank', '3', '0', saleInsuredInfo.appntId, saleInsuredInfo.idType)">
|
||||
<van-uploader
|
||||
name="fileListBank"
|
||||
v-model="fileListBank"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
<div>
|
||||
<!-- 投保人证件 -->
|
||||
<div>
|
||||
<div class="flex p10 align-items-c bg-white mt10">
|
||||
@@ -80,20 +59,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field required label="银行卡正面" disabled />
|
||||
</van-cell-group>
|
||||
<div @click="test('fileListBank', '3', '0', saleInsuredInfo.appntId, saleInsuredInfo.idType)">
|
||||
<van-uploader
|
||||
name="fileListBank"
|
||||
v-model="fileListBank"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="1"
|
||||
/>
|
||||
</div>
|
||||
<van-cell-group v-if="isNotify">
|
||||
<van-field label="健康告知异常类资料" disabled />
|
||||
</van-cell-group>
|
||||
@@ -290,78 +255,42 @@ export default {
|
||||
thisdialogcontent: '',
|
||||
isNotify: false, //是否有异常的健康告知
|
||||
isNotifyInsured: false,
|
||||
// 订单号
|
||||
orderNo: '',
|
||||
// 被保人异常告知
|
||||
fileListNotifyInsured: [],
|
||||
// 投保人异常告知
|
||||
fileListNotify: [],
|
||||
// 投保人身份证正面
|
||||
fileListIdFront: [
|
||||
// { url: 'https://img.yzcdn.cn/vant/cat.jpeg' }
|
||||
// Uploader 根据文件后缀来判断是否为图片文件
|
||||
],
|
||||
// 投保人身份证反面
|
||||
fileListIdBack: [],
|
||||
// 投保人其他类型页面
|
||||
fileLIstImg: [],
|
||||
// 投保人选择的必选其他
|
||||
saleInsuredInfoOther: [],
|
||||
// 被保险人选择的必选其他
|
||||
saleInsuredPersonInfoOther: [],
|
||||
// 银行卡正面
|
||||
fileListBank: [],
|
||||
// 被保险人身份证正面
|
||||
fileListIdFrontInsured: [],
|
||||
// 被保险人身份证反面
|
||||
fileListIdBackInsured: [],
|
||||
// 被保险人银行账户
|
||||
fileListBankInsured: [],
|
||||
// 被保险人其他类型页面
|
||||
fileLIstImgInsured: [],
|
||||
// 受益人身份证正面
|
||||
fileListIdFrontBeneficiary: [],
|
||||
// 受益人身份证反面
|
||||
fileListIdBackBeneficiary: [],
|
||||
// 受益人其他类型页面
|
||||
fileLIstImgBeneficiary: [],
|
||||
// 受益人
|
||||
bnfInfo:[],
|
||||
orderNo: '', // 订单号
|
||||
fileListNotifyInsured: [], // 被保人异常告知
|
||||
fileListNotify: [], // 投保人异常告知
|
||||
fileListIdFront: [], // 投保人身份证正面
|
||||
fileListIdBack: [], // 投保人身份证反面
|
||||
fileLIstImg: [], // 投保人其他类型页面
|
||||
saleInsuredInfoOther: [], // 投保人选择的必选其他
|
||||
saleInsuredPersonInfoOther: [], // 被保险人选择的必选其他
|
||||
fileListIdFrontInsured: [], // 被保险人身份证正面
|
||||
fileListIdBackInsured: [], // 被保险人身份证反面
|
||||
fileLIstImgInsured: [], // 被保险人其他类型页面
|
||||
fileListIdFrontBeneficiary: [], // 受益人身份证正面
|
||||
fileListIdBackBeneficiary: [], // 受益人身份证反面
|
||||
fileLIstImgBeneficiary: [], // 受益人其他类型页面
|
||||
bnfInfo:[], // 受益人
|
||||
isDisabledBnf:true,
|
||||
// 单选框
|
||||
radio: '',
|
||||
// 是否可以点击下一步
|
||||
isDisabled: true,
|
||||
// 数据字典证件类型
|
||||
idType: [],
|
||||
// 被保险人信息
|
||||
saleInsuredPersonInfo: {},
|
||||
// 投保人信息
|
||||
saleInsuredInfo: {},
|
||||
// 受益人信息
|
||||
saleBtnfPersonInfo: {},
|
||||
// 图片流
|
||||
file: '',
|
||||
// 图片名称
|
||||
imgName: '',
|
||||
// 图片返回数组
|
||||
imgList: [],
|
||||
radio: '', // 单选框
|
||||
isDisabled: true, // 是否可以点击下一步
|
||||
idType: [], // 数据字典证件类型
|
||||
saleInsuredPersonInfo: {}, // 被保险人信息
|
||||
saleInsuredInfo: {}, // 投保人信息
|
||||
saleBtnfPersonInfo: {}, // 受益人信息
|
||||
file: '', // 图片流
|
||||
imgName: '', // 图片名称
|
||||
imgList: [], // 图片返回数组
|
||||
type: '',
|
||||
// 是投保人还是被保险人
|
||||
isAppant: '',
|
||||
// 传给后端的list
|
||||
list: [],
|
||||
// 是哪个证件类型
|
||||
id: '',
|
||||
//受益人id
|
||||
bnfId:'',
|
||||
// 投保人被保险人是否是一个人 1为同一个人
|
||||
isAppant: '', // 是投保人还是被保险人
|
||||
list: [], // 传给后端的list
|
||||
id: '', // 是哪个证件类型
|
||||
bnfId:'', //受益人id
|
||||
relationToAppnt: '',
|
||||
changeCard: localStorage.changeCard,
|
||||
salePageFlag: '9',
|
||||
imageType: '',
|
||||
subBusinessNo: '',
|
||||
subBusinessType: '',
|
||||
changeCard: localStorage.changeCard,
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
@@ -491,9 +420,6 @@ export default {
|
||||
//如果是从导航栏点击进入
|
||||
this.salePageFlag = localStorage.salePageFlag
|
||||
}
|
||||
if (this.changeCard) {
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
}
|
||||
let that = this
|
||||
// 投被保险人是否同人
|
||||
// if (this.$CacheUtils.getLocItem('saleInsuredPersonInfo')) {
|
||||
@@ -591,44 +517,6 @@ export default {
|
||||
} else {
|
||||
that.fileListIdBackInsured = []
|
||||
}
|
||||
// 银行卡
|
||||
if (window.localStorage.getItem('bankCardUrlPath') != null) {
|
||||
let bankCardUrl = {
|
||||
url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${window.localStorage.getItem('bankCardUrlPath')}`,
|
||||
}
|
||||
that.fileListBank.push(bankCardUrl)
|
||||
let obj = {
|
||||
businessNo: that.orderNo,
|
||||
businessType: '',
|
||||
imageInfoType: '3',
|
||||
rgssUrl: window.localStorage.getItem('bankCardUrlPath'),
|
||||
subBusinessType: '0',
|
||||
subBusinessNo: that.saleInsuredInfo.insuredId,
|
||||
}
|
||||
that.list.push(obj)
|
||||
} else {
|
||||
that.fileListBank = []
|
||||
}
|
||||
// 被保险人银行卡
|
||||
// if (window.localStorage.getItem('bankCardUrlInsuredPath') != null) {
|
||||
// let bankCardUrlInsured = {
|
||||
// url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${window.localStorage.getItem('bankCardUrlInsuredPath')}`
|
||||
// }
|
||||
// that.fileListBankInsured.push(bankCardUrlInsured)
|
||||
// let obj = {
|
||||
// businessNo: that.orderNo,
|
||||
// businessType: '',
|
||||
// imageInfoType: '3',
|
||||
// rgssUrl: window.localStorage.getItem('bankCardUrlInsuredPath'),
|
||||
// subBusinessType: '1',
|
||||
// subBusinessNo: that.saleInsuredPersonInfo.insuredId
|
||||
// }
|
||||
// that.list.push(obj)
|
||||
// } else {
|
||||
// that.fileListBankInsured = []
|
||||
// }
|
||||
// 保费超过20万的提示
|
||||
// Dialog.alert({ title: '提示', message: '趸交保费≥20万元或期交保费*总期数≥20万元时,须上传指定受益人证件正反面' })
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
@@ -681,20 +569,12 @@ export default {
|
||||
} else if (detail.name == 'fileLIstImg') {
|
||||
this.fileLIstImg = []
|
||||
this.deleteImg(file, 'fileLIstImg')
|
||||
} else if (detail.name == 'fileListBank') {
|
||||
this.fileListBank = []
|
||||
this.deleteImg(file, 'fileListBank')
|
||||
// } else if (detail.name == 'fileListBankBack') {
|
||||
// this.fileListBankBack = []
|
||||
} else if (detail.name == 'fileListIdFrontInsured') {
|
||||
}else if (detail.name == 'fileListIdFrontInsured') {
|
||||
this.fileListIdFrontInsured = []
|
||||
this.deleteImg(file, 'fileListIdFrontInsured')
|
||||
} else if (detail.name == 'fileListIdBackInsured') {
|
||||
this.fileListIdBackInsured = []
|
||||
this.deleteImg(file, 'fileListIdBackInsured')
|
||||
} else if (detail.name == 'fileListBankInsured') {
|
||||
this.fileListBankInsured = []
|
||||
this.deleteImg(file, 'fileListBankInsured')
|
||||
} else if (detail.name == 'fileLIstImgInsured') {
|
||||
this.fileLIstImgInsured = []
|
||||
this.deleteImg(file, 'fileLIstImgInsured')
|
||||
@@ -901,7 +781,7 @@ export default {
|
||||
})
|
||||
},
|
||||
beforeNext(isDis) {
|
||||
if (isDis && this.fileListBank.length > 0 && this.fileListIdBack.length > 0 && this.fileListIdFront.length > 0) {
|
||||
if (isDis && this.fileListIdBack.length > 0 && this.fileListIdFront.length > 0) {
|
||||
this.$toast('请勾选确认销售人员已见证各证件原件并拍照上传')
|
||||
}
|
||||
},
|
||||
@@ -1053,22 +933,16 @@ export default {
|
||||
saveInformation(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
if (!this.changeCard) {
|
||||
window.localStorage.setItem('accountInfomation-bank', that.bank)
|
||||
window.localStorage.setItem('accountInformationRadio', that.radio)
|
||||
window.localStorage.setItem('accountInformation-isPaymentSelf', JSON.stringify(that.checked))
|
||||
window.localStorage.setItem('jumpFromSign', '')
|
||||
}
|
||||
window.localStorage.setItem('accountInformationRadio', that.radio)
|
||||
window.localStorage.setItem('accountInformation-isPaymentSelf', JSON.stringify(that.checked))
|
||||
window.localStorage.setItem('jumpFromSign', '')
|
||||
|
||||
window.localStorage.removeItem('imgfront')
|
||||
window.localStorage.removeItem('imgBackPath')
|
||||
window.localStorage.removeItem('imgfrontPath')
|
||||
window.localStorage.removeItem('imgfrontInsured')
|
||||
window.localStorage.removeItem('imgfrontInsuredPath')
|
||||
window.localStorage.removeItem('imgBackInsuredPath')
|
||||
window.localStorage.removeItem('bankCardUrl')
|
||||
window.localStorage.removeItem('bankCardUrlPath')
|
||||
window.localStorage.removeItem('bankCardUrlInsured')
|
||||
window.localStorage.removeItem('bankCardUrlInsuredPath')
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -1105,13 +979,10 @@ export default {
|
||||
const {
|
||||
fileListIdFront,
|
||||
fileListIdBack,
|
||||
fileListBank,
|
||||
// fileListBankBack,
|
||||
radio,
|
||||
fileLIstImg,
|
||||
fileListIdFrontInsured,
|
||||
fileListIdBackInsured,
|
||||
fileListBankInsured,
|
||||
fileLIstImgInsured,
|
||||
saleInsuredPersonInfoOther,
|
||||
saleInsuredInfoOther
|
||||
@@ -1120,12 +991,9 @@ export default {
|
||||
return {
|
||||
fileListIdFront,
|
||||
fileListIdBack,
|
||||
fileListBank,
|
||||
// fileListBankBack,
|
||||
radio,
|
||||
fileListIdFrontInsured,
|
||||
fileListIdBackInsured,
|
||||
fileListBankInsured,
|
||||
fileLIstImgInsured,
|
||||
fileLIstImg,
|
||||
saleInsuredPersonInfoOther,
|
||||
@@ -1136,125 +1004,33 @@ export default {
|
||||
watch: {
|
||||
listenChange(val) {
|
||||
let that = this
|
||||
if (this.changeCard) {
|
||||
//从转账不成功跳过来的
|
||||
if (val.fileListBank.length != '0' && val.radio !== '') {
|
||||
that.isDisabled = false
|
||||
} else {
|
||||
that.isDisabled = true
|
||||
}
|
||||
if (
|
||||
(val.fileListIdFront.length != '0' && val.fileListIdBack.length != '0' && val.fileListIdFrontInsured.length != '0' && val.fileListIdBackInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' && val.fileListIdFrontInsured.length != '0' && val.fileListIdBackInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' && val.fileListIdBack.length != '0' && val.fileListIdFrontInsured.length != '0' && val.fileListIdBackInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' && val.fileListIdFrontInsured.length != '0' && val.fileListIdBackInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' && val.fileListIdBack.length != '0' && val.fileLIstImgInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' && val.fileListIdBack.length != '0' && val.fileLIstImgInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' && val.fileLIstImgInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' && val.fileLIstImgInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' && val.fileListIdBack.length != '0' && val.radio !== '' && this.relationToAppnt == '1') ||
|
||||
(val.fileLIstImg.length != '0' && val.radio !== '' && this.relationToAppnt == '1') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileListIdFrontInsured.length != '0' && val.fileListIdBackInsured.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileLIstImgInsured.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredPersonInfoOther.length != '0' && val.fileListIdFront.length != '0' && val.fileListIdBack.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileLIstImg.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileListIdFrontInsured.length != '0' && val.fileListIdBackInsured.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileLIstImg.length != '0' && val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' && val.fileListIdBack.length != '0' && val.saleInsuredPersonInfoOther.length != '0' && val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' && val.saleInsuredPersonInfoOther.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.saleInsuredPersonInfoOther.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.saleInsuredPersonInfoOther.length != '0' && val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.radio !== '' && this.relationToAppnt == '1')
|
||||
) {
|
||||
//去掉收益人添加的,有收益人删掉该行显示下面影藏判断
|
||||
that.isDisabled = false
|
||||
} else {
|
||||
if (
|
||||
(val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileListIdFrontInsured.length != '0' &&
|
||||
val.fileListIdBackInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileListIdFrontInsured.length != '0' &&
|
||||
val.fileListIdBackInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.fileListIdFrontInsured.length != '0' &&
|
||||
val.fileListIdBackInsured.length != '0' &&
|
||||
val.fileListBankInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' &&
|
||||
val.fileListIdFrontInsured.length != '0' &&
|
||||
val.fileListIdBackInsured.length != '0' &&
|
||||
val.fileListBankInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.fileListBankInsured.length != '0' &&
|
||||
val.fileLIstImgInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileLIstImgInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileLIstImg.length != '0' &&
|
||||
val.fileLIstImgInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileLIstImg.length != '0' && val.fileLIstImgInsured.length != '0' && val.fileListBankInsured.length != '0' && val.radio !== '') ||
|
||||
(val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.radio !== '' &&
|
||||
this.relationToAppnt == '1') ||
|
||||
(val.fileLIstImg.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.radio !== '' &&
|
||||
this.relationToAppnt == '1') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileListIdFrontInsured.length != '0' &&
|
||||
val.fileListIdBackInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileLIstImgInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredPersonInfoOther.length != '0' &&
|
||||
val.fileListBankInsured.length != '0' &&
|
||||
val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileLIstImg.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.fileListBankInsured.length != '0' &&
|
||||
val.fileListIdFrontInsured.length != '0' &&
|
||||
val.fileListIdBackInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' && val.fileListBankInsured.length != '0' && val.fileLIstImg.length != '0' && val.radio !== '') ||
|
||||
(val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileListIdFront.length != '0' &&
|
||||
val.fileListIdBack.length != '0' &&
|
||||
val.saleInsuredPersonInfoOther.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.fileLIstImg.length != '0' &&
|
||||
val.saleInsuredPersonInfoOther.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.saleInsuredPersonInfoOther.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.saleInsuredPersonInfoOther.length != '0' &&
|
||||
val.fileListBankInsured.length != '0' &&
|
||||
val.radio !== '') ||
|
||||
(val.saleInsuredInfoOther.length != '0' &&
|
||||
val.fileListBank.length != '0' &&
|
||||
// val.fileListBankBack.length != '0' &&
|
||||
val.radio !== '' &&
|
||||
this.relationToAppnt == '1')
|
||||
) {
|
||||
//去掉收益人添加的,有收益人删掉该行显示下面影藏判断
|
||||
that.isDisabled = false
|
||||
} else {
|
||||
that.isDisabled = true
|
||||
}
|
||||
that.isDisabled = true
|
||||
}
|
||||
},
|
||||
//监听受益人影像list的变化,控制下一步按钮是否可点击
|
||||
@@ -1263,21 +1039,16 @@ export default {
|
||||
console.log(val,'val监听到but')
|
||||
console.log(oldval,'oldval监听到but')
|
||||
let that = this
|
||||
if (this.changeCard) {
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
this.isDisabledBnf = false
|
||||
}else{
|
||||
if(val.length > 0){
|
||||
for (let index = 0; index < val.length; index++) {
|
||||
let item = val[index]
|
||||
that.isDisabledBnf = !this.checkBtnInfo(item)
|
||||
if(this.checkBtnInfo(item) == false){
|
||||
return false
|
||||
}
|
||||
if(val.length > 0){
|
||||
for (let index = 0; index < val.length; index++) {
|
||||
let item = val[index]
|
||||
that.isDisabledBnf = !this.checkBtnInfo(item)
|
||||
if(this.checkBtnInfo(item) == false){
|
||||
return false
|
||||
}
|
||||
}else if (val.length == 0){
|
||||
that.isDisabledBnf = false
|
||||
}
|
||||
}else if (val.length == 0){
|
||||
that.isDisabledBnf = false
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="detail-container">
|
||||
<van-collapse v-model="activeNames">
|
||||
<!-- 保单信息 -->
|
||||
<van-collapse-item title="投保单信息" name="1" class="pb10 pt10">
|
||||
<van-collapse-item v-if="branchType == '13'" title="投保单信息" name="1" class="pb10 pt10">
|
||||
<van-cell-group>
|
||||
<van-cell title="投保单号" :value="OrderInfoDTO.orderNo" />
|
||||
<van-cell title="投保日期" :value="OrderInfoDTO.appntDateLabel" />
|
||||
@@ -14,9 +14,22 @@
|
||||
</van-cell-group>
|
||||
</van-collapse-item>
|
||||
|
||||
<!-- 项目信息 -->
|
||||
<van-collapse-item title="项目信息" name="3" v-if="branchType == '13'" class="detail-title pb10">
|
||||
<van-cell-group>
|
||||
<van-cell title="平台名称" :value="ebizOrderGbcRelDTO.unitName" />
|
||||
<van-cell title="项目名称" :value="ebizOrderGbcRelDTO.projectName" />
|
||||
<van-cell title="团队组代码" :value="ebizOrderGbcRelDTO.teamCode" />
|
||||
<van-cell title="服务截止日期" :value="ebizOrderGbcRelDTO.projectEndDate" />
|
||||
<van-cell title="录单人工号" :value="ebizOrderGbcRelDTO.personCode" />
|
||||
<van-cell title="出单人工号" :value="ebizOrderGbcRelDTO.teamLeaderCode" />
|
||||
</van-cell-group>
|
||||
</van-collapse-item>
|
||||
|
||||
<!-- 投保人信息 -->
|
||||
<van-collapse-item title="投保人信息" name="2" class="detail-title pb10">
|
||||
<van-cell-group>
|
||||
<van-cell title="部门/科室" v-if="branchType == '13'" :value="ebizOrderGbcRelDTO.departmentName" />
|
||||
<van-cell title="投保人" :value="appntDTO.name" />
|
||||
<van-cell title="性别" :value="appntDTO.sex" />
|
||||
<van-cell title="证件类型" :value="appntDTO.idType" />
|
||||
@@ -104,10 +117,13 @@ import { getQuestionList } from '@/api/ebiz/questions'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
branchType:'',
|
||||
// 折叠面板
|
||||
activeNames: ['1'],
|
||||
// 保单基本信息
|
||||
OrderInfoDTO: {},
|
||||
// 项目信息
|
||||
ebizOrderGbcRelDTO:{},
|
||||
// 投保人信息
|
||||
appntDTO: {},
|
||||
// 被保险人信息
|
||||
@@ -123,6 +139,11 @@ export default {
|
||||
// 获取保单详情
|
||||
this.getPolicyDetail()
|
||||
},
|
||||
mounted() {
|
||||
if(window.localStorage.getItem('branchType') == '13') {
|
||||
this.branchType = '13'
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
@@ -158,6 +179,7 @@ export default {
|
||||
res.orderDTO.orderInfoDTO.bnfFlag = '法定受益人'
|
||||
}
|
||||
this.OrderInfoDTO = res.orderDTO.orderInfoDTO
|
||||
this.ebizOrderGbcRelDTO = res.orderDTO.ebizOrderGbcRelDTO
|
||||
this.appntDTO = res.orderDTO.appntDTO
|
||||
this.reason = res.orderDTO.reason
|
||||
|
||||
|
||||
@@ -2,8 +2,20 @@
|
||||
<div class="insured-info-container pb60 redRadioCheckbox">
|
||||
<!-- 基本信息 -->
|
||||
<index-bar :key="renovate"></index-bar>
|
||||
<!-- 项目信息 -->
|
||||
<van-cell-group :border="false" v-if="branchType == '13'">
|
||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 mt10 pv12">项目信息</p>
|
||||
<van-field v-model="projectDTO.platformName" label="平台名称" name="平台名称" readonly placeholder="请输入"/>
|
||||
<van-field v-model="projectDTO.projectName" label="项目名称" name="项目名称" readonly placeholder="请输入"/>
|
||||
<van-field v-model="projectDTO.teamCode" label="团队组代码" name="团队组代码" readonly placeholder="请输入"/>
|
||||
<van-field v-model="projectDTO.endDate" label="服务截至日期" name="服务截至日期" readonly placeholder="请输入"/>
|
||||
<van-field v-model="projectDTO.personCode" label="录单人工号" name="录单人工号" readonly placeholder="请输入"/>
|
||||
<van-field v-model="projectDTO.leaderCode" label="出单人工号" name="出单人工号" readonly placeholder="请输入"/>
|
||||
<!-- <van-field :value="projectDTO.departmentName" @click="toSelect('GBCKS')" readonly required label="部门/科室" name="部门/科室" right-icon="arrow" placeholder="请选择"/>-->
|
||||
</van-cell-group>
|
||||
<van-cell-group class="mt10">
|
||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">基本信息</p>
|
||||
<van-field v-show="branchType == '13'" v-model="projectDTO.departmentName" @click="toSelect('GBCKS')" readonly required label="部门/科室" name="部门/科室" right-icon="arrow" placeholder="请选择"/>
|
||||
<customer-picker
|
||||
@on-choose="chooseCustomer"
|
||||
v-validate="'required|salename'"
|
||||
@@ -123,7 +135,14 @@
|
||||
v-validate="'required|mobileLength11|mobileStartWith1|mobile'"
|
||||
maxlength="11"
|
||||
/>
|
||||
<van-field v-model="userInfo.email" required label="电子邮箱" name="电子邮箱" placeholder="请输入" v-validate="'required|email'" clearable />
|
||||
<van-field
|
||||
v-model="userInfo.email"
|
||||
required
|
||||
label="电子邮箱"
|
||||
name="电子邮箱"
|
||||
placeholder="请输入"
|
||||
v-validate="'required|email'"
|
||||
clearable />
|
||||
<van-field
|
||||
v-model="userInfo.stature"
|
||||
label="身高(cm)"
|
||||
@@ -168,16 +187,16 @@
|
||||
v-validate="'required'"
|
||||
@click="toSelect('11')"
|
||||
/>
|
||||
<div class="p15 pl8 fs14">
|
||||
<van-radio-group v-model="isElecCont" class="flex">
|
||||
<label>
|
||||
<i class="red pr5">*</i>
|
||||
保单形式
|
||||
</label>
|
||||
<van-radio name="0" class="ml30">电子(不打印保单)</van-radio>
|
||||
<van-radio name="2" class="ml20">电子+纸质</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
<!-- <div class="p15 pl8 fs14">-->
|
||||
<!-- <van-radio-group v-model="isElecCont" class="flex">-->
|
||||
<!-- <label>-->
|
||||
<!-- <i class="red pr5">*</i>-->
|
||||
<!-- 保单形式-->
|
||||
<!-- </label>-->
|
||||
<!-- <van-radio name="0" class="ml30">电子(不打印保单)</van-radio>-->
|
||||
<!-- <van-radio name="2" class="ml20">电子+纸质</van-radio>-->
|
||||
<!-- </van-radio-group>-->
|
||||
<!-- </div>-->
|
||||
</van-cell-group>
|
||||
<!-- <van-radio-group :border="false" v-model="userInfo.addressStatus" v-validate="'required'" label="设置为联系地址" name="设置为联系地址"> -->
|
||||
<!-- 工作信息 -->
|
||||
@@ -445,6 +464,7 @@
|
||||
import { selectComp, getIdentityInfo } from './js/methods'
|
||||
import SearchField from '@/components/common/SearchField'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
import { gbcProjectDetail, getDepartmentByProjectNo } from '@/api/GBC/GBC'
|
||||
|
||||
export default {
|
||||
name: 'insuredInfo',
|
||||
@@ -468,6 +488,21 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
branchType: '',
|
||||
projectDTO:{
|
||||
platformName:'',
|
||||
projectName:'',
|
||||
teamCode:'',
|
||||
endDate:'',
|
||||
personCode:'',
|
||||
leaderCode:'',
|
||||
departmentName:'',
|
||||
departmentCode:'',
|
||||
},
|
||||
departmentList:[
|
||||
{id: 1, text: '科室1'},
|
||||
{id: 2, text: '科室2'}
|
||||
],
|
||||
thisdoubledialogshow: false,
|
||||
thismyorderNo: '',
|
||||
thismystr: '',
|
||||
@@ -649,6 +684,17 @@
|
||||
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0040') {
|
||||
this.specilFlag = '1'
|
||||
}
|
||||
if(this.$route.query.orderNo) {
|
||||
this.projectDTO.platformName = res.orderDTO.ebizOrderGbcRelDTO.unitName
|
||||
this.projectDTO.projectName = res.orderDTO.ebizOrderGbcRelDTO.projectName
|
||||
this.projectDTO.teamCode = res.orderDTO.ebizOrderGbcRelDTO.teamCode
|
||||
this.projectDTO.endDate = res.orderDTO.ebizOrderGbcRelDTO.projectEndDate
|
||||
this.projectDTO.personCode = res.orderDTO.ebizOrderGbcRelDTO.personCode
|
||||
this.projectDTO.leaderCode = res.orderDTO.ebizOrderGbcRelDTO.teamLeaderCode
|
||||
this.projectDTO.departmentName = res.orderDTO.ebizOrderGbcRelDTO.departmentName
|
||||
this.projectDTO.departmentCode = res.orderDTO.ebizOrderGbcRelDTO.departmentCode
|
||||
}
|
||||
|
||||
// ------------------------专为桂企写死--end---------------//
|
||||
}
|
||||
})
|
||||
@@ -682,8 +728,47 @@
|
||||
this.areaValue = '520000'
|
||||
}
|
||||
this.areaLists = areaLists
|
||||
if(window.localStorage.getItem('branchType') == '13') {
|
||||
this.branchType = '13'
|
||||
if(!this.$route.query.orderNo) {
|
||||
this.gbcProjectDetail()
|
||||
}
|
||||
this.getDepartmentByProjectNo()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getDepartmentByProjectNo(){
|
||||
let params = {
|
||||
|
||||
}
|
||||
getDepartmentByProjectNo(params).then(res=>{
|
||||
if(res.result == '0'){
|
||||
this.departmentList = []
|
||||
if(res.content && res.content.length != 0) {
|
||||
res.content.forEach(item=>{
|
||||
this.departmentList.push({
|
||||
id: item.departmentCode,
|
||||
text: item.departmentName
|
||||
})
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
gbcProjectDetail(){
|
||||
let params = {
|
||||
|
||||
}
|
||||
gbcProjectDetail(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
this.projectDTO = res.content
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
isNewPeopleFlagTip(){
|
||||
this.isNewPeopleFlagTipshow = true
|
||||
},
|
||||
@@ -815,6 +900,9 @@
|
||||
case '11':
|
||||
this.columns = DataDictionary.npType
|
||||
break
|
||||
case 'GBCKS':
|
||||
this.columns = this.departmentList
|
||||
break
|
||||
}
|
||||
|
||||
// if (pickerType == '1') {
|
||||
@@ -898,6 +986,9 @@
|
||||
this.userInfo.marriageStatus = value.text
|
||||
} else if (this.pickerType === '11') {
|
||||
this.userInfo.npType = value.id
|
||||
} else if (this.pickerType === 'GBCKS') {
|
||||
this.projectDTO.departmentCode = value.id
|
||||
this.projectDTO.departmentName = value.text
|
||||
}
|
||||
},
|
||||
//证件起始截止日期
|
||||
@@ -1056,10 +1147,10 @@
|
||||
return false
|
||||
}
|
||||
}
|
||||
if(this.isElecCont == '' || this.isElecCont == null || this.isElecCont == undefined){
|
||||
this.$toast('请选择保单形式')
|
||||
return false
|
||||
}
|
||||
// if(this.isElecCont == '' || this.isElecCont == null || this.isElecCont == undefined){
|
||||
// this.$toast('请选择保单形式')
|
||||
// return false
|
||||
// }
|
||||
// .then(valid => {
|
||||
if (true === valid) {
|
||||
localStorage.chooseProductCodesNew = localStorage.chooseProductCodes
|
||||
@@ -1362,6 +1453,13 @@
|
||||
}
|
||||
this.thismystr = ''
|
||||
params.orderDTO.appntDTO = this.userInfo
|
||||
if(this.branchType == '13'){
|
||||
params.orderDTO.ebizOrderGbcRelDTO = {
|
||||
projectCode: this.projectDTO.projectCode,
|
||||
departmentCode: this.projectDTO.departmentCode,
|
||||
teamCode:this.projectDTO.teamCode,
|
||||
}
|
||||
}
|
||||
console.log('params :>> ', params)
|
||||
//------------------------专为桂企写死--begin---------------//
|
||||
if (this.specilFlag == '1') {
|
||||
|
||||
@@ -449,8 +449,15 @@ export default {
|
||||
//投保单详情
|
||||
async goDetail(order) {
|
||||
let thisToken = this.$CacheUtils.getLocItem('token')
|
||||
let thisbranchType = ''
|
||||
if(this.$CacheUtils.getLocItem('branchType') == '13') {
|
||||
thisbranchType = this.$CacheUtils.getLocItem('branchType')
|
||||
}
|
||||
window.localStorage.clear()
|
||||
this.$CacheUtils.setLocItem('token', thisToken)
|
||||
if(thisbranchType) {
|
||||
this.$CacheUtils.setLocItem('branchType', thisbranchType)
|
||||
}
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
if (order.insuredDTOs[0]) {
|
||||
if (order.insuredDTOs[0].riskDTOLst[0]) {
|
||||
@@ -580,8 +587,16 @@ export default {
|
||||
//新增
|
||||
add() {
|
||||
let thisToken = this.$CacheUtils.getLocItem('token')
|
||||
let thisbranchType = ''
|
||||
if(this.$CacheUtils.getLocItem('branchType') == '13') {
|
||||
thisbranchType = this.$CacheUtils.getLocItem('branchType')
|
||||
}
|
||||
window.localStorage.clear()
|
||||
this.$CacheUtils.setLocItem('token', thisToken)
|
||||
if(thisbranchType) {
|
||||
this.$CacheUtils.setLocItem('branchType', thisbranchType)
|
||||
}
|
||||
|
||||
localStorage.orderNo = ''
|
||||
localStorage.chooseProductCodes = '' //置空所选险种
|
||||
this.$jump({
|
||||
|
||||
@@ -882,17 +882,17 @@ export default {
|
||||
border: none;
|
||||
}
|
||||
.allFalse {
|
||||
position: fixed;
|
||||
/*position: fixed;*/
|
||||
overflow: hidden;
|
||||
z-index: 10;
|
||||
width: 100%;
|
||||
}
|
||||
.content-all-info {
|
||||
padding-top: 153px;
|
||||
}
|
||||
.content-all-info2 {
|
||||
padding-top: 90px;
|
||||
}
|
||||
/*.content-all-info {*/
|
||||
/* padding-top: 153px;*/
|
||||
/*}*/
|
||||
/*.content-all-info2 {*/
|
||||
/* padding-top: 90px;*/
|
||||
/*}*/
|
||||
.pb5{
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
@@ -1087,7 +1087,7 @@
|
||||
that.signVal = window.localStorage.getItem('sign-val')
|
||||
// 判断是不是万能险
|
||||
let comment = window.localStorage.getItem('productCode')
|
||||
if (comment == 'GFRS_M0003' || comment == 'GFRS_M0015' || comment == 'GFRS_M0017' || comment == 'GFRS_M0075' || comment == 'GFRS_M0080' || comment == 'GFRS_M0082' || comment == 'GFRS_M0083' || comment == 'GFRS_M0085') {
|
||||
if (comment == 'GFRS_M0003' || comment == 'GFRS_M0015' || comment == 'GFRS_M0017' || comment == 'GFRS_M0075' || comment == 'GFRS_M0080') {
|
||||
this.isComment = true
|
||||
}
|
||||
// 获取投保人信息
|
||||
|
||||
415
src/views/ebiz/sale/readDocuments.vue
Normal file
@@ -0,0 +1,415 @@
|
||||
<template>
|
||||
<div class='insuranceInformation-container redRadioCheckbox'>
|
||||
<div style="padding: 10px;overflow-x: auto;overflow-y: hidden;display: flex" v-if="!isPreview">
|
||||
<p :key="index" v-for="(item, index) in fileList" :class="{ active: index+1 == current }"
|
||||
@click="fileListClick(item,index)"
|
||||
style="white-space: nowrap;display: flex;align-items: center;">
|
||||
{{item.documentShortName}}({{index+1}}/{{fileList.length}})
|
||||
<van-icon v-if="index != fileList.length - 1" name="arrow" style="margin: 0px 5px;"/>
|
||||
</p>
|
||||
</div>
|
||||
<van-notice-bar :scrollable='false' v-if='!Time' class='notice'>
|
||||
{{ `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上` }}
|
||||
</van-notice-bar>
|
||||
<div id="pdf" style="overflow: scroll;background: #eee;" :style="[{height:isPreview ? '100vh' : '75vh'}]">
|
||||
<div id="pdfH5ID"></div>
|
||||
</div>
|
||||
<div style="height: 20vh;" v-if="!isPreview">
|
||||
<van-radio-group v-model='radio' class='pb10 pt10 pl10 fs20'>
|
||||
<van-radio name='1' @click='click'>
|
||||
本人确认已阅读<span>{{documentName}}</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div v-if="fileList.length != 0 && fileList[this.current - 1].documentCode == '2' && signVal == '2' && (productType == '1' || productType == '2')" style="display: flex;align-items: center;margin-left: 40px;margin-top: 10px;font-size: 14px;">
|
||||
<span class="fs20">投保人抄录:</span>
|
||||
<van-button type='danger' class="fs20" style="height: 30px;" size='mini' :disabled="chaoluButtonDisabled" round @click="gochaolu">
|
||||
{{chaoluStatus ? '已抄录' : '抄录' }}
|
||||
</van-button>
|
||||
</div>
|
||||
<div class='bg-white bottom-btn' v-if="current != '1'">
|
||||
<van-button style="width: 30%;font-size: 20px;" plain type='danger' size='large' v-no-more-click='1000' @click="prevStep">上一步
|
||||
</van-button>
|
||||
<van-button style="width: 70%;font-size: 20px;" type='danger' size='large' :disabled='isDisabledComplite' @click='goNext' v-no-more-click='1000'>我已阅读确认并理解,继续
|
||||
</van-button>
|
||||
</div>
|
||||
<div class='bg-white bottom-btn' v-if="current == '1'">
|
||||
<van-button class="fs20" type='danger' size='large' :disabled='isDisabledComplite' @click='goNext' v-no-more-click='1000'>我已阅读确认并理解,继续
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
|
||||
import Pdfh5 from "pdfh5";
|
||||
import { saveInformation } from '@/api/ebiz/sale/sale'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
isPreview: false,
|
||||
time:'10',
|
||||
radio: '',
|
||||
number: '',
|
||||
src: location.origin + '/pdfjs/web/viewer.html?file=',
|
||||
pdfUrl: '',
|
||||
isDisabledComplite:true,
|
||||
isOver: false,
|
||||
current: 1,
|
||||
pdfh5: null,
|
||||
documentName: '',
|
||||
fileList:[],
|
||||
mainRiskCodes: '',
|
||||
chaoluButtonDisabled: true,
|
||||
chaoluStatus: false,
|
||||
productType: '',
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
[Dialog.name]: Dialog,
|
||||
[NoticeBar.name]: NoticeBar
|
||||
},
|
||||
created(){
|
||||
if(this.$route.query.currentIndex){
|
||||
this.Time = true
|
||||
this.isPreview = true
|
||||
} else if(window.sessionStorage.getItem('signH5Img')){
|
||||
this.Time = true
|
||||
} else {
|
||||
this.timeOut()
|
||||
}
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
}, 100)
|
||||
window.appCallBack = this.appCallBack
|
||||
},
|
||||
mounted() {
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
this.productType = window.localStorage.getItem('productType')
|
||||
this.mainRiskCodes = JSON.parse(window.localStorage.getItem('mainRiskCodes'))[0]
|
||||
let agentSignFile = JSON.parse(window.localStorage.getItem('agentSignFile'))
|
||||
let appntSignFile = JSON.parse(window.localStorage.getItem('appntSignFile'))
|
||||
let insuredSignFile = JSON.parse(window.localStorage.getItem('insuredSignFile'))
|
||||
|
||||
// this.$nextTick(()=>{
|
||||
if(window.localStorage.getItem('sign-val') == '3'){
|
||||
this.signVal = '3'
|
||||
this.fileList = agentSignFile
|
||||
} else if(window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2'){
|
||||
this.signVal = '2'
|
||||
this.fileList = appntSignFile
|
||||
} else if(window.localStorage.getItem('sign-val') == '1') {
|
||||
this.signVal = '1'
|
||||
this.fileList = insuredSignFile
|
||||
}
|
||||
this.getOrderDetail()
|
||||
// })
|
||||
|
||||
},
|
||||
methods: {
|
||||
getOrderDetail(){
|
||||
if(this.$route.query.currentIndex) {
|
||||
this.current = Number(this.$route.query.currentIndex)
|
||||
} else {
|
||||
for(let i = 0; i < this.fileList.length; i++) {
|
||||
if (this.fileList[i].documentStatus == '0' || this.fileList[i].documentStatus == '2') {
|
||||
this.current = i + 1
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if(this.fileList[this.current - 1].documentCode == '2') {
|
||||
if(window.sessionStorage.getItem('signH5Img')){
|
||||
if(JSON.parse(window.sessionStorage.getItem('signH5Img')).type == '抄录' && JSON.parse(window.sessionStorage.getItem('signH5Img')).val){
|
||||
this.chaoluStatus = true
|
||||
}
|
||||
}
|
||||
}
|
||||
if(this.$route.query.currentIndex){
|
||||
this.changeFile(1)
|
||||
} else {
|
||||
if(window.sessionStorage.getItem('currentFile')) {
|
||||
this.changeFile(1)
|
||||
} else {
|
||||
this.changeFile()
|
||||
}
|
||||
}
|
||||
},
|
||||
// 点击阅读时
|
||||
click() {
|
||||
let that = this
|
||||
if (that.isOver == false) {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||||
showCancelButton: false
|
||||
}).then(() => {
|
||||
that.radio = ''
|
||||
})
|
||||
} else {
|
||||
if(this.fileList[this.current - 1].documentCode == '2'){
|
||||
that.chaoluButtonDisabled = false
|
||||
}
|
||||
}
|
||||
},
|
||||
timeOut() {
|
||||
let that = this
|
||||
let time = that.time
|
||||
that.Time = false
|
||||
that.number = `${time}`
|
||||
let timer = setInterval(() => {
|
||||
time--
|
||||
if (time <= 0) {
|
||||
time = 0
|
||||
clearInterval(timer)
|
||||
that.Time = true
|
||||
that.isOver = true
|
||||
}
|
||||
that.number = `${time}`
|
||||
}, 1000)
|
||||
},
|
||||
goNext(){
|
||||
if(this.fileList[this.current - 1].documentCode == '2' && this.signVal == '2' && (this.productType == '1' || this.productType == '2')){
|
||||
if(!this.chaoluStatus){
|
||||
this.$toast('请先完成抄录')
|
||||
return false
|
||||
}
|
||||
}
|
||||
let params = {
|
||||
orderType: 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: this.$route.query.orderNo
|
||||
},
|
||||
ebizSignDTOS: [
|
||||
{
|
||||
signOrRead: 'read',
|
||||
signId: this.fileList[this.current - 1].signId,
|
||||
orderNo: this.$route.query.orderNo,
|
||||
documentCode: this.fileList[this.current - 1].documentCode,
|
||||
documentStatus: '1',
|
||||
documentType: this.fileList[this.current - 1].documentType,
|
||||
signType: window.localStorage.getItem('sign-val')
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: documentCode为2 代表的是人身保险电子投保单
|
||||
* 人身保险电子投保单文件需要抄录 保存时修改入参数据 copyValue是抄录的base64字符串 signOrRead需要变更为sign
|
||||
* @Date: 2023/11/20
|
||||
**/
|
||||
if(this.fileList[this.current - 1].documentCode == '2' && this.signVal == '2' && (this.productType == '1' || this.productType == '2')){
|
||||
params.orderDTO.ebizSignDTOS[0].caType = 'copy'
|
||||
params.orderDTO.ebizSignDTOS[0].copyValue = JSON.parse(window.sessionStorage.getItem('signH5Img')).val
|
||||
params.orderDTO.ebizSignDTOS[0].signOrRead = 'sign'
|
||||
params.orderType = 'SIGN_COPY'
|
||||
}
|
||||
saveInformation(params).then(res=>{
|
||||
if(res.result == 0) {
|
||||
window.sessionStorage.removeItem('currentFile')
|
||||
this.fileList[this.current - 1].documentStatus = '1'
|
||||
if(window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2'){
|
||||
window.localStorage.setItem('appntSignFile',JSON.stringify(this.fileList))
|
||||
} else {
|
||||
window.localStorage.setItem('insuredSignFile',JSON.stringify(this.fileList))
|
||||
}
|
||||
if(this.current == this.fileList.length) {
|
||||
this.$router.push({
|
||||
path: '/sale/signDocuments',
|
||||
query: {
|
||||
orderNo: this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
} else {
|
||||
window.location.reload()
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
gochaolu(){
|
||||
let signInfo = {
|
||||
type:'抄录',
|
||||
// text:'本人已阅'
|
||||
text:'本人已阅读保险条款、产品说明书和投保提示书,了解本产品的特点和保单利益的不确定性'
|
||||
}
|
||||
window.sessionStorage.setItem('signInfo',JSON.stringify(signInfo))
|
||||
window.location.href = this.$mainUrl + '/signH5/1.html'
|
||||
// window.location.href = 'http://'+window.location.host + '/signH5/1.html'
|
||||
},
|
||||
changeFile(readStatus){
|
||||
this.documentName = this.fileList[this.current - 1].documentName
|
||||
if(readStatus){
|
||||
this.radio = '1'
|
||||
this.isOver = true
|
||||
this.Time = true
|
||||
} else if(window.sessionStorage.getItem('signH5Img')) {
|
||||
this.radio = '1'
|
||||
this.isOver = true
|
||||
this.chaoluButtonDisabled = false
|
||||
} else {
|
||||
this.radio = ''
|
||||
this.isOver = false
|
||||
this.timeOut()
|
||||
}
|
||||
let thispdfurl = ''
|
||||
if(this.fileList[this.current - 1].originalUrl && (this.fileList[this.current - 1].originalUrl.indexOf('https://') != -1 || this.fileList[this.current - 1].originalUrl.indexOf('http://') != -1)) {
|
||||
thispdfurl = this.fileList[this.current - 1].originalUrl
|
||||
} else {
|
||||
thispdfurl = this.$assetsUpUrl + this.fileList[this.current - 1].originalUrl
|
||||
}
|
||||
this.pdfh5 = new Pdfh5("#pdfH5ID", {
|
||||
pdfurl: thispdfurl,
|
||||
lazy:false,
|
||||
scale:1
|
||||
}).on("complete", function (status, msg, time) { //监听完成事件
|
||||
console.log("状态:" + status + ",信息:" + msg + ",耗时:" + time + "毫秒,总页数:" + this.totalNum)
|
||||
})
|
||||
},
|
||||
fileListClick(item,index) {
|
||||
if(index != this.current - 1) {
|
||||
if(index > this.current - 1) {
|
||||
this.$toast('请逐一阅读文件')
|
||||
}else{
|
||||
this.fileList.forEach((item1,index1)=>{
|
||||
if(index1 >= index) {
|
||||
item1.documentStatus = '0'
|
||||
}
|
||||
})
|
||||
if(window.localStorage.getItem('sign-val') == '3'){
|
||||
window.localStorage.setItem('agentSignFile',JSON.stringify(this.fileList))
|
||||
} else if(window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2'){
|
||||
window.localStorage.setItem('appntSignFile',JSON.stringify(this.fileList))
|
||||
} else {
|
||||
window.localStorage.setItem('insuredSignFile',JSON.stringify(this.fileList))
|
||||
}
|
||||
window.sessionStorage.setItem('currentFile',this.current)
|
||||
window.location.reload()
|
||||
}
|
||||
}
|
||||
},
|
||||
prevStep(){
|
||||
window.sessionStorage.removeItem('signH5Img')
|
||||
this.fileList[this.current - 2].documentStatus = '0'
|
||||
this.chaoluStatus = false
|
||||
if(window.localStorage.getItem('sign-val') == '3'){
|
||||
window.localStorage.setItem('agentSignFile',JSON.stringify(this.fileList))
|
||||
} else if(window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2'){
|
||||
window.localStorage.setItem('appntSignFile',JSON.stringify(this.fileList))
|
||||
} else {
|
||||
window.localStorage.setItem('insuredSignFile',JSON.stringify(this.fileList))
|
||||
}
|
||||
window.sessionStorage.setItem('currentFile',this.current)
|
||||
window.location.reload()
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
if (this.videoShow) {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '签名确认',
|
||||
hiddenRight: '1'
|
||||
}
|
||||
})
|
||||
return (this.videoShow = false)
|
||||
}
|
||||
return this.$dialog.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '是否确认退出?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
title: '签名确认',
|
||||
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||
url: location.origin + `/#/sale/SignatureConfirmation?orderNo=` + this.$route.query.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/SignatureConfirmation?orderNo=` + this.$route.query.orderNo,
|
||||
type: '1'
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
return
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
listenChange() {
|
||||
const { isOver, radio } = this
|
||||
return { isOver, radio }
|
||||
}
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
if(this.fileList[this.current - 1].documentCode == '2'){
|
||||
window.sessionStorage.removeItem('signH5Img')
|
||||
window.sessionStorage.removeItem('signH5Val')
|
||||
window.sessionStorage.removeItem('signInfo')
|
||||
}
|
||||
next()
|
||||
},
|
||||
watch: {
|
||||
listenChange(val) {
|
||||
let that = this
|
||||
if (val.isOver == true && val.radio != '') {
|
||||
that.isDisabledComplite = false
|
||||
} else {
|
||||
that.isDisabledComplite = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss' scoped>
|
||||
.notice {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
z-index: 20;
|
||||
}
|
||||
#pdfH5ID{
|
||||
width: 100vw;
|
||||
}
|
||||
/deep/.viewerContainer{
|
||||
width: 100vw;
|
||||
overflow: inherit;
|
||||
}
|
||||
/deep/ .pageNum{
|
||||
display: none!important;
|
||||
}
|
||||
/deep/ .pageContainer{
|
||||
margin: 2vw;
|
||||
background: #fff;
|
||||
img{
|
||||
width: 96vw;
|
||||
}
|
||||
}
|
||||
/deep/ .pinch-zoom-container{
|
||||
height: 100%!important;
|
||||
}
|
||||
.active {
|
||||
color: red;
|
||||
}
|
||||
/deep/ .fs20{
|
||||
font-size: 20px;
|
||||
.van-button__text{
|
||||
padding: 10px 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
281
src/views/ebiz/sale/signDocuments.vue
Normal file
@@ -0,0 +1,281 @@
|
||||
<template>
|
||||
<div class='insuranceInformation-container' style="padding: 15px;">
|
||||
<div style="display: flex;align-items: center;font-weight: bold;" class="fs20">
|
||||
<span style="width: 3px;background: red;height: 25px;"></span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="margin-left: 5px;">
|
||||
投保人:{{signName}}
|
||||
</span>
|
||||
<span v-if="signVal == '1'" style="margin-left: 5px;">
|
||||
被保险人:{{signName}}
|
||||
</span>
|
||||
<span v-if="signVal == '3'" style="margin-left: 5px;">
|
||||
代理人:{{signName}}
|
||||
</span>
|
||||
</div>
|
||||
<div style="margin-top: 15px;font-weight: bold;line-height: 32px;font-size: 20px;" class="fs20">
|
||||
<span v-if="signVal == '3'">
|
||||
1.接下来您作为代理人将进行投保文件的签字,请在签字前确保您已仔细阅读投保文件并了解投保文件的内容和含义,确定投保单各项信息准确无误。签字完成并成功提交说明您正式向我司提交投保申请。
|
||||
</span>
|
||||
<span v-if="signVal == '0' || signVal == '2'">
|
||||
1.接下来您作为投保人将进行投保文件的签字,请在签字前确保您已仔细阅读投保文件并了解投保文件的内容和含义,确定投保单各项信息准确无误。签字完成并成功提交说明您正式向我司提交投保申请。
|
||||
</span>
|
||||
<span v-if="signVal == '1'">
|
||||
1.接下来您作为被保险人将进行投保文件的签字,请在签字前确保您已仔细阅读投保文件并了解投保文件的内容和含义,确定投保单各项信息准确无误。签字完成并成功提交说明您正式向我司提交投保申请。
|
||||
</span>
|
||||
</div>
|
||||
<div style="border-bottom: 1px dashed #eee;padding-bottom: 15px;margin-top: 15px;">
|
||||
<p style="font-size: 20px;font-weight: bold;">2.您将为以下文件进行统一签名:</p>
|
||||
<div v-for="item in fileList" style="margin-top: 15px;display: flex;justify-content: space-between;">
|
||||
<span style="font-size: 20px;color: red;opacity: 0.7;width: 60%;display: inline-block;">{{item.name}}</span>
|
||||
<span v-if="signstatus == '1'" style="display: flex;align-items: center;display: inline-block;width: 40%;">
|
||||
<img :src="src" style="margin-left: 15px;width: 16px;"/>
|
||||
<span style="font-size: 20px;color: #03ceaf;margin-left: 10px;">签署完成</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 15px;display: flex;align-items: center;" class="fs20">
|
||||
<span v-if="signVal == '0'" style="font-size: 20px;font-weight: bold;">代理人签名:</span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 20px;font-weight: bold;">投保人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 20px;font-weight: bold;">被保险人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge < 18" style="font-size: 20px;font-weight: bold;">被保险人监护人签名:</span>
|
||||
<van-button type="danger" size="small" round style="margin-left: 20px;height: 40px;font-size: 16px;" @click="gosign" class="fs20">
|
||||
{{signstatus ? '重新签名' : '签名'}}
|
||||
</van-button>
|
||||
</div>
|
||||
<div>
|
||||
<img v-if="signstatus" :src="signImgUrl" style="height: 34px;margin-left: 20px;width: auto;"/>
|
||||
</div>
|
||||
<div class='bg-white bottom-btn'>
|
||||
<van-button :disabled="nextDisabled" type='danger' size='normal' style="font-size: 20px;" block v-no-more-click='1000' @click="gonext">
|
||||
完成阅读并签署
|
||||
</van-button>
|
||||
</div>
|
||||
|
||||
<van-dialog v-model="guardianshow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">监护人姓名</p>
|
||||
</div>
|
||||
<div class="guardianContent" style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<van-field v-model="guardianName" label="" name="体重" placeholder="请输入"/>
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 30px;">
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="gosign">确定</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { saveInformation } from '@/api/ebiz/sale/sale'
|
||||
import isChoose from '@/assets/images/u20257.png'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
src: isChoose,
|
||||
fileList:[],
|
||||
signImgUrl:'data:image/gif;base64,',
|
||||
signstatus: false,
|
||||
signVal: '',
|
||||
signName: '',
|
||||
insuredAge: '',
|
||||
guardianshow: false,
|
||||
guardianName: '',
|
||||
nextDisabled:true,
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
created(){
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
}, 100)
|
||||
window.appCallBack = this.appCallBack
|
||||
},
|
||||
mounted() {
|
||||
this.signVal = window.localStorage.getItem('sign-val')
|
||||
this.insuredAge = window.localStorage.getItem('insuredAge')
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
let thisfilelist = ''
|
||||
if(this.signVal == '3') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
|
||||
this.signName = window.localStorage.getItem('recmdName')
|
||||
} else if(this.signVal == '0' || this.signVal == '2') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
|
||||
this.signName = window.localStorage.getItem('appntName')
|
||||
} else if(this.signVal == '1') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
|
||||
this.signName = window.localStorage.getItem('insuredName')
|
||||
}
|
||||
console.log(thisfilelist)
|
||||
thisfilelist.forEach(item => {
|
||||
if(item.documentType == '1') {
|
||||
this.fileList.push({
|
||||
name:item.documentName,
|
||||
status: '1'
|
||||
})
|
||||
}
|
||||
})
|
||||
this.signH5Img = sessionStorage.getItem('signH5Img')
|
||||
if(JSON.parse(window.sessionStorage.getItem('signH5Img'))) {
|
||||
if(JSON.parse(window.sessionStorage.getItem('signH5Img')).type == '签名' && JSON.parse(window.sessionStorage.getItem('signH5Img')).val)
|
||||
this.signstatus = true
|
||||
this.signImgUrl = this.signImgUrl + JSON.parse(window.sessionStorage.getItem('signH5Img')).val
|
||||
}
|
||||
if(window.sessionStorage.getItem('signH5Val')){
|
||||
this.nextDisabled = false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
gosign(){
|
||||
window.localStorage.setItem('orderNo',this.$route.query.orderNo)
|
||||
let signInfo = {
|
||||
type:'签名',
|
||||
text:'',
|
||||
keyWord: ''
|
||||
}
|
||||
if(this.signVal == '0' || this.signVal == '2') {
|
||||
signInfo.text = window.localStorage.getItem('appntName')
|
||||
signInfo.keyWord = '投保锟斤拷:'
|
||||
}
|
||||
if(this.signVal == '1'){
|
||||
signInfo.text = window.localStorage.getItem('insuredName')
|
||||
signInfo.keyWord = '被保锟斤拷:'
|
||||
}
|
||||
if(this.signVal == '3') {
|
||||
signInfo.text = window.localStorage.getItem('recmdName')
|
||||
signInfo.keyWord = '代理锟斤拷:'
|
||||
}
|
||||
if(this.insuredAge < 18 && !this.guardianName && this.signVal == '1') {
|
||||
this.guardianshow = true
|
||||
} else {
|
||||
if(this.insuredAge < 18 && this.signVal == '1') {
|
||||
signInfo.text = this.guardianName
|
||||
}
|
||||
window.sessionStorage.setItem('signInfo',JSON.stringify(signInfo))
|
||||
window.location.href = this.$mainUrl + '/signH5/1.html'
|
||||
// window.location.href = 'http://'+window.location.host + '/signH5/1.html'
|
||||
}
|
||||
|
||||
},
|
||||
gonext(){
|
||||
let params = {
|
||||
orderType: 'SIGN_MERGED_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: this.$route.query.orderNo
|
||||
},
|
||||
baseEncryp: window.sessionStorage.getItem('signH5Val'),
|
||||
signValue: JSON.parse(window.sessionStorage.getItem('signH5Img')).val,
|
||||
signType: window.localStorage.getItem('sign-val'),
|
||||
ebizSignDTOS: []
|
||||
}
|
||||
}
|
||||
let thisfilelist = ''
|
||||
if(this.signVal == '3') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
|
||||
} else if(this.signVal == '0' || this.signVal == '2') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
|
||||
} else if(this.signVal == '1') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
|
||||
}
|
||||
thisfilelist.forEach(item => {
|
||||
if(item.documentType == '1') {
|
||||
params.orderDTO.ebizSignDTOS.push({
|
||||
signOrRead: 'sign',
|
||||
signId:item.signId,
|
||||
orderNo: this.$route.query.orderNo,
|
||||
documentCode: item.documentCode,
|
||||
documentStatus: '3',
|
||||
documentType: '1',
|
||||
signType: item.signType
|
||||
})
|
||||
}
|
||||
})
|
||||
saveInformation(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
if(window.sessionStorage.getItem('shareUrl')){
|
||||
this.$router.push({
|
||||
path: '/sale/SignatureConfirmation'+window.sessionStorage.getItem('shareUrl')
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
path: '/sale/SignatureConfirmation',
|
||||
query: {
|
||||
orderNo: this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
if (this.videoShow) {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '签名确认',
|
||||
hiddenRight: '1'
|
||||
}
|
||||
})
|
||||
return (this.videoShow = false)
|
||||
}
|
||||
return this.$dialog.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '是否确认退出?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
title: '签名确认',
|
||||
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||
url: location.origin + `/#/sale/SignatureConfirmation?orderNo=` + this.$route.query.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/SignatureConfirmation?orderNo=` + this.$route.query.orderNo,
|
||||
type: '1'
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
return
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
window.sessionStorage.removeItem('signH5Img')
|
||||
window.sessionStorage.removeItem('signH5Val')
|
||||
window.sessionStorage.removeItem('signInfo')
|
||||
next()
|
||||
},
|
||||
watch: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss' scoped>
|
||||
.guardianContent{
|
||||
/deep/ .van-cell{
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
}
|
||||
.fs20{
|
||||
font-size: 20px;
|
||||
.van-button__text{
|
||||
padding: 10px 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||