'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