edit
This commit is contained in:
		| @ -4,29 +4,31 @@ | ||||
|   <div nz-row [nzGutter]="8"> | ||||
|     <div nz-col nzSpan="4"> | ||||
|       <ul nz-menu nzMode="inline" class="card-height"> | ||||
|         <li nz-menu-item [nzSelected]="idx === 0" (click)="changeType(idx)" *ngFor="let item of tabs; let idx = index"> | ||||
|           {{ item.name }} | ||||
|         <li nz-menu-item [nzSelected]="item.type===tabItem.type" (click)="changeType(item)" *ngFor="let item of tabs;"> | ||||
|           {{ item.agreementName }} | ||||
|         </li> | ||||
|       </ul> | ||||
|     </div> | ||||
|     <div nz-col nzSpan="20" style="overflow: scroll"> | ||||
|       <nz-card class="card-height" *ngIf="!isUpdate"> | ||||
|         <div class="mb-md"> | ||||
|           <strong>{{ tabItem.typeName }}</strong> | ||||
|           <strong>{{ tabItem.agreementName }}</strong> | ||||
|           <!-- <button class="btn-right" nz-button nzSize="large" nzType="default" (click)="update()">修改</button> --> | ||||
|         </div> | ||||
|         <div class="mb-lg"> | ||||
|           更新时间: {{ tabItem.modifyTime }} | ||||
|           <a style="margin-left: 8px" target="_blank" [queryParams]="{ type: idx }" [routerLink]="['/agreement']">预览</a> | ||||
|           <a style="margin-left: 8px" target="_blank" [queryParams]="{ type: tabItem.type }" | ||||
|             [routerLink]="['/passport/agreement']">预览</a> | ||||
|           <button nz-button nzType="link" (click)="update()">修改</button> | ||||
|         </div> | ||||
|         <div [innerHTML]="tabItem.content"></div> | ||||
|         <div [innerHTML]="tabItem.agreementContent | safehtml"></div> | ||||
|       </nz-card> | ||||
|  | ||||
|       <nz-card class="card-height" *ngIf="isUpdate"> | ||||
|         <div nz-row nzGutter="8"> | ||||
|           <div nz-col nzSpan="24"> | ||||
|             <sf #sf1 mode="edit" [schema]="schema1" [ui]="ui1" button="none"> </sf> | ||||
|             <sf #sf mode="edit" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 24 }} }" | ||||
|               button="none"> </sf> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="mb-md save-btn"> | ||||
|  | ||||
| @ -13,39 +13,11 @@ import { EnvironmentService } from '@env/environment.service'; | ||||
|   templateUrl: './agreement-config.component.html' | ||||
| }) | ||||
| export class AgreementConfigComponentsBaseComponent implements OnInit { | ||||
|   @ViewChild('sf1', { static: false }) sf1!: SFComponent; | ||||
|  | ||||
|   i: any; | ||||
|   formDate: any = {}; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   schema1!: SFSchema; | ||||
|   ui1: SFUISchema = {}; | ||||
|   idx: any = 0; | ||||
|   isUpdate = false; | ||||
|   type = 0; | ||||
|   tabItem = { | ||||
|     content: '', | ||||
|     id: 0, | ||||
|     modifyTime: '', | ||||
|     type: '', | ||||
|     typeName: '' | ||||
|   }; | ||||
|   tabs = [ | ||||
|     { | ||||
|       name: '《货主端用户注册协议》' | ||||
|     }, | ||||
|     { | ||||
|       name: '《司机端用户注册协议》' | ||||
|     }, | ||||
|     { | ||||
|       name: '《服务协议》' | ||||
|     }, | ||||
|     { | ||||
|       name: '《隐私政策》' | ||||
|     }, | ||||
|     { | ||||
|       name: '《人脸识别协议》' | ||||
|     } | ||||
|   ]; | ||||
|   tabItem: any = {}; | ||||
|   tabs: any[] = []; | ||||
|  | ||||
|   constructor(private service: SystemService) {} | ||||
|  | ||||
| @ -53,7 +25,8 @@ export class AgreementConfigComponentsBaseComponent implements OnInit { | ||||
|     this.loadAgreement(); | ||||
|     this.initSF(); | ||||
|   } | ||||
|   initSF() { | ||||
|  | ||||
|   initSF(data?: any) { | ||||
|     this.schema1 = { | ||||
|       properties: { | ||||
|         content: { | ||||
| @ -65,58 +38,51 @@ export class AgreementConfigComponentsBaseComponent implements OnInit { | ||||
|             config: { | ||||
|               height: 650 | ||||
|             } | ||||
|           } | ||||
|           }, | ||||
|           default: data?.agreementContent || '' | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
|     this.ui1 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 10, | ||||
|         grid: { span: 24 } | ||||
|   } | ||||
|  | ||||
|   changeType(item: any): void { | ||||
|     this.isUpdate = false; | ||||
|     this.tabItem = item; | ||||
|   } | ||||
|  | ||||
|   loadAgreement(type?: number) { | ||||
|     this.service.request(`${this.service.$api_get_agreement_page}`).subscribe(res => { | ||||
|       if (res) { | ||||
|         res.records = res.records.map((item: any) => ({ ...item, agreementContent: decodeURIComponent(item.agreementContent) })); | ||||
|         this.tabs = res.records; | ||||
|         if (type) { | ||||
|           this.tabItem = res.records.find((i: any) => i.type === type); | ||||
|         } else { | ||||
|           this.tabItem = res.records?.[0]; | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   changeType(type: number): void { | ||||
|     this.idx = type; | ||||
|     if (type > 0) { | ||||
|       this.isUpdate = false; | ||||
|       this.type = +type; | ||||
|  | ||||
|       this.loadAgreement(); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   loadAgreement() { | ||||
|     // this.service.request(`${this.service.$api_general_getAgreement}`, { type: this.type }).subscribe((res) => { | ||||
|     //   console.log('🚀 ~ this.service.request ~ res', res); | ||||
|     //   if (res) { | ||||
|     //     this.tabItem = res; | ||||
|     //   } | ||||
|     // }); | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   update() { | ||||
|     this.isUpdate = true; | ||||
|     console.log('🚀 ~ update ~ isUpdate', this.tabItem); | ||||
|  | ||||
|     this.formDate.content = this.tabItem.content; | ||||
|     this.initSF(); | ||||
|     this.initSF(this.tabItem); | ||||
|   } | ||||
|   save() { | ||||
|     const params = { | ||||
|       id: this.tabItem.id, | ||||
|       content: encodeURIComponent(this.sf1?.value.content), | ||||
|       type: this.type | ||||
|       agreementContent: encodeURIComponent(this.sf?.value.content), | ||||
|       type: this.tabItem.type, | ||||
|       agreementName: this.tabItem.agreementName | ||||
|     }; | ||||
|     this.isUpdate = false; | ||||
|     // this.service.request(`${this.service.$api_general_updateAgreement}`, params).subscribe((res) => { | ||||
|     //   if (res) { | ||||
|     //     this.service.msgSrv.success('保存成功'); | ||||
|     //     this.changeType(this.type); | ||||
|     //     this.isUpdate = false; | ||||
|     //   } | ||||
|     // }); | ||||
|     this.service.request(`${this.service.$api_update_agreement}`, params).subscribe(res => { | ||||
|       if (res) { | ||||
|         this.service.msgSrv.success('保存成功'); | ||||
|         this.isUpdate = false; | ||||
|         this.loadAgreement(this.tabItem.type); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   cancel() { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user