e
This commit is contained in:
		| @ -0,0 +1,95 @@ | ||||
| <page-header-wrapper [title]="'新增企业合伙人'"></page-header-wrapper> | ||||
| <nz-card> | ||||
|   <sf #sf1 [ui]="ui" [schema]="schema1" [button]="'none'"> | ||||
|     <ng-template sf-template="_basicInfoTitle" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="form-title">企业基本信息</div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="_licenseTips" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr"> | ||||
|         请上传营业执照原件的高清照片,若上传复印件,则需加盖公司印章; | ||||
|         <div>上传后系统会自动识别并填写</div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="unit" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr">万元</div> | ||||
|     </ng-template> | ||||
|  | ||||
|     <ng-template sf-template="legalPersonIdentityDTO/_legalPersontitle" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="form-title" style="margin-top: 40px;margin-left: -180px;">营业执照法人信息</div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="legalPersonIdentityDTO/_certificatePhototips" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr"> | ||||
|         <div>请上传身份证原件的高清照片,若上传复印件,则需申请人签字;</div> | ||||
|         <div>上传后系统会自动识别并填写</div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="legalPersonIdentityDTO/_certificatePhotoExmplateA" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr"> | ||||
|         <dl class="tips"> | ||||
|           <dt>正面照(人像面)</dt> | ||||
|           <dd>示例</dd> | ||||
|         </dl> | ||||
|         <div class="pa"><img width="190" src="./assets/images/usercenter/certificate-demo-front.png" /></div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="legalPersonIdentityDTO/_certificatePhotoExmplateB" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr"> | ||||
|         <dl class="tips"> | ||||
|           <dt>背面照(国徽面)</dt> | ||||
|           <dd>示例</dd> | ||||
|         </dl> | ||||
|         <div class="pa"><img width="190" src="./assets/images/usercenter/certificate-demo-back.png" /></div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|   </sf> | ||||
|  | ||||
|   <sf #sf [ui]="ui" [schema]="schema" [button]="'none'"> | ||||
|     <ng-template sf-template="title1" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="form-title">企业开票信息</div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="title99" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="form-title">企业管理员信息</div> | ||||
|     </ng-template> | ||||
|  | ||||
|     <ng-template sf-template="tipsD" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr" style="z-index: 999;"> | ||||
|         <div>请上传该企业授权您成为本系统企业管理员的文件的高清照片,需加盖公司印章</div> | ||||
|         <div>上传后系统会自动识别并填写</div> | ||||
|         <div></div> | ||||
|         <div class="pa"><img height="112px" style="margin-top: 12px;z-index: 9999;" | ||||
|             (click)="service.showImg('./assets/images/usercenter/agree.png')" | ||||
|             src="./assets/images/usercenter/agree.png" /></div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="tips" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr"> | ||||
|         <div>请上传身份证原件的高清照片,若上传复印件,则需申请人签字;</div> | ||||
|         <div>上传后系统会自动识别并填写</div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="tipsA" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr"> | ||||
|         <dl class="tips"> | ||||
|           <dt>正面照(人像面)</dt> | ||||
|           <dd>示例</dd> | ||||
|         </dl> | ||||
|         <div class="pa"><img width="190" src="./assets/images/usercenter/certificate-demo-front.png" /></div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="tipsB" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr"> | ||||
|         <dl class="tips"> | ||||
|           <dt>背面照(国徽面)</dt> | ||||
|           <dd>示例</dd> | ||||
|         </dl> | ||||
|         <div class="pa"><img width="190" src="./assets/images/usercenter/certificate-demo-back.png" /></div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|   </sf> | ||||
|  | ||||
|   <div style="padding-left: 379px"> | ||||
|     <button nz-button type="button" nzType="primary" (click)="submitForm()" | ||||
|       [nzLoading]="service.http.loading">确认新增</button> | ||||
|     <button nz-button (click)="goBack()">返回</button> | ||||
|   </div> | ||||
| </nz-card> | ||||
| @ -0,0 +1,68 @@ | ||||
| :host { | ||||
|     ::ng-deep { | ||||
|       nz-card { | ||||
|    | ||||
|         .pr { | ||||
|           position: relative; | ||||
|         } | ||||
|    | ||||
|         .pa { | ||||
|           position: absolute; | ||||
|           top     : 50px; | ||||
|           left    : 150px; | ||||
|         } | ||||
|    | ||||
|         .tips { | ||||
|           display      : flex; | ||||
|           margin-bottom: 0; | ||||
|           color        : #333; | ||||
|    | ||||
|           dt { | ||||
|             width: 150px; | ||||
|           } | ||||
|    | ||||
|           dd { | ||||
|             width        : 190px; | ||||
|             margin-bottom: 0; | ||||
|             text-align   : center; | ||||
|           } | ||||
|         } | ||||
|    | ||||
|         .form-title { | ||||
|           margin-bottom: 10px; | ||||
|           padding-left : 8px; | ||||
|           color        : #333; | ||||
|           font-weight  : 700; | ||||
|           font-size    : 18px; | ||||
|           line-height  : 20px; | ||||
|           border-left  : solid 3px #1890ff; | ||||
|         } | ||||
|    | ||||
|       } | ||||
|    | ||||
|       .ant-form-item { | ||||
|         margin-left: 180px; | ||||
|       } | ||||
|    | ||||
|       nz-date-picker, | ||||
|       nz-input-number { | ||||
|         width: 100% !important; | ||||
|       } | ||||
|    | ||||
|       .input-back { | ||||
|         nz-form-item { | ||||
|           margin-left: 0px; | ||||
|    | ||||
|           .ant-form-item-label { | ||||
|             flex: 0 !important; | ||||
|           } | ||||
|    | ||||
|           .ant-form-item-control { | ||||
|             max-width  : 100% !important; | ||||
|             margin-left: 20px !important; | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|    | ||||
|     } | ||||
|   } | ||||
| @ -0,0 +1,555 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { apiConf } from '@conf/api.conf'; | ||||
| import { | ||||
|   SFUploadWidgetSchema, | ||||
|   SFComponent, | ||||
|   SFSchema, | ||||
|   SFUISchema, | ||||
|   SFCascaderWidgetSchema, | ||||
|   SFTextareaWidgetSchema, | ||||
|   SFDateWidgetSchema, | ||||
|   SFCheckboxWidgetSchema | ||||
| } from '@delon/form'; | ||||
| import { NzUploadFile } from 'ng-zorro-antd/upload'; | ||||
| import { of } from 'rxjs'; | ||||
| import { PartnerListService } from '../../services/partner-list.service'; | ||||
|  | ||||
| const IMAGECONFIG = { | ||||
|   previewFile: (file: NzUploadFile) => of(file.url), | ||||
|   action: apiConf.waterFileUpload, | ||||
|   fileType: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|   fileSize: 5120, | ||||
|   limit: 1, | ||||
|   limitFileCount: 1, | ||||
|   resReName: 'data.fullFileWatermarkPath', | ||||
|   urlReName: 'data.fullFileWatermarkPath', | ||||
|   widget: 'upload', | ||||
|   name: 'multipartFile', | ||||
|   multiple: false, | ||||
|   listType: 'picture-card' | ||||
| } as SFUploadWidgetSchema; | ||||
|  | ||||
| const DATECONFIG = { | ||||
|   grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|   widget: 'date', | ||||
|   format: 'yyyy-MM-dd', | ||||
|   placeholder: '请选择' | ||||
| }; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-add-etp-partner', | ||||
|   templateUrl: './add-etp-partner.component.html', | ||||
|   styleUrls: ['./add-etp-partner.component.less'] | ||||
| }) | ||||
| export class AddEtpPartnerComponent implements OnInit { | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   @ViewChild('sf1', { static: false }) | ||||
|   sf1!: SFComponent; | ||||
|   schema: SFSchema = this.initOthersSF(); | ||||
|   schema1: SFSchema = this.initBasicInfoSF(); | ||||
|   ui: SFUISchema = { | ||||
|     '*': { | ||||
|       spanLabelFixed: 180, | ||||
|       grid: { span: 24 } | ||||
|     }, | ||||
|     $_basicInfoTitle: { | ||||
|       spanLabelFixed: 0 | ||||
|     }, | ||||
|     $title99: { | ||||
|       spanLabelFixed: 0 | ||||
|     }, | ||||
|     $_legalPersontitle: { | ||||
|       spanLabelFixed: 0 | ||||
|     }, | ||||
|     $registrationCapital: { | ||||
|       spanLabelFixed: 180, | ||||
|       grid: { xxl: 13, xl: 18, lg: 22, md: 22 } | ||||
|     }, | ||||
|     $unit: { | ||||
|       grid: { xxl: 6, xl: 6, lg: 2, md: 2 } | ||||
|     }, | ||||
|     $_isLoingDate: { | ||||
|       spanLabelFixed: 100, | ||||
|       grid: { xxl: 6, xl: 6, lg: 4, md: 6 } | ||||
|     } | ||||
|   }; | ||||
|  | ||||
|   constructor(private router: Router, public service: PartnerListService) {} | ||||
|   ngOnInit() { | ||||
|   } | ||||
|  | ||||
|   submitForm() { | ||||
|     if (!this.sf1.valid || !this.sf.valid) { | ||||
|       this.sf.validator({ emitError: true }); | ||||
|       this.sf1.validator({ emitError: true }); | ||||
|       this.service.msgSrv.warning('请修改填写错误信息'); | ||||
|       return; | ||||
|     } | ||||
|     const enterpriseRegistrationTime = new Date(this.sf1.value.enterpriseRegistrationTime); | ||||
|     const operatingStartTime = new Date(this.sf1.value.operatingStartTime); | ||||
|     if (enterpriseRegistrationTime.getTime() > operatingStartTime.getTime()) { | ||||
|       this.service.msgSrv.warning('营业期限不能小于成立日期'); | ||||
|       return; | ||||
|     } | ||||
|     if (this.sf1.value.operatingEndTime) { | ||||
|       const operatingEndTime = new Date(this.sf1.value.operatingEndTime); | ||||
|       if (operatingStartTime.getTime() > operatingEndTime.getTime()) { | ||||
|         this.service.msgSrv.warning('营业期限不能小于期限开始日期'); | ||||
|         return; | ||||
|       } | ||||
|     } | ||||
|     const validStartTime = new Date(this.sf1.value.legalPersonIdentityDTO.validStartTime); | ||||
|     if (this.sf1.value.legalPersonIdentityDTO.validEndTime) { | ||||
|       const validEndTime = new Date(this.sf1.value.legalPersonIdentityDTO.validEndTime); | ||||
|       if (validStartTime.getTime() > validEndTime.getTime()) { | ||||
|         this.service.msgSrv.warning('法人证件有效截止日期小于开始日期'); | ||||
|         return; | ||||
|       } | ||||
|     } | ||||
|     const sfVlaue = this.sf.value; | ||||
|     const params = {}; | ||||
|     Object.assign( | ||||
|       params, | ||||
|       { ...this.sf1.value }, | ||||
|       { ...this.sf.value }, | ||||
|       { | ||||
|         enterpriseAddressCode: this.sf1.value.enterpriseAddressCode[2], | ||||
|         oftenUsedServices: sfVlaue.oftenUsedServices, | ||||
|         registerAddress: sfVlaue.registerAddress, | ||||
|         registerPhone: sfVlaue.registerPhone, | ||||
|         creditPhoto: sfVlaue.creditPhoto, | ||||
|         creditPhotoWatermark: sfVlaue.creditPhotoWatermark, | ||||
|         promotersTelephone: sfVlaue.promotersTelephone, | ||||
|         networkTransporter: sfVlaue.networkTransporter, | ||||
|         adminUserInfo: { | ||||
|           certificateNumber: sfVlaue.certificateNumber, | ||||
|           certificatePhotoBack: sfVlaue.certificatePhotoBack, | ||||
|           certificatePhotoBackWatermark: sfVlaue.certificatePhotoBackWatermark, | ||||
|           certificatePhotoFront: sfVlaue.certificatePhotoFront, | ||||
|           certificatePhotoFrontWatermark: sfVlaue.certificatePhotoFrontWatermark, | ||||
|           name: sfVlaue.name | ||||
|         } | ||||
|       } | ||||
|     ); | ||||
|     // this.service.request(this.service.$api_save_enterprise_admin, params).subscribe(res => { | ||||
|     //   if (res) { | ||||
|     //     this.service.msgSrv.success('企业新增成功'); | ||||
|     //     this.goBack(); | ||||
|     //   } | ||||
|     // }); | ||||
|   } | ||||
|  | ||||
|   /* | ||||
|    * 根据地区code查询地区列表 | ||||
|    */ | ||||
|   getRegionDetailByCode(regionCode: any) { | ||||
|     return this.service.request(this.service.$api_get_region_by_code, { regionCode }); | ||||
|   } | ||||
|  | ||||
|   // 识别身份证 参数isFront:front-正面、back-背面;type:0-申请人身份证,1-法定代表人身份证 | ||||
|   checkIdCard(imgurl: any, isFront: string, type: number) { | ||||
|     const params = { | ||||
|       idCardUrl: imgurl, | ||||
|       side: isFront | ||||
|     }; | ||||
|     this.service.request(this.service.$api_ocr_recognize_id_card, params).subscribe(res => { | ||||
|       if (res) { | ||||
|         if (type === 1) { | ||||
|           // 法定代表人证件照 | ||||
|           if (isFront === 'front') { | ||||
|             // 正面 | ||||
|             if (res.name) { | ||||
|               this.sf1.setValue('/legalPersonIdentityDTO/name', res.name); | ||||
|             } | ||||
|             if (res.number) { | ||||
|               this.sf1.setValue('/legalPersonIdentityDTO/certificateType', 0); | ||||
|               this.sf1.setValue('/legalPersonIdentityDTO/certificateNumber', res.number); | ||||
|             } | ||||
|           } | ||||
|           if (isFront === 'back') { | ||||
|             // 背面 | ||||
|             if (res.validFrom) { | ||||
|               this.sf1.setValue('/legalPersonIdentityDTO/validStartTime', res.validFrom); | ||||
|             } | ||||
|             if (res.validTo) { | ||||
|               this.sf1.setValue('/legalPersonIdentityDTO/validEndTime', res.validTo); | ||||
|               this.sf1.setValue('/legalPersonIdentityDTO/_isLoingDate', false); | ||||
|             } else { | ||||
|               this.sf1.setValue('/legalPersonIdentityDTO/_isLoingDate', true); | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|         // 企业管理员证件照 | ||||
|         if (type === 0) { | ||||
|           if (isFront === 'front') { | ||||
|             // 正面 | ||||
|             if (res.name) { | ||||
|               this.sf.setValue('/name', res.name); | ||||
|             } | ||||
|             if (res.number) { | ||||
|               this.sf.setValue('/certificateNumber', res.number); | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   // 识别营业执照 | ||||
|   checkBusinessLicense(imgurl: any) { | ||||
|     this.service.request(this.service.$api_ocr_recognize_business_license, { businessLicenseUrl: imgurl }).subscribe(res => { | ||||
|       if (res) { | ||||
|         if (res.registrationNumber) { | ||||
|           this.sf1.setValue('/unifiedSocialCreditCode', res.registrationNumber); | ||||
|         } | ||||
|         if (res.name) { | ||||
|           this.sf1.setValue('/enterpriseName', res.name); | ||||
|         } | ||||
|         if (res.type) { | ||||
|           this.sf1.setValue('/enterpriseType', res.type); | ||||
|         } | ||||
|         if (res.addressRegionCodes) { | ||||
|           this.sf1.setValue('/enterpriseAddressCode', res.addressRegionCodes); | ||||
|         } | ||||
|         if (res.address) { | ||||
|           this.sf1.setValue('/enterpriseAddress', res.address); | ||||
|         } | ||||
|         if (res.registeredCapital) { | ||||
|           this.sf1.setValue('/registrationCapital', res.registeredCapital); | ||||
|         } | ||||
|         if (res.foundDate) { | ||||
|           this.sf1.setValue('/enterpriseRegistrationTime', res.foundDate); | ||||
|         } | ||||
|         if (res.businessTermStartDate) { | ||||
|           this.sf1.setValue('/operatingStartTime', res.businessTermStartDate); | ||||
|         } | ||||
|         if (res.businessTermEndDate) { | ||||
|           this.sf1.setValue('/operatingEndTime', res.businessTermEndDate); | ||||
|         } else { | ||||
|           this.sf1.setValue('/_isLoingDate', true); | ||||
|         } | ||||
|         if (res.businessScope) { | ||||
|           this.sf1.setValue('/businessScope', res.businessScope); | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   goBack() { | ||||
|     window.history.go(-1); | ||||
|   } | ||||
|  | ||||
|   private initBasicInfoSF(): SFSchema { | ||||
|     return { | ||||
|       properties: { | ||||
|         _basicInfoTitle: { title: '', type: 'string', ui: { widget: 'custom' } }, | ||||
|         _licenseTips: { title: '营业执照', type: 'string', ui: { widget: 'custom' } }, | ||||
|         licensePhoto: { title: '', type: 'string', ui: { hidden: true } }, | ||||
|         licensePhotoWatermark: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
|             ...IMAGECONFIG, | ||||
|             descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', | ||||
|             change: args => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.sf1.setValue('/licensePhoto', args.fileList[0].response.data.fullFilePath); | ||||
|                 this.checkBusinessLicense(args.fileList[0].response.data.fullFilePath); | ||||
|               } | ||||
|             } | ||||
|           } as SFUploadWidgetSchema | ||||
|         }, | ||||
|         unifiedSocialCreditCode: { | ||||
|           title: '统一社会信用代码', | ||||
|           type: 'string', | ||||
|           minLength: 1, | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             optionalHelp: | ||||
|               '为了企业用户的使用体验,若公司代码即统一社会信用代码已在本应用其他关联平台注册,则此处填写的公司资料将同步更新至对应已注册的平台', | ||||
|             placeholder: '请输入营业执照上的统一社会信用代码', | ||||
|             errors: { | ||||
|               required: '请输入18位公司代码' | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         enterpriseName: { | ||||
|           title: '公司名称', | ||||
|           type: 'string', | ||||
|           minLength: 1, | ||||
|           maxLength: 100, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             placeholder: '请输入营业执照上的统一社会信用代码', | ||||
|             errors: { | ||||
|               required: '请输入公司名称' | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         operatingStartTime: { | ||||
|           title: '营业期限', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             ...DATECONFIG, | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             errors: { | ||||
|               required: '请选择开始日期' | ||||
|             } | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         operatingEndTime: { | ||||
|           title: '', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             ...DATECONFIG, | ||||
|             grid: { xxl: 13, xl: 18, lg: 20, md: 18 }, | ||||
|             errors: { | ||||
|               required: '请选择截止日期' | ||||
|             }, | ||||
|             change: i => { | ||||
|               this.sf1?.setValue('/_isLoingDate', false); | ||||
|             } | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         _isLoingDate: { | ||||
|           title: '长期', | ||||
|           type: 'boolean', | ||||
|           ui: { | ||||
|             class: 'input-back', | ||||
|             widget: 'checkbox', | ||||
|             change: i => this.sf1?.setValue('/operatingEndTime', null) | ||||
|           } as SFCheckboxWidgetSchema | ||||
|         }, | ||||
|  | ||||
|         legalPersonIdentityDTO: { | ||||
|           type: 'object', | ||||
|           properties: { | ||||
|             _legalPersontitle: { title: '', type: 'string', ui: { widget: 'custom' } }, | ||||
|             _certificatePhototips: { title: '法定代表人证件照', type: 'string', ui: { widget: 'custom' } }, | ||||
|             _certificatePhotoExmplateA: { title: '', type: 'string', ui: { widget: 'custom', offsetControl: 6 } }, | ||||
|             certificatePhotoFrontWatermark: { | ||||
|               type: 'string', | ||||
|               title: '', | ||||
|               ui: { | ||||
|                 ...IMAGECONFIG, | ||||
|                 descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', | ||||
|                 change: args => { | ||||
|                   if (args.type === 'success') { | ||||
|                     this.sf1.setValue('/legalPersonIdentityDTO/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); | ||||
|                     this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'front', 1); | ||||
|                   } | ||||
|                 } | ||||
|               } as SFUploadWidgetSchema | ||||
|             }, | ||||
|             _certificatePhotoExmplateB: { title: '', type: 'string', ui: { widget: 'custom', offsetControl: 6 } }, | ||||
|             certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, | ||||
|             certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, | ||||
|             certificatePhotoBackWatermark: { | ||||
|               type: 'string', | ||||
|               title: '', | ||||
|               ui: { | ||||
|                 ...IMAGECONFIG, | ||||
|                 descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', | ||||
|                 change: args => { | ||||
|                   if (args.type === 'success') { | ||||
|                     this.sf1.setValue('/legalPersonIdentityDTO/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); | ||||
|                     this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'back', 1); | ||||
|                   } | ||||
|                 } | ||||
|               } as SFUploadWidgetSchema | ||||
|             }, | ||||
|             name: { | ||||
|               title: '法人代表姓名', | ||||
|               type: 'string', | ||||
|               maxLength: 8, | ||||
|               ui: { | ||||
|                 grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|                 placeholder: '请输入营业执照上的法人姓名' | ||||
|               } | ||||
|             }, | ||||
|             certificateType: { | ||||
|               type: 'string', | ||||
|               title: '法人证件类型', | ||||
|               enum: [ | ||||
|                 { label: '大陆身份证', value: 0 }, | ||||
|                 { label: '港澳居民通行证', value: 1 }, | ||||
|                 { label: '香港居民通行证', value: 2 } | ||||
|               ], | ||||
|               default: 0, | ||||
|               ui: { | ||||
|                 grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|                 widget: 'select' | ||||
|               } | ||||
|             }, | ||||
|             certificateNumber: { | ||||
|               title: ' 法定代表人证件号', | ||||
|               type: 'string', | ||||
|               format: 'id-card', | ||||
|               minLength: 1, | ||||
|               maxLength: 18, | ||||
|               ui: { | ||||
|                 grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|                 placeholder: '请输入法定代表人证件号' | ||||
|               } | ||||
|             }, | ||||
|             validStartTime: { | ||||
|               title: '法人证件有效开始日期', | ||||
|               type: 'string', | ||||
|               ui: { | ||||
|                 grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|                 widget: 'date', | ||||
|                 format: 'yyyy-MM-dd', | ||||
|                 placeholder: '请选择', | ||||
|                 errors: { | ||||
|                   required: '请选择开始日期' | ||||
|                 } | ||||
|               } as SFDateWidgetSchema | ||||
|             }, | ||||
|             validEndTime: { | ||||
|               title: '法人证件有效截止日期', | ||||
|               type: 'string', | ||||
|               ui: { | ||||
|                 grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|                 widget: 'date', | ||||
|                 format: 'yyyy-MM-dd', | ||||
|                 placeholder: '请选择', | ||||
|                 errors: { | ||||
|                   required: '请选择截止日期' | ||||
|                 }, | ||||
|                 change: i => { | ||||
|                   this.sf1?.setValue('/legalPersonIdentityDTO/_isLoingDate', false); | ||||
|                 } | ||||
|               } as SFDateWidgetSchema | ||||
|             }, | ||||
|             _isLoingDate: { | ||||
|               title: '长期', | ||||
|               type: 'boolean', | ||||
|               ui: { | ||||
|                 spanLabelFixed: 100, | ||||
|                 grid: { span: 6 }, | ||||
|                 class: 'input-back', | ||||
|                 widget: 'checkbox', | ||||
|                 change: i => this.sf1?.setValue('/legalPersonIdentityDTO/validEndTime', null) | ||||
|               } as SFCheckboxWidgetSchema | ||||
|             } | ||||
|           }, | ||||
|           required: ['certificatePhotoFront', 'certificatePhotoBack', 'name', 'certificateType', 'certificateNumber', 'validStartTime'] | ||||
|         } | ||||
|       }, | ||||
|       required: [ | ||||
|         'licensePhotoWatermark', | ||||
|         'unifiedSocialCreditCode', | ||||
|         'enterpriseName', | ||||
|         'enterpriseType', | ||||
|         'enterpriseAddressCode', | ||||
|         'enterpriseAddress', | ||||
|         'registrationCapital', | ||||
|         'enterpriseRegistrationTime', | ||||
|         'operatingStartTime', | ||||
|         'businessScope' | ||||
|       ] | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   private initOthersSF(): SFSchema { | ||||
|     return { | ||||
|       properties: { | ||||
|         title99: { title: '', type: 'string', ui: { widget: 'custom' } }, | ||||
|         adminMobile: { | ||||
|           title: ' 企业管理员手机号', | ||||
|           type: 'string', | ||||
|           minLength: 1, | ||||
|           format: 'mobile', | ||||
|           maxLength: 11, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             placeholder: '请输入企业管理员手机号', | ||||
|             errors: { required: '请输入企业管理员手机号', format: '手机号格式错误' } | ||||
|           } | ||||
|         }, | ||||
|         tipsA: { | ||||
|           title: '企业管理员证件照', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'custom' | ||||
|           } | ||||
|         }, | ||||
|         certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, | ||||
|         certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, | ||||
|         certificatePhotoFrontWatermark: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
|             ...IMAGECONFIG, | ||||
|             descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', | ||||
|             change: args => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.sf.setValue('/certificatePhotoFront', args.fileList[0].response.data.fullFilePath); | ||||
|                 this.checkIdCard(args.fileList[0].response.data.fullFilePath, 'front', 0); | ||||
|               } | ||||
|             } | ||||
|           } as SFUploadWidgetSchema | ||||
|         }, | ||||
|         tipsB: { | ||||
|           title: '', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             offsetControl: 6 | ||||
|           } | ||||
|         }, | ||||
|         certificatePhotoBackWatermark: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
|             ...IMAGECONFIG, | ||||
|             descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', | ||||
|             change: args => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.sf.setValue('/certificatePhotoBack', args.fileList[0].response.data.fullFilePath); | ||||
|               } | ||||
|             } | ||||
|           } as SFUploadWidgetSchema | ||||
|         }, | ||||
|         name: { | ||||
|           title: '企业管理员姓名', | ||||
|           type: 'string', | ||||
|           maxLength: 8, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             placeholder: '请输入企业管理员姓名' | ||||
|           } | ||||
|         }, | ||||
|         certificateNumber: { | ||||
|           title: '企业管理员身份证号', | ||||
|           type: 'string', | ||||
|           format: 'id-card', | ||||
|           minLength: 1, | ||||
|           maxLength: 18, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             placeholder: '请输入企业管理员身份证号' | ||||
|           } | ||||
|         }, | ||||
|  | ||||
|         title1: { title: '', type: 'string', ui: { widget: 'custom' } }, | ||||
|         createBank: { | ||||
|           title: '所属城市', | ||||
|           type: 'string', | ||||
|           ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入银行账号' } | ||||
|         }, | ||||
|  | ||||
|         title3: { title: '', type: 'string', ui: { widget: 'custom' } }, | ||||
|         bankAccount: { | ||||
|           title: '渠道销售邀请码', | ||||
|           type: 'string', | ||||
|           ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入银行账号' } | ||||
|         } | ||||
|       }, | ||||
|       required: ['createBank', 'bankAccount', 'adminMobile', 'name', 'certificateNumber', 'tipsD', 'creditPhoto'] | ||||
|     }; | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1 @@ | ||||
| <p>add-personal-partner works!</p> | ||||
| @ -0,0 +1,15 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-add-personal-partner', | ||||
|   templateUrl: './add-personal-partner.component.html', | ||||
|   styleUrls: ['./add-personal-partner.component.less'] | ||||
| }) | ||||
| export class AddPersonalPartnerComponent implements OnInit { | ||||
|  | ||||
|   constructor() { } | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|   } | ||||
|  | ||||
| } | ||||
| @ -22,8 +22,8 @@ | ||||
|  | ||||
| <nz-card class="content-box" nzBordered> | ||||
|     <div class="d-flex align-items-center mb-md mt-md"> | ||||
|         <button nz-button (click)="this.routeTo('/partner/add-etp-partner')" nzType="primary">新增企业合伙人</button> | ||||
|         <button nz-button (click)="this.routeTo('/partner/add-personal-partner')" nzType="primary">新增个人合伙人</button> | ||||
|         <button nz-button (click)="this.routeTo('/partner/partner-list/add-etp-partner')" nzType="primary">新增企业合伙人</button> | ||||
|         <button nz-button (click)="this.routeTo('/partner/partner-list/add-personal-partner')" nzType="primary">新增个人合伙人</button> | ||||
|     </div> | ||||
|  | ||||
|     <st #st [data]="service.$mock_url" [columns]="columns" [req]="{  process: beforeReq }" | ||||
|  | ||||
| @ -11,6 +11,10 @@ export class PartnerListService extends BaseService { | ||||
|   $api_get_region_by_code = '/api/mdc/pbc/region/getRegionByCode'; | ||||
|   // 根据地区code查询地区详情 | ||||
|   $api_get_region_detail_by_code = '/api/mdc/pbc/region/getRegionDetailByCode'; | ||||
|   // 营业执照识别 | ||||
|   $api_ocr_recognize_business_license = '/api/mdc/pbc/hwc/ocr/recognizeBusinessLicense'; | ||||
|   // 身份证识别 | ||||
|   $api_ocr_recognize_id_card = '/api/mdc/pbc/hwc/ocr/recognizeIdCard'; | ||||
|  | ||||
|   constructor(public injector: Injector, private nzModalService: NzModalService) { | ||||
|     super(injector); | ||||
|  | ||||
| @ -33,6 +33,8 @@ import { PartnerAccountManagementWithdrawalsDetailComponent } from './account-ma | ||||
| import { PartnerListComponent } from './partner-list/components/index/partner-list.component'; | ||||
| import { PartnerDetailComponent } from './partner-list/components/partner-detail/partner-detail.component'; | ||||
| import { ParterRebateManageMentSettingComponent } from './rebate-management/components/rebate-setting/rebate-setting.component'; | ||||
| import { AddEtpPartnerComponent } from './partner-list/components/add-etp-partner/add-etp-partner.component'; | ||||
| import { AddPersonalPartnerComponent } from './partner-list/components/add-personal-partner/add-personal-partner.component'; | ||||
|  | ||||
| const routes: Routes = [ | ||||
|   { | ||||
| @ -85,7 +87,9 @@ const routes: Routes = [ | ||||
|     path: 'partner-list', | ||||
|     children: [ | ||||
|       { path: '', component: PartnerListComponent }, | ||||
|       { path: 'detail/:id', component: PartnerDetailComponent } | ||||
|       { path: 'detail/:id', component: PartnerDetailComponent }, | ||||
|       { path: 'add-etp-partner', component: AddEtpPartnerComponent }, | ||||
|       { path: 'add-personal-partner', component: AddPersonalPartnerComponent }, | ||||
|     ] | ||||
|   }, | ||||
|   { | ||||
|  | ||||
| @ -46,6 +46,8 @@ import { PartnerListService } from './partner-list/services/partner-list.service | ||||
| import { ParterRebateManageMentRecordComponent } from './rebate-management/components/rebate-record/rebate-record.component'; | ||||
| import { ParterRebateManageMenAbnormalFeedbackComponent } from './rebate-management/model/abnormal-feedback/abnormal-feedback.component'; | ||||
| import { ParterRebateManageMentSettingComponent } from './rebate-management/components/rebate-setting/rebate-setting.component'; | ||||
| import { AddEtpPartnerComponent } from './partner-list/components/add-etp-partner/add-etp-partner.component'; | ||||
| import { AddPersonalPartnerComponent } from './partner-list/components/add-personal-partner/add-personal-partner.component'; | ||||
|  | ||||
| const COMPONENTS: any[] = [ | ||||
|   PartnerBusinessStatisticsIndexComponent, | ||||
| @ -79,11 +81,14 @@ const COMPONENTS: any[] = [ | ||||
|   PartnerListComponent, | ||||
|   PartnerDetailComponent, | ||||
|   ParterRebateManageMenAbnormalFeedbackComponent, | ||||
|   ParterRebateManageMentSettingComponent | ||||
|   ParterRebateManageMentSettingComponent, | ||||
|   PartnerAuditModalComponent, | ||||
|   AddEtpPartnerComponent, | ||||
|   AddPersonalPartnerComponent | ||||
| ]; | ||||
|  | ||||
| @NgModule({ | ||||
|   declarations: [...COMPONENTS, PartnerAuditModalComponent], | ||||
|   declarations: [...COMPONENTS], | ||||
|   imports: [CommonModule, PartnerRoutingModule, SharedModule], | ||||
|   providers: [PartnerListService] | ||||
| }) | ||||
|  | ||||
		Reference in New Issue
	
	Block a user