Compare commits

...

55 Commits

Author SHA1 Message Date
liu.xiaofeng@ebiz-digits.com
dfeb70277b 项目详情样式细调 2024-02-23 16:34:03 +08:00
liu.xiaofeng@ebiz-digits.com
9b736ac91c GBC项目列表页面搜索功能增加入参projectName 2024-02-23 11:29:08 +08:00
liu.xiaofeng@ebiz-digits.com
efb066a4e4 客户列表编辑客户信息的时候切换人员不重新请求详情信息 2024-02-23 11:12:26 +08:00
liu.xiaofeng@ebiz-digits.com
6de7ae1e9a 当前激活的用户appntid 保存方式修改并修改保额保费的保留两位小数的写法 2024-02-23 10:59:37 +08:00
liu.xiaofeng@ebiz-digits.com
6ca454c446 测试问题修改 2024-02-22 14:22:37 +08:00
liu.xiaofeng@ebiz-digits.com
1c9e3f8884 GBC客户管理错误字段修改 2024-02-20 18:04:41 +08:00
liu.xiaofeng@ebiz-digits.com
8a95162b7a 产品列表修改 2024-02-20 15:37:22 +08:00
liu.xiaofeng@ebiz-digits.com
6ddbda929a 首页去掉下拉刷新 2024-01-10 13:39:46 +08:00
liu.xiaofeng@ebiz-digits.com
ac3922458c 首页怎么判断只有登录的时候 调取项目列表接口 2024-01-10 13:38:09 +08:00
liu.xiaofeng@ebiz-digits.com
dfb0f57516 项目详情和客户编辑接口对接 2024-01-08 21:15:44 +08:00
liu.xiaofeng@ebiz-digits.com
f72b2b1a04 首页小组编码字段修改 电投投保人页面保存接口入参增加teamCode 2024-01-05 13:45:16 +08:00
liu.xiaofeng@ebiz-digits.com
3525d27f4e 编辑客户信息页面基本功能编写 2024-01-04 16:30:54 +08:00
liu.xiaofeng@ebiz-digits.com
6f5d2f1ad4 首页选择项目绑定的项目改为绑定小组 2024-01-04 13:13:48 +08:00
liu.xiaofeng@ebiz-digits.com
b87be77ec3 数据看板页面以及产品列表页面和编辑客户信息页面基础代码编写 2024-01-03 15:16:11 +08:00
liu.xiaofeng@ebiz-digits.com
c83787b3a4 投保人页面的项目信息如果有问题的话请求接口获取详细信息 2024-01-03 11:37:53 +08:00
liu.xiaofeng@ebiz-digits.com
9480c5c389 订单详情的部门/科室字段增加判断动态控制展示隐藏 2023-12-28 17:15:43 +08:00
liu.xiaofeng@ebiz-digits.com
6c05cf0a91 订单详情的部门/科室字段对接 2023-12-28 17:12:59 +08:00
liu.xiaofeng@ebiz-digits.com
6617fef7ee 订单详情的录单人工号和出单人工号字段对接 2023-12-28 17:06:36 +08:00
liu.xiaofeng@ebiz-digits.com
60d32f406a 投保单详情增加项目信息字段展示内容 2023-12-28 16:19:32 +08:00
liu.xiaofeng@ebiz-digits.com
99a7dc001e 建议书列表点击新增和编辑功能存储branchType字段用于显示GBC的项目信息 2023-12-28 14:44:48 +08:00
liu.xiaofeng@ebiz-digits.com
960323f30f 订单列表点击编辑功能存储branchType字段用于显示GBC的项目信息 2023-12-28 14:40:04 +08:00
liu.xiaofeng@ebiz-digits.com
db492bce0d 订单详情添加项目信息模块 2023-12-28 11:45:49 +08:00
liu.xiaofeng@ebiz-digits.com
1e54f9a4a5 项目详情数据看板上半部分基础代码编辑 2023-12-28 11:21:05 +08:00
liu.xiaofeng@ebiz-digits.com
296fc3bdca 首页展示的项目列表数据后面增加显示小组名称 2023-12-27 16:43:42 +08:00
liu.xiaofeng@ebiz-digits.com
78ab0147df GBC项目列表页面基础功能开发 组件编写 客户列表页面基础功能开发 组件编写 2023-12-26 18:05:08 +08:00
liu.xiaofeng@ebiz-digits.com
773c49b4fe 订单列表页面点击新增保留本地存储的branchType字段 2023-12-25 17:16:17 +08:00
liu.xiaofeng@ebiz-digits.com
7df8dcc1cb 数据存储由isFrom修改为branchType 2023-12-25 16:55:58 +08:00
liu.xiaofeng@ebiz-digits.com
7ac8f83e4e 首页增加方法判断当前是否是GBC渠道 2023-12-25 15:12:43 +08:00
liu.xiaofeng@ebiz-digits.com
968ba9ff1c 修改订单列表点击新增订单方法逻辑 2023-12-25 15:05:18 +08:00
liu.xiaofeng@ebiz-digits.com
4ea8be88a4 isFrom 由sessionstorage 改为localStorage 2023-12-25 14:57:28 +08:00
liu.xiaofeng@ebiz-digits.com
a6a2571bd2 GBC页面样式调整功能联调 2023-12-22 17:09:13 +08:00
liu.xiaofeng@ebiz-digits.com
ceb164fae4 投保人页面获取代理人渠道信息 2023-12-22 15:51:15 +08:00
liu.xiaofeng@ebiz-digits.com
c1f114f146 GBC功能开发 2023-12-21 19:03:05 +08:00
liu.xiaofeng@ebiz-digits.com
76ecb3f1cf 首页样式修改 2023-12-20 11:40:16 +08:00
liu.xiaofeng@ebiz-digits.com
474dbcf37a 首页调用获取代理人项目列表接口 2023-12-18 16:20:45 +08:00
liu.xiaofeng@ebiz-digits.com
39101a9d40 新增查询登录人所属项目列表接口并调整首页代码逻辑 2023-12-18 14:42:41 +08:00
liu.xiaofeng@ebiz-digits.com
9351f6d80b GBC首页页面基础代码编写 2023-12-15 14:26:40 +08:00
liu.xiaofeng@ebiz-digits.com
cd6febb92a 一月业绩查询标题标保修改为期交
(cherry picked from commit 777eff7f3c)
2023-12-15 10:00:48 +08:00
liu.xiaofeng@ebiz-digits.com
80df8d13cc 一月业绩查询【标保】修改为【期交】
(cherry picked from commit fd47414a0a)
2023-12-15 10:00:44 +08:00
liu.xiaofeng@ebiz-digits.com
2726020be9 【标保】修改为【期交】
(cherry picked from commit abf8969c76)
2023-12-15 10:00:38 +08:00
liu.xiaofeng@ebiz-digits.com
9755f52043 核保状态提示语修改
(cherry picked from commit 19009e943d)
2023-12-15 10:00:33 +08:00
liu.xiaofeng@ebiz-digits.com
e44ca2b32d 投保须知和转账授权文件阅读时长修改
(cherry picked from commit 59cc88bc43)
2023-12-15 10:00:29 +08:00
liu.xiaofeng@ebiz-digits.com
bfb10cc3be 微信环境 人脸识别失败后不触发短信验证修复
(cherry picked from commit f3e7907626)
2023-12-15 10:00:24 +08:00
liu.xiaofeng@ebiz-digits.com
fcd4905cbf 订单状态为公司谢绝修改为提交失败
(cherry picked from commit f55bf256ef)
2023-12-15 10:00:20 +08:00
liu.xiaofeng@ebiz-digits.com
bc9f4c2878 出单信息页面功能优化
(cherry picked from commit 29caa2a03f)
2023-12-15 10:00:13 +08:00
liu.xiaofeng@ebiz-digits.com
6d29db692f 首页业绩排名表头字段修改
(cherry picked from commit 8621137660)
2023-12-15 10:00:09 +08:00
liu.xiaofeng@ebiz-digits.com
446261a8e9 更新指定生效日说明文件内容 更换标题
(cherry picked from commit 1e0113b597)
2023-12-15 10:00:05 +08:00
liu.xiaofeng@ebiz-digits.com
105aeeeb33 更新指定生效日说明文件内容2
(cherry picked from commit 1b68a6f001)
2023-12-15 10:00:01 +08:00
liu.xiaofeng@ebiz-digits.com
1ec3efef2b 更新指定生效日说明文件内容
(cherry picked from commit 4b68721ab4)
2023-12-15 09:59:57 +08:00
liu.xiaofeng@ebiz-digits.com
15af158d78 开门红专区改了一月专区
(cherry picked from commit 4a2a41f31e)
2023-12-15 09:59:52 +08:00
liu.xiaofeng@ebiz-digits.com
373a2c7b0e 选择开门红产品页面图片更换
(cherry picked from commit f4ae03c78c)
2023-12-15 09:59:47 +08:00
liu.xiaofeng@ebiz-digits.com
10c2364401 更换页面标题
(cherry picked from commit e572bae4ff)
2023-12-15 09:59:42 +08:00
liu.xiaofeng@ebiz-digits.com
b1cf5e3d4b 开门红专区标题修改为一月专区
(cherry picked from commit 532592851f)
2023-12-15 09:59:36 +08:00
liu.xiaofeng@ebiz-digits.com
7d08c65959 更换开门红图片
(cherry picked from commit ffab856a30)
2023-12-15 09:59:32 +08:00
liu.xiaofeng@ebiz-digits.com
36e2dc9f3d GBC新增首页路由和文件 2023-12-08 20:13:22 +08:00
40 changed files with 1715 additions and 68 deletions

91
src/api/GBC/GBC.js Normal file
View 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
})
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 579 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 613 KiB

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1773,7 +1773,7 @@ export default {
},
{
id: '07',
text: '公司谢绝'
text: '核保失败'
},
{
id: '08',

View File

@@ -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
View 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
}
},
]

View File

@@ -23,7 +23,7 @@ export default [
name: 'Prefecture',
component: PerformanceReport,
meta: {
title: '开门红业绩查询'
title: '一月业绩查询'
}
},
{
@@ -31,7 +31,7 @@ export default [
name: 'Prefecture',
component: Prefecture,
meta: {
title: '开门红专区'
title: '一月专区'
}
},
{
@@ -53,7 +53,7 @@ export default [
name: 'GoodStartScheme',
component: GoodStartScheme,
meta: {
title: '开门红方案'
title: '一月方案'
}
},
{
@@ -61,7 +61,7 @@ export default [
name: 'businessMap',
component: businessMap,
meta: {
title: '开门红业务地图'
title: '一月业务地图'
}
},
{
@@ -77,7 +77,7 @@ export default [
name: 'newsPaper',
component: newsPaper,
meta: {
title: '开门红实时贺报'
title: '一月实时贺报'
}
}
]

View File

@@ -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
] //根据需要进行删减

View File

@@ -0,0 +1,409 @@
<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: 2px;font-weight: bold;">{{infoContent.contSize}}</span>
<span></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: 2px;font-weight: bold;">{{infoContent.members.length}}</span>
<span></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: 2px;font-weight: bold;">{{infoContent.totalAmt}}</span>
<span>万元</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: 2px;font-weight: bold;">{{infoContent.totalPrem}}</span>
<span>万元</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: 25%;color: #666;">投保人</p>
<p style="width: 25%;color: #000;">{{item.appntName}}</p>
<p style="width: 25%;color: #666;">被保险人</p>
<p style="width: 25%;color: #000;">{{item.insuredName}}</p>
</div>
<div style="display: flex;line-height: 30px;align-items: center;">
<p style="width: 25%;color: #666;">保额()</p>
<p style="width: 25%;color: #000;">{{Number(item.amt).toFixed(2)}}</p>
<p style="width: 25%;color: #666;">保费()</p>
<p style="width: 25%;color: #000;">{{Number(item.prem).toFixed(2)}}</p>
</div>
<div style="display: flex;line-height: 30px;align-items: center;">
<p style="width: 25%;color: #666;">交费期间</p>
<p style="width: 25%;color: #000;">{{item.paymentPeriod}}</p>
<p style="width: 25%;color: #666;">保险期间</p>
<p style="width: 25%;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,
activeAppntId:'',
}
},
created() {
},
mounted(){
this.activeAppntId = this.$route.query.appntId
this.getGBCappntDetail()
},
methods: {
activeMembers(thisData,thisIndex) {
this.activeMembersIndex = thisIndex
this.infoContent.appntName = thisData.name
this.infoContent.age = thisData.age
this.activeAppntId = thisData.appntId
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.activeAppntId,
"connectContent": this.connectContent
}
getGBCappntConnectSave(params).then(res=>{
if(res.result == 0) {
this.$toast('保存成功')
this.connectContent = ''
this.activeConnectRecords = false
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.activeAppntId,
"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
View 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>

View File

@@ -0,0 +1,442 @@
<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 style="height: calc(100vh - 50px);overflow: auto;">
<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="overflow: auto;">
<table cellspacing=0 style="margin-top: 10px;">
<thead style="background: rgba(255, 87, 83, 0.7);color: #fff;">
<tr class="theadClass">
<th>小组</th>
<th>组长</th>
<th>获客人数</th>
<th>获客率</th>
<th>筛客人数</th>
<th>筛客率</th>
<th>累计标保()</th>
<th>承保人数</th>
<th>承保件数()</th>
<th>件均()</th>
<th>面谈转化率</th>
<th>受理承保率</th>
<th>受理标保()</th>
<th>受理件数</th>
<th>重疾险件数</th>
<th>重疾标保()</th>
<th>重疾件均()</th>
</tr>
</thead>
<tbody>
<tr class="tbodyClass">
<td colspan="2">项目合并</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
<td>.00</td>
</tr>
<tr v-for="(item,index) in dataList3" :key="index" class="tbodyClass">
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
<td>{{item.name}}</td>
</tr>
</tbody>
</table>
</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>
</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(){
document.title = this.$route.query.projectName
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)
} 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;
}
.theadClass{
th{
white-space: nowrap;
padding: 0px 10px;
font-size: 14px;
font-weight: 400;
line-height: 30px;
}
}
.tbodyClass{
background: rgba(251, 235, 230, 0.44);
line-height: 30px;
margin-bottom: 1px;
font-size: 13px;
/*color: #fff;*/
td{
text-align: center;
border-bottom:1px solid #fff;
}
}
</style>

View File

@@ -0,0 +1,88 @@
<template>
<div>
<van-search v-model="searchvalue" shape="round" background="#fff" @search="getGBCprojectlistByYear" 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 = {
projectName: this.searchvalue
}
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,
projectName:data.projectName
},
})
},
},
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>

View File

@@ -173,6 +173,19 @@ export default {
}
}
},
created() {
},
mounted() {
let date = new Date()
let month = date.getMonth() + 1
if (month <= 9) {
month = '0' + month
}
//默认展示当天数据
this.postDate = date.getFullYear() + '-' + month + '-' + date.getDate()
this.initData()
},
methods: {
//切换当月、当天
switchDayOrMonth(index) {
@@ -218,7 +231,14 @@ export default {
* 查询机构下拉列表
* manageCode, manageLv传空查全国所有二级机构
**/
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let resData = await getBranchByUser({})
this.$toast.clear()
if (resData.result != '0') return this.$toast(resData.resultMessage)
this.manageLv = resData.content.level
//当前token查不出机构时,展示敬请期待
@@ -275,6 +295,12 @@ export default {
},
// 查询列表数据
queryOutOrderListFunc() {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
queryOutOrderList({
dateFlag: this.dateFlag,
appntDate: this.postDate,
@@ -284,6 +310,7 @@ export default {
pageNum: this.pageNum,
pageSize: this.pageSize
}).then(res => {
this.$toast.clear()
if (res.result == 0) {
if (res.content) {
this.pageNum++
@@ -388,16 +415,6 @@ export default {
this.queryOutOrderListFunc()
}
},
created() {
let date = new Date()
let month = date.getMonth() + 1
if (month <= 9) {
month = '0' + month
}
//默认展示当天数据
this.postDate = date.getFullYear() + '-' + month + '-' + date.getDate()
this.initData()
}
}
</script>

View File

@@ -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'

View File

@@ -64,9 +64,9 @@ export default {
needGettingKey: ['name', 'ysbb', 'ysjs', 'bzbf', 'cbjs'],
tableColumns: [
{ name: '机构', key: 'name' },
{ name: '预收标保(万元)', key: 'ysbb' },
{ name: '预收期交(万元)', key: 'ysbb' },
{ name: '预收件数(件)', key: 'ysjs' },
{ name: '承保标保(万元)', key: 'bzbf' },
{ name: '承保期交(万元)', key: 'bzbf' },
{ name: '承保件数(件)', key: 'cbjs' }
],
values: [],

View File

@@ -5,7 +5,7 @@
<div class="header-left">
<van-button>
<img :src="point" />
<span class="ml5 mr5">标保</span>
<span class="ml5 mr5">期交</span>
</van-button>
</div>
<div class="header-center">

View File

@@ -36,7 +36,7 @@ export default {
const res =await getServiceConfig({})
if (res.sections) {
res.sections.forEach(e=>{
if(e.name.indexOf('开门红专区')!=-1){
if(e.name.indexOf('一月专区')!=-1){
this.menuList =e.items;
}
})

View File

@@ -157,8 +157,8 @@ export default {
isGoodStart: '0', // 是否开门红 0-默认
isPersonalInsu: true, // 是否个险渠道
isInner: false,
organizationTheads: ['排名', '机构', '当日预收(标保)', '月预收标保', '日承保标保', '月承保标保'],
performanceTheads: ['排名', '姓名', '营销服务部', '预收保', '承保标保'],
organizationTheads: ['排名', '机构', '当日预收(期交)', '月预收期交', '日承保期交', '月承保期交'],
performanceTheads: ['排名', '姓名', '营销服务部', '预收保', '承保标保'],
organizationData: [],
performanceData: [],
organizationImgUrl: '', // 机构排名图片

View File

@@ -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)

View File

@@ -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

View File

@@ -146,7 +146,7 @@
// 倒计时时间
number: '',
// 定时器时间
time: '2',
time: '10',
// 定时器名称
timer: null,
isOver: false,

View File

@@ -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)"
@@ -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
}
},
//证件起始截止日期
@@ -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') {

View File

@@ -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({

View File

@@ -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;
}

View File

@@ -1766,16 +1766,22 @@ export default {
this.goUrl()
}
} else {
this.faceAuthCount.weixin++
console.log('腾讯人脸识别失败', this.faceAuthCount.weixin, typeof this.faceAuthCount.weixin)
if (this.faceAuthCount.weixin >= this.smsAuthNum) {
if (window.sessionStorage.shareCode == '1') {
this.operaFlag = 'insured'
} else {
this.operaFlag = 'appnt'
}
this.realPeopelCheck()
// this.faceAuthCount.weixin++
// console.log('腾讯人脸识别失败', this.faceAuthCount.weixin, typeof this.faceAuthCount.weixin)
// if (this.faceAuthCount.weixin >= this.smsAuthNum) {
// if (window.sessionStorage.shareCode == '1') {
// this.operaFlag = 'insured'
// } else {
// this.operaFlag = 'appnt'
// }
// this.realPeopelCheck()
// }
if (window.sessionStorage.shareCode == '1') {
this.operaFlag = 'insured'
} else {
this.operaFlag = 'appnt'
}
this.realPeopelCheck()
}
},
async recognition() {

View File

@@ -5,9 +5,9 @@
<div>
<!-- <h2 v-if="activeType=='KMH'" style="text-align:center" class="mb20">指定保单生效日说明</h2> -->
<!-- <h2 v-if="activeType=='SQY'" style="text-align:center" class="mb20">指定保险合同生效日说明</h2> -->
<h2 style="text-align:center" class="mb20">指定保险合同生效说明</h2>
<h2 style="text-align:center" class="mb20">预录投保单承保生效说明</h2>
<p style="text-indent:2rem;" :class="[activeType=='SQY' ? 'fontb' : '']">
尊敬的客户您好以下为指定保险合同生效重要说明请您务必仔细阅读和确认
尊敬的客户您好以下为预录投保单承保生效重要说明请您务必仔细阅读和确认
</p>
<p style="text-indent:2rem;">
<!-- 如您于{{ activeType=='KMH' ? '2020年12月31日':activeType=='SQY'? '2021年5月31日':'' }}(包含当日之前申请投保并交费成功且国富人寿保险股份有限公司以下简称国富人寿
@@ -17,16 +17,17 @@
<span>{{ cvalidateStrToFormat }}</span>零时起生效您交费成功日或签发保单日如在<span>{{ cvalidateStrToFormat }}</span>
包含当日之后保险合同于国富人寿收取首期保险费并签发保险单次日零时起生效 -->
如您于<span>{{ cvalidateStrOneDayOff }}</span>(包含当日前申请投保且支付保险费经国富人寿保险股份有限公司以下简称国富人寿同意并签发保单
<span>{{ cvalidateStrOneDayOff }}</span>(包含当日前签发保单保险合同自{{ cvalidateStrToFormat }}零时起生效{{ cvalidateStrToFormat }}(包含当日后签发保单
保险合同自签发保险单次日零时起生效国富人寿将通过您投保时预留的银行账户转账扣除保险费为顺利承保请您充足银行账户余额
<!-- 如您于<span>{{ cvalidateStrOneDayOff }}</span>(包含当日前申请投保且支付保险费经国富人寿保险股份有限公司以下简称国富人寿同意并签发保单-->
<!-- <span>{{ cvalidateStrOneDayOff }}</span>(包含当日前签发保单保险合同自{{ cvalidateStrToFormat }}零时起生效{{ cvalidateStrToFormat }}(包含当日后签发保单-->
<!-- 保险合同自签发保险单次日零时起生效国富人寿将通过您投保时预留的银行账户转账扣除保险费为顺利承保请您充足银行账户余额-->
本次投保为预录投保申请国富人寿保险股份有限公司以下简称国富人寿将通过您投保时预留的银行账户转账扣除保险费为顺利承保请您充足银行账户余额如您于{{ cvalidateStrOneDayOff }}(包含当日前提交投保申请且完成转账支付经国富人寿同意于{{ cvalidateStrOneDayOff }}(包含当日前签发保单保险合同自{{ cvalidateStrToFormat }}零时起生效如您于{{ cvalidateStrOneDayOff }}(包含当日前提交投保申请{{ cvalidateStrToFormat }}(包含当日完成转账支付经国富人寿同意于{{ cvalidateStrToFormat }}(包含当日后签发保单保险合同自签发保险单次日零时起生效
</p>
<p style="text-indent:2rem;">
国富人寿承担的保险责任从保险合同生效日零时开始签发保险单后国富人寿将电子保单发送至您的电子邮箱
</p>
<p style="text-indent:2rem;">
请您务必仔细阅读保险条款中的犹豫期保险责任责任免除等各项重要容和提示
请您务必仔细阅读保险条款中的犹豫期保险责任责任免除等各项重要容和提示
</p>
</div>
</div>
@@ -34,7 +35,7 @@
<div class="bg-white bottom-btn">
<van-radio-group v-model="radio" class="pb10 pb20 pl30">
<van-radio name="1" @click="click" class="fs14">
<span>本人已详细阅读并同意上述指定保单生效说明 </span>
<span>本人已详细阅读并同意上述预录投保单承保生效说明 </span>
</van-radio>
</van-radio-group>
<van-button type="danger" size="large" :disabled="isDisable" @click="goNext" v-no-more-click="1000">我已阅读并知晓</van-button>
@@ -112,7 +113,7 @@ export default {
let that = this
// {{switchFlag.Time?pageVariable.msg:pageVariable.number}}
that.timeOut()
document.title = '指定保单生效说明'
document.title = '预录投保单承保生效说明'
that.activeType = window.localStorage.getItem('activeType')
// Notify({
// type: 'warning',