车辆接口更新
This commit is contained in:
@ -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>
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user