Commit 8e72ce58 by Sweet Zhang

联合销售优化以及续期提醒

parent fdcf45d8
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "start",
"problemMatcher": [],
"label": "npm: start",
"detail": "ng serve --host 0.0.0.0 --port 4205 -o"
}
]
}
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -16,12 +16,12 @@ ...@@ -16,12 +16,12 @@
</div> </div>
<div class="contentItem" *ngIf="approveStatus==null || approveStatus=='-1'"> <div class="contentItem" *ngIf="approveStatus==null || approveStatus=='-1'">
<input class="form-control" name="" id="" style="text-align: left;padding: 6px 0;" placeholder="再次输入银行卡号以确认" <input class="form-control" name="" id="" style="text-align: left;padding: 6px 0;" placeholder="再次输入银行卡号以确认"
[(ngModel)]="sureBankAccountId" (blur)="bs(3)" onkeyup="this.value=this.value.replace(/\D/g,'')" [(ngModel)]="sureBankAccountId" (blur)="bs(3)" onkeyup="this.value=this.value.replace(/\D/g,'')"
[disabled]="approveStatus!=null && approveStatus!='-1'" maxlength="19"/> [disabled]="approveStatus!=null && approveStatus!='-1'" maxlength="19"/>
</div> </div>
</div> </div>
<div class="tips"> <div class="tips">
<p>此开户银行和银行卡号将做为于经纪人佣金的支付账号,</p> <p>此开户银行和银行卡号将于经纪人佣金的支付账号,</p>
<p>请您确保正确。</p> <p>请您确保正确。</p>
</div> </div>
</div> </div>
......
<div class="jointSalesContainer"> <div class="jointSalesContainer">
<Tabs <ul class="tabs">
[useOnPan]="true" <li [ngClass]="{actived:index==0}" (click)="onTabClick(0)">待签署</li>
[swipeable]="true" <li [ngClass]="{actived:index==1}" (click)="onTabClick(1)">签署中</li>
[activeTab]="index" <li [ngClass]="{actived:index==2}" (click)="onTabClick(2)">已签署</li>
[page]="3" </ul>
[tabBarActiveTextColor]="'#1B5B99'" <div class="tabPaneContent">
(onTabClick)="onTabClick($event)" <div class="item" *ngIf="index===0">
> <ul *ngFor="let unionSalesItem of unionSalesInfos">
<TabPane [title]="'待签署'"> <li>
<div class="item"> <span>保险公司:</span>
<span>{{unionSalesItem.insurerName}}</span>
</li>
<li>
<span>保险产品:</span>
<span>{{unionSalesItem.productName}}</span>
</li>
<li>
<span>投保人:</span>
<span>{{unionSalesItem.policyholderName}}</span>
</li>
<li>
<span>发送时间:</span>
<span>{{unionSalesItem.sendDate}}</span>
</li>
<li>
<label></label>
<button [routerLink]="['/joint_sales_detail',unionSalesItem.id]">查看</button>
</li>
</ul>
</div>
<div class="item" *ngIf="index===1">
<ul *ngFor="let unionSalesItem of unionSalesInfos"> <ul *ngFor="let unionSalesItem of unionSalesInfos">
<li> <li>
<span>保险公司:</span> <span>保险公司:</span>
...@@ -31,36 +52,8 @@ ...@@ -31,36 +52,8 @@
<button [routerLink]="['/joint_sales_detail',unionSalesItem.id]">查看</button> <button [routerLink]="['/joint_sales_detail',unionSalesItem.id]">查看</button>
</li> </li>
</ul> </ul>
</div>
</TabPane>
<TabPane [title]="'签署中'">
<div class="item">
<ul *ngFor="let unionSalesItem of unionSalesInfos">
<li>
<span>保险公司:</span>
<span>{{unionSalesItem.insurerName}}</span>
</li>
<li>
<span>保险产品:</span>
<span>{{unionSalesItem.productName}}</span>
</li>
<li>
<span>投保人:</span>
<span>{{unionSalesItem.policyholderName}}</span>
</li>
<li>
<span>发送时间:</span>
<span>{{unionSalesItem.sendDate}}</span>
</li>
<li>
<label></label>
<button [routerLink]="['/joint_sales_detail',unionSalesItem.id]">查看</button>
</li>
</ul>
</div> </div>
</TabPane> <div class="item" *ngIf="index===2">
<TabPane [title]="'已签署'">
<div class="item">
<ul *ngFor="let unionSalesItem of unionSalesInfos"> <ul *ngFor="let unionSalesItem of unionSalesInfos">
<li> <li>
<span>保险公司:</span> <span>保险公司:</span>
...@@ -84,7 +77,6 @@ ...@@ -84,7 +77,6 @@
</li> </li>
</ul> </ul>
</div> </div>
</TabPane> </div>
</Tabs>
</div> </div>
.jointSalesContainer{ .jointSalesContainer{
background-color: #f9f9f9; background-color: #f9f9f9;
height: 100%; height: 100%;
ul{ .tabs{
margin-bottom: 10px; margin-bottom: 10px;
padding: 12px 19px; background-color: #fff;
display: flex;
background-color: #fff; background-color: #fff;
li{ li{
height: 30px; height: 40px;
display: flex; line-height: 40px;
justify-content: space-between; padding-left: 22px;
position: relative;
&.actived{
color: #1B5B99;
}
&.actived::after{
position: absolute;
content: '';
width: 55%;
height: 1px;
background-color: #1B5B99;
left: 0;
bottom: 0;
transform: translateX(70%);
}
} }
} }
button{ button{
...@@ -23,5 +38,15 @@ ...@@ -23,5 +38,15 @@
} }
.item{ .item{
margin: 10px 5px; margin: 10px 5px;
ul{
margin-bottom: 10px;
padding: 12px 19px;
background-color: #fff;
li{
height: 30px;
display: flex;
justify-content: space-between;
}
}
} }
} }
...@@ -10,19 +10,19 @@ export class JointSalesComponent implements OnInit { ...@@ -10,19 +10,19 @@ export class JointSalesComponent implements OnInit {
index = 0; index = 0;
unionSalesInfos:Array<any>; unionSalesInfos:Array<any>;
onTabClick(item) { onTabClick(i) {
// console.log('onTabClick', item); // console.log('onTabClick', item);
this.index = i;
let status; let status;
if(item.index==0){ if(i==0){
status = 1; status = 1;
}else if(item.index==1){ }else if(i==1){
status = 2; status = 2;
}else if(item.index==2){ }else if(i==2){
status = 3; status = 3;
} }
this.queryUnionSalesList(status); this.queryUnionSalesList(status);
} }
constructor(private myService:MyService) { } constructor(private myService:MyService) { }
...@@ -36,7 +36,6 @@ export class JointSalesComponent implements OnInit { ...@@ -36,7 +36,6 @@ export class JointSalesComponent implements OnInit {
if(res['success']){ if(res['success']){
this.unionSalesInfos = res['data']['unionSalesInfos']; this.unionSalesInfos = res['data']['unionSalesInfos'];
} }
console.log(res);
}) })
} }
} }
...@@ -74,12 +74,13 @@ export class MenuItemComponent implements OnInit { ...@@ -74,12 +74,13 @@ export class MenuItemComponent implements OnInit {
{ no: 24, subtitle: '目标设置', icon: 'set', path: '', routerLink: 'target',showSubMenu:true }, { no: 24, subtitle: '目标设置', icon: 'set', path: '', routerLink: 'target',showSubMenu:true },
{ no: 21, subtitle: '公司制度', icon: 'management', path: '', routerLink: '',showSubMenu:true }, { no: 21, subtitle: '公司制度', icon: 'management', path: '', routerLink: '',showSubMenu:true },
{ no: 33, subtitle: '佣金政策', icon: 'CommissionPolicy', path: '', routerLink: '',showSubMenu:true }, { no: 33, subtitle: '佣金政策', icon: 'CommissionPolicy', path: '', routerLink: '',showSubMenu:true },
{ no: 12, subtitle: '销售保单', icon: 'policy', path: '', routerLink: '',showSubMenu:true }, { no: 26, subtitle: '投核保知识库', icon: 'ask', path: '', routerLink: 'underwriting_knowledge' ,showSubMenu:true},
{ no: 27, subtitle: '联合销售', icon: 'jointSales', path: '', routerLink: 'joint_sales' ,showSubMenu:true},
{ no: 20, subtitle: '我的客户', icon: 'customer', path: '', routerLink: 'customer',showSubMenu:true }, { no: 20, subtitle: '我的客户', icon: 'customer', path: '', routerLink: 'customer',showSubMenu:true },
{ no: 35, subtitle: '续期提醒', icon: 'renewalReminder', path: '', routerLink: 'renewal_reminder',showSubMenu:true },
{ no: 12, subtitle: '销售保单', icon: 'policy', path: '', routerLink: '',showSubMenu:true },
// { no: 14, subtitle: '我的佣金', icon: 'commission', path: '', routerLink: '',showSubMenu:true }, // { no: 14, subtitle: '我的佣金', icon: 'commission', path: '', routerLink: '',showSubMenu:true },
{ no: 19, subtitle: '薪资单', icon: 'salary', path: '', routerLink: 'salary',showSubMenu:this.isShowSalay }, { no: 19, subtitle: '薪资单', icon: 'salary', path: '', routerLink: 'salary',showSubMenu:this.isShowSalay },
{ no: 26, subtitle: '投核保知识库', icon: 'ask', path: '', routerLink: 'underwriting_knowledge' ,showSubMenu:true},
{ no: 27, subtitle: '联合销售', icon: 'jointSales', path: '', routerLink: 'joint_sales' ,showSubMenu:true},
], ],
isShow: true isShow: true
}, },
......
...@@ -220,3 +220,12 @@ ...@@ -220,3 +220,12 @@
</div> </div>
</div> </div>
<ydlife-alert *ngIf="isNeedAlert" [dialogInfo]="dialogInfo" (popInfo)="getPopInfo()"></ydlife-alert> <ydlife-alert *ngIf="isNeedAlert" [dialogInfo]="dialogInfo" (popInfo)="getPopInfo()"></ydlife-alert>
<!--弹窗提醒 -->
<div class="tipsInfoContainer" *ngIf="viewStatus===0" (click)="closeDialog($event)">
<div class="tipsInfoContent">
<img src="./assets/images/bell.png" alt="" class="bell">
<img src="./assets/images/dialogBg.png" alt="" style="margin-top:-2px">
<div>您有续期保单待处理</div>
<button (click)="viewDetail()">立即查看</button>
</div>
</div>
ul,ol{ ul,
ol {
list-style: none; list-style: none;
} }
.weui-panel{ .weui-panel {
position: relative; position: relative;
.weui-cell__hd { .weui-cell__hd {
i.iconfont { i.iconfont {
background-image: -webkit-gradient(linear, left top, right bottom, from(#ff1c2b), to(#461415)); background-image: -webkit-gradient(
linear,
left top,
right bottom,
from(#ff1c2b),
to(#461415)
);
background-image: linear-gradient(to bottom right, #ff1c2b, #461415); background-image: linear-gradient(to bottom right, #ff1c2b, #461415);
-webkit-background-clip: text; -webkit-background-clip: text;
color: transparent; color: transparent;
...@@ -33,7 +40,6 @@ ul,ol{ ...@@ -33,7 +40,6 @@ ul,ol{
max-width: 100%; max-width: 100%;
height: 100%; height: 100%;
display: block; display: block;
} }
> div { > div {
margin-right: 15px; margin-right: 15px;
...@@ -59,7 +65,8 @@ ul,ol{ ...@@ -59,7 +65,8 @@ ul,ol{
font-weight: 800; font-weight: 800;
} }
} }
.ydTitle, .brokerTag { .ydTitle,
.brokerTag {
// color: #ae9f82; // color: #ae9f82;
border-radius: 6px; border-radius: 6px;
} }
...@@ -73,7 +80,6 @@ ul,ol{ ...@@ -73,7 +80,6 @@ ul,ol{
align-items: center; align-items: center;
margin-right: 5px; margin-right: 5px;
} }
} }
} }
...@@ -85,61 +91,61 @@ ul,ol{ ...@@ -85,61 +91,61 @@ ul,ol{
font-size: 15px; font-size: 15px;
} }
} }
.weui-panel__hd.header{ .weui-panel__hd.header {
// background: -webkit-linear-gradient(left, #696d90, #a1adc7); // background: -webkit-linear-gradient(left, #696d90, #a1adc7);
// background: -o-linear-gradient(left, #696d90, #a1adc7); // background: -o-linear-gradient(left, #696d90, #a1adc7);
// background: -moz-linear-gradient(left, #696d90, #a1adc7); // background: -moz-linear-gradient(left, #696d90, #a1adc7);
// background: -ms-linear-gradient(left, #696d90, #a1adc7); // background: -ms-linear-gradient(left, #696d90, #a1adc7);
// background: linear-gradient(to right, #696d90, #a1adc7); // background: linear-gradient(to right, #696d90, #a1adc7);
} }
.weui-panel__bd{ .weui-panel__bd {
background: #F5F5F5;; background: #f5f5f5;
height: auto; height: auto;
// padding: 0px 8px; // padding: 0px 8px;
img{ img {
width: 100%; width: 100%;
} }
.performance_wrapper{ .performance_wrapper {
border-radius: 8px; border-radius: 8px;
// margin: 5px auto 8px auto; // margin: 5px auto 8px auto;
margin: 0 auto 8px auto; margin: 0 auto 8px auto;
// box-shadow: 0 0px 2.5px #eceaea; // box-shadow: 0 0px 2.5px #eceaea;
position: relative; position: relative;
// background: url('../../../assets/images/top_bg.png') no-repeat ; // background: url('../../../assets/images/top_bg.png') no-repeat ;
background: url('../../../assets/images/bg.png') no-repeat ; background: url("../../../assets/images/bg.png") no-repeat;
background-size: cover; background-size: cover;
.bg{ .bg {
height: 100%; height: 100%;
position: absolute; position: absolute;
z-index: 1; z-index: 1;
} }
.content{ .content {
position: relative; position: relative;
padding: 0px 0px 5px 8px; padding: 0px 0px 5px 8px;
ul{ ul {
list-style: none; list-style: none;
} }
.tab{ .tab {
display: flex; display: flex;
list-style: none; list-style: none;
margin-bottom: 5px; margin-bottom: 5px;
li { li {
margin-right: 15px; margin-right: 15px;
line-height: 38px; line-height: 38px;
height: 38px; height: 38px;
color: #fff; color: #fff;
h3{ h3 {
font-weight: normal; font-weight: normal;
font-size: 16px; font-size: 16px;
} }
} }
li.selected{ li.selected {
h3{ h3 {
font-weight: bold; font-weight: bold;
font-size: 20px; font-size: 20px;
span{ span {
border-bottom: 2px #fff solid; border-bottom: 2px #fff solid;
padding-bottom: 3px; padding-bottom: 3px;
} }
...@@ -154,7 +160,7 @@ ul,ol{ ...@@ -154,7 +160,7 @@ ul,ol{
// } // }
} }
} }
.detail{ .detail {
display: inline-block; display: inline-block;
color: #fff; color: #fff;
text-align: center; text-align: center;
...@@ -168,12 +174,12 @@ ul,ol{ ...@@ -168,12 +174,12 @@ ul,ol{
// background: rgba(0, 0, 0, 0.4); // background: rgba(0, 0, 0, 0.4);
border-top-left-radius: 12px; border-top-left-radius: 12px;
border-bottom-left-radius: 12px; border-bottom-left-radius: 12px;
font-size:14px; font-size: 14px;
} }
.performance_list{ .performance_list {
display: flex; display: flex;
font-size: 14px; font-size: 14px;
li{ li {
width: 15%; width: 15%;
text-align: center; text-align: center;
line-height: 35px; line-height: 35px;
...@@ -181,14 +187,15 @@ ul,ol{ ...@@ -181,14 +187,15 @@ ul,ol{
color: #fff; color: #fff;
margin: 0 5px; margin: 0 5px;
overflow: hidden; overflow: hidden;
&:nth-child(1),&:nth-child(2){ &:nth-child(1),
&:nth-child(2) {
width: 26%; width: 26%;
text-align: right; text-align: right;
} }
&:last-child{ &:last-child {
width: 18%; width: 18%;
} }
.markPrice{ .markPrice {
color: #fff; color: #fff;
font-weight: bold; font-weight: bold;
font-size: 15px; font-size: 15px;
...@@ -197,56 +204,57 @@ ul,ol{ ...@@ -197,56 +204,57 @@ ul,ol{
} }
} }
} }
.part2{ .part2 {
display: flex; display: flex;
margin-bottom: 10px; margin-bottom: 10px;
.part2_item{ .part2_item {
width: 48%; width: 48%;
height: 80px; height: 80px;
display: flex; display: flex;
background: #ECF6FF; background: #ecf6ff;
border-radius: 12px; border-radius: 12px;
padding: 10px; padding: 10px;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
.activities{ .activities {
display: flex; display: flex;
font-size: 14px; font-size: 14px;
li{ li {
width: 33%; width: 33%;
text-align: center; text-align: center;
line-height: 25px; line-height: 25px;
font-size: 12px; font-size: 12px;
overflow: hidden; overflow: hidden;
} }
li.markPrice{ li.markPrice {
font-weight: bold; font-weight: bold;
font-size: 20px; font-size: 20px;
} }
} }
} }
.part2_item.activity_score,.part2_item.todo{ .part2_item.activity_score,
.part2_item.todo {
height: auto; height: auto;
} }
.part2_item:nth-child(1){ .part2_item:nth-child(1) {
margin-right: 2%; margin-right: 2%;
flex-wrap: wrap; flex-wrap: wrap;
} }
.part2_item:nth-child(2){ .part2_item:nth-child(2) {
margin-left: 2%; margin-left: 2%;
} }
.todo{ .todo {
background: #FFF5F5; background: #fff5f5;
div{ div {
width: 50%; width: 50%;
text-align: center; text-align: center;
span{ span {
width: 100%; width: 100%;
display: inline-block; display: inline-block;
margin-bottom: 10px; margin-bottom: 10px;
} }
} }
div.task_list{ div.task_list {
width: 50%; width: 50%;
text-align: center; text-align: center;
display: flex; display: flex;
...@@ -254,24 +262,23 @@ ul,ol{ ...@@ -254,24 +262,23 @@ ul,ol{
align-items: center; align-items: center;
} }
} }
} }
.part3{ .part3 {
position: relative; position: relative;
.part2_item{ .part2_item {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
span{ span {
font-size: 16px; font-size: 16px;
} }
} }
.importantAnnouncement{ .importantAnnouncement {
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 50%; left: 50%;
margin-top: -60px; margin-top: -60px;
margin-left: -60px; margin-left: -60px;
>div{ > div {
width: 120px; width: 120px;
height: 120px; height: 120px;
border-radius: 50%; border-radius: 50%;
...@@ -282,54 +289,51 @@ ul,ol{ ...@@ -282,54 +289,51 @@ ul,ol{
justify-content: center; justify-content: center;
color: #fff; color: #fff;
} }
} }
} }
.notice{ .notice {
background: #FFF; background: #fff;
padding: 0px 0px 0px 10px; padding: 0px 0px 0px 10px;
margin-top: 10px; margin-top: 10px;
div{ div {
display: flex; display: flex;
align-items: center; align-items: center;
color: #737272; color: #737272;
height: 40px; height: 40px;
.iconfont{ .iconfont {
font-size: 30px; font-size: 30px;
} }
} }
} }
.tool_wrapper{ .tool_wrapper {
margin-bottom: 10px; margin-bottom: 10px;
.tool_item{ .tool_item {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
flex-wrap: wrap; flex-wrap: wrap;
background: #fff; background: #fff;
padding: 7px 0px 0px 10px; padding: 7px 0px 0px 10px;
h3{ h3 {
font-size: 16px; font-size: 16px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.tool_content{ .tool_content {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-bottom: 10px; margin-bottom: 10px;
flex-wrap: wrap; flex-wrap: wrap;
.content_item{ .content_item {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
width: 25%; width: 25%;
margin-bottom: 10px; margin-bottom: 10px;
position: relative; position: relative;
img{ img {
max-width: 44%; max-width: 44%;
} }
span{ span {
display: inline-block; display: inline-block;
width: 10px; width: 10px;
height: 10px; height: 10px;
...@@ -339,141 +343,142 @@ ul,ol{ ...@@ -339,141 +343,142 @@ ul,ol{
right: 30%; right: 30%;
top: 10%; top: 10%;
} }
div{ div {
font-size: 13px; font-size: 13px;
} }
@media (max-width: 320px) { @media (max-width: 320px) {
div{ div {
font-size: 12px; font-size: 12px;
} }
} }
} }
@media (min-width: 768px) { @media (min-width: 768px) {
.content_item{ .content_item {
height: 90px; height: 90px;
} }
} }
} }
} }
} }
.tool_wrapper:nth-child(4){ .tool_wrapper:nth-child(4) {
.tool_content{ .tool_content {
padding-bottom: 10px; padding-bottom: 10px;
} }
@media (min-width: 768px) { @media (min-width: 768px) {
.tool_content{ .tool_content {
padding-bottom: 5px; padding-bottom: 5px;
} }
} }
@media (min-width: 320px) { @media (min-width: 320px) {
.tool_content{ .tool_content {
padding-bottom: 0; padding-bottom: 0;
} }
} }
} }
.hotProduct{ .hotProduct {
margin: 10px auto; margin: 10px auto;
background: #fff; background: #fff;
box-shadow: 0 0px 2.5px #eceaea; box-shadow: 0 0px 2.5px #eceaea;
border-radius: 6px; border-radius: 6px;
margin-bottom: 10px; margin-bottom: 10px;
padding: 7px 10px 0px 10px; padding: 7px 10px 0px 10px;
h3{ h3 {
font-weight: normal; font-weight: normal;
font-size: 16px; font-size: 16px;
} }
.media { .media {
position: relative; position: relative;
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: flex-start; align-items: flex-start;
cursor: pointer; cursor: pointer;
padding-bottom: 15px; padding-bottom: 15px;
} }
.media-left { .media-left {
width: 30%; width: 30%;
padding-right: 10px; padding-right: 10px;
.yd_logo { .yd_logo {
padding: 8px; padding: 8px;
background: rgba(114, 209, 196, 0.18); background: rgba(114, 209, 196, 0.18);
margin-top: -5px; margin-top: -5px;
border-bottom-left-radius: 6px; border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px; border-bottom-right-radius: 6px;
}
}
.media-body {
width: 75%;
} }
.summaryBox { }
justify-content: space-between; .media-body {
width: 75%;
}
.summaryBox {
justify-content: space-between;
}
.priceContainer {
width: 100%;
display: flex;
justify-content: space-between;
align-items: flex-end;
line-height: 1;
margin-top: 5px;
span {
font-size: 12px;
color: #e56124;
} }
.priceContainer { .price {
width: 100%;
display: flex; display: flex;
font-size: 22px;
margin-right: 15px;
color: #e56124;
justify-content: space-between; justify-content: space-between;
align-items: flex-end; align-items: flex-end;
line-height: 1;
margin-top: 5px;
span {
font-size: 12px;
color: #e56124;
}
.price {
display: flex;
font-size: 22px;
margin-right: 15px;
color: #e56124;
justify-content: space-between;
align-items: flex-end;
}
}
.media-heading {
display: flex;
justify-content: space-between;
align-items: flex-start;
color: #4a4a4a;
}
h4 {
font-size: 15px;
margin: 0;
width: 85%;
}
.companylogo {
width: 70px;
height: 26px;
margin-top: -1px;
font-size: 12px;
}
.logoBox {
width: 100%;
height: 100%;
display: inline-block;
} }
}
.media-heading {
display: flex;
justify-content: space-between;
align-items: flex-start;
color: #4a4a4a;
}
h4 {
font-size: 15px;
margin: 0;
width: 85%;
}
.companylogo {
width: 70px;
height: 26px;
margin-top: -1px;
font-size: 12px;
}
.logoBox {
width: 100%;
height: 100%;
display: inline-block;
}
} }
.health_wrapper{ .health_wrapper {
background: #fff; background: #fff;
box-shadow: 0 0px 2.5px #eceaea; box-shadow: 0 0px 2.5px #eceaea;
// border-radius: 6px; // border-radius: 6px;
margin-bottom: 10px; margin-bottom: 10px;
padding: 7px 10px 10px 10px; padding: 7px 10px 10px 10px;
h3{ h3 {
font-weight: normal; font-weight: normal;
font-size: 16px; font-size: 16px;
margin-bottom:8px; margin-bottom: 8px;
} }
} }
} }
#medical{ #medical {
border-radius: 5px; border-radius: 5px;
box-shadow: 0 0px 10px #e4e3e3; box-shadow: 0 0px 10px #e4e3e3;
image-rendering: -moz-crisp-edges; /* Firefox */ image-rendering: -moz-crisp-edges; /* Firefox */
image-rendering: -o-crisp-edges; /* Opera */ image-rendering: -o-crisp-edges; /* Opera */
image-rendering: -webkit-optimize-contrast; /*Webkit (non-standard naming) */ image-rendering: crisp-edges; image-rendering: -webkit-optimize-contrast; /*Webkit (non-standard naming) */
image-rendering: crisp-edges;
-ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */ -ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */
} }
.thankWrapper{ .thankWrapper {
width: 95%; width: 95%;
height: 50%; height: 50%;
margin: 0 auto; margin: 0 auto;
...@@ -485,3 +490,46 @@ ul,ol{ ...@@ -485,3 +490,46 @@ ul,ol{
text-align: center; text-align: center;
} }
} }
.tipsInfoContainer {
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
position: fixed;
left: 0;
top: 0;
.tipsInfoContent {
position: relative;
width: 85%;
padding-bottom: 10px;
margin: 0 auto;
background: #fff;
border-radius: 10px;
margin-top: 50%;
text-align: center;
color: #1b5b99;
max-width: 500px;
div{
font-size: 20px;
margin-bottom: 30px;
margin-top: 20px;
}
button {
background: #1b5b99;
color: #fff;
width: 142px;
height: 33px;
line-height: 33px;
text-align: center;
border:none;
outline:none;
border-radius:35px;
}
.bell{
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%,-50%);
width: 30px
}
}
}
...@@ -41,6 +41,8 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit { ...@@ -41,6 +41,8 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
showSubMenu:boolean; showSubMenu:boolean;
//初始化不显示面板数据 //初始化不显示面板数据
isShowDashBoardData:boolean = true; isShowDashBoardData:boolean = true;
// 0是未看 1是已看 2是没有续保数据
viewStatus:number;
constructor( constructor(
private router: Router, private router: Router,
public lifeCommonService: LifeCommonService, public lifeCommonService: LifeCommonService,
...@@ -51,6 +53,7 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit { ...@@ -51,6 +53,7 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
} }
ngOnInit() { ngOnInit() {
this.viewStatus = sessionStorage.getItem('hadView') ? 1 : 0;
const title = this.activatedRoute.snapshot.data[0]['title']; const title = this.activatedRoute.snapshot.data[0]['title'];
this.lifeCommonService.setTitle(title); this.lifeCommonService.setTitle(title);
this.deviceType = this.lifeCommonService.checkDeviceType(); this.deviceType = this.lifeCommonService.checkDeviceType();
...@@ -71,10 +74,23 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit { ...@@ -71,10 +74,23 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
this.queryScheduleTrackList(); this.queryScheduleTrackList();
//活动量得分查询 //活动量得分查询
this.queryPEPScore(); this.queryPEPScore();
// 查询是否有续期提醒订单
if(this.viewStatus===0){
this.queryNoticeList();
}
} }
closeDialog(e){
if(e.target.className==='tipsInfoContainer'){
this.viewStatus = 1;
sessionStorage.setItem('hadView','true')
}
}
viewDetail(){
this.viewStatus = 1;
sessionStorage.setItem('hadView','true');
this.router.navigate(['/renewal_reminder'])
}
ngAfterViewInit() { ngAfterViewInit() {
// setTimeout(() => { // setTimeout(() => {
// this.firstAnnouncementTitle = this.getStr(this.hide.nativeElement.innerText, '32') // this.firstAnnouncementTitle = this.getStr(this.hide.nativeElement.innerText, '32')
...@@ -272,6 +288,19 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit { ...@@ -272,6 +288,19 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
window.location.href = `https://h5.futurebaobei.com/h5/product/detail/7?channel=yindun&channelStaff=${this.lifeCustomerInfo.practitionerId}` window.location.href = `https://h5.futurebaobei.com/h5/product/detail/7?channel=yindun&channelStaff=${this.lifeCustomerInfo.practitionerId}`
} }
// 获取是否有续期提醒订单
queryNoticeList(){
this.myService.queryNoticeList({practitionerId:this.lifeCustomerInfo.practitionerId,status:0}).subscribe(res=>{
if(res['success']){
if(res['data']['list'] && res['data']['list'].length > 0){
}else{
this.viewStatus = 2;
}
}
})
}
} }
...@@ -36,6 +36,7 @@ export class MySettingComponent implements OnInit { ...@@ -36,6 +36,7 @@ export class MySettingComponent implements OnInit {
this.myService.erpLogout(objParam).subscribe((res)=>{ this.myService.erpLogout(objParam).subscribe((res)=>{
if(res['success']){ if(res['success']){
localStorage.removeItem('lifeCustomerInfo'); localStorage.removeItem('lifeCustomerInfo');
sessionStorage.removeItem('hadView');
this.router.navigate(['/login']); this.router.navigate(['/login']);
}else{ }else{
alert(res['message']) alert(res['message'])
......
<div class="renewalReminderDetailContainer"> <div class="renewalReminderDetailContainer">
<div class="cardContent"> <div class="cardContent">
<div class="leftSection"> <div class="leftSection">
<h4>预计扣费时间:{{orderPayDetail.payableDate}}</h4> <h4>预计扣费时间:{{orderPayDetail?.payableDate | date:'yyyy-MM-dd'}}</h4>
<p>{{orderPayDetail.payStatus===1 ? '保费未划扣' : '保费已划扣'}}</p> <p>{{orderPayDetail?.payStatus=='1' ? '保费未划扣' : '保费已划扣'}}</p>
</div> </div>
<div class="rightSection"> <div class="rightSection">
<p><strong>{{orderPayDetail.payPeriod}}</strong></p> <p><strong>{{orderPayDetail?.payPeriod}}</strong></p>
<p>续期保费</p> <p>续期保费</p>
</div> </div>
</div> </div>
<div class="tabPaneItem"> <div class="tabPaneItem">
<h4> <h4>
<span>保险名称{{orderPayDetail.productName}}</span> <span>保险名称{{orderPayDetail?.productName}}</span>
<span></span> <span></span>
</h4> </h4>
<ul> <ul>
<li><span>保险公司:</span><span>{{orderPayDetail.productName}}</span></li> <li><span>保险公司:</span><span>{{orderPayDetail?.insurerName}}</span></li>
<li><span>保单号:</span><span>{{orderPayDetail.policyNo}}</span></li> <li><span>保单号:</span><span>{{orderPayDetail?.policyNo}}</span></li>
<li><span>投保人:</span><span>{{orderPayDetail.policyholderName}}</span></li> <li><span>投保人:</span><span>{{orderPayDetail?.policyholderName}}</span></li>
<li><span>被保人:</span><span>{{orderPayDetail.insuredName}}</span></li> <li><span>被保人:</span><span>{{orderPayDetail?.insuredName}}</span></li>
<li><span>缴费期:</span><span>{{orderPayDetail.paymentTerm}}</span></li> <li><span>缴费期:</span><span>{{orderPayDetail?.paymentTerm}}</span></li>
<li><span>保费:</span><span style="color: #F24949;">{{orderPayDetail.annualizedPremium | number:'1.2-2'}}</span></li> <li><span>保费:</span><span style="color: #F24949;">{{orderPayDetail?.annualizedPremium | number:'1.2-2'}}</span></li>
<li><span>保障期:</span><span>{{orderPayDetail.coverTerm}}</span></li> <li><span>保障期:</span><span>{{orderPayDetail?.coverTerm}}</span></li>
</ul> </ul>
</div> </div>
<div class="paymentInfoContent tabPaneItem"> <div class="paymentInfoContent tabPaneItem">
<ul> <ul>
<li><span>年化保费:</span><span>{{orderPayDetail.annualizedPremium | number:'1.2-2'}}</span></li> <li><span>年化保费:</span><span>{{orderPayDetail?.annualizedPremium | number:'1.2-2'}}</span></li>
<li><span>缴费期间:</span><span>{{orderPayDetail.paymentTerm}}</span></li> <li><span>缴费期间:</span><span>{{orderPayDetail?.paymentTerm}}</span></li>
<li><span>本期扣费时间:</span><span>{{orderPayDetail.payableDate}}</span></li> <li><span>本期扣费时间:</span><span>{{orderPayDetail?.payableDate | date:'yyyy-MM-dd'}}</span></li>
</ul> </ul>
</div> </div>
<div class="remindContent" *ngIf="type===1"> <div class="remindContent" *ngIf="type===1">
...@@ -36,16 +36,16 @@ ...@@ -36,16 +36,16 @@
<ul> <ul>
<li (click)="shareSelect(1)"> <li (click)="shareSelect(1)">
<div> <div>
<img src="../../../assets/images/smsIcon.png" alt=""> <img src="./assets/images/smsIcon.png" alt="">
</div> </div>
<div>短信通知</div> <div>短信通知</div>
</li> </li>
<li (click)="shareSelect(2)" *ngIf="deviceType == 3"> <li (click)="shareSelect(2)" *ngIf="deviceType == 3">
<div> <img src="../../../assets/images/wechatIcon.png" alt=""></div> <div> <img src="./assets/images/wechatIcon.png" alt=""></div>
<div>微信通知</div> <div>微信通知</div>
</li> </li>
<li (click)="shareSelect(3)"> <li (click)="shareSelect(3)">
<div> <img src="../../../assets/images/telIcon.png" alt=""></div> <div> <img src="./assets/images/telIcon.png" alt=""></div>
<div>电话通知</div> <div>电话通知</div>
</li> </li>
</ul> </ul>
...@@ -56,10 +56,10 @@ ...@@ -56,10 +56,10 @@
<div class="popContent" *ngIf="noticeType!==2"> <div class="popContent" *ngIf="noticeType!==2">
<div class="closeBtn" (click)="close($event)">&times;</div> <div class="closeBtn" (click)="close($event)">&times;</div>
<div class="telContent"> <div class="telContent">
<div><span>姓名:</span><span>{{orderPayDetail.policyholderName}}</span></div> <div><span>姓名:</span><span style="color:#999">{{orderPayDetail.policyholderName}}</span></div>
<div><span>电话:</span><span>{{orderPayDetail.policyholderMobile}}</span></div> <div><span>电话:</span><span style="color:#999">{{orderPayDetail.policyholderMobile}}</span></div>
<div *ngIf="noticeType===1"> <div *ngIf="noticeType===1" style="color:#999;text-indent:24px;">
{{orderPayDetail.noticeList[0].content}} 尊敬的{{orderPayDetail.policyholderName}}您好,你在{{orderPayDetail.insurerName}}公司投保的{{orderPayDetail.productName}}产品,快到第{{orderPayDetail.payPeriod}}期续交保费了,当期保费{{orderPayDetail.annualizedPremium | number:'1.2-2'}}元,请在预留的银行卡准备好相应金额,避免保单失效和造成损失。谢谢!任何问题可以随时联络您的经纪人提供帮助。
</div> </div>
<div class="button" *ngIf="noticeType===3"><a href="tel:{{orderPayDetail.policyholderMobile}}">拨打电话</a></div> <div class="button" *ngIf="noticeType===3"><a href="tel:{{orderPayDetail.policyholderMobile}}">拨打电话</a></div>
<div class="button" *ngIf="noticeType===1" (click)="addNotice()"><a href="javascript:;">发送信息</a></div> <div class="button" *ngIf="noticeType===1" (click)="addNotice()"><a href="javascript:;">发送信息</a></div>
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
align-items: center; align-items: center;
strong{ strong{
color: #F24949; color: #F24949;
font-size: 15px; font-size: 20px;
} }
} }
} }
......
...@@ -21,6 +21,7 @@ export class RenewalReminderDetailComponent implements OnInit { ...@@ -21,6 +21,7 @@ export class RenewalReminderDetailComponent implements OnInit {
isNeedAlert: boolean; isNeedAlert: boolean;
dialogInfo: any; dialogInfo: any;
deviceType:number; deviceType:number;
sendContent:string;
shareSelect(type){ shareSelect(type){
this.noticeType = type; this.noticeType = type;
this.dialogDisabled = true; this.dialogDisabled = true;
...@@ -37,6 +38,7 @@ export class RenewalReminderDetailComponent implements OnInit { ...@@ -37,6 +38,7 @@ export class RenewalReminderDetailComponent implements OnInit {
this.deviceType = this.lifeCommonService.checkDeviceType(); this.deviceType = this.lifeCommonService.checkDeviceType();
this.orderPayId = this.route.snapshot.params['orderPayId']; this.orderPayId = this.route.snapshot.params['orderPayId'];
this.type = this.route.snapshot.data.type; this.type = this.route.snapshot.data.type;
this.practitionerId = localStorage.getItem('lifeCustomerInfo')?JSON.parse(localStorage.getItem('lifeCustomerInfo'))['practitionerId']:null;
this.queryNoticeDetail(); this.queryNoticeDetail();
} }
...@@ -44,6 +46,7 @@ export class RenewalReminderDetailComponent implements OnInit { ...@@ -44,6 +46,7 @@ export class RenewalReminderDetailComponent implements OnInit {
this.myService.queryNoticeDetail({orderPayId:this.orderPayId}).subscribe(res=>{ this.myService.queryNoticeDetail({orderPayId:this.orderPayId}).subscribe(res=>{
if(res['success']){ if(res['success']){
this.orderPayDetail = res['data']['orderPayDetail']; this.orderPayDetail = res['data']['orderPayDetail'];
this.content = ` 尊敬的${this.orderPayDetail.policyholderName}您好,你在${this.orderPayDetail.insurerName}公司投保的${this.orderPayDetail.productName}产品,快到第${this.orderPayDetail.payPeriod}期续交保费了,当期保费${this.orderPayDetail.annualizedPremium}元,请在预留的银行卡准备好相应金额,避免保单失效和造成损失。谢谢!任何问题可以随时联络您的经纪人提供帮助。`
}else{ }else{
this.openPopInfo(res['message']); this.openPopInfo(res['message']);
} }
...@@ -57,7 +60,7 @@ export class RenewalReminderDetailComponent implements OnInit { ...@@ -57,7 +60,7 @@ export class RenewalReminderDetailComponent implements OnInit {
} }
wxShare(){ wxShare(){
this.lifeCommonService.wxShare('续保提醒','保险续保提醒',`${window.location.origin}/reminder_detail/${this.orderPayId}`,''); this.lifeCommonService.wxShare('保单续期提醒','来自经纪人的温馨提醒,您有保单快到续期交费日期,点击看看以免忘记,避免损失。',`${window.location.origin}/ydLife/reminder_detail/${this.orderPayId}`,`${window.location.origin}/ydLife/assets/images/productData/protect.png`);
} }
// 打开弹窗 // 打开弹窗
......
...@@ -4,13 +4,14 @@ ...@@ -4,13 +4,14 @@
<li [ngClass]="{actived:index==1}" (click)="selectTab(1)">已通知</li> <li [ngClass]="{actived:index==1}" (click)="selectTab(1)">已通知</li>
</ul> </ul>
<div class="tabPaneContent"> <div class="tabPaneContent">
<h3 *ngIf="!lists" style="text-align:center;margin-top:10%;font-size:18px">暂无数据</h3>
<div class="tabPaneItem" *ngFor="let item of lists"> <div class="tabPaneItem" *ngFor="let item of lists">
<h4> <h4>
<span>保险名称{{item.productName}}</span> <span>保险名称{{item.productName}}</span>
<span>第{{item.payPeriod}}年续期保费</span> <span>第{{item.payPeriod}}年续期保费</span>
</h4> </h4>
<ul> <ul>
<li><span>保险公司:</span><span>{{item.payPeriod}}</span></li> <li><span>保险公司:</span><span>{{item.insurerName}}</span></li>
<li><span>保单号:</span><span>{{item.policyNo}}</span></li> <li><span>保单号:</span><span>{{item.policyNo}}</span></li>
<li><span>投保人:</span><span>{{item.policyholderName}}</span></li> <li><span>投保人:</span><span>{{item.policyholderName}}</span></li>
<li><span>被保人:</span><span>{{item.insuredName}}</span></li> <li><span>被保人:</span><span>{{item.insuredName}}</span></li>
......
...@@ -32,14 +32,19 @@ ...@@ -32,14 +32,19 @@
h4{ h4{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: baseline;
padding: 6px 11px 10px 18px; padding: 6px 11px 10px 18px;
>span:first-child{ >span:first-child{
font-size: 15px; font-size: 15px;
color: #333; color: #333;
flex:1;
} }
>span:last-child{ >span:last-child{
color: #F24949; color: #F24949;
font-size: 12px; font-size: 12px;
width: 100px;
white-space: nowrap;
text-align: right;
} }
} }
ul{ ul{
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { MyService } from '../my.service'; import { MyService } from '../my.service';
@Component({ @Component({
...@@ -7,16 +8,21 @@ import { MyService } from '../my.service'; ...@@ -7,16 +8,21 @@ import { MyService } from '../my.service';
styleUrls: ['./renewal-reminder.component.scss'] styleUrls: ['./renewal-reminder.component.scss']
}) })
export class RenewalReminderComponent implements OnInit { export class RenewalReminderComponent implements OnInit {
index:number = 1; index:number = 0;
practitionerId:number; practitionerId:number;
lists:Array<any>; lists:Array<any>;
selectTab(i){ selectTab(i){
this.index = i; this.index = i;
this.queryNoticeList();
this.router.navigate(['/renewal_reminder'], {queryParams:{i:this.index}});
}
constructor(private myService:MyService,private route:ActivatedRoute,private router:Router) {
this.index = this.route.snapshot.queryParams['i'] ? this.route.snapshot.queryParams['i'] : 0;
} }
constructor(private myService:MyService) { }
ngOnInit() { ngOnInit() {
this.practitionerId = localStorage.getItem('lifeCustomerInfo')?JSON.parse(localStorage.getItem('lifeCustomerInfo'))['practitionerId']:null; this.practitionerId = localStorage.getItem('lifeCustomerInfo')?JSON.parse(localStorage.getItem('lifeCustomerInfo'))['practitionerId']:null;
this.queryNoticeList()
} }
queryNoticeList(){ queryNoticeList(){
......

1.1 KB | W: | H:

2.52 KB | W: | H:

src/assets/images/jointSales.png
src/assets/images/jointSales.png
src/assets/images/jointSales.png
src/assets/images/jointSales.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment