fix bug
This commit is contained in:
		| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-24 15:54:08 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-02-17 14:05:57 | ||||
|  * @LastEditTime : 2022-02-17 15:03:58 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\network-freight\\network-freight.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -48,7 +48,7 @@ | ||||
| <nz-card class="content-box"> | ||||
|   <!-- 工具栏 --> | ||||
|   <div class="toolbar" style="float: right; padding-bottom: 15px"> | ||||
|     <button nz-button nzType="primary">新增</button> | ||||
|     <button nz-button nzType="primary" (click)="creat()">新增</button> | ||||
|   </div> | ||||
|   <st | ||||
|     #st | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { STComponent, STColumn, STChange } from '@delon/abc/st'; | ||||
| import { SFCascaderWidgetSchema, SFComponent, SFRadioWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; | ||||
| import { DynamicSettingModalComponent, SinglepageSettingModalComponent } from '@shared'; | ||||
| @ -145,7 +146,7 @@ export class NetworkFreightComponent implements OnInit { | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   constructor(public service: SystemService, private nzModalService: NzModalService) {} | ||||
|   constructor(public service: SystemService, private nzModalService: NzModalService,private router: Router,private ar: ActivatedRoute,) {} | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.initSF(); | ||||
| @ -532,4 +533,8 @@ export class NetworkFreightComponent implements OnInit { | ||||
|     this.taxStatus = false | ||||
|    } | ||||
|   }  | ||||
|   // 新增 | ||||
|   creat() { | ||||
|     this.router.navigate(['./new'], { relativeTo: this.ar }); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -0,0 +1,94 @@ | ||||
| <page-header-wrapper [title]="'新增企业'"></page-header-wrapper> | ||||
| <nz-card> | ||||
|   <sf #sf1 [ui]="ui" [schema]="schema1" [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="tips" 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/title2" 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/tipsC" let-me let-ui="ui" let-schema="schema"> | ||||
|       <div class="pr"> | ||||
|         <div>请上传身份证原件的高清照片,若上传复印件,则需申请人签字;</div> | ||||
|         <div>上传后系统会自动识别并填写</div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|     <ng-template sf-template="legalPersonIdentityDTO/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="legalPersonIdentityDTO/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> | ||||
|  | ||||
|   <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()">确认新增</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,737 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { apiConf } from '@conf/api.conf'; | ||||
| import { | ||||
|   SFCascaderWidgetSchema, | ||||
|   SFCheckboxWidgetSchema, | ||||
|   SFComponent, | ||||
|   SFDateWidgetSchema, | ||||
|   SFSchema, | ||||
|   SFTextareaWidgetSchema, | ||||
|   SFUISchema, | ||||
|   SFUploadWidgetSchema | ||||
| } from '@delon/form'; | ||||
| import { NzUploadFile } from 'ng-zorro-antd/upload'; | ||||
| import { of } from 'rxjs'; | ||||
| import { UsermanageService } from 'src/app/routes/usercenter/services/usercenter.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-network-freight-new-component', | ||||
|   templateUrl: './new.component.html', | ||||
|   styleUrls: ['./new.component.less'] | ||||
| }) | ||||
| export class NetworkFreightNewComponent 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 } | ||||
|     }, | ||||
|     $title1: { | ||||
|       spanLabelFixed: 0 | ||||
|     }, | ||||
|     $title99: { | ||||
|       spanLabelFixed: 0 | ||||
|     }, | ||||
|     $title2: { | ||||
|       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: UsermanageService) {} | ||||
|   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: { | ||||
|         title1: { title: '', type: 'string', ui: { widget: 'custom' } }, | ||||
|         tips: { title: '', type: 'string', ui: { widget: 'custom', offsetControl: 6 } }, | ||||
|         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: '请输入公司名称' | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         enterpriseType: { | ||||
|           title: '公司类型', | ||||
|           type: 'string', | ||||
|           minLength: 1, | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             placeholder: '请输入公司类型', | ||||
|             errors: { | ||||
|               required: '请输入公司类型' | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         enterpriseAddressCode: { | ||||
|           type: 'number', | ||||
|           title: '营业执照所在地', | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             widget: 'cascader', | ||||
|             valueProperty: 'regionCode', | ||||
|             labelProperty: 'name', | ||||
|             asyncData: (node: any, index: any) => { | ||||
|               return new Promise(resolve => { | ||||
|                 this.getRegionDetailByCode(node?.regionCode || '').subscribe( | ||||
|                   res => { | ||||
|                     node.children = res.map((item: any) => ({ ...item, isLeaf: index === 1 })); | ||||
|                   }, | ||||
|                   _ => {}, | ||||
|                   () => { | ||||
|                     resolve(); | ||||
|                   } | ||||
|                 ); | ||||
|               }); | ||||
|             } | ||||
|           } as SFCascaderWidgetSchema | ||||
|         }, | ||||
|         enterpriseAddress: { | ||||
|           title: '营业执照详细地址', | ||||
|           type: 'string', | ||||
|           minLength: 1, | ||||
|           maxLength: 240, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             widget: 'textarea', | ||||
|             autosize: { minRows: 2, maxRows: 5 }, | ||||
|             placeholder: '请输入营业执照上的完整详细地址', | ||||
|             errors: { | ||||
|               required: '请输入营业执照上的完整详细地址' | ||||
|             } | ||||
|           } as SFTextareaWidgetSchema | ||||
|         }, | ||||
|         registrationCapital: { | ||||
|           title: '注册资本', | ||||
|           type: 'number', | ||||
|           minimum: 1, | ||||
|           maximum: 99999999999999999999, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 22, md: 22 }, | ||||
|             placeholder: '请输入营业执照上的注册资本', | ||||
|             errors: { | ||||
|               required: '请输入营业执照上的注册资本' | ||||
|             }, | ||||
|             precision: 0 | ||||
|           } | ||||
|         }, | ||||
|         enterpriseRegistrationTime: { | ||||
|           title: '成立日期', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             ...DATECONFIG, | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             errors: { | ||||
|               required: '请选择开始日期' | ||||
|             } | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         blank1: { | ||||
|           type: 'string', | ||||
|           ui: { widget: 'text', grid: { xxl: 11, xl: 6, md: 0, sm: 0 }, class: 'input-back' }, | ||||
|           default: ' ' | ||||
|         }, | ||||
|         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); | ||||
|               setTimeout(() => { | ||||
|                 console.log(this.sf1.value); | ||||
|               }, 1000); | ||||
|             } | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         isLoingDate: { | ||||
|           title: '长期', | ||||
|           type: 'boolean', | ||||
|           ui: { | ||||
|             class: 'input-back', | ||||
|             widget: 'checkbox', | ||||
|             change: i => this.sf1?.setValue('/operatingEndTime', null) | ||||
|           } as SFCheckboxWidgetSchema | ||||
|         }, | ||||
|         businessScope: { | ||||
|           title: '经营范围', | ||||
|           type: 'string', | ||||
|           minLength: 1, | ||||
|           maxLength: 500, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             widget: 'textarea', | ||||
|             autosize: { minRows: 3, maxRows: 5 }, | ||||
|             placeholder: '请输入营业执照上的营经营范围', | ||||
|             errors: { | ||||
|               required: '请输入营业执照上的营经营范围' | ||||
|             } | ||||
|           } as SFTextareaWidgetSchema | ||||
|         }, | ||||
|         taxAuthority: { | ||||
|           title: '税务机关', | ||||
|           type: 'string', | ||||
|           minLength: 1, | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             placeholder: '请输入营业执照上的税务机关', | ||||
|             errors: { | ||||
|               required: '请输入营业执照上的税务机关' | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|  | ||||
|         legalPersonIdentityDTO: { | ||||
|           type: 'object', | ||||
|           properties: { | ||||
|             title2: { title: '', type: 'string', ui: { widget: 'custom' } }, | ||||
|             tipsC: { title: '法定代表人证件照', type: 'string', ui: { widget: 'custom' } }, | ||||
|             tipsA: { 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 | ||||
|             }, | ||||
|             tipsB: { 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: { | ||||
|         title1: { title: '', type: 'string', ui: { widget: 'custom' } }, | ||||
|         createBank: { | ||||
|           title: '开户银行', | ||||
|           type: 'string', | ||||
|           ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入银行账号' } | ||||
|         }, | ||||
|         bankAccount: { | ||||
|           title: '银行账号', | ||||
|           type: 'string', | ||||
|           ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入银行账号' } | ||||
|         }, | ||||
|         registerAddress: { | ||||
|           title: ' 注册地址', | ||||
|           type: 'string', | ||||
|           ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入注册地址' } | ||||
|         }, | ||||
|         registerPhone: { | ||||
|           title: ' 注册电话', | ||||
|           type: 'string', | ||||
|           format: 'mobile', | ||||
|           minLength: 1, | ||||
|           maxLength: 11, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             placeholder: '请输入注册电话', | ||||
|             errors: { required: '请输入注册电话', format: '手机号格式错误' } | ||||
|           } | ||||
|         }, | ||||
|  | ||||
|         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: '请输入企业管理员身份证号' | ||||
|           } | ||||
|         }, | ||||
|         tipsD: { title: '企业授权函', type: 'string', ui: { widget: 'custom' }, default: 1 }, | ||||
|         creditPhoto: { title: '', type: 'string', ui: { hidden: true } }, | ||||
|         creditPhotoWatermark: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
|             ...IMAGECONFIG, | ||||
|             descriptionI18n: '图片支持jpg、jpeg、png、gif格式,大小不超过5M', | ||||
|             change: args => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.sf.setValue('/creditPhoto', args.fileList[0].response.data.fullFilePath); | ||||
|               } | ||||
|             } | ||||
|           } as SFUploadWidgetSchema | ||||
|         }, | ||||
|         oftenUsedServices: { | ||||
|           type: 'string', | ||||
|           title: '常用服务', | ||||
|           enum: [ | ||||
|             { label: '整车发货', value: 10 }, | ||||
|             { label: '大宗发货', value: 20 } | ||||
|           ], | ||||
|           default: '', | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         promotersTelephone: { | ||||
|           title: '推广业务员手机号', | ||||
|           type: 'string', | ||||
|           minLength: 1, | ||||
|           format: 'mobile', | ||||
|           maxLength: 11, | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             placeholder: '请输入推广业务员手机号', | ||||
|             errors: { required: '请输入推广业务员手机号', format: '手机号格式错误' } | ||||
|           } | ||||
|         }, | ||||
|         networkTransporter: { | ||||
|           type: 'string', | ||||
|           title: '网络货运人', | ||||
|           ui: { | ||||
|             grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder() | ||||
|           }, | ||||
|           default: '' | ||||
|         } | ||||
|       }, | ||||
|       required: ['createBank', 'bankAccount', 'adminMobile', 'name', 'certificateNumber', 'tipsD', 'creditPhoto', 'networkTransporter'] | ||||
|     }; | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user