Commit 9a91f322 by sunchao

个人签名

parent 5f0c6d70
...@@ -1100,6 +1100,22 @@ ...@@ -1100,6 +1100,22 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true "dev": true
}, },
"angular2-signaturepad": {
"version": "3.0.4",
"resolved": "https://registry.npm.taobao.org/angular2-signaturepad/download/angular2-signaturepad-3.0.4.tgz",
"integrity": "sha1-0BN0TrpRx3EHVtxbDXBx2QRK4CY=",
"requires": {
"signature_pad": "2.3.2",
"tslib": "^2.0.0"
},
"dependencies": {
"tslib": {
"version": "2.0.3",
"resolved": "https://registry.npm.taobao.org/tslib/download/tslib-2.0.3.tgz?cache=0&sync_timestamp=1602286724979&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-2.0.3.tgz",
"integrity": "sha1-jgdBrEX8DCJuWKF7/D5kubxsphw="
}
}
},
"ansi-colors": { "ansi-colors": {
"version": "3.2.4", "version": "3.2.4",
"resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz", "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz",
...@@ -1335,7 +1351,6 @@ ...@@ -1335,7 +1351,6 @@
"version": "2.6.3", "version": "2.6.3",
"resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz",
"integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=",
"dev": true,
"requires": { "requires": {
"lodash": "^4.17.14" "lodash": "^4.17.14"
} }
...@@ -3048,6 +3063,11 @@ ...@@ -3048,6 +3063,11 @@
"integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=",
"dev": true "dev": true
}, },
"duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz",
"integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY="
},
"duplexify": { "duplexify": {
"version": "3.7.1", "version": "3.7.1",
"resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
...@@ -3090,6 +3110,12 @@ ...@@ -3090,6 +3110,12 @@
"integrity": "sha1-6cMZrkN7Pri78+O65L6tWiGUWWE=", "integrity": "sha1-6cMZrkN7Pri78+O65L6tWiGUWWE=",
"dev": true "dev": true
}, },
"elesigncode": {
"version": "1.1.6",
"resolved": "https://registry.npm.taobao.org/elesigncode/download/elesigncode-1.1.6.tgz",
"integrity": "sha1-C8IxItk7eUTEgODcR0cy0T35XDM=",
"dev": true
},
"elliptic": { "elliptic": {
"version": "6.5.3", "version": "6.5.3",
"resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz", "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz",
...@@ -3403,6 +3429,20 @@ ...@@ -3403,6 +3429,20 @@
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true "dev": true
}, },
"event-stream": {
"version": "4.0.1",
"resolved": "https://registry.npm.taobao.org/event-stream/download/event-stream-4.0.1.tgz",
"integrity": "sha1-QJKAjsmV0N116kWAwd9qdNss3mU=",
"requires": {
"duplexer": "^0.1.1",
"from": "^0.1.7",
"map-stream": "0.0.7",
"pause-stream": "^0.0.11",
"split": "^1.0.1",
"stream-combiner": "^0.2.2",
"through": "^2.3.8"
}
},
"eventemitter3": { "eventemitter3": {
"version": "4.0.7", "version": "4.0.7",
"resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517809015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz", "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517809015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz",
...@@ -3868,6 +3908,11 @@ ...@@ -3868,6 +3908,11 @@
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true "dev": true
}, },
"from": {
"version": "0.1.7",
"resolved": "https://registry.npm.taobao.org/from/download/from-0.1.7.tgz",
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4="
},
"from2": { "from2": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz",
...@@ -5585,8 +5630,12 @@ ...@@ -5585,8 +5630,12 @@
"lodash": { "lodash": {
"version": "4.17.20", "version": "4.17.20",
"resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336053864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz", "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336053864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz",
"integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=", "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI="
"dev": true },
"lodash.assign": {
"version": "4.2.0",
"resolved": "https://registry.npm.taobao.org/lodash.assign/download/lodash.assign-4.2.0.tgz",
"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc="
}, },
"lodash.clonedeep": { "lodash.clonedeep": {
"version": "4.5.0", "version": "4.5.0",
...@@ -5775,6 +5824,11 @@ ...@@ -5775,6 +5824,11 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"map-stream": {
"version": "0.0.7",
"resolved": "https://registry.npm.taobao.org/map-stream/download/map-stream-0.0.7.tgz",
"integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg="
},
"map-visit": { "map-visit": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz",
...@@ -5919,6 +5973,11 @@ ...@@ -5919,6 +5973,11 @@
"integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
"dev": true "dev": true
}, },
"mingo": {
"version": "1.3.3",
"resolved": "https://registry.npm.taobao.org/mingo/download/mingo-1.3.3.tgz?cache=0&sync_timestamp=1603450146833&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmingo%2Fdownload%2Fmingo-1.3.3.tgz",
"integrity": "sha1-aSLE0Ufvx3GgFCWixMj3eER4xUY="
},
"mini-css-extract-plugin": { "mini-css-extract-plugin": {
"version": "0.5.0", "version": "0.5.0",
"resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.5.0.tgz", "resolved": "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.5.0.tgz",
...@@ -6965,6 +7024,14 @@ ...@@ -6965,6 +7024,14 @@
} }
} }
}, },
"pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npm.taobao.org/pause-stream/download/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
"requires": {
"through": "~2.3"
}
},
"pbkdf2": { "pbkdf2": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz", "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz",
...@@ -8020,6 +8087,17 @@ ...@@ -8020,6 +8087,17 @@
"https-proxy-agent": "^2.2.1" "https-proxy-agent": "^2.2.1"
} }
}, },
"save": {
"version": "2.4.0",
"resolved": "https://registry.npm.taobao.org/save/download/save-2.4.0.tgz",
"integrity": "sha1-r5P/mz16QdCv9JojQzhwYTpGD5s=",
"requires": {
"async": "^2.6.2",
"event-stream": "^4.0.1",
"lodash.assign": "^4.2.0",
"mingo": "1"
}
},
"sax": { "sax": {
"version": "0.5.8", "version": "0.5.8",
"resolved": "https://registry.npm.taobao.org/sax/download/sax-0.5.8.tgz", "resolved": "https://registry.npm.taobao.org/sax/download/sax-0.5.8.tgz",
...@@ -8318,6 +8396,11 @@ ...@@ -8318,6 +8396,11 @@
"integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=",
"dev": true "dev": true
}, },
"signature_pad": {
"version": "2.3.2",
"resolved": "https://registry.npm.taobao.org/signature_pad/download/signature_pad-2.3.2.tgz",
"integrity": "sha1-ynIwAhyJzt7q0nsz2NFv8lTl8Eo="
},
"slash": { "slash": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
...@@ -8812,6 +8895,14 @@ ...@@ -8812,6 +8895,14 @@
"chalk": "^2.0.1" "chalk": "^2.0.1"
} }
}, },
"split": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/split/download/split-1.0.1.tgz",
"integrity": "sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k=",
"requires": {
"through": "2"
}
},
"split-string": { "split-string": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz",
...@@ -8909,6 +9000,15 @@ ...@@ -8909,6 +9000,15 @@
"readable-stream": "^2.0.2" "readable-stream": "^2.0.2"
} }
}, },
"stream-combiner": {
"version": "0.2.2",
"resolved": "https://registry.npm.taobao.org/stream-combiner/download/stream-combiner-0.2.2.tgz",
"integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
"requires": {
"duplexer": "~0.1.1",
"through": "~2.3.4"
}
},
"stream-each": { "stream-each": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz",
...@@ -9203,8 +9303,7 @@ ...@@ -9203,8 +9303,7 @@
"through": { "through": {
"version": "2.3.8", "version": "2.3.8",
"resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
"dev": true
}, },
"through2": { "through2": {
"version": "2.0.5", "version": "2.0.5",
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
"@angular/platform-browser": "~7.2.0", "@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0", "@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0", "@angular/router": "~7.2.0",
"angular2-signaturepad": "^3.0.4",
"buffer": "^5.4.3", "buffer": "^5.4.3",
"core-js": "^2.5.4", "core-js": "^2.5.4",
"dayjs": "^1.8.35", "dayjs": "^1.8.35",
...@@ -29,6 +30,7 @@ ...@@ -29,6 +30,7 @@
"ng-zorro-antd-mobile": "^0.12.5", "ng-zorro-antd-mobile": "^0.12.5",
"ngx-echarts": "^3.2.0", "ngx-echarts": "^3.2.0",
"rxjs": "~6.3.3", "rxjs": "~6.3.3",
"save": "^2.4.0",
"tslib": "^1.9.0", "tslib": "^1.9.0",
"uuid": "^3.3.3", "uuid": "^3.3.3",
"zone.js": "~0.8.26" "zone.js": "~0.8.26"
...@@ -42,6 +44,7 @@ ...@@ -42,6 +44,7 @@
"@types/jasminewd2": "~2.0.3", "@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4", "@types/node": "~8.9.4",
"codelyzer": "~4.5.0", "codelyzer": "~4.5.0",
"elesigncode": "^1.1.6",
"jasmine-core": "~2.99.1", "jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1", "jasmine-spec-reporter": "~4.2.1",
"karma": "~4.0.0", "karma": "~4.0.0",
......
...@@ -30,7 +30,6 @@ export class PersonalStatementComponent implements OnInit { ...@@ -30,7 +30,6 @@ export class PersonalStatementComponent implements OnInit {
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.hiringBasicInfoId = this.activatedRoute.snapshot.queryParams.hiringBasicInfoId?this.activatedRoute.snapshot.queryParams.hiringBasicInfoId:null; this.hiringBasicInfoId = this.activatedRoute.snapshot.queryParams.hiringBasicInfoId?this.activatedRoute.snapshot.queryParams.hiringBasicInfoId:null;
console.log(this.type)
if(this.type==="personal_statement"){ if(this.type==="personal_statement"){
this.dropOptionsQuery() this.dropOptionsQuery()
}else{ }else{
...@@ -40,7 +39,6 @@ export class PersonalStatementComponent implements OnInit { ...@@ -40,7 +39,6 @@ export class PersonalStatementComponent implements OnInit {
next(){ next(){
if(this.type == 'personal_statement'){ if(this.type == 'personal_statement'){
// this.router.navigate(['/contract'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
this.savePersonalStatements(); this.savePersonalStatements();
}else if(this.type == 'contract'){ }else if(this.type == 'contract'){
this.router.navigate(['/signature'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} }); this.router.navigate(['/signature'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
...@@ -61,7 +59,6 @@ export class PersonalStatementComponent implements OnInit { ...@@ -61,7 +59,6 @@ export class PersonalStatementComponent implements OnInit {
}) })
} }
// 打开弹窗 // 打开弹窗
openPopInfo(message) { openPopInfo(message) {
this.isNeedAlert = true; this.isNeedAlert = true;
...@@ -105,6 +102,17 @@ export class PersonalStatementComponent implements OnInit { ...@@ -105,6 +102,17 @@ export class PersonalStatementComponent implements OnInit {
}) })
} }
} }
const param = {
hiringBasicInfoId:this.hiringBasicInfoId,
personalStatementList:this.dropOptionsInfoListParam
}
this.myService.savePersonalStatements(param).subscribe((res)=>{
if(res['success']){
this.router.navigate(['/contract'],{ queryParams: { hiringBasicInfoId:this.hiringBasicInfoId} });
}else{
this.openPopInfo(res['message']);
}
})
} }
queryContractTerms(){ queryContractTerms(){
......
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
</div> </div>
<span class="page_mark"> 8/8</span> <span class="page_mark"> 8/8</span>
</div> </div>
<div id="signature"></div>
<signature-pad id="signatureCanvas" [options]="signaturePadOptions"></signature-pad>
<footer class="fixed" (click)="next()"> <footer class="fixed" (click)="next()">
我自愿签订经纪人合同书 我自愿签订经纪人合同书
</footer> </footer>
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit,ViewChild } from '@angular/core';
import { MyService } from '../../my.service'; import { MyService } from '../../my.service';
import { ActivatedRoute,Router } from "@angular/router"; import { ActivatedRoute,Router } from "@angular/router";
import { LifeCommonService } from "../../../common/life-common.service"; import { LifeCommonService } from "../../../common/life-common.service";
import {SignaturePad} from 'angular2-signaturepad'
import EleSign from "elesigncode";
@Component({ @Component({
selector: 'ydlife-signature', selector: 'ydlife-signature',
...@@ -9,14 +11,22 @@ import { LifeCommonService } from "../../../common/life-common.service"; ...@@ -9,14 +11,22 @@ import { LifeCommonService } from "../../../common/life-common.service";
styleUrls: ['./signature.component.scss'] styleUrls: ['./signature.component.scss']
}) })
export class SignatureComponent implements OnInit { export class SignatureComponent implements OnInit {
signatureImage:string;
@ViewChild(SignaturePad) signaturePad: SignaturePad;
constructor(private activatedRoute: ActivatedRoute, constructor(private activatedRoute: ActivatedRoute,
private router: Router,public lifeCommonService:LifeCommonService, private router: Router,public lifeCommonService:LifeCommonService,
public myService:MyService) { } public myService:MyService) {
}
ngOnInit() { ngOnInit() {
const title = this.activatedRoute.snapshot.data[0]['title']; const title = this.activatedRoute.snapshot.data[0]['title'];
this.lifeCommonService.setTitle(title); this.lifeCommonService.setTitle(title);
var ele = document.getElementById("signature");
var eleSign = new EleSign();//实例化对象
eleSign.init({setBgColor:'#333333'}); //初始化
eleSign.moutedEle(ele) //将签名节点放入到传入的element节点中
} }
next(){ next(){
......
...@@ -48,7 +48,8 @@ import { EmployeeEducationComponent } from './application-process/employee-educa ...@@ -48,7 +48,8 @@ import { EmployeeEducationComponent } from './application-process/employee-educa
import { PersonalStatementComponent } from './application-process/personal-statement/personal-statement.component'; import { PersonalStatementComponent } from './application-process/personal-statement/personal-statement.component';
import { SignatureComponent } from './application-process/signature/signature.component'; import { SignatureComponent } from './application-process/signature/signature.component';
import { EmployeeSubmitComponent } from './application-process/employee-submit/employee-submit.component'; import { EmployeeSubmitComponent } from './application-process/employee-submit/employee-submit.component';
import { BankCardComponent } from './application-process/bank-card/bank-card.component' import { BankCardComponent } from './application-process/bank-card/bank-card.component';
import { SignaturePadModule } from 'angular2-signaturepad';
@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, TeamSalesScoreComponent, ScoreDetailsComponent, BusinessCardComponent, OrderDetailComponent, SalaryComponent, TodoListComponent, AddTaskComponent, MedicalServiceComponent, InvitationComponent, RegisterComponent, EmployeeInfoComponent, EmployeeBasicInfoComponent, WorkExperienceComponent, PersonalPhotosComponent, EmployeeIdCardComponent, EmployeeEducationComponent, PersonalStatementComponent, SignatureComponent, EmployeeSubmitComponent, BankCardComponent], declarations: [MyCenterHomeComponent, MkMaterialComponent, MkMaterialDetailComponent, FileUploadComponent, ImportantAnnouncementComponent, SalesDetailComponent, AnnouncementDetailComponent, MyBusinessComponent, MyBusinessDetailComponent, PickerComponent, MyToastComponent, SalesRankComponent, TeamRankComponent, RecruitingComponent, RecruitingDetailComponent, ThanksComponent, MySettingComponent, MySettingDetailComponent, MyNewsComponent, MyTargetComponent, TeamPanelComponent, SwitchNumberPipe, TeamSalesScoreComponent, ScoreDetailsComponent, BusinessCardComponent, OrderDetailComponent, SalaryComponent, TodoListComponent, AddTaskComponent, MedicalServiceComponent, InvitationComponent, RegisterComponent, EmployeeInfoComponent, EmployeeBasicInfoComponent, WorkExperienceComponent, PersonalPhotosComponent, EmployeeIdCardComponent, EmployeeEducationComponent, PersonalStatementComponent, SignatureComponent, EmployeeSubmitComponent, BankCardComponent],
imports: [ imports: [
...@@ -56,7 +57,8 @@ import { BankCardComponent } from './application-process/bank-card/bank-card.com ...@@ -56,7 +57,8 @@ import { BankCardComponent } from './application-process/bank-card/bank-card.com
LifeCommonModule, LifeCommonModule,
MyRoutingModule, MyRoutingModule,
NgZorroAntdMobileModule, NgZorroAntdMobileModule,
NgxEchartsModule NgxEchartsModule,
SignaturePadModule
], ],
entryComponents: [ModalServiceComponent, ToastComponent], entryComponents: [ModalServiceComponent, ToastComponent],
providers: [ providers: [
......
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