Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -121,7 +121,6 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
|
|||||||
this.initST();
|
this.initST();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.st.load();
|
this.st.load();
|
||||||
this.getGoodsSourceStatistical();
|
|
||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
|||||||
@ -1,7 +1,48 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-03-25 14:10:23
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-03-25 15:59:00
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\audit\\appeal\\appeal.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
<nz-spin *ngIf="!i" class="modal-spin"></nz-spin>
|
<nz-spin *ngIf="!i" class="modal-spin"></nz-spin>
|
||||||
<sf #sf mode="edit" [schema]="schema" [ui]="ui" button="none"></sf>
|
<div nz-row>
|
||||||
|
<sv-container col="1">
|
||||||
|
<sv label="申诉结果">
|
||||||
|
{{ dataList?.representationsStatusLabel }}
|
||||||
|
</sv>
|
||||||
|
<sv label="异常原因">
|
||||||
|
<div *ngFor="let item of dataList?.billComplianceVOS; let id=index;">
|
||||||
|
<div>
|
||||||
|
{{ item?.complianceName }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</sv>
|
||||||
|
<sv label="申诉原因">
|
||||||
|
{{ dataList?.representationsCause }}
|
||||||
|
</sv>
|
||||||
|
<sv label="申诉描述">
|
||||||
|
{{ dataList?.representationsDescribe }}
|
||||||
|
</sv>
|
||||||
|
<sv label="凭证">
|
||||||
|
<div >
|
||||||
|
<app-imagelist
|
||||||
|
[imgList]="[
|
||||||
|
dataList?.representationFirstFilePath ? dataList?.representationFirstFilePath : '',
|
||||||
|
dataList?.representationSecondFilePath,
|
||||||
|
dataList?.representationThirdFilePath,
|
||||||
|
dataList?.representationFourthFilePath,
|
||||||
|
dataList?.representationFifthFilePath
|
||||||
|
]"
|
||||||
|
>
|
||||||
|
</app-imagelist>
|
||||||
|
</div>
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button nz-button type="button" (click)="close()">关闭</button>
|
<button nz-button type="button" (click)="close()">关闭</button>
|
||||||
<button nz-button type="submit" nzType="primary" (click)="save(sf.value)" [disabled]="!sf.valid" [nzLoading]="http.loading">确定</button>
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -22,11 +22,8 @@ import { OrderManagementService } from '../../../services/order-management.servi
|
|||||||
templateUrl: './appeal.component.html'
|
templateUrl: './appeal.component.html'
|
||||||
})
|
})
|
||||||
export class OneCarOrderAppealComponent implements OnInit {
|
export class OneCarOrderAppealComponent implements OnInit {
|
||||||
record: any = {};
|
|
||||||
i: any;
|
i: any;
|
||||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
dataList: any;
|
||||||
schema: SFSchema = {};
|
|
||||||
ui: SFUISchema = {};
|
|
||||||
constructor(
|
constructor(
|
||||||
private modalRef: NzModalRef,
|
private modalRef: NzModalRef,
|
||||||
private modal: NzModalService,
|
private modal: NzModalService,
|
||||||
@ -36,93 +33,88 @@ export class OneCarOrderAppealComponent implements OnInit {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.initSF();
|
this.initDate();
|
||||||
}
|
}
|
||||||
initSF() {
|
// initSF() {
|
||||||
this.schema = {
|
// this.schema = {
|
||||||
properties: {
|
// properties: {
|
||||||
abnormalCause: {
|
// abnormalCause: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '异常原因',
|
// title: '异常原因',
|
||||||
default: this.i.abnormalCause,
|
// default: this.i.abnormalCause,
|
||||||
readOnly: true,
|
// readOnly: true,
|
||||||
ui: {
|
// ui: {
|
||||||
widget: 'textarea',
|
// widget: 'textarea',
|
||||||
autosize: { minRows: 4, maxRows: 6 }
|
// autosize: { minRows: 4, maxRows: 6 }
|
||||||
} as SFTextareaWidgetSchema
|
// } as SFTextareaWidgetSchema
|
||||||
},
|
// },
|
||||||
representationsCause: {
|
// representationsCause: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '申诉原因',
|
// title: '申诉原因',
|
||||||
ui: {
|
// ui: {
|
||||||
widget: 'dict-select',
|
// widget: 'dict-select',
|
||||||
params: { dictKey: 'bill:representation:reason' },
|
// params: { dictKey: 'bill:representation:reason' },
|
||||||
containsAllLabel: false,
|
// containsAllLabel: false,
|
||||||
placeholder: '请选择',
|
// placeholder: '请选择',
|
||||||
errors: { required: '请选择' }
|
// errors: { required: '请选择' }
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
representationsDescribe: {
|
// representationsDescribe: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '申诉描述',
|
// title: '申诉描述',
|
||||||
maxLength: 100,
|
// maxLength: 100,
|
||||||
ui: {
|
// ui: {
|
||||||
widget: 'textarea',
|
// widget: 'textarea',
|
||||||
autosize: { minRows: 4, maxRows: 6 }
|
// autosize: { minRows: 4, maxRows: 6 }
|
||||||
} as SFTextareaWidgetSchema
|
// } as SFTextareaWidgetSchema
|
||||||
},
|
// },
|
||||||
fileArr: {
|
// fileArr: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '上传凭证',
|
// title: '上传凭证',
|
||||||
ui: {
|
// ui: {
|
||||||
action: apiConf.fileUpload,
|
// action: apiConf.fileUpload,
|
||||||
accept: 'image/png,image/jpeg,image/jpg',
|
// accept: 'image/png,image/jpeg,image/jpg',
|
||||||
limit: 5,
|
// limit: 5,
|
||||||
limitFileCount: 5,
|
// limitFileCount: 5,
|
||||||
resReName: 'data.fullFilePath',
|
// resReName: 'data.fullFilePath',
|
||||||
urlReName: 'data.fullFilePath',
|
// urlReName: 'data.fullFilePath',
|
||||||
widget: 'upload',
|
// widget: 'upload',
|
||||||
descriptionI18n: '不超过5张,单张大小不超过5M,支持.jpg、.jpeg和 .png格式',
|
// descriptionI18n: '不超过5张,单张大小不超过5M,支持.jpg、.jpeg和 .png格式',
|
||||||
name: 'multipartFile',
|
// name: 'multipartFile',
|
||||||
multiple: true,
|
// multiple: true,
|
||||||
listType: 'picture-card',
|
// listType: 'picture-card',
|
||||||
beforeUpload: (file: any, _fileList: any) => {
|
// beforeUpload: (file: any, _fileList: any) => {
|
||||||
return new Observable((observer: Observer<boolean>) => {
|
// return new Observable((observer: Observer<boolean>) => {
|
||||||
const isLt2M = file.size / 1024 / 1024 < 5;
|
// const isLt2M = file.size / 1024 / 1024 < 5;
|
||||||
if (!isLt2M) {
|
// if (!isLt2M) {
|
||||||
this.service.msgSrv.warning('图片大小超过5M!');
|
// this.service.msgSrv.warning('图片大小超过5M!');
|
||||||
observer.complete();
|
// observer.complete();
|
||||||
return;
|
|
||||||
}
|
|
||||||
observer.next(isLt2M);
|
|
||||||
observer.complete();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} as SFUploadWidgetSchema
|
|
||||||
}
|
|
||||||
},
|
|
||||||
required: ['representationsCause', 'representationsDescribe']
|
|
||||||
};
|
|
||||||
this.ui = {
|
|
||||||
'*': {
|
|
||||||
spanLabelFixed: 100,
|
|
||||||
grid: { span: 20 }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
save(value: any): void {
|
|
||||||
// if (!this.sf.valid){
|
|
||||||
// this.sf.validator({ emitError: true });
|
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// this.service.request(this.service.$api_addCompleteVehicleRepresentations, { id: this.i?.id, ...this.sf.value }).subscribe(res => {
|
// observer.next(isLt2M);
|
||||||
// if (res) {
|
// observer.complete();
|
||||||
// this.service.msgSrv.success('申诉成功!');
|
|
||||||
// this.modalRef.close(true);
|
|
||||||
// } else {
|
|
||||||
// this.service.msgSrv.error(res.msg);
|
|
||||||
// }
|
|
||||||
// });
|
// });
|
||||||
|
// }
|
||||||
|
// } as SFUploadWidgetSchema
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// required: ['representationsCause', 'representationsDescribe']
|
||||||
|
// };
|
||||||
|
// this.ui = {
|
||||||
|
// '*': {
|
||||||
|
// spanLabelFixed: 100,
|
||||||
|
// grid: { span: 20 }
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// }
|
||||||
|
initDate(): void {
|
||||||
|
console.log(this.i);
|
||||||
|
this.service.request(this.service.$api_get_getOrderComplaintDetail, { id: this.i?.id }).subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
console.log(res);
|
||||||
|
this.dataList = res
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
close(): void {
|
close(): void {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-03 15:31:52
|
* @Date : 2021-12-03 15:31:52
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-22 17:29:07
|
* @LastEditTime : 2022-03-25 15:27:40
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -174,6 +174,8 @@ export class OrderManagementService extends ShipperBaseService {
|
|||||||
$api_get_getTrajectory = `/api/sdc/billShipper/getTrajectoryByBillId`;
|
$api_get_getTrajectory = `/api/sdc/billShipper/getTrajectoryByBillId`;
|
||||||
// 获取订单司机轨迹
|
// 获取订单司机轨迹
|
||||||
$api_get_getAppDriverPosition = `/api/sdc/billShipper/getAppDriverPosition`;
|
$api_get_getAppDriverPosition = `/api/sdc/billShipper/getAppDriverPosition`;
|
||||||
|
// 查看申述记录
|
||||||
|
$api_get_getOrderComplaintDetail = `/api/sdc/billOperate/getOrderComplaintDetail`;
|
||||||
/**
|
/**
|
||||||
* 根据企业ID,获取企业历史网络货运人
|
* 根据企业ID,获取企业历史网络货运人
|
||||||
* @returns
|
* @returns
|
||||||
|
|||||||
@ -1,14 +1,5 @@
|
|||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||||
<!-- <nz-spin *ngIf="!i" class="modal-spin"></nz-spin> -->
|
|
||||||
<div class="serviceBox">
|
|
||||||
<div class="left"><span style="color:red">* </span>客服人员</div>
|
|
||||||
<div class="right">
|
|
||||||
<nz-select [(ngModel)]="appUserId" style="width: 250px;">
|
|
||||||
<nz-option *ngFor="let item of serviceList" [nzValue]="item.appUserId" [nzLabel]="item.name"></nz-option>
|
|
||||||
</nz-select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button nz-button type="button" (click)="close()">关闭</button>
|
<button nz-button type="button" (click)="close()">关闭</button>
|
||||||
<button nz-button type="button" nzType="primary" (click)="submitForm()" [disabled]="!appUserId">确定</button>
|
<button nz-button type="button" nzType="primary" (click)="submitForm()" [disabled]="!sf?.valid">确定</button>
|
||||||
</div>
|
</div>
|
||||||
@ -1,12 +1,13 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { apiConf } from '@conf/api.conf';
|
import { apiConf } from '@conf/api.conf';
|
||||||
import { cacheConf } from '@conf/cache.conf';
|
import { cacheConf } from '@conf/cache.conf';
|
||||||
import { SFUISchema, SFSchema, SFUploadWidgetSchema, SFComponent, SFSelectWidgetSchema } from '@delon/form';
|
import { SFUISchema, SFSchema, SFUploadWidgetSchema, SFComponent, SFSelectWidgetSchema, SFSchemaEnum } from '@delon/form';
|
||||||
import { _HttpClient } from '@delon/theme';
|
import { _HttpClient } from '@delon/theme';
|
||||||
import { EACacheService, EAEnvironmentService } from '@shared';
|
import { EACacheService, EAEnvironmentService } from '@shared';
|
||||||
import { NzModalRef } from 'ng-zorro-antd/modal';
|
import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||||
import { NzUploadFile } from 'ng-zorro-antd/upload';
|
import { NzUploadFile } from 'ng-zorro-antd/upload';
|
||||||
import { Observable, Observer, of } from 'rxjs';
|
import { Observable, Observer, of } from 'rxjs';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
import { UsermanageService } from 'src/app/routes/usercenter/services/usercenter.service';
|
import { UsermanageService } from 'src/app/routes/usercenter/services/usercenter.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -19,7 +20,8 @@ export class ShowServiceComponent implements OnInit {
|
|||||||
appUserId = ''
|
appUserId = ''
|
||||||
record: any = {};
|
record: any = {};
|
||||||
i: any;
|
i: any;
|
||||||
serviceList: any = [];
|
ui!: SFUISchema;
|
||||||
|
schema!: SFSchema;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private modal: NzModalRef,
|
private modal: NzModalRef,
|
||||||
@ -27,23 +29,60 @@ export class ShowServiceComponent implements OnInit {
|
|||||||
) { }
|
) { }
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.initData()
|
this.initSF()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
customerServiceId: {
|
||||||
|
title: '客服人员',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
asyncData: () => {
|
||||||
|
const params = {
|
||||||
|
// enterpriseId: 1,
|
||||||
|
// enterpriseProjectId: this.i.mainProjectId,
|
||||||
|
}
|
||||||
|
return this.service.request(this.service.$api_getStaffList, params).pipe(
|
||||||
|
map((res: any) => {
|
||||||
|
return res.map((i: any) => {
|
||||||
|
return { label: i.name, value: i.appUserId };
|
||||||
|
});
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
// serverSearch: true,
|
||||||
|
// searchDebounceTime: 300,
|
||||||
|
// searchLoadingText: '搜索中...',
|
||||||
|
// onSearch: (q: any) => {
|
||||||
|
// if (!!q) {
|
||||||
|
// return this.service
|
||||||
|
// .request(this.service.$api_getStaffList, {
|
||||||
|
// nameOrPhone: q
|
||||||
|
// })
|
||||||
|
// .pipe(map((res: any) => (res?.records as any[]).map(i => ({ name: i.name, value: i.appUserId } as SFSchemaEnum))))
|
||||||
|
// .toPromise();
|
||||||
|
// } else {
|
||||||
|
// return of([]);
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
}
|
||||||
|
},
|
||||||
|
required: ['customerServiceId']
|
||||||
|
};
|
||||||
|
}
|
||||||
close(): void {
|
close(): void {
|
||||||
this.modal.close(true)
|
this.modal.close(true)
|
||||||
}
|
}
|
||||||
initData(){
|
|
||||||
this.service.request(this.service.$api_getStaffList).subscribe(res => {
|
|
||||||
this.serviceList = res
|
|
||||||
})
|
|
||||||
}
|
|
||||||
submitForm() {
|
submitForm() {
|
||||||
const params: any = {
|
const params: any = {
|
||||||
appUserId: this.appUserId,
|
...this.sf.value,
|
||||||
|
enterpriseIdList: [this.i.id]
|
||||||
};
|
};
|
||||||
this.service.request(this.service.$api_getStaffList, params).subscribe(res => {
|
this.service.request(this.service.$api_distributionCusService, params).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('分配成功')
|
this.service.msgSrv.success('分配成功')
|
||||||
this.modal.close(true)
|
this.modal.close(true)
|
||||||
|
|||||||
@ -162,6 +162,8 @@ export class UsermanageService extends ShipperBaseService {
|
|||||||
$api_getEnterpriceRel = '/api/mdc/enterpriceRelLog/getEnterpriceRel';
|
$api_getEnterpriceRel = '/api/mdc/enterpriceRelLog/getEnterpriceRel';
|
||||||
// 员工列表
|
// 员工列表
|
||||||
$api_getStaffList = '/api/mdc/cuc/userApp/getStaffList';
|
$api_getStaffList = '/api/mdc/cuc/userApp/getStaffList';
|
||||||
|
// 分配客服人员
|
||||||
|
$api_distributionCusService = '/api/mdc/cuc/enterpriseInfo/operate/distributionCusService';
|
||||||
|
|
||||||
constructor(public injector: Injector, public nzModalService: NzModalService, private nzImageService: NzImageService) {
|
constructor(public injector: Injector, public nzModalService: NzModalService, private nzImageService: NzImageService) {
|
||||||
super(injector);
|
super(injector);
|
||||||
|
|||||||
@ -1,6 +1,16 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-03-23 14:24:05
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-03-25 15:47:50
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\imagelist\\imagelist.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<ng-container *ngFor="let item of imgList; let i = index">
|
<ng-container *ngFor="let item of imgList; let i = index">
|
||||||
<ng-container *ngIf="item; else elseTemplate">
|
<ng-container *ngIf="item;">
|
||||||
<img nz-image [nzSrc]="item" />
|
<img nz-image [nzSrc]="item" />
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #elseTemplate>
|
<ng-template #elseTemplate>
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-12-09 17:36:13
|
* @Date: 2021-12-09 17:36:13
|
||||||
* @LastEditTime: 2021-12-10 14:12:24
|
* @LastEditTime : 2022-03-25 15:43:12
|
||||||
* @LastEditors: Please set LastEditors
|
* @LastEditors : Shiming
|
||||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
* @FilePath: \tms-obc-web\src\app\shared\components\imagelist\imagelist.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\imagelist\\imagelist.component.ts
|
||||||
*/
|
*/
|
||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnInit } from '@angular/core';
|
||||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
@ -26,13 +26,20 @@ export class ImageListComponent implements OnInit {
|
|||||||
private nzImageService: NzImageService
|
private nzImageService: NzImageService
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
ngOnInit(): void {
|
||||||
|
|
||||||
|
}
|
||||||
showImg(index: any) {
|
showImg(index: any) {
|
||||||
const params = {
|
const params = {
|
||||||
imgList: this.imgList,
|
imgList: this.imgList,
|
||||||
index
|
index
|
||||||
};
|
};
|
||||||
const images = this.imgList.map((url: string) => ({ src: url }));
|
const images = this.imgList.map((url: string) => {
|
||||||
|
if(url) {
|
||||||
|
console.log(url);
|
||||||
|
({ src: url })
|
||||||
|
}
|
||||||
|
});
|
||||||
this.nzImageService.preview(images);
|
this.nzImageService.preview(images);
|
||||||
// this.modal.create(ImageViewComponent, { params }).subscribe(res => {});
|
// this.modal.create(ImageViewComponent, { params }).subscribe(res => {});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user