Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-07 13:29:57
|
* @Date : 2022-01-07 13:29:57
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-23 16:04:18
|
* @LastEditTime : 2022-02-24 10:08:53
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-frame\\contract-frame.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-frame\\contract-frame.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -29,8 +29,9 @@
|
|||||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
||||||
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
<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 />
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
<span> 天内支付运费</span> -->
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
|
|||||||
@ -1,14 +1,17 @@
|
|||||||
|
import { DatePipe } from '@angular/common';
|
||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
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 { ShipperBaseService } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { ContractManagementService } from '../../services/contract-management.service';
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-contract-frame',
|
selector: 'app-contract-management-contract-frame',
|
||||||
templateUrl: './contract-frame.component.html',
|
templateUrl: './contract-frame.component.html',
|
||||||
styleUrls: ['./contract-frame.component.less']
|
styleUrls: ['./contract-frame.component.less'],
|
||||||
|
providers: [DatePipe]
|
||||||
})
|
})
|
||||||
export class ContractManagementFrameComponent implements OnInit {
|
export class ContractManagementFrameComponent implements OnInit {
|
||||||
url = `/rule?_allow_anonymous=true`;
|
url = `/rule?_allow_anonymous=true`;
|
||||||
@ -22,14 +25,43 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
columns: STColumn[] = [];
|
columns: STColumn[] = [];
|
||||||
ui: SFUISchema = {};
|
ui: SFUISchema = {};
|
||||||
_$expand = false;
|
_$expand = false;
|
||||||
|
|
||||||
reqParams = {};
|
|
||||||
selectedRows: any[] = [];
|
selectedRows: any[] = [];
|
||||||
constructor(public service: ContractManagementService, private nzModalService: NzModalService, private router: Router) {}
|
constructor(
|
||||||
|
public service: ContractManagementService,
|
||||||
|
private nzModalService: NzModalService,
|
||||||
|
private router: Router,
|
||||||
|
public shipperservice: ShipperBaseService,
|
||||||
|
private datePipe: DatePipe,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.initST()
|
this.initST();
|
||||||
this.initSF()
|
this.initSF();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
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'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[1], 'yyyy-MM-dd HH:mm:ss')) {
|
||||||
|
params.effectiveEndTime = {
|
||||||
|
start: this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[0], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
end: this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[1], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
...params
|
||||||
|
};
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 初始化数据列表
|
* 初始化数据列表
|
||||||
@ -42,14 +74,26 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
render: 'contractCode'
|
render: 'contractCode'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'signingObject'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '合同类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'contractType'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '合同名称',
|
title: '合同名称',
|
||||||
width: '100px',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index: 'contractName'
|
index: 'contractName'
|
||||||
},
|
},
|
||||||
{ title: '托运人', index: 'shipperName', width: '120px', className: 'text-center' },
|
{ title: '网络货运人', index: 'enterpriseInfoName', width: '120px', className: 'text-center' },
|
||||||
{ title: '承运人', index: 'carrierName', width: '120px', className: 'text-center' },
|
{ title: '合同对象', index: 'contractObjectName', width: '120px', className: 'text-center' },
|
||||||
{
|
{
|
||||||
title: '有效期至',
|
title: '有效期至',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
@ -75,10 +119,9 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
'3': { text: '已撤销', color: 'warning' },
|
'3': { text: '已撤销', color: 'warning' },
|
||||||
'4': { text: '已作废', color: 'warning' },
|
'4': { text: '已作废', color: 'warning' },
|
||||||
'5': { text: '已过期', color: 'warning' },
|
'5': { text: '已过期', color: 'warning' },
|
||||||
'7': { text: '已拒签', color: 'warning' },
|
'7': { text: '已拒签', color: 'warning' }
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -90,15 +133,53 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
contractCode: {
|
contractCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '合同编号',
|
title: '合同编号'
|
||||||
},
|
},
|
||||||
shipperName: {
|
signingObject: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '托运人'
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 },
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
}
|
||||||
},
|
},
|
||||||
carrierName: {
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '承运人',
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable:true,
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
enterpriseInfoId: {
|
||||||
|
type: 'string',
|
||||||
|
title: '网络货运人',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
allowClear: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
asyncData: () => this.shipperservice.getNetworkFreightForwarder()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractObjectName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '合同对象',
|
||||||
|
ui: {
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
},
|
},
|
||||||
signTime: {
|
signTime: {
|
||||||
title: '签署日期',
|
title: '签署日期',
|
||||||
@ -110,8 +191,32 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
effectiveEndTime: {
|
||||||
|
title: '有效期',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
},
|
},
|
||||||
type: 'object',
|
}
|
||||||
|
},
|
||||||
|
esignFlowStatus: {
|
||||||
|
title: '状态',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'esign:flow:status' },
|
||||||
|
containAllLable:true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
type: 'object'
|
||||||
};
|
};
|
||||||
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-07 15:57:49
|
* @Date : 2021-12-07 15:57:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:16:12
|
* @LastEditTime : 2022-02-23 20:11:50
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-list\\contract-list.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-list\\contract-list.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -53,6 +53,10 @@
|
|||||||
<ng-template st-row="contractCode" let-item let-index="index">
|
<ng-template st-row="contractCode" let-item let-index="index">
|
||||||
<a [routerLink]="'/contract-management/index/detail/' + item.id">{{ item?.contractCode }}</a>
|
<a [routerLink]="'/contract-management/index/detail/' + item.id">{{ item?.contractCode }}</a>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template st-row="signingObject" let-item let-index="index">
|
||||||
|
<span *ngIf="item.signingObject == 0"></span>
|
||||||
|
<span></span>
|
||||||
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema, SFSelectWidgetSc
|
|||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { ContractManagementService } from '../../services/contract-management.service';
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
import { DatePipe } from '@angular/common';
|
import { DatePipe } from '@angular/common';
|
||||||
|
import { ShipperBaseService } from '@shared';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-contract-list',
|
selector: 'app-contract-management-contract-list',
|
||||||
@ -47,6 +48,7 @@ export class ContractManagementContractListComponent implements OnInit {
|
|||||||
constructor(
|
constructor(
|
||||||
public service: ContractManagementService,
|
public service: ContractManagementService,
|
||||||
private nzModalService: NzModalService,
|
private nzModalService: NzModalService,
|
||||||
|
public shipperservice: ShipperBaseService,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private datePipe: DatePipe,
|
private datePipe: DatePipe,
|
||||||
) {}
|
) {}
|
||||||
@ -67,19 +69,31 @@ export class ContractManagementContractListComponent implements OnInit {
|
|||||||
render: 'contractCode'
|
render: 'contractCode'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '单据类型',
|
title: '签约对象',
|
||||||
width: '100px',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index:'documentType'
|
index:'signingObject'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '合同名称',
|
title: '合同类型',
|
||||||
width: '100px',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index:'contractName'
|
index:'contractType'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '货源类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index:'resourceType'
|
||||||
|
},
|
||||||
|
{ title: '合同名称', index: 'contractName', width: '120px', className: 'text-center' },
|
||||||
|
{ title: '网络货运人', index: 'enterpriseInfoName', width: '120px', className: 'text-center' },
|
||||||
|
{
|
||||||
|
title: '合同对象',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '120px',
|
||||||
|
index: 'contractObjectName'
|
||||||
},
|
},
|
||||||
{ title: '托运人', index: 'shipperName', width: '120px', className: 'text-center' },
|
|
||||||
{ title: '承运人', index: 'carrierName', width: '120px', className: 'text-center' },
|
|
||||||
{
|
{
|
||||||
title: '业务单号',
|
title: '业务单号',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
@ -126,21 +140,35 @@ export class ContractManagementContractListComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '业务单号'
|
title: '业务单号'
|
||||||
},
|
},
|
||||||
shipperName: {
|
signingObject: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '托运人'
|
title: '签约对象',
|
||||||
},
|
enum: [
|
||||||
carrierName: {
|
{ label: '全部', value: '' },
|
||||||
type: 'string',
|
{ label: '货主', value: 1 },
|
||||||
title: '承运人',
|
{ label: '司机', value: 2 },
|
||||||
|
],
|
||||||
ui: {
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable:true,
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
_$expand: (value: boolean) => value,
|
_$expand: (value: boolean) => value,
|
||||||
},
|
},
|
||||||
}
|
} as SFSelectWidgetSchema,
|
||||||
},
|
},
|
||||||
documentType: {
|
resourceType: {
|
||||||
title: '单据类型',
|
title: '货源类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
default: '',
|
default: '',
|
||||||
ui: {
|
ui: {
|
||||||
@ -153,6 +181,28 @@ export class ContractManagementContractListComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
} as SFSelectWidgetSchema,
|
} as SFSelectWidgetSchema,
|
||||||
},
|
},
|
||||||
|
enterpriseInfoId: {
|
||||||
|
type: 'string',
|
||||||
|
title: '网络货运人',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
allowClear: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
asyncData: () => this.shipperservice.getNetworkFreightForwarder()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractObjectName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '合同对象',
|
||||||
|
ui: {
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
signTime: {
|
signTime: {
|
||||||
title: '签署日期',
|
title: '签署日期',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@ -163,6 +213,20 @@ export class ContractManagementContractListComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
esignFlowStatus: {
|
||||||
|
title: '状态',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'esign:flow:status' },
|
||||||
|
containAllLable:true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
type: 'object',
|
type: 'object',
|
||||||
};
|
};
|
||||||
|
|||||||
@ -4,8 +4,8 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-07 13:29:57
|
* @Date : 2022-01-07 13:29:57
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-23 16:04:18
|
* @LastEditTime : 2022-02-24 10:08:28
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-frame\\contract-frame.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-partner\\contract-partner.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
<nz-card>
|
<nz-card>
|
||||||
@ -29,10 +29,11 @@
|
|||||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
||||||
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
<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>
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
@ -69,7 +70,7 @@
|
|||||||
|
|
||||||
<st
|
<st
|
||||||
#st
|
#st
|
||||||
[data]="service.$api_listFrame_page"
|
[data]="service.$api_listPartner_page"
|
||||||
[columns]="columns"
|
[columns]="columns"
|
||||||
[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' } }"
|
||||||
|
|||||||
@ -1,14 +1,17 @@
|
|||||||
|
import { DatePipe } from '@angular/common';
|
||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
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 { ShipperBaseService } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { ContractManagementService } from '../../services/contract-management.service';
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-contract-partner',
|
selector: 'app-contract-management-contract-partner',
|
||||||
templateUrl: './contract-partner.component.html',
|
templateUrl: './contract-partner.component.html',
|
||||||
styleUrls: ['./contract-partner.component.less']
|
styleUrls: ['./contract-partner.component.less'],
|
||||||
|
providers: [DatePipe]
|
||||||
})
|
})
|
||||||
export class ContractManagementPartnerComponent implements OnInit {
|
export class ContractManagementPartnerComponent implements OnInit {
|
||||||
url = `/rule?_allow_anonymous=true`;
|
url = `/rule?_allow_anonymous=true`;
|
||||||
@ -22,14 +25,43 @@ export class ContractManagementPartnerComponent implements OnInit {
|
|||||||
columns: STColumn[] = [];
|
columns: STColumn[] = [];
|
||||||
ui: SFUISchema = {};
|
ui: SFUISchema = {};
|
||||||
_$expand = false;
|
_$expand = false;
|
||||||
|
|
||||||
reqParams = {};
|
|
||||||
selectedRows: any[] = [];
|
selectedRows: any[] = [];
|
||||||
constructor(public service: ContractManagementService, private nzModalService: NzModalService, private router: Router) {}
|
constructor(
|
||||||
|
public service: ContractManagementService,
|
||||||
|
private nzModalService: NzModalService,
|
||||||
|
private router: Router,
|
||||||
|
public shipperservice: ShipperBaseService,
|
||||||
|
private datePipe: DatePipe,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.initST()
|
this.initST();
|
||||||
this.initSF()
|
this.initSF();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
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'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[1], 'yyyy-MM-dd HH:mm:ss')) {
|
||||||
|
params.effectiveEndTime = {
|
||||||
|
start: this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[0], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
end: this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[1], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
...params
|
||||||
|
};
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 初始化数据列表
|
* 初始化数据列表
|
||||||
@ -43,13 +75,25 @@ export class ContractManagementPartnerComponent implements OnInit {
|
|||||||
render: 'contractCode'
|
render: 'contractCode'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '合同名称',
|
title: '签约对象',
|
||||||
width: '100px',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index:'contractName'
|
index: 'signingObject'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '合同类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'contractType'
|
||||||
|
},
|
||||||
|
{ title: '合同名称', index: 'contractName', width: '120px', className: 'text-center' },
|
||||||
|
{ title: '网络货运人', index: 'enterpriseInfoName', width: '120px', className: 'text-center' },
|
||||||
|
{
|
||||||
|
title: '合同对象',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '120px',
|
||||||
|
index: 'contractObjectName'
|
||||||
},
|
},
|
||||||
{ title: '托运人', index: 'shipperName', width: '120px', className: 'text-center' },
|
|
||||||
{ title: '承运人', index: 'carrierName', width: '120px', className: 'text-center' },
|
|
||||||
{
|
{
|
||||||
title: '有效期至',
|
title: '有效期至',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
@ -75,10 +119,9 @@ export class ContractManagementPartnerComponent implements OnInit {
|
|||||||
'3': { text: '已撤销', color: 'warning' },
|
'3': { text: '已撤销', color: 'warning' },
|
||||||
'4': { text: '已作废', color: 'warning' },
|
'4': { text: '已作废', color: 'warning' },
|
||||||
'5': { text: '已过期', color: 'warning' },
|
'5': { text: '已过期', color: 'warning' },
|
||||||
'7': { text: '已拒签', color: 'warning' },
|
'7': { text: '已拒签', color: 'warning' }
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -90,19 +133,67 @@ export class ContractManagementPartnerComponent implements OnInit {
|
|||||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
contractCode: {
|
contractCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '合同编号',
|
title: '合同编号'
|
||||||
},
|
},
|
||||||
shipperName: {
|
signingObject: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '托运人'
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
carrierName: {
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '承运人',
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable: true,
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
enterpriseInfoId: {
|
||||||
|
type: 'string',
|
||||||
|
title: '网络货运人',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
allowClear: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
asyncData: () => this.shipperservice.getNetworkFreightForwarder()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractObjectName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '合同对象',
|
||||||
|
ui: {
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
signTime: {
|
signTime: {
|
||||||
title: '签署日期',
|
title: '签署日期',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
effectiveEndTime: {
|
||||||
|
title: '有效期',
|
||||||
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom',
|
widget: 'custom',
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
@ -110,8 +201,22 @@ export class ContractManagementPartnerComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
esignFlowStatus: {
|
||||||
|
title: '状态',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'esign:flow:status' },
|
||||||
|
containAllLable: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
}
|
||||||
},
|
},
|
||||||
type: 'object',
|
type: 'object'
|
||||||
};
|
};
|
||||||
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-05 11:01:55
|
* @Date : 2022-01-05 11:01:55
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-25 14:25:49
|
* @LastEditTime : 2022-02-24 10:23:53
|
||||||
* @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.
|
||||||
*/
|
*/
|
||||||
@ -16,12 +16,12 @@ import { NzModalService } from 'ng-zorro-antd/modal';
|
|||||||
import { ContractManagementService } from '../../services/contract-management.service';
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-template-detail-complaint',
|
selector: 'app-contract-management-template-text-complaint',
|
||||||
templateUrl: './contract-template-detail.component.html',
|
templateUrl: './contract-template-detail.component.html',
|
||||||
styleUrls: ['./contract-template-detail.component.less'],
|
styleUrls: ['./contract-template-detail.component.less'],
|
||||||
providers: [DatePipe]
|
providers: [DatePipe]
|
||||||
})
|
})
|
||||||
export class ContractManagementTemplateDetailComponent implements OnInit {
|
export class ContractManagementTemplateTextComponent implements OnInit {
|
||||||
constructor(
|
constructor(
|
||||||
private nzModalService: NzModalService,
|
private nzModalService: NzModalService,
|
||||||
public service: ContractManagementService,
|
public service: ContractManagementService,
|
||||||
|
|||||||
@ -0,0 +1,82 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-12 10:52:50
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:31:05
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<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'">
|
||||||
|
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></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"
|
||||||
|
(click)="st?.load(1)"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
||||||
|
>查询</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>
|
||||||
|
<div class="NewBtn">
|
||||||
|
<button nz-button nzType="primary" (click)="creatTemplate()" acl [acl-ability]="['CONTRACT-TEMPLATE-new']"> 新建 </button>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 15px">
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[bordered]="true"
|
||||||
|
[data]="service.$api_get_contractTemplate_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"
|
||||||
|
>
|
||||||
|
<ng-template st-row="templateName" let-item let-index="index">
|
||||||
|
<a (click)="view(item)">{{ item.templateName }}</a>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
.NewBtn{
|
||||||
|
float: right;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-05 09:45:47
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:25:58
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.spec.ts
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { ContractManagementTemplateFrameComponent } from './contract-template-frame.component';
|
||||||
|
|
||||||
|
describe('ContractManagementTemplateFrameComponent', () => {
|
||||||
|
let component: ContractManagementTemplateFrameComponent;
|
||||||
|
let fixture: ComponentFixture<ContractManagementTemplateFrameComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ ContractManagementTemplateFrameComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(ContractManagementTemplateFrameComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,250 @@
|
|||||||
|
import { Router } from '@angular/router';
|
||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-contract-management-template-frame-complaint',
|
||||||
|
templateUrl: './contract-template-frame.component.html',
|
||||||
|
styleUrls: ['./contract-template-frame.component.less']
|
||||||
|
})
|
||||||
|
export class ContractManagementTemplateFrameComponent implements OnInit {
|
||||||
|
ui: SFUISchema = {};
|
||||||
|
uiView: SFUISchema = {};
|
||||||
|
schema: SFSchema = {};
|
||||||
|
schemaView: SFSchema = {};
|
||||||
|
auditMany = false;
|
||||||
|
_$expand = false;
|
||||||
|
channelId: any;
|
||||||
|
@ViewChild('st') private readonly st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
columns: STColumn[] = [];
|
||||||
|
datass: any = [
|
||||||
|
{
|
||||||
|
one: '1',
|
||||||
|
two: '1',
|
||||||
|
three: '1',
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
one: '2',
|
||||||
|
two: '2',
|
||||||
|
three: '2',
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
];
|
||||||
|
constructor(
|
||||||
|
public service: ContractManagementService,
|
||||||
|
private modal: NzModalService,
|
||||||
|
private router: Router
|
||||||
|
) { }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
return {
|
||||||
|
templateType: 'MX',
|
||||||
|
...this.sf?.value,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
get selectedRows() {
|
||||||
|
return this.st?.list.filter((item) => item.checked) || [];
|
||||||
|
}
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.initSF();
|
||||||
|
this.initST();
|
||||||
|
this.initSTAudit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化查询表单
|
||||||
|
*/
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
templateName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '模板名称',
|
||||||
|
},
|
||||||
|
signingObject: {
|
||||||
|
type: 'string',
|
||||||
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable: true,
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
title: '货源类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'contract:template:type' },
|
||||||
|
containsAllLable: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化数据列表
|
||||||
|
*/
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
{
|
||||||
|
title: '合同模板名称',
|
||||||
|
className: 'text-center',
|
||||||
|
render: 'templateName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'signingObject'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '合同类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'contractType'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '货源类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'resourceType'
|
||||||
|
},
|
||||||
|
{ title: '创建人', index: 'createUserId', width: '120px', className: 'text-center' },
|
||||||
|
{
|
||||||
|
title: '创建时间',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'createTime'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
fixed: 'right',
|
||||||
|
className: 'text-left',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '编辑',
|
||||||
|
click: (_record) => this.edit(_record),
|
||||||
|
acl: { ability: ['CONTRACT-TEMPLATE-edit'] },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '删除',
|
||||||
|
click: (_record) => this.delete(_record),
|
||||||
|
acl: { ability: ['CONTRACT-TEMPLATE-delete'] },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
initSTAudit() {
|
||||||
|
this.schemaView = {
|
||||||
|
properties: {
|
||||||
|
handleResult: {
|
||||||
|
title: '处理结果',
|
||||||
|
type: 'string',
|
||||||
|
maxLength: 50,
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多不超过50字',
|
||||||
|
widget: 'textarea',
|
||||||
|
autosize: { minRows: 3, maxRows: 6 }
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['handleResult']
|
||||||
|
};
|
||||||
|
this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } };
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询字段个数
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 伸缩查询条件
|
||||||
|
*/
|
||||||
|
expandToggle(): void {
|
||||||
|
this._$expand = !this._$expand;
|
||||||
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
|
}
|
||||||
|
tabChange(item: any) {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF(): void {
|
||||||
|
this.sf.reset();
|
||||||
|
this._$expand = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
edit(value: any) {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
|
queryParams: {
|
||||||
|
status: 2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
creatTemplate() {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + 0], {
|
||||||
|
queryParams: {
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
goBack() {
|
||||||
|
window.history.go(-1)
|
||||||
|
}
|
||||||
|
view(value: any) {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
|
queryParams: {
|
||||||
|
status: 3
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
delete(value: any) {
|
||||||
|
this.modal.confirm({
|
||||||
|
nzTitle: '<i>删除确认</i>',
|
||||||
|
nzOnOk: () =>
|
||||||
|
this.service.request(this.service.$api_deletebatch_contractTemplate, [value.id]).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('删除成功!');
|
||||||
|
this.st.reload(1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,82 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-12 10:52:50
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:31:05
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<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'">
|
||||||
|
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></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"
|
||||||
|
(click)="st?.load(1)"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
||||||
|
>查询</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>
|
||||||
|
<div class="NewBtn">
|
||||||
|
<button nz-button nzType="primary" (click)="creatTemplate()" acl [acl-ability]="['CONTRACT-TEMPLATE-new']"> 新建 </button>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 15px">
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[bordered]="true"
|
||||||
|
[data]="service.$api_get_contractTemplate_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"
|
||||||
|
>
|
||||||
|
<ng-template st-row="templateName" let-item let-index="index">
|
||||||
|
<a (click)="view(item)">{{ item.templateName }}</a>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
.NewBtn{
|
||||||
|
float: right;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-05 09:45:47
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 14:09:28
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-partner\\contract-template-partner.component.spec.ts
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { ContractManagementTemplatePartnerComponent } from './contract-template-partner.component';
|
||||||
|
|
||||||
|
describe('ContractManagementTemplatePartnerComponent', () => {
|
||||||
|
let component: ContractManagementTemplatePartnerComponent;
|
||||||
|
let fixture: ComponentFixture<ContractManagementTemplatePartnerComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ ContractManagementTemplatePartnerComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(ContractManagementTemplatePartnerComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,250 @@
|
|||||||
|
import { Router } from '@angular/router';
|
||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-contract-management-template-partner-complaint',
|
||||||
|
templateUrl: './contract-template-partner.component.html',
|
||||||
|
styleUrls: ['./contract-template-partner.component.less']
|
||||||
|
})
|
||||||
|
export class ContractManagementTemplatePartnerComponent implements OnInit {
|
||||||
|
ui: SFUISchema = {};
|
||||||
|
uiView: SFUISchema = {};
|
||||||
|
schema: SFSchema = {};
|
||||||
|
schemaView: SFSchema = {};
|
||||||
|
auditMany = false;
|
||||||
|
_$expand = false;
|
||||||
|
channelId: any;
|
||||||
|
@ViewChild('st') private readonly st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
columns: STColumn[] = [];
|
||||||
|
datass: any = [
|
||||||
|
{
|
||||||
|
one: '1',
|
||||||
|
two: '1',
|
||||||
|
three: '1',
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
one: '2',
|
||||||
|
two: '2',
|
||||||
|
three: '2',
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
];
|
||||||
|
constructor(
|
||||||
|
public service: ContractManagementService,
|
||||||
|
private modal: NzModalService,
|
||||||
|
private router: Router
|
||||||
|
) { }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
return {
|
||||||
|
templateType: 'MX',
|
||||||
|
...this.sf?.value,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
get selectedRows() {
|
||||||
|
return this.st?.list.filter((item) => item.checked) || [];
|
||||||
|
}
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.initSF();
|
||||||
|
this.initST();
|
||||||
|
this.initSTAudit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化查询表单
|
||||||
|
*/
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
templateName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '模板名称',
|
||||||
|
},
|
||||||
|
signingObject: {
|
||||||
|
type: 'string',
|
||||||
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable: true,
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
title: '货源类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'contract:template:type' },
|
||||||
|
containsAllLable: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化数据列表
|
||||||
|
*/
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
{
|
||||||
|
title: '合同模板名称',
|
||||||
|
className: 'text-center',
|
||||||
|
render: 'templateName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'signingObject'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '合同类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'contractType'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '货源类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'resourceType'
|
||||||
|
},
|
||||||
|
{ title: '创建人', index: 'createUserId', width: '120px', className: 'text-center' },
|
||||||
|
{
|
||||||
|
title: '创建时间',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'createTime'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
fixed: 'right',
|
||||||
|
className: 'text-left',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '编辑',
|
||||||
|
click: (_record) => this.edit(_record),
|
||||||
|
acl: { ability: ['CONTRACT-TEMPLATE-edit'] },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '删除',
|
||||||
|
click: (_record) => this.delete(_record),
|
||||||
|
acl: { ability: ['CONTRACT-TEMPLATE-delete'] },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
initSTAudit() {
|
||||||
|
this.schemaView = {
|
||||||
|
properties: {
|
||||||
|
handleResult: {
|
||||||
|
title: '处理结果',
|
||||||
|
type: 'string',
|
||||||
|
maxLength: 50,
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多不超过50字',
|
||||||
|
widget: 'textarea',
|
||||||
|
autosize: { minRows: 3, maxRows: 6 }
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['handleResult']
|
||||||
|
};
|
||||||
|
this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } };
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询字段个数
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 伸缩查询条件
|
||||||
|
*/
|
||||||
|
expandToggle(): void {
|
||||||
|
this._$expand = !this._$expand;
|
||||||
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
|
}
|
||||||
|
tabChange(item: any) {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF(): void {
|
||||||
|
this.sf.reset();
|
||||||
|
this._$expand = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
edit(value: any) {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
|
queryParams: {
|
||||||
|
status: 2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
creatTemplate() {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + 0], {
|
||||||
|
queryParams: {
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
goBack() {
|
||||||
|
window.history.go(-1)
|
||||||
|
}
|
||||||
|
view(value: any) {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
|
queryParams: {
|
||||||
|
status: 3
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
delete(value: any) {
|
||||||
|
this.modal.confirm({
|
||||||
|
nzTitle: '<i>删除确认</i>',
|
||||||
|
nzOnOk: () =>
|
||||||
|
this.service.request(this.service.$api_deletebatch_contractTemplate, [value.id]).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('删除成功!');
|
||||||
|
this.st.reload(1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,13 +4,12 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-12 10:52:50
|
* @Date : 2022-01-12 10:52:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:16:18
|
* @LastEditTime : 2022-02-24 10:31:05
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- 搜索表单 -->
|
<!-- 搜索表单 -->
|
||||||
<page-header-wrapper [title]="'合同模板'"> </page-header-wrapper>
|
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
@ -28,9 +27,16 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||||
<ng-container *ngIf="queryFieldCount > 4">
|
<ng-container>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
<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">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
</sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
<button
|
<button
|
||||||
@ -40,10 +46,9 @@
|
|||||||
[nzLoading]="service.http.loading"
|
[nzLoading]="service.http.loading"
|
||||||
(click)="st?.load(1)"
|
(click)="st?.load(1)"
|
||||||
acl
|
acl
|
||||||
[acl-ability]="['CONTRACT-TEMPLATE-search']"
|
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
||||||
>查询</button
|
>查询</button
|
||||||
>
|
>
|
||||||
<button nz-button nzType="primary" acl [acl-ability]="['CONTRACT-TEMPLATE-export']">导出</button>
|
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
|||||||
@ -4,27 +4,27 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-05 09:45:47
|
* @Date : 2022-01-05 09:45:47
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:16:22
|
* @LastEditTime : 2022-02-24 10:25:58
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.spec.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.spec.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
import { ContractManagementTemplateComponent } from './contract-template.component';
|
import { ContractManagementTemplateDetailComponent } from './contract-template.component';
|
||||||
|
|
||||||
describe('ContractManagementTemplateComponent', () => {
|
describe('ContractManagementTemplateDetailComponent', () => {
|
||||||
let component: ContractManagementTemplateComponent;
|
let component: ContractManagementTemplateDetailComponent;
|
||||||
let fixture: ComponentFixture<ContractManagementTemplateComponent>;
|
let fixture: ComponentFixture<ContractManagementTemplateDetailComponent>;
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [ ContractManagementTemplateComponent ]
|
declarations: [ ContractManagementTemplateDetailComponent ]
|
||||||
})
|
})
|
||||||
.compileComponents();
|
.compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
fixture = TestBed.createComponent(ContractManagementTemplateComponent);
|
fixture = TestBed.createComponent(ContractManagementTemplateDetailComponent);
|
||||||
component = fixture.componentInstance;
|
component = fixture.componentInstance;
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -9,11 +9,11 @@ import { ContractManagementService } from '../../services/contract-management.se
|
|||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-template-complaint',
|
selector: 'app-contract-management-template-detail-complaint',
|
||||||
templateUrl: './contract-template.component.html',
|
templateUrl: './contract-template.component.html',
|
||||||
styleUrls: ['./contract-template.component.less']
|
styleUrls: ['./contract-template.component.less']
|
||||||
})
|
})
|
||||||
export class ContractManagementTemplateComponent implements OnInit {
|
export class ContractManagementTemplateDetailComponent implements OnInit {
|
||||||
ui: SFUISchema = {};
|
ui: SFUISchema = {};
|
||||||
uiView: SFUISchema = {};
|
uiView: SFUISchema = {};
|
||||||
schema: SFSchema = {};
|
schema: SFSchema = {};
|
||||||
@ -49,6 +49,7 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
get reqParams() {
|
get reqParams() {
|
||||||
return {
|
return {
|
||||||
|
templateType: 'KJ',
|
||||||
...this.sf?.value,
|
...this.sf?.value,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -69,12 +70,37 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
initSF() {
|
initSF() {
|
||||||
this.schema = {
|
this.schema = {
|
||||||
properties: {
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
templateName: {
|
templateName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '模板名称',
|
title: '模板名称',
|
||||||
},
|
},
|
||||||
templateType: {
|
signingObject: {
|
||||||
title: '模板类型',
|
type: 'string',
|
||||||
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable: true,
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
title: '货源类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
default: '',
|
default: '',
|
||||||
ui: {
|
ui: {
|
||||||
@ -82,7 +108,7 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
params: { dictKey: 'contract:template:type' },
|
params: { dictKey: 'contract:template:type' },
|
||||||
containsAllLable: true,
|
containsAllLable: true,
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
_$expand: (value: boolean) => value,
|
_$expand: (value: boolean) => value
|
||||||
},
|
},
|
||||||
} as SFSelectWidgetSchema,
|
} as SFSelectWidgetSchema,
|
||||||
},
|
},
|
||||||
@ -102,14 +128,22 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
render: 'templateName'
|
render: 'templateName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '模板类型',
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index: 'templateType'
|
index: 'signingObject'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '单据类型',
|
title: '合同类型',
|
||||||
index: 'contractType',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
|
index: 'contractType'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '货源类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'resourceType'
|
||||||
},
|
},
|
||||||
{ title: '创建人', index: 'createUserId', width: '120px', className: 'text-center' },
|
{ title: '创建人', index: 'createUserId', width: '120px', className: 'text-center' },
|
||||||
{
|
{
|
||||||
@ -178,14 +212,14 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
edit(value: any) {
|
edit(value: any) {
|
||||||
this.router.navigate(['/contract-management/template/detail/' + value.id],{
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
queryParams: {
|
queryParams: {
|
||||||
status: 2
|
status: 2
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
creatTemplate() {
|
creatTemplate() {
|
||||||
this.router.navigate(['/contract-management/template/detail/' + 0], {
|
this.router.navigate(['/contract-management/template/text/' + 0], {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
status: 1
|
status: 1
|
||||||
}
|
}
|
||||||
@ -195,7 +229,7 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
window.history.go(-1)
|
window.history.go(-1)
|
||||||
}
|
}
|
||||||
view(value: any) {
|
view(value: any) {
|
||||||
this.router.navigate(['/contract-management/template/detail/' + value.id],{
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
queryParams: {
|
queryParams: {
|
||||||
status: 3
|
status: 3
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-07 13:27:10
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 14:10:45
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\template\\template.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<page-header-wrapper title="合同模板" [tab]="tpTab">
|
||||||
|
</page-header-wrapper>
|
||||||
|
<ng-template #tpTab>
|
||||||
|
<nz-tabset [(nzSelectedIndex)]="selectedIndex">
|
||||||
|
<nz-tab nzTitle="明细合同">
|
||||||
|
<app-contract-management-template-detail-complaint></app-contract-management-template-detail-complaint>
|
||||||
|
</nz-tab>
|
||||||
|
<nz-tab nzTitle="框架合同">
|
||||||
|
<app-contract-management-template-frame-complaint></app-contract-management-template-frame-complaint>
|
||||||
|
</nz-tab>
|
||||||
|
<nz-tab nzTitle="合伙人合同">
|
||||||
|
<app-contract-management-template-partner-complaint></app-contract-management-template-partner-complaint>
|
||||||
|
</nz-tab>
|
||||||
|
</nz-tabset>
|
||||||
|
</ng-template>
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { ContractManagementTemplateComponent } from './template.component';
|
||||||
|
|
||||||
|
describe('ContractManagementTemplateComponent', () => {
|
||||||
|
let component: ContractManagementTemplateComponent;
|
||||||
|
let fixture: ComponentFixture<ContractManagementTemplateComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ ContractManagementTemplateComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(ContractManagementTemplateComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-07 13:27:10
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:20:23
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\template\\template.component.ts
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-supply-management-template',
|
||||||
|
templateUrl: './template.component.html',
|
||||||
|
})
|
||||||
|
export class ContractManagementTemplateComponent implements OnInit {
|
||||||
|
selectedIndex = 0;
|
||||||
|
|
||||||
|
constructor(private http: _HttpClient, private modal: ModalHelper) { }
|
||||||
|
|
||||||
|
ngOnInit(): void { }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-04 21:05:49
|
* @Date : 2022-01-04 21:05:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-23 19:39:21
|
* @LastEditTime : 2022-02-24 10:24:16
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\contract-management-routing.module.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\contract-management-routing.module.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -14,15 +14,15 @@ import { RouterModule, Routes } from '@angular/router';
|
|||||||
import { ContractManagementDetailComponent } from './components/contract-detail/contract-detail.component';
|
import { ContractManagementDetailComponent } from './components/contract-detail/contract-detail.component';
|
||||||
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
||||||
import { ContractManagementPartnerComponent } from './components/contract-partner/contract-partner.component';
|
import { ContractManagementPartnerComponent } from './components/contract-partner/contract-partner.component';
|
||||||
import { ContractManagementTemplateDetailComponent } from './components/contract-template-detail/contract-template-detail.component';
|
import { ContractManagementTemplateTextComponent } from './components/contract-template-detail/contract-template-detail.component';
|
||||||
import { ContractManagementTemplateComponent } from './components/contract-template/contract-template.component';
|
|
||||||
import { ContractManagementIndexComponent } from './components/index/index.component';
|
import { ContractManagementIndexComponent } from './components/index/index.component';
|
||||||
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
||||||
|
import { ContractManagementTemplateComponent } from './components/template/template.component';
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: 'index', component: ContractManagementIndexComponent },
|
{ path: 'index', component: ContractManagementIndexComponent },
|
||||||
{ path: 'index/detail/:id', component: ContractManagementDetailComponent },
|
{ path: 'index/detail/:id', component: ContractManagementDetailComponent },
|
||||||
{ path: 'template', component: ContractManagementTemplateComponent },
|
{ path: 'template', component: ContractManagementTemplateComponent },
|
||||||
{ path: 'template/detail/:id', component: ContractManagementTemplateDetailComponent },
|
{ path: 'template/text/:id', component: ContractManagementTemplateTextComponent },
|
||||||
{ path: 'policy', component: ContractManagementPolicyComponent },
|
{ path: 'policy', component: ContractManagementPolicyComponent },
|
||||||
{ path: 'partner', component: ContractManagementPartnerComponent },
|
{ path: 'partner', component: ContractManagementPartnerComponent },
|
||||||
];
|
];
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-04 21:05:49
|
* @Date : 2022-01-04 21:05:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:15:08
|
* @LastEditTime : 2022-02-24 14:09:24
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\contract-management.module.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\contract-management.module.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -15,22 +15,29 @@ import { SharedModule } from '@shared';
|
|||||||
import { ContractManagementManagementRoutingModule } from './contract-management-routing.module';
|
import { ContractManagementManagementRoutingModule } from './contract-management-routing.module';
|
||||||
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
||||||
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
||||||
import { ContractManagementTemplateComponent } from './components/contract-template/contract-template.component';
|
import { ContractManagementTemplateDetailComponent } from './components/contract-template/contract-template.component';
|
||||||
import { ContractManagementIndexComponent } from './components/index/index.component';
|
import { ContractManagementIndexComponent } from './components/index/index.component';
|
||||||
import { ContractManagementFrameComponent } from './components/contract-frame/contract-frame.component';
|
import { ContractManagementFrameComponent } from './components/contract-frame/contract-frame.component';
|
||||||
import { ContractManagementTemplateDetailComponent } from './components/contract-template-detail/contract-template-detail.component';
|
|
||||||
import { ContractManagementDetailComponent } from './components/contract-detail/contract-detail.component';
|
import { ContractManagementDetailComponent } from './components/contract-detail/contract-detail.component';
|
||||||
import { ContractManagementPartnerComponent } from './components/contract-partner/contract-partner.component';
|
import { ContractManagementPartnerComponent } from './components/contract-partner/contract-partner.component';
|
||||||
|
import { ContractManagementTemplateComponent } from './components/template/template.component';
|
||||||
|
import { ContractManagementTemplateTextComponent } from './components/contract-template-detail/contract-template-detail.component';
|
||||||
|
import { ContractManagementTemplateFrameComponent } from './components/contract-template-frame/contract-template-frame.component';
|
||||||
|
import { ContractManagementTemplatePartnerComponent } from './components/contract-template-partner/contract-template-partner.component';
|
||||||
|
|
||||||
const COMPONENTS: any = [
|
const COMPONENTS: any = [
|
||||||
ContractManagementContractListComponent,
|
ContractManagementContractListComponent,
|
||||||
ContractManagementPolicyComponent,
|
ContractManagementPolicyComponent,
|
||||||
ContractManagementTemplateComponent,
|
ContractManagementTemplateDetailComponent,
|
||||||
ContractManagementTemplateDetailComponent,
|
ContractManagementTemplateDetailComponent,
|
||||||
ContractManagementIndexComponent,
|
ContractManagementIndexComponent,
|
||||||
ContractManagementFrameComponent,
|
ContractManagementFrameComponent,
|
||||||
ContractManagementDetailComponent,
|
ContractManagementDetailComponent,
|
||||||
ContractManagementPartnerComponent
|
ContractManagementPartnerComponent,
|
||||||
|
ContractManagementTemplateComponent,
|
||||||
|
ContractManagementTemplateTextComponent,
|
||||||
|
ContractManagementTemplateFrameComponent,
|
||||||
|
ContractManagementTemplatePartnerComponent
|
||||||
];
|
];
|
||||||
const NOTROUTECOMPONENTS: any = [];
|
const NOTROUTECOMPONENTS: any = [];
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-04 21:05:49
|
* @Date : 2022-01-04 21:05:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:17:10
|
* @LastEditTime : 2022-02-24 10:00:59
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\services\\contract-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\services\\contract-management.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -31,6 +31,8 @@ export class ContractManagementService extends BaseService {
|
|||||||
$api_listDetailed_page = `/api/sdc/contract/listDetailed/page`;
|
$api_listDetailed_page = `/api/sdc/contract/listDetailed/page`;
|
||||||
// 查询框架合同
|
// 查询框架合同
|
||||||
$api_listFrame_page = `/api/sdc/contract/listFrame/page`;
|
$api_listFrame_page = `/api/sdc/contract/listFrame/page`;
|
||||||
|
// 查询合伙人合同
|
||||||
|
$api_listPartner_page = `/api/sdc/contract/listPartner/page`;
|
||||||
// 获取订单合同表
|
// 获取订单合同表
|
||||||
$api_contract_get = `/api/sdc/contract/get`;
|
$api_contract_get = `/api/sdc/contract/get`;
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-29 14:51:07
|
* @Date : 2021-12-29 14:51:07
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-23 16:19:27
|
* @LastEditTime : 2022-02-24 11:10:33
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-rate\\modify-rate.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-rate\\modify-rate.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -42,7 +42,7 @@ export class VehicleModifyRateComponent implements OnInit {
|
|||||||
additionalRate: {
|
additionalRate: {
|
||||||
type: 'number',
|
type: 'number',
|
||||||
title: '附加费率',
|
title: '附加费率',
|
||||||
maximum: 100,
|
maximum: 99,
|
||||||
minimum: 0,
|
minimum: 0,
|
||||||
ui: {
|
ui: {
|
||||||
unit: '%',
|
unit: '%',
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-15 13:17:42
|
* @Date : 2021-12-15 13:17:42
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-22 15:40:02
|
* @LastEditTime : 2022-02-24 10:47:39
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\update-freight\\update-freight.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\update-freight\\update-freight.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -16,10 +16,11 @@
|
|||||||
<span style="font-weight: bolder"
|
<span style="font-weight: bolder"
|
||||||
>总运费:<span style="color: #dc112a">{{ data?.totalAmount | currency }}</span></span
|
>总运费:<span style="color: #dc112a">{{ data?.totalAmount | currency }}</span></span
|
||||||
>
|
>
|
||||||
(运输费:{{ data?.totalFreight | currency }},附加费:{{ data?.totalSurcharge | currency }},附加费率:{{ data?.totalRate * 100 + '%' }})
|
(运输费:{{ data?.totalFreight | currency }},附加费:{{ data?.totalSurcharge | currency }},附加费率:{{ (data?.totalRate * 100).toFixed(2) + '%' }})
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label nz-checkbox [(ngModel)]="aggreechecked">确认已阅读并知晓<a>《变更协议》</a></label>
|
<label nz-checkbox [(ngModel)]="aggreechecked"></label>
|
||||||
|
<span> 确认已阅读并知晓 <a target="_blank" [routerLink]="['/agreement']" [queryParams]="{ type: 11 }">《变更协议》</a></span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,13 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2021-12-27 21:08:36
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:50:46
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\passport\\components\\order-agreement\\order-agreement.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
<div class="page-box">
|
<div class="page-box">
|
||||||
<div style="width: 90%; margin: 5rem auto">
|
<div style="width: 90%; margin: 5rem auto">
|
||||||
<h1 class="mb-md mt-md">
|
<h1 class="mb-md mt-md">
|
||||||
|
|||||||
@ -19,6 +19,7 @@ import { AuthGuard } from '../core/guards/auth.guard';
|
|||||||
|
|
||||||
// dashboard pages
|
// dashboard pages
|
||||||
import { DashboardComponent } from './dashboard/dashboard.component';
|
import { DashboardComponent } from './dashboard/dashboard.component';
|
||||||
|
import { OrderAgreementComponent } from './passport/components/order-agreement/order-agreement.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{
|
{
|
||||||
@ -74,6 +75,11 @@ const routes: Routes = [
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
// passport
|
// passport
|
||||||
|
{
|
||||||
|
path: 'agreement',
|
||||||
|
component: OrderAgreementComponent,
|
||||||
|
data: { title: '协议', titleI18n: 'app.login.agreement' }
|
||||||
|
},
|
||||||
{ path: '', loadChildren: () => import('./passport/passport.module').then(m => m.PassportModule) },
|
{ path: '', loadChildren: () => import('./passport/passport.module').then(m => m.PassportModule) },
|
||||||
{ path: 'exception', loadChildren: () => import('./exception/exception.module').then(m => m.ExceptionModule) },
|
{ path: 'exception', loadChildren: () => import('./exception/exception.module').then(m => m.ExceptionModule) },
|
||||||
// 单页不包裹Layout
|
// 单页不包裹Layout
|
||||||
|
|||||||
@ -220,22 +220,12 @@
|
|||||||
<nz-card>
|
<nz-card>
|
||||||
<div class="card-title">服务信息</div>
|
<div class="card-title">服务信息</div>
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col nzSpan="18">
|
<div nz-col nzSpan="16">
|
||||||
<sf #sf55 [schema]="schema55" [button]="'none'" [ui]="ui55" [formData]="sf55data"></sf>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div nz-row [nzGutter]="24" style="margin-bottom: 24px">
|
|
||||||
<div nz-col [nzSpan]="10">
|
|
||||||
<div class="align-center">
|
|
||||||
<span style="font-weight: bolder; margin-right: 12px">购买货运险</span>
|
|
||||||
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<ng-template #template1>推荐投保,填写货值自动估保费,司机接单后不可退保。详见<a target="_blank" [queryParams]="{ type: 10 }" [routerLink]="['/passport/agreement']">《投保告知》</a></ng-template>
|
|
||||||
<div nz-row>
|
|
||||||
<div nz-col nzSpan="18">
|
|
||||||
<sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
|
<sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
|
||||||
|
<ng-template sf-template="freeInsurance" let-i let-ui="ui">
|
||||||
|
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template #template1>推荐投保,填写货值自动估保费,司机接单后不可退保。详见<a target="_blank" [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《投保告知》</a></ng-template>
|
||||||
<ng-template sf-template="goodsValue" let-i let-ui="ui">
|
<ng-template sf-template="goodsValue" let-i let-ui="ui">
|
||||||
<div class="align-center">
|
<div class="align-center">
|
||||||
<nz-input-number
|
<nz-input-number
|
||||||
|
|||||||
@ -122,7 +122,6 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
this.initSF3();
|
this.initSF3();
|
||||||
this.initSF4();
|
this.initSF4();
|
||||||
this.initSF5();
|
this.initSF5();
|
||||||
this.initSF55();
|
|
||||||
this.initSF6();
|
this.initSF6();
|
||||||
this.initSF7();
|
this.initSF7();
|
||||||
this.initdata();
|
this.initdata();
|
||||||
@ -386,21 +385,17 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
initSF55() {
|
initSF5() {
|
||||||
this.schema55 = {
|
this.schema5 = {
|
||||||
properties: {
|
properties: {
|
||||||
insuranceType: {
|
insuranceType: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '增值服务套餐',
|
title: '增值服务套餐',
|
||||||
enum: [
|
|
||||||
{ label: '不购买', value: '0' },
|
|
||||||
{ label: '套餐一', value: '1' },
|
|
||||||
{ label: '套餐二', value: '2' }
|
|
||||||
],
|
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select'
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'bill:insurance:type' },
|
||||||
},
|
},
|
||||||
default: '0'
|
default: '3'
|
||||||
},
|
},
|
||||||
type1: {
|
type1: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@ -423,34 +418,46 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
visibleIf: { insuranceType: (value: string) => value === '2' }
|
visibleIf: { insuranceType: (value: string) => value === '2' }
|
||||||
} as SFCheckboxWidgetSchema,
|
} as SFCheckboxWidgetSchema,
|
||||||
default: ['车辆实时定位', '轨迹查询', '数据保护', '专属技术服务', '赠送综合险']
|
default: ['车辆实时定位', '轨迹查询', '数据保护', '专属技术服务', '赠送综合险']
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.ui55 = {
|
|
||||||
'*': {
|
|
||||||
spanLabelFixed: 100,
|
|
||||||
grid: { span: 24 }
|
|
||||||
},
|
},
|
||||||
$insuranceType: {
|
freeInsurance: {
|
||||||
grid: { span: 12 }
|
type: 'string',
|
||||||
|
title: '赠送保险',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
visibleIf: { insuranceType: (value: string) => value !== '3' }
|
||||||
}
|
}
|
||||||
};
|
},
|
||||||
|
insurancePackagedGoods:{
|
||||||
|
type: 'string',
|
||||||
|
title: '货物包装',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'insure:packaged:goods' },
|
||||||
|
visibleIf: { insuranceType: (value: string) => value !== '3' }
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
hidenField:{
|
||||||
|
type: 'string',
|
||||||
|
title: '',
|
||||||
|
default:' ',
|
||||||
|
ui: {
|
||||||
|
widget:'text'
|
||||||
}
|
}
|
||||||
initSF5() {
|
},
|
||||||
this.schema5 = {
|
|
||||||
properties: {
|
|
||||||
goodsValue: {
|
goodsValue: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货物价值',
|
title: '货物价值',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom'
|
widget: 'custom',
|
||||||
|
visibleIf: { insuranceType: (value: string) => value !== '3' }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
insurancePremium: {
|
insurancePremium: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom'
|
widget: 'custom',
|
||||||
|
visibleIf: { insuranceType: (value: string) => value !== '3' }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
insuranceRate: {
|
insuranceRate: {
|
||||||
@ -460,12 +467,22 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
required: ['insurancePackagedGoods']
|
||||||
};
|
};
|
||||||
this.ui5 = {
|
this.ui5 = {
|
||||||
'*': {
|
'*': {
|
||||||
spanLabelFixed: 115,
|
spanLabelFixed: 115,
|
||||||
grid: { span: 12 }
|
grid: { span: 12 }
|
||||||
|
},
|
||||||
|
$type1:{
|
||||||
|
grid: { span: 24 }
|
||||||
|
},
|
||||||
|
$type2:{
|
||||||
|
grid: { span: 24 }
|
||||||
|
},
|
||||||
|
$freeInsurance:{
|
||||||
|
grid: { span: 24 }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -871,7 +888,6 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
loadingTime: this.validateForm1?.value?.loadingTime,
|
loadingTime: this.validateForm1?.value?.loadingTime,
|
||||||
unloadingTime: this.validateForm1?.value?.unloadingTime,
|
unloadingTime: this.validateForm1?.value?.unloadingTime,
|
||||||
unLoadingPlaceDTOList: [...this.startInfo, ...this.endInfo],
|
unLoadingPlaceDTOList: [...this.startInfo, ...this.endInfo],
|
||||||
insuranceType: this.sf55.value.insuranceType,
|
|
||||||
goodsInfoDTOList: [
|
goodsInfoDTOList: [
|
||||||
{
|
{
|
||||||
...this.sf4.value,
|
...this.sf4.value,
|
||||||
@ -1112,12 +1128,11 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
this.totalFees = res?.shippingInformationVO?.totalFee || '0';
|
this.totalFees = res?.shippingInformationVO?.totalFee || '0';
|
||||||
this.sf5data = {
|
this.sf5data = {
|
||||||
goodsValue: res?.goodsValue,
|
insuranceType: res?.insuranceType || '',
|
||||||
|
goodsValue: res?.goodsValue || '',
|
||||||
insurancePremium: res?.insurancePremium || '',
|
insurancePremium: res?.insurancePremium || '',
|
||||||
insuranceRate: res?.insuranceRate || ''
|
insuranceRate: res?.insuranceRate || '',
|
||||||
};
|
insurancePackagedGoods: res?.insurancePackagedGoods || '',
|
||||||
this.sf55data = {
|
|
||||||
insuranceType: res?.insuranceType || ''
|
|
||||||
};
|
};
|
||||||
this.sf6data = {
|
this.sf6data = {
|
||||||
stateReceipt: res?.stateReceipt,
|
stateReceipt: res?.stateReceipt,
|
||||||
|
|||||||
@ -219,26 +219,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<div class="card-title">服务信息</div>
|
<div class="card-title">服务信息</div>
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col nzSpan="18">
|
<div nz-col nzSpan="16">
|
||||||
<sf #sf55 [schema]="schema55" [button]="'none'" [ui]="ui55" [formData]="sf55data"></sf>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div nz-row [nzGutter]="24" style="margin-bottom: 24px">
|
|
||||||
<div nz-col [nzSpan]="10">
|
|
||||||
<div class="align-center">
|
|
||||||
<span style="font-weight: bolder; margin-right: 12px">购买货运险</span>
|
|
||||||
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<ng-template #template1>推荐投保,填写货值自动估保费,司机接单后不可退保。详见<a target="_blank" [queryParams]="{ type: 10 }" [routerLink]="['/passport/agreement']">《投保告知》</a></ng-template>
|
|
||||||
<div nz-row>
|
|
||||||
<div nz-col nzSpan="18">
|
|
||||||
<sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
|
<sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
|
||||||
|
<ng-template sf-template="freeInsurance" let-i let-ui="ui">
|
||||||
|
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template #template1>推荐投保,填写货值自动估保费,司机接单后不可退保。详见<a target="_blank" [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《投保告知》</a></ng-template>
|
||||||
<ng-template sf-template="goodsValue" let-i let-ui="ui">
|
<ng-template sf-template="goodsValue" let-i let-ui="ui">
|
||||||
<div class="align-center">
|
<div class="align-center">
|
||||||
<nz-input-number
|
<nz-input-number
|
||||||
|
|||||||
@ -116,7 +116,6 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
this.initSF3();
|
this.initSF3();
|
||||||
this.initSF4();
|
this.initSF4();
|
||||||
this.initSF5();
|
this.initSF5();
|
||||||
this.initSF55();
|
|
||||||
this.initSF6();
|
this.initSF6();
|
||||||
this.initSF7();
|
this.initSF7();
|
||||||
this.addStartInfo();
|
this.addStartInfo();
|
||||||
@ -399,18 +398,76 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
initSF5() {
|
initSF5() {
|
||||||
this.schema5 = {
|
this.schema5 = {
|
||||||
properties: {
|
properties: {
|
||||||
|
insuranceType: {
|
||||||
|
type: 'string',
|
||||||
|
title: '增值服务套餐',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'bill:insurance:type' },
|
||||||
|
},
|
||||||
|
default: '3'
|
||||||
|
},
|
||||||
|
type1: {
|
||||||
|
type: 'string',
|
||||||
|
title: '',
|
||||||
|
enum: ['车辆实时定位', '轨迹查询', '数据保护', '赠送基本险'],
|
||||||
|
readOnly: true,
|
||||||
|
ui: {
|
||||||
|
widget: 'checkbox',
|
||||||
|
visibleIf: { insuranceType: (value: string) => value === '1' }
|
||||||
|
} as SFCheckboxWidgetSchema,
|
||||||
|
default: ['车辆实时定位', '轨迹查询', '数据保护', '赠送基本险']
|
||||||
|
},
|
||||||
|
type2: {
|
||||||
|
type: 'string',
|
||||||
|
title: '',
|
||||||
|
enum: ['车辆实时定位', '轨迹查询', '数据保护', '专属技术服务', '赠送综合险'],
|
||||||
|
readOnly: true,
|
||||||
|
ui: {
|
||||||
|
widget: 'checkbox',
|
||||||
|
visibleIf: { insuranceType: (value: string) => value === '2' }
|
||||||
|
} as SFCheckboxWidgetSchema,
|
||||||
|
default: ['车辆实时定位', '轨迹查询', '数据保护', '专属技术服务', '赠送综合险']
|
||||||
|
},
|
||||||
|
freeInsurance: {
|
||||||
|
type: 'string',
|
||||||
|
title: '赠送保险',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
visibleIf: { insuranceType: (value: string) => value !== '3' }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
insurancePackagedGoods:{
|
||||||
|
type: 'string',
|
||||||
|
title: '货物包装',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'insure:packaged:goods' },
|
||||||
|
visibleIf: { insuranceType: (value: string) => value !== '3' }
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
hidenField:{
|
||||||
|
type: 'string',
|
||||||
|
title: '',
|
||||||
|
default:' ',
|
||||||
|
ui: {
|
||||||
|
widget:'text'
|
||||||
|
}
|
||||||
|
},
|
||||||
goodsValue: {
|
goodsValue: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货物价值',
|
title: '货物价值',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom'
|
widget: 'custom',
|
||||||
|
visibleIf: { insuranceType: (value: string) => value !== '3' }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
insurancePremium: {
|
insurancePremium: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'custom'
|
widget: 'custom',
|
||||||
|
visibleIf: { insuranceType: (value: string) => value !== '3' }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
insuranceRate: {
|
insuranceRate: {
|
||||||
@ -420,62 +477,22 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
required: ['insurancePackagedGoods']
|
||||||
};
|
};
|
||||||
this.ui5 = {
|
this.ui5 = {
|
||||||
'*': {
|
'*': {
|
||||||
spanLabelFixed: 115,
|
spanLabelFixed: 115,
|
||||||
grid: { span: 12 }
|
grid: { span: 12 }
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
initSF55() {
|
|
||||||
this.schema55 = {
|
|
||||||
properties: {
|
|
||||||
insuranceType: {
|
|
||||||
type: 'string',
|
|
||||||
title: '增值服务套餐',
|
|
||||||
enum: [
|
|
||||||
{ label: '不购买', value: '0' },
|
|
||||||
{ label: '套餐一', value: '1' },
|
|
||||||
{ label: '套餐二', value: '2' }
|
|
||||||
],
|
|
||||||
ui: {
|
|
||||||
widget: 'select'
|
|
||||||
},
|
},
|
||||||
default:'0'
|
$type1:{
|
||||||
},
|
|
||||||
type1: {
|
|
||||||
type: 'string',
|
|
||||||
title: '',
|
|
||||||
enum: ['车辆实时定位', '轨迹查询', '数据保护','赠送基本险'],
|
|
||||||
readOnly: true,
|
|
||||||
ui: {
|
|
||||||
widget: 'checkbox',
|
|
||||||
visibleIf: {insuranceType: (value: string) => value ==='1'},
|
|
||||||
} as SFCheckboxWidgetSchema,
|
|
||||||
default: ['车辆实时定位', '轨迹查询', '数据保护','赠送基本险'],
|
|
||||||
},
|
|
||||||
type2: {
|
|
||||||
type: 'string',
|
|
||||||
title: '',
|
|
||||||
enum: ['车辆实时定位', '轨迹查询', '数据保护','专属技术服务','赠送综合险'],
|
|
||||||
readOnly: true,
|
|
||||||
ui: {
|
|
||||||
widget: 'checkbox',
|
|
||||||
visibleIf: {insuranceType: (value: string) => value ==='2'},
|
|
||||||
} as SFCheckboxWidgetSchema,
|
|
||||||
default: ['车辆实时定位', '轨迹查询', '数据保护','专属技术服务','赠送综合险'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.ui55 = {
|
|
||||||
'*': {
|
|
||||||
spanLabelFixed: 100,
|
|
||||||
grid: { span: 24 }
|
grid: { span: 24 }
|
||||||
},
|
},
|
||||||
$insuranceType: {
|
$type2:{
|
||||||
grid: { span: 12 }
|
grid: { span: 24 }
|
||||||
|
},
|
||||||
|
$freeInsurance:{
|
||||||
|
grid: { span: 24 }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user