Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop

This commit is contained in:
潘晓云
2022-03-24 14:44:29 +08:00
12 changed files with 318 additions and 131 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-06 20:20:26
* @LastEditors : Shiming
* @LastEditTime : 2022-03-23 14:43:34
* @LastEditTime : 2022-03-24 14:08:55
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->

View File

@ -149,6 +149,13 @@ export class OrderManagementReceiptsAuditComponent implements OnInit {
placeholder: '最多100个单号空号隔开'
}
},
wayBillCode: {
type: 'string',
title: '运单号',
ui: {
placeholder: '最多100个运单空号隔开'
}
},
resourceCode: {
type: 'string',
title: '货源编号'
@ -162,6 +169,9 @@ export class OrderManagementReceiptsAuditComponent implements OnInit {
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
allowClear: true,
visibleIf: {
_$expand: (value: boolean) => value
},
onSearch: (q: any) => {
let str =q.replace(/^\s+|\s+$/g,"");
if (str) {
@ -272,13 +282,28 @@ export class OrderManagementReceiptsAuditComponent implements OnInit {
}
} as SFSelectWidgetSchema
},
billStatus: {
title: '运输状态',
type: 'string',
default: '',
ui: {
widget: 'dict-select',
params: { dictKey: 'bill:status' },
containsAllLabel: true,
visibleIf: {
_$expand: (value: boolean) => value
}
} as SFSelectWidgetSchema
},
loadingDocuments: {
type: 'string',
title: '装卸货凭证',
enum:[
{label: '全部',value: ''},
{label: '',value: '1'},
{label: '',value: '0'},
{label: '无装卸货凭证',value: '1'},
{label: '装卸货凭证齐全',value: '2'},
{label: '只有装货凭证',value: '3'},
{label: '只有卸货凭证',value: '4'},
],
ui: {
widget: 'select',

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-16 10:19:08
* @LastEditors : Shiming
* @LastEditTime : 2022-03-23 19:12:19
* @LastEditTime : 2022-03-24 14:12:14
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\risk-detail\\risk-detail.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -21,7 +21,7 @@
<sv label="申诉状态">
<span >{{i?.representationsStatusLabel}}</span>
</sv>
<sv label="承运司机">{{i?.driverName ? i?.driverName + '/': ''}} {{i?.driverPhone ?i?.driverPhone + '/': '' }} {{i?.carId}}</sv>
<sv label="承运司机">{{i?.driverName ? i?.driverName + '/': ''}} {{i?.driverPhone ?i?.driverPhone + '/': '' }} {{i?.carNo}}</sv>
<sv label="车队长"> {{i?.carCaptainName ? i?.carCaptainName+ '/' : ''}}{{i?.carCaptainPhone}} </sv>
<sv label="装货时间">{{i?.loadTime}}</sv>
<sv label="卸货时间">{{i?.unloadTime}}</sv>

View File

@ -147,11 +147,54 @@ export class SupplyManagementVehicleComponent implements OnInit {
this.st.load(1);
}, 500);
}
/**
* 导入货源
*/
importGoodsSource() { }
importGoodsSource() {
const modalRef = this.modal.create({
nzTitle: '货源导入',
nzWidth: 600,
nzContent: SupplyManagementImportSupplyComponent,
nzComponentParams: {
// i: item
},
nzFooter: null
});
modalRef.afterClose.subscribe(result => {
if (result) {
const tipsModal = this.modal.create({
nzTitle: '上传提示',
nzWidth: 600,
nzContent: `<div>文件上传完成!成功<span class="text-blue-dark">${result?.successNumber}</span>条,失败<span class="text-red-dark">${result?.failNumber}</span>条!</div>`,
nzFooter: [
{
label: '取 消',
type: 'default',
onClick: () => {
tipsModal.destroy();
}
},
{
label: '下载失败数据',
type: 'primary',
onClick: () => {
if(!result?.failNumber) {
this.service.msgSrv.error('没有失败数据!');
return;
}
this.service.request(this.service.$api_getFailUploadGoodsOperateResource, result.ids).subscribe((res: any) => {
if(res) {
console.log(res);
}
})
console.log(111);
}
},
]
})
}
});
}
/**
* 修改运费

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-24 15:54:08
* @LastEditors : Shiming
* @LastEditTime : 2022-02-17 19:58:06
* @LastEditTime : 2022-03-24 11:10:44
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\network-freight\\network-freight.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -96,7 +96,7 @@
</st>
</nz-card>
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="财务设置" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
<!-- <nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="财务设置" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
<ng-container *nzModalContent>
<sf #sfFre [schema]="addSchema" [ui]="ui2" [formData]="formData" [compact]="false" [button]="'none'"> </sf>
</ng-container>
@ -104,7 +104,7 @@
<button nz-button nzType="primary" (click)="handleCancel()" [disabled]="">取消</button>
<button nz-button nzType="default" (click)="handleOK()">确 定</button>
</ng-template>
</nz-modal>
</nz-modal> -->
<nz-modal [(nzVisible)]="isVisibleTicket" [nzFooter]="nzModalFooterTiket" nzTitle="财务设置" (nzOnCancel)="handleCancelTicket()">
<ng-container *nzModalContent>
@ -117,9 +117,11 @@
</ul>
</div>
<div nz-col [nzSpan]="18" style="overflow: scroll">
<sf #sfTicket [schema]="ticketSchema" [ui]="ui3" *ngIf="!taxStatus" [formData]="formDataTicket" [compact]="false" [button]="'none'">
<sf #sfTicket [schema]="ticketSchema" [ui]="ui3" *ngIf="TicketStatus" [formData]="formDataTicket" [compact]="false" [button]="'none'">
</sf>
<sf #sfTax [schema]="TaxSchema" [ui]="ui4" *ngIf="taxStatus" [formData]="formDataTax" [compact]="false" [button]="'none'"> </sf>
<sf #sfNC [schema]="NCSchema" [ui]="ui5" *ngIf="NCStatus" [formData]="formDataNC" [compact]="false" [button]="'none'"> </sf>
</div>
</div>
</ng-container>

View File

@ -1,10 +1,11 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { STComponent, STColumn, STChange } from '@delon/abc/st';
import { SFCascaderWidgetSchema, SFComponent, SFRadioWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { SFCascaderWidgetSchema, SFComponent, SFRadioWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { DynamicSettingModalComponent, SinglepageSettingModalComponent } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { takeLast } from 'rxjs/operators';
import { of } from 'rxjs';
import { map, takeLast } from 'rxjs/operators';
import { AccountDetailComponent } from 'src/app/shared/components/account-detail/account-detail.component';
import { SystemService } from '../../services/system.service';
@ -20,26 +21,33 @@ export class NetworkFreightComponent implements OnInit {
@ViewChild('sfFre', { static: false }) sfFre!: SFComponent;
@ViewChild('sfTicket', { static: false }) sfTicket!: SFComponent;
@ViewChild('sfTax', { static: false }) sfTax!: SFComponent;
@ViewChild('sfNC', { static: false }) sfNC!: SFComponent;
ui: SFUISchema = {};
ui2: SFUISchema = {};
ui3: SFUISchema = {};
ui4: SFUISchema = {};
ui5: SFUISchema = {};
schema: SFSchema = {};
addSchema: SFSchema = {};
ticketSchema: SFSchema = {};
TaxSchema: SFSchema = {};
_$expand = false;
taxStatus = false;
NCSchema: SFSchema = {};
_$expand :boolean= false;
taxStatus :boolean= false;
TicketStatus :boolean= true;
NCStatus :boolean = false;
formData: any;
ticketId: any;
ticketItem: any;
formDataTicket: any;
formDataNC: any;
formDataTax: any;
NCID: string = '';
isVisible = false;
isVisibleTicket = false;
edit = false;
editId = false;
tabs: any[] = [{ name: '开票设置' }, { name: '税务设置' }];
tabs: any[] = [{ name: '开票设置' }, { name: '税务设置' }, { name: 'NC设置' }];
columns: STColumn[] = [
{
@ -350,6 +358,42 @@ export class NetworkFreightComponent implements OnInit {
};
this.ui4 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
}
initSFNC() {
this.NCSchema = {
properties: {
crmCustomerId: {
type: 'string',
title: 'CRM客户编码',
ui: {
widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
visibleIf: {
_$expand: (value: boolean) => value
},
allowClear: true,
onSearch: (q: any) => {
let str = q.replace(/^\s+|\s+$/g, '');
if (str) {
console.log(str);
return this.service
.request(this.service.$api_get_crmCustomer_page, { customerName: str })
.pipe(map((res: any) => (res.records as any[]).map(i => ({ label: i.customerName, value: i.id } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
}
} as SFSelectWidgetSchema
},
},
required: ['crmCustomerId']
};
this.ui5 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
}
initSFFre() {
this.addSchema = {
properties: {
@ -397,36 +441,44 @@ export class NetworkFreightComponent implements OnInit {
// 财务设置
ticket(value: any) {
this.formDataTicket = [];
this.formDataNC = [];
this.formDataTax = [];
this.ticketItem = value;
this.taxStatus = false
this.TicketStatus = true
this.NCStatus = false
this.initSFTax();
this.initSFNC();
this.initSFTicket();
this.service.request(this.service.$api_getTicketByNetworkTransporterId, { id: value.id }).subscribe((res: any) => {
console.log(res);
if (res) {
let List = {
...res
};
delete List.senderRegionCode;
(List.senderRegionCode = this.getProvinceData(res?.senderRegionCode)), (this.formDataTicket = List);
this.ticketId = res.id;
}
});
this.NCID = value.id;
if(this.TicketStatus) {
console.log('9999999');
this.service.request(this.service.$api_getTicketByNetworkTransporterId, { id: value.id }).subscribe((res: any) => {
console.log(res);
if (res) {
let List = {
...res
};
delete List.senderRegionCode;
(List.senderRegionCode = this.getProvinceData(res?.senderRegionCode)), (this.formDataTicket = List);
this.ticketId = res.id;
}
});
}
this.isVisibleTicket = true;
}
getProvinceData(value: any) {
this.service.http.post(this.service.$api_getRegionDetailByCode, { regionCode: value }).subscribe(res => {
console.log(res.data);
console.log(this.formDataTicket);
let enterpriseAddressCode: any = [];
let regioin = res?.data?.regionFullCodes.split(',');
console.log(regioin);
regioin?.forEach((element: any) => {
enterpriseAddressCode.push(Number(element));
});
console.log(enterpriseAddressCode);
this.sfTicket.setValue('/senderRegionCode', enterpriseAddressCode);
return enterpriseAddressCode;
if(this.TicketStatus) {
this.sfTicket.setValue('/senderRegionCode', enterpriseAddressCode);
return enterpriseAddressCode;
}
});
}
deleteAction(item?: any) {
@ -517,27 +569,56 @@ export class NetworkFreightComponent implements OnInit {
this.isVisibleTicket = false;
}
handleOKTicket() {
console.log(this.sfTicket.valid);
console.log(this.sfTicket.value);
if (!this.sfTicket.valid) {
this.service.msgSrv.warning('请正确填写完整!');
return;
}
const params = {
...this.sfTicket.value
};
if (this.ticketId) {
params.id = this.ticketId;
}
params.senderRegionCode = this.sfTicket.value.senderRegionCode[2];
console.log(params);
this.service.request(this.service.$api_networkTransporterTicket_save, params).subscribe((res: any) => {
if (res) {
this.service.msgSrv.success('保存成功!');
this.isVisibleTicket = false;
this.st.reload(1);
console.log( this.taxStatus, this.TicketStatus,this.NCStatus);
if(this.TicketStatus) {
console.log(this.sfTicket);
console.log(this.sfTicket.value);
if (!this.sfTicket.valid) {
this.service.msgSrv.warning('请正确填写完整!');
return;
}
});
const params = {
...this.sfTicket.value
};
if (this.ticketId) {
params.id = this.ticketId;
}
params.senderRegionCode = this.sfTicket.value.senderRegionCode[2];
console.log(params);
this.service.request(this.service.$api_networkTransporterTicket_save, params).subscribe((res: any) => {
if (res) {
this.service.msgSrv.success('保存成功!');
this.isVisibleTicket = false;
this.st.reload(1);
}
});
} else if(this.NCStatus){
console.log(this.sfNC);
console.log(this.formDataNC);
console.log(this.sfNC?.value);
if (!this.sfNC.valid) {
this.service.msgSrv.warning('请正确填写完整!');
return;
}
const params = {
...this.sfNC.value
};
if (this.NCID) {
params.id = this.NCID;
}
console.log(params);
this.service.request(this.service.$api_setCrmCustomer, params).subscribe((res: any) => {
if (res) {
this.service.msgSrv.success('保存成功!');
this.isVisibleTicket = false;
this.st.reload(1);
}
});
// api_setCrmCustomer
}
}
handleOK() {
@ -571,11 +652,19 @@ export class NetworkFreightComponent implements OnInit {
return this.service.request(this.service.$api_get_region_by_code, { regionCode });
}
changeType(value: any) {
console.log(value);
if (value.name === '税务设置') {
this.taxStatus = true;
} else {
this.TicketStatus = false;
this.NCStatus = false;
} else if (value.name === '开票设置'){
this.TicketStatus = true;
this.NCStatus = false;
this.taxStatus = false;
} else if (value.name === 'NC设置'){
this.NCStatus = true;
this.TicketStatus = false;
this.taxStatus = false;
}
}
// 新增

View File

@ -173,6 +173,8 @@ export class SystemService extends BaseService {
$api_ocr_recognize_id_card = '/api/mdc/pbc/hwc/ocr/recognizeIdCard';
// 获取字典
$api_getDictValue = '/api/mdc/pbc/dictItems/getDictValue';
// 设置crm客户
$api_setCrmCustomer = '/api/mdc/cuc/networkTransporter/setCrmCustomer';
// 获取一、二、三级地区详情
$api_getRegionToThree = '/api/mdc/pbc/region/getRegionToThree';
$api_getRoleTemplateInfo: string = '';

View File

@ -1,7 +1,17 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-03-14 14:17:38
* @LastEditors : Shiming
* @LastEditTime : 2022-03-24 14:17:55
* @FilePath : \\tms-obc-web\\src\\app\\routes\\usercenter\\components\\driver\\captain\\add\\add.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<div class="modal-header">
<div class="modal-title">添加车队长</div>
</div>
<div>
<div [ngClass]="i.id || readFlag ? 'hideBtn' : ''">
<sf #sf [compact]="true" [ui]="ui" [schema]="schema" [button]="'none'">
<ng-template sf-template="tipsA" let-me let-ui="ui" let-schema="schema">
<div class="pr">
@ -24,7 +34,6 @@
</sf>
</div>
<div class="modal-footer">
<button nz-button type="button" (click)="close()" *ngIf="i.id === ''">取消</button>
<button nz-button type="button" (click)="close()" *ngIf="i.id">关闭</button>
<button nz-button type="button" nzType="primary" (click)="sure()" [disabled]="!sf?.valid" *ngIf="i.id === ''">确定</button>
<button nz-button type="button" (click)="close()">取消</button>
<button nz-button type="button" nzType="primary" (click)="sure()" [disabled]="!sf?.valid" [nzLoading]="service.http.loading">确定</button>
</div>

View File

@ -1,36 +1,41 @@
.pr {
position: relative;
position: relative;
}
.pa {
position: absolute;
top: 35px;
left: 150px;
img{border: solid 1px #ebf0fb;}
}
.tips {
display: flex;
margin-bottom: 0;
color: #333;
dt {
width: 150px;
}
.pa {
position: absolute;
top: 35px;
left: 150px;
img{border: solid 1px #ebf0fb;}
}
.tips {
display: flex;
dd {
width: 190px;
margin-bottom: 0;
color: #333;
dt {
width: 150px;
}
dd {
width: 190px;
margin-bottom: 0;
text-align: center;
}
text-align: center;
}
:host{
::ng-deep {
.ant-input-borderless{
padding: 0;
padding-top: 4px;
color: black;
resize:none;
}
:host{
::ng-deep {
.ant-input-borderless{
padding: 0;
padding-top: 4px;
color: black;
resize:none;
}
.hideBtn .ant-upload-list-item-actions button{
&:last-child{
display: none;
}
}
}
}

View File

@ -90,12 +90,13 @@ export class CtcCaptatinAddComponent implements OnInit {
widget: this.i.id ? 'text' : '',
placeholder: '请输入手机号',
blur: () => {
if(this.sf?.value?.mobile) {
if(!this.sf.value.mobile) {
return
}
this.service.request(this.service.$api_getByMobile, { mobile: this.sf.value.mobile }).subscribe(res => {
if (res.certificateNumber) {
this.readFlag = true
this.detailData = {
...res,
mobile: this.sf.value.mobile,
bankName: this.sf.value.bankName,
bankCardNo: this.sf.value.bankCardNo,
@ -109,28 +110,41 @@ export class CtcCaptatinAddComponent implements OnInit {
url: res.certificatePhotoFrontWatermark,
response: res.certificatePhotoFrontWatermark,
}],
certificatePhotoBackWatermark: [
{
uid: -1,
name: 'LOGO',
status: 'done',
url: res.certificatePhotoBackWatermark,
response: res.certificatePhotoBackWatermark,
}],
name: res.name,
certificateNumber: res.certificateNumber,
certificatePhotoFront: res.certificatePhotoFront,
certificatePhotoBack: res.certificatePhotoBack,
certificatePhotoBackWatermark: [
{
uid: -1,
name: 'LOGO',
status: 'done',
url: res.certificatePhotoBackWatermark,
response: res.certificatePhotoBackWatermark,
}],
name: res.name,
certificateNumber: res.certificateNumber,
certificatePhotoFront: res.certificatePhotoFront,
certificatePhotoBack: res.certificatePhotoBack,
}
}
this.initSF()
} else {
this.readFlag = false
this.detailData = {}
this.detailData = {
mobile: this.sf.value.mobile,
bankName: this.sf.value.bankName,
bankCardNo: this.sf.value.bankCardNo,
remark: this.sf.value.remark,
identityInfoDTO: {
certificatePhotoFrontWatermark: '',
certificatePhotoBackWatermark: '',
name: '',
certificateNumber: '',
certificatePhotoFront: '',
certificatePhotoBack: '',
}
}
this.initSF()
}
})
}
}
}
},
default: this.detailData.mobile
},
@ -138,7 +152,7 @@ export class CtcCaptatinAddComponent implements OnInit {
title: '姓名',
type: 'string',
ui: {
widget: this.i.id ? 'text' : '',
widget: this.i.id && (this.i.driverLicenseStatus === 10 || this.i.driverLicenseStatus === 20) ? 'text' : '',
placeholder: '请输入姓名',
},
readOnly: this.readFlag,
@ -147,12 +161,11 @@ export class CtcCaptatinAddComponent implements OnInit {
bankCardNo: {
title: '银行卡号',
type: 'string',
maxLength: 20,
ui: {
widget: this.i.id ? 'text' : '',
widget: '',
placeholder: '请输入银行卡号',
change: (val: any) =>{
const value = val.replace(/\D/g,'')
change: (val: any) => {
const value = val.replace(/\D/g, '')
this.sf.setValue('/bankCardNo', value)
},
errors: {
@ -164,9 +177,8 @@ export class CtcCaptatinAddComponent implements OnInit {
bankName: {
title: '开户行',
type: 'string',
maxLength: 35,
ui: {
widget: this.i.id ? 'text' : '',
widget: '',
placeholder: '请输入开户行',
},
default: this.detailData.bankName
@ -178,7 +190,7 @@ export class CtcCaptatinAddComponent implements OnInit {
ui: {
widget: 'textarea',
showRequired: true,
borderless:true,
borderless: true,
},
default: '请上传身份证原件的高清照片,若上传复印件,则需加盖公司印章及法人签字;上传后系统会自动识别并填写',
},
@ -193,11 +205,11 @@ export class CtcCaptatinAddComponent implements OnInit {
certificatePhotoFrontWatermark: {
type: 'string',
title: '',
readOnly: this.i.id || this.readFlag,
readOnly: (this.i.id && (this.i.driverLicenseStatus === 10 || this.i.driverLicenseStatus === 20)) || this.readFlag,
ui: {
offsetControl: 6,
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
@ -212,10 +224,10 @@ export class CtcCaptatinAddComponent implements OnInit {
listType: 'picture-card',
change: (args: any) => {
if (args.type === 'success') {
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
this.detailData.identityInfoDTO.certificatePhotoFront = args.file.response.data.fullFilePath
this.checkIdCard(args.file.response.data.fullFilePath, 'front');
} else {
this.detailData.certificatePhotoFront = ''
this.detailData.identityInfoDTO.certificatePhotoFront = ''
}
},
beforeUpload: (file: any, _fileList: any) => {
@ -230,6 +242,7 @@ export class CtcCaptatinAddComponent implements OnInit {
observer.complete();
});
},
previewFile: (file: any) => { }
},
default: this.detailData.identityInfoDTO.certificatePhotoFrontWatermark
},
@ -244,11 +257,11 @@ export class CtcCaptatinAddComponent implements OnInit {
certificatePhotoBackWatermark: {
type: 'string',
title: '',
readOnly: this.i.id || this.readFlag,
readOnly: (this.i.id && (this.i.driverLicenseStatus === 10 || this.i.driverLicenseStatus === 20)) || this.readFlag,
ui: {
offsetControl: 6,
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
@ -263,9 +276,9 @@ export class CtcCaptatinAddComponent implements OnInit {
listType: 'picture-card',
change: (args: any) => {
if (args.type === 'success') {
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath
this.detailData.identityInfoDTO.certificatePhotoBack = args.file.response.data.fullFilePath
} else {
this.detailData.certificatePhotoBack = ''
this.detailData.identityInfoDTO.certificatePhotoBack = ''
}
},
beforeUpload: (file: any, _fileList: any) => {
@ -280,15 +293,16 @@ export class CtcCaptatinAddComponent implements OnInit {
observer.complete();
});
},
previewFile: (file: any) => { }
},
default: this.detailData.identityInfoDTO.certificatePhotoBackWatermark
},
certificateNumber: {
title: '身份证号',
type: 'string',
readOnly: this.readFlag,
readOnly: (this.i.id && (this.i.driverLicenseStatus === 10 || this.i.driverLicenseStatus === 20)) || this.readFlag,
ui: {
widget: this.i.id ? 'text' : '',
widget: this.i.id && (this.i.driverLicenseStatus !== 10 && this.i.driverLicenseStatus !== 20) ? 'text' : '',
placeholder: '请输入身份证号',
},
default: this.detailData.identityInfoDTO.certificateNumber
@ -298,7 +312,7 @@ export class CtcCaptatinAddComponent implements OnInit {
type: 'string',
maxLength: 100,
ui: {
widget: this.i.id ? 'text' : 'textarea',
widget: 'textarea',
placeholder: '请输入备注',
autosize: { minRows: 2, maxRows: 6 },
},

View File

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-12-03 15:31:52
* @LastEditTime : 2022-03-11 17:27:42
* @LastEditTime : 2022-03-24 13:51:41
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\bulk-detail\\bulk-detail.component.html
@ -27,12 +27,11 @@
<div sv-container>
<sv label="网络货运人">{{ i?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.shippername }} </sv>
<sv label="所属项目">{{i?.enterpriseProject}}</sv>
<sv label="所属项目">{{i?.enterpriseProjectName}}</sv>
<sv label="服务类型">{{i?.serviceTypeLabel}}</sv>
<sv label="调度员">{{i?.dispatchName}} /{{i?.dispatchPhone}}</sv>
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
<sv label="货源编号">{{ i?.resourceCode }} </sv>
<sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
<sv label="承诺付款天数">{{ i?.paymentDays }}</sv>
</div>
<nz-tabset style="margin-top: 15px;">

View File

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-12-03 15:31:52
* @LastEditTime : 2022-03-11 16:39:50
* @LastEditTime : 2022-03-24 13:49:56
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.html
@ -27,12 +27,11 @@
<div sv-container>
<sv label="网络货运人">{{ i?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.shippername }} </sv>
<sv label="所属项目">{{i?.enterpriseProject}}</sv>
<sv label="所属项目">{{i?.enterpriseProjectName}}</sv>
<sv label="服务类型">{{i?.serviceTypeLabel}}</sv>
<sv label="调度员">{{i?.dispatchName}} /{{i?.dispatchPhone}}</sv>
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
<sv label="货源编号">{{ i?.resourceCode }} </sv>
<sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
<sv label="承诺付款天数">{{ i?.paymentDays }}</sv>
</div>
<nz-tabset style="margin-top: 15px;">