Merge branch 'develop' of gitlab.eascs.com:tms-ui/tms-obc-web into develop
This commit is contained in:
@ -84,9 +84,11 @@ export class AdvanceCollectionComponent {
|
|||||||
title: '付款人',
|
title: '付款人',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
serverSearch: true,
|
||||||
|
searchDebounceTime: 300,
|
||||||
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
asyncData: () => this.service.getCRM()
|
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
brmtype: {
|
brmtype: {
|
||||||
|
|||||||
@ -80,7 +80,7 @@ export class FreightAccountComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
this.service.asyncExport({ ...this.sf.value, pageSize: -1 }, this.service.$api_export_shipper);
|
||||||
}
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
|
|||||||
@ -151,9 +151,11 @@ export class ReceiptOrderComponent implements OnInit {
|
|||||||
title: '付款人',
|
title: '付款人',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
serverSearch: true,
|
||||||
|
searchDebounceTime: 300,
|
||||||
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
asyncData: () => this.service.getCRM(),
|
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }),
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,9 +29,9 @@
|
|||||||
<se label="付款人" required>
|
<se label="付款人" required>
|
||||||
{{headerInfo?.artoname}}
|
{{headerInfo?.artoname}}
|
||||||
</se>
|
</se>
|
||||||
<se label="付款账户" required>
|
<!-- <se label="付款账户" required>
|
||||||
{{headerInfo?.artocode}}
|
{{headerInfo?.artocode}}
|
||||||
</se>
|
</se> -->
|
||||||
<se label="应收金额">
|
<se label="应收金额">
|
||||||
{{headerInfo?.armoney | currency}}
|
{{headerInfo?.armoney | currency}}
|
||||||
</se>
|
</se>
|
||||||
|
|||||||
@ -158,9 +158,11 @@ export class ReceivableOrderComponent implements OnInit {
|
|||||||
title: '付款人',
|
title: '付款人',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
serverSearch: true,
|
||||||
|
searchDebounceTime: 300,
|
||||||
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
asyncData: () => this.service.getCRM(),
|
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }),
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
}
|
}
|
||||||
@ -181,7 +183,7 @@ export class ReceivableOrderComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
bankType: {
|
banktype: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '银行类型',
|
title: '银行类型',
|
||||||
enum: [
|
enum: [
|
||||||
|
|||||||
@ -62,8 +62,7 @@
|
|||||||
[ui]="{ '*': { spanLabelFixed: 110,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}" [compact]="true"
|
[ui]="{ '*': { spanLabelFixed: 110,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}" [compact]="true"
|
||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
class="text-right">
|
|
||||||
<button nz-button nzType="primary" [nzLoading]="false" (click)="inputST?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="inputST?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetInputSF()">重置</button>
|
<button nz-button (click)="resetInputSF()">重置</button>
|
||||||
<button nz-button> 导出</button>
|
<button nz-button> 导出</button>
|
||||||
@ -73,11 +72,29 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<st #inputST [data]="service.$api_get_refund_detail_page" [columns]="columns"
|
<st #inputST [data]="service.$api_get_refund_detail_page" [columns]="columns" [page]="{ }"
|
||||||
[page]="{ show: false }" [req]="{ process: beforeReq }" [res]="{ reName: { list: 'data' } }"
|
[req]="{ process: beforeReq }" [loading]="false" [scroll]="{ x: '1200px', y: '370px' }" class="mt-md">
|
||||||
[loading]="false" [scroll]="{ x: '1200px', y: '370px' }" class="mt-md">
|
<ng-template st-row="amountDetails" let-item let-index="index" let-column="column">
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-container *ngFor="let detail of item.amountDetails">
|
||||||
{{index+1}}
|
{{detail.costName}}:{{detail.price |currency}}
|
||||||
|
</ng-container>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="billId" let-item let-index="index" let-column="column">
|
||||||
|
{{item.billCode}}<br>
|
||||||
|
{{item.billStatus}}<br>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="wayBillId" let-item let-index="index" let-column="column">
|
||||||
|
{{item.wayBillCode}}<br>
|
||||||
|
{{item.wayBillStatus}}<br>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="driverId" let-item let-index="index" let-column="column">
|
||||||
|
{{item.driverName}}<br>
|
||||||
|
{{item.driverTelephone}}<br>
|
||||||
|
{{item.driverLicencePlate}}<br>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="captainName" let-item let-index="index" let-column="column">
|
||||||
|
{{item.captainName}}<br>
|
||||||
|
{{item.captainTelephone}}<br>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
|
|||||||
@ -210,24 +210,31 @@ export class WithdrawalsDetailComponent implements OnInit {
|
|||||||
|
|
||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '支付编号', index: 'brmHCode', className: 'text-left', width: 200 },
|
{ title: '支付编号', index: 'orderPaymentCode', className: 'text-left', width: 200 },
|
||||||
{
|
{
|
||||||
title: '支付金额',
|
title: '支付金额',
|
||||||
index: 'yskmoney',
|
index: 'payAmount',
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.yskmoney }) },
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.payAmount }) },
|
||||||
width: 140
|
width: 140
|
||||||
},
|
},
|
||||||
{ title: '运费明细', index: 'billHId', className: 'text-center', width: 150 },
|
{ title: '运费明细', render: 'amountDetails', className: 'text-center', width: 150 },
|
||||||
{ title: '货主', index: 'billHId', className: 'text-center', width: 150 },
|
{ title: '货主', index: 'ltdName', className: 'text-center', width: 200 },
|
||||||
{ title: '订单号', index: 'billHId', className: 'text-center', width: 150 },
|
{ title: '订单号', render: 'billId', className: 'text-center', width: 150 },
|
||||||
{ title: '运单号', index: 'billHId', className: 'text-center', width: 150 },
|
{ title: '运单号', render: 'wayBillId', className: 'text-center', width: 150 },
|
||||||
{ title: '货源编号', index: 'billHId', className: 'text-center', width: 150 },
|
{ title: '货源编号', index: 'resourceCode', className: 'text-center', width: 150 },
|
||||||
{ title: '服务类型', index: 'billHId', className: 'text-center', width: 150 },
|
{
|
||||||
{ title: '承运司机', index: 'billHId', className: 'text-center', width: 150 },
|
title: '服务类型',
|
||||||
{ title: '收款人', index: 'billHId', className: 'text-center', width: 150 },
|
index: 'serviceType',
|
||||||
{ title: '银行类型', index: 'billHId', className: 'text-center', width: 150 }
|
className: 'text-center',
|
||||||
|
width: 150,
|
||||||
|
type: 'enum',
|
||||||
|
enum: { '1': '抢单', '2': '指派', '3': '二维码', '4': '手工单' }
|
||||||
|
},
|
||||||
|
{ title: '承运司机', render: 'driverId', className: 'text-center', width: 150 },
|
||||||
|
{ title: '收款人', render: 'captainName', className: 'text-center', width: 150 },
|
||||||
|
{ title: '银行类型', index: 'bankType', className: 'text-center', width: 150 }
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,6 +42,8 @@ export class FreightAccountService extends ShipperBaseService {
|
|||||||
|
|
||||||
// 货主端获取账户余额交易明细
|
// 货主端获取账户余额交易明细
|
||||||
$api_get_balance_by_shipper = '/api/fcc/accountBalanceDetail/getAccountBalanceByShipperPage';
|
$api_get_balance_by_shipper = '/api/fcc/accountBalanceDetail/getAccountBalanceByShipperPage';
|
||||||
|
// 运营端导出货主账户明细信息
|
||||||
|
$api_export_shipper = '/api/fcc/accountBalance/reportShipperAccountBalanceByOperator';
|
||||||
|
|
||||||
// 查询订单支付申请表
|
// 查询订单支付申请表
|
||||||
$api_get_order_payment_page = '/api/fcc/billPaymentApplicationOBC/list/page';
|
$api_get_order_payment_page = '/api/fcc/billPaymentApplicationOBC/list/page';
|
||||||
|
|||||||
@ -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 {
|
||||||
@ -492,20 +491,21 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
// 申诉记录
|
// 申诉记录
|
||||||
appeal(item: any) {
|
appeal(item: any) {
|
||||||
const modalRef = this.modal.create({
|
// const modalRef = this.modal.create({
|
||||||
nzTitle: '申诉',
|
// nzTitle: '申诉',
|
||||||
nzContent: OneCarOrderAppealComponent,
|
// nzContent: OneCarOrderAppealComponent,
|
||||||
nzComponentParams: {
|
// nzComponentParams: {
|
||||||
i: item
|
// i: item
|
||||||
},
|
// },
|
||||||
nzFooter: null
|
// nzFooter: null
|
||||||
});
|
// });
|
||||||
modalRef.afterClose.subscribe((res) => {
|
// modalRef.afterClose.subscribe((res) => {
|
||||||
if(res){
|
// if(res){
|
||||||
this.resetSF;
|
// this.resetSF;
|
||||||
this.st.load();
|
// this.st.load();
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
this.router.navigate(['/order-management/risk-detail', item.id]);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 浮动费用查看
|
* 浮动费用查看
|
||||||
|
|||||||
@ -450,7 +450,7 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
{
|
{
|
||||||
text: '取消订单',
|
text: '取消订单',
|
||||||
click: _record => this.cancellation(_record),
|
click: _record => this.cancellation(_record),
|
||||||
iif: item => item.billStatus !== '1' && item.billStatus !== '6' && item.overallPaymentStatus !== '2',
|
iif: item => item.billStatus !== '6' && item.overallPaymentStatus !== '2',
|
||||||
acl: { ability: ['ORDER-VEHICLE-cancelAnOrder'] }
|
acl: { ability: ['ORDER-VEHICLE-cancelAnOrder'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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;
|
// return;
|
||||||
}
|
// }
|
||||||
observer.next(isLt2M);
|
// observer.next(isLt2M);
|
||||||
observer.complete();
|
// observer.complete();
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
} as SFUploadWidgetSchema
|
// } as SFUploadWidgetSchema
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
required: ['representationsCause', 'representationsDescribe']
|
// required: ['representationsCause', 'representationsDescribe']
|
||||||
};
|
// };
|
||||||
this.ui = {
|
// this.ui = {
|
||||||
'*': {
|
// '*': {
|
||||||
spanLabelFixed: 100,
|
// spanLabelFixed: 100,
|
||||||
grid: { span: 20 }
|
// 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
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
}
|
|
||||||
save(value: any): void {
|
|
||||||
// if (!this.sf.valid){
|
|
||||||
// this.sf.validator({ emitError: true });
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// this.service.request(this.service.$api_addCompleteVehicleRepresentations, { id: this.i?.id, ...this.sf.value }).subscribe(res => {
|
|
||||||
// if (res) {
|
|
||||||
// this.service.msgSrv.success('申诉成功!');
|
|
||||||
// this.modalRef.close(true);
|
|
||||||
// } else {
|
|
||||||
// this.service.msgSrv.error(res.msg);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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,4 +1,10 @@
|
|||||||
<page-header-wrapper [title]="'新增企业合伙人'"></page-header-wrapper>
|
<page-header-wrapper [logo]="logo" [title]="'新增企业合伙人'">
|
||||||
|
<ng-template #logo>
|
||||||
|
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
||||||
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
|
</button>
|
||||||
|
</ng-template>
|
||||||
|
</page-header-wrapper>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'">
|
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'">
|
||||||
<!-- 企业基本信 -->
|
<!-- 企业基本信 -->
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import {
|
|||||||
} from '@delon/form';
|
} from '@delon/form';
|
||||||
import { NzTreeNode } from 'ng-zorro-antd/tree';
|
import { NzTreeNode } from 'ng-zorro-antd/tree';
|
||||||
import { NzUploadFile } from 'ng-zorro-antd/upload';
|
import { NzUploadFile } from 'ng-zorro-antd/upload';
|
||||||
import { of } from 'rxjs';
|
import { of, Subscription } from 'rxjs';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
|
|
||||||
import { PartnerListService } from '../../services/partner-list.service';
|
import { PartnerListService } from '../../services/partner-list.service';
|
||||||
@ -64,6 +64,9 @@ export class AddEtpPartnerComponent {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
getIdentityInfoSub = new Subscription();
|
||||||
|
loadingIdentityInfoSub = false;
|
||||||
|
|
||||||
constructor(public service: PartnerListService) {}
|
constructor(public service: PartnerListService) {}
|
||||||
|
|
||||||
submitForm() {
|
submitForm() {
|
||||||
@ -426,7 +429,28 @@ export class AddEtpPartnerComponent {
|
|||||||
ui: {
|
ui: {
|
||||||
grid: { xxl: 13, xl: 18, lg: 24, md: 24 },
|
grid: { xxl: 13, xl: 18, lg: 24, md: 24 },
|
||||||
placeholder: '请输入企业管理员手机号',
|
placeholder: '请输入企业管理员手机号',
|
||||||
errors: { required: '请输入企业管理员手机号', format: '手机号格式错误' }
|
errors: { required: '请输入企业管理员手机号', format: '手机号格式错误' },
|
||||||
|
change: (mobile: any) => {
|
||||||
|
// 根据手机号获取实名信息
|
||||||
|
if (mobile?.length === 11) {
|
||||||
|
if (this.loadingIdentityInfoSub) {
|
||||||
|
this.getIdentityInfoSub.unsubscribe();
|
||||||
|
}
|
||||||
|
this.loadingIdentityInfoSub = true;
|
||||||
|
this.getIdentityInfoSub = this.service.request(this.service.$api_get_identityInfo_by_mobile, { mobile }).subscribe(
|
||||||
|
res => {
|
||||||
|
if (res) {
|
||||||
|
this.setInfo(res);
|
||||||
|
this.sf.setValue('/adminUserInfo/id', res.id);
|
||||||
|
this.sf.setValue('/adminUserInfo/userId', res.userId);
|
||||||
|
}
|
||||||
|
this.loadingIdentityInfoSub = false;
|
||||||
|
},
|
||||||
|
_ => {},
|
||||||
|
() => (this.loadingIdentityInfoSub = false)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 企业管理员信息
|
// 企业管理员信息
|
||||||
@ -441,6 +465,8 @@ export class AddEtpPartnerComponent {
|
|||||||
},
|
},
|
||||||
default: true
|
default: true
|
||||||
},
|
},
|
||||||
|
id: { title: '', type: 'string', ui: { hidden: true } },
|
||||||
|
userId: { title: '', type: 'string', ui: { hidden: true } },
|
||||||
certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } },
|
certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } },
|
||||||
certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } },
|
certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } },
|
||||||
certificatePhotoFrontWatermark: {
|
certificatePhotoFrontWatermark: {
|
||||||
@ -589,4 +615,52 @@ export class AddEtpPartnerComponent {
|
|||||||
]
|
]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private setInfo(info: any) {
|
||||||
|
if (info.name) {
|
||||||
|
this.sf.setValue('/adminUserInfo/name', info.name);
|
||||||
|
}
|
||||||
|
if (info.certificatePhotoFront) {
|
||||||
|
this.sf.setValue('/adminUserInfo/certificatePhotoFront', info.certificatePhotoFront);
|
||||||
|
}
|
||||||
|
if (info.certificatePhotoFrontWatermark) {
|
||||||
|
console.log(this.sf.getProperty('/adminUserInfo/certificatePhotoFrontWatermark'));
|
||||||
|
|
||||||
|
this.sf.setValue('/adminUserInfo/certificatePhotoFrontWatermark', [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: '文件',
|
||||||
|
status: 'done',
|
||||||
|
url: info.certificatePhotoFrontWatermark,
|
||||||
|
response: info.certificatePhotoFrontWatermark
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
if (info.certificatePhotoBack) {
|
||||||
|
this.sf.setValue('/adminUserInfo/certificatePhotoBack', info.certificatePhotoBack);
|
||||||
|
}
|
||||||
|
if (info.certificatePhotoBackWatermark) {
|
||||||
|
this.sf.setValue('/adminUserInfo/certificatePhotoBackWatermark', [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: '文件',
|
||||||
|
status: 'done',
|
||||||
|
url: info.certificatePhotoBackWatermark,
|
||||||
|
response: info.certificatePhotoBackWatermark
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
if (info.certificateNumber) {
|
||||||
|
this.sf.setValue('/adminUserInfo/certificateNumber', info.certificateNumber);
|
||||||
|
}
|
||||||
|
if (info.validStartTime) {
|
||||||
|
this.sf.setValue('/adminUserInfo/validStartTime', info.validStartTime);
|
||||||
|
}
|
||||||
|
if (info.validEndTime) {
|
||||||
|
this.sf.setValue('/adminUserInfo/validEndTime', info.validEndTime);
|
||||||
|
this.sf.setValue('/adminUserInfo/_isLoingDate', false);
|
||||||
|
} else {
|
||||||
|
this.sf.setValue('/adminUserInfo/_isLoingDate', true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,10 @@
|
|||||||
<page-header-wrapper [title]="'新增个人合伙人'"></page-header-wrapper>
|
<page-header-wrapper [logo]="logo" [title]="'新增个人合伙人'">
|
||||||
|
<ng-template #logo>
|
||||||
|
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
||||||
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
|
</button>
|
||||||
|
</ng-template>
|
||||||
|
</page-header-wrapper>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'">
|
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'">
|
||||||
<!-- 合伙人信息 -->
|
<!-- 合伙人信息 -->
|
||||||
@ -36,7 +42,8 @@
|
|||||||
</sf>
|
</sf>
|
||||||
|
|
||||||
<div style="display: flex; justify-content: center">
|
<div style="display: flex; justify-content: center">
|
||||||
<button nz-button type="button" nzType="primary" (click)="submitForm()" [nzLoading]="service.http.loading">确认新增</button>
|
<button nz-button type="button" nzType="primary" (click)="submitForm()"
|
||||||
|
[nzLoading]="service.http.loading">确认新增</button>
|
||||||
<button nz-button (click)="goBack()">返回</button>
|
<button nz-button (click)="goBack()">返回</button>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -12,7 +12,7 @@ import {
|
|||||||
} from '@delon/form';
|
} from '@delon/form';
|
||||||
import { NzTreeNode } from 'ng-zorro-antd/tree';
|
import { NzTreeNode } from 'ng-zorro-antd/tree';
|
||||||
import { NzUploadFile } from 'ng-zorro-antd/upload';
|
import { NzUploadFile } from 'ng-zorro-antd/upload';
|
||||||
import { of } from 'rxjs';
|
import { of, Subscription } from 'rxjs';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
|
|
||||||
import { PartnerListService } from '../../services/partner-list.service';
|
import { PartnerListService } from '../../services/partner-list.service';
|
||||||
@ -65,6 +65,9 @@ export class AddPersonalPartnerComponent {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
getIdentityInfoSub = new Subscription();
|
||||||
|
loadingIdentityInfoSub = false;
|
||||||
|
|
||||||
constructor(private router: Router, public service: PartnerListService) {}
|
constructor(private router: Router, public service: PartnerListService) {}
|
||||||
|
|
||||||
submitForm() {
|
submitForm() {
|
||||||
@ -156,7 +159,28 @@ export class AddPersonalPartnerComponent {
|
|||||||
ui: {
|
ui: {
|
||||||
grid: { xxl: 13, xl: 18, lg: 24, md: 24 },
|
grid: { xxl: 13, xl: 18, lg: 24, md: 24 },
|
||||||
placeholder: '请输入手机号',
|
placeholder: '请输入手机号',
|
||||||
errors: { required: '请输入手机号', format: '手机号格式错误' }
|
errors: { required: '请输入手机号', format: '手机号格式错误' },
|
||||||
|
change: (mobile: any) => {
|
||||||
|
// 根据手机号获取实名信息
|
||||||
|
if (mobile?.length === 11) {
|
||||||
|
if (this.loadingIdentityInfoSub) {
|
||||||
|
this.getIdentityInfoSub.unsubscribe();
|
||||||
|
}
|
||||||
|
this.loadingIdentityInfoSub = true;
|
||||||
|
this.getIdentityInfoSub = this.service.request(this.service.$api_get_identityInfo_by_mobile, { mobile }).subscribe(
|
||||||
|
res => {
|
||||||
|
if (res) {
|
||||||
|
this.setInfo(res);
|
||||||
|
this.sf.setValue('/adminUserInfo/id', res.id);
|
||||||
|
this.sf.setValue('/adminUserInfo/userId', res.userId);
|
||||||
|
}
|
||||||
|
this.loadingIdentityInfoSub = false;
|
||||||
|
},
|
||||||
|
_ => {},
|
||||||
|
() => (this.loadingIdentityInfoSub = false)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 合伙人信息
|
// 合伙人信息
|
||||||
@ -172,6 +196,8 @@ export class AddPersonalPartnerComponent {
|
|||||||
default: true
|
default: true
|
||||||
},
|
},
|
||||||
certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } },
|
certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } },
|
||||||
|
id: { title: '', type: 'string', ui: { hidden: true } },
|
||||||
|
userId: { title: '', type: 'string', ui: { hidden: true } },
|
||||||
certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } },
|
certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } },
|
||||||
certificateType: { title: '', type: 'string', ui: { hidden: true }, default: 0 },
|
certificateType: { title: '', type: 'string', ui: { hidden: true }, default: 0 },
|
||||||
certificatePhotoFrontWatermark: {
|
certificatePhotoFrontWatermark: {
|
||||||
@ -311,4 +337,52 @@ export class AddPersonalPartnerComponent {
|
|||||||
required: ['cityCodesList', 'invitationCode']
|
required: ['cityCodesList', 'invitationCode']
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private setInfo(info: any) {
|
||||||
|
if (info.name) {
|
||||||
|
this.sf.setValue('/adminUserInfo/name', info.name);
|
||||||
|
}
|
||||||
|
if (info.certificatePhotoFront) {
|
||||||
|
this.sf.setValue('/adminUserInfo/certificatePhotoFront', info.certificatePhotoFront);
|
||||||
|
}
|
||||||
|
if (info.certificatePhotoFrontWatermark) {
|
||||||
|
console.log(this.sf.getProperty('/adminUserInfo/certificatePhotoFrontWatermark'));
|
||||||
|
|
||||||
|
this.sf.setValue('/adminUserInfo/certificatePhotoFrontWatermark', [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: '文件',
|
||||||
|
status: 'done',
|
||||||
|
url: info.certificatePhotoFrontWatermark,
|
||||||
|
response: info.certificatePhotoFrontWatermark
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
if (info.certificatePhotoBack) {
|
||||||
|
this.sf.setValue('/adminUserInfo/certificatePhotoBack', info.certificatePhotoBack);
|
||||||
|
}
|
||||||
|
if (info.certificatePhotoBackWatermark) {
|
||||||
|
this.sf.setValue('/adminUserInfo/certificatePhotoBackWatermark', [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: '文件',
|
||||||
|
status: 'done',
|
||||||
|
url: info.certificatePhotoBackWatermark,
|
||||||
|
response: info.certificatePhotoBackWatermark
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
if (info.certificateNumber) {
|
||||||
|
this.sf.setValue('/adminUserInfo/certificateNumber', info.certificateNumber);
|
||||||
|
}
|
||||||
|
if (info.validStartTime) {
|
||||||
|
this.sf.setValue('/adminUserInfo/validStartTime', info.validStartTime);
|
||||||
|
}
|
||||||
|
if (info.validEndTime) {
|
||||||
|
this.sf.setValue('/adminUserInfo/validEndTime', info.validEndTime);
|
||||||
|
this.sf.setValue('/adminUserInfo/_isLoingDate', false);
|
||||||
|
} else {
|
||||||
|
this.sf.setValue('/adminUserInfo/_isLoingDate', true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,7 +33,7 @@
|
|||||||
<ng-template #editTemplate>
|
<ng-template #editTemplate>
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<div nz-col nzSpan="24" se-container [labelWidth]="120">
|
<div nz-col nzSpan="24" se-container [labelWidth]="120">
|
||||||
<se [col]="1" label="合伙人名称"> {{selectItem?.enterpriseName}} </se>
|
<se [col]="1" label="合伙人名称"> {{selectItem?.enterpriseName || selectItem?.contactName}} </se>
|
||||||
<se [col]="1" label="返佣模板" required>
|
<se [col]="1" label="返佣模板" required>
|
||||||
<nz-select [(ngModel)]="templateId" style="width: 100%">
|
<nz-select [(ngModel)]="templateId" style="width: 100%">
|
||||||
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of customers"></nz-option>
|
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of customers"></nz-option>
|
||||||
@ -47,28 +47,29 @@
|
|||||||
<ng-template #editCannel>
|
<ng-template #editCannel>
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<div nz-col nzSpan="24" se-container [labelWidth]="140" [col]="1">
|
<div nz-col nzSpan="24" se-container [labelWidth]="140" [col]="1">
|
||||||
<se label="合伙人名称"> 深圳某某有限公司 </se>
|
<se label="合伙人名称"> {{selectItem?.enterpriseName || selectItem?.contactName}} </se>
|
||||||
<se label="当前渠道销售"> 张三/13999999999 </se>
|
<se label="当前渠道销售"> {{selectItem?.channelId}} </se>
|
||||||
<se label="渠道销售修改为" required>
|
<se label="渠道销售修改为" required>
|
||||||
<nz-select ngModel="lucy" style="width: 100%">
|
<nz-select [(ngModel)]="cannelItem.channelId" style="width: 100%">
|
||||||
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of cannels"></nz-option>
|
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of cannels"></nz-option>
|
||||||
</nz-select>
|
</nz-select>
|
||||||
</se>
|
</se>
|
||||||
<se label="备注" required>
|
<se label="备注" required>
|
||||||
<textarea rows="3" nz-input></textarea>
|
<textarea rows="3" nz-input [(ngModel)]="cannelItem.remark"></textarea>
|
||||||
</se>
|
</se>
|
||||||
<se label="一并转移的客户">
|
<se label="一并转移的客户">
|
||||||
<p style="margin-top: 8px">已选(0)</p>
|
<p style="margin-top: 8px">已选(0)</p>
|
||||||
<st #rest [data]="service.$api_get_enterprice_rel_list" [columns]="[
|
<st #rest [data]="service.$api_get_enterprice_rel_list" [columns]="[
|
||||||
{ title: '', index: 'key', type: 'checkbox' },
|
{ title: '', index: 'key', type: 'checkbox' },
|
||||||
{ title: '客户名称', index: 'enterpriceName' }
|
{ title: '客户名称', index: 'enterpriceName' }
|
||||||
]" [req]="{ process: beforeReq }" [loading]="service.http.loading" [page]="{show:false}">
|
]" [req]="{ process: beforeReq,params:{effectiveStatus:2 ,newPartnerId:selectItem.id} }"
|
||||||
|
[loading]="service.http.loading" [page]="{show:false}" (change)="stChange($event)">
|
||||||
</st>
|
</st>
|
||||||
</se>
|
</se>
|
||||||
<se label="生效节点" required>
|
<se label="生效节点" required>
|
||||||
<nz-radio-group>
|
<nz-radio-group [(ngModel)]="cannelItem.effectiveNode">
|
||||||
<label nz-radio nzValue="A">修改成功后立即生效</label>
|
<label nz-radio [nzValue]="1">修改成功后立即生效</label>
|
||||||
<label nz-radio nzValue="B">CRM流程审核通过后生</label>
|
<label nz-radio [nzValue]="2">CRM流程审核通过后生</label>
|
||||||
</nz-radio-group>
|
</nz-radio-group>
|
||||||
</se>
|
</se>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -31,6 +31,8 @@ export class PartnerListComponent {
|
|||||||
editCannel: any;
|
editCannel: any;
|
||||||
customers: any[] = [];
|
customers: any[] = [];
|
||||||
cannels: any[] = [];
|
cannels: any[] = [];
|
||||||
|
selectedRows: any[] = [];
|
||||||
|
cannelItem: any = { channelId: null, effectiveNode: 1, enterpriseIdList: [], remark: '' };
|
||||||
|
|
||||||
selectItem: any = {};
|
selectItem: any = {};
|
||||||
|
|
||||||
@ -49,7 +51,7 @@ export class PartnerListComponent {
|
|||||||
return requestOptions;
|
return requestOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
loadSelectOptions(){
|
loadSelectOptions() {
|
||||||
this.service.getRebateConfig().subscribe(res => {
|
this.service.getRebateConfig().subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.customers = res;
|
this.customers = res;
|
||||||
@ -57,7 +59,7 @@ export class PartnerListComponent {
|
|||||||
});
|
});
|
||||||
this.service.getChannel().subscribe(res => {
|
this.service.getChannel().subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.customers = res;
|
this.cannels = res;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -66,13 +68,14 @@ export class PartnerListComponent {
|
|||||||
const modal = this.nzModalService.create({
|
const modal = this.nzModalService.create({
|
||||||
nzTitle: '审核',
|
nzTitle: '审核',
|
||||||
nzContent: PartnerAuditModalComponent,
|
nzContent: PartnerAuditModalComponent,
|
||||||
nzComponentParams: { info: { ...item, enterpriseName: item.enterpriseName || item.contactName } },
|
nzComponentParams: { info: { ...item, enterpriseName: item.enterpriseName || item.contactName }, sourcePage: '合伙人审核列表' },
|
||||||
nzFooter: null
|
nzFooter: null
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
editTemplateAction(item: any) {
|
editTemplateAction(item: any) {
|
||||||
this.selectItem = item;
|
this.selectItem = item;
|
||||||
|
this.templateId = item.templateId || null;
|
||||||
const modal = this.nzModalService.create({
|
const modal = this.nzModalService.create({
|
||||||
nzTitle: '修改返佣模板',
|
nzTitle: '修改返佣模板',
|
||||||
nzContent: this.editTemplate,
|
nzContent: this.editTemplate,
|
||||||
@ -87,7 +90,7 @@ export class PartnerListComponent {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
confirmEditTemplate() {
|
private confirmEditTemplate() {
|
||||||
const modal = this.nzModalService.confirm({
|
const modal = this.nzModalService.confirm({
|
||||||
nzTitle: '确定要修改返佣模板吗?',
|
nzTitle: '确定要修改返佣模板吗?',
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
@ -107,15 +110,39 @@ export class PartnerListComponent {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stChange(e: STChange): void {
|
||||||
|
switch (e.type) {
|
||||||
|
case 'checkbox':
|
||||||
|
this.selectedRows = e.checkbox!;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
editCannelAction(item: any) {
|
editCannelAction(item: any) {
|
||||||
this.selectItem = item;
|
this.selectItem = item;
|
||||||
const modal = this.nzModalService.create({
|
this.cannelItem = { channelId: null, effectiveNode: 1, enterpriseIdList: [], remark: '' };
|
||||||
nzTitle: '修改渠道销售',
|
this.selectedRows = [];
|
||||||
nzWidth: 650,
|
// 校验合伙人是否可修改渠道销售 true:可以修改 false:不可以修改
|
||||||
nzContent: this.editCannel,
|
this.service.request(this.service.$api_check_partenr_change_channel, { id: item.id }).subscribe(res => {
|
||||||
nzOnOk: () => {
|
if (res) {
|
||||||
this.confirmEditCannel(item);
|
this.selectItem = item;
|
||||||
return false;
|
const modal = this.nzModalService.create({
|
||||||
|
nzTitle: '修改渠道销售',
|
||||||
|
nzWidth: 650,
|
||||||
|
nzContent: this.editCannel,
|
||||||
|
nzOnOk: () => {
|
||||||
|
if (!this.cannelItem.channelId) {
|
||||||
|
this.service.msgSrv.warning('请选择渠道销售');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!this.cannelItem.remark) {
|
||||||
|
this.service.msgSrv.warning('请填写备注');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.confirmEditCannel(item);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -124,7 +151,18 @@ export class PartnerListComponent {
|
|||||||
const modal = this.nzModalService.confirm({
|
const modal = this.nzModalService.confirm({
|
||||||
nzTitle: '确定提交吗?',
|
nzTitle: '确定提交吗?',
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
this.nzModalService.closeAll();
|
this.cannelItem.enterpriseIdList = this.selectedRows.map(row => row.id);
|
||||||
|
this.service
|
||||||
|
.request(this.service.$api_update_partner_channel_by_id, {
|
||||||
|
...this.cannelItem,
|
||||||
|
id: item.id
|
||||||
|
})
|
||||||
|
.subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('修改成功');
|
||||||
|
this.nzModalService.closeAll();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -321,15 +359,20 @@ export class PartnerListComponent {
|
|||||||
|
|
||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '合伙人名称', index: 'enterpriseName', width: 180, format: item => `${item.enterpriseName || item.contactName}` },
|
{
|
||||||
|
title: '合伙人名称',
|
||||||
|
index: 'enterpriseName',
|
||||||
|
width: 180,
|
||||||
|
format: item => (item.partnerType ? `${item.enterpriseName || item.contactName}` : '')
|
||||||
|
},
|
||||||
{ title: '付款编码', index: 'payCode', width: 160 },
|
{ title: '付款编码', index: 'payCode', width: 160 },
|
||||||
{ title: '邀请码', index: 'invitationCode', className: 'text-center', width: 130 },
|
{ title: '邀请码', index: 'invitationCode', className: 'text-center', width: 130 },
|
||||||
{ title: '企业管理员', index: 'contactName', width: 150 },
|
{ title: '企业管理员', index: 'contactName', width: 150, format: item => (item.partnerType ? `${item.contactName}` : '') },
|
||||||
{ title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 },
|
{ title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 },
|
||||||
{ title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } },
|
{ title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } },
|
||||||
{ title: '注册渠道', index: 'source', type: 'enum', enum: { 1: '合伙人注册', 2: '平台添加' }, width: 130 },
|
{ title: '注册渠道', index: 'source', type: 'enum', enum: { 1: '合伙人注册', 2: '平台添加' }, width: 130 },
|
||||||
{ title: '注册时间', index: 'createTime', className: 'text-center', width: 170 },
|
{ title: '注册时间', index: 'createTime', className: 'text-center', width: 170 },
|
||||||
{ title: '渠道销售', index: 'channelId', width: 170 },
|
{ title: '渠道销售', index: 'channelIdLabel', width: 170 },
|
||||||
{ title: '返佣模板', index: 'templateName', width: 150 },
|
{ title: '返佣模板', index: 'templateName', width: 150 },
|
||||||
{
|
{
|
||||||
title: '认证审核状态',
|
title: '认证审核状态',
|
||||||
@ -337,7 +380,7 @@ export class PartnerListComponent {
|
|||||||
width: 150,
|
width: 150,
|
||||||
type: 'badge',
|
type: 'badge',
|
||||||
badge: {
|
badge: {
|
||||||
0: { text: '草稿', color: 'default' },
|
'-1': { text: '未提交', color: 'default' },
|
||||||
10: { text: '待审核', color: 'processing' },
|
10: { text: '待审核', color: 'processing' },
|
||||||
20: { text: '审核通过', color: 'success' },
|
20: { text: '审核通过', color: 'success' },
|
||||||
30: { text: '驳回', color: 'error' }
|
30: { text: '驳回', color: 'error' }
|
||||||
@ -385,7 +428,13 @@ export class PartnerListComponent {
|
|||||||
buttons: [
|
buttons: [
|
||||||
{ type: 'divider' },
|
{ type: 'divider' },
|
||||||
{
|
{
|
||||||
text: '详情',
|
text: '审核',
|
||||||
|
iif: item => item.id && item.approvalStatus === 10,
|
||||||
|
click: item => this.auditPartner(item)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '详情<br>',
|
||||||
|
iif: item => item.id,
|
||||||
click: item => {
|
click: item => {
|
||||||
if (item.partnerType === 1) {
|
if (item.partnerType === 1) {
|
||||||
this.router.navigate([`/partner/partner-list/etp-detail/${item.id}`]);
|
this.router.navigate([`/partner/partner-list/etp-detail/${item.id}`]);
|
||||||
@ -394,21 +443,20 @@ export class PartnerListComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
text: '审核<br>',
|
|
||||||
click: item => this.auditPartner(item)
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
text: '修改返佣模板',
|
text: '修改返佣模板',
|
||||||
|
iif: item => item.id,
|
||||||
click: item => this.editTemplateAction(item)
|
click: item => this.editTemplateAction(item)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '修改渠道销售',
|
text: '修改渠道销售',
|
||||||
|
iif: item => item.id,
|
||||||
click: item => this.editCannelAction(item)
|
click: item => this.editCannelAction(item)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '重发CRM流程',
|
text: '重发CRM流程',
|
||||||
click: item => this.reSendCRM(item)
|
click: item => item.id && this.reSendCRM(item),
|
||||||
|
iif: item => item.crmStatus === 10
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,7 @@ export class PartnerAuditModalComponent implements OnInit {
|
|||||||
@Input()
|
@Input()
|
||||||
info: any;
|
info: any;
|
||||||
schema!: SFSchema;
|
schema!: SFSchema;
|
||||||
|
sourcePage = '';
|
||||||
constructor(private nzModalService: NzModalService, public service: PartnerListService) {}
|
constructor(private nzModalService: NzModalService, public service: PartnerListService) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
@ -53,13 +54,11 @@ export class PartnerAuditModalComponent implements OnInit {
|
|||||||
channelId: {
|
channelId: {
|
||||||
title: '渠道销售',
|
title: '渠道销售',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
enum: [
|
|
||||||
{ value: true, label: '通过' },
|
|
||||||
{ value: false, label: '驳回' }
|
|
||||||
],
|
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
|
allowClear: true,
|
||||||
|
asyncData: () => this.service.getChannel(),
|
||||||
hidden: this.info.isPass === false,
|
hidden: this.info.isPass === false,
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
status: value => value
|
status: value => value
|
||||||
@ -115,7 +114,8 @@ export class PartnerAuditModalComponent implements OnInit {
|
|||||||
.request(this.service.$api_audit_partner, {
|
.request(this.service.$api_audit_partner, {
|
||||||
auditStatusEnum: params.auditStatusEnum,
|
auditStatusEnum: params.auditStatusEnum,
|
||||||
id: params.id,
|
id: params.id,
|
||||||
approvalOpinion: params.approvalOpinion
|
approvalOpinion: params.approvalOpinion,
|
||||||
|
sourcePage: this.sourcePage
|
||||||
})
|
})
|
||||||
.subscribe(res => {
|
.subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
|
|||||||
@ -40,7 +40,7 @@
|
|||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="save()"> 保存 </button>
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="save()"> 保存 </button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #editButton>
|
<ng-template #editButton>
|
||||||
<ng-container>
|
<ng-container *ngIf="detailData?.approvalStatus === 10">
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(true)"> 通过 </button>
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(true)"> 通过 </button>
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button>
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
@ -87,8 +87,9 @@
|
|||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="手机号">
|
<sv label="手机号">
|
||||||
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.mobile" [readonly]="!isEdit"
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.mobile" [readonly]="!isEdit"
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> -->
|
||||||
|
{{detailData.adminUserInfo.mobile}}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证号">
|
<sv label="身份证号">
|
||||||
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit"
|
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit"
|
||||||
@ -125,7 +126,8 @@
|
|||||||
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 100px" class="calendar">
|
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 100px" class="calendar">
|
||||||
</nz-date-picker>
|
</nz-date-picker>
|
||||||
-
|
-
|
||||||
<ng-container *ngIf="!isEdit && !detailData?.adminUserInfo.validEndTime && detailData?.adminUserInfo.validStartTime">
|
<ng-container
|
||||||
|
*ngIf="!isEdit && !detailData?.adminUserInfo.validEndTime && detailData?.adminUserInfo.validStartTime">
|
||||||
<label style="padding-left: 11px">长期</label>
|
<label style="padding-left: 11px">长期</label>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<nz-date-picker [(ngModel)]="detailData.adminUserInfo.validEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
<nz-date-picker [(ngModel)]="detailData.adminUserInfo.validEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
||||||
@ -281,7 +283,8 @@
|
|||||||
<sv-title>修改渠道销售记录</sv-title>
|
<sv-title>修改渠道销售记录</sv-title>
|
||||||
<sv label="">
|
<sv label="">
|
||||||
<st #st [data]="service.$api_get_personal_channel_list" [columns]="columns.logsColumn"
|
<st #st [data]="service.$api_get_personal_channel_list" [columns]="columns.logsColumn"
|
||||||
[loading]="service.http.loading" bordered size="small" [page]="{ show: false }" [scroll]="{ x: '1200px' }">
|
[req]="{params:{partnerId:route.snapshot.params.id}}" [loading]="service.http.loading" bordered size="small"
|
||||||
|
[page]="{ show: false }" [scroll]="{ x: '1200px' }">
|
||||||
</st>
|
</st>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
@ -316,13 +319,15 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #logModal>
|
<ng-template #logModal>
|
||||||
<h2>转移客户数:10</h2>
|
<h2>转移客户数:{{changeST?.total}}</h2>
|
||||||
<st #st [data]="service.$mock_url" [columns]="columns.changeColumn" [loading]="service.http.loading" bordered
|
<st #changeST [data]="service.$api_get_partner_change_list" [columns]="columns.changeColumn"
|
||||||
size="small" [page]="{ show: false }" [scroll]="{ x: '750px' }">
|
[req]="{params:{partnerId:route.snapshot.params.id ,type:1}}" [loading]="service.http.loading" bordered size="small"
|
||||||
|
[page]="{ show: false }" [scroll]="{ x: '750px' }">
|
||||||
</st>
|
</st>
|
||||||
<h2>不转移客户数:10</h2>
|
<h2>不转移客户数:{{noChangeST?.total}}</h2>
|
||||||
<st #st [data]="service.$mock_url" [columns]="columns.beChangeColumn" [loading]="service.http.loading" bordered
|
<st #noChangeST [data]="service.$api_get_partner_change_list" [columns]="columns.beChangeColumn"
|
||||||
size="small" [page]="{ show: false }" [scroll]="{ x: '750px' }">
|
[req]="{params:{partnerId:route.snapshot.params.id ,type:2}}" [res]="{reName: { list: 'data' }}"
|
||||||
|
[loading]="service.http.loading" bordered size="small" [page]="{ show: false }" [scroll]="{ x: '750px' }">
|
||||||
</st>
|
</st>
|
||||||
<p>
|
<p>
|
||||||
客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。
|
客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。
|
||||||
|
|||||||
@ -47,7 +47,7 @@ export class PartnerDetailComponent implements OnInit, OnDestroy {
|
|||||||
subscribeScoll!: Subscription;
|
subscribeScoll!: Subscription;
|
||||||
constructor(
|
constructor(
|
||||||
public service: PartnerListService,
|
public service: PartnerListService,
|
||||||
private route: ActivatedRoute,
|
public route: ActivatedRoute,
|
||||||
private nzModalService: NzModalService,
|
private nzModalService: NzModalService,
|
||||||
private datePipe: DatePipe
|
private datePipe: DatePipe
|
||||||
) {}
|
) {}
|
||||||
@ -138,7 +138,7 @@ export class PartnerDetailComponent implements OnInit, OnDestroy {
|
|||||||
const modal = this.nzModalService.create({
|
const modal = this.nzModalService.create({
|
||||||
nzTitle: '审核',
|
nzTitle: '审核',
|
||||||
nzContent: PartnerAuditModalComponent,
|
nzContent: PartnerAuditModalComponent,
|
||||||
nzComponentParams: { info: { ...this.detailData, isPass } },
|
nzComponentParams: { info: { ...this.detailData, isPass },sourcePage:'合伙人审核详情' },
|
||||||
nzFooter: null
|
nzFooter: null
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -366,13 +366,13 @@ export class PartnerDetailComponent implements OnInit, OnDestroy {
|
|||||||
private initST(): { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } {
|
private initST(): { logsColumn: STColumn[]; changeColumn: STColumn[]; beChangeColumn: STColumn[] } {
|
||||||
return {
|
return {
|
||||||
logsColumn: [
|
logsColumn: [
|
||||||
{ title: '修改后渠道销售', index: 'newChannelName', width: 180 },
|
{ title: '修改后渠道销售', index: 'newChannelIdLabel', width: 180 },
|
||||||
{ title: '修改前渠道销售', index: 'originalChannelName', width: 160 },
|
{ title: '修改前渠道销售', index: 'originalChannelIdLabel', width: 160 },
|
||||||
{ title: '转移客户数', index: 'quantity', className: 'text-center', width: 130 },
|
{ title: '转移客户数', index: 'quantity', className: 'text-center', width: 130 },
|
||||||
{ title: '生效节点', index: 'effectiveNode', width: 150, type: 'enum', enum: { 1: '立即生效', 2: 'CRM审核后生效' } },
|
{ title: '生效节点', index: 'effectiveNode', width: 150, type: 'enum', enum: { 1: '立即生效', 2: 'CRM审核后生效' } },
|
||||||
{ title: '备注', index: 'remark', className: 'text-center', width: 150 },
|
{ title: '备注', index: 'remark', className: 'text-center', width: 150 },
|
||||||
{ title: '修改时间', index: 'effectiveTime', className: 'text-center', width: 130, type: 'date' },
|
{ title: '修改时间', index: 'effectiveTime', className: 'text-center', width: 180, type: 'date' },
|
||||||
{ title: '操作人', index: 'modifyUserId', width: 130 },
|
{ title: '操作人', index: 'modifyUserIdLabel', width: 180 },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
|
|||||||
@ -40,7 +40,7 @@
|
|||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="save()"> 保存 </button>
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="save()"> 保存 </button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #editButton>
|
<ng-template #editButton>
|
||||||
<ng-container>
|
<ng-container *ngIf="detailData?.approvalStatus === 10">
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(true)"> 通过 </button>
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(true)"> 通过 </button>
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button>
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|||||||
@ -113,7 +113,10 @@ export class PersonalPartnerDetailComponent implements OnInit {
|
|||||||
const modal = this.nzModalService.create({
|
const modal = this.nzModalService.create({
|
||||||
nzTitle: '审核',
|
nzTitle: '审核',
|
||||||
nzContent: PartnerAuditModalComponent,
|
nzContent: PartnerAuditModalComponent,
|
||||||
nzComponentParams: { info: { ...this.detailData, isPass, enterpriseName: this.detailData.adminUserInfo?.name } },
|
nzComponentParams: {
|
||||||
|
info: { ...this.detailData, isPass, enterpriseName: this.detailData.adminUserInfo?.name },
|
||||||
|
sourcePage: '合伙人审核详情'
|
||||||
|
},
|
||||||
nzFooter: null
|
nzFooter: null
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,12 +23,20 @@ export class PartnerListService extends ShipperBaseService {
|
|||||||
$api_update_partner_template = '/api/mdc/partner/updateTemplate';
|
$api_update_partner_template = '/api/mdc/partner/updateTemplate';
|
||||||
// 更新渠道销售
|
// 更新渠道销售
|
||||||
$api_update_partner_channel = '/api/mdc/partner/updateChannelSale';
|
$api_update_partner_channel = '/api/mdc/partner/updateChannelSale';
|
||||||
|
// 更新渠道销售
|
||||||
|
$api_update_partner_channel_by_id = '/api/mdc/partner/updateChannelSaleByID';
|
||||||
// 重新发起CRM
|
// 重新发起CRM
|
||||||
$api_resend_crm = '/api/mdc/partner/reSendCrm';
|
$api_resend_crm = '/api/mdc/partner/reSendCrm';
|
||||||
// 查询合伙人修改渠道渠道销售记录
|
// 查询合伙人修改渠道渠道销售记录
|
||||||
$api_get_personal_channel_list = '/api/mdc/partnerChannelRelLog/list/page';
|
$api_get_personal_channel_list = '/api/mdc/partnerChannelRelLog/list/page';
|
||||||
// 查询客户关系列表-不分页
|
// 查询客户关系列表-不分页
|
||||||
$api_get_enterprice_rel_list = '/api/mdc/enterpriceRelLog/list';
|
$api_get_enterprice_rel_list = '/api/mdc/EnterpriseRelLog/list';
|
||||||
|
// 校验合伙人是否可修改渠道销售 true:可以修改 false:不可以修改
|
||||||
|
$api_check_partenr_change_channel = '/api/mdc/partner/updateChannelCheck';
|
||||||
|
// 根据手机号查询实名信息
|
||||||
|
$api_get_identityInfo_by_mobile= '/api/mdc/cuc/identityInfo/getByMobile';
|
||||||
|
// 渠道销售修改详情
|
||||||
|
$api_get_partner_change_list = '/api/mdc/partnerChannelRelLog/partnerChannelUpdateDetaiList';
|
||||||
// 冻结/启用企业业
|
// 冻结/启用企业业
|
||||||
$api_lock_freight = '/api/mdc/cuc/enterpriseInfo/operate/lock';
|
$api_lock_freight = '/api/mdc/cuc/enterpriseInfo/operate/lock';
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-12 10:52:50
|
* @Date : 2022-01-12 10:52:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-04 15:45:58
|
* @LastEditTime : 2022-03-25 16:51:13
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\bulk\\bulk.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\bulk\\bulk.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -86,7 +86,7 @@
|
|||||||
<ng-template st-row="resourceCode" let-item let-index="index">
|
<ng-template st-row="resourceCode" let-item let-index="index">
|
||||||
<a [routerLink]="'bulk-detail/' + item?.id">{{ item?.resourceCode }}</a>
|
<a [routerLink]="'bulk-detail/' + item?.id">{{ item?.resourceCode }}</a>
|
||||||
<div>{{ item?.resourceTypeLabel }}{{ item?.serviceTypeLabel }}</div>
|
<div>{{ item?.resourceTypeLabel }}{{ item?.serviceTypeLabel }}</div>
|
||||||
<div>{{ item?.resourceStatusLabel }}</div>
|
<div>{{ item?.resourceStatusLabel === '已完成' ? '已完结' : item?.resourceStatusLabel }}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<!-- 服务类型 -->
|
<!-- 服务类型 -->
|
||||||
<ng-template st-row="serviceType" let-item let-index="index">
|
<ng-template st-row="serviceType" let-item let-index="index">
|
||||||
|
|||||||
@ -1,7 +1,15 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
||||||
import { SFCascaderWidgetSchema, SFComponent, SFRadioWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
import {
|
||||||
|
SFCascaderWidgetSchema,
|
||||||
|
SFComponent,
|
||||||
|
SFRadioWidgetSchema,
|
||||||
|
SFSchema,
|
||||||
|
SFSchemaEnum,
|
||||||
|
SFSelectWidgetSchema,
|
||||||
|
SFUISchema
|
||||||
|
} from '@delon/form';
|
||||||
import { DynamicSettingModalComponent, SinglepageSettingModalComponent } from '@shared';
|
import { DynamicSettingModalComponent, SinglepageSettingModalComponent } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { of } from 'rxjs';
|
import { of } from 'rxjs';
|
||||||
@ -32,10 +40,10 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
ticketSchema: SFSchema = {};
|
ticketSchema: SFSchema = {};
|
||||||
TaxSchema: SFSchema = {};
|
TaxSchema: SFSchema = {};
|
||||||
NCSchema: SFSchema = {};
|
NCSchema: SFSchema = {};
|
||||||
_$expand :boolean= false;
|
_$expand: boolean = false;
|
||||||
taxStatus :boolean= false;
|
taxStatus: boolean = false;
|
||||||
TicketStatus :boolean= true;
|
TicketStatus: boolean = true;
|
||||||
NCStatus :boolean = false;
|
NCStatus: boolean = false;
|
||||||
formData: any;
|
formData: any;
|
||||||
ticketId: any;
|
ticketId: any;
|
||||||
ticketItem: any;
|
ticketItem: any;
|
||||||
@ -117,29 +125,28 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
buttons: [
|
buttons: [
|
||||||
|
{ type: 'divider' },
|
||||||
{
|
{
|
||||||
text: '基础设置',
|
text: '基础设置<br>',
|
||||||
click: item => this.creat(item)
|
click: item => this.creat(item)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '财务设置',
|
text: '财务设置<br>',
|
||||||
click: item => this.ticket(item)
|
click: item => this.ticket(item)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '充值账户',
|
text: '充值账户<br>',
|
||||||
click: item => this.settingPay(item)
|
click: item => this.settingPay(item)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '应用设置',
|
text: '应用设置<br>',
|
||||||
click: item => this.settingApp(item)
|
click: item => this.settingApp(item)
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
text: '系统配置',
|
text: '系统配置<br>',
|
||||||
click: item => this.settingAction(item)
|
click: item => this.settingAction(item)
|
||||||
},
|
},
|
||||||
{ type: 'divider' },
|
|
||||||
|
|
||||||
// {
|
// {
|
||||||
// text: '合同设置',
|
// text: '合同设置',
|
||||||
// click: item => this.roleAction(item, 2)
|
// click: item => this.roleAction(item, 2)
|
||||||
@ -339,7 +346,7 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
};
|
};
|
||||||
this.ui3 = {
|
this.ui3 = {
|
||||||
'*': { spanLabelFixed: 150, grid: { span: 24 } },
|
'*': { spanLabelFixed: 150, grid: { span: 24 } },
|
||||||
'$taxClassificationVersion': { spanLabelFixed: 150, grid: { span: 24 } },
|
$taxClassificationVersion: { spanLabelFixed: 150, grid: { span: 24 } }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
initSFTax() {
|
initSFTax() {
|
||||||
@ -387,12 +394,11 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
required: ['crmCustomerId']
|
required: ['crmCustomerId']
|
||||||
};
|
};
|
||||||
this.ui5 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
|
this.ui5 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
|
||||||
|
|
||||||
}
|
}
|
||||||
initSFFre() {
|
initSFFre() {
|
||||||
this.addSchema = {
|
this.addSchema = {
|
||||||
@ -444,14 +450,14 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
this.formDataNC = [];
|
this.formDataNC = [];
|
||||||
this.formDataTax = [];
|
this.formDataTax = [];
|
||||||
this.ticketItem = value;
|
this.ticketItem = value;
|
||||||
this.taxStatus = false
|
this.taxStatus = false;
|
||||||
this.TicketStatus = true
|
this.TicketStatus = true;
|
||||||
this.NCStatus = false
|
this.NCStatus = false;
|
||||||
this.initSFTax();
|
this.initSFTax();
|
||||||
this.initSFNC();
|
this.initSFNC();
|
||||||
this.initSFTicket();
|
this.initSFTicket();
|
||||||
this.NCID = value.id;
|
this.NCID = value.id;
|
||||||
if(this.TicketStatus) {
|
if (this.TicketStatus) {
|
||||||
console.log('9999999');
|
console.log('9999999');
|
||||||
|
|
||||||
this.service.request(this.service.$api_getTicketByNetworkTransporterId, { id: value.id }).subscribe((res: any) => {
|
this.service.request(this.service.$api_getTicketByNetworkTransporterId, { id: value.id }).subscribe((res: any) => {
|
||||||
@ -466,8 +472,8 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(this.NCStatus) {
|
if (this.NCStatus) {
|
||||||
this.getNcSetData()
|
this.getNcSetData();
|
||||||
}
|
}
|
||||||
this.isVisibleTicket = true;
|
this.isVisibleTicket = true;
|
||||||
}
|
}
|
||||||
@ -477,12 +483,12 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
this.service.request(this.service.$api_get_crmCustomer, { id: this.ticketItem.crmCustomerId }).subscribe((res: any) => {
|
this.service.request(this.service.$api_get_crmCustomer, { id: this.ticketItem.crmCustomerId }).subscribe((res: any) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
if (res) {
|
if (res) {
|
||||||
List.push({ label: res.customerName, value: res.id });
|
List.push({ label: res.customerName, value: res.id });
|
||||||
console.log(List);
|
console.log(List);
|
||||||
|
|
||||||
this.sfNC.getProperty('/crmCustomerId')!.schema.enum = List;
|
this.sfNC.getProperty('/crmCustomerId')!.schema.enum = List;
|
||||||
this.sfNC.getProperty('/crmCustomerId')!.widget.reset(List);
|
this.sfNC.getProperty('/crmCustomerId')!.widget.reset(List);
|
||||||
this.sfNC.setValue('/crmCustomerId', res?.id);
|
this.sfNC.setValue('/crmCustomerId', res?.id);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -493,7 +499,7 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
regioin?.forEach((element: any) => {
|
regioin?.forEach((element: any) => {
|
||||||
enterpriseAddressCode.push(Number(element));
|
enterpriseAddressCode.push(Number(element));
|
||||||
});
|
});
|
||||||
if(this.TicketStatus) {
|
if (this.TicketStatus) {
|
||||||
this.sfTicket.setValue('/senderRegionCode', enterpriseAddressCode);
|
this.sfTicket.setValue('/senderRegionCode', enterpriseAddressCode);
|
||||||
return enterpriseAddressCode;
|
return enterpriseAddressCode;
|
||||||
}
|
}
|
||||||
@ -587,8 +593,8 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
this.isVisibleTicket = false;
|
this.isVisibleTicket = false;
|
||||||
}
|
}
|
||||||
handleOKTicket() {
|
handleOKTicket() {
|
||||||
console.log( this.taxStatus, this.TicketStatus,this.NCStatus);
|
console.log(this.taxStatus, this.TicketStatus, this.NCStatus);
|
||||||
if(this.TicketStatus) {
|
if (this.TicketStatus) {
|
||||||
console.log(this.sfTicket);
|
console.log(this.sfTicket);
|
||||||
console.log(this.sfTicket.value);
|
console.log(this.sfTicket.value);
|
||||||
|
|
||||||
@ -611,7 +617,7 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
this.st.reload(1);
|
this.st.reload(1);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if(this.NCStatus){
|
} else if (this.NCStatus) {
|
||||||
console.log(this.sfNC);
|
console.log(this.sfNC);
|
||||||
console.log(this.formDataNC);
|
console.log(this.formDataNC);
|
||||||
console.log(this.sfNC?.value);
|
console.log(this.sfNC?.value);
|
||||||
@ -636,7 +642,6 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
// api_setCrmCustomer
|
// api_setCrmCustomer
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
handleOK() {
|
handleOK() {
|
||||||
@ -674,12 +679,12 @@ export class NetworkFreightComponent implements OnInit {
|
|||||||
this.taxStatus = true;
|
this.taxStatus = true;
|
||||||
this.TicketStatus = false;
|
this.TicketStatus = false;
|
||||||
this.NCStatus = false;
|
this.NCStatus = false;
|
||||||
} else if (value.name === '开票设置'){
|
} else if (value.name === '开票设置') {
|
||||||
this.TicketStatus = true;
|
this.TicketStatus = true;
|
||||||
this.NCStatus = false;
|
this.NCStatus = false;
|
||||||
this.taxStatus = false;
|
this.taxStatus = false;
|
||||||
} else if (value.name === 'NC设置'){
|
} else if (value.name === 'NC设置') {
|
||||||
this.getNcSetData()
|
this.getNcSetData();
|
||||||
this.NCStatus = true;
|
this.NCStatus = true;
|
||||||
this.TicketStatus = false;
|
this.TicketStatus = false;
|
||||||
this.taxStatus = false;
|
this.taxStatus = false;
|
||||||
|
|||||||
@ -65,7 +65,7 @@
|
|||||||
<p style="margin: 0;">开户行: {{openInfo?.artobank}}</p>
|
<p style="margin: 0;">开户行: {{openInfo?.artobank}}</p>
|
||||||
</se>
|
</se>
|
||||||
<se [col]="1" label="服务名称" class="mb-sm">
|
<se [col]="1" label="服务名称" class="mb-sm">
|
||||||
{{openInfo?.vatname}}
|
{{openInfo?.vatnameLable}}
|
||||||
</se>
|
</se>
|
||||||
<se [col]="1" label="发票备注栏" class="mb-sm">
|
<se [col]="1" label="发票备注栏" class="mb-sm">
|
||||||
{{openInfo?.vatremarks}}
|
{{openInfo?.vatremarks}}
|
||||||
|
|||||||
@ -2,9 +2,11 @@ import { CurrencyPipe } from '@angular/common';
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema, SFSchemaEnum } from '@delon/form';
|
||||||
import { dateTimePickerUtil } from '@delon/util';
|
import { dateTimePickerUtil } from '@delon/util';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { of } from 'rxjs';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
import { TicketService } from '../../services/ticket.service';
|
import { TicketService } from '../../services/ticket.service';
|
||||||
import { RequestedInvoiceModalComponent } from '../invoice-requested/requested-invoice-modal/requested-invoice-modal.component';
|
import { RequestedInvoiceModalComponent } from '../invoice-requested/requested-invoice-modal/requested-invoice-modal.component';
|
||||||
import { PushInvoiceComponent } from './push-invoice/push-invoice.component';
|
import { PushInvoiceComponent } from './push-invoice/push-invoice.component';
|
||||||
@ -257,13 +259,16 @@ export class CancellationInvoiceComponent implements OnInit {
|
|||||||
placeholder: '请输入'
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
receiveName2: {
|
arto: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '购买人',
|
title: '购买人',
|
||||||
enum: [{ label: '全部', value: '全部' }],
|
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择'
|
serverSearch: true,
|
||||||
|
searchDebounceTime: 300,
|
||||||
|
searchLoadingText: '搜索中...',
|
||||||
|
allowClear: true,
|
||||||
|
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ltdId: {
|
ltdId: {
|
||||||
@ -280,7 +285,7 @@ export class CancellationInvoiceComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
sts: {
|
sts: {
|
||||||
title: '结算依据',
|
title: '发票状态',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
{{headerInfo?.vatinvHNum}} / {{headerInfo?.vatinvBillNum}}
|
{{headerInfo?.vatinvHNum}} / {{headerInfo?.vatinvBillNum}}
|
||||||
</se>
|
</se>
|
||||||
<se label="已开/全部发票金额">
|
<se label="已开/全部发票金额">
|
||||||
{{headerInfo?.vatinvHAmount}} / {{headerInfo?.vatinvHNumAmount}}
|
{{headerInfo?.vatinvHAmount |currency}} / {{headerInfo?.vatinvHNumAmount |currency}}
|
||||||
</se>
|
</se>
|
||||||
<se label="已开发票张数">
|
<se label="已开发票张数">
|
||||||
{{headerInfo?.vatinvHNum}}
|
{{headerInfo?.vatinvHNum}}
|
||||||
@ -101,13 +101,13 @@
|
|||||||
已选择
|
已选择
|
||||||
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据 开票金额总计 <strong
|
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据 开票金额总计 <strong
|
||||||
class="text-red">{{
|
class="text-red">{{
|
||||||
totalCallNo }}</strong>
|
totalCallNo |currency }}</strong>
|
||||||
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
|
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="service.$api_get_invoice_requested_order_detail" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
<st #st [data]="service.$api_get_invoice_requested_order_detail" [columns]="columns" [req]="{ process: beforeReq }"
|
||||||
[res]="{ process: afterRes }" [loading]="false" [scroll]="{ x:'1200px',y: '200px' }"
|
[page]="{}" [res]="{ process: afterRes }" [loading]="false" [scroll]="{ x:'1200px',y: '200px' }"
|
||||||
(change)="stChange($event)">
|
(change)="stChange($event)">
|
||||||
<ng-template st-row="billHCode" let-item let-index="index" let-column="column">
|
<ng-template st-row="billHCode" let-item let-index="index" let-column="column">
|
||||||
<a class="text-primary" (click)="routeToOrder(item)"> {{ item.billHCode }}</a>
|
<a class="text-primary" (click)="routeToOrder(item)"> {{ item.billHCode }}</a>
|
||||||
|
|||||||
@ -90,7 +90,7 @@ export class InvoiceRequestedComponent {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
let ids = item.map(row => row.id);
|
let ids = item.map(row => row.id);
|
||||||
this.service.request(this.service.$api_reject_invoice, ids).subscribe(res => {
|
this.service.request(this.service.$api_reject_invoice, { id: ids, rejectContent: this.rejectReason }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('驳回成功');
|
this.service.msgSrv.success('驳回成功');
|
||||||
modal.destroy(true);
|
modal.destroy(true);
|
||||||
@ -133,7 +133,7 @@ export class InvoiceRequestedComponent {
|
|||||||
this.service
|
this.service
|
||||||
.request(this.service.$api_update_invoice_address, {
|
.request(this.service.$api_update_invoice_address, {
|
||||||
...component.sf.value,
|
...component.sf.value,
|
||||||
|
ids: item.map(i => i.id)
|
||||||
})
|
})
|
||||||
.subscribe(res => {
|
.subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
@ -244,7 +244,7 @@ export class InvoiceRequestedComponent {
|
|||||||
|
|
||||||
requestedInvoiceAction(item: any) {
|
requestedInvoiceAction(item: any) {
|
||||||
const modal = this.nzModalService.create({
|
const modal = this.nzModalService.create({
|
||||||
nzTitle: '开票',
|
nzTitle: '开票受理',
|
||||||
nzContent: RequestedInvoiceModalComponent,
|
nzContent: RequestedInvoiceModalComponent,
|
||||||
nzWidth: 1200,
|
nzWidth: 1200,
|
||||||
nzComponentParams: {
|
nzComponentParams: {
|
||||||
@ -385,12 +385,14 @@ export class InvoiceRequestedComponent {
|
|||||||
title: '货主名称',
|
title: '货主名称',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
serverSearch: true,
|
||||||
|
searchDebounceTime: 300,
|
||||||
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
|
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }),
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
},
|
}
|
||||||
asyncData: () => this.service.getCRM()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@
|
|||||||
{{headerInfo?.ordlines}}
|
{{headerInfo?.ordlines}}
|
||||||
</se>
|
</se>
|
||||||
<se label="开票金额">
|
<se label="开票金额">
|
||||||
{{headerInfo?.vatinvHNumAmount}}
|
{{headerInfo?.vatinvHNumAmount | currency}}
|
||||||
</se>
|
</se>
|
||||||
<se label="服务名称">
|
<se label="服务名称">
|
||||||
{{headerInfo?.vatnameLabel}}
|
{{headerInfo?.vatnameLabel}}
|
||||||
|
|||||||
@ -32,7 +32,6 @@ export class RequestedDetailComponent implements OnInit {
|
|||||||
initData() {
|
initData() {
|
||||||
if(this.id) {
|
if(this.id) {
|
||||||
this.service.request(this.service.$api_get_invoice_requested_header_detail, { id: this.id }).subscribe(res => {
|
this.service.request(this.service.$api_get_invoice_requested_header_detail, { id: this.id }).subscribe(res => {
|
||||||
console.log(res);
|
|
||||||
if (res) {
|
if (res) {
|
||||||
this.headerInfo = res;
|
this.headerInfo = res;
|
||||||
}
|
}
|
||||||
@ -40,7 +39,6 @@ export class RequestedDetailComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
if(this.Id) {
|
if(this.Id) {
|
||||||
this.service.request(this.service.$api_get_invoice_requested_header_detail, { id: this.Id }).subscribe(res => {
|
this.service.request(this.service.$api_get_invoice_requested_header_detail, { id: this.Id }).subscribe(res => {
|
||||||
console.log(res);
|
|
||||||
if (res) {
|
if (res) {
|
||||||
this.headerInfo = res;
|
this.headerInfo = res;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,8 +8,10 @@ import { ModalHelper, _HttpClient } from '@delon/theme';
|
|||||||
import { NzImageService } from 'ng-zorro-antd/image';
|
import { NzImageService } from 'ng-zorro-antd/image';
|
||||||
import { NzMessageService } from 'ng-zorro-antd/message';
|
import { NzMessageService } from 'ng-zorro-antd/message';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { Subject } from 'rxjs';
|
||||||
import { ImageViewComponent } from 'src/app/shared/components/imagelist';
|
import { ImageViewComponent } from 'src/app/shared/components/imagelist';
|
||||||
import { UsermanageService } from '../../../services/usercenter.service';
|
import { UsermanageService } from '../../../services/usercenter.service';
|
||||||
|
import { debounceTime } from 'rxjs/operators';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-usercenter-components-driver-detail',
|
selector: 'app-usercenter-components-driver-detail',
|
||||||
@ -21,6 +23,7 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
detailData: any;
|
detailData: any;
|
||||||
userDetail: any;
|
userDetail: any;
|
||||||
contencarModel: any;
|
contencarModel: any;
|
||||||
|
changeSub = new Subject<string>();
|
||||||
facetext: any;
|
facetext: any;
|
||||||
faceStatus: any = 0;
|
faceStatus: any = 0;
|
||||||
userIdentityDetail: any = {};
|
userIdentityDetail: any = {};
|
||||||
@ -73,6 +76,7 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.initData();
|
this.initData();
|
||||||
this.initDetailByCode();
|
this.initDetailByCode();
|
||||||
|
this.changeEndKmAction()
|
||||||
}
|
}
|
||||||
initData() {
|
initData() {
|
||||||
// 获取司机头部信息
|
// 获取司机头部信息
|
||||||
@ -209,17 +213,21 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
nzTitle: '审核通过',
|
nzTitle: '审核通过',
|
||||||
nzContent: `<p>驾驶证号:${this.driverDetail?.licenseNo}</p><p>从业资格证号:${this.licenseDetail?.licenseNo}</p><p>是否确认通过审核`,
|
nzContent: `<p>驾驶证号:${this.driverDetail?.licenseNo}</p><p>从业资格证号:${this.licenseDetail?.licenseNo}</p><p>是否确认通过审核`,
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
this.adjuctDriverLicense(
|
this.changeEndKmAction()
|
||||||
{
|
|
||||||
approvalStatus: 20,
|
|
||||||
appUserId: this.userDetail?.appUserId
|
|
||||||
},
|
|
||||||
'审核成功'
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
changeEndKmAction() {
|
||||||
|
this.changeSub.pipe(debounceTime(500)).subscribe((res: string) => {
|
||||||
|
this.adjuctDriverLicense(
|
||||||
|
{
|
||||||
|
approvalStatus: 20,
|
||||||
|
appUserId: this.userDetail?.appUserId
|
||||||
|
},
|
||||||
|
'审核成功'
|
||||||
|
);
|
||||||
|
})
|
||||||
|
}
|
||||||
/** 驳回驾驶员信息 */
|
/** 驳回驾驶员信息 */
|
||||||
rejectedDriver() {
|
rejectedDriver() {
|
||||||
this.approvalOpinion = '';
|
this.approvalOpinion = '';
|
||||||
|
|||||||
@ -2,9 +2,9 @@
|
|||||||
* @Description :
|
* @Description :
|
||||||
* @Version : 1.0
|
* @Version : 1.0
|
||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-02-16 10:09:23
|
* @Date : 2022-03-14 14:17:38
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-16 10:14:29
|
* @LastEditTime : 2022-03-25 16:22:32
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\list\\carauth\\carauth.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\list\\carauth\\carauth.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -32,12 +32,16 @@
|
|||||||
<div class="pa"><img width="190" src="/assets/images/vehicle/driverback.png" /></div>
|
<div class="pa"><img width="190" src="/assets/images/vehicle/driverback.png" /></div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template sf-template="roadImg" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<img height="104" src="/assets/images/vehicle/road.png" class="borderImg" />
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="agreeImg" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<img height="104" src="/assets/images/vehicle/agreement.png" class="borderImg" />
|
||||||
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
<img class="drivercard" height="104" src="/assets/images/vehicle/car.png" />
|
<img class="drivercard borderImg" height="104" src="/assets/images/vehicle/car.png" />
|
||||||
<img class="agreement" height="104" src="/assets/images/vehicle/agreement.png" />
|
|
||||||
<img class="jopcard" height="104" src="/assets/images/vehicle/road.png" />
|
|
||||||
</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]="!sf?.valid">确定</button>
|
<button nz-button type="button" nzType="primary" (click)="submitForm()" [disabled]="!(sf?.valid && i.flag !== 'view')" [nzLoading]="service.http.loading">确定</button>
|
||||||
</div>
|
</div>
|
||||||
@ -75,7 +75,7 @@
|
|||||||
.pa {
|
.pa {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 35px;
|
top: 35px;
|
||||||
left: 150px;
|
left: 140px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tips {
|
.tips {
|
||||||
@ -96,7 +96,7 @@
|
|||||||
.drivercard{
|
.drivercard{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 330px;
|
left: 325px;
|
||||||
border: solid 1px #ebf0fb;
|
border: solid 1px #ebf0fb;
|
||||||
}
|
}
|
||||||
.jopcard{
|
.jopcard{
|
||||||
@ -113,11 +113,17 @@
|
|||||||
}
|
}
|
||||||
:host{
|
:host{
|
||||||
::ng-deep {
|
::ng-deep {
|
||||||
.ant-input-borderless{
|
.ant-input-borderless{
|
||||||
padding: 0;
|
padding: 0;
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
color: black;
|
color: black;
|
||||||
resize:none;
|
resize:none;
|
||||||
}
|
}
|
||||||
|
.setCustom .ant-form-item-control{
|
||||||
|
margin-left: -100px !important
|
||||||
|
}
|
||||||
|
.borderImg{
|
||||||
|
border: solid 1px #ebf0fb;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -24,38 +24,37 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
showJopFlag = false;
|
showJopFlag = false;
|
||||||
companyData: any = {};
|
companyData: any = {};
|
||||||
detailData: any = {};
|
detailData: any = {};
|
||||||
carNo = '';
|
carNo = ''
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private modal: NzModalRef,
|
private modal: NzModalRef,
|
||||||
public service: VehicleService,
|
public service: VehicleService,
|
||||||
private envSrv: EAEnvironmentService,
|
private envSrv: EAEnvironmentService,
|
||||||
private eaCacheSrv: EACacheService
|
private eaCacheSrv: EACacheService,
|
||||||
) {}
|
) { }
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
console.log(this.i)
|
this.initData()
|
||||||
this.initData();
|
this.initSF()
|
||||||
this.initSF();
|
|
||||||
}
|
}
|
||||||
initData() {
|
initData() {
|
||||||
if (this.i?.id) {
|
if (this.i.id) {
|
||||||
this.companyData = this.eaCacheSrv.get(cacheConf.env);
|
this.companyData = this.eaCacheSrv.get(cacheConf.env)
|
||||||
const params = {
|
const params = {
|
||||||
id: this.i?.id
|
id: this.i.id,
|
||||||
};
|
}
|
||||||
this.service.request(this.service.$api_shipperCarGet, params).subscribe(res => {
|
this.service.request(this.service.$api_shipperCarGet, params).subscribe(res => {
|
||||||
this.detailData = res;
|
this.detailData = res
|
||||||
this.detailData.isSelf = res.isSelf ? 1 : 0;
|
this.detailData.isSelf = res.isSelf ? 1 : 0
|
||||||
this.detailData.isTrailer = res.isTrailer ? 1 : 0;
|
this.detailData.isTrailer = res.isTrailer ? 1 : 0
|
||||||
this.detailData.carFrontPhotoWatermark = [
|
this.detailData.carFrontPhotoWatermark = [
|
||||||
{
|
{
|
||||||
uid: -1,
|
uid: -1,
|
||||||
name: 'LOGO',
|
name: 'LOGO',
|
||||||
status: 'done',
|
status: 'done',
|
||||||
url: this.detailData.carFrontPhotoWatermark,
|
url: this.detailData.carFrontPhotoWatermark,
|
||||||
response: this.detailData.carFrontPhotoWatermark
|
response: this.detailData.carFrontPhotoWatermark,
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
this.detailData.carProtocalWatermark = [
|
this.detailData.carProtocalWatermark = [
|
||||||
{
|
{
|
||||||
@ -63,8 +62,8 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
name: 'LOGO',
|
name: 'LOGO',
|
||||||
status: 'done',
|
status: 'done',
|
||||||
url: this.detailData.carProtocalWatermark,
|
url: this.detailData.carProtocalWatermark,
|
||||||
response: this.detailData.carProtocalWatermark
|
response: this.detailData.carProtocalWatermark,
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
this.detailData.certificatePhotoFrontWatermark = [
|
this.detailData.certificatePhotoFrontWatermark = [
|
||||||
{
|
{
|
||||||
@ -72,8 +71,8 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
name: 'LOGO',
|
name: 'LOGO',
|
||||||
status: 'done',
|
status: 'done',
|
||||||
url: this.detailData.certificatePhotoFrontWatermark,
|
url: this.detailData.certificatePhotoFrontWatermark,
|
||||||
response: this.detailData.certificatePhotoFrontWatermark
|
response: this.detailData.certificatePhotoFrontWatermark,
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
this.detailData.certificatePhotoBackWatermark = [
|
this.detailData.certificatePhotoBackWatermark = [
|
||||||
{
|
{
|
||||||
@ -81,8 +80,8 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
name: 'LOGO',
|
name: 'LOGO',
|
||||||
status: 'done',
|
status: 'done',
|
||||||
url: this.detailData.certificatePhotoBackWatermark,
|
url: this.detailData.certificatePhotoBackWatermark,
|
||||||
response: this.detailData.certificatePhotoBackWatermark
|
response: this.detailData.certificatePhotoBackWatermark,
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
this.detailData.roadTransportPhotoWatermark = [
|
this.detailData.roadTransportPhotoWatermark = [
|
||||||
{
|
{
|
||||||
@ -90,10 +89,10 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
name: 'LOGO',
|
name: 'LOGO',
|
||||||
status: 'done',
|
status: 'done',
|
||||||
url: this.detailData.roadTransportPhotoWatermark,
|
url: this.detailData.roadTransportPhotoWatermark,
|
||||||
response: this.detailData.roadTransportPhotoWatermark
|
response: this.detailData.roadTransportPhotoWatermark,
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
initSF() {
|
initSF() {
|
||||||
@ -104,7 +103,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
title: '车头照照片',
|
title: '车头照照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.fileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
resReName: 'data.fullFileWatermarkPath',
|
resReName: 'data.fullFileWatermarkPath',
|
||||||
@ -112,21 +111,21 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
widget: 'upload',
|
widget: 'upload',
|
||||||
descriptionI18n: '请上传车头照照片,支持JPG、PNG格式,文件小于5M。',
|
descriptionI18n: '请上传车头照照片,支持JPG、PNG格式,文件小于5M。',
|
||||||
data: {
|
data: {
|
||||||
appId: this.envSrv.env.appId
|
appId: this.envSrv.env.appId,
|
||||||
},
|
},
|
||||||
name: 'multipartFile',
|
name: 'multipartFile',
|
||||||
multiple: false,
|
multiple: false,
|
||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
this.detailData.carFrontPhoto = args.file.response.data.fullFilePath;
|
this.detailData.carFrontPhoto = args.file.response.data.fullFilePath
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
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 < 2;
|
const isLt2M = file.size / 1024 / 1024 < 5;
|
||||||
if (!isLt2M) {
|
if (!isLt2M) {
|
||||||
this.service.msgSrv.warning('图片大小超过2M!');
|
this.service.msgSrv.warning('图片大小超过5M!');
|
||||||
observer.complete();
|
observer.complete();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -134,7 +133,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// previewFile: (file: NzUploadFile) => of(file.url)
|
previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
carNo: {
|
carNo: {
|
||||||
@ -142,8 +141,8 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
maxLength: 9,
|
maxLength: 9,
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
carNoColor: {
|
carNoColor: {
|
||||||
title: '车牌颜色',
|
title: '车牌颜色',
|
||||||
@ -151,9 +150,9 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
params: { dictKey: 'car:color' },
|
params: { dictKey: 'car:color' },
|
||||||
placeholder: '请选择车型',
|
placeholder: '请选择车牌颜色',
|
||||||
containsAllLabel: false
|
containsAllLabel:false,
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema,
|
||||||
},
|
},
|
||||||
carModel: {
|
carModel: {
|
||||||
title: '车型',
|
title: '车型',
|
||||||
@ -162,8 +161,8 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
params: { dictKey: 'car:model' },
|
params: { dictKey: 'car:model' },
|
||||||
placeholder: '请选择车型',
|
placeholder: '请选择车型',
|
||||||
containsAllLabel: false
|
containsAllLabel:false,
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema,
|
||||||
},
|
},
|
||||||
carLength: {
|
carLength: {
|
||||||
title: '车长',
|
title: '车长',
|
||||||
@ -172,8 +171,8 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
params: { dictKey: 'car:length' },
|
params: { dictKey: 'car:length' },
|
||||||
placeholder: '请选择车长',
|
placeholder: '请选择车长',
|
||||||
containsAllLabel: false
|
containsAllLabel:false,
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema,
|
||||||
},
|
},
|
||||||
carLoad: {
|
carLoad: {
|
||||||
title: '载重',
|
title: '载重',
|
||||||
@ -181,10 +180,11 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
maxLength: 6,
|
maxLength: 6,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
change: (val: any) => {
|
addOnAfter: '吨',
|
||||||
const value = val.replace(/\D/g, '');
|
change: (val: any) =>{
|
||||||
this.sf.setValue('/carLoad', value);
|
const value = val.replace(/\D/g,'')
|
||||||
}
|
this.sf.setValue('/carLoad', value)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
isSelf: {
|
isSelf: {
|
||||||
@ -192,11 +192,11 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
enum: [
|
enum: [
|
||||||
{ label: '否', value: 0 },
|
{ label: '否', value: 0 },
|
||||||
{ label: '是', value: 1 }
|
{ label: '是', value: 1 },
|
||||||
],
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择'
|
placeholder: '请选择',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
isTrailer: {
|
isTrailer: {
|
||||||
@ -204,11 +204,11 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
enum: [
|
enum: [
|
||||||
{ label: '否', value: 0 },
|
{ label: '否', value: 0 },
|
||||||
{ label: '是', value: 1 }
|
{ label: '是', value: 1 },
|
||||||
],
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择'
|
placeholder: '请选择',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
carProtocalWatermark: {
|
carProtocalWatermark: {
|
||||||
@ -216,7 +216,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
title: '挂靠协议',
|
title: '挂靠协议',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.fileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
resReName: 'data.fullFileWatermarkPath',
|
resReName: 'data.fullFileWatermarkPath',
|
||||||
@ -224,14 +224,14 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
widget: 'upload',
|
widget: 'upload',
|
||||||
descriptionI18n: '请上传挂靠协议,支持JPG、PNG格式,文件小于5M。',
|
descriptionI18n: '请上传挂靠协议,支持JPG、PNG格式,文件小于5M。',
|
||||||
data: {
|
data: {
|
||||||
appId: this.envSrv.env.appId
|
appId: this.envSrv.env.appId,
|
||||||
},
|
},
|
||||||
name: 'multipartFile',
|
name: 'multipartFile',
|
||||||
multiple: false,
|
multiple: false,
|
||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath;
|
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeUpload: (file: any, _fileList: any) => {
|
beforeUpload: (file: any, _fileList: any) => {
|
||||||
@ -246,31 +246,39 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// previewFile: (file: NzUploadFile) => of(file.url)
|
previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
agreeImg: {
|
||||||
|
title: '',
|
||||||
|
type: 'boolean',
|
||||||
|
// enum: [{ label: '长期', value: true }],
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
titleA: {
|
titleA: {
|
||||||
title: '行驶证信息(必填)',
|
title: '行驶证信息(必填)',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'text'
|
widget: 'text',
|
||||||
},
|
},
|
||||||
default: '照片上传后会自动识别文字并填充下列内容栏'
|
default: '照片上传后会自动识别文字并填充下列内容栏',
|
||||||
},
|
},
|
||||||
tipsA: {
|
tipsA: {
|
||||||
title: '',
|
title: '',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom',
|
widget: 'custom',
|
||||||
offsetControl: 6
|
offsetControl: 6,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
certificatePhotoFrontWatermark: {
|
certificatePhotoFrontWatermark: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '行驶证首页照片',
|
title: '行驶证首页照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.fileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
resReName: 'data.fullFileWatermarkPath',
|
resReName: 'data.fullFileWatermarkPath',
|
||||||
@ -278,24 +286,24 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
widget: 'upload',
|
widget: 'upload',
|
||||||
descriptionI18n: '请上传行驶证首页照片,支持JPG、PNG格式,文件小于5M。照片信息缺失、拼凑、过度PS、模糊不清,都不会通过审核。',
|
descriptionI18n: '请上传行驶证首页照片,支持JPG、PNG格式,文件小于5M。照片信息缺失、拼凑、过度PS、模糊不清,都不会通过审核。',
|
||||||
data: {
|
data: {
|
||||||
appId: this.envSrv.env.appId
|
appId: this.envSrv.env.appId,
|
||||||
},
|
},
|
||||||
name: 'multipartFile',
|
name: 'multipartFile',
|
||||||
multiple: false,
|
multiple: false,
|
||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath;
|
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
|
||||||
this.checkCarCard(args.file.response.data.fullFilePath, 'front');
|
this.checkCarCard(args.file.response.data.fullFilePath, 'front');
|
||||||
} else {
|
} else {
|
||||||
this.detailData.certificatePhotoFront = '';
|
this.detailData.certificatePhotoFront = ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
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 < 2;
|
const isLt2M = file.size / 1024 / 1024 < 5;
|
||||||
if (!isLt2M) {
|
if (!isLt2M) {
|
||||||
this.service.msgSrv.warning('图片大小超过2M!');
|
this.service.msgSrv.warning('图片大小超过5M!');
|
||||||
observer.complete();
|
observer.complete();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -303,7 +311,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// previewFile: (file: NzUploadFile) => of(file.url)
|
previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tipsB: {
|
tipsB: {
|
||||||
@ -311,15 +319,15 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom',
|
widget: 'custom',
|
||||||
offsetControl: 6
|
offsetControl: 6,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
certificatePhotoBackWatermark: {
|
certificatePhotoBackWatermark: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '行驶证副页照片',
|
title: '行驶证副页照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.fileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
resReName: 'data.fullFileWatermarkPath',
|
resReName: 'data.fullFileWatermarkPath',
|
||||||
@ -327,24 +335,24 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
widget: 'upload',
|
widget: 'upload',
|
||||||
descriptionI18n: '请上传行驶证副业照片,支持JPG、PNG格式,文件小于5M。',
|
descriptionI18n: '请上传行驶证副业照片,支持JPG、PNG格式,文件小于5M。',
|
||||||
data: {
|
data: {
|
||||||
appId: this.envSrv.env.appId
|
appId: this.envSrv.env.appId,
|
||||||
},
|
},
|
||||||
name: 'multipartFile',
|
name: 'multipartFile',
|
||||||
multiple: false,
|
multiple: false,
|
||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath;
|
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath
|
||||||
this.checkCarCard(args.file.response.data.fullFilePath, 'back');
|
this.checkCarCard(args.file.response.data.fullFilePath, 'back');
|
||||||
} else {
|
} else {
|
||||||
this.detailData.certificatePhotoBack = '';
|
this.detailData.certificatePhotoBack = ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
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 < 2;
|
const isLt2M = file.size / 1024 / 1024 < 5;
|
||||||
if (!isLt2M) {
|
if (!isLt2M) {
|
||||||
this.service.msgSrv.warning('图片大小超过2M!');
|
this.service.msgSrv.warning('图片大小超过5M!');
|
||||||
observer.complete();
|
observer.complete();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -352,7 +360,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// previewFile: (file: NzUploadFile) => of(file.url)
|
previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
driverLicenseRegisterTime: {
|
driverLicenseRegisterTime: {
|
||||||
@ -360,16 +368,16 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
format: 'date',
|
format: 'date',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
driverLicenseGetTime: {
|
driverLicenseGetTime: {
|
||||||
title: '行驶证发证日期',
|
title: '行驶证发证日期',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
format: 'date',
|
format: 'date',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
driverLicenseEndTime: {
|
driverLicenseEndTime: {
|
||||||
title: '行驶证到期日期',
|
title: '行驶证到期日期',
|
||||||
@ -377,24 +385,24 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
format: 'date',
|
format: 'date',
|
||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
driverLicenseSigningOrg: {
|
driverLicenseSigningOrg: {
|
||||||
title: '行驶证签发机关',
|
title: '行驶证签发机关',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
carDistinguishCode: {
|
carDistinguishCode: {
|
||||||
title: '车辆识别代码',
|
title: '车辆识别代码',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
useNature: {
|
useNature: {
|
||||||
title: '使用性质',
|
title: '使用性质',
|
||||||
@ -402,42 +410,42 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
enum: [
|
enum: [
|
||||||
{ label: '非营运', value: 0 },
|
{ label: '非营运', value: 0 },
|
||||||
{ label: '营运', value: 1 }
|
{ label: '营运', value: 1 },
|
||||||
],
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择'
|
placeholder: '请选择',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
curbWeight: {
|
curbWeight: {
|
||||||
title: '整备质量',
|
title: '整备质量',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
carOwner: {
|
carOwner: {
|
||||||
title: '所有人',
|
title: '所有人',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
titleB: {
|
titleB: {
|
||||||
title: '道运证(选填)',
|
title: '道运证(选填)',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'text'
|
widget: 'text',
|
||||||
},
|
},
|
||||||
default: '照片上传后会自动识别文字并填充下列内容栏'
|
default: '照片上传后会自动识别文字并填充下列内容栏',
|
||||||
},
|
},
|
||||||
roadTransportPhotoWatermark: {
|
roadTransportPhotoWatermark: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '道运证照片',
|
title: '道运证照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.fileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
resReName: 'data.fullFileWatermarkPath',
|
resReName: 'data.fullFileWatermarkPath',
|
||||||
@ -445,24 +453,24 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
widget: 'upload',
|
widget: 'upload',
|
||||||
descriptionI18n: '请上传道运证照片,支持JPG、PNG格式,文件小于5M。蓝牌绿牌车辆,可不用传道运证',
|
descriptionI18n: '请上传道运证照片,支持JPG、PNG格式,文件小于5M。蓝牌绿牌车辆,可不用传道运证',
|
||||||
data: {
|
data: {
|
||||||
appId: this.envSrv.env.appId
|
appId: this.envSrv.env.appId,
|
||||||
},
|
},
|
||||||
name: 'multipartFile',
|
name: 'multipartFile',
|
||||||
multiple: false,
|
multiple: false,
|
||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
this.detailData.roadTransportPhoto = args.file.response.data.fullFilePath;
|
this.detailData.roadTransportPhoto = args.file.response.data.fullFilePath
|
||||||
this.checkTransCard(args.file.response.data.fullFilePath);
|
this.checkTransCard(args.file.response.data.fullFilePath);
|
||||||
} else {
|
} else {
|
||||||
this.detailData.roadTransportPhoto = '';
|
this.detailData.roadTransportPhoto = ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
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 < 2;
|
const isLt2M = file.size / 1024 / 1024 < 5;
|
||||||
if (!isLt2M) {
|
if (!isLt2M) {
|
||||||
this.service.msgSrv.warning('图片大小超过2M!');
|
this.service.msgSrv.warning('图片大小超过5M!');
|
||||||
observer.complete();
|
observer.complete();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -470,7 +478,15 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// previewFile: (file: NzUploadFile) => of(file.url)
|
previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
roadImg: {
|
||||||
|
title: '',
|
||||||
|
type: 'boolean',
|
||||||
|
// enum: [{ label: '长期', value: true }],
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
roadTransportNo: {
|
roadTransportNo: {
|
||||||
@ -479,8 +495,8 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
ui: {
|
ui: {
|
||||||
// widget: this.detailData.commitFlag !== 0 ? 'text' : '',
|
// widget: this.detailData.commitFlag !== 0 ? 'text' : '',
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
roadTransportLicenceNo: {
|
roadTransportLicenceNo: {
|
||||||
title: '经营许可证号',
|
title: '经营许可证号',
|
||||||
@ -488,25 +504,25 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
ui: {
|
ui: {
|
||||||
// widget: this.detailData.commitFlag !== 0 ? 'text' : '',
|
// widget: this.detailData.commitFlag !== 0 ? 'text' : '',
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
roadTransportStartTime: {
|
roadTransportStartTime: {
|
||||||
title: '发证日期',
|
title: '发证日期',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
format: 'date',
|
format: 'date',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
roadTransportEndTime: {
|
roadTransportEndTime: {
|
||||||
title: '有效期至',
|
title: '有效期至',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
format: 'date',
|
format: 'date',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入',
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
required: [
|
required: [
|
||||||
'carFrontPhotoWatermark',
|
'carFrontPhotoWatermark',
|
||||||
@ -526,62 +542,61 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
'carDistinguishCode',
|
'carDistinguishCode',
|
||||||
'useNature',
|
'useNature',
|
||||||
'carOwner'
|
'carOwner'
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
this.ui = {
|
this.ui = {
|
||||||
'*': {
|
'*': {
|
||||||
spanLabelFixed: 180,
|
spanLabelFixed: 180,
|
||||||
grid: { span: 18 },
|
grid: { span: 18 },
|
||||||
width: 600
|
width: 600,
|
||||||
},
|
},
|
||||||
$title1: {
|
$title1: {
|
||||||
spanLabelFixed: 0
|
spanLabelFixed: 0,
|
||||||
},
|
},
|
||||||
$title2: {
|
$title2: {
|
||||||
spanLabelFixed: 0
|
spanLabelFixed: 0,
|
||||||
},
|
},
|
||||||
$title3: {
|
$title3: {
|
||||||
spanLabelFixed: 0
|
spanLabelFixed: 0,
|
||||||
},
|
},
|
||||||
$enterpriseRegistrationTime: {
|
$isTrailer:{
|
||||||
width: 680
|
grid: { span: 24 },
|
||||||
},
|
},
|
||||||
$operatingEndTime: {
|
$carProtocalWatermark: {
|
||||||
grid: { span: 9 }
|
grid: { span:12 },
|
||||||
},
|
},
|
||||||
$dateType: {
|
$agreeImg: {
|
||||||
grid: { span: 4 }
|
grid: { span: 4 },
|
||||||
|
class: 'setCustom'
|
||||||
},
|
},
|
||||||
$validEndTime: {
|
$titleB:{
|
||||||
grid: { span: 9 }
|
grid: { span: 24 },
|
||||||
},
|
},
|
||||||
$dateType01: {
|
$roadTransportPhotoWatermark: {
|
||||||
grid: { span: 4 }
|
grid: { span: 12 },
|
||||||
},
|
},
|
||||||
$registrationCapital: {
|
$roadImg: {
|
||||||
grid: { span: 12 }
|
grid: { span: 4 },
|
||||||
|
class: 'setCustom'
|
||||||
},
|
},
|
||||||
$unit: {
|
|
||||||
spanLabelFixed: 20,
|
|
||||||
grid: { span: 3 }
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// 道路运输证识别
|
// 道路运输证识别
|
||||||
checkTransCard(imgurl: any) {
|
checkTransCard(imgurl: any) {
|
||||||
const params = {
|
const params = {
|
||||||
transportationLicenseUrl: imgurl
|
transportationLicenseUrl: imgurl,
|
||||||
};
|
};
|
||||||
this.service.request(this.service.$api_recognizeTransportationLicense, params).subscribe(res => {
|
this.service.request(this.service.$api_recognizeTransportationLicense, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.sf.setValue('/roadTransportNo', res.number);
|
this.sf.setValue('/roadTransportNo', res.number);
|
||||||
this.sf.setValue('/roadTransportLicenceNo', res.businessCertificate);
|
this.sf.setValue('/roadTransportLicenceNo', res.businessCertificate);
|
||||||
this.sf.setValue('/roadTransportStartTime', res.issueDate);
|
this.sf.setValue('/roadTransportStartTime', res.issueDate);
|
||||||
if (this.carNo === '') {
|
if(this.carNo === '') {
|
||||||
this.carNo = res.number;
|
this.carNo = res.number
|
||||||
} else if (this.carNo && res.vehicleNumber.indexOf(this.carNo) === -1) {
|
} else if(this.carNo && res.vehicleNumber.indexOf(this.carNo) === -1) {
|
||||||
this.service.msgSrv.warning('请上传同一认证车辆的相关证件');
|
this.service.msgSrv.warning('请上传同一认证车辆的相关证件')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -590,12 +605,11 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
checkCarCard(imgurl: any, side: any) {
|
checkCarCard(imgurl: any, side: any) {
|
||||||
const params = {
|
const params = {
|
||||||
vehicleLicenseUrl: imgurl,
|
vehicleLicenseUrl: imgurl,
|
||||||
side
|
side,
|
||||||
};
|
};
|
||||||
this.service.request(this.service.$api_recognizeVehicleLicense, params).subscribe(res => {
|
this.service.request(this.service.$api_recognizeVehicleLicense, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
if (side === 'front') {
|
if (side === 'front') { // 正面
|
||||||
// 正面
|
|
||||||
this.sf.setValue('/driverLicenseRegisterTime', res.registerDate);
|
this.sf.setValue('/driverLicenseRegisterTime', res.registerDate);
|
||||||
this.sf.setValue('/carNo', res.number);
|
this.sf.setValue('/carNo', res.number);
|
||||||
this.sf.setValue('/driverLicenseGetTime', res.issueDate);
|
this.sf.setValue('/driverLicenseGetTime', res.issueDate);
|
||||||
@ -603,49 +617,46 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
this.sf.setValue('/carDistinguishCode', res.vin);
|
this.sf.setValue('/carDistinguishCode', res.vin);
|
||||||
this.sf.setValue('/carOwner', res.name);
|
this.sf.setValue('/carOwner', res.name);
|
||||||
this.sf.setValue('/useNature', res.useCharacter === '非营运' ? 0 : 1);
|
this.sf.setValue('/useNature', res.useCharacter === '非营运' ? 0 : 1);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.sf.setValue('/curbWeight', res.unladenMass);
|
this.sf.setValue('/curbWeight', res.unladenMass);
|
||||||
}
|
}
|
||||||
if (this.carNo === '') {
|
if(this.carNo === '') {
|
||||||
this.carNo = res.number;
|
this.carNo = res.number
|
||||||
} else if (this.carNo && this.carNo !== res.number) {
|
} else if(this.carNo && this.carNo !== res.number) {
|
||||||
this.service.msgSrv.warning('请上传同一认证车辆的相关证件');
|
this.service.msgSrv.warning('请上传同一认证车辆的相关证件')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
close(): void {
|
close(): void {
|
||||||
this.modal.destroy();
|
this.modal.close(true);
|
||||||
}
|
}
|
||||||
showExample() {
|
showExample() {
|
||||||
this.showCardFlag = !this.showCardFlag;
|
this.showCardFlag = !this.showCardFlag
|
||||||
}
|
}
|
||||||
showJopExample() {
|
showJopExample() {
|
||||||
this.showJopFlag = !this.showJopFlag;
|
this.showJopFlag = !this.showJopFlag
|
||||||
}
|
}
|
||||||
submitForm() {
|
submitForm() {
|
||||||
const params: any = {
|
const params: any = {
|
||||||
appUserId: this.i.appUserId,
|
appUserId: this.i.appUserId,
|
||||||
...this.sf.value
|
...this.sf.value,
|
||||||
|
bindType: this.i.bindType
|
||||||
};
|
};
|
||||||
params.carFrontPhoto = this.detailData.carFrontPhoto;
|
params.carFrontPhoto = this.detailData.carFrontPhoto
|
||||||
params.carProtocal = this.detailData.carProtocal;
|
params.carProtocal = this.detailData.carProtocal
|
||||||
params.certificatePhotoFront = this.detailData.certificatePhotoFront;
|
params.certificatePhotoFront = this.detailData.certificatePhotoFront
|
||||||
params.certificatePhotoBack = this.detailData.certificatePhotoBack;
|
params.certificatePhotoBack = this.detailData.certificatePhotoBack
|
||||||
params.roadTransportPhoto = this.detailData.roadTransportPhoto;
|
params.roadTransportPhoto = this.detailData.roadTransportPhoto
|
||||||
params.carFrontPhotoWatermark = this.sf.value.carFrontPhotoWatermark?.data?.fullFilePath || this.sf.value.carFrontPhotoWatermark
|
delete params.titleA
|
||||||
params.carProtocalWatermark = this.sf.value.carProtocalWatermark?.data?.fullFilePath || this.sf.value.carProtocalWatermark
|
delete params.titleB
|
||||||
params.certificatePhotoBackWatermark = this.sf.value.certificatePhotoBackWatermark?.data?.fullFilePath || this.sf.value.certificatePhotoBackWatermark
|
this.service.request(this.service.$api_saveUpdateShipperCar, params).subscribe((res: any) => {
|
||||||
params.certificatePhotoFrontWatermark = this.sf.value.certificatePhotoFrontWatermark?.data?.fullFilePath || this.sf.value.certificatePhotoFrontWatermark
|
|
||||||
params.roadTransportPhotoWatermark = this.sf.value.roadTransportPhotoWatermark?.data?.fullFilePath || this.sf.value.roadTransportPhotoWatermark
|
|
||||||
delete params.titleA;
|
|
||||||
delete params.titleB;
|
|
||||||
this.service.request(this.service.$api_addOrUpdateCarLicenseInfo, params).subscribe(res => {
|
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('添加成功');
|
this.service.msgSrv.success('添加成功')
|
||||||
this.modal.close(true);
|
this.modal.close(true)
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-12-03 11:10:14
|
* @Date: 2021-12-03 11:10:14
|
||||||
* @LastEditTime : 2022-03-11 16:04:29
|
* @LastEditTime : 2022-03-25 16:31:01
|
||||||
* @LastEditors : Shiming
|
* @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\\routes\\waybill-management\\components\\bulk\\bulk.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\bulk\\bulk.component.html
|
||||||
@ -85,9 +85,9 @@
|
|||||||
{{ item?.freightPrice }}/吨
|
{{ item?.freightPrice }}/吨
|
||||||
<div>{{item?.settlementBasisLabel}}</div>
|
<div>{{item?.settlementBasisLabel}}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="billExpenseDetailVOList" let-item let-index="index">
|
<ng-template st-row="billExpenseDetails" let-item let-index="index">
|
||||||
<div *ngIf="item?.billExpenseDetailVOList?.length > 0">
|
<div *ngIf="item?.billExpenseDetails?.length > 0">
|
||||||
<p *ngFor="let data of item?.billExpenseDetailVOList">
|
<p *ngFor="let data of item?.billExpenseDetails">
|
||||||
{{ data.costName }}:{{ data.price | currency }}
|
{{ data.costName }}:{{ data.price | currency }}
|
||||||
<span style="color: #f59a63">{{ data.paymentStatusLabel }}</span>
|
<span style="color: #f59a63">{{ data.paymentStatusLabel }}</span>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@ -253,9 +253,9 @@ export class WaybillManagementBulkComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '运费明细',
|
title: '运费明细',
|
||||||
width: '220px',
|
width: '250px',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
render: 'billExpenseDetailVOList'
|
render: 'billExpenseDetails'
|
||||||
},
|
},
|
||||||
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
|
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
|
||||||
{ title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' },
|
{ title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' },
|
||||||
|
|||||||
@ -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 => {});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,6 +23,9 @@ export class ShipperBaseService extends BaseService {
|
|||||||
$api_get_rebate_config = `/api/mdc/rebateConfig/list/listRebateConfig`;
|
$api_get_rebate_config = `/api/mdc/rebateConfig/list/listRebateConfig`;
|
||||||
// 获取渠道销售管理集合
|
// 获取渠道销售管理集合
|
||||||
$api_get_channel = `/api/mdc/channelSalesManagement/list/listChannelSalesManagement`;
|
$api_get_channel = `/api/mdc/channelSalesManagement/list/listChannelSalesManagement`;
|
||||||
|
|
||||||
|
// 获取货主企业列表
|
||||||
|
public $api_enterpriceList = '/api/mdc/cuc/enterpriseInfo/operate/enterpriceList';
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
super(injector);
|
super(injector);
|
||||||
}
|
}
|
||||||
@ -166,6 +169,33 @@ export class ShipperBaseService extends BaseService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取货主企业列表
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
getEnterpriceList(params = { enterpriseName: '' }, containerAll = false) {
|
||||||
|
let str = params.enterpriseName.replace(/^\s+|\s+$/g, '');
|
||||||
|
if (str) {
|
||||||
|
return this.request(this.$api_enterpriceList, params).pipe(
|
||||||
|
map((res: any) => {
|
||||||
|
if (!res) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const list = res.map((item: any) => {
|
||||||
|
return { label: item.enterpriseName, value: item.id };
|
||||||
|
});
|
||||||
|
const obj = [];
|
||||||
|
if (containerAll) {
|
||||||
|
obj.push({ label: '全部', value: '' });
|
||||||
|
}
|
||||||
|
return [...obj, ...list];
|
||||||
|
})
|
||||||
|
).toPromise();;
|
||||||
|
} else {
|
||||||
|
return of([]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取结算客户
|
* 获取结算客户
|
||||||
* @returns
|
* @returns
|
||||||
@ -267,7 +297,7 @@ export class ShipperBaseService extends BaseService {
|
|||||||
map(res => {
|
map(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
return res.map((m: any) => {
|
return res.map((m: any) => {
|
||||||
return { label: m.name, value: m.id };
|
return { label: `${m.employeeVO?.empName}/${m.employeeVO?.mobile}`, value: m.id };
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
Reference in New Issue
Block a user