Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tms-obc-web",
|
"name": "tms-obc-web",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"description": "运营后台-WEB",
|
"description": "运营后台-WEB",
|
||||||
"author": "cipchk <cipchk@qq.com>",
|
"author": "cipchk <cipchk@qq.com>",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-18 09:51:21
|
* @Date : 2022-01-18 09:51:21
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-27 11:21:30
|
* @LastEditTime : 2022-04-27 17:26:44
|
||||||
* @FilePath : \\tms-obc-web\\proxy.conf.js
|
* @FilePath : \\tms-obc-web\\proxy.conf.js
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -30,7 +30,7 @@ module.exports = {
|
|||||||
// },
|
// },
|
||||||
'//api': {
|
'//api': {
|
||||||
target: {
|
target: {
|
||||||
host: 'tms-api-test.eascs.com',
|
host: 'tms-api-dev.eascs.com',
|
||||||
protocol: 'https:',
|
protocol: 'https:',
|
||||||
port: 443
|
port: 443
|
||||||
},
|
},
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import { OnChanges } from '@angular/core';
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-05 11:01:55
|
* @Date : 2022-01-05 11:01:55
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-27 11:13:07
|
* @LastEditTime : 2022-04-27 20:19:39
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-detail\\contract-template-detail.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-detail\\contract-template-detail.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -87,7 +87,6 @@ export class ContractManagementTemplateTextComponent implements OnInit {
|
|||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
change: (tag: any, org: any) => {
|
change: (tag: any, org: any) => {
|
||||||
console.log(tag);
|
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 'MX':
|
case 'MX':
|
||||||
this.Types = [
|
this.Types = [
|
||||||
@ -95,7 +94,7 @@ export class ContractManagementTemplateTextComponent implements OnInit {
|
|||||||
{ label: '订单补充协议', value: '2' },
|
{ label: '订单补充协议', value: '2' },
|
||||||
{ label: '运单合同', value: '3' },
|
{ label: '运单合同', value: '3' },
|
||||||
{ label: '运单补充协议', value: '4' },
|
{ label: '运单补充协议', value: '4' },
|
||||||
{ label: '委托代收合同', value: '5' },
|
{ label: '委托代收合同', value: '5' }
|
||||||
];
|
];
|
||||||
this.sf.getProperty('/contractType')!.schema.enum = this.Types;
|
this.sf.getProperty('/contractType')!.schema.enum = this.Types;
|
||||||
this.sf.getProperty('/contractType')!.widget.reset(this.Types);
|
this.sf.getProperty('/contractType')!.widget.reset(this.Types);
|
||||||
@ -176,7 +175,7 @@ export class ContractManagementTemplateTextComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
required: ['templateName', 'templateType','contractType']
|
required: ['templateName', 'templateType', 'contractType']
|
||||||
};
|
};
|
||||||
this.ui = {
|
this.ui = {
|
||||||
'*': {
|
'*': {
|
||||||
@ -204,14 +203,69 @@ export class ContractManagementTemplateTextComponent implements OnInit {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
initData(url: string) {
|
initData(url: string) {
|
||||||
console.log('编辑');
|
|
||||||
|
|
||||||
this.service.request(url, { id: this.route.snapshot.params.id }).subscribe(res => {
|
this.service.request(url, { id: this.route.snapshot.params.id }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.detailList = res;
|
this.detailList = res;
|
||||||
this.title = this.detailList?.templateName;
|
this.title = this.detailList?.templateName;
|
||||||
this.sfdata = res;
|
this.sfdata = res;
|
||||||
this.sfdata2 = res;
|
this.sfdata2 = res;
|
||||||
|
|
||||||
|
switch (res.templateType) {
|
||||||
|
case 'MX':
|
||||||
|
let Types1 = [
|
||||||
|
{ label: '订单合同', value: '1' },
|
||||||
|
{ label: '订单补充协议', value: '2' },
|
||||||
|
{ label: '运单合同', value: '3' },
|
||||||
|
{ label: '运单补充协议', value: '4' },
|
||||||
|
{ label: '委托代收合同', value: '5' }
|
||||||
|
];
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.sf) {
|
||||||
|
this.sf.getProperty('/contractType')!.schema.enum = Types1;
|
||||||
|
this.sf.getProperty('/contractType')!.widget.reset(Types1);
|
||||||
|
if (res.contractType) {
|
||||||
|
this.sf.setValue('/contractType', res.contractType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
case 'KJ':
|
||||||
|
const Types2 = [
|
||||||
|
{ label: '网络货物运输服务合同', value: '6' },
|
||||||
|
{ label: '运输服务承揽合同', value: '7' }
|
||||||
|
];
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.sf) {
|
||||||
|
this.sf.getProperty('/contractType')!.schema.enum = Types2;
|
||||||
|
this.sf.getProperty('/contractType')!.widget.reset(Types2);
|
||||||
|
if (res.contractType) {
|
||||||
|
this.sf.setValue('/contractType', res.contractType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
case 'HHR':
|
||||||
|
const Types3 = [
|
||||||
|
{ label: '企业合伙人入驻合同', value: '8' },
|
||||||
|
{ label: '个人合伙人入驻合同', value: '9' }
|
||||||
|
];
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.sf) {
|
||||||
|
this.sf.getProperty('/contractType')!.schema.enum = Types3;
|
||||||
|
this.sf.getProperty('/contractType')!.widget.reset(Types3);
|
||||||
|
if (res.contractType) {
|
||||||
|
this.sf.setValue('/contractType', res.contractType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -220,13 +274,12 @@ export class ContractManagementTemplateTextComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
save() {
|
save() {
|
||||||
console.log(this.sf.value.templateName);
|
if (
|
||||||
console.log(this.sf.value.templateType);
|
!this.sf.value.templateName ||
|
||||||
console.log(this.sf2.value.templateContent);
|
!this.sf.value.templateType ||
|
||||||
console.log(this.title);
|
!this.sf2.value.templateContent ||
|
||||||
console.log(this.title || this.detailList.templateName);
|
!(this.title || this.detailList.templateName)
|
||||||
|
) {
|
||||||
if (!this.sf.value.templateName || !this.sf.value.templateType || !this.sf2.value.templateContent || !(this.title || this.detailList.templateName)) {
|
|
||||||
this.service.msgSrv.error('必填参数为空,请检查再重新保存!');
|
this.service.msgSrv.error('必填参数为空,请检查再重新保存!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -239,9 +292,8 @@ export class ContractManagementTemplateTextComponent implements OnInit {
|
|||||||
const params = {
|
const params = {
|
||||||
...this.sf.value,
|
...this.sf.value,
|
||||||
...this.sf2.value,
|
...this.sf2.value,
|
||||||
templateTitle: this.title || this.detailList.templateName
|
templateTitle: this.detailList.templateName || this.title
|
||||||
};
|
};
|
||||||
console.log(params);
|
|
||||||
this.service.request(this.service.$api_save_contractTemplate, params).subscribe((res: any) => {
|
this.service.request(this.service.$api_save_contractTemplate, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('保存成功!');
|
this.service.msgSrv.success('保存成功!');
|
||||||
@ -249,4 +301,5 @@ export class ContractManagementTemplateTextComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
EditType() {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -125,6 +125,7 @@ export class ContractManagementTemplateFrameComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '合同模板名称',
|
title: '合同模板名称',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
|
width: '300px',
|
||||||
render: 'templateName'
|
render: 'templateName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -135,7 +136,7 @@ export class ContractManagementTemplateFrameComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '合同类型',
|
title: '合同类型',
|
||||||
width: '100px',
|
width: '200px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index: 'contractTypeLabel'
|
index: 'contractTypeLabel'
|
||||||
},
|
},
|
||||||
|
|||||||
@ -125,6 +125,7 @@ export class ContractManagementTemplatePartnerComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '合同模板名称',
|
title: '合同模板名称',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
|
width: '300px',
|
||||||
render: 'templateName'
|
render: 'templateName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -135,7 +136,7 @@ export class ContractManagementTemplatePartnerComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '合同类型',
|
title: '合同类型',
|
||||||
width: '100px',
|
width: '200px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index: 'contractTypeLabel'
|
index: 'contractTypeLabel'
|
||||||
},
|
},
|
||||||
|
|||||||
@ -125,6 +125,7 @@ export class ContractManagementTemplateDetailComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '合同模板名称',
|
title: '合同模板名称',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
|
width: '300px',
|
||||||
render: 'templateName'
|
render: 'templateName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -135,7 +136,7 @@ export class ContractManagementTemplateDetailComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '合同类型',
|
title: '合同类型',
|
||||||
width: '100px',
|
width: '200px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index: 'contractTypeLabel'
|
index: 'contractTypeLabel'
|
||||||
},
|
},
|
||||||
|
|||||||
@ -552,6 +552,11 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements
|
|||||||
click: _record => this.changeOrder(_record),
|
click: _record => this.changeOrder(_record),
|
||||||
iif: item => item.billStatus == '4' || item.billStatus == '5' || item.billStatus == '2' || item.billStatus == '3',
|
iif: item => item.billStatus == '4' || item.billStatus == '5' || item.billStatus == '2' || item.billStatus == '3',
|
||||||
acl: { ability: ['ORDER-BULK-BulkBillDetail'] }
|
acl: { ability: ['ORDER-BULK-BulkBillDetail'] }
|
||||||
|
},{
|
||||||
|
text: '订单上报推送',
|
||||||
|
click: _record => this.orderReportPush(_record),
|
||||||
|
iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5')
|
||||||
|
// acl: { ability: ['VEHICLE-LIST-view'] },
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -659,6 +664,15 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements
|
|||||||
this.changeId = item.id;
|
this.changeId = item.id;
|
||||||
this.isVisible = true;
|
this.isVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
orderReportPush(item: any) {
|
||||||
|
this.service.request(this.service.$api_manualOrderSubmission,{id: item.id}).subscribe( res=> {
|
||||||
|
if(res) {
|
||||||
|
this.st.reload(this.st.pi)
|
||||||
|
this.service.msgSrv.success('推送成功');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 浮动费用查看
|
* 浮动费用查看
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -50,7 +50,7 @@
|
|||||||
<st #st [bordered]="true" multiSort [scroll]="{ x:'1200px',y:scrollY }" [data]="service.$api_get_listWholePage"
|
<st #st [bordered]="true" multiSort [scroll]="{ x:'1200px',y:scrollY }" [data]="service.$api_get_listWholePage"
|
||||||
[columns]="columns" [req]="{ process: beforeReq }"
|
[columns]="columns" [req]="{ process: beforeReq }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } , process: afterRes}"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } , process: afterRes}"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }">
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="service.http.loading">
|
||||||
<ng-template st-row="billCode" let-item let-index="index">
|
<ng-template st-row="billCode" let-item let-index="index">
|
||||||
<a [routerLink]="'vehicle-detail/' + item.id">{{ item.billCode }}</a>
|
<a [routerLink]="'vehicle-detail/' + item.id">{{ item.billCode }}</a>
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@ -469,6 +469,12 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
click: _record => this.viewTrack(_record),
|
click: _record => this.viewTrack(_record),
|
||||||
iif: item => item.billStatus !== '1' && item.billStatus !== '6'
|
iif: item => item.billStatus !== '1' && item.billStatus !== '6'
|
||||||
// acl: { ability: ['VEHICLE-LIST-view'] },
|
// acl: { ability: ['VEHICLE-LIST-view'] },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '订单上报推送',
|
||||||
|
click: _record => this.orderReportPush(_record),
|
||||||
|
iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5')
|
||||||
|
// acl: { ability: ['VEHICLE-LIST-view'] },
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -738,6 +744,16 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 订单上报推送
|
||||||
|
orderReportPush(item: any) {
|
||||||
|
this.service.request(this.service.$api_manualOrderSubmission,{id: item.id}).subscribe( res=> {
|
||||||
|
if(res) {
|
||||||
|
this.st.reload(this.st.pi)
|
||||||
|
this.service.msgSrv.success('推送成功');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// *确认签收
|
// *确认签收
|
||||||
|
|
||||||
confirmReceipt(item: any) {
|
confirmReceipt(item: any) {
|
||||||
|
|||||||
@ -219,6 +219,8 @@ export class OrderManagementService extends ShipperBaseService {
|
|||||||
public $api_getBillTakeGoods = `/api/sdc/billOperate/getBillTakeGoods`;
|
public $api_getBillTakeGoods = `/api/sdc/billOperate/getBillTakeGoods`;
|
||||||
// 生成提/卸货单
|
// 生成提/卸货单
|
||||||
public $api_createBillEsignGoods = `/api/sdc/billOperate/createBillEsignGoods`;
|
public $api_createBillEsignGoods = `/api/sdc/billOperate/createBillEsignGoods`;
|
||||||
|
// 订单上报推送
|
||||||
|
$api_manualOrderSubmission = '/api/sdc/billOperate/manualOrderSubmission';
|
||||||
|
|
||||||
// // 生成卸货单
|
// // 生成卸货单
|
||||||
// public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`;
|
// public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<div *ngIf="i">
|
<div *ngIf="i">
|
||||||
<page-header-wrapper [title]="'大宗货源详情'" [logo]="logo" [content]="headerContent">
|
<page-header-wrapper [title]="'大宗货源详情'" [logo]="logo">
|
||||||
<ng-template #logo>
|
<ng-template #logo>
|
||||||
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
||||||
<i nz-icon nzType="left" nzTheme="outline"></i>
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
@ -13,12 +13,12 @@
|
|||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
|
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
|
||||||
<div nz-col nzSpan="10">
|
<div nz-col nzSpan="10">
|
||||||
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
|
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
|
||||||
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
|
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
|
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
|
||||||
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
|
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
|
||||||
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
|
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-sm mb-sm" nz-row>
|
<div class="mt-sm mb-sm" nz-row>
|
||||||
@ -27,7 +27,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<nz-divider></nz-divider>
|
<nz-divider></nz-divider>
|
||||||
<div sv-container *ngIf="i">
|
<div sv-container>
|
||||||
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
||||||
<sv label="截止时间">{{ i?.deadlineTime }}</sv>
|
<sv label="截止时间">{{ i?.deadlineTime }}</sv>
|
||||||
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
||||||
@ -36,7 +36,35 @@
|
|||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
<nz-card nzTitle="货源进度">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="mb-xs" nz-row>
|
||||||
|
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
||||||
|
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
|
||||||
|
</div>
|
||||||
|
<div nz-row>
|
||||||
|
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
|
||||||
|
<div nz-col nzSpan="10">
|
||||||
|
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
|
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
|
||||||
|
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
|
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
|
||||||
|
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
|
||||||
|
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-sm mb-sm" nz-row>
|
||||||
|
<div>
|
||||||
|
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<nz-divider></nz-divider>
|
||||||
|
<div sv-container>
|
||||||
|
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
||||||
|
<sv label="截止时间">{{ i?.deadlineTime }}</sv>
|
||||||
|
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
||||||
|
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
|
||||||
|
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
|
||||||
|
</div>
|
||||||
<div class="approval-status">
|
<div class="approval-status">
|
||||||
<div style="width: 60%; margin: 0 auto">
|
<div style="width: 60%; margin: 0 auto">
|
||||||
<nz-steps style="width: 70%; margin: 0 auto" [nzLabelPlacement]="'vertical'">
|
<nz-steps style="width: 70%; margin: 0 auto" [nzLabelPlacement]="'vertical'">
|
||||||
@ -51,33 +79,6 @@
|
|||||||
</nz-steps>
|
</nz-steps>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
|
||||||
|
|
||||||
<nz-card nzTitle="基本信息">
|
|
||||||
<sv-container col="3">
|
|
||||||
<sv-title>货物信息</sv-title>
|
|
||||||
<ng-container *ngFor="let item of i?.goodsInfoVOList">
|
|
||||||
<sv label="货物名称">
|
|
||||||
{{item.goodsTypeName}} > {{item.goodsName}}
|
|
||||||
</sv>
|
|
||||||
<sv label="货物数量">
|
|
||||||
{{item.weight}}吨 / {{item.volume>=0?item.volume:'-'}}方
|
|
||||||
</sv>
|
|
||||||
<sv label="剩余">
|
|
||||||
{{i?.surplusWeight!==null?i?.surplusWeight:'--'}}吨 / {{i?.surplusVolume!==null?i?.surplusVolume:'-'}}方
|
|
||||||
</sv>
|
|
||||||
<sv label="用车需求">
|
|
||||||
{{item.carModelLabel || '--'}} / {{item.carLengthLabel || '--'}}<span *ngIf="item.carLength !=='999'">米</span>
|
|
||||||
</sv>
|
|
||||||
<!-- <sv label="承运信息">
|
|
||||||
{{i?.carrierInformationVO?.driverName}} / {{i?.carrierInformationVO?.driverTelephone}} /
|
|
||||||
{{i?.carrierInformationVO?.driverLicensePlate}}
|
|
||||||
</sv> -->
|
|
||||||
<!-- <sv label="当前指派">
|
|
||||||
<a (click)="viewCurrentAssign(i)">查看</a>
|
|
||||||
</sv> -->
|
|
||||||
</ng-container>
|
|
||||||
</sv-container>
|
|
||||||
<div class="mt-md">
|
<div class="mt-md">
|
||||||
<h4 class="text-md">装货卸货信息
|
<h4 class="text-md">装货卸货信息
|
||||||
<span class="ml-sm text-sm">(
|
<span class="ml-sm text-sm">(
|
||||||
@ -119,7 +120,39 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card nzTitle="运费信息">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign mr-xs"></a>
|
||||||
|
<span>基本信息</span>
|
||||||
|
</div>
|
||||||
|
<sv-container col="3">
|
||||||
|
<!-- <sv-title>货物信息</sv-title> -->
|
||||||
|
<ng-container *ngFor="let item of i?.goodsInfoVOList">
|
||||||
|
<sv label="货物名称">
|
||||||
|
{{item.goodsTypeName}} > {{item.goodsName}}
|
||||||
|
</sv>
|
||||||
|
<sv label="货物数量">
|
||||||
|
{{item.weight}}吨 / {{item.volume>=0?item.volume:'-'}}方
|
||||||
|
</sv>
|
||||||
|
<sv label="剩余">
|
||||||
|
{{i?.surplusWeight!==null?i?.surplusWeight:'--'}}吨 / {{i?.surplusVolume!==null?i?.surplusVolume:'-'}}方
|
||||||
|
</sv>
|
||||||
|
<sv label="用车需求">
|
||||||
|
{{item.carModelLabel || '--'}} / {{item.carLengthLabel || '--'}}<span *ngIf="item.carLength !=='999'">米</span>
|
||||||
|
</sv>
|
||||||
|
<!-- <sv label="承运信息">
|
||||||
|
{{i?.carrierInformationVO?.driverName}} / {{i?.carrierInformationVO?.driverTelephone}} /
|
||||||
|
{{i?.carrierInformationVO?.driverLicensePlate}}
|
||||||
|
</sv> -->
|
||||||
|
<!-- <sv label="当前指派">
|
||||||
|
<a (click)="viewCurrentAssign(i)">查看</a>
|
||||||
|
</sv> -->
|
||||||
|
</ng-container>
|
||||||
|
</sv-container>
|
||||||
|
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<nz-card [nzBorderless]="true" class="mb0" nzTitle="运费信息">
|
||||||
<div>
|
<div>
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div *ngFor="let item of i?.goodsInfoVOList" nz-col nzSpan="24">
|
<div *ngFor="let item of i?.goodsInfoVOList" nz-col nzSpan="24">
|
||||||
@ -132,13 +165,13 @@
|
|||||||
<label>运费单价:</label>
|
<label>运费单价:</label>
|
||||||
<span class="text-error-dark text-xxl">{{ item?.freightPrice | currency: '¥' }} {{
|
<span class="text-error-dark text-xxl">{{ item?.freightPrice | currency: '¥' }} {{
|
||||||
freightType[item?.freightType] }}</span>
|
freightType[item?.freightType] }}</span>
|
||||||
<span>(附加费率{{i?.rate * 100 | number: '0.2-2'}}%)</span>
|
<span>(附加费率{{i?.rate * 100 | number: '0.2-2'}}%)</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card nzTitle="关联订单">
|
<nz-card [nzBorderless]="true" class="mb0" nzTitle="关联订单">
|
||||||
<sv-container col="5">
|
<sv-container col="5">
|
||||||
<sv [label]="item?.wayBillStatusLabel" *ngFor="let item of i?.wayBillClassifiedStatisticsVOList">
|
<sv [label]="item?.wayBillStatusLabel" *ngFor="let item of i?.wayBillClassifiedStatisticsVOList">
|
||||||
(<span [ngClass]="{ 'text-primary': item?.count > 0 }">{{ item?.count }}</span>)
|
(<span [ngClass]="{ 'text-primary': item?.count > 0 }">{{ item?.count }}</span>)
|
||||||
@ -157,7 +190,7 @@
|
|||||||
</sv> -->
|
</sv> -->
|
||||||
</sv-container>
|
</sv-container>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card nzTitle="补充信息">
|
<nz-card [nzBorderless]="true" class="mb0" nzTitle="补充信息">
|
||||||
<sv-container>
|
<sv-container>
|
||||||
<sv label="是否回单">
|
<sv label="是否回单">
|
||||||
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
|
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
|
||||||
@ -166,7 +199,8 @@
|
|||||||
{{ i?.supplementaryInformationVO?.receiptTypeLabel }}
|
{{ i?.supplementaryInformationVO?.receiptTypeLabel }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
||||||
{{ i?.supplementaryInformationVO?.receiptUserName ? i?.supplementaryInformationVO?.receiptUserName + '/' : '' }} {{ i?.supplementaryInformationVO?.phon }}
|
{{ i?.supplementaryInformationVO?.receiptUserName ? i?.supplementaryInformationVO?.receiptUserName + '/' : '' }}
|
||||||
|
{{ i?.supplementaryInformationVO?.phon }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
<sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
||||||
{{ i?.supplementaryInformationVO?.area }}
|
{{ i?.supplementaryInformationVO?.area }}
|
||||||
@ -174,14 +208,13 @@
|
|||||||
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
||||||
{{ i?.supplementaryInformationVO?.address }}
|
{{ i?.supplementaryInformationVO?.address }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="备注" >
|
<sv label="备注">
|
||||||
{{ i?.supplementaryInformationVO?.remarks }}
|
{{ i?.supplementaryInformationVO?.remarks }}
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card nzTitle="操作日志">
|
<nz-card [nzBorderless]="true" class="mb0" nzTitle="操作日志">
|
||||||
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns"
|
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" [page]="{}"
|
||||||
[page]="{}"
|
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
|
||||||
</st>
|
</st>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
min-height: 210px;
|
min-height: 210px;
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin-bottom: .5em;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -175,7 +175,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
if (str) {
|
if (str) {
|
||||||
this.getRegionCode(str);
|
this.getRegionCode(str);
|
||||||
this.shipperName = qs?.label;
|
this.shipperName = qs?.label;
|
||||||
this.payChange();
|
this.payChange(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema
|
||||||
@ -728,7 +728,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
payChange() {
|
payChange(value?:number) {
|
||||||
const prePay = this.sf7.value.prePay || 0;
|
const prePay = this.sf7.value.prePay || 0;
|
||||||
const toPay = this.sf7.value.toPay || 0;
|
const toPay = this.sf7.value.toPay || 0;
|
||||||
const receiptPay = this.sf7.value.receiptPay || 0;
|
const receiptPay = this.sf7.value.receiptPay || 0;
|
||||||
@ -741,6 +741,13 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
fuelCardAmount: oilCardPay,
|
fuelCardAmount: oilCardPay,
|
||||||
resourcetype: '1'
|
resourcetype: '1'
|
||||||
};
|
};
|
||||||
|
if((!this?.sf1.value?.shipperAppUserId || !this?.sf1.value?.enterpriseInfoName) && value) {
|
||||||
|
this.service.msgSrv.warning('请先选择货主和网络货运人!');
|
||||||
|
this.sf7.setValue('/prePay', 0);
|
||||||
|
this.sf7.setValue('/toPay', 0);
|
||||||
|
this.sf7.setValue('/receiptPay', 0);
|
||||||
|
return
|
||||||
|
}
|
||||||
this.service.request(this.service.$api_getCalculatedSurcharge, params).subscribe(res => {
|
this.service.request(this.service.$api_getCalculatedSurcharge, params).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.sf7.setValue('/appendFee', res.surcharge);
|
this.sf7.setValue('/appendFee', res.surcharge);
|
||||||
@ -1039,11 +1046,12 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
paymentDays: this.sf7.value.paymentDays,
|
paymentDays: this.sf7.value.paymentDays,
|
||||||
estimatedKilometers: this.totalDistance,
|
estimatedKilometers: this.totalDistance,
|
||||||
estimatedTravelTime: this.totalTime,
|
estimatedTravelTime: this.totalTime,
|
||||||
subtotal: this.sf7.value.subtotal,
|
subtotal: this.sf7.value.subtotal.toFixed(2),
|
||||||
total: this.sf7.value.total,
|
total: this.sf7.value.total.toFixed(2),
|
||||||
insurancePackagedGoods: this.sf4.value.insurancePackagedGoods,
|
insurancePackagedGoods: this.sf4.value.insurancePackagedGoods,
|
||||||
goodsValue: this.sf4.value.goodsValue
|
goodsValue: this.sf4.value.goodsValue
|
||||||
};
|
};
|
||||||
|
console.log(params)
|
||||||
const modalRef = this.modalService.create({
|
const modalRef = this.modalService.create({
|
||||||
nzTitle: '运输协议',
|
nzTitle: '运输协议',
|
||||||
nzContent: TranAgreementComponent,
|
nzContent: TranAgreementComponent,
|
||||||
|
|||||||
@ -162,7 +162,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
if (str) {
|
if (str) {
|
||||||
this.getRegionCode(str);
|
this.getRegionCode(str);
|
||||||
this.shipperName = qs?.label;
|
this.shipperName = qs?.label;
|
||||||
this.payChange();
|
this.payChange(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema
|
||||||
@ -192,7 +192,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
change: (q: any, qs: any) => {
|
change: (q: any, qs: any) => {
|
||||||
console.log(qs.label);
|
console.log(qs.label);
|
||||||
this.sf1.setValue('/enterpriseInfoNamer', qs.label);
|
this.sf1.setValue('/enterpriseInfoNamer', qs.label);
|
||||||
this.payChange()
|
this.payChange(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -748,7 +748,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
this.sf1.getProperty('/enterpriseProjectId')!.widget.reset(res);
|
this.sf1.getProperty('/enterpriseProjectId')!.widget.reset(res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
payChange() {
|
payChange(value?:number) {
|
||||||
const prePay = this.sf7.value.prePay || 0;
|
const prePay = this.sf7.value.prePay || 0;
|
||||||
const toPay = this.sf7.value.toPay || 0;
|
const toPay = this.sf7.value.toPay || 0;
|
||||||
const receiptPay = this.sf7.value.receiptPay || 0;
|
const receiptPay = this.sf7.value.receiptPay || 0;
|
||||||
@ -761,6 +761,13 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
fuelCardAmount: oilCardPay,
|
fuelCardAmount: oilCardPay,
|
||||||
resourcetype: '1'
|
resourcetype: '1'
|
||||||
};
|
};
|
||||||
|
if((!this?.sf1.value?.shipperAppUserId || !this?.sf1.value?.enterpriseInfoName) && value) {
|
||||||
|
this.service.msgSrv.warning('请先选择货主和网络货运人!');
|
||||||
|
this.sf7.setValue('/prePay', 0);
|
||||||
|
this.sf7.setValue('/toPay', 0);
|
||||||
|
this.sf7.setValue('/receiptPay', 0);
|
||||||
|
return
|
||||||
|
}
|
||||||
this.service.request(this.service.$api_getCalculatedSurcharge, params).subscribe(res => {
|
this.service.request(this.service.$api_getCalculatedSurcharge, params).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.sf7.setValue('/appendFee', res.surcharge);
|
this.sf7.setValue('/appendFee', res.surcharge);
|
||||||
@ -986,26 +993,26 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
...this.sf6.value,
|
...this.sf6.value,
|
||||||
expenseDTOList: expenseList,
|
expenseDTOList: expenseList,
|
||||||
paymentDays: this.sf7.value.paymentDays,
|
paymentDays: this.sf7.value.paymentDays,
|
||||||
subtotal: this.sf7.value.subtotal,
|
subtotal: this.sf7.value.subtotal.toFixed(2),
|
||||||
total: this.sf7.value.total,
|
total: this.sf7.value.total.toFixed(2),
|
||||||
estimatedKilometers: this.totalDistance,
|
estimatedKilometers: this.totalDistance,
|
||||||
estimatedTravelTime: this.totalTime,
|
estimatedTravelTime: this.totalTime,
|
||||||
insurancePackagedGoods: this.sf4.value.insurancePackagedGoods,
|
insurancePackagedGoods: this.sf4.value.insurancePackagedGoods,
|
||||||
goodsValue: this.sf4.value.goodsValue
|
goodsValue: this.sf4.value.goodsValue
|
||||||
};
|
};
|
||||||
console.log(params);
|
console.log(params);
|
||||||
const modalRef = this.modalService.create({
|
// const modalRef = this.modalService.create({
|
||||||
nzTitle: '运输协议',
|
// nzTitle: '运输协议',
|
||||||
nzContent: TranAgreementComponent,
|
// nzContent: TranAgreementComponent,
|
||||||
nzWidth: 900,
|
// nzWidth: 900,
|
||||||
nzFooter: null,
|
// nzFooter: null,
|
||||||
nzComponentParams: { object: params, shipperName: this.shipperName, type: 'onecar' }
|
// nzComponentParams: { object: params, shipperName: this.shipperName, type: 'onecar' }
|
||||||
});
|
// });
|
||||||
modalRef.afterClose.subscribe(result => {
|
// modalRef.afterClose.subscribe(result => {
|
||||||
if (result) {
|
// if (result) {
|
||||||
this.submit(submitType, params);
|
// this.submit(submitType, params);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
// 提交
|
// 提交
|
||||||
submit(submitType?: string, params?: any): void {
|
submit(submitType?: string, params?: any): void {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-02-24 20:19:51
|
* @Date : 2022-02-24 20:19:51
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-15 15:18:29
|
* @LastEditTime : 2022-04-27 19:52:22
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\tran-agreement\\tran-agreement.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\tran-agreement\\tran-agreement.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,11 +1,46 @@
|
|||||||
<div *ngIf="i">
|
<nz-spin [nzSpinning]="service.http.loading">
|
||||||
<page-header-wrapper [title]="'整车货源详情'" [logo]="logo" [content]="headerContent">
|
<div *ngIf="i">
|
||||||
<ng-template #logo>
|
<page-header-wrapper [title]="'整车货源详情'" [logo]="logo">
|
||||||
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
<ng-template #logo>
|
||||||
<i nz-icon nzType="left" nzTheme="outline"></i>
|
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
||||||
</button>
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
</ng-template>
|
</button>
|
||||||
<ng-template #headerContent>
|
</ng-template>
|
||||||
|
<ng-template #headerContent>
|
||||||
|
<div class="mb-xs" nz-row>
|
||||||
|
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
||||||
|
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
|
||||||
|
</div>
|
||||||
|
<div nz-row>
|
||||||
|
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
|
||||||
|
<div nz-col nzSpan="10">
|
||||||
|
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
|
||||||
|
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
|
||||||
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
|
||||||
|
<button nz-button (click)="updateGoodsSource(i)"
|
||||||
|
*ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'" acl
|
||||||
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
|
||||||
|
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
|
||||||
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-sm mb-sm" nz-row>
|
||||||
|
<div>
|
||||||
|
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency }}</span></b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<nz-divider></nz-divider>
|
||||||
|
<div sv-container *ngIf="i">
|
||||||
|
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
|
||||||
|
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
||||||
|
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
||||||
|
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
|
||||||
|
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
</page-header-wrapper>
|
||||||
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
<div class="mb-xs" nz-row>
|
<div class="mb-xs" nz-row>
|
||||||
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
||||||
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
|
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
|
||||||
@ -13,218 +48,214 @@
|
|||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
|
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
|
||||||
<div nz-col nzSpan="10">
|
<div nz-col nzSpan="10">
|
||||||
<button
|
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
nz-button
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
|
||||||
(click)="cancleGoodsSource()"
|
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
|
||||||
*ngIf="i?.resourceStatus === '1'"
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
|
||||||
acl
|
<button nz-button (click)="updateGoodsSource(i)"
|
||||||
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']"
|
*ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'" acl
|
||||||
>取消货源</button
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
|
||||||
>
|
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
|
||||||
<button
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
|
||||||
nz-button
|
|
||||||
(click)="assignedCar(i)"
|
|
||||||
*ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'"
|
|
||||||
acl
|
|
||||||
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']"
|
|
||||||
>重新指派</button
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
nz-button
|
|
||||||
(click)="updateGoodsSource(i)"
|
|
||||||
*ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'"
|
|
||||||
acl
|
|
||||||
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']"
|
|
||||||
>修改货源</button
|
|
||||||
>
|
|
||||||
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl [acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']"
|
|
||||||
>再下一单</button
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-sm mb-sm" nz-row>
|
<!-- <div class="mt0 mb0" nz-row>
|
||||||
<div>
|
<div>
|
||||||
<b
|
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency }}</span></b>
|
||||||
>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<nz-divider></nz-divider>
|
<nz-divider class="divider-margin"></nz-divider>
|
||||||
<div sv-container *ngIf="i">
|
<div class="mb-lg" sv-container *ngIf="i">
|
||||||
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
|
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
|
||||||
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
||||||
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
||||||
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
|
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
|
||||||
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
|
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
<div class="approval-status">
|
||||||
</page-header-wrapper>
|
<div lass="step-row">
|
||||||
<nz-card title="货源进度">
|
<nz-steps [nzLabelPlacement]="'vertical'">
|
||||||
<div class="approval-status">
|
<nz-step [nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" nzIcon="solution"
|
||||||
<div style="width: 60%; margin: 0 auto">
|
[nzDescription]="i?.createAt" nzTitle="下单" [nzSubtitle]="i?.createTime"></nz-step>
|
||||||
<nz-steps [nzLabelPlacement]="'vertical'">
|
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'"
|
||||||
<nz-step
|
[nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'" nzIcon="file-done" [nzTitle]="'接单'"
|
||||||
[nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'"
|
[nzSubtitle]="i?.orderReceivingTime"></nz-step>
|
||||||
nzIcon="solution"
|
<nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'"
|
||||||
[nzDescription]="i?.createAt"
|
[nzSubtitle]="i?.endTime"></nz-step>
|
||||||
nzTitle="下单"
|
</nz-steps>
|
||||||
[nzSubtitle]="i?.createTime"
|
</div>
|
||||||
></nz-step>
|
|
||||||
<nz-step
|
|
||||||
*ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'"
|
|
||||||
[nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'"
|
|
||||||
nzIcon="file-done"
|
|
||||||
[nzTitle]="'接单'"
|
|
||||||
[nzSubtitle]="i?.orderReceivingTime"
|
|
||||||
></nz-step>
|
|
||||||
<nz-step
|
|
||||||
nzStatus="finish"
|
|
||||||
nzIcon="close-circle"
|
|
||||||
nzTitle="取消货源"
|
|
||||||
*ngIf="i?.resourceStatus === '3'"
|
|
||||||
[nzSubtitle]="i?.endTime"
|
|
||||||
></nz-step>
|
|
||||||
</nz-steps>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</nz-card>
|
||||||
</nz-card>
|
|
||||||
|
|
||||||
<nz-card nzTitle="基本信息">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
<sv-container col="2">
|
<div class="font-weight-blod text-md detail-title">
|
||||||
<sv-title>货物信息</sv-title>
|
<a class="sign mr-xs"></a>
|
||||||
<ng-container *ngFor="let item of i?.goodsInfoVOList">
|
<span>基本信息</span>
|
||||||
<sv label="货物名称">
|
</div>
|
||||||
{{ item.goodsTypeName }} - {{ item.goodsName }}
|
<sv-container col="2">
|
||||||
|
<!-- <sv-title>货物信息</sv-title> -->
|
||||||
|
<ng-container *ngFor="let item of i?.goodsInfoVOList">
|
||||||
|
<sv label="货物名称">
|
||||||
|
{{ item.goodsTypeName }} - {{ item.goodsName }}
|
||||||
|
</sv>
|
||||||
|
<sv label="货物数量"> {{ item.weight }}吨,{{ item.volume }}方,{{ item.number }}件 </sv>
|
||||||
|
</ng-container>
|
||||||
|
</sv-container>
|
||||||
|
<sv-container class="mt-md">
|
||||||
|
<!-- <sv-title>承运信息</sv-title> -->
|
||||||
|
<sv label="司机姓名">
|
||||||
|
{{ i?.carrierInformationVO?.driverName }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="货物数量"> {{ item.weight }}吨,{{ item.volume }}方,{{ item.number }}件 </sv>
|
<sv label="手机号">
|
||||||
</ng-container>
|
{{ i?.carrierInformationVO?.driverTelephone }}
|
||||||
</sv-container>
|
</sv>
|
||||||
<sv-container class="mt-md">
|
<sv label="车牌号">
|
||||||
<sv-title>承运信息</sv-title>
|
{{ i?.carrierInformationVO?.driverLicensePlate }}
|
||||||
<sv label="司机姓名">
|
</sv>
|
||||||
{{ i?.carrierInformationVO?.driverName }}
|
</sv-container>
|
||||||
|
<sv label="承运司机" *ngIf="i?.carrierInformationVO.driverTelephone !== i?.payeePhone">
|
||||||
|
{{i?.carrierInformationVO.driverName || '--'}} / {{i?.carrierInformationVO.driverTelephone || '--'}} /
|
||||||
|
{{i?.carrierInformationVO.driverLicensePlate || '--'}}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="手机号">
|
<sv label="车型车长载重">
|
||||||
{{ i?.carrierInformationVO?.driverTelephone }}
|
{{i?.driverCarModelLabel || '--'}} / {{(i?.driverCarLength || '--') +'米'}} / {{(i?.driverCarWeight ||
|
||||||
|
'--')+'吨'}}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="车牌号">
|
<div class="mt-md">
|
||||||
{{ i?.carrierInformationVO?.driverLicensePlate }}
|
<h4 class="text-md">装货卸货信息
|
||||||
</sv>
|
<span class="ml-sm text-sm">(
|
||||||
</sv-container>
|
<label>{{ i?.loadingCount }}装</label>
|
||||||
<div class="mt-md">
|
<label>{{ i?.unloadingCount }}卸</label>
|
||||||
<h4 class="text-md"
|
)
|
||||||
>装货卸货信息
|
|
||||||
<span class="ml-sm text-sm"
|
|
||||||
>(
|
|
||||||
<label>{{ i?.loadingCount }}装</label>
|
|
||||||
<label>{{ i?.unloadingCount }}卸</label>
|
|
||||||
)
|
|
||||||
</span>
|
|
||||||
</h4>
|
|
||||||
<div nz-row [nzGutter]="24">
|
|
||||||
<div nz-col [nzSpan]="12">
|
|
||||||
<div class="handling-info p-md">
|
|
||||||
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
|
|
||||||
<div *ngIf="item?.type === '1'" class="loading-row">
|
|
||||||
<div class="handling-info-icon loading-bg">装</div>
|
|
||||||
<div class="info">
|
|
||||||
<h4>装货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
|
|
||||||
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p class="time-info">装货时间:{{ i?.loadingTime }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div nz-col [nzSpan]="12">
|
|
||||||
<div class="handling-info p-md">
|
|
||||||
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
|
|
||||||
<div *ngIf="item?.type === '2'" class="loading-row">
|
|
||||||
<div class="handling-info-icon unloaing-bg">卸</div>
|
|
||||||
<div class="info">
|
|
||||||
<h4>卸货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
|
|
||||||
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p class="time-info">卸货时间:{{ i?.unloadingTime }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nz-card>
|
|
||||||
|
|
||||||
<nz-card nzTitle="服务信息">
|
|
||||||
<sv-container>
|
|
||||||
<sv label="服务包">
|
|
||||||
{{ i?.insuranceTypeLabel}}
|
|
||||||
</sv>
|
|
||||||
<sv label="货物价值" *ngIf="i?.insuranceType !== '3'">
|
|
||||||
{{i?.goodsValue !==null?(i?.goodsValue|currency)+'元':'-'}}
|
|
||||||
</sv>
|
|
||||||
<sv label="服务包费用" *ngIf="i?.insuranceType !== '3'">
|
|
||||||
{{i?.insurancePremium!==null?(i?.insurancePremium |currency)+'元':'-'}}
|
|
||||||
</sv>
|
|
||||||
</sv-container>
|
|
||||||
</nz-card>
|
|
||||||
<nz-card [nzTitle]="'运费信息(到货后' + i?.paymentDays + '天内支付运费)'">
|
|
||||||
<st [data]="i?.expenseVOList" [columns]="expenseColumns" [page]="{ show: false }">
|
|
||||||
<ng-template st-row="total" let-item>
|
|
||||||
<div>
|
|
||||||
{{ item?.totalAmount | currency }}
|
|
||||||
<span>(含附加费)</span>
|
|
||||||
</div>
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="price" let-item>
|
|
||||||
<div>
|
|
||||||
{{ item?.price | currency }}
|
|
||||||
</div>
|
|
||||||
</ng-template>
|
|
||||||
</st>
|
|
||||||
<div class="freight-info-box mt-md" nz-row>
|
|
||||||
<div nz-col nzSpan="24">
|
|
||||||
<h3>
|
|
||||||
<label>总计 :</label>
|
|
||||||
<span class="text-error-dark text-xl">
|
|
||||||
{{ i?.totalAmount | currency }}
|
|
||||||
</span>
|
</span>
|
||||||
<span>(运费{{ i?.totalFreight | currency }}含附加运费 {{ i?.totalSurcharge | currency }})</span>
|
</h4>
|
||||||
</h3>
|
<div nz-row [nzGutter]="24">
|
||||||
<div *ngIf='i?.resourceStatus !== "1" && i?.carrierInformationVO?.driverName !== i?.payeeName' >车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div>
|
<div nz-col [nzSpan]="12">
|
||||||
|
<div class="handling-info p-md">
|
||||||
|
<ng-container *ngFor="let item of i?.unLoadingPlaceVOList">
|
||||||
|
<div class="flex" *ngIf="item?.type === '1'">
|
||||||
|
<div class="loading-row">
|
||||||
|
<div class="handling-info-icon loading-bg">装</div>
|
||||||
|
<div class="info">
|
||||||
|
<h4>装货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
|
||||||
|
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
<p class="time-info">装货时间:{{ i?.loadingTime }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzSpan]="12">
|
||||||
|
<div class="handling-info p-md">
|
||||||
|
<ng-container *ngFor="let item of i?.unLoadingPlaceVOList">
|
||||||
|
<div class="flex" *ngIf="item?.type === '2'">
|
||||||
|
<div class="loading-row">
|
||||||
|
<div class="handling-info-icon unloaing-bg">卸</div>
|
||||||
|
<div class="info">
|
||||||
|
<h4>卸货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
|
||||||
|
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
<p class="time-info">卸货时间:{{ i?.unloadingTime }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</nz-card>
|
||||||
</nz-card>
|
|
||||||
<nz-card nzTitle="补充信息">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
<sv-container>
|
<div class="font-weight-blod text-md detail-title">
|
||||||
<sv label="是否回单">
|
<a class="sign"></a>
|
||||||
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
|
<span>服务信息</span>
|
||||||
</sv>
|
|
||||||
<sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
|
||||||
{{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
|
|
||||||
</sv>
|
|
||||||
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ i?.supplementaryInformationVO?.receiptUserName || '-' }} / {{ i?.supplementaryInformationVO?.phon || '-' }}
|
|
||||||
</sv>
|
|
||||||
<sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
|
||||||
{{ i?.supplementaryInformationVO?.area }}
|
|
||||||
</sv>
|
|
||||||
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
|
||||||
{{ i?.supplementaryInformationVO?.address }}
|
|
||||||
</sv>
|
|
||||||
<sv label="备注">
|
|
||||||
{{ i?.supplementaryInformationVO?.remarks }}
|
|
||||||
</sv>
|
|
||||||
</sv-container>
|
|
||||||
</nz-card>
|
|
||||||
<nz-card nzTitle="操作日志">
|
|
||||||
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns"
|
|
||||||
[page]="{}"
|
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
|
|
||||||
<ng-template st-row="operator" let-item>
|
|
||||||
<div>
|
|
||||||
{{ item?.operator }} {{ item?.telephone ? '/' + item?.telephone : '' }}
|
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
<sv-container>
|
||||||
</st>
|
<sv label="服务包">
|
||||||
</nz-card>
|
{{ i?.insuranceTypeLabel}}
|
||||||
</div>
|
</sv>
|
||||||
|
<sv label="货物价值" *ngIf="i?.insuranceType !== '3'">
|
||||||
|
{{i?.goodsValue !==null?(i?.goodsValue|currency)+'元':'-'}}
|
||||||
|
</sv>
|
||||||
|
<sv label="服务包费用" *ngIf="i?.insuranceType !== '3'">
|
||||||
|
{{i?.insurancePremium!==null?(i?.insurancePremium |currency)+'元':'-'}}
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
</nz-card>
|
||||||
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign"></a>
|
||||||
|
<span>运费信息</span>
|
||||||
|
<span class="pl-sm text-warning">(到货后{{i?.paymentDays}}天内支付运费)</span>
|
||||||
|
</div>
|
||||||
|
<st [data]="i?.expenseVOList" [columns]="expenseColumns" [page]="{ show: false }">
|
||||||
|
<ng-template st-row="total" let-item>
|
||||||
|
<div>
|
||||||
|
{{ item?.totalAmount | currency }}
|
||||||
|
<span>(含附加费)</span>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="price" let-item>
|
||||||
|
<div>
|
||||||
|
{{ item?.price | currency }}
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
<div class="freight-info-box mt-md" nz-row>
|
||||||
|
<div nz-col nzSpan="24">
|
||||||
|
<h3>
|
||||||
|
<label>总计 :</label>
|
||||||
|
<span class="text-error-dark text-xl">
|
||||||
|
{{ i?.totalAmount | currency }}
|
||||||
|
</span>
|
||||||
|
<span>(运费{{ i?.totalFreight | currency }}含附加运费 {{ i?.totalSurcharge | currency }})</span>
|
||||||
|
</h3>
|
||||||
|
<div *ngIf='i?.resourceStatus !== "1" && i?.carrierInformationVO?.driverName !== i?.payeeName'>车队长:{{
|
||||||
|
i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign"></a>
|
||||||
|
<span>补充信息</span>
|
||||||
|
</div>
|
||||||
|
<sv-container>
|
||||||
|
<sv label="是否回单">
|
||||||
|
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
|
||||||
|
</sv>
|
||||||
|
<sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
||||||
|
{{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
|
||||||
|
</sv>
|
||||||
|
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{
|
||||||
|
i?.supplementaryInformationVO?.receiptUserName || '-' }} / {{ i?.supplementaryInformationVO?.phon || '-' }}
|
||||||
|
</sv>
|
||||||
|
<sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
||||||
|
{{ i?.supplementaryInformationVO?.area }}
|
||||||
|
</sv>
|
||||||
|
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
|
||||||
|
{{ i?.supplementaryInformationVO?.address }}
|
||||||
|
</sv>
|
||||||
|
<sv label="备注">
|
||||||
|
{{ i?.supplementaryInformationVO?.remarks }}
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
</nz-card>
|
||||||
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign"></a>
|
||||||
|
<span>操作日志</span>
|
||||||
|
</div>
|
||||||
|
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" [page]="{}"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
|
||||||
|
<ng-template st-row="operator" let-item>
|
||||||
|
<div>
|
||||||
|
{{ item?.operator }} {{ item?.telephone ? '/' + item?.telephone : '' }}
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</nz-card>
|
||||||
|
</div>
|
||||||
|
</nz-spin>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
min-height: 210px;
|
min-height: 210px;
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin-bottom: .5em;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
<se label="个人提现手续费" style="margin:15px 0 0 0">
|
<se label="个人提现手续费" style="margin:15px 0 0 0">
|
||||||
<div>
|
<div>
|
||||||
按照提现金额收取
|
按照提现金额收取
|
||||||
<nz-input-number [(ngModel)]="personValue" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number>
|
<nz-input-number [(ngModel)]="personServe" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number>
|
||||||
<span> %手续费 </span>
|
<span> %手续费 </span>
|
||||||
</div>
|
</div>
|
||||||
</se>
|
</se>
|
||||||
@ -15,7 +15,7 @@
|
|||||||
<div>
|
<div>
|
||||||
按照提现金额收取
|
按照提现金额收取
|
||||||
<nz-input-number
|
<nz-input-number
|
||||||
[(ngModel)]="enterpriseValue"
|
[(ngModel)]="enterpriseServe"
|
||||||
[nzMin]="0"
|
[nzMin]="0"
|
||||||
[nzMax]="100"
|
[nzMax]="100"
|
||||||
[nzPrecision]="2"
|
[nzPrecision]="2"
|
||||||
@ -52,12 +52,12 @@
|
|||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<div nz-col nzSpan="24">
|
<div nz-col nzSpan="24">
|
||||||
<span>客户</span>
|
<span>客户</span>
|
||||||
<nz-input-number style="margin: 0 10px; " [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
|
<nz-input-number style="margin: 0 10px; " [(ngModel)]="silenceClient" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
|
||||||
<span>天内没有交易订单的视为“沉默客户”</span>
|
<span>天内没有交易订单的视为“沉默客户”</span>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col nzSpan="24" style="margin-top: 10px;">
|
<div nz-col nzSpan="24" style="margin-top: 10px;">
|
||||||
<span>客户</span>
|
<span>客户</span>
|
||||||
<nz-input-number style="margin: 0 10px; " [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
|
<nz-input-number style="margin: 0 10px; " [(ngModel)]="loseClient" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
|
||||||
<span>天内没有交易订单的视为“流失客户”</span>
|
<span>天内没有交易订单的视为“流失客户”</span>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col nzSpan="24">
|
<div nz-col nzSpan="24">
|
||||||
@ -66,15 +66,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<div class="mb-md save-btn">
|
<div class="mb-md save-btn">
|
||||||
<button class="ml-lg" nz-button nzSize="large" nzType="primary">保存</button>
|
<button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="save()">保存</button>
|
||||||
<button class="ml-lg" nz-button nzSize="large">取消</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ng-template #auditTimes let-data="data" let-title="title">
|
<ng-template #auditTimes let-data="data" let-title="title">
|
||||||
<div *ngIf="auditTimeStatus" >
|
<div *ngIf="auditTimeStatus" >
|
||||||
<div style="display: flex">
|
|
||||||
<nz-radio-group [(ngModel)]="everyDay" (ngModelChange)="everyDayChange(everyDay)" style="display: block">
|
<nz-radio-group [(ngModel)]="everyDay" (ngModelChange)="everyDayChange(everyDay)" style="display: block">
|
||||||
<label nz-radio [nzValue]="1" class="mt-sm"
|
<label nz-radio [nzValue]="1" class="mt-sm"
|
||||||
>每天<span *ngIf="TimeStatus" style="margin-left: 30px; color: #0200ff; cursor: pointer" (click)="addEvery()">添加时间段</span></label
|
>每天<span *ngIf="TimeStatus" style="margin-left: 30px; color: #0200ff; cursor: pointer" (click)="addEvery()">添加时间段</span></label
|
||||||
@ -92,7 +90,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div >
|
<div >
|
||||||
<nz-radio-group [(ngModel)]="MonthDay" (ngModelChange)="MonthDayChange(MonthDay)" style="display: block">
|
<nz-radio-group [(ngModel)]="MonthDay" (ngModelChange)="MonthDayChange(MonthDay)" style="display: block">
|
||||||
<label nz-radio [nzValue]="2" class="mt-sm"
|
<label nz-radio [nzValue]="2" class="mt-sm"
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import { NzUploadFile } from 'ng-zorro-antd/upload';
|
|||||||
import { Observable, Observer, of } from 'rxjs';
|
import { Observable, Observer, of } from 'rxjs';
|
||||||
import { apiConf } from '@conf/api.conf';
|
import { apiConf } from '@conf/api.conf';
|
||||||
import { SystemService } from '../../services/system.service';
|
import { SystemService } from '../../services/system.service';
|
||||||
|
const NOJSONTYPE = new Set([8, 12, 13]);
|
||||||
|
|
||||||
const IMAGECONFIG = {
|
const IMAGECONFIG = {
|
||||||
previewFile: (file: NzUploadFile) => of(file.url),
|
previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
action: apiConf.waterFileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
@ -35,12 +37,16 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
|
|||||||
isEveryDay: false,
|
isEveryDay: false,
|
||||||
isEveryWeek: false
|
isEveryWeek: false
|
||||||
};
|
};
|
||||||
personValue!: number;
|
labelWidth = 250;
|
||||||
enterpriseValue!: number;
|
|
||||||
auditValue!: number;
|
personServe!: number; // 个人提现手续费
|
||||||
auditTime!: any;
|
enterpriseServe!: number; // 企业提现手续费
|
||||||
auditTimeStatus: boolean = false;
|
auditValue!: boolean; // 提现审核
|
||||||
|
auditTime!: any; // 审核时间
|
||||||
|
silenceClient!: number; // 沉默客户
|
||||||
|
loseClient!: number; // 流失客户
|
||||||
everyDay: boolean = false;
|
everyDay: boolean = false;
|
||||||
|
auditTimeStatus: boolean = false;
|
||||||
MonthDay: boolean = false;
|
MonthDay: boolean = false;
|
||||||
time: Date | null = null;
|
time: Date | null = null;
|
||||||
defaultOpenValue = new Date(0, 0, 0, 0, 0, 0);
|
defaultOpenValue = new Date(0, 0, 0, 0, 0, 0);
|
||||||
@ -107,7 +113,9 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
|
|||||||
constructor(private service: SystemService) {}
|
constructor(private service: SystemService) {}
|
||||||
ngOnChanges(changes: SimpleChanges): void {
|
ngOnChanges(changes: SimpleChanges): void {
|
||||||
if (changes.configList) {
|
if (changes.configList) {
|
||||||
|
console.log(changes.configList);
|
||||||
console.log(changes.configList.currentValue);
|
console.log(changes.configList.currentValue);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,6 +330,61 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
|
|||||||
this.auditTimeStatus = false;
|
this.auditTimeStatus = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
save() {
|
||||||
|
console.log();
|
||||||
|
let params : any = {
|
||||||
|
personServe: this.personServe, // 个人提现手续费
|
||||||
|
enterpriseServe: this.enterpriseServe, // 企业提现手续费
|
||||||
|
auditValue: this.auditValue, // 提现审核
|
||||||
|
auditTime: this.auditTime, // 审核时间
|
||||||
|
silenceClient: this.silenceClient, // 沉默客户
|
||||||
|
loseClient: this.loseClient // 流失客户
|
||||||
|
};
|
||||||
|
if(this.auditTime == '2') {
|
||||||
|
// 每天
|
||||||
|
if(this.everyDay){
|
||||||
|
console.log(this.everyDayData);
|
||||||
|
params.everyDayData = this.everyDayData
|
||||||
|
} else if(this.MonthDay) {
|
||||||
|
// 每周
|
||||||
|
params.MonthDayData = this.MonthDayData
|
||||||
|
console.log(this.MonthDayData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log( JSON.stringify(params));
|
||||||
|
console.log( this.configList);
|
||||||
|
const pra = Object.assign({}, ...this.configList)
|
||||||
|
pra.remark = JSON.stringify(params)
|
||||||
|
console.log(pra);
|
||||||
|
|
||||||
|
this.service.request(this.service.$api_update_config_batch, pra).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('修改配置成功');
|
||||||
|
setTimeout(() => {
|
||||||
|
this.getConfigList(this.selectedTab);
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
getConfigList(selectedTab: any) {
|
||||||
|
this.selectedTab = selectedTab;
|
||||||
|
this.service.request(this.service.$api_get_config_by_parent_id, { id: selectedTab?.id }).subscribe((res: Array<any>) => {
|
||||||
|
if (res?.length > 0) {
|
||||||
|
res = res.map(item => ({
|
||||||
|
...item,
|
||||||
|
remark: item.remark ? JSON.parse(item.remark) : null,
|
||||||
|
itemValue: item?.itemValue ? (NOJSONTYPE.has(item?.itemType) ? item?.itemValue : JSON.parse(item?.itemValue)) : item?.itemValue,
|
||||||
|
itemData: item.itemData ? JSON.parse(item.itemData) : item.itemData
|
||||||
|
}));
|
||||||
|
const hiddenType = res.find(item => item.itemType === 7 || item.itemType === 999);
|
||||||
|
this.labelWidth = hiddenType ? 0 : 250;
|
||||||
|
this.configList = res;
|
||||||
|
} else {
|
||||||
|
this.configList = [];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
private getImageModel(args: any, key: any) {
|
private getImageModel(args: any, key: any) {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-12-03 15:23:05
|
* @Date: 2021-12-03 15:23:05
|
||||||
* @LastEditTime : 2022-04-27 15:52:30
|
* @LastEditTime : 2022-04-27 20:54:10
|
||||||
* @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\\sys-setting\\sys-setting.module.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\sys-setting.module.ts
|
||||||
@ -38,6 +38,7 @@ import { OrganizationManagementComponent } from './components/organization-manag
|
|||||||
import { OrganizationModalComponent } from './components/organization-management/organization-modal/organization-modal.component';
|
import { OrganizationModalComponent } from './components/organization-management/organization-modal/organization-modal.component';
|
||||||
import { ApiAuthModalComponent } from './components/organization-management/api-auth-modal/api-auth-modal.component';
|
import { ApiAuthModalComponent } from './components/organization-management/api-auth-modal/api-auth-modal.component';
|
||||||
import { MenuTreeComponent } from './components/organization-management/menu-tree/menu-tree.component';
|
import { MenuTreeComponent } from './components/organization-management/menu-tree/menu-tree.component';
|
||||||
|
import { PartnerSystemConfigComponent } from './components/config/config.component';
|
||||||
|
|
||||||
const COMPONENTS = [
|
const COMPONENTS = [
|
||||||
StaffManagementComponent,
|
StaffManagementComponent,
|
||||||
@ -58,6 +59,7 @@ const COMPONENTS = [
|
|||||||
NoTeManagementComponent,
|
NoTeManagementComponent,
|
||||||
SmsTemplateComponent,
|
SmsTemplateComponent,
|
||||||
OrganizationManagementComponent,
|
OrganizationManagementComponent,
|
||||||
|
PartnerSystemConfigComponent
|
||||||
];
|
];
|
||||||
const NOTROUTECOMPONENTS = [
|
const NOTROUTECOMPONENTS = [
|
||||||
BuyerTranspowerComponent,
|
BuyerTranspowerComponent,
|
||||||
|
|||||||
@ -440,12 +440,15 @@ export class TaxManagementOrderReportingComponent implements OnInit {
|
|||||||
if (item?.putStatus != '0') {
|
if (item?.putStatus != '0') {
|
||||||
status = true
|
status = true
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
if(status) {
|
if(status) {
|
||||||
this.service.msgSrv.warning('选择了已上传,请重新勾选!');
|
this.service.msgSrv.warning('选择了已上传,请重新勾选!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if(this.selectedRows.find(item => item.checkStatus !== '1')) {
|
||||||
|
this.service.msgSrv.warning('选择了未通过校验的订单,请重新勾选!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
let params: any[] = [];
|
let params: any[] = [];
|
||||||
this.selectedRows.forEach(item => {
|
this.selectedRows.forEach(item => {
|
||||||
params.push(item.id);
|
params.push(item.id);
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-03-14 14:17:38
|
* @Date : 2022-03-14 14:17:38
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-25 16:22:32
|
* @LastEditTime : 2022-04-27 19:39:30
|
||||||
* @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.
|
||||||
-->
|
-->
|
||||||
@ -38,6 +38,9 @@
|
|||||||
<ng-template sf-template="agreeImg" let-me let-ui="ui" let-schema="schema">
|
<ng-template sf-template="agreeImg" let-me let-ui="ui" let-schema="schema">
|
||||||
<img height="104" src="/assets/images/vehicle/agreement.png" class="borderImg" />
|
<img height="104" src="/assets/images/vehicle/agreement.png" class="borderImg" />
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<div #aaa style="position: absolute; top: 87.5%; left: 21%; opacity: 0; ">
|
||||||
|
<div style="color: #0c77e7;" (click)='view()'>点击查看行政区域代码</div>
|
||||||
|
</div>
|
||||||
</sf>
|
</sf>
|
||||||
<img class="drivercard borderImg" height="104" src="/assets/images/vehicle/car.png" />
|
<img class="drivercard borderImg" height="104" src="/assets/images/vehicle/car.png" />
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { Placeholder } from '@angular/compiler/src/i18n/i18n_ast';
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { apiConf } from '@conf/api.conf';
|
import { apiConf } from '@conf/api.conf';
|
||||||
import { cacheConf } from '@conf/cache.conf';
|
import { cacheConf } from '@conf/cache.conf';
|
||||||
import { SFUISchema, SFSchema, SFUploadWidgetSchema, SFComponent, SFSelectWidgetSchema } from '@delon/form';
|
import { SFUISchema, SFSchema, SFUploadWidgetSchema, SFComponent, SFSelectWidgetSchema, SFTextWidgetSchema } from '@delon/form';
|
||||||
import { _HttpClient } from '@delon/theme';
|
import { _HttpClient } from '@delon/theme';
|
||||||
import { EACacheService, EAEnvironmentService } from '@shared';
|
import { EACacheService, EAEnvironmentService } from '@shared';
|
||||||
import { NzModalRef } from 'ng-zorro-antd/modal';
|
import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||||
@ -17,6 +17,7 @@ import { VehicleService } from '../../../services/vehicle.service';
|
|||||||
})
|
})
|
||||||
export class CarSettleCarauthComponent implements OnInit {
|
export class CarSettleCarauthComponent implements OnInit {
|
||||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
@ViewChild('aaa', { static: false }) aaa!:any;
|
||||||
record: any = {};
|
record: any = {};
|
||||||
i: any;
|
i: any;
|
||||||
ui: SFUISchema = {};
|
ui: SFUISchema = {};
|
||||||
@ -25,37 +26,39 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
showJopFlag = false;
|
showJopFlag = false;
|
||||||
companyData: any = {};
|
companyData: any = {};
|
||||||
detailData: any = {};
|
detailData: any = {};
|
||||||
carNo = ''
|
carNo = '';
|
||||||
|
private titles = `
|
||||||
|
根据监管要求:总质量 4.5 吨及以下普通货 运车辆的,可填车籍地 6 位行政区域代码+000000。
|
||||||
|
`;
|
||||||
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 {
|
||||||
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 +66,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 +75,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 +84,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 +93,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() {
|
||||||
@ -112,7 +115,7 @@ 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,
|
||||||
@ -127,9 +130,9 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
status: 'done',
|
status: 'done',
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
response: {
|
response: {
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
this.sf?.setValue('/carFrontPhotoWatermark', avatar);
|
this.sf?.setValue('/carFrontPhotoWatermark', avatar);
|
||||||
this.detailData.carFrontPhoto = args.file.response.data.fullFilePath;
|
this.detailData.carFrontPhoto = args.file.response.data.fullFilePath;
|
||||||
@ -144,12 +147,12 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log(_fileList)
|
console.log(_fileList);
|
||||||
|
|
||||||
observer.next(isLt2M);
|
observer.next(isLt2M);
|
||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
}
|
||||||
// previewFile: (file: NzUploadFile) => of(
|
// previewFile: (file: NzUploadFile) => of(
|
||||||
// file?.response?.data?.fullFilePath
|
// file?.response?.data?.fullFilePath
|
||||||
// ),
|
// ),
|
||||||
@ -160,8 +163,8 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
maxLength: 9,
|
maxLength: 9,
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入'
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
carNoColor: {
|
carNoColor: {
|
||||||
title: '车牌颜色',
|
title: '车牌颜色',
|
||||||
@ -170,24 +173,26 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
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: '车型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
readOnly: true,
|
readOnly: true,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder:'请上传行驶证自动带出'
|
placeholder: '请上传行驶证自动带出'
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
carEnergyType: {
|
carEnergyType: {
|
||||||
title: '车辆能源类型',
|
title: '车辆能源类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
readOnly: true,
|
|
||||||
ui: {
|
ui: {
|
||||||
placeholder:'请输入车辆能源类型'
|
widget: 'dict-select',
|
||||||
},
|
params: { dictKey: 'car:energy:type' },
|
||||||
|
placeholder: '请选择车辆能源类型',
|
||||||
|
containsAllLabel: false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
carLength: {
|
carLength: {
|
||||||
title: '车长',
|
title: '车长',
|
||||||
@ -196,20 +201,20 @@ 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: '核定载质量',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
maxLength: 6,
|
maxLength: 6,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
addOnAfter: '吨',
|
addOnAfter: '吨',
|
||||||
change: (val: any) =>{
|
change: (val: any) => {
|
||||||
const value = val.replace(/\D/g,'')
|
const value = val.replace(/\D/g, '');
|
||||||
this.sf.setValue('/carLoad', value)
|
this.sf.setValue('/carLoad', value);
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
isSelf: {
|
isSelf: {
|
||||||
@ -217,11 +222,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: {
|
||||||
@ -229,11 +234,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: {
|
||||||
@ -249,7 +254,7 @@ 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,
|
||||||
@ -263,12 +268,12 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
status: 'done',
|
status: 'done',
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
response: {
|
response: {
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
this.sf?.setValue('/carProtocalWatermark', avatar);
|
this.sf?.setValue('/carProtocalWatermark', avatar);
|
||||||
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) => {
|
||||||
@ -283,7 +288,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
previewFile: (file: NzUploadFile) => of(file.url),
|
previewFile: (file: NzUploadFile) => of(file.url)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
agreeImg: {
|
agreeImg: {
|
||||||
@ -291,24 +296,24 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
// enum: [{ label: '长期', value: true }],
|
// enum: [{ label: '长期', value: true }],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom',
|
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',
|
||||||
@ -323,7 +328,7 @@ 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,
|
||||||
@ -337,15 +342,15 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
status: 'done',
|
status: 'done',
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
response: {
|
response: {
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
this.sf?.setValue('/certificatePhotoFrontWatermark', avatar);
|
this.sf?.setValue('/certificatePhotoFrontWatermark', avatar);
|
||||||
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) => {
|
||||||
@ -359,7 +364,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.next(isLt2M);
|
observer.next(isLt2M);
|
||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
}
|
||||||
// previewFile: (file: NzUploadFile) => of(file.url),
|
// previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -368,8 +373,8 @@ 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',
|
||||||
@ -384,7 +389,7 @@ 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,
|
||||||
@ -398,15 +403,15 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
status: 'done',
|
status: 'done',
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
response: {
|
response: {
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
this.sf?.setValue('/certificatePhotoBackWatermark', avatar);
|
this.sf?.setValue('/certificatePhotoBackWatermark', avatar);
|
||||||
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) => {
|
||||||
@ -420,7 +425,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.next(isLt2M);
|
observer.next(isLt2M);
|
||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
}
|
||||||
// previewFile: (file: NzUploadFile) => of(file.url),
|
// previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -429,16 +434,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: '行驶证到期日期',
|
||||||
@ -446,55 +451,64 @@ 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: '使用性质',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入'
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
curbWeight: {
|
curbWeight: {
|
||||||
title: '整备质量',
|
title: '整备质量',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
},
|
addOnAfter: '吨'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
carTotalLoad: {
|
||||||
|
title: '总质量',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
addOnAfter: '吨',
|
||||||
|
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',
|
||||||
@ -509,7 +523,7 @@ 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,
|
||||||
@ -523,15 +537,15 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
status: 'done',
|
status: 'done',
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
response: {
|
response: {
|
||||||
url: args.file.response.data.fullFileWatermarkPath,
|
url: args.file.response.data.fullFileWatermarkPath
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
this.sf?.setValue('/roadTransportPhotoWatermark', avatar);
|
this.sf?.setValue('/roadTransportPhotoWatermark', avatar);
|
||||||
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) => {
|
||||||
@ -545,7 +559,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.next(isLt2M);
|
observer.next(isLt2M);
|
||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
}
|
||||||
// previewFile: (file: NzUploadFile) => of(file.url),
|
// previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -554,7 +568,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
// enum: [{ label: '长期', value: true }],
|
// enum: [{ label: '长期', value: true }],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom',
|
widget: 'custom'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
roadTransportNo: {
|
roadTransportNo: {
|
||||||
@ -564,33 +578,39 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
ui: {
|
ui: {
|
||||||
// widget: this.detailData.commitFlag !== 0 ? 'text' : '',
|
// widget: this.detailData.commitFlag !== 0 ? 'text' : '',
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
},
|
optionalHelp: {
|
||||||
|
i18n: this.titles
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
'': { type: 'number', ui: { widget: 'text',
|
||||||
|
html: this.aaa,
|
||||||
|
defaultText: '点击查看行政区域代码' } as SFTextWidgetSchema },
|
||||||
roadTransportLicenceNo: {
|
roadTransportLicenceNo: {
|
||||||
title: '经营许可证号',
|
title: '经营许可证号',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
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',
|
||||||
@ -610,62 +630,63 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
'driverLicenseSigningOrg',
|
'driverLicenseSigningOrg',
|
||||||
'carDistinguishCode',
|
'carDistinguishCode',
|
||||||
'useNature',
|
'useNature',
|
||||||
|
'curbWeight',
|
||||||
|
'carTotalLoad',
|
||||||
'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
|
||||||
},
|
},
|
||||||
$isTrailer:{
|
$isTrailer: {
|
||||||
grid: { span: 24 },
|
grid: { span: 24 }
|
||||||
},
|
},
|
||||||
$carProtocalWatermark: {
|
$carProtocalWatermark: {
|
||||||
grid: { span:12 },
|
grid: { span: 12 }
|
||||||
},
|
},
|
||||||
$agreeImg: {
|
$agreeImg: {
|
||||||
grid: { span: 4 },
|
grid: { span: 4 },
|
||||||
class: 'setCustom'
|
class: 'setCustom'
|
||||||
},
|
},
|
||||||
$titleB:{
|
$titleB: {
|
||||||
grid: { span: 24 },
|
grid: { span: 24 }
|
||||||
},
|
},
|
||||||
$roadTransportPhotoWatermark: {
|
$roadTransportPhotoWatermark: {
|
||||||
grid: { span: 12 },
|
grid: { span: 12 }
|
||||||
},
|
},
|
||||||
$roadImg: {
|
$roadImg: {
|
||||||
grid: { span: 4 },
|
grid: { span: 4 },
|
||||||
class: 'setCustom'
|
class: 'setCustom'
|
||||||
},
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
// 道路运输证识别
|
// 道路运输证识别
|
||||||
checkTransCard(imgurl: any) {
|
checkTransCard(imgurl: any) {
|
||||||
const params = {
|
const params = {
|
||||||
transportationLicenseUrl: imgurl,
|
transportationLicenseUrl: imgurl
|
||||||
};
|
};
|
||||||
this.service.request(this.service.$api_recognizeTransportationLicense, params).subscribe((res: any) => {
|
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('请上传同一认证车辆的相关证件');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -674,11 +695,12 @@ 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: any) => {
|
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);
|
||||||
@ -687,14 +709,15 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
this.sf.setValue('/carOwner', res.name);
|
this.sf.setValue('/carOwner', res.name);
|
||||||
this.sf.setValue('/useNature', res.useCharacter);
|
this.sf.setValue('/useNature', res.useCharacter);
|
||||||
this.sf.setValue('/carModel', res?.vehicleType);
|
this.sf.setValue('/carModel', res?.vehicleType);
|
||||||
|
this.sf.setValue('/carTotalLoad', res?.grossMass.slice(0, -2) % 1000);
|
||||||
} else {
|
} else {
|
||||||
this.sf.setValue('/curbWeight', res.unladenMass);
|
this.sf.setValue('/curbWeight', res.unladenMass.slice(0, -2) % 1000);
|
||||||
|
this.sf.setValue('/carLoad', res.approvedLoad.slice(0, -2) % 1000);
|
||||||
}
|
}
|
||||||
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('请上传同一认证车辆的相关证件');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -704,10 +727,10 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
this.modal.close(true);
|
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 = {
|
||||||
@ -715,20 +738,23 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
...this.sf.value,
|
...this.sf.value,
|
||||||
bindType: this.i.bindType
|
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;
|
||||||
delete params.titleA
|
delete params.titleA;
|
||||||
delete params.titleB
|
delete params.titleB;
|
||||||
console.log(params);
|
console.log(params);
|
||||||
|
|
||||||
this.service.request(this.service.$api_saveUpdateShipperCar, params).subscribe((res: any) => {
|
this.service.request(this.service.$api_saveUpdateShipperCar, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('添加成功')
|
this.service.msgSrv.success('添加成功');
|
||||||
this.modal.close(true)
|
this.modal.close(true);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
}
|
||||||
|
view() {
|
||||||
|
window.open('http://www.mca.gov.cn/article/sj/xzqh/1980/')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,16 +2,17 @@
|
|||||||
@import '~@delon/abc/index';
|
@import '~@delon/abc/index';
|
||||||
@import '~@delon/chart/index';
|
@import '~@delon/chart/index';
|
||||||
@import 'app/layout/pro/styles/index.less';
|
@import 'app/layout/pro/styles/index.less';
|
||||||
|
@import './styles/common/global.less';
|
||||||
|
|
||||||
@import './styles/index';
|
@import './styles/index';
|
||||||
@import './styles/theme';
|
@import './styles/theme';
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width : 18px;
|
width: 18px;
|
||||||
fill : currentColor;
|
fill: currentColor;
|
||||||
overflow : hidden;
|
overflow: hidden;
|
||||||
font-size : 18px !important;
|
font-size: 18px !important;
|
||||||
color : #ffffff;
|
color: #ffffff;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -19,13 +20,13 @@
|
|||||||
|
|
||||||
/* 全局滚动条美化 */
|
/* 全局滚动条美化 */
|
||||||
*::-webkit-scrollbar {
|
*::-webkit-scrollbar {
|
||||||
width : (@layout-gutter);
|
width: (@layout-gutter);
|
||||||
height: (@layout-gutter);
|
height: (@layout-gutter);
|
||||||
}
|
}
|
||||||
|
|
||||||
*::-webkit-scrollbar-thumb {
|
*::-webkit-scrollbar-thumb {
|
||||||
background : #d9d9d9;
|
background: #d9d9d9;
|
||||||
cursor : pointer;
|
cursor: pointer;
|
||||||
border-radius: (@layout-gutter) / 2;
|
border-radius: (@layout-gutter) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,14 +47,14 @@ input[type="number"] {
|
|||||||
|
|
||||||
.break-word-all {
|
.break-word-all {
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
word-wrap : break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
st {
|
st {
|
||||||
.block-td {
|
.block-td {
|
||||||
.ant-divider-vertical {
|
.ant-divider-vertical {
|
||||||
display : none;
|
display: none;
|
||||||
margin : 0;
|
margin: 0;
|
||||||
border-left: none;
|
border-left: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,9 +67,9 @@ st {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nz-range-picker {
|
nz-range-picker {
|
||||||
width : 100%;
|
width: 100%;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
word-wrap : break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-select-tree .ant-select-tree-treenode-disabled {
|
.ant-select-tree .ant-select-tree-treenode-disabled {
|
||||||
@ -76,13 +77,13 @@ nz-range-picker {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
||||||
.ant-select-tree-checkbox-inner {
|
.ant-select-tree-checkbox-inner {
|
||||||
width : 0px;
|
width: 0px;
|
||||||
border-color: #ffffff !important;
|
border-color: #ffffff !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-select-tree-node-content-wrapper {
|
.ant-select-tree-node-content-wrapper {
|
||||||
color : unset;
|
color: unset;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -93,13 +94,13 @@ nz-range-picker {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
||||||
.ant-select-tree-checkbox-inner {
|
.ant-select-tree-checkbox-inner {
|
||||||
width : 0px;
|
width: 0px;
|
||||||
border-color: #ffffff !important;
|
border-color: #ffffff !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-select-tree-node-content-wrapper {
|
.ant-select-tree-node-content-wrapper {
|
||||||
color : unset;
|
color: unset;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
60
src/styles/common/global.less
Normal file
60
src/styles/common/global.less
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
.detail-title {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
|
||||||
|
|
||||||
|
.sign {
|
||||||
|
width: 2px;
|
||||||
|
height: 16px;
|
||||||
|
background: #E60012;
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.divider-margin {
|
||||||
|
margin-top: 12px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.step-row {
|
||||||
|
width: 80%;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
.ant-steps-item-description {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-sv-container {
|
||||||
|
&.sv__horizontal {
|
||||||
|
.sv__label-width {
|
||||||
|
justify-content: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-sf-container {
|
||||||
|
&.sf__horizontal .ant-form-item-label>label {
|
||||||
|
justify-content: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.common-order-header {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.common-grey {
|
||||||
|
color: #8A8E99;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nameBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: baseline;
|
||||||
|
|
||||||
|
.name {
|
||||||
|
margin: 0 10px 10px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,8 +1,10 @@
|
|||||||
/* You can add global styles to this file, and also import other style files */
|
/* You can add global styles to this file, and also import other style files */
|
||||||
|
|
||||||
@import './fix/index';
|
@import './fix/index';
|
||||||
|
|
||||||
|
|
||||||
.error-color {
|
.error-color {
|
||||||
color: #ff4d4f;
|
color: #ff4d4f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@primary-color: #F5222D;
|
@primary-color: #F5222D;
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
@import '../app/layout/pro/styles/theme-default.less';
|
@import '../app/layout/pro/styles/theme-default.less';
|
||||||
@import './fix/theme-default.less';
|
@import './fix/theme-default.less';
|
||||||
|
|
||||||
|
|
||||||
// ==========Custom brand visual color==========
|
// ==========Custom brand visual color==========
|
||||||
|
|
||||||
// ==========Custom brand visual color==========
|
// ==========Custom brand visual color==========
|
||||||
|
|||||||
Reference in New Issue
Block a user