Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -1,29 +1,14 @@
|
||||
<nz-card>
|
||||
<div nz-row nzGutter="20">
|
||||
<div nz-col nzSpan="13">
|
||||
<div style="height: 120px;">
|
||||
<div class="mb-md" nz-row>
|
||||
<button nzType="primary" (click)="add()" nz-button>
|
||||
<i nz-icon nzType="plus"></i>
|
||||
添加熟车
|
||||
</button>
|
||||
</div>
|
||||
<sf mode="search" [schema]="searchSchema" (formSubmit)="st.reset($event)" (formReset)="st.reset($event)"></sf>
|
||||
</div>
|
||||
<st #st [data]="url" [columns]="columns"></st>
|
||||
</div>
|
||||
<div nz-col nzSpan="11">
|
||||
<div style="height: 120px;"></div>
|
||||
<st #selectedST [data]="url" [columns]="selectedColumn"></st>
|
||||
<div nz-row nzGutter="20">
|
||||
<div nz-col nzSpan="13">
|
||||
<div class="mb-sm">
|
||||
<sf mode="search" [schema]="searchSchema" [button]="null" #sf>
|
||||
<button nzType="primary" nz-button (click)="search()" [nzLoading]="service.http.loading">搜索</button>
|
||||
</sf>
|
||||
</div>
|
||||
</div>
|
||||
</nz-card>
|
||||
<nz-modal [(nzVisible)]="isVisible" nzTitle="添加司机" (nzOnCancel)="handleCancel()" nzMaskClosable="false">
|
||||
<div *nzModalContent>
|
||||
<sf [schema]="addCarSchema" [button]="'none'"></sf>
|
||||
</div>
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="handleCancel()">取消</button>
|
||||
<button nz-button nzType="primary" (click)="handleOk()" [nzLoading]="service.http.loading">确定</button>
|
||||
</div>
|
||||
</nz-modal>
|
||||
</div>
|
||||
<nz-spin *ngIf="service.http.loading">
|
||||
</nz-spin>
|
||||
<div>
|
||||
<st #st [data]="diverList" [columns]="columns" [req]="{params: reqParams}"></st>
|
||||
</div>
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { STColumn, STColumnButton, STComponent, STData } from '@delon/abc/st';
|
||||
import { SFSchema, SFUISchema } from '@delon/form';
|
||||
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
|
||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||
import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||
import { SupplyManagementService } from '../../services/supply-management.service';
|
||||
|
||||
@Component({
|
||||
@ -11,41 +12,29 @@ import { SupplyManagementService } from '../../services/supply-management.servic
|
||||
export class SupplyManagementAddDriversComponent implements OnInit {
|
||||
url = `/user?_allow_anonymous=true`;
|
||||
i: any;
|
||||
searchSchema: SFSchema = {
|
||||
properties: {
|
||||
no: {
|
||||
type: 'string',
|
||||
title: '编号'
|
||||
}
|
||||
}
|
||||
};
|
||||
searchSchema: SFSchema = {};
|
||||
@ViewChild('st') private readonly st!: STComponent;
|
||||
@ViewChild('selectedST') private readonly selectedST!: STComponent;
|
||||
ui: SFUISchema = {
|
||||
|
||||
}
|
||||
@ViewChild('sf') sf!: SFComponent;
|
||||
ui: SFUISchema = {}
|
||||
columns: STColumn[] = [];
|
||||
selectedColumn: STColumn[] = [];
|
||||
isVisible = false;
|
||||
addCarSchema: SFUISchema = {
|
||||
properties: {
|
||||
mobile: {
|
||||
type: 'string',
|
||||
title: '司机手机号',
|
||||
ui: {
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
constructor(public service: SupplyManagementService, private modal: ModalHelper) { }
|
||||
diverList: object[] = [];
|
||||
dirvierInfo: any = {};
|
||||
constructor(public service: SupplyManagementService, private modal: NzModalRef) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
this.initSF();
|
||||
this.initST();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询参数
|
||||
*/
|
||||
get reqParams() {
|
||||
return {
|
||||
...this.sf?.value
|
||||
};
|
||||
}
|
||||
/**
|
||||
* 初始化查询表单
|
||||
*/
|
||||
@ -54,16 +43,9 @@ export class SupplyManagementAddDriversComponent implements OnInit {
|
||||
properties: {
|
||||
mobile: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
title: '车队长手机号',
|
||||
ui: {
|
||||
placeholder: '请输入司机姓名/手机号'
|
||||
}
|
||||
},
|
||||
no: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
placeholder: '请输入车牌号'
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
},
|
||||
@ -78,23 +60,14 @@ export class SupplyManagementAddDriversComponent implements OnInit {
|
||||
initST() {
|
||||
this.columns = [
|
||||
{
|
||||
title: '司机姓名',
|
||||
title: '司机头像',
|
||||
width: '100px',
|
||||
className: 'text-center',
|
||||
render: 'goodsId'
|
||||
index: 'avatar',
|
||||
type: 'img',
|
||||
},
|
||||
{ title: '手机号', render: 'externalSn', width: '120px', className: 'text-center' },
|
||||
{ title: '货源类型', index: 'linkUrl', width: '120px', className: 'text-center' },
|
||||
{
|
||||
title: '车牌号',
|
||||
className: 'text-center',
|
||||
width: '120px',
|
||||
}, {
|
||||
title: '状态',
|
||||
className: 'text-center',
|
||||
width: '120px',
|
||||
},
|
||||
|
||||
{ title: '司机姓名', index: 'name', width: '120px', className: 'text-center' },
|
||||
{ title: '实名认证状态', index: 'linkUrl', width: '120px', className: 'text-center' },
|
||||
{
|
||||
title: '操作',
|
||||
fixed: 'right',
|
||||
@ -102,51 +75,46 @@ export class SupplyManagementAddDriversComponent implements OnInit {
|
||||
className: 'text-center',
|
||||
buttons: [
|
||||
{
|
||||
text: '选择',
|
||||
iif: (item: STData, btn: STColumnButton, column: STColumn) => item?.status > 0,
|
||||
iifBehavior: 'disabled'
|
||||
// click: (_record) => this.editOne(_record),
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
this.selectedColumn = [
|
||||
{
|
||||
title: '司机姓名',
|
||||
width: '100px',
|
||||
className: 'text-center',
|
||||
render: 'goodsId'
|
||||
},
|
||||
{ title: '手机号', render: 'externalSn', width: '120px', className: 'text-center' },
|
||||
{ title: '车牌号', index: 'linkUrl', width: '120px', className: 'text-center' },
|
||||
{
|
||||
title: '操作',
|
||||
fixed: 'right',
|
||||
width: '200px',
|
||||
className: 'text-center',
|
||||
buttons: [
|
||||
{
|
||||
text: '移除',
|
||||
// click: (_record) => this.editOne(_record),
|
||||
text: '设置',
|
||||
click: (_record) => this.addCaptain(_record)
|
||||
// iif: (item: STData, btn: STColumnButton, column: STColumn) => item?.status > 0,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
search() {
|
||||
this.getDriverList();
|
||||
}
|
||||
|
||||
|
||||
getDriverList() {
|
||||
this.service.request(this.service.$api_get_car_captain_by_mobile, { ...this.sf?.value }).subscribe((res: any) => {
|
||||
this.diverList = [];
|
||||
if (res.userId) {
|
||||
this.diverList.push(res);
|
||||
}
|
||||
// this.st.reload();
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加熟车
|
||||
*
|
||||
*/
|
||||
add(): void {
|
||||
this.isVisible = true;
|
||||
}
|
||||
|
||||
handleCancel() {
|
||||
this.isVisible = false;
|
||||
}
|
||||
|
||||
handleOk() {
|
||||
|
||||
addCaptain(item: any) {
|
||||
this.modal.close(item); // 虚设置车队长
|
||||
// const { appUserId: carCaptain } = item;
|
||||
// const { appUserId } = this.dirvierInfo;
|
||||
// this.service.request(this.service.$api_add_car_caption, { carCaptain, appUserId }).subscribe(res => {
|
||||
// if (res) {
|
||||
// this.service.msgSrv.success('设置成功');
|
||||
// this.modal.close(true);
|
||||
// }
|
||||
// })
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,3 +1,11 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 11:10:14
|
||||
* @LastEditTime: 2022-01-06 14:55:47
|
||||
* @LastEditors: your name
|
||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
* @FilePath: \tms-obc-web\src\app\routes\supply-management\components\assigned-car\assigned-car.component.html
|
||||
-->
|
||||
<div>
|
||||
<div nz-row>
|
||||
<div nz-col nzSpan="18">
|
||||
|
||||
@ -117,7 +117,7 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit {
|
||||
if (this.selectedRows) {
|
||||
const { carId, appUserId: driverId, captainAppUserId: carCaptainId } = this.selectedRows;
|
||||
const params: any = { carId, driverId, carCaptainId };
|
||||
this.service.request(this.service.$api_save_assign_bulk, { ...params, ...this.params }).subscribe((res: any) => {
|
||||
this.service.request(this.url, { ...params, ...this.params }).subscribe((res: any) => {
|
||||
if (res) {
|
||||
this.modal.close(res);
|
||||
}
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
/>
|
||||
</nz-input-group>
|
||||
<span style="padding: 0 10px"
|
||||
><i nz-icon nzType="menu" nzTheme="outline" style="color: #1890ff" (click)="chooseAddress(idx, 'start')"></i
|
||||
></span>
|
||||
><i nz-icon nzType="menu" nzTheme="outline" style="color: #1890ff" (click)="chooseAddress(idx, 'start')"></i
|
||||
></span>
|
||||
<span
|
||||
><i nz-icon nzType="minus-circle-o" nzTheme="fill" style="color: #d9001b" (click)="subStartInfo($event, idx, data.id)"></i
|
||||
></span>
|
||||
@ -44,12 +44,12 @@
|
||||
<nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入联系人信息'">
|
||||
<div class="align-center">
|
||||
<input nz-input [(ngModel)]="data.appUserName" [ngModelOptions]="{ standalone: true }" maxlength="30" />
|
||||
<input nz-input [(ngModel)]="data.appUserName" formControlName="loadName{{ idx }}" maxlength="30" />
|
||||
<input
|
||||
style="margin-left: 12px"
|
||||
nz-input
|
||||
formControlName="loadPhone{{ idx }}"
|
||||
[(ngModel)]="data.contractTelephone"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
maxlength="11"
|
||||
/>
|
||||
</div>
|
||||
@ -82,8 +82,8 @@
|
||||
/>
|
||||
</nz-input-group>
|
||||
<span style="padding: 0 10px"
|
||||
><i nz-icon nzType="menu" nzTheme="outline" style="color: #1890ff" (click)="chooseAddress(idx, 'end')"></i
|
||||
></span>
|
||||
><i nz-icon nzType="menu" nzTheme="outline" style="color: #1890ff" (click)="chooseAddress(idx, 'end')"></i
|
||||
></span>
|
||||
<span><i nz-icon nzType="minus-circle-o" nzTheme="fill" style="color: #d9001b" (click)="subEndInfo($event, idx)"></i></span>
|
||||
</div>
|
||||
</nz-form-control>
|
||||
@ -92,12 +92,12 @@
|
||||
<nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入联系人信息'">
|
||||
<div class="align-center">
|
||||
<input nz-input [(ngModel)]="data.appUserName" [ngModelOptions]="{ standalone: true }" maxlength="30" />
|
||||
<input nz-input [(ngModel)]="data.appUserName" formControlName="unloadName{{ idx }}" maxlength="30" />
|
||||
<input
|
||||
style="margin-left: 12px"
|
||||
nz-input
|
||||
[(ngModel)]="data.contractTelephone"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
formControlName="unloadPhone{{ idx }}"
|
||||
maxlength="11"
|
||||
/>
|
||||
</div>
|
||||
@ -282,7 +282,7 @@
|
||||
<div class="align-center">
|
||||
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="choose()">取消</button>
|
||||
<button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px" (click)="submit()">提交修改</button>
|
||||
<!-- <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="chooseFamifiar()">指派熟车</button> -->
|
||||
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')">指派熟车</button>
|
||||
<button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px" (click)="submit()"
|
||||
>司机抢单</button
|
||||
>
|
||||
|
||||
@ -20,6 +20,8 @@ import { PublishAddressListComponent } from './address-list/address-list.compone
|
||||
import { PublishSuccessComponent } from './publish-success/publish-success.component';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { of } from 'rxjs';
|
||||
import { TranAgreementComponent } from '../tran-agreement/tran-agreement.component';
|
||||
import { SupplyManagementVehicleAssignedCarComponent } from '../assigned-car/assigned-car.component';
|
||||
@Component({
|
||||
selector: 'app-publish-goods-onecar-publish',
|
||||
templateUrl: './onecar-publish.component.html',
|
||||
@ -694,29 +696,63 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
this.validateForm1.removeControl(`unloadPhone${index}`);
|
||||
}
|
||||
|
||||
//指派熟车
|
||||
chooseFamifiar() {
|
||||
this.modalService.create({
|
||||
//指派熟车
|
||||
chooseFamifiar(item: any) {
|
||||
console.log('999')
|
||||
const modalRef = this.modalService.create({
|
||||
nzTitle: '指派熟车',
|
||||
nzContent: PublishGoodsChooseFamifiarComponent,
|
||||
nzWidth: 1300
|
||||
nzContent: SupplyManagementVehicleAssignedCarComponent,
|
||||
nzWidth: 1200,
|
||||
nzComponentParams: {
|
||||
status: 'new',
|
||||
url: this.service.$api_save_assign_whole,
|
||||
params: item
|
||||
},
|
||||
nzFooter: null
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.openFinishPage(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
submit(): void {
|
||||
// 打开下单完成页面
|
||||
openFinishPage(resourceObj: any = null) {
|
||||
this.modalService.create({
|
||||
nzTitle: '',
|
||||
nzContent: PublishSuccessComponent,
|
||||
nzWidth: 900,
|
||||
nzFooter: null,
|
||||
nzComponentParams: { type: 'onecar', resourceObj }
|
||||
});
|
||||
}
|
||||
// 提交前确认,委托运输协议弹窗
|
||||
submitConfirm(submitType?: any) {
|
||||
const modalRef = this.modalService.create({
|
||||
nzTitle: '运输协议',
|
||||
nzContent: TranAgreementComponent,
|
||||
nzWidth: 900,
|
||||
nzFooter: null
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.submit(submitType);
|
||||
}
|
||||
});
|
||||
}
|
||||
submit(submitType?: string): void {
|
||||
console.log('进来了');
|
||||
console.log(this.startInfo);
|
||||
// Object.keys(this.validateForm1.controls).forEach(key => {
|
||||
// this.validateForm1.controls[key].markAsDirty();
|
||||
// this.validateForm1.controls[key].updateValueAndValidity();
|
||||
// });
|
||||
// this.sf1.validator({ emitError: true });
|
||||
// this.sf3.validator({ emitError: true });
|
||||
// this.sf4.validator({ emitError: true });
|
||||
// this.sf6.validator({ emitError: true });
|
||||
// if (this.validateForm1.invalid || !this.sf1.valid || !this.sf3.valid || !this.sf4.valid || !this.sf6.valid) {
|
||||
// return;
|
||||
// }
|
||||
console.log(this.validateForm1.value);
|
||||
Object.keys(this.validateForm1.controls).forEach(key => {
|
||||
this.validateForm1.controls[key].markAsDirty();
|
||||
this.validateForm1.controls[key].updateValueAndValidity();
|
||||
});
|
||||
this.sf3.validator({ emitError: true });
|
||||
this.sf4.validator({ emitError: true });
|
||||
this.sf6.validator({ emitError: true });
|
||||
this.sf7.validator({ emitError: true });
|
||||
if (this.validateForm1.invalid || !this.sf3.valid || !this.sf4.valid || !this.sf6.valid || !this.sf7.valid) {
|
||||
return;
|
||||
}
|
||||
if (typeof this.validateForm1.value.unloadingTime !== 'string') {
|
||||
var c = new Date(this.validateForm1.value.unloadingTime);
|
||||
this.validateForm1.value.unloadingTime =
|
||||
@ -747,10 +783,6 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
':' +
|
||||
this.addPreZero(c.getSeconds());
|
||||
}
|
||||
// if (this.validateForm1.invalid) {
|
||||
// return;
|
||||
// }
|
||||
console.log(this.sf7.value)
|
||||
const params: any = {
|
||||
...this.sf1.value,
|
||||
...this.sf5.value,
|
||||
@ -773,6 +805,12 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
totalFees: this.totalFees
|
||||
};
|
||||
console.log(params);
|
||||
if(submitType) {
|
||||
if (submitType == 'assign') {
|
||||
this.chooseFamifiar(params);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (this.PageStatus === '整车修改') {
|
||||
this.requests(this.service.$api_set_WholeModify, params);
|
||||
} else if (this.PageStatus === '整车下一单') {
|
||||
|
||||
@ -313,7 +313,7 @@
|
||||
</nz-card>
|
||||
<nz-card>
|
||||
<div class="align-center">
|
||||
<!-- <button nz-button nzType="primary" (click)="submit('assign')" *ngIf="type === 'add'">指派熟车</button> -->
|
||||
<button nz-button nzType="primary" (click)="submitConfirm('assign')" *ngIf="type === 'add'">指派熟车</button>
|
||||
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submit('publish')" *ngIf="type === 'add'">司机抢单</button>
|
||||
<button
|
||||
nz-button
|
||||
|
||||
@ -24,6 +24,7 @@ import { SupplyManagementService } from '../../services/supply-management.servic
|
||||
import { SupplyManagementVehicleAssignedCarComponent } from '../assigned-car/assigned-car.component';
|
||||
import { PublishAddressListComponent } from '../onecar-publish/address-list/address-list.component';
|
||||
import { PublishSuccessComponent } from '../onecar-publish/publish-success/publish-success.component';
|
||||
import { TranAgreementComponent } from '../tran-agreement/tran-agreement.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-publish-goods-onecar-publish',
|
||||
@ -71,7 +72,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
private route: ActivatedRoute,
|
||||
private eaCacheSrv: EACacheService,
|
||||
private amapService: AmapService,
|
||||
public service2: ShipperBaseService
|
||||
public shipperSrv: ShipperBaseService
|
||||
) {
|
||||
this.validateForm1 = fb.group({
|
||||
loadingTime: [null, [Validators.required]],
|
||||
@ -170,7 +171,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
allowClear: true,
|
||||
asyncData: () => this.service2.getNetworkFreightForwarder(),
|
||||
asyncData: () => this.shipperSrv.getNetworkFreightForwarder(),
|
||||
},
|
||||
},
|
||||
externalResourceCode: {
|
||||
@ -182,28 +183,16 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
}
|
||||
},
|
||||
dispatchId: {
|
||||
type: 'string',
|
||||
title: '调度员',
|
||||
enum: [
|
||||
{ label: '周涛', value: 1 },
|
||||
{ label: '李诞', value: 2 }
|
||||
],
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
allowClear: true,
|
||||
optionalHelp: '选择调度员,司机直接联系调度员 ; 不选择,司机直接联系您'
|
||||
// asyncData: () =>
|
||||
// this.service.loadChildData2('0', '2').pipe(
|
||||
// map((data: any) => {
|
||||
// return data.map((m: any) => {
|
||||
// return { label: m.name, value: m.id };
|
||||
// });
|
||||
// }),
|
||||
// ),
|
||||
// change: (i) => this.updateCategory(i, '/categoryId2'),
|
||||
} as SFSelectWidgetSchema
|
||||
}
|
||||
type: 'string',
|
||||
title: '调度员',
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
allowClear: true,
|
||||
optionalHelp: '选择调度员,司机直接联系调度员 ; 不选择,司机直接联系您',
|
||||
asyncData: () => this.shipperSrv.getStaffList2()
|
||||
} as SFSelectWidgetSchema
|
||||
}
|
||||
}
|
||||
};
|
||||
this.ui1 = {
|
||||
@ -234,56 +223,82 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
this.sf1.getProperty('/enterpriseProjectId')!.widget.reset(res);
|
||||
});
|
||||
}
|
||||
initSF3() {
|
||||
this.schema3 = {
|
||||
properties: {
|
||||
goodsTypeId: {
|
||||
type: 'string',
|
||||
title: '货物名称',
|
||||
enum: [
|
||||
{ label: '服装', value: '1' },
|
||||
{ label: '电子产品', value: '2' },
|
||||
{ label: '其他', value: '3' }
|
||||
],
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
errors: { required: '请选择货物名称' },
|
||||
change: (value, data) => {
|
||||
this.currentGoodsTypeName = data;
|
||||
}
|
||||
// asyncData: () =>
|
||||
// this.categoryService.loadChildData2('0', '2').pipe(
|
||||
// map((data: any) => {
|
||||
// return data.map((m: any) => {
|
||||
// return { label: m.name, value: m.id };
|
||||
// });
|
||||
// }),
|
||||
// ),
|
||||
// change: (i) => this.updateCategory(i, '/categoryId2'),
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
goodsName: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
maxLength: 20,
|
||||
ui: {
|
||||
errors: { required: '请填写货物名称' },
|
||||
visibleIf: {
|
||||
goodsTypeId: value => value === '其他'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
required: ['goodsTypeId', 'goodsName']
|
||||
};
|
||||
this.ui3 = {
|
||||
'*': {
|
||||
spanLabelFixed: 90,
|
||||
grid: { span: 12 }
|
||||
}
|
||||
};
|
||||
}
|
||||
initSF3() {
|
||||
this.schema3 = {
|
||||
properties: {
|
||||
goodsTypeId: {
|
||||
type: 'string',
|
||||
title: '货物名称',
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
errors: { required: '请选择货物类型' },
|
||||
asyncData: () =>
|
||||
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
||||
map((data: any) => {
|
||||
return data[0].children?.map((m: any) => {
|
||||
return { label: m.name, value: m.id };
|
||||
});
|
||||
})
|
||||
),
|
||||
change: (value, data: any) => {
|
||||
this.changeGoodsType(value, data);
|
||||
this.sf3.setValue('/goodsTypeName', data.label);
|
||||
}
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
goodsTypeName: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
hidden: true
|
||||
}
|
||||
},
|
||||
goodsNameId: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
errors: { required: '请填写货物名称' },
|
||||
change: (value: any, data: any) => {
|
||||
this.sf3.setValue('/goodsName', data.label);
|
||||
},
|
||||
visibleIf: {
|
||||
goodsTypeName: (value: any) => value && value !== '其它'
|
||||
}
|
||||
}
|
||||
},
|
||||
goodsName: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
hidden: true,
|
||||
visibleIf: {
|
||||
goodsTypeName: (value: any) => value && value !== '其它'
|
||||
}
|
||||
}
|
||||
},
|
||||
goodsName1: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
errors: { required: '请填写货物名称' },
|
||||
visibleIf: {
|
||||
goodsTypeName: (value: any) => value && value === '其它'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
required: ['goodsTypeId', 'goodsName', 'goodsNameId']
|
||||
};
|
||||
this.ui3 = {
|
||||
'*': {
|
||||
spanLabelFixed: 90,
|
||||
grid: { span: 12 }
|
||||
}
|
||||
};
|
||||
}
|
||||
initSF4() {
|
||||
this.schema4 = {
|
||||
properties: {
|
||||
@ -615,25 +630,40 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
this.validateForm1.removeControl(`unloadPhone${index}`);
|
||||
}
|
||||
|
||||
//指派熟车
|
||||
chooseFamifiar(item: any) {
|
||||
const modalRef = this.modalService.create({
|
||||
nzTitle: '指派熟车',
|
||||
nzContent: SupplyManagementVehicleAssignedCarComponent,
|
||||
nzWidth: 1200,
|
||||
nzComponentParams: {
|
||||
status: 'new',
|
||||
url: this.service.$api_save_assign_bulk,
|
||||
params: item
|
||||
},
|
||||
nzFooter: null
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.openFinishPage(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
//指派熟车
|
||||
chooseFamifiar(item: any) {
|
||||
console.log('999')
|
||||
const modalRef = this.modalService.create({
|
||||
nzTitle: '指派熟车',
|
||||
nzContent: SupplyManagementVehicleAssignedCarComponent,
|
||||
nzWidth: 1200,
|
||||
nzComponentParams: {
|
||||
status: 'new',
|
||||
url: this.service.$api_save_assign_whole,
|
||||
params: item
|
||||
},
|
||||
nzFooter: null
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.openFinishPage(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
// 提交前确认,委托运输协议弹窗
|
||||
submitConfirm(submitType?: any) {
|
||||
const modalRef = this.modalService.create({
|
||||
nzTitle: '运输协议',
|
||||
nzContent: TranAgreementComponent,
|
||||
nzWidth: 900,
|
||||
nzFooter: null
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.submit(submitType);
|
||||
}
|
||||
});
|
||||
}
|
||||
submit(submitType: string): void {
|
||||
Object.keys(this.validateForm1.controls).forEach(key => {
|
||||
this.validateForm1.controls[key].markAsDirty();
|
||||
@ -652,13 +682,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
// 货物信息
|
||||
const goodsInfoList = [
|
||||
{
|
||||
...this.sf3.value,
|
||||
goodsTypeName: this.currentGoodsTypeName.label,
|
||||
goodsName: '电子',
|
||||
goodsNameId: '1',
|
||||
...this.sf4.value,
|
||||
maxWeight: this.sf4.value.maxWeight.join(','),
|
||||
maxCube: this.sf4.value.maxCube.join(',')
|
||||
...this.sf4.value,
|
||||
...this.sf3.value,
|
||||
maxWeight: this.sf4.value.maxWeight.join(','),
|
||||
maxCube: this.sf4.value.maxCube.join(',')
|
||||
}
|
||||
];
|
||||
// 运费信息
|
||||
@ -692,10 +719,12 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
};
|
||||
|
||||
let reqUrl = this.service.$api_consignWhole;
|
||||
if (submitType === 'assign') {
|
||||
this.chooseFamifiar(params);
|
||||
return;
|
||||
}
|
||||
if(submitType) {
|
||||
if (submitType == 'assign') {
|
||||
this.chooseFamifiar(params);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.service.request(reqUrl, params).subscribe((res: any) => {
|
||||
if (res) {
|
||||
@ -821,7 +850,34 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
nzComponentParams: { type: 'onecar', resourceObj }
|
||||
});
|
||||
}
|
||||
|
||||
changeGoodsType(value: string, data: any) {
|
||||
if (data.label === '其它') return;
|
||||
const params = {
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
configId: value
|
||||
};
|
||||
this.service
|
||||
.request(this.service.$api_get_config_item_page, params)
|
||||
.pipe(
|
||||
map(data => {
|
||||
return data.records?.map((m: any) => {
|
||||
return { label: m.name, value: m.id };
|
||||
});
|
||||
})
|
||||
)
|
||||
.subscribe(res => {
|
||||
if (res) {
|
||||
this.sf3.getProperty('/goodsNameId')!.schema.enum = res;
|
||||
this.sf3.getProperty('/goodsNameId')!.widget.reset(res);
|
||||
if(this.sf3data.goodsNameId){
|
||||
this.sf3.setValue('/goodsNameId',this.sf3data.goodsNameId);
|
||||
}
|
||||
} else {
|
||||
this.service.msgSrv.error(res.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 取消
|
||||
*/
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
|
||||
<h2 >
|
||||
委托运输协议
|
||||
</h2>
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="primary" (click)="handleOk()" >我已阅读并同意签署</button>
|
||||
</div>
|
||||
@ -0,0 +1,21 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||
|
||||
@Component({
|
||||
selector: 'publish-goods-tran-agreement',
|
||||
templateUrl: './tran-agreement.component.html',
|
||||
styleUrls: ['./tran-agreement.component.less']
|
||||
})
|
||||
export class TranAgreementComponent {
|
||||
|
||||
|
||||
constructor(private modal: NzModalRef) {
|
||||
|
||||
}
|
||||
|
||||
handleOk(){
|
||||
this.modal.close(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -137,12 +137,24 @@
|
||||
</div>
|
||||
</ng-template>
|
||||
</st>
|
||||
<div>
|
||||
<div class="freight-info-box mt-md" nz-row>
|
||||
<div nz-col nzSpan="24">
|
||||
<h3>
|
||||
<label>总计 :</label>
|
||||
<span class="text-error-dark text-xl">
|
||||
{{(i?.totalAmount) | currency: '¥'}}
|
||||
</span>
|
||||
<span>(运费{{i?.totalFreight | currency: '¥'}}含附加运费 {{i?.totalSurcharge| currency: '¥' }})</span>
|
||||
</h3>
|
||||
<div>收款人:曹济发 / 18211579566 / 621483****6368</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div>
|
||||
总计:<span style="color: #da001b; font-size: 18px">{{ totalObj?.price | currency: '¥' }}</span> (运费¥{{
|
||||
totalObj?.price - attObj?.price
|
||||
}},附加运费¥{{ attObj?.price }},附加费率{{ (attObj?.price / totalObj?.price) * 100 | number: '0.2-2' }}%)
|
||||
</div>
|
||||
<div>收款人:{{ i?.payeeName }}/{{ i?.payeePhone }}</div>
|
||||
<div>收款人:{{ i?.payeeName }}/{{ i?.payeePhone }}</div> -->
|
||||
</nz-card>
|
||||
<nz-card nzTitle="补充信息">
|
||||
<sv-container>
|
||||
|
||||
@ -143,21 +143,18 @@ export class SupplyManagementVehicleDetailComponent implements OnInit {
|
||||
/**
|
||||
* 重新指派
|
||||
*/
|
||||
assignedCar(item: any) {
|
||||
const { resourceId } = item;
|
||||
assignedCar(item: any) {
|
||||
const modalRef = this.modal.create({
|
||||
nzTitle: '指派熟车',
|
||||
nzWidth: '1200px',
|
||||
nzContent: SupplyManagementVehicleAssignedCarComponent,
|
||||
nzContent: SupplyManagementVehicleAssignedCarComponent,
|
||||
nzComponentParams: {
|
||||
i: item,
|
||||
status: 'anew',
|
||||
url: this.service.$api_save_assign_vehicle,
|
||||
params: { resourceId }
|
||||
},
|
||||
nzFooter: null
|
||||
nzFooter: null,
|
||||
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
modalRef.afterClose.subscribe((result) => {
|
||||
if (result) {
|
||||
this.getGoodsSourceDetail();
|
||||
}
|
||||
|
||||
@ -157,27 +157,30 @@ export class SupplyManagementVehicleComponent implements OnInit {
|
||||
/**
|
||||
* 重新指派
|
||||
*/
|
||||
assignedCar(item: any) {
|
||||
const { resourceId } = item;
|
||||
/**
|
||||
* 重新指派
|
||||
*/
|
||||
assignedCar(item: any) {
|
||||
const { id } = item;
|
||||
const modalRef = this.modal.create({
|
||||
nzTitle: '指派熟车',
|
||||
nzWidth: '1200px',
|
||||
nzContent: SupplyManagementVehicleAssignedCarComponent,
|
||||
nzContent: SupplyManagementVehicleAssignedCarComponent,
|
||||
nzComponentParams: {
|
||||
i: item,
|
||||
status: 'anew',
|
||||
params: { id },
|
||||
url: this.service.$api_save_assign_vehicle,
|
||||
params: { resourceId }
|
||||
},
|
||||
nzFooter: null
|
||||
nzFooter: null,
|
||||
|
||||
});
|
||||
modalRef.afterClose.subscribe(result => {
|
||||
modalRef.afterClose.subscribe((result) => {
|
||||
if (result) {
|
||||
this.st.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核
|
||||
*/
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 11:10:14
|
||||
* @LastEditTime: 2022-01-05 16:45:24
|
||||
* @LastEditTime: 2022-01-06 15:32:50
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
* @FilePath: \tms-obc-web\src\app\routes\supply-management\services\supply-management.service.ts
|
||||
@ -63,7 +63,13 @@ export class SupplyManagementService extends BaseService {
|
||||
$api_get_goods_resource_shipper = `/api/sdc/goodsResourceShipper/modifyPricePre`; // 修改单价页面根据货源ID获取货物表
|
||||
$api_get_car_captain_by_mobile = `/api/mdc/userDriverExpand/getCarCaptainByMobile`; // 查询车队长或者司机列表
|
||||
$api_save_assign_vehicle = `/api/sdc/goodsResourceShipper/reAssignWhole`;// 货主端大宗货源重新指派
|
||||
|
||||
$api_save_assign_bulk = `/api/sdc/goodsResourceShipper/reAssignBulk`; // 货主端大宗货源指派熟车
|
||||
// 货主端大宗货源指派熟车
|
||||
$api_save_assign_whole = `/api/sdc/goodsResourceShipper/saveWholeAssign`;
|
||||
// 货主端大宗货源指派熟车
|
||||
$api_save_bulk_assign = `/api/sdc/goodsResourceShipper/saveBulkAssign`;
|
||||
|
||||
$api_get_has_assigned_car_list = `/api/sdc/goodsResourceShipper/getCarDriverIdsByResourceId`;// 大宗货源根据货源id获取司机和车辆的id集合
|
||||
|
||||
// 根据手机号查询车队长/司机
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 11:10:14
|
||||
* @LastEditTime: 2021-12-28 20:31:23
|
||||
* @LastEditTime: 2022-01-06 15:01:57
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
* @FilePath: \tms-obc-web\src\app\routes\supply-management\supply-management.module.ts
|
||||
@ -31,6 +31,7 @@ import { CarAddmodalComponent } from './components/addmodal/addmodal.component';
|
||||
import { SupplyManagementBulkDetailComponent } from './components/bulk-detail/bulk-detail.component';
|
||||
import { SupplyManagementReleasePublishComponent } from './components/release-publish/release-publish.component';
|
||||
import { SupplyManagementBulkReleasePublishComponent } from './components/bulk-release-publish/bulk-release-publish.component';
|
||||
import { TranAgreementComponent } from './components/tran-agreement/tran-agreement.component';
|
||||
|
||||
|
||||
const COMPONENTS: Type<void>[] = [
|
||||
@ -55,7 +56,9 @@ const COMPONENTS: Type<void>[] = [
|
||||
CarAddmodalComponent,
|
||||
SupplyManagementBulkDetailComponent,
|
||||
SupplyManagementReleasePublishComponent,
|
||||
SupplyManagementBulkReleasePublishComponent
|
||||
SupplyManagementBulkReleasePublishComponent,
|
||||
TranAgreementComponent
|
||||
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
||||
Reference in New Issue
Block a user