Commit fb7d034e by Sweet Zhang

增加二维码上传,更新编号

parent 4f4eb4f5
<div class="wrapper"> <div class="wrapper">
<div class="title"> <div class="title">
<div><span class="line"></span>银行卡号</div> <div><span class="line"></span>银行卡号</div>
<span class="page_mark"> 5/8</span> <span class="page_mark"> 7/11</span>
</div> </div>
<div class="content"> <div class="content">
<div class="contentDetail employ"> <div class="contentDetail employ">
......
<div class="wrapper"> <div class="wrapper">
<div class="title"> <div class="title">
<div><span class="line"></span>申请人基本资料</div> <div><span class="line"></span>申请人基本资料</div>
<span class="page_mark"> 1/8</span> <span class="page_mark"> 1/11</span>
</div> </div>
<div class="content"> <div class="content">
<div class="contentDetail employ"> <div class="contentDetail employ">
......
<div class="wrapper"> <div class="wrapper">
<div class="title"> <div class="title">
<div><span class="line"></span>学历信息</div> <div><span class="line"></span>学历信息</div>
<span class="page_mark"> 4/8</span> <span class="page_mark"> 5/11</span>
</div> </div>
<div class="content"> <div class="content">
<div class="contentDetail employ"> <div class="contentDetail employ">
......
...@@ -57,7 +57,7 @@ export class EmployeeEducationComponent implements OnInit { ...@@ -57,7 +57,7 @@ export class EmployeeEducationComponent implements OnInit {
} }
this.myService.saveLastGraduateGrade(param).subscribe((res)=>{ this.myService.saveLastGraduateGrade(param).subscribe((res)=>{
if(res['success']){ if(res['success']){
this.router.navigate(['/bank_card'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} }); this.router.navigate(['/qrcode_upload'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
}else{ }else{
this.toastDialog = true; this.toastDialog = true;
this.toastInfo = { this.toastInfo = {
...@@ -160,7 +160,7 @@ export class EmployeeEducationComponent implements OnInit { ...@@ -160,7 +160,7 @@ export class EmployeeEducationComponent implements OnInit {
} }
viewNext(){ viewNext(){
this.router.navigate(['/bank_card'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} }); this.router.navigate(['/qrcode_upload'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
} }
goBack(){ goBack(){
......
<div class="wrapper"> <div class="wrapper">
<div class="title"> <div class="title">
<div><span class="line"></span>个人证件资料</div> <div><span class="line"></span>个人证件资料</div>
<span class="page_mark"> 3/8</span> <span class="page_mark"> 4/11</span>
</div> </div>
<div class="sub_title"> <div class="sub_title">
<strong>身份证件</strong> <strong>身份证件</strong>
......
<div class="wrapper"> <div class="wrapper">
<div class="title"> <div class="title">
<div><span class="line"></span>薪资单上传</div> <div><span class="line"></span>薪资单上传</div>
<span class="page_mark"> 5/8</span> <span class="page_mark"> 8/11</span>
</div> </div>
<div class="content"> <div class="content">
<div class="photo_wrapper" (click)="selectPic()" *ngIf="!vxUrl"> <div class="photo_wrapper" (click)="selectPic()" *ngIf="!vxUrl">
......
<div class="wrapper"> <div class="wrapper">
<div class="title"> <div class="title">
<div><span class="line"></span>个人证件照片资料</div> <div><span class="line"></span>个人证件照片资料</div>
<span class="page_mark"> 3/8</span> <span class="page_mark"> 3/11</span>
</div> </div>
<div class="content"> <div class="content">
<div class="photo_wrapper" (click)="selectPic()" *ngIf="!vxUrl"> <div class="photo_wrapper" (click)="selectPic()" *ngIf="!vxUrl">
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="wrapper" *ngIf="type=='personal_statement'"> <div class="wrapper" *ngIf="type=='personal_statement'">
<div class="title"> <div class="title">
<div><span class="line"></span>个人声明</div> <div><span class="line"></span>个人声明</div>
<span class="page_mark"> 6/8</span> <span class="page_mark"> 9/11</span>
</div> </div>
<div class="content"> <div class="content">
<ul> <ul>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<div class="wrapper" *ngIf="type =='contract'"> <div class="wrapper" *ngIf="type =='contract'">
<div class="title"> <div class="title">
<div>合同文档确认</div> <div>合同文档确认</div>
<span class="page_mark"> 7/8</span> <span class="page_mark"> 10/11</span>
</div> </div>
<div class="content"> <div class="content">
<ul> <ul>
......
<div class="wrapper">
<div class="title">
<div><span class="line"></span>微信二维码</div>
<span class="page_mark"> 6/11</span>
</div>
<div class="content">
<div class="photo_wrapper" (click)="selectPic()" *ngIf="!vxUrl">
<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()">
</div>
<footer class="fixed" (click)="next()" *ngIf="approveStatus==null || approveStatus=='-1'">
保存并下一步
</footer>
<div id="page" *ngIf="approveStatus!=null && approveStatus !='-1'">
<div (click)="goBack()">上一页</div>
<div (click)="viewNext()">下一页</div>
</div>
</div>
<ydlife-toast *ngIf="toastDialog" [toastInfo]="toastInfo"></ydlife-toast>
<ydlife-alert *ngIf="isNeedAlert" [dialogInfo]="dialogInfo" (popInfo)="getPopInfo()"></ydlife-alert>
.wrapper {
font-size: 18px;
background: #fff;
min-height: 100%;
padding: 10px 13px 0 13px;
select{
-webkit-appearance: none;
}
.title{
display: flex;
justify-content: space-between;
font-weight: bold;
align-items: center;
font-size: 20px;
div {
display: flex;
align-items: center;
.line{
width: 5px;
height: 18px;
display: inline-block;
background: #C81B1E;
margin-right: 5px;
}
}
}
.content{
padding: 15px 0 65px 0;
position: relative;
.photo_wrapper{
width: 189px;
min-height: 222px;
margin: 20px auto 0 auto;
text-align: center;
background: #F8F8F8;
border: 1px #8D8D8D dashed;
border-radius: 4px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
font-size: 14px;
color: #333;
}
.tips{
text-align: center;
font-size: 12px;
margin: 20px auto;
}
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { QrcodeUploadComponent } from './qrcode-upload.component';
describe('QrcodeUploadComponent', () => {
let component: QrcodeUploadComponent;
let fixture: ComponentFixture<QrcodeUploadComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ QrcodeUploadComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(QrcodeUploadComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit ,ChangeDetectorRef} from '@angular/core';
import { MyService } from '../../my.service';
import { ActivatedRoute,Router } from "@angular/router";
import { LifeCommonService } from "../../../common/life-common.service";
declare const wx: any;
@Component({
selector: 'ydlife-qrcode-upload',
templateUrl: './qrcode-upload.component.html',
styleUrls: ['./qrcode-upload.component.scss']
})
export class QrcodeUploadComponent implements OnInit {
hiringBasicInfoId:any;
serverId: any;
vxUrl:any = null;
toastDialog: boolean;
toastInfo: any;
isNeedAlert: boolean;
dialogInfo: any;
approveStatus:any;
constructor(private activatedRoute: ActivatedRoute,
private router: Router,public lifeCommonService:LifeCommonService,
public myService:MyService,private changeDetectorRef: ChangeDetectorRef) { }
ngOnInit() {
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)
}
selectPic(){
if(this.approveStatus==null || this.approveStatus=='-1'){
if(this.lifeCommonService.isWeiXin()){
// 5.1 拍照、本地选图
const t = this;
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
this.localId = res.localIds[0]; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
const THIS = t;
wx.uploadImage({
localId: this.localId, // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (response) {
THIS.serverId = response.serverId; // 返回图片的服务器端ID
const m = {
mediaId: response.serverId,
origin: 'ydLife'
};
THIS.myService.mediaGet(m).subscribe(async e => {
if (e['success']) {
THIS.vxUrl = e['data']['imgUrl'];
THIS.changeDetectorRef.markForCheck();
THIS.changeDetectorRef.detectChanges();
} else {
alert(e['message']);
}
});
}
});
}
});
}else{
this.openPopInfo('请在微信端操作!')
}
}
}
next(){
if(!this.vxUrl){
this.openPopInfo('您的微信二维码不能为空,请在微信端上传!')
return;
}
const param = {
hiringBasicInfoId:this.hiringBasicInfoId,
vxUrl:this.vxUrl
}
this.myService.saveWeChatQRcode(param).subscribe((res)=>{
if(res['success']){
this.router.navigate(['/bank_card'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
}else{
this.toastDialog = true;
this.toastInfo = {
status: 1,
msg: res['message'],
timeout: 3000,
align: 'center'
};
}
})
}
// 打开弹窗
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;
}
queryWholeInfo(hiringBasicInfoId){
this.myService.queryWholeInfo({hiringBasicInfoId:hiringBasicInfoId}).subscribe((res)=>{
if(res['success']){
this.approveStatus = res['data']['hiringBasicInfo']['approveStatus'];
this.vxUrl = res['data']['hiringBasicInfo']['wechatQRcodeOssPath']
}else{
this.vxUrl = null;
}
})
}
viewNext(){
this.router.navigate(['/bank_card'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
}
goBack(){
history.go(-1)
}
}
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div> <div>
电子签名<span style="font-size: 10px;font-weight: normal;">(请书写工整,字迹清晰)</span> 电子签名<span style="font-size: 10px;font-weight: normal;">(请书写工整,字迹清晰)</span>
</div> </div>
<span class="page_mark" *ngIf="(type!='eNotice') && (type!='continuationRate')"> 8/8</span> <span class="page_mark" *ngIf="(type!='eNotice') && (type!='continuationRate')"> 11/11</span>
</div> </div>
<div class="signatureContent"> <div class="signatureContent">
<signature-pad *ngIf="!isSignatureShow" #signaturePad [options]="signaturePadOptions" (onBeginEvent)="drawStart()" (onEndEvent)="drawComplete()"> <signature-pad *ngIf="!isSignatureShow" #signaturePad [options]="signaturePadOptions" (onBeginEvent)="drawStart()" (onEndEvent)="drawComplete()">
......
<div class="wrapper"> <div class="wrapper">
<div class="title"> <div class="title">
<div><span class="line"></span>工作经历</div> <div><span class="line"></span>工作经历</div>
<span class="page_mark"> 2/8</span> <span class="page_mark"> 2/11</span>
</div> </div>
<div class="content" *ngIf="approveStatus==null || approveStatus=='-1'"> <div class="content" *ngIf="approveStatus==null || approveStatus=='-1'">
<div class="contentDetail employ"> <div class="contentDetail employ">
......
...@@ -75,6 +75,7 @@ import { IntegrationComponent } from './integration/integration.component'; ...@@ -75,6 +75,7 @@ import { IntegrationComponent } from './integration/integration.component';
import { IntegrationDetailComponent } from './integration-detail/integration-detail.component'; import { IntegrationDetailComponent } from './integration-detail/integration-detail.component';
import { IntegrationRuleComponent } from './integration-rule/integration-rule.component'; import { IntegrationRuleComponent } from './integration-rule/integration-rule.component';
import { VideoComponent } from '../common/video/video.component'; import { VideoComponent } from '../common/video/video.component';
import { QrcodeUploadComponent } from './application-process/qrcode-upload/qrcode-upload.component';
const myRoutes: Routes = [ const myRoutes: Routes = [
...@@ -127,6 +128,7 @@ const myRoutes: Routes = [ ...@@ -127,6 +128,7 @@ const myRoutes: Routes = [
{ path: 'employee_education',component:EmployeeEducationComponent,data: [{ title: '银盾经纪人报聘' }] }, { path: 'employee_education',component:EmployeeEducationComponent,data: [{ title: '银盾经纪人报聘' }] },
{ path: 'bank_card',component:BankCardComponent,data:[{title:'银盾经纪人报聘'}]}, { path: 'bank_card',component:BankCardComponent,data:[{title:'银盾经纪人报聘'}]},
{ path: 'employee_salary',component:EmployeeSalaryComponent,data: [{ title: '银盾经纪人报聘' }] }, { path: 'employee_salary',component:EmployeeSalaryComponent,data: [{ title: '银盾经纪人报聘' }] },
{ path: 'qrcode_upload',component:QrcodeUploadComponent,data: [{ title: '银盾经纪人报聘' }] },
{ path: 'personal_statement',component:PersonalStatementComponent,data: [{ type:'personal_statement',title: '银盾经纪人报聘' }] }, { path: 'personal_statement',component:PersonalStatementComponent,data: [{ type:'personal_statement',title: '银盾经纪人报聘' }] },
{ path: 'contract',component:PersonalStatementComponent,data: [{ type:'contract',title: '银盾经纪人报聘' }] }, { path: 'contract',component:PersonalStatementComponent,data: [{ type:'contract',title: '银盾经纪人报聘' }] },
{ path: 'signature',component:SignatureComponent,data: [{ title: '银盾经纪人报聘' }]}, { path: 'signature',component:SignatureComponent,data: [{ title: '银盾经纪人报聘' }]},
......
...@@ -90,9 +90,10 @@ import { IntegrationComponent } from './integration/integration.component'; ...@@ -90,9 +90,10 @@ import { IntegrationComponent } from './integration/integration.component';
import { IntegrationDetailComponent } from './integration-detail/integration-detail.component'; import { IntegrationDetailComponent } from './integration-detail/integration-detail.component';
import { IntegrationRuleComponent } from './integration-rule/integration-rule.component'; import { IntegrationRuleComponent } from './integration-rule/integration-rule.component';
import { VideoComponent } from '../common/video/video.component'; import { VideoComponent } from '../common/video/video.component';
import { QrcodeUploadComponent } from './application-process/qrcode-upload/qrcode-upload.component';
@NgModule({ @NgModule({
declarations: [MyCenterHomeComponent, MkMaterialComponent, MkMaterialDetailComponent, FileUploadComponent, ImportantAnnouncementComponent, SalesDetailComponent, AnnouncementDetailComponent, MyBusinessComponent, MyBusinessDetailComponent, PickerComponent, MyToastComponent, SalesRankComponent, TeamRankComponent, RecruitingComponent, RecruitingDetailComponent, ThanksComponent, MySettingComponent, MySettingDetailComponent, MyNewsComponent, MyTargetComponent, TeamPanelComponent, SwitchNumberPipe,SafeResourceUrlPipe, TeamSalesScoreComponent, ScoreDetailsComponent, BusinessCardComponent, OrderDetailComponent, SalaryComponent, TodoListComponent, AddTaskComponent, MedicalServiceComponent, InvitationComponent, RegisterComponent, EmployeeInfoComponent, EmployeeBasicInfoComponent, WorkExperienceComponent, PersonalPhotosComponent, EmployeeIdCardComponent, EmployeeEducationComponent, PersonalStatementComponent, SignatureComponent, EmployeeSubmitComponent, BankCardComponent, MemberDetailComponent, ApprovalListComponent, ApprovalCommentsComponent, ApprovalResultListComponent, MyApplicationComponent, SuggestionComponent, EmployeeSalaryComponent, HistoricalRankComponent, TeamAreaPanelComponent, ArticleComponent, ArticleDetailComponent, ArticleReadComponent,SalaryDetailComponent,SalaryFirstYearComponent,DetailModalComponent, ProductComponent, ProductDataComponent, CommissionComponent, FileListComponent,MyCustomerComponent, CustomerRelationComponent, MyCustomerPolicyComponent, UnderwritingKnowledgeComponent, MyQuestionComponent, AskComponent, MenuItemComponent, MemberListComponent, ENoticeComponent, ENoticeSignComponent, RenewalReminderComponent, RenewalReminderDetailComponent, JointSalesComponent, JointSaleDetailComponent, IntegrationComponent, IntegrationDetailComponent, IntegrationRuleComponent, VideoComponent], declarations: [MyCenterHomeComponent, MkMaterialComponent, MkMaterialDetailComponent, FileUploadComponent, ImportantAnnouncementComponent, SalesDetailComponent, AnnouncementDetailComponent, MyBusinessComponent, MyBusinessDetailComponent, PickerComponent, MyToastComponent, SalesRankComponent, TeamRankComponent, RecruitingComponent, RecruitingDetailComponent, ThanksComponent, MySettingComponent, MySettingDetailComponent, MyNewsComponent, MyTargetComponent, TeamPanelComponent, SwitchNumberPipe,SafeResourceUrlPipe, TeamSalesScoreComponent, ScoreDetailsComponent, BusinessCardComponent, OrderDetailComponent, SalaryComponent, TodoListComponent, AddTaskComponent, MedicalServiceComponent, InvitationComponent, RegisterComponent, EmployeeInfoComponent, EmployeeBasicInfoComponent, WorkExperienceComponent, PersonalPhotosComponent, EmployeeIdCardComponent, EmployeeEducationComponent, PersonalStatementComponent, SignatureComponent, EmployeeSubmitComponent, BankCardComponent, MemberDetailComponent, ApprovalListComponent, ApprovalCommentsComponent, ApprovalResultListComponent, MyApplicationComponent, SuggestionComponent, EmployeeSalaryComponent, HistoricalRankComponent, TeamAreaPanelComponent, ArticleComponent, ArticleDetailComponent, ArticleReadComponent,SalaryDetailComponent,SalaryFirstYearComponent,DetailModalComponent, ProductComponent, ProductDataComponent, CommissionComponent, FileListComponent,MyCustomerComponent, CustomerRelationComponent, MyCustomerPolicyComponent, UnderwritingKnowledgeComponent, MyQuestionComponent, AskComponent, MenuItemComponent, MemberListComponent, ENoticeComponent, ENoticeSignComponent, RenewalReminderComponent, RenewalReminderDetailComponent, JointSalesComponent, JointSaleDetailComponent, IntegrationComponent, IntegrationDetailComponent, IntegrationRuleComponent, VideoComponent, QrcodeUploadComponent],
imports: [ imports: [
CommonModule, CommonModule,
LifeCommonModule, LifeCommonModule,
......
...@@ -440,6 +440,12 @@ export class MyService { ...@@ -440,6 +440,12 @@ export class MyService {
return this.http return this.http
.post(url, JSON.stringify(param)); .post(url, JSON.stringify(param));
} }
//个人二维码照片
saveWeChatQRcode(param){
const url = this.ydapi + '/practitionerHiring/saveWeChatQRcode';
return this.http
.post(url, JSON.stringify(param));
}
//薪资单流水 //薪资单流水
savePayrollPicture(param){ savePayrollPicture(param){
......
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