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

This commit is contained in:
潘晓云
2022-03-02 15:52:33 +08:00
38 changed files with 493 additions and 404 deletions

View File

@ -13,12 +13,20 @@
<div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
<div nz-col nzSpan="10">
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
<<<<<<< HEAD <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
=======
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
>>>>>>> 82c3801cc6ea10d8f6b895d85fe5553850672cea
</div>
</div>
<div class="mt-sm mb-sm" nz-row>
@ -40,13 +48,14 @@
<div class="approval-status">
<div style="width: 60%; margin: 0 auto">
<nz-steps style="width: 70%; margin: 0 auto" [nzLabelPlacement]="'vertical'">
<nz-step [nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" nzIcon="solution" nzTitle="下单"
[nzDescription]="i?.createTime"></nz-step>
<nz-step [nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" nzIcon="solution"
[nzDescription]="i?.createAt" nzTitle="下单" [nzSubtitle]="i?.createTime"></nz-step>
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'"
[nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'" nzIcon="file-done"
[nzTitle]="i?.resourceStatus === '2' ? '已完结' : '完结'" [nzDescription]="i?.endTime"></nz-step>
[nzTitle]="i?.resourceStatus === '2' ? '已完结' : '完结'" [nzSubtitle]="i?.endTime"></nz-step>
<nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'"
[nzDescription]="i?.endTime"></nz-step>
[nzSubtitle]="i?.endTime"></nz-step>
</nz-steps>
</div>
</div>

View File

@ -75,6 +75,9 @@
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="loading"
>
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<!--运费单价 -->
<ng-template st-row="freightPrice" let-item let-index="index">
<div class="mr-xs">{{ item?.freightPrice | currency }} </div>

View File

@ -255,6 +255,7 @@ export class SupplyManagementBulkComponent implements OnInit {
className: 'text-left',
render: 'resourceCode'
},
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '220px', className: 'text-left' },
{ title: '项目名称', index: 'enterpriseProjectName', width: '220px', className: 'text-left' },
{ title: '关联订单', render: 'orderSn', width: '200px', className: 'text-left' },

View File

@ -4,48 +4,35 @@
* @Author : Shiming
* @Date : 2022-01-12 10:52:50
* @LastEditors : Shiming
* @LastEditTime : 2022-01-18 17:27:53
* @LastEditTime : 2022-03-02 14:27:20
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\choose-famifiar\\choose-famifiar.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<button nz-button nzType="primary" style="margin-bottom: 24px" (click)="add()"><i nz-icon nzType="plus"></i>添加司机</button>
<!-- <button nz-button nzType="primary" style="margin-bottom: 24px" (click)="add()"><i nz-icon nzType="plus"></i>添加司机</button> -->
<!-- 搜索区 -->
<div nz-row nzGutter="8">
<div nz-col [nzSpan]="12">
<div nz-row nzGutter="8">
<div nz-col [nzSpan]="18">
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'"></sf>
</div>
<div nz-col [nzSpan]="6">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button>
</div>
</div>
<div nz-col [nzSpan]="18">
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'"></sf>
</div>
<div nz-col [nzSpan]="6">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button>
</div>
</div>
<div nz-row nzGutter="8">
<div nz-col [nzSpan]="12">
<!-- 数据列表 -->
<st
#st
*ngIf="columns"
[bordered]="true"
[data]="service.$api_getList_card"
[columns]="columns"
size="small"
<st #st [bordered]="true" [data]="service.$api_getListCars" [columns]="columns" size="small"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: reqProcess }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading"
[widthMode]="{ type: 'strict' }"
[scroll]="{ x: '600px' }"
style="margin-top: 22px; width: 100%"
>
[loadingDelay]="500" [loading]="service.http.loading" [widthMode]="{ type: 'strict' }" [scroll]="{ x: '600px' }"
style="margin-top: 22px">
<ng-template st-row="userCarLicenseDesensitizationVOList" let-item let-index="index">
<nz-select [(ngModel)]="item.default" (ngModelChange)="carChange($event, item)" style="width: 100%">
<nz-option nzValue="" nzLabel="不限"></nz-option>
<nz-option [nzValue]="cart" [nzLabel]="cart.carNo" *ngFor="let cart of item.userCarLicenseDesensitizationVOList"> </nz-option>
<nz-option [nzValue]="cart" [nzLabel]="cart.carNo"
*ngFor="let cart of item.userCarLicenseDesensitizationVOList"> </nz-option>
</nz-select>
</ng-template>
</st>
@ -53,21 +40,18 @@
<div nz-col [nzSpan]="12">
<!-- 选中列表 -->
<div>已选择{{ st2Data.length }}位司机</div>
<st
#st2
*ngIf="columns2"
[bordered]="true"
[data]="st2Data"
[columns]="columns2"
size="small"
[page]="{ show: false }"
[scroll]="{ x: '600px', y: '300px' }"
style="width: 100%"
>
<st #st2 [bordered]="true" [data]="st2Data" [columns]="columns2" size="small"
[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] }"
[loadingDelay]="500" [loading]="service.http.loading" [widthMode]="{ type: 'strict' }" [scroll]="{ x: '600px' }">
<ng-template st-row="captain" let-item let-index="index">
<span>{{ item.captainName }}&nbsp;{{ item.captainPhone }}</span> &nbsp;
<a (click)="setCaptain(item, index)">设置</a>
</ng-template>
<ng-template st-row="defaultCar" let-item let-index="index">
{{item.default?.carNo}}
</ng-template>
</st>
</div>
</div>

View File

@ -3,7 +3,7 @@ import { ActivatedRoute, Router } from '@angular/router';
import { STChange, STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { ModalHelper } from '@delon/theme';
import { processSingleSort } from '@shared';
import { EAEnvironmentService, processSingleSort } from '@shared';
import { NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer';
import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal';
import { SupplyManagementAddDriversComponent } from 'src/app/routes/supply-management/components/add-drivers/add-drivers.component';
@ -37,7 +37,7 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
submitUrl = '';
@Input()
submitParams = {};
submitParams:any;
constructor(
private modal: NzModalRef,
@ -47,8 +47,8 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
public service: SupplyManagementService,
private modalService: NzModalService,
private modalHelper: ModalHelper,
private cdr: ChangeDetectorRef
) {}
private envSrv: EAEnvironmentService
) { }
/**
* 查询参数
@ -61,26 +61,23 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
}
ngOnInit() {
this.initSF();
setTimeout(() => {
this.initST();
this.initST2();
}, 200);
this.initST();
this.initST2();
}
initSF() {
this.schema = {
properties: {
name: {
nameOrPhone: {
type: 'string',
title: '',
title: '承运司机',
ui: {
placeholder: '请输入司机姓名/手机号'
}
},
name2: {
carNo: {
type: 'string',
title: '',
title: '车牌号',
ui: {
placeholder: '请输入车牌号'
}
@ -98,13 +95,11 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
this.columns = [
{
title: '司机姓名',
index: 'name',
width: 120
index: 'name'
},
{
title: '手机号',
index: 'telephone',
width: 120
index: 'telephone'
},
{
title: '指定车辆',
@ -115,7 +110,6 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
title: '状态',
className: 'text-center',
index: 'certificationStatus',
width: 120,
type: 'badge',
badge: {
'-1': { text: '未提交', color: 'default' },
@ -127,12 +121,11 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
{
title: '操作',
className: 'text-center',
width: 80,
buttons: [
{
text: '选择',
iif: item => item.showChoose != false,
click: (_record, _modal, _instance) => this.choose(_record),
click: (_record, _modal, _instance) => this.verifyVechicleStatus(_record),
iifBehavior: 'disabled'
}
]
@ -145,7 +138,7 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
{
title: '司机姓名',
index: 'name',
width: 120
width: '90px'
},
{
title: '手机号',
@ -155,17 +148,17 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
{
title: '车队长',
render: 'captain',
width: '100px'
width: '200px'
},
{
title: '指定车辆',
index: 'carNo',
render: 'defaultCar',
width: '130px'
},
{
title: '操作',
className: 'text-center',
width: 80,
width: '90px',
buttons: [
{
text: '移除',
@ -198,6 +191,23 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
});
}
/**
* 校验司机是否能设置车队长
* @param item 当前对象
*/
verifyCanSetCarCaptain(item: any, index: any) {
this.service.request(this.service.$api_get_sys_config, [{ itemKey: 'sys.config.shipper.setCarCaptain', businessId: this.envSrv.env.enterpriseId }]).subscribe(res => {
if (res && res.length > 0) {
const { itemValue } = res[0];
if (itemValue !== '1') {
this.service.msgSrv.error('不可设置车队长!');
return;
}
this.setCaptain(item, index);
}
})
}
//设置车队长
setCaptain(record: STData, index: any) {
this.modalHelper
@ -260,5 +270,53 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
});
}
carChange(event: any, item: STData) {}
carChange(event: any, item: STData) {
}
/**
* 验证车辆的状态
*/
verifyVechicleStatus(_record: STData) {
const { carId, appUserId: driverId, captainAppUserId: carCaptainId } = _record;
const carInfo: any = { carId, driverId, carCaptainId };
const goodsInfoList = this.submitParams?.goodsInfoList;
this.service.request(this.service.$api_verify_vehicle_status, { ...carInfo, goodsInfoList }).subscribe((res: any) => {
if (res) {
const { title, alert, subContent, content } = res;
switch (alert) {
case 'Error':
this.error(title, content, subContent);
break;
case 'Warn':
this.showConfirm(_record, title, content, subContent);
break;
case 'Success':
this.choose(_record);
break;
}
}
});
}
error(title: string, content: string, subContent: string): void {
this.modalService.error({
nzTitle: title,
nzContent: `<span class="text-error-dark">${content ? content : ''}</span><span class="text-grey-dark">${subContent ? subContent : ''}</span>`,
nzOkText: '知道了'
});
}
showConfirm(_record: STData, title: string, content: string, subContent: string): void {
this.modalService.confirm({
nzTitle: title,
nzContent: `<span class="text-error-dark">${content ? content : ''}</span><span class="text-grey-dark">${subContent ? subContent : ''}</span>`,
nzOkText: '继续',
nzCancelText: '取消',
nzOnOk: () => {
this.choose(_record);
}
});
}
}

View File

@ -1,3 +1,13 @@
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2021-12-06 15:17:52
* @LastEditors : Shiming
* @LastEditTime : 2022-03-02 14:29:12
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\choose-famifiar\\set-captain\\set-captain.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { AfterViewInit, ChangeDetectorRef, Component, OnChanges, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { SFComponent, SFSchema, SFSchemaEnumType, SFUISchema } from '@delon/form';
@ -16,7 +26,7 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit {
i: any;
constructor(public http: _HttpClient, private cdr: ChangeDetectorRef, private route: ActivatedRoute) {}
constructor(public http: _HttpClient, private cdr: ChangeDetectorRef, private route: ActivatedRoute, private modal: NzModalRef,) {}
ngOnInit(): void {
this.initSF();
@ -24,12 +34,11 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit {
initSF() {
this.schema = {
properties: {
name: {
captainPhone: {
type: 'string',
title: '车队长手机号'
}
},
required: ['name']
};
this.ui = {
'*': {
@ -39,6 +48,6 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit {
};
}
close() {}
save() {}
close() {this.modal.close()}
save() {this.modal.close(this.sf.value.captainPhone)}
}

View File

@ -7,34 +7,44 @@
</ng-template>
<ng-template #headerContent>
<div class="mb-xs" nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.resourceStatusLabel}}</button>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
</div>
<div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{i?.enterpriseInfoName}}</div>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
<div nz-col nzSpan="10">
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
<<<<<<< HEAD <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
<button nz-button (click)="updateGoodsSource(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
<button nz-button (click)="updateGoodsSource(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
=======
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
<button nz-button (click)="updateGoodsSource(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
>>>>>>> 82c3801cc6ea10d8f6b895d85fe5553850672cea
</div>
</div>
<div class="mt-sm mb-sm" nz-row>
<div>
<b>总费用:<span class="text-red-light text-md">{{i?.totalAmount | currency: '¥'}}</span></b>
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b>
</div>
</div>
<nz-divider></nz-divider>
<div sv-container *ngIf="i">
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
<sv label="项目">{{i?.enterpriseProjectName}}</sv>
<sv label="录单员">{{i?.createUserName}}/{{i?.createUserPhone}}</sv>
<sv label="调度员">{{i?.dispatchName}}/{{i?.dispatchPhone}} </sv>
<sv label="服务类型">{{i?.serviceTypeLabel}} </sv>
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
</div>
</ng-template>
</page-header-wrapper>
@ -42,48 +52,45 @@
<div class="approval-status">
<div style="width: 60%; margin: 0 auto">
<nz-steps [nzLabelPlacement]="'vertical'">
<nz-step [nzStatus]="i?.resourceStatus !== '1'?'finish':'process'" nzIcon="solution"
[nzDescription]="i?.createTime" nzTitle="下单"></nz-step>
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2' "
[nzStatus]="i?.resourceStatus=== '1'? 'wait':'finish'" nzIcon="file-done" [nzTitle]="'接单'"
[nzDescription]="i?.orderReceivingTime"></nz-step>
<nz-step [nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" nzIcon="solution"
[nzDescription]="i?.createAt" nzTitle="下单" [nzSubtitle]="i?.createTime"></nz-step>
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'"
[nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'" nzIcon="file-done" [nzTitle]="'接单'"
[nzSubtitle]="i?.orderReceivingTime"></nz-step>
<nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'"
[nzDescription]="i?.endTime"></nz-step>
[nzSubtitle]="i?.endTime"></nz-step>
</nz-steps>
</div>
</div>
</nz-card>
<nz-card nzTitle="基本信息">
<sv-container col="2">
<sv-title>货物信息</sv-title>
<ng-container *ngFor="let item of i?.goodsInfoVOList">
<sv label="货物名称">
{{item.goodsName}}
</sv>
<sv label="货物数量">
{{item.weight}}吨,{{item.volume}}方,{{item.number}}件
{{ item.goodsName }}
</sv>
<sv label="货物数量"> {{ item.weight }}吨,{{ item.volume }}方,{{ item.number }}件 </sv>
</ng-container>
</sv-container>
<sv-container class="mt-md">
<sv-title>承运信息</sv-title>
<sv label="司机姓名">
{{i?.carrierInformationVO?.driverName}}
{{ i?.carrierInformationVO?.driverName }}
</sv>
<sv label="手机号">
{{i?.carrierInformationVO?.driverTelephone}}
{{ i?.carrierInformationVO?.driverTelephone }}
</sv>
<sv label="车牌号">
{{i?.carrierInformationVO?.driverLicensePlate}}
{{ i?.carrierInformationVO?.driverLicensePlate }}
</sv>
</sv-container>
<div class="mt-md">
<h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">(
<label>{{i?.loadingCount}}装</label>
<label>{{i?.unloadingCount}}卸</label>
<label>{{ i?.loadingCount }}装</label>
<label>{{ i?.unloadingCount }}卸</label>
)
</span>
</h4>
@ -94,12 +101,12 @@
<div *ngIf="item?.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
<h4>装货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
</div>
</div>
</div>
<p class="time-info">装货时间:{{i?.loadingTime}}</p>
<p class="time-info">装货时间:{{ i?.loadingTime }}</p>
</div>
</div>
<div nz-col [nzSpan]="12">
@ -108,12 +115,12 @@
<div *ngIf="item?.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
<h4>卸货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
</div>
</div>
</div>
<p class="time-info">卸货时间:{{i?.unloadingTime}}</p>
<p class="time-info">卸货时间:{{ i?.unloadingTime }}</p>
</div>
</div>
</div>
@ -123,27 +130,25 @@
<nz-card nzTitle="服务信息">
<sv-container>
<sv label="增值服务套餐">
{{i?.insuranceTypeLabel}}
{{ i?.insuranceTypeLabel }}
</sv>
<sv label="货物价值">
{{i?.goodsValue |currency}}
</sv>
<sv label="保价费金额">
{{i?.insurancePremium |currency}} 元
{{ i?.goodsValue | currency }}
</sv>
<sv label="保价费金额"> {{ i?.insurancePremium | currency }} 元 </sv>
</sv-container>
</nz-card>
<nz-card [nzTitle]="'运费信息到货后'+i?.paymentDays+'天内支付运费'">
<st [data]="i?.expenseVOList" [columns]="expenseColumns" [page]="{show:false}">
<nz-card [nzTitle]="'运费信息到货后' + i?.paymentDays + '天内支付运费'">
<st [data]="i?.expenseVOList" [columns]="expenseColumns" [page]="{ show: false }">
<ng-template st-row="total" let-item>
<div>
{{item?.totalAmount | currency}}
{{ item?.totalAmount | currency }}
<span>(含附加费)</span>
</div>
</ng-template>
<ng-template st-row="price" let-item>
<div>
{{item?.price | currency}}
{{ item?.price | currency }}
</div>
</ng-template>
</st>
@ -152,9 +157,9 @@
<h3>
<label>总计 :</label>
<span class="text-error-dark text-xl">
{{(i?.totalAmount) | currency}}
{{ i?.totalAmount | currency }}
</span>
<span>(运费{{i?.totalFreight | currency}}含附加运费 {{i?.totalSurcharge| currency}}</span>
<span>(运费{{ i?.totalFreight | currency }}含附加运费 {{ i?.totalSurcharge | currency }}</span>
</h3>
<div>收款人:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div>
</div>
@ -163,24 +168,23 @@
<nz-card nzTitle="补充信息">
<sv-container>
<sv label="是否回单">
{{i?.supplementaryInformationVO?.stateReceipt?'是':'否'}}
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
</sv>
<sv label="回单类型">
{{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
</sv>
<sv label="所在地区">
{{i?.supplementaryInformationVO?.area}}
{{ i?.supplementaryInformationVO?.area }}
</sv>
<sv label="详细地址">
{{i?.supplementaryInformationVO?.address}}
{{ i?.supplementaryInformationVO?.address }}
</sv>
<sv label="备注">
{{i?.supplementaryInformationVO?.remarks}}
{{ i?.supplementaryInformationVO?.remarks }}
</sv>
</sv-container>
</nz-card>
<nz-card nzTitle="操作日志">
<st #st [data]="i?.auditRecordList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
<st #st [data]="i?.auditRecordList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> </st>
</nz-card>
</div>

View File

@ -71,6 +71,9 @@
[loading]="loading"
[scroll]="{ x: '1200px', y: '500px' }"
>
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<ng-template st-row="resourceCode" let-item let-index="index">
<a [routerLink]="'vehicle-detail/' + item?.id">{{ item?.resourceCode }}</a>
<p>{{ item?.resourceTypeLabel }}{{ item?.serviceTypeLabel }}</p>

View File

@ -21,7 +21,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
@ViewChild('st') private readonly st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
@ViewChild('sfFre', { static: false }) sfFre!: SFComponent;
loading:boolean = true;
loading: boolean = true;
schema: SFSchema = this.initSF();
columns: STColumn[] = this.initST();
_$expand = false;
@ -58,7 +58,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
if (this.resourceStatus) {
a.resourceStatus = this.resourceStatus;
}
this.loading = true
this.loading = true;
return {
...a
};
@ -81,13 +81,13 @@ export class SupplyManagementVehicleComponent implements OnInit {
return requestOptions;
};
afterRes = (data: any[], rawData?: any) => {
this.loading = false
this.loading = false;
return data.map(item => ({
...item,
disabled: item.auditStatus !== '1',
disabled: item.auditStatus !== '1'
}));
};
get selectedRows() {
return this.st?.list.filter(item => item.checked) || [];
}
@ -362,7 +362,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
},
allowClear: true,
onSearch: (q: any) => {
let str =q.replace(/^\s+|\s+$/g,"");
let str = q.replace(/^\s+|\s+$/g, '');
if (str) {
return this.service
.request(this.service.$api_enterpriceList, { enterpriseName: str })
@ -477,12 +477,14 @@ export class SupplyManagementVehicleComponent implements OnInit {
className: 'text-left',
render: 'resourceCode'
},
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
{
title: '货主',
index: 'shipperAppUserName',
width: '180px',
className: 'text-left'
},
{
title: '项目名称',
index: 'enterpriseProjectName',
@ -606,8 +608,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
iif: item => item.resourceStatus === '1' && item.serviceType === '2',
acl: { ability: ['SUPPLY-INDEX-vehicleReassign'] }
},
{type: 'divider'},
{ type: 'divider' }
]
}
];