'1'
This commit is contained in:
		
							
								
								
									
										41
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										41
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -2879,35 +2879,6 @@ | ||||
|       "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@types/quill": { | ||||
|       "version": "2.0.9", | ||||
|       "resolved": "https://registry.npmmirror.com/@types/quill/-/quill-2.0.9.tgz", | ||||
|       "integrity": "sha512-/n40Ypp+jF3GDLqB/5z1P+Odq1K98txXbBgRDkG6Z90LGC1AwQPtZWNeOdDg0yUlgBSUASmpeDn3eBPUuPXtuw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "parchment": "^1.1.2", | ||||
|         "quill-delta": "^4.0.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "fast-diff": { | ||||
|           "version": "1.2.0", | ||||
|           "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz", | ||||
|           "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", | ||||
|           "dev": true | ||||
|         }, | ||||
|         "quill-delta": { | ||||
|           "version": "4.2.2", | ||||
|           "resolved": "https://registry.npmmirror.com/quill-delta/-/quill-delta-4.2.2.tgz", | ||||
|           "integrity": "sha512-qjbn82b/yJzOjstBgkhtBjN2TNK+ZHP/BgUQO+j6bRhWQQdmj2lH6hXG7+nwwLF41Xgn//7/83lxs9n2BkTtTg==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "fast-diff": "1.2.0", | ||||
|             "lodash.clonedeep": "^4.5.0", | ||||
|             "lodash.isequal": "^4.5.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@types/selenium-webdriver": { | ||||
|       "version": "3.0.19", | ||||
|       "resolved": "https://registry.npmmirror.com/@types/selenium-webdriver/download/@types/selenium-webdriver-3.0.19.tgz", | ||||
| @ -10165,24 +10136,12 @@ | ||||
|       "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz", | ||||
|       "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" | ||||
|     }, | ||||
|     "lodash.clonedeep": { | ||||
|       "version": "4.5.0", | ||||
|       "resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", | ||||
|       "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "lodash.debounce": { | ||||
|       "version": "4.0.8", | ||||
|       "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", | ||||
|       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "lodash.isequal": { | ||||
|       "version": "4.5.0", | ||||
|       "resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", | ||||
|       "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "lodash.memoize": { | ||||
|       "version": "4.1.2", | ||||
|       "resolved": "https://registry.nlark.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz", | ||||
|  | ||||
| @ -0,0 +1,46 @@ | ||||
|  | ||||
| <page-header-wrapper [title]="''" [logo]="logo" [content]="headerContent"> | ||||
|     <ng-template #logo> | ||||
|       <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> | ||||
|         <i nz-icon nzType="left" nzTheme="outline"></i> | ||||
|       </button> | ||||
|     </ng-template> | ||||
|     <ng-template #headerContent> | ||||
|       <div nz-row class="head-box"> | ||||
|         <div nz-col nzSpan="1"> | ||||
|           <img src="./assets/images/usercenter/拉货车.png" alt="" /> | ||||
|         </div> | ||||
|         <div nz-col nzSpan="11" class="pl-lg"> | ||||
|           <div class="right-h">深圳市XXXXXXX有限公司</div> | ||||
|           <div class="right-s">91440300357887492H</div> | ||||
|           <sv-container col="2" > | ||||
|             <sv label="联系人">  </sv> | ||||
|             <sv label="注册时间">  </sv> | ||||
|             <sv label="合同有效期">  </sv> | ||||
|             <sv label="运营主体"> </sv> | ||||
|           </sv-container> | ||||
|         </div> | ||||
|         <div nz-col nzSpan="10"> | ||||
|           <div class="left-rt">待审核</div> | ||||
|           <div class="left-rb"> | ||||
|             <button nz-button (click) ="reject()">拒绝</button> | ||||
|             <button nz-button nzType="primary" (click) ="approve()">通过</button> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|     </ng-template> | ||||
|   </page-header-wrapper> | ||||
|   <nz-card nzTitle="建议反馈"> | ||||
|     <div nz-row> | ||||
|       <div nz-col nzSpan="12"> | ||||
|         <sv-container col="1" labelWidth="120"> | ||||
|           <sv label="问题类型">  </sv> | ||||
|           <sv label="描述或内容建议">  </sv> | ||||
|           <sv label="图片">  </sv> | ||||
|           <sv label="提交时间">  </sv> | ||||
|         </sv-container> | ||||
|       </div> | ||||
|     </div> | ||||
|   </nz-card> | ||||
|  | ||||
|    | ||||
| @ -0,0 +1,27 @@ | ||||
| :host { | ||||
|   .head-box { | ||||
|     img { | ||||
|       width: 80px; | ||||
|       height: 80px; | ||||
|       padding: 8px; | ||||
|     } | ||||
|     .right-h{ | ||||
|       font-size: 16px; | ||||
|     } | ||||
|     .right-s{ | ||||
|       color: #7f7f7f; | ||||
|     } | ||||
|  | ||||
|     .left-rt { | ||||
|       font-weight: bold; | ||||
|       font-size: 16px; | ||||
|       text-align: right; | ||||
|     } | ||||
|  | ||||
|     .left-rb { | ||||
|       display: flex; | ||||
|       justify-content: end; | ||||
|       padding-top: 16px; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { STColumn } from '@delon/abc/st'; | ||||
| import { _HttpClient } from '@delon/theme'; | ||||
| import { NzMessageService } from 'ng-zorro-antd/message'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { ParterClaimAuditListChannelApproveComponent } from '../../../claim-audit/components/channel-approve/channel-approve.component'; | ||||
| import { ParterClaimAuditListChannelRejectComponent } from '../../../claim-audit/components/channel-reject/channel-reject.component'; | ||||
| import { AdviceFeedbackService } from '../../services/advice-feedback.service'; | ||||
|  | ||||
| // import { ParterClaimAuditListChannelApproveComponent } from '../channel-approve/channel-approve.component'; | ||||
| // import { ParterClaimAuditListChannelRejectComponent } from '../channel-reject/channel-reject.component'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-parter-feedback-detail-detail', | ||||
|   templateUrl: './feedback-detail.component.html', | ||||
|   styleUrls: ['./feedback-detail.component.less'] | ||||
| }) | ||||
| export class ParterAdviceFeedbackDetailComponent implements OnInit { | ||||
|   id = this.route.snapshot.queryParams.id; | ||||
|   i: any; | ||||
|   imges: any; | ||||
|   isVisible = false; | ||||
|  | ||||
|   constructor( | ||||
|     private route: ActivatedRoute, | ||||
|     private msgSrv: NzMessageService, | ||||
|     public service: AdviceFeedbackService, | ||||
|     private modalService: NzModalService, | ||||
|     private router: Router | ||||
|   ) {} | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.initData(); | ||||
|   } | ||||
|  | ||||
|   initData() { | ||||
|     // this.service.request(this.service.$api_getBulkBillDetail, { id: this.id }).subscribe(res => { | ||||
|     //   if (res) { | ||||
|     //     this.i = res; | ||||
|     // | ||||
|     //   } | ||||
|     // }); | ||||
|   } | ||||
|  | ||||
|   approve() { | ||||
|     const modalRef = this.modalService.create({ | ||||
|       nzTitle: '同意', | ||||
|       nzWidth: 700, | ||||
|       nzContent: ParterClaimAuditListChannelApproveComponent, | ||||
|       nzComponentParams: { | ||||
|         i: this.i | ||||
|       }, | ||||
|       nzFooter: null | ||||
|     }); | ||||
|   } | ||||
|   reject() { | ||||
|     const modalRef = this.modalService.create({ | ||||
|       nzTitle: '拒绝', | ||||
|       nzWidth: 700, | ||||
|       nzContent: ParterClaimAuditListChannelRejectComponent, | ||||
|       nzComponentParams: { | ||||
|         i: this.i | ||||
|       }, | ||||
|       nzFooter: null | ||||
|     }); | ||||
|   } | ||||
|   goBack() { | ||||
|     window.history.go(-1); | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1,47 @@ | ||||
| <page-header-wrapper [title]="''"></page-header-wrapper> | ||||
| <!-- 搜索表单 --> | ||||
| <nz-card> | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <!-- 查询字段小于或等于3个时,不显示伸缩按钮 --> | ||||
|     <div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4"> | ||||
|       <sf | ||||
|         #sf | ||||
|         [schema]="schema" | ||||
|         [ui]="ui" | ||||
|         [mode]="'search'" | ||||
|         [loading]="service.http.loading" | ||||
|         (formSubmit)="search()" | ||||
|         (formReset)="resetSF()" | ||||
|       ></sf> | ||||
|     </div> | ||||
|  | ||||
|     <!-- 查询字段大于3个时,根据展开状态调整布局 --> | ||||
|     <ng-container *ngIf="queryFieldCount > 4"> | ||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 18"> | ||||
|         <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand"> | ||||
|         <button nz-button nzType="primary" [disabled]="!sf.valid"  (click)="search()" >查询</button> | ||||
|         <button nz-button (click)="resetSF()" >重置</button> | ||||
|         <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|           {{ !_$expand ? '展开' : '收起' }} | ||||
|           <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
|         </button> | ||||
|       </div> | ||||
|     </ng-container> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|       <st | ||||
|         #st1 | ||||
|         [data]="data" | ||||
|         [columns]="columns1" | ||||
|         [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|         [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|         [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|         [loadingDelay]="500" | ||||
|         [loading]="service.http.loading" | ||||
|       > | ||||
|       </st> | ||||
| </nz-card> | ||||
| @ -0,0 +1,228 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; | ||||
| import { processSingleSort } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { AdviceFeedbackService } from '../../services/advice-feedback.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-parter-advice-feedback', | ||||
|   templateUrl: './list.component.html' | ||||
| }) | ||||
| export class ParterAdviceFeedbackListComponent implements OnInit { | ||||
|   schema: SFSchema = {}; | ||||
|   columns1!: STColumn[]; | ||||
|   columns2!: STColumn[]; | ||||
|   @ViewChild('st1', { static: false }) | ||||
|   st1!: STComponent; | ||||
|   ui!: SFUISchema; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   _$expand = false; | ||||
|   selectedIndex =  0; | ||||
|  | ||||
|   data=[{name1:1111}] | ||||
|   constructor( | ||||
|     public router: Router, | ||||
|     public ar: ActivatedRoute, | ||||
|     public service: AdviceFeedbackService, | ||||
|     private modalService: NzModalService | ||||
|   ) {} | ||||
|  | ||||
|   /** | ||||
|    * 查询参数 | ||||
|    */ | ||||
|   get reqParams() { | ||||
|     return { ...this.sf?.value }; | ||||
|   } | ||||
|     /** | ||||
|    * 查询字段个数 | ||||
|    */ | ||||
|      get queryFieldCount(): number { | ||||
|       return Object.keys(this.schema?.properties || {}).length; | ||||
|     } | ||||
|     /** | ||||
|      * 伸缩查询条件 | ||||
|      */ | ||||
|     expandToggle(): void { | ||||
|       this._$expand = !this._$expand; | ||||
|       this.sf?.setValue('/_$expand', this._$expand); | ||||
|     } | ||||
|  | ||||
|   ngOnInit() { | ||||
|     this.initSF(); | ||||
|     this.initST1(); | ||||
|     this.initST2(); | ||||
|   } | ||||
|  | ||||
|   initSF() { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||
|         name: { | ||||
|           type: 'string', | ||||
|           title: '提交人' | ||||
|         }, | ||||
|         name1: { | ||||
|           type: 'string', | ||||
|           title: '企业管理员' | ||||
|         }, | ||||
|         name2: { | ||||
|           type: 'string', | ||||
|           title: '角色' | ||||
|         }, | ||||
|         name3: { | ||||
|           type: 'string', | ||||
|           title: '问题类型', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         name4: { | ||||
|           type: 'string', | ||||
|           title: '状态', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|       } | ||||
|     }; | ||||
|     this.ui = { | ||||
|       '*': { | ||||
|         grid: { span: 8, gutter: 4 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   initST1() { | ||||
|     this.columns1 = [ | ||||
|       { | ||||
|         title: '提交人', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '企业管理员', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '手机号', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '角色', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '问题类型', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '描述或建议', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '状态', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '提交时间', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '操作', | ||||
|         className: 'text-center', | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '详情', | ||||
|             click: (_record, _modal, _instance) => this.partnerView(_record), | ||||
|           }, | ||||
|           { | ||||
|             text: '处理', | ||||
|             click: (_record, _modal, _instance) => this.partnerView(_record), | ||||
|           }, | ||||
|         ] | ||||
|       } | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
|   initST2() { | ||||
|     this.columns2 = [ | ||||
|       { | ||||
|         title: '提交人', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '客户名称', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '认领备注', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: 'CRM状态', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '平台审核状态', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '提交时间', | ||||
|         index: 'name1' | ||||
|       }, | ||||
|       { | ||||
|         title: '操作', | ||||
|         className: 'text-center', | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '详情', | ||||
|             click: (_record, _modal, _instance) => this.channelView(_record), | ||||
|           }, | ||||
|           { | ||||
|             text: '审核', | ||||
|             click: (_record, _modal, _instance) => this.channelView(_record), | ||||
|           }, | ||||
|  | ||||
|         ] | ||||
|       } | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
|   partnerView(record: STData) { | ||||
|     this.router.navigate(['/partner/advice-feedback/detail'], { queryParams: {} }); | ||||
|   } | ||||
|    | ||||
|   channelView(record: STData) { | ||||
|     this.router.navigate(['/partner/advice-feedback/detail'], { queryParams: {} }); | ||||
|   } | ||||
|   /** | ||||
|    * 重置表单 | ||||
|    */ | ||||
|   resetSF() { | ||||
|     this.sf.reset(); | ||||
|   } | ||||
|   search() { | ||||
|     // this.st1?.load(1); | ||||
|   } | ||||
|  | ||||
|   tabChange(index:any){ | ||||
|     console.log(index) | ||||
|     switch (index) { | ||||
|       case 0: | ||||
|         this.initST1(); | ||||
|         break; | ||||
|       case 1: | ||||
|         this.initST2(); | ||||
|         break; | ||||
|       default: | ||||
|         break; | ||||
|     } | ||||
|   } | ||||
|  | ||||
| } | ||||
| @ -0,0 +1,12 @@ | ||||
| import { Injectable, Injector } from '@angular/core'; | ||||
| import { BaseService } from '@shared'; | ||||
|  | ||||
| @Injectable({ | ||||
|   providedIn: 'root', | ||||
| }) | ||||
| export class AdviceFeedbackService extends BaseService { | ||||
|  | ||||
|   constructor(public injector: Injector) { | ||||
|     super(injector); | ||||
|   } | ||||
| } | ||||
| @ -47,6 +47,8 @@ import { ScrollImgComponentsListComponent } from './scrollimg/components/list/li | ||||
| import { BannerComponentsListComponent } from './knowledge/banner/components/list/list.component'; | ||||
| import { BannerComponentsAddComponent } from './knowledge/banner/components/add/add.component'; | ||||
| import { PersonalPartnerDetailComponent } from './partner-list/components/personal-partner-detail/personal-partner-detail.component'; | ||||
| import { ParterAdviceFeedbackListComponent } from './advice-feedback/components/list/list.component'; | ||||
| import { ParterAdviceFeedbackDetailComponent } from './advice-feedback/components/feedback-detail/feedback-detail.component'; | ||||
|  | ||||
| const routes: Routes = [ | ||||
|   { | ||||
| @ -135,6 +137,14 @@ const routes: Routes = [ | ||||
|       { path: 'detail', component: ScrollimgComponentsAddComponent } | ||||
|     ] | ||||
|   }, | ||||
|   { | ||||
|     path: 'advice-feedback', | ||||
|     children: [ | ||||
|       { path: '', component: ParterAdviceFeedbackListComponent }, | ||||
|       { path: 'list', component: ParterAdviceFeedbackListComponent }, | ||||
|       { path: 'detail', component: ParterAdviceFeedbackDetailComponent } | ||||
|     ] | ||||
|   }, | ||||
|   { | ||||
|     path: 'recorded', | ||||
|     children: [ | ||||
|  | ||||
| @ -59,6 +59,8 @@ import { ScrollImgComponentsListComponent } from './scrollimg/components/list/li | ||||
| import { BannerComponentsListComponent } from './knowledge/banner/components/list/list.component'; | ||||
| import { BannerComponentsAddComponent } from './knowledge/banner/components/add/add.component'; | ||||
| import { PersonalPartnerDetailComponent } from './partner-list/components/personal-partner-detail/personal-partner-detail.component'; | ||||
| import { ParterAdviceFeedbackListComponent } from './advice-feedback/components/list/list.component'; | ||||
| import { ParterAdviceFeedbackDetailComponent } from './advice-feedback/components/feedback-detail/feedback-detail.component'; | ||||
|  | ||||
| const COMPONENTS: any[] = [ | ||||
|   PartnerBusinessStatisticsIndexComponent, | ||||
| @ -107,7 +109,9 @@ const COMPONENTS: any[] = [ | ||||
|   PartnerEditComponent, | ||||
|   BannerComponentsListComponent, | ||||
|   BannerComponentsAddComponent, | ||||
|   PersonalPartnerDetailComponent | ||||
|   PersonalPartnerDetailComponent, | ||||
|   ParterAdviceFeedbackListComponent, | ||||
|   ParterAdviceFeedbackDetailComponent | ||||
| ]; | ||||
|  | ||||
| @NgModule({ | ||||
|  | ||||
| @ -596,6 +596,15 @@ | ||||
|               "text": "轮播图管理", | ||||
|               "link": "/partner/scroll-img/list" | ||||
|             }, | ||||
|             { | ||||
|               "text": "建议反馈管理", | ||||
|               "link": "/partner/advice-feedback/list" | ||||
|             }, | ||||
|             { | ||||
|               "text": "建议反馈管理详情", | ||||
|               "link": "/partner/advice-feedback/detail", | ||||
|               "hide": true | ||||
|             }, | ||||
|             { | ||||
|               "text": "知识库管理", | ||||
|               "icon": "iconfont icon-yundan-copy", | ||||
|  | ||||
		Reference in New Issue
	
	Block a user