车辆对接

This commit is contained in:
wangshiming
2022-01-10 13:32:17 +08:00
parent 11c5ab47b8
commit a0c7db29a4
22 changed files with 600 additions and 142 deletions

View File

@ -1,15 +1,11 @@
<!--
* @Author: your name
* @Date: 2021-12-07 15:57:49
* @LastEditTime: 2021-12-07 16:25:09
* @LastEditTime: 2022-01-07 18:05:23
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\contract-management\components\contract-list\contract-list.component.html
-->
<page-header-wrapper [title]="'合同列表'">
</page-header-wrapper>
<nz-card>
<div nz-row nzGutter="8">
<!-- 查询字段小于或等于3个时不显示伸缩按钮 -->
@ -21,7 +17,13 @@
<!-- 查询字段大于3个时根据展开状态调整布局 -->
<ng-container>
<div nz-col [nzSpan]="_$expand ? 24 : 18">
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
<!-- <input placeholder="请输入1-30" type="number" [ngModel]="sf.value.description3" style="width: 200px;" nz-input />
<span> 天内支付运费</span> -->
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime" ></nz-range-picker>
</ng-template>
</sf>
</div>
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading"
@ -48,11 +50,16 @@
</nz-alert>
</div>
<st #st [data]="url" [columns]="columns"
<st #st [data]="service.$api_listDetailed_page" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }" (change)="stChange($event)"></st>
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }" (change)="stChange($event)">
<ng-template st-row="contractCode" let-item let-index="index">
<a [routerLink]="'/supply-management/bulk-detail/'+item.id">{{item?.contractCode}}</a>
</ng-template>
</st>
</nz-card>
<ng-template #auditModal>

View File

@ -1,14 +1,16 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { STComponent, STColumn, STChange } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema } from '@delon/form';
import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema, SFSelectWidgetSchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal';
import { ContractManagementService } from '../../services/contract-management.service';
import { DatePipe } from '@angular/common';
@Component({
selector: 'app-contract-management-contract-list',
templateUrl: './contract-list.component.html',
styleUrls: ['./contract-list.component.less']
styleUrls: ['./contract-list.component.less'],
providers: [DatePipe]
})
export class ContractManagementContractListComponent implements OnInit {
url = `/rule?_allow_anonymous=true`;
@ -22,10 +24,32 @@ export class ContractManagementContractListComponent implements OnInit {
columns: STColumn[] = [];
ui: SFUISchema = {};
_$expand = false;
reqParams = {};
/**
* 查询参数
*/
get reqParams() {
const params = {
...this.sf?.value,
}
delete params.signTime;
delete params._$expand;
if(this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss')) {
params.signTime = {
start: this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss'),
end: this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss'),
}
}
return {
...params
};
}
selectedRows: any[] = [];
constructor(public service: ContractManagementService, private nzModalService: NzModalService, private router: Router) {}
constructor(
public service: ContractManagementService,
private nzModalService: NzModalService,
private router: Router,
private datePipe: DatePipe,
) {}
ngOnInit(): void {
this.initST()
@ -36,73 +60,49 @@ export class ContractManagementContractListComponent implements OnInit {
*/
initST() {
this.columns = [
{ title: '', type: 'checkbox', width: '50px', className: 'text-center' },
{
title: '合同编号',
width: '100px',
className: 'text-center',
render: 'goodsId'
render: 'contractCode'
},
{
title: '合同类型',
width: '100px',
className: 'text-center',
index:'contractType'
},
{ title: '托运人', index: 'externalSn', width: '120px', className: 'text-center' },
{ title: '承运人', index: 'linkUrl', width: '120px', className: 'text-center' },
{ title: '托运人', index: 'shipperName', width: '120px', className: 'text-center' },
{ title: '承运人', index: 'carrierName', width: '120px', className: 'text-center' },
{
title: '业务单号',
className: 'text-center',
width: '120px',
},
{
title: '装货地',
className: 'text-center',
width: '120px',
},
{
title: '卸货地',
className: 'text-center',
width: '120px',
},
{
title: '货物名称',
className: 'text-center',
width: '120px',
},
{
title: '重量/体积',
className: 'text-center',
width: '120px',
},
{
title: '金额',
className: 'text-center',
width: '120px',
index: 'businessCode'
},
{
title: '签署日期',
className: 'text-center',
width: '120px',
render: 'feiong'
index: 'signTime'
},
{
title: '交易时间',
title: '状态',
className: 'text-center',
width: '120px',
type: 'badge',
index: 'esignFlowStatus',
badge: {
'0': { text: '未发起', color: 'default' },
'1': { text: '待签章', color: 'default' },
'2': { text: '已生效', color: 'success' },
'3': { text: '已撤销', color: 'warning' },
'4': { text: '已作废', color: 'warning' },
'5': { text: '已过期', color: 'warning' },
'7': { text: '已拒签', color: 'warning' },
},
},
// {
// title: '操作',
// fixed: 'right',
// width: '200px',
// className: 'text-left',
// buttons: [
// {
// text: '查看评价',
// // click: (_record) => this.viewEvaluate(_record),
// },
// ],
// },
];
}
/**
@ -112,42 +112,59 @@ export class ContractManagementContractListComponent implements OnInit {
this.schema = {
properties: {
_$expand: { type: 'boolean', ui: { hidden: true } },
no: {
contractCode: {
type: 'string',
title: '用户名',
title: '合同编号',
},
no2: {
businessCode: {
type: 'string',
title: '业务单号'
},
shipperName: {
type: 'string',
title: '托运人'
},
no1: {
carrierName: {
type: 'string',
title: '承运人'
title: '承运人',
ui: {
visibleIf: {
_$expand: (value: boolean) => value,
},
}
},
createTime: {
documentType: {
title: '单据类型',
type: 'string',
default: '',
ui: {
widget: 'dict-select',
containsAllLable: true,
params: { dictKey: 'contract:document:type' },
containAllLable:true,
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
// signTime: {
// title: '签署日期',
// type: 'string',
// ui: {
// widget: 'date',
// mode: 'range',
// format: 'yyyy-MM-dd',
// visibleIf: {
// _$expand: (value: boolean) => value,
// },
// } as SFDateWidgetSchema,
// },
signTime: {
title: '签署日期',
type: 'string',
ui: {
widget: 'date',
mode: 'range',
format: 'yyyy-MM-dd',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFDateWidgetSchema,
},
appId: {
type: 'string',
title: '合同类型',
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
_$expand: (value: boolean) => value,
},
allowClear: true,
// asyncData: () => this.getCatalogueMember(),
},
widget: 'custom'
}
},
},
type: 'object',