Commit c0a36a7a by sunchao

解决冲突

parents a343204d 83aeb5a9
......@@ -2,3 +2,7 @@
<router-outlet></router-outlet>
<ydlife-guide-page *ngIf="shareGuidePageEnable"></ydlife-guide-page>
<ydlife-alert *ngIf="isNeedAlert" [dialogInfo]="dialogInfo" (popInfo)="getPopInfo()"></ydlife-alert>
<div class="returnIndexBox" *ngIf="isShowIndexBtn" appDrag>
<div><i class="iconfont icon-shouye"></i></div>
<div>首页</div>
</div>
\ No newline at end of file
......@@ -2,6 +2,8 @@ import { Component, OnDestroy, OnInit } from '@angular/core';
import { AuthService } from "./auth/auth.service";
import { LifeCommonService } from "./common/life-common.service";
import { Subscription } from "rxjs/index";
import {Router, NavigationStart} from '@angular/router';
declare var wx: any;
@Component({
selector: 'app-root',
......@@ -14,8 +16,9 @@ export class AppComponent implements OnInit, OnDestroy {
currentVersion: any;
isNeedAlert: boolean;
dialogInfo: any;
constructor(private authService: AuthService, private lifeCommonService: LifeCommonService) {
// 是否显示首页浮标
isShowIndexBtn: boolean;
constructor(private router: Router,private authService: AuthService, private lifeCommonService: LifeCommonService) {
this.subscription = lifeCommonService.shareStatus$.subscribe(status => {
this.shareGuidePageEnable = status == '1';
});
......@@ -30,6 +33,12 @@ export class AppComponent implements OnInit, OnDestroy {
});
this.getVersion();
this.router.events.forEach((event) => {
if (event instanceof NavigationStart) {
// 控制首页浮标显示与否
this.isShowIndexBtn = event.url == '/approval_list';
}
});
}
ngOnDestroy() {
......
......@@ -13,13 +13,14 @@ import { DatePipe } from "@angular/common";
import { SafeHtmlPipe } from './safe-html.pipe';
import { LocalStorage } from './domain/local.storage';
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { DragDirective } from './directive/drag.directive';
@NgModule({
declarations: [
AppComponent,
PageNotFoundComponent,
SafeHtmlPipe
SafeHtmlPipe,
DragDirective
],
imports: [
BrowserModule,
......
import {Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2} from '@angular/core';
@Directive({
selector: '[appAutoFixed]'
})
export class AutoFixedDirective {
// 元素距离顶部的原始距离
toTop: number = 0;
// 吸顶元素
toTopElement: any;
// 吸顶元素id
// tslint:disable-next-line:no-input-rename
@Input('appAutoFixed') selector: string = '';
@Output() updateTabMenuId = new EventEmitter<string>();
@HostListener('scroll', ['$event'])
onScroll($event: Event) {
if (this.er.nativeElement.scrollTop >= this.toTop) {
this.renderer2.addClass(this.toTopElement, 'autofixed');
} else {
this.renderer2.removeClass(this.toTopElement, 'autofixed');
}
this.updateTabMenuId.emit(this.er.nativeElement.scrollTop);
}
constructor(private er: ElementRef, private renderer2: Renderer2) {
setTimeout(() => {
this.toTopElement = this.er.nativeElement.querySelector('#' + this.selector);
this.toTop = this.toTopElement.offsetTop;
}, 1000);
}
}
import {Directive, ElementRef, OnInit, HostListener} from '@angular/core';
import {Router} from '@angular/router';
@Directive({
selector: '[appDrag]'
})
export class DragDirective implements OnInit {
isDown = false;
cur: any = {
x: 0,
y: 0
}; // 记录鼠标点击事件的位置
disX: number; // 鼠标移动的X轴距离
disY: number; // 鼠标移动的Y轴距离
offsetX: number; // 元素的左偏移量
offsetY: number; // 元素的上偏移量
pageX: number; // 当前页面的X轴距离
pageY: number; // 当前页面的Y轴距离
x: number; // 元素移动之后的X轴位置
y: number; // 元素移动之后的Y轴位置
constructor(public el: ElementRef, private router: Router) {
}
// 点击事件
@HostListener('touchstart', ['$event'])
ontouchstart(event) {
this.start(event);
}
// 监听document移动事件事件
@HostListener('document:touchmove', ['$event'])
ontouchmove(event) {
// 判断该元素是否被点击了。
this.move(event)
}
// 监听document离开事件
@HostListener('document:touchend', ['$event'])
ontouchend(event) {
// 只用当元素移动过了,离开函数体才会触发。
this.end();
}
@HostListener('mouseup', ['$event'])
onMouseup(event) {
// 只用当元素移动过了,离开函数体才会触发。
this.router.navigate(['/']);
}
ngOnInit() {
}
// 点击开始移动
start(event) {
this.isDown = true;
let touch;
if (event.touches) {
touch = event.touches[0];
} else {
touch = event;
}
this.disX = this.disY = 0;
this.cur.x = touch.clientX;
this.cur.y = touch.clientY;
this.pageX = document.body.clientWidth;
this.pageY = document.body.clientHeight;
this.offsetX = this.el.nativeElement.offsetLeft;
this.offsetY = this.el.nativeElement.offsetTop;
}
// 移动
move(event) {
// 阻止页面的滑动默认事件
event.preventDefault();
if (this.isDown) {
let touch;
if (event.touches) {
touch = event.touches[0];
} else {
touch = event;
}
this.disX = touch.clientX - this.cur.x;
this.disY = touch.clientY - this.cur.y;
this.x = this.offsetX + this.disX;
this.y = this.offsetY + this.disY;
if (this.x < 0) {
this.x = 0
}
if (this.x > document.body.clientWidth - 60) {
this.x = document.body.clientWidth - 60;
}
if (this.y < 0) {
this.y = 0
}
if (this.y > document.body.clientHeight - 120) {
this.y = document.body.clientHeight - 120;
}
this.el.nativeElement.style.left = this.x + 'px';
this.el.nativeElement.style.top = this.y + 'px';
}
}
// 鼠标释放
end() {
this.isDown = false;
if (this.disX !== 0 || this.disY !== 0) {
if (parseInt(this.el.nativeElement.style.left, 0) < document.body.clientWidth / 2) {
this.el.nativeElement.style.left = '0px';
} else {
this.el.nativeElement.style.left = 'calc(100% - 70px)';
}
return;
} else {
// 阻止点透事件
setTimeout(() => {
this.router.navigate(['/'])
}, 300)
}
}
}
......@@ -59,7 +59,6 @@ export class AddTaskComponent implements OnInit {
{label: '23:00',value:35},{label: '23:30',value:36},
{label: '00:00',value:37}
];
// console.log(this.router.getCurrentNavigation().extras.state)
// this.taskInfo = this.router.getCurrentNavigation().extras.state;
this.taskInfo =JSON.parse(localStorage.getItem('taskInfo'));
}
......
......@@ -6,7 +6,7 @@
<div class="content">
<div class="contentDetail employ">
<div class="contentItem">
<input class="form-control" name="" id="" placeholder="开户行" [(ngModel)]="bankAccountOpening"
<input class="form-control" name="" id="" placeholder="开户行具体到支行" [(ngModel)]="bankAccountOpening"
(blur)="bs()" [disabled]="approvalIdentity || approveStatus!=null" />
</div>
<div class="contentItem">
......@@ -15,7 +15,7 @@
[disabled]="approvalIdentity || approveStatus!=null"/>
</div>
<div class="contentItem" style="border:none;" *ngIf="!approvalIdentity">
<div class="contentItem" *ngIf="!approvalIdentity">
<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,'')"
[disabled]="approveStatus!=null" maxlength="19"/>
......
.wrapper {
font-size: 15px;
font-size: 18px;
background: #fff;
min-height: 100%;
......@@ -16,7 +16,7 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
font-size: 20px;
div {
display: flex;
align-items: center;
......@@ -51,7 +51,7 @@
box-shadow: none;
display: flex;
flex-wrap: wrap;
font-size: 16px;
font-size: 18px;
padding: 6px 0;
}
......
.wrapper {
font-size: 15px;
font-size: 18px;
background: #fff;
min-height: 100%;
select{
......@@ -11,7 +11,7 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
font-size: 20px;
div {
display: flex;
align-items: center;
......@@ -47,7 +47,7 @@
box-shadow: none;
display: flex;
flex-wrap: wrap;
font-size: 16px;
font-size: 18px;
}
select.form-control{
......
......@@ -63,10 +63,8 @@ export class EmployeeBasicInfoComponent implements OnInit {
}
onOk(result: Date) {
console.log(result)
this.editEmployBasicInfo.practitionerBirthdate = this.currentDateFormat(result, 'yyyy-mm-dd');
this.showPractitionerBirthdate = result;
console.log(this.editEmployBasicInfo.practitionerBirthdate)
}
idTypeChange(e){
......
.wrapper {
font-size: 15px;
font-size: 18px;
background: #fff;
min-height: 100%;
......@@ -12,7 +12,7 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
font-size: 20px;
div {
display: flex;
align-items: center;
......@@ -28,6 +28,7 @@
.content{
padding: 10px 5px 60px 5px;
position: relative;
text-align: center;
.contentDetail {
.contentItem {
display: flex;
......@@ -48,7 +49,7 @@
box-shadow: none;
display: flex;
flex-wrap: wrap;
font-size: 16px;
font-size: 18px;
direction: rtl;
}
......
.wrapper {
padding: 10px 10px 0 10px;
font-size: 15px;
font-size: 18px;
background: #fff;
min-height: 100%;
select{
......@@ -11,7 +11,7 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
font-size: 20px;
div {
display: flex;
align-items: center;
......@@ -26,6 +26,7 @@
}
.sub_title{
margin-top: 8px;
font-size: 16px;
span{
font-size: 10px;
}
......@@ -43,7 +44,7 @@
width: 100%;
margin-top: 10px;
color: #999;
font-size: 10px;
font-size: 12px;
text-align: center;
}
.photo{
......
<div class="wrapper">
<div class="title">
<div class="title" *ngIf="!approvalIdentity">
欢迎加入银盾大家庭
</div>
<div class="content">
......@@ -33,4 +33,8 @@
<footer class="fixed" (click)="next()">
确认并下一步
</footer>
<div id="page" *ngIf="approvalIdentity">
<div (click)="goBack()">上一页</div>
<div (click)="viewNext()">下一页</div>
</div>
</div>
\ No newline at end of file
.wrapper {
font-size: 15px;
font-size: 18px;
background: #fff;
min-height: 100%;
.title{
font-size: 15px;
font-size: 20px;
font-weight: bold;
color: #333;
width: 100%;
......@@ -33,7 +33,7 @@
box-shadow: none;
display: flex;
flex-wrap: wrap;
font-size: 16px;
font-size: 18px;
direction: rtl;
}
input[type="date"]{
......
......@@ -11,6 +11,7 @@ export class EmployeeInfoComponent implements OnInit {
hiringBasicInfoId:any;
membership:any;
mobileNo:string;
approvalIdentity:any;
constructor(private activatedRoute: ActivatedRoute,
private router: Router,public lifeCommonService:LifeCommonService,
public myService:MyService) { }
......@@ -18,6 +19,7 @@ export class EmployeeInfoComponent implements OnInit {
ngOnInit() {
const title = this.activatedRoute.snapshot.data[0]['title'];
this.lifeCommonService.setTitle(title);
this.approvalIdentity = this.activatedRoute.snapshot.queryParams.approvalIdentity?this.activatedRoute.snapshot.queryParams.approvalIdentity:null;
this.hiringBasicInfoId = this.activatedRoute.snapshot.queryParams.hiringBasicInfoId?this.activatedRoute.snapshot.queryParams.hiringBasicInfoId:null;
this.mobileNo = this.activatedRoute.snapshot.queryParams.mobileNo?this.activatedRoute.snapshot.queryParams.mobileNo:null;
this.queryWholeInfo(this.hiringBasicInfoId)
......@@ -32,4 +34,12 @@ export class EmployeeInfoComponent implements OnInit {
this.membership = res['data']['hiringMemberShip'];
})
}
goBack(){
history.go(-1)
}
viewNext(){
this.router.navigate(['/employee_basic_info'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId,approvalIdentity:this.approvalIdentity} });
}
}
......@@ -8,10 +8,12 @@
<img src="assets/images/camera.png" alt="" style="width: 29px;height: 29px;margin-bottom: 20px;"/>
<div>点击添加</div>
</div>
<img alt="个人照片" src="{{vxUrl}}" *ngIf="vxUrl" (click)="selectPic()">
<img alt="薪资单" src="{{vxUrl}}" *ngIf="vxUrl" (click)="selectPic()">
<ul class="tips">
<li>如果报聘职阶为A3(业务总监),在最近三年内,至少一年同业所得达18万;</li>
<li>如果报聘职阶为S1(业务高级总监)在最近三年内,至少一年同业所得达48万。</li>
<li>如果报聘职阶为A3(业务总监),在最近三年内,至少一年同业收入达18万;</li>
<li>如果报聘职阶为S1B(营销高级总监)在最近三年内,至少一年同业收入达48万;</li>
<li>如果报聘职阶为S1A(业务高级总监)在最近三年内,至少一年同业收入达60万;</li>
<li>如果报聘职阶为S2(业务合伙人)在最近三年内,至少一年同业收入达100万;</li>
</ul>
</div>
<footer class="fixed" (click)="next()" *ngIf="!approvalIdentity">
......
.wrapper {
font-size: 15px;
font-size: 18px;
background: #fff;
min-height: 100%;
padding: 10px 13px 0 13px;
padding: 10px 13px 56px 13px;
select{
-webkit-appearance: none;
}
......@@ -11,7 +11,7 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
font-size: 20px;
div {
display: flex;
align-items: center;
......@@ -28,7 +28,7 @@
padding: 10px 5px;
position: relative;
.photo_wrapper{
width: 315px;
width: 95%;
min-height: 222px;
margin: 20px auto 0 auto;
text-align: center;
......@@ -43,11 +43,12 @@
color: #333;
}
.tips{
width: 95%;
text-align: left;
font-size: 15px;
margin: 20px auto;
list-style: decimal;
padding-left: 25px;
padding-left: 20px;
margin-top: 40px;
li{
margin: 5px auto;
......
<div class="wrapper">
<img src="assets/images/pass.png" alt="通过" />
<div style="font-size: 18px;font-weight: bold;margin: 15px auto;">您已提交成功</div>
<div style="font-size: 24px;font-weight: bold;margin: 15px auto;">您已提交成功</div>
<p>我们将会在3个工作日完成审核,</p>
<p>辅导人后续将会联系您,</p>
<p>请耐心等待!</p>
<p>一旦审核完成公司将用短信通知您,</p>
<p>请注意查看!</p>
<img src="assets/images/login_logo.png" alt="logo" style="width: 50%;position: absolute;left: 0;right: 0;margin: 0 auto;bottom: 20px;">
</div>
......@@ -2,11 +2,13 @@
width: 100%;
text-align: center;
margin: 0 auto;
img{
width: 30%;
margin-top: 30%;
}
p{
margin: 5px auto;
font-size: 18px;
}
}
\ No newline at end of file
.wrapper {
font-size: 15px;
font-size: 18px;
background: #fff;
min-height: 100%;
padding: 10px 13px 0 13px;
......@@ -11,7 +11,7 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
font-size: 20px;
div {
display: flex;
align-items: center;
......@@ -39,12 +39,12 @@
justify-content: center;
align-items: center;
flex-direction: column;
font-size: 12px;
font-size: 14px;
color: #333;
}
.tips{
text-align: center;
font-size: 11px;
font-size: 12px;
margin: 20px auto;
}
}
......
......@@ -12,7 +12,7 @@
<span class="iconfont icon-gougou" *ngIf="personalStatements.status"></span>
</li>
</ul>
<textarea placeholder="输入报聘" #autofocusFlag [(ngModel)]="everWork" *ngIf="everWorkFlag" class="form-control" cols="10" rows="5"></textarea>
<textarea placeholder="请输入您曾经报聘过的保险机构名称" #autofocusFlag [(ngModel)]="everWork" *ngIf="everWorkFlag" class="form-control" cols="10" rows="5"></textarea>
</div>
<footer class="fixed" (click)="next()" *ngIf="!approvalIdentity">
保存并下一步
......@@ -52,7 +52,9 @@
<div class="toastWrapper toast" *ngIf="isShow">
</div>
<div id="toastContent" *ngIf="isShow" #contract (scroll)="onScroll($event)">
<!-- <div id="toastContent" *ngIf="isShow" #contract (scroll)="onScroll($event)"> -->
<div id="toastContent" *ngIf="isShow" #contract >
<div class="title">
{{curTitle}}
</div>
......
......@@ -95,7 +95,7 @@
position: fixed;
bottom: 0;
width: 100%;
height: 80%;
height: 75%;
left: 0;
right: 0;
margin: 0 auto;
......
......@@ -33,6 +33,7 @@ export class PersonalStatementComponent implements OnInit {
approvalIdentity:any;
approveStatus:any;
agreeBtnShow:boolean = false;
timeCount:number = 5;
constructor(private myService: MyService,
private activatedRoute: ActivatedRoute,
public lifeCommonService: LifeCommonService,
......@@ -102,7 +103,7 @@ export class PersonalStatementComponent implements OnInit {
}else{
personalStatements.status = 1;
}
if(personalStatements.id == '241'){
if(personalStatements.dropOptionCode == 'NO_REGISTER_SAME_TRADE'){
if(personalStatements.status == 1){
this.everWorkFlag = true;
//点击曾经报聘输入报聘自动获取焦点
......@@ -123,7 +124,7 @@ export class PersonalStatementComponent implements OnInit {
for(let i=0;i<this.dropOptionsInfoList.length;i++){
this.dropOptionsInfoList[i]['mdDropOptionName'] = this.dropOptionsInfoList[i]['dropOptionName'];
this.dropOptionsInfoList[i]['mdDropOptionId'] = this.dropOptionsInfoList[i]['id'];
if(this.dropOptionsInfoList[i]['id'] =='241'){
if(this.dropOptionsInfoList[i]['dropOptionCode'] =='NO_REGISTER_SAME_TRADE'){
this.dropOptionsInfoListParam.push({
mdDropOptionName:this.dropOptionsInfoList[i]['dropOptionName'],
mdDropOptionId:this.dropOptionsInfoList[i]['id'],
......@@ -170,10 +171,19 @@ export class PersonalStatementComponent implements OnInit {
readContract(contractItem){
if(!this.approvalIdentity && this.approveStatus==null){
this.agreeBtnShow = false;
if( contractItem.confirmStatus ==1){
contractItem.confirmStatus = 0;
}else{
this.isShow = true;
setTimeout(() => {
let scrollTop = this.toastContent.nativeElement.scrollTop;
if(scrollTop==0){
setTimeout(() => {
this.agreeBtnShow = true;
}, 1000);
}
}, 500);
this.curContract = contractItem.termNote;
this.curTitle = contractItem.termName;
this.curContractId = contractItem.id;
......@@ -233,7 +243,7 @@ export class PersonalStatementComponent implements OnInit {
for(let i=0;i<this.dropOptionsInfoList.length;i++){
this.dropOptionsInfoList[i]['dropOptionName'] = this.dropOptionsInfoList[i]['mdDropOptionName'];
this.dropOptionsInfoList[i]['id'] = this.dropOptionsInfoList[i]['mdDropOptionId'];
if(this.dropOptionsInfoList[i]['status'] == 1 && this.dropOptionsInfoList[i]['id']== '241'){
if(this.dropOptionsInfoList[i]['status'] == 1 && this.dropOptionsInfoList[i]['dropOptionCode']== 'NO_REGISTER_SAME_TRADE'){
this.everWorkFlag = true;
this.everWork = this.dropOptionsInfoList[i]['userInput'];
}else{
......@@ -259,16 +269,16 @@ export class PersonalStatementComponent implements OnInit {
})
}
onScroll(event){
let scrollTop = this.toastContent.nativeElement.scrollTop;
let clientHeight = this.toastContent.nativeElement.clientHeight;
let scrollHeight = this.toastContent.nativeElement.scrollHeight ;
if(scrollHeight > clientHeight && scrollTop + clientHeight === scrollHeight) {
setTimeout(() => {
this.agreeBtnShow = true;
}, 10000);
}
}
// onScroll(event){
// let scrollTop = this.toastContent.nativeElement.scrollTop;
// let clientHeight = this.toastContent.nativeElement.clientHeight;
// let scrollHeight = this.toastContent.nativeElement.scrollHeight ;
// if(scrollHeight > clientHeight && scrollTop + clientHeight === scrollHeight) {
// setTimeout(() => {
// this.agreeBtnShow = true;
// }, 5000);
// }
// }
viewNext(){
if(this.type == 'personal_statement'){
......@@ -282,4 +292,19 @@ export class PersonalStatementComponent implements OnInit {
goBack(){
history.go(-1)
}
startCount(){
// if(!this.timer){
// this.count = TIME_COUNT;
// this.timer = setInterval(()=>{
// if(this.count > 0 && this.count <= TIME_COUNT){
// this.count--;
// }else{
// clearInterval(this.timer);
// this.timer = null;
// }
// },1000)
// }
}
}
......@@ -32,7 +32,6 @@ export class RegisterComponent implements OnInit {
const title = this.activatedRoute.snapshot.data[0]['title'];
this.lifeCommonService.setTitle(title);
this.hiringBasicInfoId = this.activatedRoute.snapshot.queryParams.hiringBasicInfoId?this.activatedRoute.snapshot.queryParams.hiringBasicInfoId:null;
console.log(this.hiringBasicInfoId)
}
inputBlur() {
......
......@@ -22,5 +22,8 @@
<div (click)="goBack()">上一页</div>
<div (click)="viewNext()">下一页</div>
</div>
<footer class="fixed" *ngIf="approvalIdentity && viewApprovalInfo!=0" (click)="returnResult()">
返回审批结果
</footer>
</div>
<ydlife-alert *ngIf="isNeedAlert" [dialogInfo]="dialogInfo" (popInfo)="getPopInfo()"></ydlife-alert>
\ No newline at end of file
......@@ -20,6 +20,7 @@
.signature_action{
display: flex;
justify-content: space-evenly;
img{max-width: 74.52px;max-height: 74.52px;}
margin-top: 20px;
img{max-width: 60px;max-height: 60px;}
}
}
\ No newline at end of file
......@@ -33,13 +33,13 @@ export class SignatureComponent implements OnInit {
ngOnInit() {
this.approvalIdentity = this.activatedRoute.snapshot.queryParams.approvalIdentity?this.activatedRoute.snapshot.queryParams.approvalIdentity:null;
this.signaturePadOptions = {
minWidth: 2,
maxWidth: 5,
minWidth: 0.5,
maxWidth: 3,
dotSize: 1.5,
penColor: "#333",
/* INVERSE BECAUSE IT IS SHOW ONLY IN LANDSCAPE */
canvasWidth: document.body.clientWidth-26,
canvasHeight: 400,
canvasHeight: 280,
// backgroundColor:"rgb(248 248 248)"
}
const title = this.activatedRoute.snapshot.data[0]['title'];
......@@ -90,6 +90,7 @@ export class SignatureComponent implements OnInit {
this.approveStatus = res['data']['hiringBasicInfo']['approveStatus'];
if(res['data']['hiringBasicInfo']['personalSignOssPath']){
this.imgStr = res['data']['hiringBasicInfo']['personalSignOssPath'];
//控制查询的图片显示
this.isSignatureShow = true;
}else{
this.isSignatureShow = false;
......@@ -128,6 +129,10 @@ export class SignatureComponent implements OnInit {
if(this.isSignatureShow == true){
this.isSignatureShow = false;
this.signaturePad.clear();
}else{
if(!this.approvalIdentity){
this.signaturePad.clear();
}
}
}
......@@ -138,4 +143,9 @@ export class SignatureComponent implements OnInit {
goBack(){
history.go(-1)
}
returnResult(){
this.router.navigate([`/approval_result_list`],{queryParams:{hiringBasicInfoId:this.hiringBasicInfoId,approvalIdentity:true}})
}
}
......@@ -33,7 +33,6 @@
[arrow]="'horizontal'"
[mode]="'date'"
[minDate] ="showworkingStart"
[maxDate] = "maxDate"
[(ngModel)]="showworkingEnd"
(onOk)="onOk($event,'end')"
>
......@@ -50,7 +49,7 @@
<div class="experience_list" *ngIf="experienceList?.length>0">
<ul *ngFor="let experienceItem of experienceList;index as i;">
<div style="font-size: 14px;font-weight: bold;margin-bottom: 5px;">经历 {{i+1}}</div>
<div style="font-size: 18px;font-weight: bold;margin-bottom: 5px;">经历 {{i+1}}</div>
<li>
<span>工作单位</span>
<span>{{experienceItem.workingCompany}}</span>
......
.wrapper {
font-size: 15px;
font-size: 18px;
background: #fff;
min-height: 100%;
select{
......@@ -11,7 +11,7 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
font-size: 20px;
div {
display: flex;
align-items: center;
......@@ -47,7 +47,7 @@
box-shadow: none;
display: flex;
flex-wrap: wrap;
font-size: 16px;
font-size: 18px;
}
select.form-control{
direction: rtl;
......
.wrapper{
padding: 10px 15px;
.title{
font-size: 15px;
.title{
font-size: 18px;
font-weight: bold;
margin: 10px auto;
}
.form-control{
font-size: 16px;
}
}
\ No newline at end of file
......@@ -28,7 +28,7 @@ export class ApprovalCommentsComponent implements OnInit {
showAlert(approvingStatus) {
this.approvingStatus = approvingStatus;
ModalService.alert('确认审批', `是否确定${this.approvingStatus==1?'通过':'拒绝'}该经纪人报聘?`, [
ModalService.alert(`${this.approvingStatus==1?'通过审批':'确认拒绝'}`, `是否确定${this.approvingStatus==1?'通过':'拒绝'}该经纪人报聘?`, [
{ text: '取消', onPress: () => console.log('取消') },
{ text: '确定', onPress: () => this.hiringApprove()}
]);
......@@ -49,10 +49,18 @@ export class ApprovalCommentsComponent implements OnInit {
hiringApproveStepsSeq:sessionStorage.getItem('hiringApproveStepsSeq')
}
this.myService.hiringApprove(param).subscribe((res)=>{
if(res['success']){
this.openPopInfo('保存成功!');
sessionStorage.setItem('viewApprovalInfo','1')
setTimeout(() => {
this.router.navigate(['/approval_result_list'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId,approvalIdentity:this.approvalIdentity} });
}, 3000);
}else{
this.openPopInfo(res['message']);
})
}
})
}
// 打开弹窗
openPopInfo(message) {
this.isNeedAlert = true;
......
......@@ -10,11 +10,19 @@
justify-content: space-evenly;
border-bottom: 1px #ededed solid;
background: #fff;
position: fixed;
top: 0;
height: 51px;
width: 100%;
z-index: 1;
min-width: 320px;
max-width: 640px;
li {
margin-right: 10px;
line-height: 30px;
height: 30px;
text-align: center;
cursor: pointer;
h3 {
font-weight: normal;
font-size: 16px;
......@@ -31,6 +39,7 @@
}
}
.salesContent{
padding-top: 51px;
.salesItem{
// border-bottom: 1px #dcdcdc solid;
padding: 10px 10px 10px 15px;
......
......@@ -9,7 +9,7 @@
<img class="status" *ngIf="recordsItem.approvingStatusId ==0"
src="assets/images/refuse.png"/>
<div class="line" *ngIf="recordsItem.approvingStatusId ==1"></div>
<hr *ngIf="recordsItem.approvingStatusId !=0" style="width: 1px;height: 100%;margin: 0 auto;border-right:4px dashed #dcdcdc;"/>
<hr *ngIf="recordsItem.approvingStatusId !=1" style="width: 1px;height: 100%;margin: 0 auto;border-right:4px dashed #dcdcdc;"/>
</div>
<div class="right">
<div>
......@@ -25,16 +25,16 @@
</span>
</div>
<div style="background: #fafafa;border-radius: 5px;padding: 10px;position: relative;"
*ngIf="recordsItem.interviewAssessment && recordsItem.interviewAssessment.length < 30">
*ngIf="recordsItem.interviewAssessment && recordsItem.interviewAssessment.length < 32">
{{recordsItem.interviewAssessment.substr(0,recordsItem.interviewAssessment.length)}}
</div>
<div style="background: #fafafa;border-radius: 5px;padding: 10px;position: relative;" (click)="open(recordsItem)"
*ngIf="recordsItem.interviewAssessment && recordsItem.interviewAssessment.length > 30 && !recordsItem.actived">
{{recordsItem.interviewAssessment.substr(0,30)}}
<span class="icon-ar-r iconfont" style="position: absolute;right: 15px;bottom: 5px;"></span>
*ngIf="recordsItem.interviewAssessment && recordsItem.interviewAssessment.length > 32 && !recordsItem.actived">
{{recordsItem.interviewAssessment.substr(0,32)}} ...
<span class="icon-ar-r iconfont" style="position: absolute;right: 5px;bottom: 5px;"></span>
</div>
<div style="background: #fafafa;border-radius: 5px;padding: 10px;position: relative;" (click)="open(recordsItem)"
*ngIf="recordsItem.interviewAssessment && recordsItem.interviewAssessment.length >30 && recordsItem.actived">
*ngIf="recordsItem.interviewAssessment && recordsItem.interviewAssessment.length >32 && recordsItem.actived">
{{recordsItem.interviewAssessment}}
</div>
</div>
......@@ -51,8 +51,9 @@
</div>
</div>
<div class="footer" (click)="jumpToDetail()">
查看资料
<div class="footer" style="justify-content: center;">
<span class="iconfont icon-fanhui" (click)="prev()"></span>
<div (click)="jumpToDetail()">查看资料<span *ngIf="viewApprovalInfo == 0">并审批</span></div>
</div>
<ydlife-toast *ngIf="toastDialog" [toastInfo]="toastInfo"></ydlife-toast>
......@@ -42,6 +42,9 @@
}
}
.record_content:last-child{
.line{
display: none;
}
hr{
display: none;
}
......@@ -98,4 +101,10 @@
color: #fff;
background: #1b5b99;
font-size: 18px;
.icon-fanhui{
position: absolute;
left: 0;
width: 30px;
text-align: center;
}
}
\ No newline at end of file
......@@ -21,6 +21,7 @@ export class ApprovalResultListComponent implements OnInit {
toastInfo: any;
isShow:boolean = false;
remark:string;
viewApprovalInfo:any;
constructor(private router:Router,public lifeCommonService:LifeCommonService,private myService:MyService,private activatedRoute: ActivatedRoute) { }
ngOnInit() {
......@@ -30,6 +31,7 @@ export class ApprovalResultListComponent implements OnInit {
this.hiringBasicInfoId = this.activatedRoute.snapshot.queryParams.hiringBasicInfoId?this.activatedRoute.snapshot.queryParams.hiringBasicInfoId:null;
this.practitionerId = JSON.parse(localStorage.getItem('lifeCustomerInfo'))['practitionerId'];
this.PractitionerHiringApproveRecords();
this.viewApprovalInfo = sessionStorage.getItem('viewApprovalInfo');
}
PractitionerHiringApproveRecords(){
......@@ -55,7 +57,7 @@ export class ApprovalResultListComponent implements OnInit {
}
jumpToDetail(){
this.router.navigate([`/employee_basic_info`],{queryParams:{hiringBasicInfoId:this.hiringBasicInfoId,approvalIdentity:this.approvalIdentity}})
this.router.navigate([`/employee_info`],{queryParams:{hiringBasicInfoId:this.hiringBasicInfoId,approvalIdentity:this.approvalIdentity}})
}
getDefaultHeadImg(str){
if(!str){
......@@ -79,4 +81,8 @@ export class ApprovalResultListComponent implements OnInit {
open(item){
item.actived = !item.actived;
}
prev(){
this.router.navigate([`/approval_list`])
}
}
......@@ -25,7 +25,6 @@ export class MemberDetailComponent implements OnInit {
this.myService.queryTeamMemberDetail({practitionerId:practitionerId}).subscribe((res)=>{
if(res['success']){
this.teamMemberList = res['data']['teamMemberDetail'];
console.log(this.teamMemberList)
this.practitionerDeatil = this.teamMemberList.filter((item)=>{
return item.practitionerId == this.practitionerId ;
})[0];
......
......@@ -7,7 +7,19 @@
</div>
</li>
</ul>
<div style="padding: 10px 0px 0px 0px;">
<div style="padding: 10px 0px 0px 0px;height: 100%;">
<div class="contentList" *ngIf="selectedId==0" style="min-height: 100%;">
<ul *ngIf="practitionerInfo?.contractOssPath">
<li>
<a href="{{practitionerInfo?.contractOssPath}}" download="{{practitionerInfo?.contractOssPath}}" target="_blank">
<div><i class="iconfont icon-pdf"></i></div>
<div title="{{practitionerInfo?.name}}">{{practitionerInfo?.name}}的经纪合同</div>
<div style="position: absolute;right: 5px;top: 6px;"><i class="iconfont icon-xiazai"></i></div>
</a>
</li>
</ul>
<div *ngIf="!practitionerInfo?.contractOssPath" style="text-align: center;height: 40px;line-height: 40px;">暂无经纪合同</div>
</div>
<ydlife-thanks *ngIf="selectedId==1" [isShowClose]="isShowClose"></ydlife-thanks>
<div class="contentList" *ngIf="selectedId==2">
<ul>
......
......@@ -8,21 +8,28 @@ import { MyService } from "../my.service";
})
export class MyApplicationComponent implements OnInit {
titleList:Array<any>;
selectedId:number = 1;
selectedId:number = 0;
isShowClose:boolean = false;
fileUploadItemList: Array<any>;
practitionerId:number;
practitionerInfo:any;
constructor(private myService: MyService) { }
ngOnInit() {
this.practitionerId =JSON.parse(localStorage.getItem('lifeCustomerInfo'))['practitionerId'];
this.titleList = [
{ id: 0, name: '经纪合同' },
{ id: 1, name: '欢迎信' },
{ id: 2, name: '公司制度' }
]
this.queryPractitionerInfo();
}
selectTab(id) {
this.selectedId = id;
if(this.selectedId == 0){
this.queryPractitionerInfo();
}
if(this.selectedId==2){
this.fileUpload(3, 0, 19, 'yd_download_file_type', 81);
......@@ -37,4 +44,13 @@ export class MyApplicationComponent implements OnInit {
}
});
}
//获取经纪合同
queryPractitionerInfo(){
this.myService.queryPractitionerInfo({practitionerId:this.practitionerId}).subscribe((res)=>{
if(res['success']){
this.practitionerInfo = res['data']['practitioner'];
}
})
}
}
......@@ -119,6 +119,7 @@
<div class="content_item" *ngFor="let menuItemContent of menuItem['content']" href="javascript:;"
(click)="menuNavigation(menuItemContent)">
<!-- <span class="iconfont" [ngClass]="menuItemContent.icon"></span> -->
<span *ngIf="menuItemContent.dot"></span>
<img [src]="getImgUrl(menuItemContent.icon)" alt="">
<div style="font-size: 13px;">{{menuItemContent.subtitle}}</div>
</div>
......
......@@ -298,9 +298,19 @@ ul,ol{
align-items: center;
width: 25%;
margin-bottom: 10px;
position: relative;
img{
max-width: 44%;
}
span{
display: inline-block;
width: 10px;
height: 10px;
position: absolute;
background: red;
border-radius: 50%;
right: 30%;
top: 10%;
}
// .iconfont{
// color: #ff002a;
......
......@@ -37,6 +37,8 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
taskLen:Array<any> = [];
person:any;
showFlag:boolean = false;
approvarList:Array<any>;
dotFlag:boolean = false;
constructor(
private router: Router,
public lifeCommonService: LifeCommonService,
......@@ -67,6 +69,7 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
this.queryScheduleTrackList();
//活动量得分查询
this.queryPEPScore();
this.listQuery();
}
ngAfterViewInit() {
......@@ -84,7 +87,7 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
{ no: 1, subtitle: '獴哥保险诊所', icon: 'clinic', path: `https://${window.location.host}/consulting`, routerLink: '' },
{ no: 4, subtitle: '线上投保', icon: 'online', path: `https://${window.location.host}/index?source=dyd`, routerLink: '' },
{ no: 13, subtitle: '我的商机', icon: 'line', path: '', routerLink: 'business' },
{ no: 9, subtitle: '我的名片', icon: 'card', path: `https://${window.location.host}/brokerQry/#/brokerDetail/${this.lifeCustomerInfo.practitionerId}?source=0`, routerLink: '' },
{ no: 9, subtitle: '执业证书', icon: 'card', path: `https://${window.location.host}/brokerQry/#/brokerDetail/${this.lifeCustomerInfo.practitionerId}?source=0`, routerLink: '' },
{ no: 10, subtitle: '职业类别', icon: 'job', path: 'https://www.ydinsurance.cn/occupationQry/', routerLink: '' },
{ no: 7, subtitle: '文章分享', icon: 'article', path: `https://${window.location.host}/discovery`, routerLink: '' },
{ no: 3, subtitle: '产品海报', icon: 'poster_p', path: '/salesDetail', routerLink: 'material' },
......@@ -98,9 +101,7 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
// { no: 16, subtitle: '团队增员', icon: 'recruiting', path: '', routerLink: '' },
{ no: 16, subtitle: '团队增员', icon: 'recruiting', path: '', routerLink: 'recruiting' },
{ no: 18, subtitle: '招募海报', icon: 'poster_r', path: '', routerLink: '' },
// { no: 22, subtitle: '报聘审批', icon: 'approval', path: '', routerLink: 'approval_list' }
{ no: 22, subtitle: '', icon: '', path: '', routerLink: '' }
{ no: 22, subtitle: '报聘审批', icon: 'approval', path: '', routerLink: 'approval_list',dot: this.dotFlag}
],
// isShow: this.isShow
isShow: true
......@@ -368,4 +369,20 @@ export class MyCenterHomeComponent implements OnInit, AfterViewInit {
jumpToChunYu(){
window.location.href = `https://h5.futurebaobei.com/h5/product/detail/7?channel=yindun&channelStaff=${this.lifeCustomerInfo.practitionerId}`
}
//查看判断待审批列表小圆点
listQuery(){
this.myService.listQuery({practitionerId:this.lifeCustomerInfo.practitionerId,approvingStatus:0}).subscribe((res)=>{
if(res['success']){
this.approvarList = res['data']['hiringListInfoList'];
if(this.approvarList.length>0){
this.dotFlag = true;
}else{
this.dotFlag = false;
}
}else{
alert(res['message'])
}
})
}
}
......@@ -549,4 +549,18 @@ export class MyService {
return this.http
.post(url, JSON.stringify(comment));
}
queryPractitionerInfo(param){
const url = this.ydapi + '/practitionerHiring/queryPractitionerInfo';
return this.http
.post(url, JSON.stringify(param));
}
// 查询分公司
organizationQuery(organizationInfo) {
const url = this.API + "/erp/organizationQuery";
return this.http
.post(url, JSON.stringify(organizationInfo));
}
}
......@@ -137,13 +137,13 @@
<div class="contentDetail employ">
<div class="contentItem">
<span>被邀请人</span>
<input type="text" [(ngModel)]="this.employQuery.name" class="form-control" [disabled]="approveStatus!=null" />
<input type="text" [(ngModel)]="this.employQuery.name" class="form-control" [disabled]="approveStatus!=null && approveStatus!=-1" />
</div>
<div class="contentItem">
<span>报聘职级</span>
<select [(ngModel)]="employQuery.mdDropOptionId" class="form-control" (ngModelChange)="getName(1,employQuery.mdDropOptionId)"
[disabled]="approveStatus!=null">
<option value=null>请选择</option>
[disabled]="approveStatus!=null && approveStatus!=-1">
<option [value]=null>请选择</option>
<option [value]='levelInfos.id' *ngFor="let levelInfos of practitionerLevelInfos">
{{levelInfos.dropOptionCode}} {{levelInfos.dropOptionName}}
</option>
......@@ -151,23 +151,11 @@
</div>
<div class="contentItem">
<span>辅导人</span>
<select [(ngModel)]="employQuery.mentorPractitionerId" class="form-control" (ngModelChange)="getName(2,employQuery.mentorPractitionerId);getPractitionerDetails(employQuery.mentorPractitionerId)"
[disabled]="approveStatus!=null">
<option value=null>请选择</option>
<option [value]='practitionerInfo.id' *ngFor="let practitionerInfo of practitionerList">
{{practitionerInfo.name}}
</option>
</select>
<div (click)="vagueSearch(1)" style="padding-right: 12px;">{{defalutMentor}}</div>
</div>
<div class="contentItem">
<span>介绍人</span>
<select [(ngModel)]="employQuery.introducerPractitionerId" class="form-control" (ngModelChange)="getName(3,employQuery.introducerPractitionerId);"
[disabled]="approveStatus!=null">
<option value=null>请选择</option>
<option [value]='practitionerInfo.id' *ngFor="let practitionerInfo of practitionerList">
{{practitionerInfo.name}}
</option>
</select>
<div (click)="vagueSearch(2)" style="padding-right: 12px;">{{defalutIntroducer}}</div>
</div>
<div class="contentItem">
<span>体系名</span>
......@@ -179,7 +167,16 @@
</div>
<div class="contentItem">
<span>分公司</span>
<div><input type="text" [(ngModel)]="employQuery.branch" class="form-control" disabled/></div>
<div *ngIf="employQuery.mdDropOptionId != 30">
<input type="text" [(ngModel)]="employQuery.branch" class="form-control" disabled/>
</div>
<select class="form-control" *ngIf="employQuery.mdDropOptionId == 30" [(ngModel)]="employQuery.branchId" (ngModelChange)="getName(2,employQuery.branchId)"
[disabled]="approveStatus!=null && approveStatus!=-1" >
<option [value]=null>请选择</option>
<option [value]="branchItem.insurerBranchId" *ngFor="let branchItem of branchList">
{{branchItem.branchName}}
</option>
</select>
</div>
</div>
</div>
......@@ -220,5 +217,22 @@
<li (click)="this.isShow = false;">取消</li>
</ul>
</div>
<div class="toastWrapper toast" *ngIf="toastFlag" (click)="toastFlag = false;">
</div>
<!--辅导人介绍人选择框-->
<div class="editContainer" style="background: #efeff4;padding: 0;" *ngIf="toastFlag">
<SearchBar [placeholder]="'搜索你的增员'" [maxLength]="8"
(onChange)="change($event)"
></SearchBar>
<ul class="practitioner_con">
<li (click)="getNameParam(this.totastType,null)"></li>
<li *ngFor="let practitionerItem of practitionerListShow" (click)="getNameParam(this.totastType,practitionerItem)">
{{practitionerItem.name}}
</li>
</ul>
</div>
</div>
<ydlife-toast *ngIf="toastDialog" [toastInfo]="toastInfo"></ydlife-toast>
<ydlife-alert *ngIf="isNeedAlert" [dialogInfo]="dialogInfo" (popInfo)="getPopInfo()"></ydlife-alert>
\ No newline at end of file
......@@ -129,6 +129,9 @@
padding: 10px 0;
border-bottom: 1px #e8e8e8 solid;
margin: 0 8px 0 8px;
.form-control{
margin: 0;
}
}
.tagWrapper {
display: flex;
......@@ -247,6 +250,16 @@
border-radius: 10px;
}
}
ul.practitioner_con{
height: 90%;
overflow: auto;
background: #fff;
padding: 10px;
li{
height: 30px;
line-height: 30px;
}
}
}
.recordLists {
li {
......
......@@ -48,6 +48,14 @@ export class RecruitingDetailComponent implements OnInit {
practitionerName:any;
//-2已填完,null未填完,-1拒绝0通过
approveStatus:any;
practitionerListShow:Array<any>;
defalutMentor:string = '请选择辅导人';
defalutIntroducer:string = '请选择介绍人';
totastType:any;
toastFlag:boolean = false;
isNeedAlert: boolean;
dialogInfo: any;
branchList:Array<any>;
constructor(
private activateRoute: ActivatedRoute,
public lifeCommonService: LifeCommonService,
......@@ -69,9 +77,9 @@ export class RecruitingDetailComponent implements OnInit {
//状态
this.status = this.activateRoute.snapshot.queryParams['status'];
this.hiringBasicInfoId = this.activateRoute.snapshot.queryParams['hiringBasicInfoId']?this.activateRoute.snapshot.queryParams['hiringBasicInfoId']:null;
this.dropOptionsQuery(1);
this.educationLevelQuery();
this.organizationQuery();
if (this.potentialId === 0) {
this.readonlyFlag = false;
this.sexFlag = true;
......@@ -87,10 +95,22 @@ export class RecruitingDetailComponent implements OnInit {
}
//获取基本信息
this.recruitListQuery();
if(this.hiringBasicInfoId){
this.queryWholeInfo();
}
}
selectTab(id) {
if (this.clickFlag == true) {
if(id === 4){
if(this.approveStatus == -2 || this.approveStatus == 0){
this.openPopInfo(`${this.employQuery.name}已经提交所有报聘信息,不用重复邀请!`)
return;
}
}
this.selectedId = id;
if (this.selectedId === 3) {
//初始化
......@@ -427,6 +447,7 @@ export class RecruitingDetailComponent implements OnInit {
practitionerListQuery(){
this.myService.practitionerListQuery(null).subscribe((res)=>{
this.practitionerList = res['data']['practitionerListInfoList'];
this.practitionerListShow = res['data']['practitionerListInfoList']
});
}
......@@ -449,16 +470,16 @@ export class RecruitingDetailComponent implements OnInit {
saveMembership(){
if(this.employQuery.mdDropOptionId != 30){
if(!this.employQuery.mentorPractitionerId || !this.employQuery.mentor){
this.toastDialog = true;
this.toastInfo = {
status: 1,
msg: 'S2级别一下,辅导人不可以为空!',
timeout: 3000,
align: 'center'
};
this.openPopInfo('S2级别以下,辅导人不可以为空!')
return;
}
}else{
if(this.employQuery.mentorPractitionerId || this.employQuery.mentor){
this.openPopInfo('S2级别不需要选择辅导人!')
return;
}
}
this.employQuery = {
...this.employQuery,
hiringBasicInfoId:this.approveStatus=='-1'?null:this.hiringBasicInfoId,
......@@ -471,7 +492,7 @@ export class RecruitingDetailComponent implements OnInit {
}else{
alert(res['message']);
}
})
});
}
invite(){
......@@ -483,8 +504,7 @@ export class RecruitingDetailComponent implements OnInit {
* @param e
* @param type
* 1.职级
* 2.辅导人
* 3.介绍人
* 2.分公司
*/
getName(type,e){
if(e == 'null'){
......@@ -499,19 +519,58 @@ export class RecruitingDetailComponent implements OnInit {
this.employQuery.mdDropOptionName = level.dropOptionName;
}
}
//如果报聘职级是s2,清空辅导人、体系、体系负责人
if(e == 30){
this.employQuery.mentorPractitionerId =
this.employQuery.mentor =
this.employQuery.subsystemId =
this.employQuery.subsystem =
this.employQuery.subsystemOwnerId =
this.employQuery.subsystemOwner =
this.employQuery.branchId =
this.employQuery.branch = null;
this.defalutMentor = '/';
}
}else{
this.employQuery.mdDropOptionName = null;
}
return;
case 2:
this.employQuery.mentorPractitionerId = e;
this.employQuery.branchId = e;
if(e){
for(const branchItem of this.branchList){
if(e == branchItem.insurerBranchId){
this.employQuery.branch = branchItem.branchName;
}
}
}else{
this.employQuery.branchId =
this.employQuery.branch = null;
}
return;
}
}
/**
* 辅导人介绍人模糊查询
* 1.辅导人
* 2.介绍人
* @param e
*/
getNameParam(type,e){
switch (type) {
case 1:
if(e){
this.employQuery.mentorPractitionerId = e.id;
for (const mentorInfo of this.practitionerList) {
if (e == mentorInfo.id) {
if (e.id == mentorInfo.id) {
this.employQuery.mentor = mentorInfo.name;
this.defalutMentor = mentorInfo.name;
}
}
this.getPractitionerDetails(this.employQuery.mentorPractitionerId);
}else{
this.employQuery.mentorPractitionerId =
this.employQuery.mentor =
this.employQuery.subsystemId =
this.employQuery.subsystem =
......@@ -519,20 +578,24 @@ export class RecruitingDetailComponent implements OnInit {
this.employQuery.subsystemOwner =
this.employQuery.branchId =
this.employQuery.branch = null;
this.defalutMentor = '/';
}
this.toastFlag = false;
return;
case 3:
this.employQuery.introducerPractitionerId = e;
case 2:
if(e){
this.employQuery.introducerPractitionerId = e.id;
for (const introducer of this.practitionerList) {
if (e == introducer.id) {
if (e.id == introducer.id) {
this.employQuery.introducer = introducer.name;
this.defalutIntroducer = introducer.name;
}
}
}else{
this.employQuery.introducer = null;
this.defalutIntroducer = '/';
}
this.toastFlag = false;
return;
}
}
......@@ -545,6 +608,24 @@ export class RecruitingDetailComponent implements OnInit {
this.employQuery.name = this.editRecruiting.name;
this.employQuery.practitionerPotentialId = this.potentialId;
this.approveStatus = res['data']['hiringBasicInfo']['approveStatus'];
if(membership.mentor){
this.defalutMentor = membership.mentor;
}else{
if(this.approveStatus == null){
this.defalutMentor = '请选择辅导人';
}else{
this.defalutMentor = '/';
}
}
if(membership.introducer){
this.defalutIntroducer = membership.introducer;
}else{
if(this.approveStatus == null){
this.defalutIntroducer = '请选择介绍人';
}else{
this.defalutIntroducer = '/';
}
}
}else{
this.toastDialog = true;
this.toastInfo = {
......@@ -557,4 +638,49 @@ export class RecruitingDetailComponent implements OnInit {
}
})
}
/**param
* 辅导人:1
* 介绍人:2
* **/
vagueSearch(type){
this.totastType = type;
if(type ==1 && this.employQuery.mdDropOptionId == 30){
this.openPopInfo('S2级别不需要选择辅导人!')
return;
}
this.toastFlag = true;
this.practitionerListShow = this.practitionerList;
}
change(event){
this.practitionerListShow = this.practitionerList.filter((item)=>{
if(item.name){
return item.name.indexOf(event) !==-1;
}
})
}
// 打开弹窗
openPopInfo(message) {
this.isNeedAlert = true;
this.dialogInfo = {
title: null,
content: { value: message, align: 'center' },
footer: [{ value: '我知道了', routerLink: '', className: 'weui-dialog__btn_primary' }],
};
}
// 关闭弹窗
getPopInfo() {
this.isNeedAlert = false;
}
organizationQuery(){
this.myService.organizationQuery({insurerId: 888}).subscribe((res)=>{
if(res['success']){
this.branchList = res['data']['insurerInfoList'][0]['insurerBranchInfoList'];
}
})
}
}
......@@ -8,9 +8,8 @@
display: flex;
list-style: none;
margin: 10px 0px;
padding-left: 1%;
justify-content: space-around;
li {
margin-right: 10px;
line-height: 30px;
height: 30px;
width: 25%;
......
......@@ -16,7 +16,7 @@
<div class="tooltip-inner">手机号码格式不正确</div>
</div>
</div>
<div class="sw-form-control">
<div class="sw-form-control" style="margin-bottom: 15px;">
<label for="email">常用邮箱</label>
<input type="email" placeholder="请输入邮箱" name="email" id="email" [(ngModel)]="customer.email" maxlength="100">
<div class="tooltip top" role="tooltip" *ngIf="this.telflag==false && this.emailflag==false">
......@@ -24,6 +24,10 @@
<div class="tooltip-inner">邮箱格式不正确</div>
</div>
</div>
<div class="sw-form-control">
<label for="name">姓名</label>
<input type="text" placeholder="请输入姓名" name="email" id="email" [(ngModel)]="name" disabled>
</div>
</div>
<div class="submit commonBtn defineFixed" (click)="submit()">
提交
......
......@@ -14,6 +14,7 @@ export class SuggestionComponent implements OnInit {
customer: any;
isNeedAlert: boolean;
dialogInfo: any;
name:string;
constructor(private myService:MyService) {
this.customer = {
customerId:JSON.parse(localStorage.getItem('lifeCustomerInfo')).customerId,
......@@ -26,6 +27,7 @@ export class SuggestionComponent implements OnInit {
}
ngOnInit() {
this.name = JSON.parse(localStorage.getItem('lifeCustomerInfo')).practitionerBasicInfo.name;
}
focus() {
......
......@@ -25,7 +25,6 @@ export class TeamSalesScoreComponent implements OnInit {
this.subordinateSystemName = sessionStorage.getItem('subordinateSystemName');
//判断显示销售得分还是销售预测
this.showType = this.activateRoute.snapshot.paramMap.get('type');
console.log(this.showType)
if (this.showType === 'teamSalesScore') {
this.queryPEPScore();
}
......@@ -71,7 +70,6 @@ export class TeamSalesScoreComponent implements OnInit {
//战队成员列表
queryTeamMemberDetail(){
this.myService.queryTeamMemberDetail({practitionerId:this.practitionerId}).subscribe((res)=>{
console.log(res)
if(res['success']){
this.teamMemberList = res['data']['teamMemberDetail'];
}
......
......@@ -31,6 +31,12 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe683;</span>
<div class="name">返回</div>
<div class="code-name">&amp;#xe683;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe680;</span>
<div class="name">资料</div>
<div class="code-name">&amp;#xe680;</div>
......@@ -1119,6 +1125,15 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-fanhui"></span>
<div class="name">
返回
</div>
<div class="code-name">.icon-fanhui
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-ziliao"></span>
<div class="name">
资料
......@@ -2706,6 +2721,14 @@
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-fanhui"></use>
</svg>
<div class="name">返回</div>
<div class="code-name">#icon-fanhui</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-ziliao"></use>
</svg>
<div class="name">资料</div>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,6 +6,13 @@
"description": "",
"glyphs": [
{
"icon_id": "7186603",
"name": "返回",
"font_class": "fanhui",
"unicode": "e683",
"unicode_decimal": 59011
},
{
"icon_id": "9575614",
"name": "资料",
"font_class": "ziliao",
......
......@@ -20,6 +20,9 @@ Created by iconfont
/>
<missing-glyph />
<glyph glyph-name="fanhui" unicode="&#59011;" d="M349.184 382.976l435.2 432.64c13.824 13.824 13.824 39.424 0 53.76l-13.824 13.824c-13.824 13.824-39.424 13.824-53.76 0L239.616 410.624c-13.824-13.824-13.824-39.424 0-53.76l474.624-472.576c13.824-13.824 39.424-13.824 53.76 0l13.824 13.824c13.824 13.824 13.824 39.424 0 53.76l-432.64 431.104z" horiz-adv-x="1024" />
<glyph glyph-name="ziliao" unicode="&#59008;" d="M78.762667 659.690667v-708.906667h708.928v708.906667H78.784z m0 78.762666h708.928a78.997333 78.997333 0 0 0 78.762666-78.762666v-708.906667A78.997333 78.997333 0 0 0 787.690667-128H78.784A78.997333 78.997333 0 0 0 0-49.237333V659.690667a78.997333 78.997333 0 0 0 78.762667 78.762666z m157.546666-236.309333h393.834667c23.637333 0 39.402667-15.744 39.402667-39.381333 0-23.616-15.765333-39.381333-39.402667-39.381334H236.309333c-23.637333 0-39.381333 15.765333-39.381333 39.381334 0 23.637333 15.744 39.381333 39.381333 39.381333z m0-157.525333h393.834667c23.637333 0 39.402667-15.765333 39.402667-39.381334 0-23.637333-15.765333-39.381333-39.402667-39.381333H236.309333c-23.637333 0-39.381333 15.744-39.381333 39.381333 0 23.616 15.744 39.381333 39.381333 39.381334z m0-157.546667h393.834667c23.637333 0 39.402667-15.744 39.402667-39.381333s-15.765333-39.381333-39.402667-39.381334H236.309333c-23.637333 0-39.381333 15.744-39.381333 39.381334s15.744 39.381333 39.381333 39.381333z m39.381334 630.165333c-23.637333 0-39.381333 15.744-39.381334 39.381334S252.053333 896 275.690667 896h630.165333C972.8 896 1024 844.8 1024 777.856v-630.165333c0-23.637333-15.744-39.381333-39.381333-39.381334s-39.381333 15.744-39.381334 39.381334V777.856c0 23.616-15.765333 39.381333-39.381333 39.381333H275.690667z" horiz-adv-x="1024" />
......
......@@ -210,7 +210,7 @@ footer.fixed{
}
.contract h1,.contract h2{
font-size: 14px;
font-size: 15px;
font-weight: normal;
}
@keyframes slowUp {
......@@ -247,3 +247,27 @@ footer.fixed{
}
}
.returnIndexBox {
position: fixed;
left: calc(100% - 70px);
top: calc(100% - 150px);
z-index: 1001;
background: rgba(0, 0, 0, 0.5);
color: #fff;
width: 60px;
height: 60px;
border-radius: 50%;
overflow: hidden;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 12px;
}
.returnIndexBox .iconfont {
font-size: 22px;
}
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