Commit a2646e57 by sunchao

查询接口对接

parent 0a964589
<div class="wrapper">
<div class="title">
<div>银行卡号</div>
<div><span class="line"></span>银行卡号</div>
<span class="page_mark"> 5/8</span>
</div>
<div class="content">
......@@ -10,7 +10,7 @@
(blur)="bs()"/>
</div>
<div class="contentItem">
<input class="form-control" placeholder="银行卡号:例如 630123434535435" [(ngModel)]="bankAccountId"
<input class="form-control" placeholder="银行卡号:例如 6301234345354356" [(ngModel)]="bankAccountId"
(blur)="bs(2)" onkeyup="this.value=this.value.replace(/\D/g,'')"/>
</div>
......
......@@ -16,6 +16,18 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
div {
display: flex;
align-items: center;
.line{
width: 5px;
height: 18px;
display: inline-block;
background: #C81B1E;
margin-right: 5px;
}
}
}
.content{
padding: 10px 5px;
......
......@@ -25,7 +25,7 @@ export class BankCardComponent 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;
this.queryWholeInfo(this.hiringBasicInfoId)
}
next(){
......@@ -61,10 +61,14 @@ export class BankCardComponent implements OnInit {
bs(type) {
this.lifeCommonService.scrollTo();
if(type==2){
this.bankAccountId = this.bankAccountId.replace(/\D/g,'')
if(this.bankAccountId){
this.bankAccountId = this.bankAccountId.replace(/\D/g,'');
}
}
if(type==3){
this.sureBankAccountId = this.sureBankAccountId.replace(/\D/g,'')
if(this.sureBankAccountId){
this.sureBankAccountId = this.sureBankAccountId.replace(/\D/g,'');
}
}
}
......@@ -82,4 +86,15 @@ export class BankCardComponent implements OnInit {
getPopInfo() {
this.isNeedAlert = false;
}
queryWholeInfo(hiringBasicInfoId){
this.myService.queryWholeInfo({hiringBasicInfoId:hiringBasicInfoId}).subscribe((res)=>{
console.log(res)
if(res['success']){
this.bankAccountId = res['data']['hiringBasicInfo']['bankAccountId'];
this.bankAccountOpening = res['data']['hiringBasicInfo']['bankAccountOpening'];
this.sureBankAccountId = res['data']['hiringBasicInfo']['bankAccountId'];
}
})
}
}
<div class="wrapper">
<div class="title">
<div>申请人基本资料</div>
<div><span class="line"></span>申请人基本资料</div>
<span class="page_mark"> 1/8</span>
</div>
<div class="content">
......
......@@ -11,6 +11,18 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
div {
display: flex;
align-items: center;
.line{
width: 5px;
height: 18px;
display: inline-block;
background: #C81B1E;
margin-right: 5px;
}
}
}
.content {
padding: 10px 5px;
......
<div class="wrapper">
<div class="title">
<div>学历信息</div>
<div><span class="line"></span>学历信息</div>
<span class="page_mark"> 4/8</span>
</div>
<div class="content">
<div class="contentDetail employ">
<div class="contentItem">
<span>最高学历:如本科、专科、硕士</span>
<select class="form-control" name="" id="" [(ngModel)]="lastGraduateGradeId" (ngModelChange)="selectEducationLevel($event)">
<select class="form-control" name="" id="" [(ngModel)]="lastGraduateCode" (ngModelChange)="selectEducationLevel($event)">
<option value=null>请选择</option>
<option [value]="educationLevel.id" *ngFor="let educationLevel of educationLevelList">
{{educationLevel.name}}
......
......@@ -12,6 +12,18 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
div {
display: flex;
align-items: center;
.line{
width: 5px;
height: 18px;
display: inline-block;
background: #C81B1E;
margin-right: 5px;
}
}
}
.content{
padding: 10px 5px;
......
......@@ -12,7 +12,7 @@ export class EmployeeEducationComponent implements OnInit {
hiringBasicInfoId:any;
educationLevelList:Array<any>;
lastGraduateGrade:string = null;
lastGraduateGradeId:string = null;
lastGraduateCode:string = null;
lastGraduateSchool:string;
certificationVxUrl:string;
serverId: any;
......@@ -31,6 +31,7 @@ export class EmployeeEducationComponent implements OnInit {
this.lifeCommonService.setTitle(title);
this.hiringBasicInfoId = this.activatedRoute.snapshot.queryParams.hiringBasicInfoId?this.activatedRoute.snapshot.queryParams.hiringBasicInfoId:null;
this.educationLevelQuery();
this.queryWholeInfo(this.hiringBasicInfoId)
}
next(){
......@@ -46,9 +47,9 @@ export class EmployeeEducationComponent implements OnInit {
this.openPopInfo('毕业证照片不能为空,请在微信端上传!')
return;
}
if(this.lifeCommonService.isWeiXin()){
const param = {
hiringBasicInfoId:this.hiringBasicInfoId,
lastGraduateCode:this.lastGraduateCode,
lastGraduateGrade:this.lastGraduateGrade,
lastGraduateSchool:this.lastGraduateSchool,
certificationVxUrl:this.certificationVxUrl
......@@ -66,7 +67,7 @@ export class EmployeeEducationComponent implements OnInit {
};
}
})
}
}
// 教育等级查询
......@@ -80,7 +81,7 @@ export class EmployeeEducationComponent implements OnInit {
//选择教育等级
selectEducationLevel(event){
this.lastGraduateGradeId = event;
this.lastGraduateCode = event;
for(let educationLevel of this.educationLevelList){
if(event == educationLevel.id){
this.lastGraduateGrade = educationLevel.name;
......@@ -141,4 +142,15 @@ export class EmployeeEducationComponent implements OnInit {
getPopInfo() {
this.isNeedAlert = false;
}
queryWholeInfo(hiringBasicInfoId){
this.myService.queryWholeInfo({hiringBasicInfoId:hiringBasicInfoId}).subscribe((res)=>{
if(res['success']){
this.lastGraduateGrade = res['data']['hiringBasicInfo']['lastGraduateGrade'];
this.lastGraduateCode = res['data']['hiringBasicInfo']['lastGraduateCode'];
this.lastGraduateSchool = res['data']['hiringBasicInfo']['lastGraduateSchool'];
this.certificationVxUrl = res['data']['hiringBasicInfo']['lastGraduateCertificationOssPath'];
}
})
}
}
<div class="wrapper">
<div class="title">
<div>个人证件资料</div>
<div><span class="line"></span>个人证件资料</div>
<span class="page_mark"> 3/8</span>
</div>
<div class="sub_title">
......@@ -9,36 +9,32 @@
</div>
<div class="content">
<div class="content_wrapper">
<div class="left">
<img src="assets/images/front.png" alt="身份证正面">
<span class="tips">(正确示例:身份证正面,字体清晰)</span>
</div>
<div class="right">
<div class="photo" [ngStyle]="{'width':this.exampleWidth + 'px','height':this.exampleHeight + 'px'}"
<div class="photo"
*ngIf="!frontVxUrl">
<img src="assets/images/camera.png" alt="身份证" />
<div (click)="selectPic('front')">点击添加身份证正面</div>
<img src="assets/images/front.png" alt="身份证正面">
<img class="camera" src="assets/images/camera.png" alt="身份证" />
<div class="choseBtn" (click)="selectPic('front')">点击添加身份证正面</div>
</div>
<img src="{{frontVxUrl}}" alt="身份证正面" *ngIf="frontVxUrl"
(click)="selectPic('front')" [ngStyle]="{'width':this.exampleWidth + 'px','height':this.exampleHeight + 'px'}">
<span class="tips">(jpg,png 文件大小不大于1mb)</span>
</div>
(click)="selectPic('front')">
<div class="tips">
<p>(正确示例:身份证正面,字体清晰)</p>
<p>(jpg,png 文件大小不大于1mb)</p>
</div>
</div>
<div class="content_wrapper">
<div class="left">
<img src="assets/images/back.png" alt="身份证反面" #mainScreen>
<span class="tips">(正确示例:身份证正面,字体清晰)</span>
</div>
<div class="right">
<div class="photo" [ngStyle]="{'width':this.exampleWidth + 'px','height':this.exampleHeight + 'px'}"
*ngIf="!backVxUrl">
<img src="assets/images/camera.png" alt="身份证" />
<div (click)="selectPic('back')">点击添加身份证正面</div>
<div class="content_wrapper" style="margin-top: 25px;">
<div class="photo" *ngIf="!backVxUrl" >
<img src="assets/images/back.png" alt="身份证反面面">
<img class="camera" src="assets/images/camera.png" alt="身份证" />
<div class="choseBtn" (click)="selectPic('back')">点击添加身份证正面</div>
</div>
<img src="{{backVxUrl}}" alt="身份证反面" *ngIf="backVxUrl"
(click)="selectPic('back')" [ngStyle]="{'width':this.exampleWidth + 'px','height':this.exampleHeight + 'px'}">
<span class="tips">(jpg,png 文件大小不大于1mb)</span>
</div>
(click)="selectPic('back')">
<div class="tips">
<p>(正确示例:身份证正面,字体清晰)</p>
<p>(jpg,png 文件大小不大于1mb)</p>
</div>
</div>
</div>
<footer class="fixed" (click)="next()">
......
......@@ -7,11 +7,22 @@
-webkit-appearance: none;
}
.title{
display: flex;
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
div {
display: flex;
align-items: center;
.line{
width: 5px;
height: 18px;
display: inline-block;
background: #C81B1E;
margin-right: 5px;
}
}
}
.sub_title{
margin-top: 8px;
......@@ -24,18 +35,16 @@
position: relative;
.content_wrapper{
display: flex;
justify-content: space-between;
.left,.right{
width: 48%;
min-height: 154px;
span{
color: #999;
font-size: 10px;
}
justify-content: center;
flex-wrap: wrap;
margin-top: 10px;
.tips{
margin-top: 10px;
color: #999;
font-size: 10px;
}
.photo{
text-align: center;
background: #F8F8F8;
border: 1px #8D8D8D dashed;
border-radius: 4px;
display: flex;
......@@ -44,10 +53,25 @@
flex-direction: column;
font-size: 12px;
color: #333;
img{
max-width: 20%;
width: 75%;
background-size:contain;
background-repeat: no-repeat;
position: relative;
.camera{
position: absolute;
}
.choseBtn{
position: absolute;
font-size: 13px;
bottom: 15%;
}
}
// .photo.front{
// background-image: url('../../../../assets/images/front.png');
// }
// .phote.back{
// background-image: url('../../../../assets/images/back.png');
// }
}
......
......@@ -31,10 +31,11 @@ export class EmployeeIdCardComponent 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;
setTimeout(() => {
this.exampleWidth = this.elementView.nativeElement.offsetWidth;
this.exampleHeight =this.elementView.nativeElement.offsetHeight;
}, 300);
this.queryWholeInfo(this.hiringBasicInfoId)
// setTimeout(() => {
// this.exampleWidth = this.elementView.nativeElement.offsetWidth;
// this.exampleHeight =this.elementView.nativeElement.offsetHeight;
// }, 300);
}
......@@ -47,28 +48,24 @@ export class EmployeeIdCardComponent implements OnInit {
this.openPopInfo('身份证反面照不能为空,请在微信端上传!')
return;
}
if(this.lifeCommonService.isWeiXin()){
const param = {
hiringBasicInfoId:this.hiringBasicInfoId,
frontVxUrl:this.frontVxUrl,
backVxUrl:this.backVxUrl
}
this.myService.saveBasicInfo(param).subscribe((res)=>{
if(res['success']){
this.router.navigate(['/employee_education'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
}else{
this.toastDialog = true;
this.toastInfo = {
status: 1,
msg: res['message'],
timeout: 3000,
align: 'center'
};
}
})
}else{
this.openPopInfo('请在微信端操作!')
const param = {
hiringBasicInfoId:this.hiringBasicInfoId,
frontVxUrl:this.frontVxUrl,
backVxUrl:this.backVxUrl
}
this.myService.saveBasicInfo(param).subscribe((res)=>{
if(res['success']){
this.router.navigate(['/employee_education'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
}else{
this.toastDialog = true;
this.toastInfo = {
status: 1,
msg: res['message'],
timeout: 3000,
align: 'center'
};
}
})
}
selectPic(type){
......@@ -101,6 +98,8 @@ export class EmployeeIdCardComponent implements OnInit {
}
THIS.changeDetectorRef.markForCheck();
THIS.changeDetectorRef.detectChanges();
// alert(THIS.frontVxUrl)
// alert(THIS.backVxUrl)
} else {
alert(e['message']);
}
......@@ -128,4 +127,19 @@ export class EmployeeIdCardComponent implements OnInit {
getPopInfo() {
this.isNeedAlert = false;
}
queryWholeInfo(hiringBasicInfoId){
this.myService.queryWholeInfo({hiringBasicInfoId:hiringBasicInfoId}).subscribe((res)=>{
console.log(res)
if(res['success']){
if(res['data']['hiringBasicInfo']['idFrontPageOssPath']){
this.frontVxUrl = res['data']['hiringBasicInfo']['idFrontPageOssPath'];
}
if(res['data']['hiringBasicInfo']['idBackPageOssPath']){
this.backVxUrl = res['data']['hiringBasicInfo']['idBackPageOssPath'];
}
}
})
}
}
<div class="invitation_wrapper">
<img src="assets/images/banner.jpg" alt="邀请" />
<div class="invitation_content">
<p *ngIf="type=='inviter'">您将邀请{{inviteeName}}</p>
<p *ngIf="type=='invitees'">{{invitatorName}}邀请您</p>
<p>加入银盾保险经纪</p>
<div class="inviter_content" *ngIf="type=='inviter'">
<img class="bg" src="assets/images/inviter_bg.png" alt="邀请" />
<img class="logo" src="assets/images/white_logo.png" alt="logo" />
<div class="invitation_content">
<p>您将邀请{{inviteeName}}</p>
<p>加入银盾保险经纪</p>
</div>
<footer (click)="sandInvitation()">
发出邀请
</footer>
</div>
<div class="invitees_content" *ngIf="type=='invitees'">
<img class="bg" src="assets/images/invitees_bg.png" alt="受到邀请" />
<img class="logo" src="assets/images/white_logo.png" alt="logo" />
<div class="invitation_content">
<p>{{invitatorName}}邀请您</p>
<p>加入银盾保险经纪</p>
</div>
<footer (click)="register()">
点击注册
</footer>
</div>
<footer *ngIf="type=='inviter'" (click)="sandInvitation()">
发出邀请
</footer>
<footer *ngIf="type=='invitees'" (click)="register()">
点击注册
</footer>
</div>
.invitation_wrapper{
padding: 10px 15px;
width: 100%;
min-height: 100%;
position: relative;
img{
width: 100%;
}
.invitation_content{
font-size: 21px;
text-align: center;
color: #333;
font-weight: bold;
}
.footer{
width: 100%;
margin-top: 15px;
background: #C81B1E;
color: #fff;
font-size: 18px;
font-weight: bold;
border-radius: 4px;
height: 40px;
line-height: 40px;
text-align: center;
.inviter_content,.invitees_content{
position: relative;
img.logo{
position: absolute;
width: 50%;
top: 5%;
left: 0;
right: 0;
bottom: 0;
margin: 0 auto;
}
.invitation_content{
position:absolute;
left: 0;
right: 0;
top: 40%;
font-size: 25px;
text-align: center;
color: #fff;
letter-spacing: 5px;
font-family: 'Source Han Sans CN';
}
footer{
position: absolute;
width: 80%;
background: #C81B1E;
color: #fff;
font-size: 18px;
font-weight: bold;
border-radius: 4px;
height: 40px;
line-height: 40px;
left: 0;
right: 0;
bottom: 8%;
}
}
}
\ No newline at end of file
<div class="wrapper">
<div class="title">
<div>个人照片资料</div>
<div><span class="line"></span>个人照片资料</div>
<span class="page_mark"> 3/8</span>
</div>
<div class="content">
......
......@@ -11,6 +11,18 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
div {
display: flex;
align-items: center;
.line{
width: 5px;
height: 18px;
display: inline-block;
background: #C81B1E;
margin-right: 5px;
}
}
}
.content{
padding: 10px 5px;
......
<div class="wrapper" *ngIf="type =='personal_statement'">
<div class="title">
<div>个人声明</div>
<div><span class="line"></span>个人声明</div>
<span class="page_mark"> 6/8</span>
</div>
<div class="content">
......
......@@ -11,6 +11,18 @@
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 18px;
div {
display: flex;
align-items: center;
.line{
width: 5px;
height: 18px;
display: inline-block;
background: #C81B1E;
margin-right: 5px;
}
}
}
.content{
padding: 10px 13px;
......
......@@ -38,10 +38,11 @@ export class PersonalStatementComponent implements OnInit {
this.lifeCommonService.setTitle(title);
this.hiringBasicInfoId = this.activatedRoute.snapshot.queryParams.hiringBasicInfoId?this.activatedRoute.snapshot.queryParams.hiringBasicInfoId:null;
if(this.type==="personal_statement"){
this.dropOptionsQuery()
this.dropOptionsQuery();
}else{
this.queryContractTerms()
this.queryContractTerms();
}
this.queryWholeInfo(this.hiringBasicInfoId);
}
ngOnChanges(){
......@@ -159,12 +160,15 @@ export class PersonalStatementComponent implements OnInit {
}
readContract(contractItem){
this.isShow = true;
this.curContract = contractItem.termNote;
this.curTitle = contractItem.termName;
this.curContractId = contractItem.id;
console.log(contractItem)
if( contractItem.confirmStatus ==1){
contractItem.confirmStatus = 0;
}else{
this.isShow = true;
this.curContract = contractItem.termNote;
this.curTitle = contractItem.termName;
this.curContractId = contractItem.id;
}
}
//同意合同条款
......@@ -200,4 +204,37 @@ export class PersonalStatementComponent implements OnInit {
}
})
}
queryWholeInfo(hiringBasicInfoId){
this.myService.queryWholeInfo({hiringBasicInfoId:hiringBasicInfoId}).subscribe((res)=>{
if(res['success']){
if(this.type==="personal_statement"){
this.dropOptionsInfoList = res['data']['hiringPersonalStatementsList'];
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'){
this.everWorkFlag = true;
this.everWork = this.dropOptionsInfoList[i]['userInput'];
}else{
this.everWorkFlag = false;
}
}
}
if(this.type === 'contract'){
let hiringContractTermsConfirmsList = res['data']['hiringContractTermsConfirmsList'];
for(let i=0;i<hiringContractTermsConfirmsList.length;i++){
for(let j=0;j<this.contractTermsList.length;j++){
if(hiringContractTermsConfirmsList[i]['contractTermId'] == this.contractTermsList[j]['id']){
this.contractTermsList[j]['confirmStatus'] = hiringContractTermsConfirmsList[i]['confirmStatus'];
}
}
}
this.isAllAgree = this.contractTermsList.every((item)=>{
return item.confirmStatus == 1;
})
}
}
})
}
}
<div class="register_wrapper">
<img class="logo" src="assets/images/register_logo.png" alt="" />
<img class="logo" src="assets/images/register_logo.png" alt="logo" />
<div class="weui-form__control-area">
<div class="weui-cells__group weui-cells__group_form">
<div class="weui-cells weui-cells_form">
......
......@@ -3,7 +3,6 @@ import { MyService } from '../../my.service';
import { ActivatedRoute,Router } from "@angular/router";
import { LifeCommonService } from "../../../common/life-common.service";
import {SignaturePad} from 'angular2-signaturepad';
import EleSign from "elesigncode";
import * as $ from 'jquery';
@Component({
......@@ -12,8 +11,10 @@ import * as $ from 'jquery';
styleUrls: ['./signature.component.scss']
})
export class SignatureComponent implements OnInit {
hiringBasicInfoId:any;
signatureImage:string;
signaturePadOptions:any
signaturePadOptions:any;
imgStr:any;
@ViewChild(SignaturePad) signaturePad : SignaturePad;
constructor(private activatedRoute: ActivatedRoute,
private router: Router,public lifeCommonService:LifeCommonService,
......@@ -34,6 +35,7 @@ export class SignatureComponent 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;
var ele = document.getElementById("signature");
var eleSign = new EleSign();//实例化对象
eleSign.init({setBgColor:'#333333'}); //初始化
......@@ -41,12 +43,14 @@ export class SignatureComponent implements OnInit {
}
next(){
this.router.navigate(['/employee_submit']);
this.saveDigitalSignatures();
// this.router.navigate(['/employee_submit']);
}
drawComplete() {
// will be notified of szimek/signature_pad's onEnd event
console.log(this.signaturePad.toDataURL());
this.imgStr = this.signaturePad.toDataURL();
}
drawStart() {
......@@ -54,4 +58,16 @@ export class SignatureComponent implements OnInit {
console.log('begin drawing');
}
saveDigitalSignatures(){
const param = {
hiringBasicInfoId:this.hiringBasicInfoId,
imgStr:this.imgStr
}
this.myService.saveDigitalSignatures(param).subscribe((res)=>{
console.log(res)
if(res['success']){
}
})
}
}
<div class="wrapper">
<div class="title">
<div>工作经历</div>
<div><span class="line"></span>工作经历</div>
<span class="page_mark"> 2/8</span>
</div>
<div class="content">
......
......@@ -10,7 +10,19 @@
display: flex;
justify-content: space-between;
font-weight: bold;
align-items: center;
align-items: center;
font-size: 18px;
div {
display: flex;
align-items: center;
.line{
width: 5px;
height: 18px;
display: inline-block;
background: #C81B1E;
margin-right: 5px;
}
}
}
.content {
padding: 10px 5px;
......
......@@ -489,4 +489,11 @@ export class MyService {
return this.http
.post(url, JSON.stringify(param));
}
//电子签名保存
saveDigitalSignatures(param){
const url = this.ydapi + '/practitionerHiring/saveDigitalSignatures';
return this.http
.post(url, JSON.stringify(param));
}
}
......@@ -425,7 +425,7 @@ export class RecruitingDetailComponent implements OnInit {
practitionerListQuery(){
this.myService.practitionerListQuery(null).subscribe((res)=>{
this.practitionerList = res['data']['practitionerListInfoList'];
})
});
}
getPractitionerDetails(practitionerId){
......

15.2 KB | W: | H:

19 KB | W: | H:

src/assets/images/back.png
src/assets/images/back.png
src/assets/images/back.png
src/assets/images/back.png
  • 2-up
  • Swipe
  • Onion skin

10.3 KB | W: | H:

13.2 KB | W: | H:

src/assets/images/front.png
src/assets/images/front.png
src/assets/images/front.png
src/assets/images/front.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