车辆接口更新

This commit is contained in:
wangshiming
2022-01-24 10:46:40 +08:00
parent fbeb7ce765
commit 5ffcf27259
4 changed files with 248 additions and 140 deletions

View File

@ -4,8 +4,8 @@
* @Author : Shiming
* @Date : 2022-01-12 10:52:50
* @LastEditors : Shiming
* @LastEditTime : 2022-01-21 16:57:10
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\receipts-audit\\receipts-audit.component.html
* @LastEditTime : 2022-01-24 10:27:04
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\compliance-audit\\compliance-audit.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<!-- 搜索表单 -->
@ -43,15 +43,16 @@
<nz-tabset (nzSelectedIndexChange)="selectChange($event)"
[nzTabBarExtraContent]="extraTemplate">
<nz-tab [nzTitle]="'全部('+tabs?.totalCount+')'"></nz-tab>
<nz-tab [nzTitle]="'审核('+tabs?.receivedQuantity+')'"></nz-tab>
<nz-tab [nzTitle]="'已审核('+tabs?.stayQuantity+')'"></nz-tab>
<nz-tab [nzTitle]="'抽查('+tabs?.spotQuantity+')'"></nz-tab>
<nz-tab [nzTitle]="'合格('+tabs?.qualifiedtity+')'"></nz-tab>
<nz-tab [nzTitle]="'不合格('+tabs?.unstayQuantity+')'"></nz-tab>
</nz-tabset>
<div style="margin-top: 15px;">
<st
#st
[bordered]="true"
[scroll]="{ x: '2000px' }"
[data]="service.$api_get_billExamine_page"
[data]="service.$api_get_listCompliancePage"
[columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
@ -61,16 +62,6 @@
<ng-template st-row="freightPrice" let-item let-index="index">
{{ item.freightPrice | currency}}
</ng-template>
<ng-template st-row="loadingLadingBillFilePath" let-item let-index="index">
<div>
<span><img [src]="item.loadingLadingBillFilePath" alt=""></span>
<span><img [src]="item.loadingPeopleVehiclesGoodsFilePath" alt=""></span>
</div>
</ng-template>
<ng-template st-row="unloadingLadingBillFilePath" let-item let-index="index">
<span><img [src]="item.unloadingLadingBillFilePath" alt=""></span>
<span><img [src]="item.unloadingPeopleVehiclesGoodsFilePath" alt=""></span>
</ng-template>
<ng-template st-row="loadingTime" let-item let-index="index">
<div *ngIf="item?.loadingTime">装 | {{item?.loadingTime}}</div>
<div *ngIf="item?.unloadingTime">卸 | {{item?.unloadingTime}}</div>
@ -107,45 +98,50 @@
</p>
</div>
</ng-template>
<!-- <ng-template st-row="externalSn" let-item let-index="index">
<span class="mr-xs">{{111111}}</span>
<a (click)="editEnternalSn(item)">编辑</a>
</ng-template> -->
<ng-template st-row="enStatusStr27878" let-item let-index="index">
<div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div>
</ng-template>
<ng-template #contentTemplate>
<div>
<p>预付¥200.00</p>
<p>到付¥200.00</p>
<p>油卡¥200.00</p>
<p>回单付¥200.00</p>
<p>小计¥200.00</p>
<p>附加费¥200.00</p>
</div>
</ng-template>
</st>
</div>
</nz-card>
<ng-template #enable>
<div class="ant-popover-message">
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">已选择{{selectedRows?.length || 0}}条订单,确认批量签收吗?
</div>
<div class="ant-popover-message-title ng-star-inserted">
签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。
</div>
</div>
</ng-template>
<ng-template #extraTemplate>
<div>
<!-- <button nz-button nzType="primary" nzGhost nz-popconfirm
[nzPopconfirmTitle]="enable" (nzOnConfirm)="userAction()" nzPopconfirmPlacement="bottomRight">
<button nz-button nzType="primary" (click)="audit()">
批量签收
</button> -->
</button>
</div>
</ng-template>
</ng-template>
<nz-modal [(nzVisible)]="isVisibleRE" [nzWidth]="600" [nzFooter]="nzModalFooterview2" (nzOnOk)="handleOK()" nzTitle="审核" (nzOnCancel)="handleCancel('1')">
<ng-container *nzModalContent>
<sf #sfView [schema]="schemaView" [ui]="uiView" [compact]="true" [button]="'none'">
</sf>
</ng-container>
<ng-template #nzModalFooterview2>
<button nz-button nzType="default" (click)="reject()">不合格</button>
<button nz-button nzType="primary" (click)="handleOK()">合格</button>
</ng-template>
</nz-modal>
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooter" nzTitle="运费变更记录" (nzOnCancel)="handleCancel('0')">
<ng-container *nzModalContent>
<st
#stFloat
multiSort
size="small"
[bordered]="true"
[data]="service.$api_get_listChangeApply"
[columns]="columnsFloat"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: changeParams }"
[res]="{ reName: { list: 'data', total: 'data.total' } }"
>
<ng-template st-row="order" let-item let-index="index">
{{ index + 1 }}
</ng-template>
</st>
</ng-container>
<ng-template #nzModalFooter>
<button nz-button nzType="primary" (click)="handleCancel('0')">取消</button>
<button nz-button nzType="default" (click)="handleCancel('0')">确定</button>
</ng-template>
</nz-modal>

View File

@ -22,19 +22,27 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
uiView: SFUISchema = {};
schema: SFSchema = {};
schemaView: SFSchema = {};
changeId: any; // 主页面查看运费变更记录id - 用于运费变更记录
auditId: any;
auditMany = false;
isVisibleView = false;
isVisibleEvaluate = false;
isVisible = false;
isVisibleRE = false;
_$expand = false;
@ViewChild('st') private readonly st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
@ViewChild('sfView', { static: false }) sfView!: SFComponent;
@ViewChild('stFloat') private readonly stFloat!: STComponent;
@ViewChild('stFloatView') private readonly stFloatView!: STComponent;
columns: STColumn[] = [];
columnsFloat: STColumn[] = [];
resourceStatus: any;
tabs = {
receivedQuantity: 0,
stayQuantity: 0,
totalCount: 0
totalCount: 0,
qualifiedtity: 0,
spotQuantity: 0,
unstayQuantity: 0
};
constructor(
public service: OrderManagementService,
@ -62,6 +70,11 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
}
};
}
get changeParams() {
return {
id: this.changeId
};
}
get selectedRows() {
return this.st?.list.filter(item => item.checked) || [];
}
@ -71,20 +84,23 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
}
getGoodsSourceStatistical() {
this.tabs = {
receivedQuantity: 0,
stayQuantity: 0,
totalCount: 0
totalCount: 0,
qualifiedtity: 0,
spotQuantity: 0,
unstayQuantity: 0
};
const params: any = Object.assign({}, this.reqParams || {});
delete params.billStatus
this.service.request(this.service.$api_get_getAuditStatistical, { ...this.reqParams }).subscribe(res => {
this.service.request(this.service.$api_get_getComplianceStatisticalStatus, { ...this.reqParams }).subscribe(res => {
if (res) {
let totalCount = 0;
res.forEach((element: any) => {
if (element.billStatusLabel === '待审核') {
this.tabs.receivedQuantity = element.quantity;
} else if (element.billStatusLabel === '已审核') {
this.tabs.stayQuantity = element.quantity;
if (element.complianceStatusLabel === '待抽查') {
this.tabs.spotQuantity = element.quantity;
} else if (element.complianceStatusLabel === '合格') {
this.tabs.qualifiedtity = element.quantity;
} else if (element.complianceStatusLabel === '不合格') {
this.tabs.qualifiedtity = element.quantity;
}
totalCount += element.quantity;
});
@ -239,19 +255,19 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
}
} as SFSelectWidgetSchema
},
settlementBasis: {
title: '装卸凭证',
createTime: {
title: '创建时间',
type: 'string',
ui: {
widget: 'dict-select',
containsAllLable: true,
params: { dictKey: 'goodresource:settlement:type' },
containAllLable: true,
widget: 'date',
mode: 'range',
format: 'yyyy-MM-dd',
allowClear: true,
visibleIf: {
_$expand: (value: boolean) => value
}
} as SFSelectWidgetSchema
}
} as SFDateWidgetSchema
},
},
type: 'object'
};
@ -272,7 +288,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
render: 'billCode'
},
{
title: '费明细',
title: '费明细',
width: '250px',
className: 'text-right',
render: 'mybidDetailInfo'
@ -280,6 +296,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
{ title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '220px', className: 'text-left' },
{ title: '所属项目', index: 'enterpriseProjectName', width: '220px', className: 'text-left' },
{ title: '关联运单号', index: 'wayBillCode', width: '220px', className: 'text-left' },
{ title: '货源编号', index: 'resourceCode', width: '180px', className: 'text-left' },
{ title: '装货地', index: 'loadingAddressArr', width: '180px', className: 'text-left' },
{
@ -315,16 +332,28 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
render: 'loadingTime'
},
{
title: '装货凭证',
title: '创建时间',
width: '180px',
className: 'text-left',
render: 'loadingLadingBillFilePath'
index: 'createTime'
},
{
title: '卸货凭证',
title: '审核人',
width: '180px',
className: 'text-left',
render: 'unloadingLadingBillFilePath'
index: 'loadingLadingBillFilePath'
},
{
title: '审核时间',
width: '180px',
className: 'text-left',
index: 'loadingLadingBillFilePath'
},
{
title: '状态',
width: '180px',
className: 'text-left',
index: 'loadingLadingBillFilePath'
},
{
title: '操作',
@ -333,18 +362,18 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
className: 'text-left',
buttons: [
{
text: '通过',
text: '查看申诉记录',
click: _record => console.log('1'),
// iif: item => item.billStatus == '5'
},
{
text: '生成电子单据',
click: _record => this.generate(_record),
text: '运费变更记录',
click: _record => this.OpenPrice(_record),
// iif: item => item.billStatus == '4'
},
{
text: '修改',
click: _record => this.modification(_record),
text: '合规抽查',
click: _record => this.audit(_record),
// iif: item => item.billStatus == '4'
},
]
@ -377,70 +406,144 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
* 导入货源
*/
importGoodsSource() {}
audit(item: any) {}
/**
* 审核通过按钮
*/
handleOK() {}
OpenPrice(item: any) {
this.changeId = item.id;
this.isVisible = true;
}
// 修改
modification(item: any) {
const modalRef = this.modal.create({
nzTitle: '修改',
nzWidth: '50%',
nzContent: orderManagementVoucherViewComponent,
nzComponentParams: {
i: item,
Status: 1
},
nzFooter: null
});
modalRef.afterClose.subscribe((result: any) => {
this.st.load(1);
this.getGoodsSourceStatistical()
});
}
// 生成电子单据
generate(item: any) {
const modalRef = this.modal.create({
nzTitle: '查看凭证',
nzWidth: '50%',
nzContent: orderManagementVoucherViewComponent,
nzComponentParams: {
i: item,
Status: 2
},
nzFooter: null
});
modalRef.afterClose.subscribe((result: any) => {
this.st.load(1);
this.getGoodsSourceStatistical()
});
}
// 取消订单
cancellation(item: any) {
// api_get_cancelAnOrder
this.modal.confirm({
nzTitle: '<b>确定取消该订单吗?</b>',
nzContent: `<b>取消后无法恢复,请确认</b>`,
nzOnOk: () =>
this.service.request(this.service.$api_get_cancelAnOrder, { id: item.id }).subscribe(res => {
if (res === true) {
this.service.msgSrv.success('操作成功!');
this.st?.reload(1);
this.getGoodsSourceStatistical();
this.initST();
initSTAudit(value: number) {
if (value == 1) {
this.schemaView = {
properties: {
billCode: {
title: '订单号',
type: 'string',
default: this.auditId,
ui: {
widget: 'text'
}
},
complianceRemark: {
title: '备注',
type: 'string',
maxLength: 50,
ui: {
placeholder: '合格可以不用填写原因 ,不合格必须说明原因',
widget: 'textarea',
autosize: { minRows: 3, maxRows: 6 }
}
}
this.st?.reload(1);
this.getGoodsSourceStatistical();
})
}
};
} else {
this.schemaView = {
properties: {
billCode: {
title: '',
type: 'string',
default: `已选${this.selectedRows?.length}条订单`,
ui: {
widget: 'text'
}
},
complianceRemark: {
title: '备注',
type: 'string',
maxLength: 50,
ui: {
placeholder: '合格可以不用填写原因 ,不合格必须说明原因',
widget: 'textarea',
autosize: { minRows: 3, maxRows: 6 }
}
}
}
};
}
this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } };
}
/*
* 审核关闭弹窗
*/
handleCancel(value?: string) {
if(value === '0') {
this.isVisible = false;
} else if(value === '1') {
this.isVisibleRE = false;
}
}
/**
* 审核通过按钮
*/
handleOK() {
let idList: any[] = [];
if(this.selectedRows.length > 0) {
this.selectedRows.forEach(item => {
idList.push(item.id);
});
} else {
idList.push(this.sfView.value.billCode)
}
const parms = {
ids: idList,
complianceRemark: this.sfView.value.complianceRemark,
complianceStatus: 1,
};
this.service.request(this.service.$api_get_updateBillByCompliance, parms).subscribe(res => {
if (res) {
this.service.msgSrv.success('提交成功!');
this.isVisibleRE = false;
this.st?.load(1);
this.getGoodsSourceStatistical()
}
});
}
// 修改订单
changeOrder(value: any) {
this.router.navigate(['order-management/bulk-detailChange', value.id]);
/**
* 审核拒绝按钮
*/
reject() {
if(!this.sfView.value.complianceRemark) {
this.service.msgSrv.error('备注不能为空!');
return;
}
let idList: any[] = [];
if(this.selectedRows.length > 0) {
this.selectedRows.forEach(item => {
idList.push(item.id);
});
} else {
idList.push(this.sfView.value.billCode)
}
const parms = {
ids: idList,
complianceRemark: this.sfView.value.complianceRemark,
complianceStatus: 2,
};
this.service.request(this.service.$api_get_updateBillByCompliance, parms).subscribe(res => {
if (res) {
this.service.msgSrv.success('提交成功!');
this.isVisibleRE = false;
this.st?.load(1);
this.getGoodsSourceStatistical()
}
});
}
/**
*合规抽查
*/
audit(item?: any) {
if (item) {
this.isVisibleRE = true;
this.auditId = item.id;
this.initSTAudit(1);
} else {
if(this.selectedRows.length <= 0) {
this.service.msgSrv.error('请选择订单!')
return;
} else {
this.isVisibleRE = true;
this.initSTAudit(2);
}
}
}
}

View File

@ -567,10 +567,8 @@ resourceStatus: any;
if(type === '0') {
this.isVisible = false
} else if(type === '1') {
console.log(type)
this.isVisibleView = false
} else if(type === '2') {
console.log(type)
this.isVisibleEvaluate = false
}
}

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-03 15:31:52
* @LastEditors : Shiming
* @LastEditTime : 2022-01-21 16:51:32
* @LastEditTime : 2022-01-24 09:58:40
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -135,6 +135,17 @@ export class OrderManagementService extends ShipperBaseService {
public $api_get_billAudit = '/api/sdc/billExamine/billAudit';
// 统计单据审核状态数量
public $api_get_getAuditStatistical = '/api/sdc/billExamine/getAuditStatistical';
// 查询规则抽查列表
public $api_get_listCompliancePage = '/api/sdc/billOperate/listCompliancePage';
// 规则抽查审批
public $api_get_updateBillByCompliance = '/api/sdc/billOperate/updateBillByCompliance';
// 获取规则抽查分类统计
public $api_get_getComplianceStatisticalStatus = '/api/sdc/billOperate/getComplianceStatisticalStatus';
/**
* 根据企业ID获取企业历史网络货运人
* @returns