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

This commit is contained in:
Taric Xin
2021-12-14 16:09:11 +08:00
18 changed files with 844 additions and 177 deletions

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-03 11:10:14 * @Date: 2021-12-03 11:10:14
* @LastEditTime: 2021-12-07 11:11:27 * @LastEditTime: 2021-12-14 15:47:08
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\supply-management\components\vehicle\vehicle.component.html * @FilePath: \tms-obc-web\src\app\routes\supply-management\components\vehicle\vehicle.component.html
@ -38,18 +38,25 @@
</nz-card> </nz-card>
<nz-card> <nz-card>
<nz-tabset (nzSelectedIndexChange)="selectChange($event)" > <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate">
<nz-tab *ngFor="let tab of tabs; let i = index" [nzTitle]="tab.name + ' (' + tab.count + ') '" (nzClick)="tabChange(i)"> <nz-tab *ngFor="let tab of tabs; let i = index" [nzTitle]="tab.name + ' (' + tab.count + ') '" (nzClick)="tabChange(i)">
</nz-tab> </nz-tab>
</nz-tabset> </nz-tabset>
<div style="margin-top: 15px;"> <div style="margin-top: 15px;">
<!-- [req]="{ method: 'GET', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" <st
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" #st
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [bordered]="true"
[loadingDelay]="500" [loading]="service.http.loading" --> [scroll]="{ x: '2000px' }"
<st #st [scroll]="{ x: '1200px' }" [data]="service.$api_get_catalogue_member" [columns]="columns"> [data]="service.$api_get_bulkPage_list"
[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] }"
[loadingDelay]="500"
[loading]="service.http.loading"
>
<ng-template st-row="goodsId" let-item let-index="index"> <ng-template st-row="goodsId" let-item let-index="index">
<a [routerLink]="'/order-management/bulk-detail/'+item.id">{{item.no}}</a> <a [routerLink]="'/order-management/bulk-detail/'+item.id">{{item.id}}</a>
</ng-template> </ng-template>
<!-- <ng-template st-row="externalSn" let-item let-index="index"> <!-- <ng-template st-row="externalSn" let-item let-index="index">
<span class="mr-xs">{{111111}}</span> <span class="mr-xs">{{111111}}</span>
@ -58,11 +65,6 @@
<ng-template st-row="enStatusStr27878" let-item let-index="index"> <ng-template st-row="enStatusStr27878" let-item let-index="index">
<div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div> <div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div>
</ng-template> </ng-template>
<ng-template st-row="feiong" let-item let-index="index">
<div style="color: aqua;" (click)="OpenPrice()">
{{item.no}}
</div>
</ng-template>
<ng-template #contentTemplate> <ng-template #contentTemplate>
<div> <div>
<p>预付¥200.00</p> <p>预付¥200.00</p>
@ -155,3 +157,21 @@
<button nz-button nzType="primary" (click)="handleOK()">确定</button> <button nz-button nzType="primary" (click)="handleOK()">确定</button>
</ng-template> </ng-template>
</nz-modal> </nz-modal>
<ng-template #enable>
<div class="ant-popover-message">
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">已选择{{selectedRows?.length || 0}}条订单,确认批量签收吗?
</div>
<div class="ant-popover-message-title ng-star-inserted">
签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。
</div>
</div>
</ng-template>
<ng-template #extraTemplate>
<div>
<button nz-button nzType="primary" nzGhost nz-popconfirm
[nzPopconfirmTitle]="enable" (nzOnConfirm)="userAction()" nzPopconfirmPlacement="bottomRight">
批量签收
</button>
</div>
</ng-template>

View File

@ -5,6 +5,9 @@ import { ModalHelper, _HttpClient } from '@delon/theme';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { SupplyManagementService } from '../../services/order-management.service'; import { SupplyManagementService } from '../../services/order-management.service';
import { UpdateFreightComponent } from '../../modal/bulk/update-freight/update-freight.component';
import { ConfirReceiptComponent } from '../../modal/bulk/confir-receipt/confir-receipt.component';
import { SureDepartComponent } from '../../modal/bulk/sure-depart/sure-depart.component';
@Component({ @Component({
@ -13,7 +16,6 @@ import { SupplyManagementService } from '../../services/order-management.service
styleUrls: ['./bulk.component.less'] styleUrls: ['./bulk.component.less']
}) })
export class OrderManagementBulkComponent implements OnInit { export class OrderManagementBulkComponent implements OnInit {
url = `/user?_allow_anonymous=true`;
ui: SFUISchema = {}; ui: SFUISchema = {};
uiView: SFUISchema = {}; uiView: SFUISchema = {};
schema: SFSchema = {}; schema: SFSchema = {};
@ -110,7 +112,7 @@ export class OrderManagementBulkComponent implements OnInit {
_$expand: { type: 'boolean', ui: { hidden: true } }, _$expand: { type: 'boolean', ui: { hidden: true } },
no: { no: {
type: 'string', type: 'string',
title: '单号', title: '单号',
}, },
no2: { no2: {
type: 'string', type: 'string',
@ -118,7 +120,7 @@ export class OrderManagementBulkComponent implements OnInit {
}, },
no1: { no1: {
type: 'string', type: 'string',
title: '托运公司' title: '货主'
}, },
no3: { no3: {
type: 'string', type: 'string',
@ -158,7 +160,7 @@ export class OrderManagementBulkComponent implements OnInit {
}, },
no10: { no10: {
type: 'string', type: 'string',
title: '收款人', title: '车队长',
ui: { ui: {
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
@ -207,6 +209,58 @@ export class OrderManagementBulkComponent implements OnInit {
asyncData: () => this.getCatalogueMember(), asyncData: () => this.getCatalogueMember(),
}, },
}, },
appId2: {
type: 'string',
title: '网络货运人',
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
_$expand: (value: boolean) => value,
},
allowClear: true,
asyncData: () => this.getCatalogueMember(),
},
},
appId3: {
type: 'string',
title: '结算依据',
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
_$expand: (value: boolean) => value,
},
allowClear: true,
asyncData: () => this.getCatalogueMember(),
},
},
appId4: {
type: 'string',
title: '货物名称',
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
_$expand: (value: boolean) => value,
},
allowClear: true,
asyncData: () => this.getCatalogueMember(),
},
},
appId5: {
type: 'string',
title: '服务类型',
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
_$expand: (value: boolean) => value,
},
allowClear: true,
asyncData: () => this.getCatalogueMember(),
},
},
}, },
type: 'object', type: 'object',
}; };
@ -262,17 +316,21 @@ export class OrderManagementBulkComponent implements OnInit {
this.columns = [ this.columns = [
{ title: '', type: 'checkbox', width: '50px', className: 'text-center' }, { title: '', type: 'checkbox', width: '50px', className: 'text-center' },
{ {
title: '单号', title: '单号',
width: '100px', width: '100px',
className: 'text-center', className: 'text-center',
render: 'goodsId' render: 'goodsId'
}, },
{ {
title: '货源编号', title: '运费明细',
width: '100px', width: '100px',
index: 'externalSn',
className: 'text-center', className: 'text-center',
}, },
{ title: '托运公司', index: 'externalSn', width: '120px', className: 'text-center' }, { title: '网络货运人', index: 'externalSn', width: '120px', className: 'text-center' },
{ title: '托运人', index: 'externalSn', width: '120px', className: 'text-center' },
{ title: '关联运单号', index: 'externalSn', width: '120px', className: 'text-center' },
{ title: '货源编号', index: 'externalSn', width: '120px', className: 'text-center' },
{ title: '装货地', index: 'linkUrl', width: '120px', className: 'text-center' }, { title: '装货地', index: 'linkUrl', width: '120px', className: 'text-center' },
{ {
title: '卸货地', title: '卸货地',
@ -280,17 +338,7 @@ export class OrderManagementBulkComponent implements OnInit {
width: '120px', width: '120px',
}, },
{ {
title: '货物名称', title: '货物信息',
className: 'text-center',
width: '120px',
},
{
title: '承运司机',
className: 'text-center',
width: '120px',
},
{
title: '车牌号',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, },
@ -300,67 +348,42 @@ export class OrderManagementBulkComponent implements OnInit {
width: '120px', width: '120px',
}, },
{ {
title: '接单量', title: '接单量',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, },
{
title: '运费变更记录',
className: 'text-center',
width: '120px',
render: 'feiong'
},
{ {
title: '结算重量', title: '结算重量',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, },
{ {
title: '成交金额', title: '接单重量',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
render: 'enStatusStr27878' },
{
title: '承运司机',
className: 'text-center',
width: '120px',
render: 'feiong'
}, },
{ {
title: '收款人', title: '收款人',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, },
{ {
title: '支付状态', title: '装卸货时间',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
render: 'enStatusStr27878'
}, },
{ {
title: '创建时间', title: '创建时间',
className: 'text-center', className: 'text-center',
index: 'enStatusStr3', width: '120px',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '异常原因',
className: 'text-center',
index: 'enStatusStr3',
width: '100px',
},
{
title: '运单状态',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
}, },
{ {
title: '操作', title: '操作',
@ -372,6 +395,26 @@ export class OrderManagementBulkComponent implements OnInit {
text: '查看评价', text: '查看评价',
click: (_record) => this.viewEvaluate(_record), click: (_record) => this.viewEvaluate(_record),
}, },
{
text: '运费变更记录',
click: (_record) => this.OpenPrice(_record),
},
{
text: '变更运费',
click: (_record) => this.updateFreight(_record),
},
{
text: '确认签收',
click: (_record) => this.confirmReceipt(_record),
},
{
text: '取消订单',
click: (_record) => this.confirmReceipt(_record),
},
{
text: '确认发车',
click: (_record) => this.sureDepart(_record),
},
], ],
}, },
]; ];
@ -504,7 +547,7 @@ export class OrderManagementBulkComponent implements OnInit {
handleOK() { handleOK() {
} }
OpenPrice() { OpenPrice(item: any) {
this.isVisible = true this.isVisible = true
} }
/** /**
@ -520,5 +563,49 @@ export class OrderManagementBulkComponent implements OnInit {
viewEvaluate(item: any) { viewEvaluate(item: any) {
console.log(item) console.log(item)
this.isVisibleEvaluate = true this.isVisibleEvaluate = true
}
/**
*变更运费
*/
updateFreight(item: any) {
const modalRef = this.modal.create({
nzTitle: '变更运费',
nzWidth: '50%',
nzContent: UpdateFreightComponent,
nzComponentParams: {
i: item
},
nzFooter: null
});
}
// *变更运费
confirmReceipt(item: any) {
const modalRef = this.modal.create({
nzTitle: '确认签收',
nzWidth: '50%',
nzContent: ConfirReceiptComponent,
nzComponentParams: {
i: item
},
nzFooter: null
});
}
// *变更运费
sureDepart(item: any) {
const modalRef = this.modal.create({
nzTitle: '确认发车',
nzWidth: '50%',
nzContent: SureDepartComponent,
nzComponentParams: {
i: item
},
nzFooter: null
});
}
userAction() {
} }
} }

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-03 11:10:14 * @Date: 2021-12-03 11:10:14
* @LastEditTime: 2021-12-07 11:12:44 * @LastEditTime: 2021-12-14 10:21:33
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\supply-management\components\vehicle\vehicle.component.html * @FilePath: \tms-obc-web\src\app\routes\supply-management\components\vehicle\vehicle.component.html
@ -43,13 +43,20 @@
</nz-tab> </nz-tab>
</nz-tabset> </nz-tabset>
<div style="margin-top: 15px;"> <div style="margin-top: 15px;">
<!-- [req]="{ method: 'GET', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" <st
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" #st
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [bordered]="true"
[loadingDelay]="500" [loading]="service.http.loading" --> [scroll]="{ x: '2000px' }"
<st #st [scroll]="{ x: '1200px' }" [data]="service.$api_get_catalogue_member" [columns]="columns"> [data]="service.$api_get_bulkPage_list"
[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] }"
[loadingDelay]="500"
[loading]="service.http.loading"
>
<ng-template st-row="goodsId" let-item let-index="index"> <ng-template st-row="goodsId" let-item let-index="index">
<a [routerLink]="'/order-management/vehicle-detail/'+item.id">{{item.no}}</a> <a [routerLink]="'/order-management/vehicle-detail/'+item.id">{{item.id}}</a>
</ng-template> </ng-template>
<!-- <ng-template st-row="externalSn" let-item let-index="index"> <!-- <ng-template st-row="externalSn" let-item let-index="index">
<span class="mr-xs">{{111111}}</span> <span class="mr-xs">{{111111}}</span>
@ -58,11 +65,11 @@
<ng-template st-row="enStatusStr27878" let-item let-index="index"> <ng-template st-row="enStatusStr27878" let-item let-index="index">
<div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div> <div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div>
</ng-template> </ng-template>
<ng-template st-row="feiong" let-item let-index="index"> <!-- <ng-template st-row="feiong" let-item let-index="index">
<div style="color: aqua;" (click)="OpenPrice()"> <div style="color: aqua;" (click)="OpenPrice()">
{{item.no}} {{item.no}}
</div> </div>
</ng-template> </ng-template> -->
<ng-template #contentTemplate> <ng-template #contentTemplate>
<div> <div>
<p>预付¥200.00</p> <p>预付¥200.00</p>

View File

@ -48,11 +48,6 @@ export class OrderManagementVehicleComponent implements OnInit {
type: 5, type: 5,
count: 0, count: 0,
}, },
{
name: '待接单',
type: 5,
count: 0,
},
{ {
name: '待发车', name: '待发车',
type: 5, type: 5,
@ -118,7 +113,7 @@ export class OrderManagementVehicleComponent implements OnInit {
}, },
no1: { no1: {
type: 'string', type: 'string',
title: '托运人' title: '货主'
}, },
no3: { no3: {
type: 'string', type: 'string',
@ -158,7 +153,7 @@ export class OrderManagementVehicleComponent implements OnInit {
}, },
no10: { no10: {
type: 'string', type: 'string',
title: '收款人', title: '车队长',
ui: { ui: {
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
@ -207,6 +202,57 @@ export class OrderManagementVehicleComponent implements OnInit {
asyncData: () => this.getCatalogueMember(), asyncData: () => this.getCatalogueMember(),
}, },
}, },
sex3: {
title: '网络货运人',
type: 'string',
default: 0,
enum: [
{ label: '未知', value: 0 },
{ label: '男', value: 1 },
{ label: '女', value: 2 },
{ label: '保密', value: 3 },
],
ui: {
widget: 'select',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
sex4: {
title: '货物名称',
type: 'string',
default: 0,
enum: [
{ label: '未知', value: 0 },
{ label: '男', value: 1 },
{ label: '女', value: 2 },
{ label: '保密', value: 3 },
],
ui: {
widget: 'select',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
sex5: {
title: '服务类型',
type: 'string',
default: 0,
enum: [
{ label: '未知', value: 0 },
{ label: '男', value: 1 },
{ label: '女', value: 2 },
{ label: '保密', value: 3 },
],
ui: {
widget: 'select',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
}, },
type: 'object', type: 'object',
}; };
@ -219,18 +265,23 @@ export class OrderManagementVehicleComponent implements OnInit {
initST() { initST() {
this.columns = [ this.columns = [
{ title: '', type: 'checkbox', width: '50px', className: 'text-center' }, { title: '', type: 'checkbox', width: '50px', className: 'text-center' },
{ {
title: '单号', title: '单号',
width: '100px', width: '100px',
className: 'text-center', className: 'text-center',
render: 'goodsId' render: 'goodsId'
}, },
{ {
title: '货源编号', title: '运费明细',
width: '100px', width: '100px',
className: 'text-center', className: 'text-center',
index: 'externalSn',
}, },
{ title: '运人', index: 'externalSn', width: '120px', className: 'text-center' }, { title: '网络货运人', index: 'externalSn', width: '120px', className: 'text-center' },
{ title: '货主', index: 'externalSn', width: '120px', className: 'text-center' },
{ title: '关联运单号', index: 'linkUrl', width: '120px', className: 'text-center' },
{ title: '货源编号', index: 'linkUrl', width: '120px', className: 'text-center' },
{ title: '装货地', index: 'linkUrl', width: '120px', className: 'text-center' }, { title: '装货地', index: 'linkUrl', width: '120px', className: 'text-center' },
{ {
title: '卸货地', title: '卸货地',
@ -238,38 +289,16 @@ export class OrderManagementVehicleComponent implements OnInit {
width: '120px', width: '120px',
}, },
{ {
title: '货物名称', title: '货物信息',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, { }, {
title: '重量/体积',
className: 'text-center',
width: '120px',
},
{
title: '承运司机', title: '承运司机',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, },
{ {
title: '车牌号', title: '承运司机',
className: 'text-center',
width: '120px',
},
{
title: '出价',
className: 'text-center',
width: '120px',
render: 'enStatusStr27878'
},
{
title: '浮动费用',
className: 'text-center',
width: '120px',
render: 'feiong'
},
{
title: '成交金额',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, },
@ -286,7 +315,7 @@ export class OrderManagementVehicleComponent implements OnInit {
}, },
}, },
{ {
title: '支付状态', title: '装卸货时间',
width: '170px', width: '170px',
className: 'text-center', className: 'text-center',
}, },
@ -294,48 +323,20 @@ export class OrderManagementVehicleComponent implements OnInit {
title: '创建时间', title: '创建时间',
className: 'text-center', className: 'text-center',
index: 'enStatusStr3', index: 'enStatusStr3',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '异常原因',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '运单状态',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
}, },
{ {
title: '操作', title: '操作',
fixed: 'right', fixed: 'right',
width: '200px', width: '200px',
className: 'text-left',
buttons: [ buttons: [
{ {
text: '查看评价', text: '查看评价',
click: (_record) => this.viewEvaluate(_record), click: (_record) => this.viewEvaluate(_record),
}, },
{
text: '运费变更记录',
click: (_record) => this.OpenPrice(),
},
], ],
}, },
]; ];

View File

@ -0,0 +1,67 @@
<!--
* @Author: your name
* @Date: 2021-12-14 14:03:07
* @LastEditTime: 2021-12-14 15:43:01
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\modal\bulk\update-freight\update-freight.component.html
-->
<nz-alert
style="padding-bottom: 15px;"
nzType="warning"
nzCloseable
nzMessage="签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。"
></nz-alert>
<sv-container col="1">
<sv label="货物单价">
<span>
100元/吨
100元/方
100元/车</span>
</sv>
<sv label="结算依据">
<div style="display: flex; justify-content: space-between;">
<div>以发货为准 / 以收货为准</div>
<div>保留小数/抹除小数/抹除个数</div>
</div>
</sv>
</sv-container>
<sv-container col="2">
<sv label="装货重量">
<div>xx吨</div>
</sv>
<sv label="装货体积">
<div>xx吨</div>
</sv>
</sv-container>
<sv-container col="2">
<sv label="卸货重量">
<div>xx吨</div>
</sv>
<sv label="卸货体积">
<div>xx吨</div>
</sv>
</sv-container>
<sv-container col="1">
<sv label="总运费">
<div>1000元 </div>
</sv>
<sv label="司机车辆">
<div>张三 / 18888888888 / 粤GJ401</div>
</sv>
<sv label="收款人">
<div>李四 / 1888888888</div>
</sv>
<sv label="回单凭证">
<!-- <app-imagelist
[imgList]="[userIdentityDetail?.certificatePhotoFrontWatermark,userIdentityDetail?.certificatePhotoBackWatermark]">
</app-imagelist> -->
</sv>
</sv-container>
<div class="modal-footer">
<button nz-button type="button" (click)="close()">关闭</button>
<button nz-button type="submit" nzType="primary" (click)="save()" [nzLoading]="http.loading"
>确认签收</button
>
</div>

View File

@ -0,0 +1,7 @@
.left_btn {
width: 50px;
height: 32px;
padding-left: 8px;
line-height:32px;
background-color: #d7d7d7;
}

View File

@ -0,0 +1,53 @@
import { preloaderFinished } from '@delon/theme';
/*
* @Author: your name
* @Date: 2021-12-14 14:03:07
* @LastEditTime: 2021-12-14 15:43:12
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\modal\bulk\update-freight\update-freight.component.ts
*/
import { Component, OnInit, ViewChild } from '@angular/core';
import {
SFComponent,
SFCustomWidgetSchema,
SFNumberWidgetSchema,
SFRadioWidgetSchema,
SFSchema,
SFSelectWidgetSchema,
SFTextareaWidgetSchema,
SFUISchema
} from '@delon/form';
import { _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalRef } from 'ng-zorro-antd/modal';
@Component({
selector: 'app-order-management-confir-receipt',
templateUrl: './confir-receipt.component.html',
styleUrls: ['./confir-receipt.component.less']
})
export class ConfirReceiptComponent implements OnInit {
record: any = {};
i:any;
data: any = {};
constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient) {}
ngOnInit(): void {
}
save(): void {
// this.http.post(`/user/${this.record.id}`, value).subscribe(res => {
// this.msgSrv.success('保存成功');
// this.modal.close(true);
// });
}
close(): void {
this.modal.destroy();
}
userAction() {
}
}

View File

@ -0,0 +1,16 @@
<!--
* @Author: your name
* @Date: 2021-12-14 15:53:03
* @LastEditTime: 2021-12-14 15:57:08
* @LastEditors: your name
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\modal\bulk\sure-depart\sure-depart.component.html
-->
<sf #sf mode="edit" [schema]="schema" [ui]="ui" [formData]="i" button="none"></sf>
<div class="modal-footer">
<button nz-button type="button" (click)="close()">关闭</button>
<button nz-button type="submit" nzType="primary" (click)="save(sf.value)" [nzLoading]="http.loading"
>确认发车</button
>
</div>

View File

@ -0,0 +1,7 @@
.left_btn {
width: 50px;
height: 32px;
padding-left: 8px;
line-height:32px;
background-color: #d7d7d7;
}

View File

@ -0,0 +1,139 @@
import { preloaderFinished } from '@delon/theme';
/*
* @Author: your name
* @Date: 2021-12-14 14:03:07
* @LastEditTime: 2021-12-14 16:00:05
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\modal\bulk\update-freight\update-freight.component.ts
*/
import { Component, OnInit, ViewChild } from '@angular/core';
import {
SFComponent,
SFCustomWidgetSchema,
SFDateWidgetSchema,
SFNumberWidgetSchema,
SFRadioWidgetSchema,
SFSchema,
SFSelectWidgetSchema,
SFTextareaWidgetSchema,
SFUISchema,
SFUploadWidgetSchema
} from '@delon/form';
import { _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalRef } from 'ng-zorro-antd/modal';
import { SupplyManagementService } from 'src/app/routes/supply-management/services/supply-management.service';
import { Observable, Observer } from 'rxjs';
@Component({
selector: 'app-order-management-sure-depart',
templateUrl: './sure-depart.component.html',
styleUrls: ['./sure-depart.component.less']
})
export class SureDepartComponent implements OnInit {
record: any = {};
i: any;
@ViewChild('sf', { static: false }) sf!: SFComponent;
schema: SFSchema = {};
ui: SFUISchema = {};
constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient, public service: SupplyManagementService ) {}
ngOnInit(): void {
this.initSF();
}
initSF() {
this.schema = {
properties: {
createTime: {
title: '创建时间',
type: 'string',
ui: {
widget: 'date',
mode: 'range',
format: 'yyyy-MM-dd',
visibleIf: {
expand: (value: boolean) => value,
},
} as SFDateWidgetSchema,
},
name3: {
type: 'string',
title: '投诉详情',
maxLength: 100,
ui: {
widget: 'textarea',
autosize: { minRows: 4, maxRows: 6 }
} as SFTextareaWidgetSchema
},
avatar: {
type: 'string',
title: '上传凭证',
ui: {
action: `/scm/cms/cms/upload/multipartFile/fileModel`,
fileType: 'image/png,image/jpeg,image/jpg',
limit: 5,
limitFileCount: 5,
resReName: 'url',
urlReName: 'url',
widget: 'upload',
descriptionI18n: '不超过5张单张大小不超过5M支持.jpg、.jpeg和 .png格式',
data: {
// appId: environment.appId,
},
name: 'multipartFile',
multiple: true,
listType: 'picture-card',
change: (args: any) => {
if (args.type === 'success') {
const avatar = [
{
uid: -1,
name: 'LOGO',
status: 'done',
url: args.fileList[0].response.url,
response: {
url: args.fileList[0].response.url
}
}
];
this.sf?.setValue('/avatar', avatar);
}
},
beforeUpload: (file: any, _fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt2M = file.size / 1024 / 1024 < 1;
if (!isLt2M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt2M);
observer.complete();
});
}
} as SFUploadWidgetSchema
}
},
required: ['reason']
};
this.ui = {
'*': {
spanLabelFixed: 100,
grid: { span: 20 }
}
};
}
save(value: any): void {
console.log(value)
// this.http.post(`/user/${this.record.id}`, value).subscribe(res => {
// this.msgSrv.success('保存成功');
// this.modal.close(true);
// });
}
close(): void {
this.modal.destroy();
}
}

View File

@ -0,0 +1,53 @@
<!--
* @Author: your name
* @Date: 2021-12-14 14:03:07
* @LastEditTime: 2021-12-14 15:16:40
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\modal\bulk\update-freight\update-freight.component.html
-->
<nz-spin *ngIf="!i" class="modal-spin"></nz-spin>
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
<ng-template sf-template="no" let-me let-ui="ui" let-schema="schema">
<div style="display: flex;">
<nz-input-number [(ngModel)]="data.place" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
<div class="left_btn">元/吨</div>
</div>
</ng-template>
<ng-template sf-template="no2" let-me let-ui="ui" let-schema="schema">
<div style="display: flex;">
<nz-input-number [(ngModel)]="data.place1" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
<div class="left_btn"></div>
</div>
</ng-template>
<ng-template sf-template="no3" let-me let-ui="ui" let-schema="schema">
<div style="display: flex;">
<nz-input-number [(ngModel)]="data.place2" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
<div class="left_btn"></div>
</div>
</ng-template>
<ng-template sf-template="no4" let-me let-ui="ui" let-schema="schema">
<div style="display: flex;">
<nz-input-number [(ngModel)]="data.place3" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
<div class="left_btn"></div>
</div>
</ng-template>
<ng-template sf-template="no5" let-me let-ui="ui" let-schema="schema">
<div style="display: flex;">
<nz-input-number [(ngModel)]="data.place4" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
<div class="left_btn"></div>
</div>
</ng-template>
</sf>
<nz-divider></nz-divider>
<div>
<p style="font-weight: bolder;">总运费:<span style="color: red;">¥900.00</span></p>
<p>运输费¥800.00附加费¥100.00</p>
</div>
<div class="modal-footer">
<button nz-button type="button" (click)="close()">关闭</button>
<button nz-button type="submit" nzType="primary" (click)="save(sf.value)" [disabled]="!sf.valid" [nzLoading]="http.loading"
>确认</button
>
</div>

View File

@ -0,0 +1,7 @@
.left_btn {
width: 50px;
height: 32px;
padding-left: 8px;
line-height:32px;
background-color: #d7d7d7;
}

View File

@ -0,0 +1,143 @@
import { preloaderFinished } from '@delon/theme';
/*
* @Author: your name
* @Date: 2021-12-14 14:03:07
* @LastEditTime: 2021-12-14 15:16:27
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\modal\bulk\update-freight\update-freight.component.ts
*/
import { Component, OnInit, ViewChild } from '@angular/core';
import {
SFComponent,
SFCustomWidgetSchema,
SFNumberWidgetSchema,
SFRadioWidgetSchema,
SFSchema,
SFSelectWidgetSchema,
SFTextareaWidgetSchema,
SFUISchema
} from '@delon/form';
import { _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalRef } from 'ng-zorro-antd/modal';
@Component({
selector: 'app-order-management-update-freight',
templateUrl: './update-freight.component.html',
styleUrls: ['./update-freight.component.less']
})
export class UpdateFreightComponent implements OnInit {
record: any = {};
i: any;
@ViewChild('sf', { static: false }) sf!: SFComponent;
schema: SFSchema = {};
ui: SFUISchema = {};
data: any = {};
constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient) {}
ngOnInit(): void {
this.initSF();
if (this.record.id > 0) this.http.get(`/user/${this.record.id}`).subscribe(res => (this.i = res));
}
initSF() {
this.schema= {
properties: {
no: {
type: 'string',
title: '运费单价',
ui: {
widget: 'custom',
}
},
sex: {
title: '',
type: 'string',
enum: [
{ label: '保留小数', value: 0 },
{ label: '男', value: 1 },
{ label: '女', value: 2 },
{ label: '保密', value: 3 },
],
ui: {
widget: 'select',
} as SFSelectWidgetSchema,
},
appId: {
type: 'string',
title: '结算依据',
ui: {
width: 300,
grid: { span: 24 },
widget: 'select',
placeholder: '请选择',
allowClear: true,
// asyncData: () => this.getCatalogueMember(),
},
},
no2: {
type: 'string',
title: '装货重量',
ui: {
widget: 'custom',
}
},
no3: {
type: 'string',
title: '装货体积',
ui: {
widget: 'custom',
}
},
no4: {
type: 'string',
title: '卸货重量',
ui: {
widget: 'custom',
}
},
no5: {
type: 'string',
title: '卸货体积',
ui: {
widget: 'custom',
}
},
name3: {
type: 'string',
title: '变更原因',
maxLength: 100,
ui: {
width: 300,
placeholder:"选填最多不超过100字",
widget: 'textarea',
autosize: { minRows: 3, maxRows: 6 }
} as SFTextareaWidgetSchema
},
},
required: ['no', 'appId'],
type: 'object',
};
this.ui = { '*': { spanLabelFixed: 100, grid: { span: 12, gutter: 4 } }
};
}
save(value: any): void {
console.log(value)
console.log(this.data)
this.http.post(`/user/${this.record.id}`, value).subscribe(res => {
this.msgSrv.success('保存成功');
this.modal.close(true);
});
}
close(): void {
this.modal.destroy();
}
/**
* 更新数字框
* @param value
* @param type
*/
changeNumVal(value: any, type: number) {}
}

View File

@ -1,8 +1,8 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-03 15:31:52 * @Date: 2021-12-03 15:31:52
* @LastEditTime: 2021-12-07 14:11:17 * @LastEditTime: 2021-12-14 15:55:50
* @LastEditors: your name * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\order-management.module.ts * @FilePath: \tms-obc-web\src\app\routes\order-management\order-management.module.ts
*/ */
@ -19,6 +19,9 @@ import { OrderManagementRiskComponent } from './components/risk/risk.component';
import { OrderManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component'; import { OrderManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component';
import { OrderManagementVehicleComponent } from './components/vehicle/vehicle.component'; import { OrderManagementVehicleComponent } from './components/vehicle/vehicle.component';
import { ConfirReceiptComponent } from './modal/bulk/confir-receipt/confir-receipt.component';
import { SureDepartComponent } from './modal/bulk/sure-depart/sure-depart.component';
import { UpdateFreightComponent } from './modal/bulk/update-freight/update-freight.component';
import { OrderManagementRoutingModule } from './order-management-routing.module'; import { OrderManagementRoutingModule } from './order-management-routing.module';
const COMPONENTS: Type<void>[] = [ const COMPONENTS: Type<void>[] = [
@ -31,7 +34,10 @@ const COMPONENTS: Type<void>[] = [
OrderManagementAdditionalcComponent, OrderManagementAdditionalcComponent,
OrderManagementAdditionalcDetailComponent, OrderManagementAdditionalcDetailComponent,
OrderManagementRiskComponent, OrderManagementRiskComponent,
OrderManagementComplaintComponent OrderManagementComplaintComponent,
UpdateFreightComponent,
ConfirReceiptComponent,
SureDepartComponent
]; ];
@NgModule({ @NgModule({

View File

@ -1,3 +1,11 @@
/*
* @Author: your name
* @Date: 2021-12-03 15:31:52
* @LastEditTime: 2021-12-14 10:14:22
* @LastEditors: your name
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\services\order-management.service.ts
*/
import { Injectable, Injector } from '@angular/core'; import { Injectable, Injector } from '@angular/core';
import { BaseService } from 'src/app/shared/services'; import { BaseService } from 'src/app/shared/services';
@ -7,6 +15,7 @@ import { BaseService } from 'src/app/shared/services';
export class SupplyManagementService extends BaseService { export class SupplyManagementService extends BaseService {
$api_get_catalogue_member = `/user?_allow_anonymous=true`; $api_get_catalogue_member = `/user?_allow_anonymous=true`;
$api_get_bulkPage_list = `/api/sdc/goodsResourceOperate/listBulkPage`;
$api_del_driver = ``; $api_del_driver = ``;
constructor(public injector: Injector) { constructor(public injector: Injector) {
super(injector) super(injector)

View File

@ -428,4 +428,7 @@ handleOK() {
} }
}) })
} }
userAction() {
}
} }

View File

@ -3,6 +3,7 @@ import { ActivatedRoute, Router } from '@angular/router';
import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st'; import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { format } from 'path';
import { VehicleService } from '../../../vehicle/services/vehicle.service'; import { VehicleService } from '../../../vehicle/services/vehicle.service';
@Component({ @Component({
selector: 'app-Vehicle-components-list', selector: 'app-Vehicle-components-list',
@ -69,31 +70,17 @@ export class VehicleComponentsListComponent implements OnInit {
}, },
}, },
carNo: { title: '车牌号', type: 'string', ui: { showRequired: false } }, carNo: { title: '车牌号', type: 'string', ui: { showRequired: false } },
carLength: {
title: '车型车长载重',
type: 'string',
ui: {
showRequired: false,
},
},
enStatus: {
type: 'string',
title: '运营状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
},
},
carNoColor: { carNoColor: {
type: 'string', type: 'string',
title: '车牌颜色', title: '车牌颜色',
ui: {
widget: 'dict-select',
params: { dictKey: 'CarColor' },
},
},
carLength2: {
title: '运营状态',
type: 'string',
ui: { ui: {
widget: 'dict-select', widget: 'dict-select',
params: { dictKey: 'CarColor' }, params: { dictKey: 'CarColor' },
@ -102,9 +89,49 @@ export class VehicleComponentsListComponent implements OnInit {
}, },
}, },
}, },
carModel: {
title: '车型',
type: 'string',
ui: {
widget: 'dict-select',
params: { dictKey: 'CarColor' },
visibleIf: {
expand: (value: boolean) => value,
},
},
},
carLength: {
title: '车长',
type: 'string',
ui: {
widget: 'dict-select',
params: { dictKey: 'CarColor' },
visibleIf: {
expand: (value: boolean) => value,
},
},
},
carLoad: {
title: '载重',
type: 'string',
visibleIf: {
expand: (value: boolean) => value,
},
},
isTrailer: {
type: 'string',
title: '是否挂靠',
ui: {
widget: 'dict-select',
params: { dictKey: 'Whether' },
visibleIf: {
expand: (value: boolean) => value,
},
},
},
isDriverLicenseExpire: { isDriverLicenseExpire: {
type: 'string', type: 'string',
title: '到期状态', title: '行驶证到期状态',
enum: [ enum: [
{ label: '正常', value: 0 }, { label: '正常', value: 0 },
{ label: '冻结', value: 1 }, { label: '冻结', value: 1 },
@ -118,9 +145,20 @@ export class VehicleComponentsListComponent implements OnInit {
}, },
}, },
}, },
isRoadTransportExpire: {
type: 'string',
title: '驾驶证到期状态',
ui: {
widget: 'dict-select',
params: { dictKey: 'CarColor' },
visibleIf: {
expand: (value: boolean) => value,
},
},
},
}, },
}; };
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } }; this.ui = { '*': { spanLabelFixed: 130, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
} }
initST() { initST() {
@ -157,6 +195,10 @@ export class VehicleComponentsListComponent implements OnInit {
true: { text: '是', color: 'warning' }, true: { text: '是', color: 'warning' },
}, },
}, },
{ title: '所有人', className: 'text-center', index: 'carOwner' },
{ title: '是否挂靠', className: 'text-center', index: 'isTrailer', },
{ title: '挂靠协议', className: 'text-center', index: 'carNo' },
{ {
title: '操作', title: '操作',
width: '170px', width: '170px',

View File

@ -278,12 +278,12 @@
"group": true, "group": true,
"children": [ "children": [
{ {
"text": "车辆管理", "text": "车辆列表",
"link": "/vehicle/list" "link": "/vehicle/list"
}, },
{ {
"hide": true, "hide": true,
"text": "车辆详情", "text": "车辆列表详情",
"link": "/vehicle/list/detail/:id" "link": "/vehicle/list/detail/:id"
}, },
{ {