248 lines
6.4 KiB
TypeScript
248 lines
6.4 KiB
TypeScript
import { Component, OnInit, ViewChild, ɵɵsetComponentScope } from '@angular/core';
|
|
import { ActivatedRoute } from '@angular/router';
|
|
import { SFComponent, SFSchema, SFSelectWidgetSchema, SFTextareaWidgetSchema, SFUISchema } from '@delon/form';
|
|
import { _HttpClient } from '@delon/theme';
|
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
|
import { OrderManagementService } from '../../services/order-management.service';
|
|
// import { RiskOrderService } from '../../services/risk-order.service';
|
|
// import { CtcAppealComponent } from '../appeal/appeal.component';
|
|
|
|
@Component({
|
|
selector: 'app-oder-management-component-risk-detail',
|
|
templateUrl: './complaint-detail.component.html',
|
|
styleUrls: ['./complaint-detail.component.less']
|
|
})
|
|
export class OrderManagementComplaintDetailComponent implements OnInit {
|
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
|
@ViewChild('sfView', { static: false }) sfView!: SFComponent;
|
|
ui: SFUISchema = {};
|
|
uiView: SFUISchema = {};
|
|
isVisibleRE = false;
|
|
channelId: any;
|
|
schema: SFSchema = {};
|
|
schemaView: SFSchema = {};
|
|
i: any;
|
|
datailList: any = {
|
|
complainantName: '',
|
|
complainantPartyLabel: ''
|
|
};
|
|
complaint: any;
|
|
complaintStatus = false
|
|
id: string = '';
|
|
constructor(private modal: NzModalService, public service: OrderManagementService, public ar: ActivatedRoute) {
|
|
this.id = this.ar.snapshot.params.id;
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
|
|
if (this.id)
|
|
{
|
|
this.getDetail(this.id);
|
|
this.initSF();
|
|
this.initSTAudit()
|
|
}
|
|
|
|
}
|
|
initSTAudit() {
|
|
this.schemaView = {
|
|
properties: {
|
|
handleResult: {
|
|
title: '处理结果',
|
|
type: 'string',
|
|
maxLength: 50,
|
|
ui: {
|
|
placeholder: '最多不超过50字',
|
|
widget: 'textarea',
|
|
autosize: { minRows: 3, maxRows: 6 }
|
|
},
|
|
},
|
|
},
|
|
required: ['handleResult']
|
|
};
|
|
this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } };
|
|
}
|
|
initSF() {
|
|
this.schema = {
|
|
properties: {
|
|
complaintCauseLabel: {
|
|
title: '投诉原因',
|
|
type: 'string',
|
|
maxLength: 30,
|
|
ui: {
|
|
widget: 'text',
|
|
change: (value, orgData) => console.log(value, orgData),
|
|
} as SFSelectWidgetSchema,
|
|
},
|
|
complainantName: {
|
|
title: '托运方',
|
|
type: 'string',
|
|
maxLength: 30,
|
|
ui: {
|
|
widget: 'text',
|
|
change: (value, orgData) => console.log(value, orgData),
|
|
} as SFSelectWidgetSchema,
|
|
},
|
|
complainantPartyLabel: {
|
|
title: '司机',
|
|
type: 'string',
|
|
maxLength: 30,
|
|
ui: {
|
|
widget: 'text',
|
|
change: (value, orgData) => console.log(value, orgData),
|
|
} as SFSelectWidgetSchema,
|
|
},
|
|
complaintDetails: {
|
|
title: '投诉详情',
|
|
type: 'string',
|
|
ui: {
|
|
widget: 'textarea',
|
|
placeholder: '请输入',
|
|
autosize: {
|
|
minRows: 4,
|
|
maxRows: 4
|
|
}
|
|
},
|
|
readOnly: true
|
|
} as SFTextareaWidgetSchema,
|
|
imgUrls: {
|
|
type: 'string',
|
|
title: '上传凭证',
|
|
ui: {
|
|
widget: 'custom'
|
|
}
|
|
},
|
|
},
|
|
};
|
|
|
|
this.ui = {
|
|
'*': {
|
|
spanLabelFixed: 180,
|
|
grid: { span: 18 },
|
|
width: 600,
|
|
},
|
|
$title1: {
|
|
spanLabelFixed: 0,
|
|
},
|
|
$title2: {
|
|
spanLabelFixed: 0,
|
|
},
|
|
$title3: {
|
|
spanLabelFixed: 0,
|
|
},
|
|
$unit: {
|
|
spanLabelFixed: 20,
|
|
grid: { span: 3 },
|
|
},
|
|
};
|
|
}
|
|
getDetail(id: string) {
|
|
this.service.request(this.service.$api_get_getComplaintDriverDetails, { id }).subscribe(res => {
|
|
if (res) {
|
|
this.datailList = res;
|
|
this.complaint = JSON.parse(this.ar.snapshot.queryParams.detail)
|
|
this.datailList.complainantName = this.complaint?.shipperAppUserName
|
|
this.datailList.complainantPartyLabel = this.complaint?.driverIdLabel
|
|
}
|
|
})
|
|
}
|
|
|
|
edit(item: any): void {
|
|
const modalRef = this.modal.create({
|
|
nzTitle: '申诉',
|
|
nzWidth: '40%',
|
|
// nzContent: CtcAppealComponent,
|
|
nzComponentParams: {
|
|
i: item
|
|
},
|
|
nzFooter: null
|
|
});
|
|
modalRef.afterClose.subscribe(res => {
|
|
if (res) {
|
|
|
|
}
|
|
})
|
|
}
|
|
goBack() {
|
|
window.history.go(-1)
|
|
}
|
|
/*
|
|
* 审核关闭弹窗
|
|
view: 1
|
|
浮动费用: 0
|
|
查看评价: 3
|
|
*/
|
|
handleCancel(type: string) {
|
|
if(!this.sfView.valid) {
|
|
this.service.msgSrv.error('请填写处理结果!')
|
|
return
|
|
}
|
|
const paramsa = {
|
|
...this.sfView.value,
|
|
handleStatus: 0,
|
|
id: this.channelId
|
|
}
|
|
this.service.request(this.service.$api_get_dealWithComplaint, paramsa).subscribe((res: any) =>{
|
|
if(res) {
|
|
this.service.msgSrv.success('已拒绝!')
|
|
this.isVisibleRE = false
|
|
this.getDetail(this.id);
|
|
this.complaintStatus = true;
|
|
} else{
|
|
this.service.msgSrv.error(res?.msg)
|
|
}
|
|
})
|
|
this.isVisibleRE = false
|
|
}
|
|
Cancel() {
|
|
this.isVisibleRE = false
|
|
}
|
|
handleCancel2() {
|
|
if(!this.sfView.valid) {
|
|
this.service.msgSrv.error('请填写处理结果!')
|
|
return
|
|
}
|
|
const paramsa = {
|
|
id: this.channelId
|
|
}
|
|
this.service.request(this.service.$api_get_canelComplaint, paramsa).subscribe((res: any) =>{
|
|
if(res) {
|
|
this.service.msgSrv.success('已拒绝!')
|
|
this.isVisibleRE = false
|
|
this.getDetail(this.id);
|
|
this.complaintStatus = true;
|
|
} else{
|
|
this.service.msgSrv.error(res?.msg)
|
|
}
|
|
})
|
|
this.isVisibleRE = false
|
|
}
|
|
/**
|
|
* 审核通过按钮
|
|
*/
|
|
handleOK() {
|
|
if(!this.sfView.valid) {
|
|
this.service.msgSrv.error('请填写处理结果!')
|
|
return
|
|
}
|
|
const paramsa = {
|
|
...this.sfView.value,
|
|
handleStatus: 1,
|
|
id: this.channelId
|
|
}
|
|
this.service.request(this.service.$api_get_dealWithComplaint, paramsa).subscribe((res: any) =>{
|
|
if(res) {
|
|
this.service.msgSrv.success('已通过!')
|
|
this.isVisibleRE = false
|
|
this.complaintStatus = true;
|
|
this.getDetail(this.id);
|
|
} else{
|
|
this.service.msgSrv.error(res?.msg)
|
|
}
|
|
})
|
|
}
|
|
viewEvaluate() {
|
|
this.isVisibleRE = true
|
|
this.channelId = this.id;
|
|
}
|
|
}
|