车辆对接
This commit is contained in:
@ -0,0 +1,63 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-07 15:57:49
|
||||
* @LastEditTime: 2021-12-07 16:25:09
|
||||
* @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
|
||||
-->
|
||||
<nz-card>
|
||||
<div nz-row nzGutter="8">
|
||||
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
||||
<sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [disabled]="!sf?.valid" [loading]="service.http.loading"
|
||||
(formSubmit)="st?.load(1)" (formReset)="resetSF()"></sf>
|
||||
</div>
|
||||
|
||||
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||
<ng-container>
|
||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></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"
|
||||
(click)="st?.load(1)">查询</button>
|
||||
<button nz-button (click)="resetSF()">重置</button>
|
||||
<button nz-button nzType="link" (click)="expandToggle()">
|
||||
{{ !_$expand ? '展开' : '收起' }}
|
||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||
</button>
|
||||
</div>
|
||||
</ng-container>
|
||||
</div>
|
||||
</nz-card>
|
||||
|
||||
<nz-card class="content-box" nzBordered>
|
||||
|
||||
<div style="position: relative">
|
||||
<nz-alert
|
||||
nzType="info"
|
||||
[nzMessage]="'当前共' + st?.total + '行记录,已选择' + selectedRows.length + '项'"
|
||||
nzShowIcon
|
||||
[ngStyle]="{ margin: '0 0 1rem 0' }"
|
||||
>
|
||||
</nz-alert>
|
||||
</div>
|
||||
|
||||
<st #st [data]="url" [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>
|
||||
</nz-card>
|
||||
|
||||
<ng-template #auditModal>
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col nzSpan="24" se-container [labelWidth]="80">
|
||||
<se [col]="1" label="备注">
|
||||
<textarea nz-input rows="3" placeholder="同意可以不用填写原因 ,拒绝必须说明原因"
|
||||
style="width: 325px;margin-left: 14px;"></textarea>
|
||||
</se>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
@ -0,0 +1,35 @@
|
||||
:host::ng-deep {
|
||||
.search-box {
|
||||
.ant-card-body {
|
||||
padding-bottom: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.content-box {
|
||||
.ant-card-body {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
nz-range-picker {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ant-tabs-tab-btn {
|
||||
padding-right: 16px;
|
||||
padding-left : 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.expend-options {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.expend-options {
|
||||
z-index : -99;
|
||||
margin-top: -40px;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,239 @@
|
||||
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 { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { ContractManagementService } from '../../services/contract-management.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-contract-management-contract-frame',
|
||||
templateUrl: './contract-frame.component.html',
|
||||
styleUrls: ['./contract-frame.component.less']
|
||||
})
|
||||
export class ContractManagementFrameComponent implements OnInit {
|
||||
url = `/rule?_allow_anonymous=true`;
|
||||
@ViewChild('st', { static: true })
|
||||
st!: STComponent;
|
||||
@ViewChild('sf', { static: false })
|
||||
sf!: SFComponent;
|
||||
@ViewChild('auditModal', { static: false })
|
||||
auditModal!: any;
|
||||
schema: SFSchema = {};
|
||||
columns: STColumn[] = [];
|
||||
ui: SFUISchema = {};
|
||||
_$expand = false;
|
||||
|
||||
reqParams = {};
|
||||
selectedRows: any[] = [];
|
||||
constructor(public service: ContractManagementService, private nzModalService: NzModalService, private router: Router) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.initST()
|
||||
this.initSF()
|
||||
}
|
||||
/**
|
||||
* 初始化数据列表
|
||||
*/
|
||||
initST() {
|
||||
this.columns = [
|
||||
{ title: '', type: 'checkbox', width: '50px', className: 'text-center' },
|
||||
{
|
||||
title: '合同编号',
|
||||
width: '100px',
|
||||
className: 'text-center',
|
||||
render: 'goodsId'
|
||||
},
|
||||
{
|
||||
title: '合同类型',
|
||||
width: '100px',
|
||||
className: 'text-center',
|
||||
},
|
||||
{ title: '托运人', index: 'externalSn', width: '120px', className: 'text-center' },
|
||||
{ title: '承运人', index: 'linkUrl', 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',
|
||||
},
|
||||
{
|
||||
title: '签署日期',
|
||||
className: 'text-center',
|
||||
width: '120px',
|
||||
render: 'feiong'
|
||||
},
|
||||
{
|
||||
title: '交易时间',
|
||||
className: 'text-center',
|
||||
width: '120px',
|
||||
},
|
||||
// {
|
||||
// title: '操作',
|
||||
// fixed: 'right',
|
||||
// width: '200px',
|
||||
// className: 'text-left',
|
||||
// buttons: [
|
||||
// {
|
||||
// text: '查看评价',
|
||||
// // click: (_record) => this.viewEvaluate(_record),
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
];
|
||||
}
|
||||
/**
|
||||
* 初始化查询表单
|
||||
*/
|
||||
initSF() {
|
||||
this.schema = {
|
||||
properties: {
|
||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||
no: {
|
||||
type: 'string',
|
||||
title: '用户名',
|
||||
},
|
||||
no2: {
|
||||
type: 'string',
|
||||
title: '托运人'
|
||||
},
|
||||
no1: {
|
||||
type: 'string',
|
||||
title: '承运人'
|
||||
},
|
||||
createTime: {
|
||||
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(),
|
||||
},
|
||||
},
|
||||
},
|
||||
type: 'object',
|
||||
};
|
||||
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||
}
|
||||
/**
|
||||
* 查询字段个数
|
||||
*/
|
||||
get queryFieldCount(): number {
|
||||
return Object.keys(this.schema?.properties || {}).length;
|
||||
}
|
||||
stChange(e: STChange): void {
|
||||
switch (e.type) {
|
||||
case 'checkbox':
|
||||
this.selectedRows = e.checkbox!;
|
||||
break;
|
||||
case 'filter':
|
||||
this.st.load();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
approval(): void {}
|
||||
|
||||
add(): void {}
|
||||
|
||||
routeTo(item: any) {
|
||||
this.router.navigate(['/ticket/invoice-requested-detail/1']);
|
||||
}
|
||||
|
||||
auditAction(item: any) {
|
||||
const modal = this.nzModalService.create({
|
||||
nzTitle: '审核',
|
||||
nzContent: this.auditModal,
|
||||
nzFooter: [
|
||||
{
|
||||
label: '拒绝',
|
||||
type: 'default',
|
||||
onClick: () => {
|
||||
modal.destroy();
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '通过',
|
||||
type: 'primary',
|
||||
onClick: () => {
|
||||
modal.destroy();
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
modal.afterClose.subscribe(res => {
|
||||
this.st.load();
|
||||
});
|
||||
}
|
||||
|
||||
showReason(item: any) {
|
||||
const modal = this.nzModalService.create({
|
||||
nzTitle: '查看原因',
|
||||
nzContent: '运单数据异常,暂时无法开票,请联系客服400-xxxx-xxxx',
|
||||
nzFooter: [
|
||||
{
|
||||
label: '关闭',
|
||||
type: 'primary',
|
||||
onClick: () => {
|
||||
modal.destroy();
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置表单
|
||||
*/
|
||||
resetSF() {
|
||||
this.sf.reset();
|
||||
this._$expand = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 伸缩查询条件
|
||||
*/
|
||||
expandToggle(): void {
|
||||
this._$expand = !this._$expand;
|
||||
this.sf?.setValue('/_$expand', this._$expand);
|
||||
}
|
||||
}
|
||||
@ -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>
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2022-01-07 13:27:10
|
||||
* @LastEditTime: 2022-01-07 13:50:55
|
||||
* @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\index\index.component.html
|
||||
-->
|
||||
<page-header-wrapper title="合同管理" [tab]="tpTab">
|
||||
</page-header-wrapper>
|
||||
<ng-template #tpTab>
|
||||
<nz-tabset [(nzSelectedIndex)]="selectedIndex">
|
||||
<nz-tab nzTitle="明细合同">
|
||||
<app-contract-management-contract-list></app-contract-management-contract-list>
|
||||
</nz-tab>
|
||||
<nz-tab nzTitle="框架合同">
|
||||
<app-contract-management-contract-frame></app-contract-management-contract-frame>
|
||||
</nz-tab>
|
||||
</nz-tabset>
|
||||
</ng-template>
|
||||
@ -0,0 +1,24 @@
|
||||
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { SupplyManagementIndexComponent } from './index.component';
|
||||
|
||||
describe('SupplyManagementIndexComponent', () => {
|
||||
let component: SupplyManagementIndexComponent;
|
||||
let fixture: ComponentFixture<SupplyManagementIndexComponent>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ SupplyManagementIndexComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(SupplyManagementIndexComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2022-01-07 13:27:10
|
||||
* @LastEditTime: 2022-01-07 13:28:59
|
||||
* @LastEditors: your name
|
||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
* @FilePath: \tms-obc-web\src\app\routes\contract-management\components\index\index.component.ts
|
||||
*/
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { STColumn, STComponent } from '@delon/abc/st';
|
||||
import { SFSchema } from '@delon/form';
|
||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||
|
||||
@Component({
|
||||
selector: 'app-supply-management-index',
|
||||
templateUrl: './index.component.html',
|
||||
})
|
||||
export class ContractManagementIndexComponent implements OnInit {
|
||||
selectedIndex = 0;
|
||||
|
||||
constructor(private http: _HttpClient, private modal: ModalHelper) { }
|
||||
|
||||
ngOnInit(): void { }
|
||||
|
||||
|
||||
}
|
||||
@ -11,9 +11,10 @@ import { RouterModule, Routes } from '@angular/router';
|
||||
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
||||
import { UserCenterComponentsDriverDetailComponent } from './components/contract-template-detail/contract-template-detail.component';
|
||||
import { OrderManagementTemplateComponent } from './components/contract-template/contract-template.component';
|
||||
import { ContractManagementIndexComponent } from './components/index/index.component';
|
||||
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
||||
const routes: Routes = [
|
||||
{ path: 'list', component: ContractManagementContractListComponent },
|
||||
{ path: 'index', component: ContractManagementIndexComponent },
|
||||
{ path: 'template', component: OrderManagementTemplateComponent },
|
||||
{ path: 'template/detail/:id', component: UserCenterComponentsDriverDetailComponent },
|
||||
{ path: 'policy', component: ContractManagementPolicyComponent }
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-07 15:57:49
|
||||
* @LastEditTime: 2022-01-05 11:05:11
|
||||
* @LastEditTime: 2022-01-07 13:50:14
|
||||
* @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\contract-management.module.ts
|
||||
@ -14,12 +14,16 @@ import { ContractManagementContractListComponent } from './components/contract-l
|
||||
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
||||
import { OrderManagementTemplateComponent } from './components/contract-template/contract-template.component';
|
||||
import { UserCenterComponentsDriverDetailComponent } from './components/contract-template-detail/contract-template-detail.component';
|
||||
import { ContractManagementIndexComponent } from './components/index/index.component';
|
||||
import { ContractManagementFrameComponent } from './components/contract-frame/contract-frame.component';
|
||||
|
||||
const COMPONENTS: any = [
|
||||
ContractManagementContractListComponent,
|
||||
ContractManagementPolicyComponent,
|
||||
OrderManagementTemplateComponent,
|
||||
UserCenterComponentsDriverDetailComponent
|
||||
UserCenterComponentsDriverDetailComponent,
|
||||
ContractManagementIndexComponent,
|
||||
ContractManagementFrameComponent
|
||||
];
|
||||
const NOTROUTECOMPONENTS: any = [];
|
||||
@NgModule({
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2022-01-04 21:05:49
|
||||
* @LastEditTime: 2022-01-06 10:15:44
|
||||
* @LastEditTime: 2022-01-07 16:33:31
|
||||
* @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\services\contract-management.service.ts
|
||||
@ -25,6 +25,11 @@ export class ContractManagementService extends BaseService {
|
||||
$api_get_contractTemplate = `/api/sdc/contractTemplate/get`;
|
||||
// 删除合同模板
|
||||
$api_deletebatch_contractTemplate = `/api/sdc/contractTemplate/deletebatch`;
|
||||
|
||||
// 查询明细合同
|
||||
$api_listDetailed_page = `/api/sdc/contract/listDetailed/page`;
|
||||
// 查询框架合同
|
||||
$api_listFrame_page = `/api/sdc/contract/listFrame/page`;
|
||||
constructor(public injector: Injector) {
|
||||
super(injector);
|
||||
}
|
||||
|
||||
@ -29,6 +29,7 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit {
|
||||
@ViewChild('st') st!: STComponent;
|
||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||
status: string = 'anew';
|
||||
type: any;
|
||||
url = ''; // 请求的api地址
|
||||
params: any = {}; // 传进来的参数
|
||||
cardBADGE: STColumnBadge | any = {
|
||||
@ -99,6 +100,7 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit {
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
console.log(this.type)
|
||||
}
|
||||
|
||||
dataProcess(data: STData[]): STData[] {
|
||||
|
||||
@ -213,9 +213,9 @@
|
||||
</nz-card>
|
||||
<nz-card>
|
||||
<div class="align-center">
|
||||
<!-- <button nz-button nzType="primary" (click)="chooseFamifiar()">生成二维码</button>
|
||||
<button nz-button nzType="primary" style="margin-left: 48px" (click)="chooseFamifiar()">指派熟车</button> -->
|
||||
<button nz-button nzType="primary" (click)="choose()">取消</button>
|
||||
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submit()">司机抢单</button>
|
||||
<!-- <button nz-button nzType="primary" (click)="chooseFamifiar()">生成二维码</button> -->
|
||||
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submit('assign')">指派熟车</button>
|
||||
<!-- <button nz-button nzType="primary" (click)="choose()">取消</button> -->
|
||||
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submit('publish')">司机抢单</button>
|
||||
</div>
|
||||
</nz-card>
|
||||
|
||||
@ -530,14 +530,34 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
}
|
||||
|
||||
//指派熟车
|
||||
chooseFamifiar() {
|
||||
this.modalService.create({
|
||||
//指派熟车
|
||||
chooseFamifiar(item: any) {
|
||||
const modalRef = this.modalService.create({
|
||||
nzTitle: '指派熟车',
|
||||
nzContent: PublishGoodsChooseFamifiarComponent,
|
||||
nzWidth: 1300
|
||||
nzComponentParams: {
|
||||
submitParams: item,
|
||||
submitUrl: this.service.$api_save_bulk_assign
|
||||
},
|
||||
nzWidth: 1300,
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.openFinishPage(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
submit(): void {
|
||||
// 打开下单完成页面
|
||||
openFinishPage(resourceObj: any = null) {
|
||||
this.modalService.create({
|
||||
nzTitle: '',
|
||||
nzContent: PublishSuccessComponent,
|
||||
nzWidth: 900,
|
||||
nzFooter: null,
|
||||
nzComponentParams: { type: 'bulk' }
|
||||
});
|
||||
}
|
||||
submit(submitType?: string): void {
|
||||
console.log(this.startInfo)
|
||||
if(typeof(this.validateForm1.value.modifyTime) !== 'string' ) {
|
||||
var c = new Date(this.validateForm1.value.modifyTime);
|
||||
@ -563,7 +583,12 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
]
|
||||
}
|
||||
params.freightPrice = this.totalFees
|
||||
console.log(this.sf7.value)
|
||||
if(submitType) {
|
||||
if (submitType == 'assign') {
|
||||
this.chooseFamifiar(params);
|
||||
return;
|
||||
}
|
||||
}
|
||||
console.log(params)
|
||||
if(this.PageStatus === '大宗修改') {
|
||||
this.requests(this.service.$api_set_bulkModify, params);
|
||||
|
||||
@ -174,9 +174,8 @@
|
||||
|
||||
<nz-card>
|
||||
<div class="align-center">
|
||||
<button nz-button nzType="primary" (click)="choose()">取消</button>
|
||||
|
||||
<button nz-button nzType="primary" (click)="submit('assign')">生成二维码</button>
|
||||
<!-- <button nz-button nzType="primary" (click)="choose()">取消</button> -->
|
||||
<!-- <button nz-button nzType="primary" (click)="submit('assign')">生成二维码</button> -->
|
||||
<button nz-button nzType="primary" (click)="submit('assign')">指派熟车</button>
|
||||
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submit('publish')">司机抢单</button>
|
||||
</div>
|
||||
|
||||
@ -446,7 +446,7 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
|
||||
nzContent: PublishGoodsChooseFamifiarComponent,
|
||||
nzComponentParams: {
|
||||
submitParams: item,
|
||||
submitUrl: this.service.$api_save_bulk_assign
|
||||
submitUrl: this.service.$api_save_consignBulkAssign
|
||||
},
|
||||
nzWidth: 1300
|
||||
});
|
||||
|
||||
@ -706,7 +706,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
nzComponentParams: {
|
||||
status: 'new',
|
||||
url: this.service.$api_save_assign_whole,
|
||||
params: item
|
||||
params: item,
|
||||
type: 'next'
|
||||
|
||||
},
|
||||
nzFooter: null
|
||||
});
|
||||
@ -732,7 +734,8 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
nzTitle: '运输协议',
|
||||
nzContent: TranAgreementComponent,
|
||||
nzWidth: 900,
|
||||
nzFooter: null
|
||||
nzFooter: null,
|
||||
nzComponentParams: { type: 'next' }
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
|
||||
@ -639,7 +639,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
nzWidth: 1200,
|
||||
nzComponentParams: {
|
||||
status: 'new',
|
||||
url: this.service.$api_save_assign_whole,
|
||||
url: this.service.$api_save_consignWholeAssign,
|
||||
params: item
|
||||
},
|
||||
nzFooter: null
|
||||
|
||||
@ -1,3 +1,11 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2022-01-06 15:01:40
|
||||
* @LastEditTime: 2022-01-10 11:20:22
|
||||
* @LastEditors: your name
|
||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
* @FilePath: \tms-obc-web\src\app\routes\supply-management\components\tran-agreement\tran-agreement.component.ts
|
||||
*/
|
||||
import { Component } from '@angular/core';
|
||||
import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||
|
||||
@ -8,7 +16,7 @@ import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||
})
|
||||
export class TranAgreementComponent {
|
||||
|
||||
|
||||
type: any;
|
||||
constructor(private modal: NzModalRef) {
|
||||
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 11:10:14
|
||||
* @LastEditTime: 2022-01-06 19:16:43
|
||||
* @LastEditTime: 2022-01-10 13:20:04
|
||||
* @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\supply-management\services\supply-management.service.ts
|
||||
@ -65,10 +65,14 @@ export class SupplyManagementService extends BaseService {
|
||||
$api_save_assign_vehicle = `/api/sdc/goodsResourceShipper/reAssignWhole`;// 货主端大宗货源重新指派
|
||||
|
||||
$api_save_assign_bulk = `/api/sdc/goodsResourceShipper/reAssignBulk`; // 货主端大宗货源指派熟车
|
||||
// 整车再下一单指派熟车
|
||||
$api_save_assign_whole = `/api/sdc/goodsResourceOperate/saveAnotherWholeOrderAssign`;
|
||||
// 代发整车货源指派熟车
|
||||
$api_save_consignWholeAssign = `/api/sdc/goodsResourceOperate/consignWholeAssign`;
|
||||
// 货主端大宗货源指派熟车
|
||||
$api_save_assign_whole = `/api/sdc/goodsResourceShipper/saveWholeAssign`;
|
||||
// 货主端大宗货源指派熟车
|
||||
$api_save_bulk_assign = `/api/sdc/goodsResourceShipper/saveBulkAssign`;
|
||||
$api_save_bulk_assign = `/api/sdc/goodsResourceOperate/saveAnotherBulkOrderAssign`;
|
||||
// 代发大宗货源指派熟车
|
||||
$api_save_consignBulkAssign = `/api/sdc/goodsResourceOperate/consignBulkAssign`;
|
||||
|
||||
$api_get_has_assigned_car_list = `/api/sdc/goodsResourceShipper/getCarDriverIdsByResourceId`;// 大宗货源根据货源id获取司机和车辆的id集合
|
||||
|
||||
|
||||
@ -26,9 +26,10 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
|
||||
editId = false;
|
||||
|
||||
columns: STColumn[] = [
|
||||
{ title: '客户名称', index: 'customerName' },
|
||||
{ title: '客户简称', index: 'customerShortName' },
|
||||
{ title: '客户编码', index: 'customerCode' },
|
||||
{ title: '运单编号', index: 'customerName' },
|
||||
{ title: '司机', index: 'customerShortName' },
|
||||
{ title: '异常类型', index: 'customerCode' },
|
||||
{ title: '异常内容', index: 'customerCode' },
|
||||
{
|
||||
title: '操作',
|
||||
buttons: [
|
||||
@ -51,7 +52,6 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
|
||||
|
||||
ngOnInit(): void {
|
||||
this.initSF()
|
||||
this.initSFFre()
|
||||
}
|
||||
|
||||
stChange(e: STChange): void {
|
||||
@ -83,50 +83,26 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
|
||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||
customerName: {
|
||||
type: 'string',
|
||||
title: '客户名称',
|
||||
title: '运单编号',
|
||||
ui: { placeholder: '请输入' }
|
||||
},
|
||||
customerShortName: {
|
||||
type: 'string',
|
||||
title: '客户简称',
|
||||
title: '司机',
|
||||
ui: { placeholder: '请输入' }
|
||||
},
|
||||
customerCode: {
|
||||
type: 'string',
|
||||
title: '客户编码',
|
||||
title: '异常类型',
|
||||
ui: { placeholder: '请输入',
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
} }
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
};
|
||||
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||
}
|
||||
initSFFre() {
|
||||
this.addSchema = {
|
||||
properties: {
|
||||
customerName: {
|
||||
type: 'string',
|
||||
title: '客户名称',
|
||||
ui: { placeholder: '请输入' }
|
||||
},
|
||||
customerShortName: {
|
||||
type: 'string',
|
||||
title: '客户简称',
|
||||
ui: { placeholder: '请输入' }
|
||||
},
|
||||
customerCode: {
|
||||
type: 'string',
|
||||
title: '客户编码',
|
||||
ui: { placeholder: '请输入' }
|
||||
},
|
||||
},
|
||||
required: ['customerName', 'customerShortName', 'customerCode']
|
||||
};
|
||||
this.ui2 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
|
||||
}
|
||||
|
||||
roleAction(value: any,item?: any) {
|
||||
|
||||
// this.service.request(this.service.$api_get_crmCustomer, {id: value.id}).subscribe((res: any) => {
|
||||
|
||||
@ -367,8 +367,8 @@
|
||||
"link": "/contract-management/policy"
|
||||
},
|
||||
{
|
||||
"text": "合同列表",
|
||||
"link": "/contract-management/list"
|
||||
"text": "合同管理",
|
||||
"link": "/contract-management/index"
|
||||
},
|
||||
{
|
||||
"text": "合同模板",
|
||||
|
||||
Reference in New Issue
Block a user