From 504078a7ec49eb96ab52ef39de5695ad5c78e3a3 Mon Sep 17 00:00:00 2001 From: 1107302052 <1107302052@qq.com> Date: Mon, 21 Mar 2022 00:57:42 +0800 Subject: [PATCH] '1' --- package-lock.json | 41 ---- .../feedback-detail.component.html | 46 ++++ .../feedback-detail.component.less | 27 +++ .../feedback-detail.component.ts | 71 ++++++ .../components/list/list.component.html | 47 ++++ .../components/list/list.component.ts | 228 ++++++++++++++++++ .../services/advice-feedback.service.ts | 12 + .../routes/partner/partner-routing.module.ts | 10 + src/app/routes/partner/partner.module.ts | 6 +- src/assets/mocks/menu-data.json | 9 + 10 files changed, 455 insertions(+), 42 deletions(-) create mode 100644 src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.html create mode 100644 src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.less create mode 100644 src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.ts create mode 100644 src/app/routes/partner/advice-feedback/components/list/list.component.html create mode 100644 src/app/routes/partner/advice-feedback/components/list/list.component.ts create mode 100644 src/app/routes/partner/advice-feedback/services/advice-feedback.service.ts diff --git a/package-lock.json b/package-lock.json index 64c94964..ddf3948b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.html b/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.html new file mode 100644 index 00000000..a0469712 --- /dev/null +++ b/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.html @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + 深圳市XXXXXXX有限公司 + 91440300357887492H + + + + + + + + + 待审核 + + 拒绝 + 通过 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.less b/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.less new file mode 100644 index 00000000..e62642d0 --- /dev/null +++ b/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.less @@ -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; + } + } +} \ No newline at end of file diff --git a/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.ts b/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.ts new file mode 100644 index 00000000..d7aa10db --- /dev/null +++ b/src/app/routes/partner/advice-feedback/components/feedback-detail/feedback-detail.component.ts @@ -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); + } +} diff --git a/src/app/routes/partner/advice-feedback/components/list/list.component.html b/src/app/routes/partner/advice-feedback/components/list/list.component.html new file mode 100644 index 00000000..ca389dea --- /dev/null +++ b/src/app/routes/partner/advice-feedback/components/list/list.component.html @@ -0,0 +1,47 @@ + + + + + + + + + + + 4"> + + + + + 查询 + 重置 + + {{ !_$expand ? '展开' : '收起' }} + + + + + + + + + + + diff --git a/src/app/routes/partner/advice-feedback/components/list/list.component.ts b/src/app/routes/partner/advice-feedback/components/list/list.component.ts new file mode 100644 index 00000000..80260b01 --- /dev/null +++ b/src/app/routes/partner/advice-feedback/components/list/list.component.ts @@ -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; + } + } + +} diff --git a/src/app/routes/partner/advice-feedback/services/advice-feedback.service.ts b/src/app/routes/partner/advice-feedback/services/advice-feedback.service.ts new file mode 100644 index 00000000..1e94e786 --- /dev/null +++ b/src/app/routes/partner/advice-feedback/services/advice-feedback.service.ts @@ -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); + } +} diff --git a/src/app/routes/partner/partner-routing.module.ts b/src/app/routes/partner/partner-routing.module.ts index 27c92fb7..afcd8d41 100644 --- a/src/app/routes/partner/partner-routing.module.ts +++ b/src/app/routes/partner/partner-routing.module.ts @@ -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: [ diff --git a/src/app/routes/partner/partner.module.ts b/src/app/routes/partner/partner.module.ts index 75c9c2a7..986d5e59 100644 --- a/src/app/routes/partner/partner.module.ts +++ b/src/app/routes/partner/partner.module.ts @@ -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({ diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 22c0317b..df702349 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -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",