fix bug
This commit is contained in:
@ -532,7 +532,6 @@ export class OrderManagementBulkComponent implements OnInit {
|
||||
|
||||
|
||||
|
||||
// 获取录单员
|
||||
getCatalogueMember() {
|
||||
const params = {
|
||||
};
|
||||
|
||||
@ -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>
|
||||
@ -0,0 +1,7 @@
|
||||
.left_btn {
|
||||
width: 50px;
|
||||
height: 32px;
|
||||
padding-left: 8px;
|
||||
line-height:32px;
|
||||
background-color: #d7d7d7;
|
||||
}
|
||||
@ -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() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-14 15:53:03
|
||||
* @LastEditTime: 2021-12-14 17:39:33
|
||||
* @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\sure-depart\sure-depart.component.html
|
||||
-->
|
||||
<sf #sf mode="edit" [schema]="schema" [ui]="ui" [formData]="i" button="none">
|
||||
<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>
|
||||
</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>
|
||||
@ -0,0 +1,7 @@
|
||||
.left_btn {
|
||||
width: 50px;
|
||||
height: 32px;
|
||||
padding-left: 8px;
|
||||
line-height:32px;
|
||||
background-color: #d7d7d7;
|
||||
}
|
||||
@ -0,0 +1,298 @@
|
||||
import { preloaderFinished } from '@delon/theme';
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-14 14:03:07
|
||||
* @LastEditTime: 2021-12-14 17:38:20
|
||||
* @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-arrive',
|
||||
templateUrl: './sure-arrive.component.html',
|
||||
styleUrls: ['./sure-arrive.component.less']
|
||||
})
|
||||
export class SureArriveComponent implements OnInit {
|
||||
record: any = {};
|
||||
i: any;
|
||||
data: any ={
|
||||
place1: '',
|
||||
place2: ''
|
||||
};
|
||||
@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: {
|
||||
datetime: {
|
||||
type: 'string',
|
||||
title: '卸货时间',
|
||||
format: 'date-time',
|
||||
},
|
||||
no2: {
|
||||
type: 'string',
|
||||
title: '卸货重量',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
}
|
||||
},
|
||||
no3: {
|
||||
type: 'string',
|
||||
title: '卸货体积',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
}
|
||||
},
|
||||
|
||||
avatar: {
|
||||
type: 'string',
|
||||
title: '装货凭证',
|
||||
ui: {
|
||||
action: `/scm/cms/cms/upload/multipartFile/fileModel`,
|
||||
fileType: 'image/png,image/jpeg,image/jpg',
|
||||
limit: 1,
|
||||
limitFileCount: 1,
|
||||
resReName: 'url',
|
||||
urlReName: 'url',
|
||||
widget: 'upload',
|
||||
descriptionI18n: ' 提单号',
|
||||
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 < 5;
|
||||
if (!isLt2M) {
|
||||
this.service.msgSrv.warning('图片大小超过5M!');
|
||||
observer.complete();
|
||||
return;
|
||||
}
|
||||
observer.next(isLt2M);
|
||||
observer.complete();
|
||||
});
|
||||
}
|
||||
} as SFUploadWidgetSchema
|
||||
},
|
||||
avatar2: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
action: `/scm/cms/cms/upload/multipartFile/fileModel`,
|
||||
fileType: 'image/png,image/jpeg,image/jpg',
|
||||
limit: 1,
|
||||
limitFileCount: 1,
|
||||
resReName: 'url',
|
||||
urlReName: 'url',
|
||||
widget: 'upload',
|
||||
descriptionI18n: '人车货照片',
|
||||
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 < 5;
|
||||
if (!isLt2M) {
|
||||
this.service.msgSrv.warning('图片大小超过5M!');
|
||||
observer.complete();
|
||||
return;
|
||||
}
|
||||
observer.next(isLt2M);
|
||||
observer.complete();
|
||||
});
|
||||
}
|
||||
} as SFUploadWidgetSchema
|
||||
},
|
||||
no4: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
widget: 'text',
|
||||
},
|
||||
default: '单张大小不超过5M,支持.jpg、.jpeg和 .png格式',
|
||||
},
|
||||
avatar3: {
|
||||
type: 'string',
|
||||
title: '卸货凭证',
|
||||
ui: {
|
||||
action: `/scm/cms/cms/upload/multipartFile/fileModel`,
|
||||
fileType: 'image/png,image/jpeg,image/jpg',
|
||||
limit: 1,
|
||||
limitFileCount: 1,
|
||||
resReName: 'url',
|
||||
urlReName: 'url',
|
||||
widget: 'upload',
|
||||
descriptionI18n: ' 提单号',
|
||||
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 < 5;
|
||||
if (!isLt2M) {
|
||||
this.service.msgSrv.warning('图片大小超过5M!');
|
||||
observer.complete();
|
||||
return;
|
||||
}
|
||||
observer.next(isLt2M);
|
||||
observer.complete();
|
||||
});
|
||||
}
|
||||
} as SFUploadWidgetSchema
|
||||
},
|
||||
avatar4: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
action: `/scm/cms/cms/upload/multipartFile/fileModel`,
|
||||
fileType: 'image/png,image/jpeg,image/jpg',
|
||||
limit: 1,
|
||||
limitFileCount: 1,
|
||||
resReName: 'url',
|
||||
urlReName: 'url',
|
||||
widget: 'upload',
|
||||
descriptionI18n: '人车货照片',
|
||||
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 < 5;
|
||||
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 }
|
||||
},
|
||||
$avatar: { grid: { span: 12} },
|
||||
$avatar2: { grid: { span: 12} },
|
||||
$avatar3: { grid: { span: 12} },
|
||||
$avatar4: { grid: { span: 12} },
|
||||
};
|
||||
}
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-14 15:53:03
|
||||
* @LastEditTime: 2021-12-14 16:19:03
|
||||
* @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\sure-depart\sure-depart.component.html
|
||||
-->
|
||||
<sf #sf mode="edit" [schema]="schema" [ui]="ui" [formData]="i" button="none">
|
||||
<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>
|
||||
</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>
|
||||
@ -0,0 +1,7 @@
|
||||
.left_btn {
|
||||
width: 50px;
|
||||
height: 32px;
|
||||
padding-left: 8px;
|
||||
line-height:32px;
|
||||
background-color: #d7d7d7;
|
||||
}
|
||||
@ -0,0 +1,199 @@
|
||||
import { preloaderFinished } from '@delon/theme';
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-14 14:03:07
|
||||
* @LastEditTime: 2021-12-14 16:34:52
|
||||
* @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;
|
||||
data: any ={
|
||||
place1: '',
|
||||
place2: ''
|
||||
};
|
||||
@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: {
|
||||
datetime: {
|
||||
type: 'string',
|
||||
title: '装货时间',
|
||||
format: 'date-time',
|
||||
},
|
||||
no2: {
|
||||
type: 'string',
|
||||
title: '装货重量',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
}
|
||||
},
|
||||
no3: {
|
||||
type: 'string',
|
||||
title: '装货体积',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
}
|
||||
},
|
||||
no4: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
widget: 'text',
|
||||
},
|
||||
default: '单张大小不超过5M,支持.jpg、.jpeg和 .png格式',
|
||||
},
|
||||
avatar: {
|
||||
type: 'string',
|
||||
title: '装货凭证',
|
||||
ui: {
|
||||
action: `/scm/cms/cms/upload/multipartFile/fileModel`,
|
||||
fileType: 'image/png,image/jpeg,image/jpg',
|
||||
limit: 1,
|
||||
limitFileCount: 1,
|
||||
resReName: 'url',
|
||||
urlReName: 'url',
|
||||
widget: 'upload',
|
||||
descriptionI18n: ' 提单号',
|
||||
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 < 5;
|
||||
if (!isLt2M) {
|
||||
this.service.msgSrv.warning('图片大小超过5M!');
|
||||
observer.complete();
|
||||
return;
|
||||
}
|
||||
observer.next(isLt2M);
|
||||
observer.complete();
|
||||
});
|
||||
}
|
||||
} as SFUploadWidgetSchema
|
||||
},
|
||||
avatar2: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
action: `/scm/cms/cms/upload/multipartFile/fileModel`,
|
||||
fileType: 'image/png,image/jpeg,image/jpg',
|
||||
limit: 1,
|
||||
limitFileCount: 1,
|
||||
resReName: 'url',
|
||||
urlReName: 'url',
|
||||
widget: 'upload',
|
||||
descriptionI18n: '人车货照片',
|
||||
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 < 5;
|
||||
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 }
|
||||
},
|
||||
$avatar: { grid: { span: 12} },
|
||||
$avatar2: { grid: { span: 12} },
|
||||
};
|
||||
}
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
@ -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>
|
||||
@ -0,0 +1,7 @@
|
||||
.left_btn {
|
||||
width: 50px;
|
||||
height: 32px;
|
||||
padding-left: 8px;
|
||||
line-height:32px;
|
||||
background-color: #d7d7d7;
|
||||
}
|
||||
@ -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) {}
|
||||
}
|
||||
@ -11,7 +11,9 @@
|
||||
</nz-card>
|
||||
|
||||
<nz-card>
|
||||
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:-km,预计行程耗时:-小时</span></div>
|
||||
<div class="card-title"
|
||||
>装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div
|
||||
>
|
||||
<form nz-form [formGroup]="validateForm1" role="form">
|
||||
<div nz-row [nzGutter]="24">
|
||||
<div nz-col [nzSpan]="8">
|
||||
|
||||
@ -10,11 +10,10 @@ import {
|
||||
SFUISchema
|
||||
} from '@delon/form';
|
||||
import { _HttpClient } from '@delon/theme';
|
||||
import { AmapPoiPickerComponent } from '@shared';
|
||||
import { AmapPoiPickerComponent, AmapService, ShipperBaseService } from '@shared';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { PublishGoodsChooseFamifiarComponent } from '../choose-famifiar/choose-famifiar.component';
|
||||
import { SupplyManagementService} from '../../services/supply-management.service';
|
||||
import { debug } from 'console';
|
||||
@Component({
|
||||
selector: 'app-publish-goods-bulk-publish',
|
||||
templateUrl: './bulk-publish.component.html',
|
||||
@ -31,6 +30,8 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
creatTime: any; // 货源单设置回显
|
||||
modifyTime: any; // 货源单设置回显
|
||||
totalFees: any; // 总数信息
|
||||
totalDistance = 0.0; //总里程
|
||||
totalTime = 0.0; //路程总时间
|
||||
id = this.route.snapshot.params.id;
|
||||
// // 单位
|
||||
unit1 = '吨';
|
||||
@ -40,7 +41,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
endInfo: any = [];
|
||||
PageStatus = '';
|
||||
dataList: any;
|
||||
constructor(private http: _HttpClient, fb: FormBuilder, private router: Router, private route: ActivatedRoute, private modalService: NzModalService, public service: SupplyManagementService) {
|
||||
constructor(private http: _HttpClient, fb: FormBuilder, private router: Router, private route: ActivatedRoute, private modalService: NzModalService, public service: SupplyManagementService, private amapService: AmapService, public service2: ShipperBaseService,) {
|
||||
this.validateForm1 = fb.group({
|
||||
createTime: [null, []],
|
||||
modifyTime: [null, []],
|
||||
@ -113,16 +114,8 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
allowClear: true
|
||||
// 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'),
|
||||
allowClear: true,
|
||||
asyncData: () => this.service2.getEnterpriseProject(),
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
enterpriseInfoName: {
|
||||
@ -538,7 +531,6 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
nzWidth: 900,
|
||||
nzOnOk: item => {
|
||||
const poi = item.poi;
|
||||
console.log(item.poi);
|
||||
const locList = poi.location.toString().split(',');
|
||||
switch (type) {
|
||||
case 'start':
|
||||
@ -548,6 +540,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
this.startInfo[index].province = poi.cityInfo.province;
|
||||
this.startInfo[index].city = poi.cityInfo.city;
|
||||
this.startInfo[index].area = poi.cityInfo.district;
|
||||
this.startInfo[index].address = poi.name;
|
||||
break;
|
||||
case 'end':
|
||||
this.endInfo[index].detailedAddress = poi.district + poi.name;
|
||||
@ -556,10 +549,18 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
this.endInfo[index].province = poi.cityInfo.province;
|
||||
this.endInfo[index].city = poi.cityInfo.city;
|
||||
this.endInfo[index].area = poi.cityInfo.district;
|
||||
this.endInfo[index].address = poi.name;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (this.startInfo[0]?.area && this.endInfo[0]?.area) {
|
||||
this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe((res: any) => {
|
||||
this.totalDistance = res.distance;
|
||||
this.totalTime = res.time;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -662,19 +663,6 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
goodsName: res?.goodsInfoVOList[0]?.goodsName || '',
|
||||
}
|
||||
this.sf4data = {
|
||||
// weight: res?.goodsInfoVOList[0]?.weight || '',
|
||||
// volume: res?.goodsInfoVOList[0]?.volume || '',
|
||||
// vehicleDemand: res?.goodsInfoVOList[0]?.vehicleDemand || '',
|
||||
// maxCube: res?.goodsInfoVOList[0]?.maxCube?.split(',') || '',
|
||||
// maxWeight: res?.goodsInfoVOList[0]?.maxWeight?.split(',') || '',
|
||||
// number: res?.goodsInfoVOList[0]?.number || '',
|
||||
// goodsType: res?.goodsInfoVOList[0]?.goodsType || '',
|
||||
// modifyTime: res?.goodsInfoVOList[0]?.modifyTime || '',
|
||||
// modifyUserId: res?.goodsInfoVOList[0]?.modifyUserId || '',
|
||||
// resourceId: res?.goodsInfoVOList[0]?.resourceId || '',
|
||||
// rule: res?.goodsInfoVOList[0]?.rule || '',
|
||||
// settlementBasis: res?.goodsInfoVOList[0]?.settlementBasis || '',
|
||||
|
||||
freightPrice: res?.goodsInfoVOList[0]?.freightPrice || '',
|
||||
freightType: res?.goodsInfoVOList[0]?.freightType || '',
|
||||
rule: res?.goodsInfoVOList[0]?.rule || '',
|
||||
|
||||
@ -3,6 +3,7 @@ import { Router } from '@angular/router';
|
||||
import { STColumn, STComponent } from '@delon/abc/st';
|
||||
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||
import { ShipperBaseService } from '@shared';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { SupplyManagementService } from '../../services/supply-management.service';
|
||||
@ -33,7 +34,7 @@ export class SupplyManagementBulkComponent implements OnInit {
|
||||
receivedQuantity: 0,
|
||||
stayQuantity: 0
|
||||
};
|
||||
constructor(public service: SupplyManagementService, private modal: NzModalService, private router: Router) { }
|
||||
constructor(public service: SupplyManagementService, private modal: NzModalService, private router: Router,public service2: ShipperBaseService) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
this.initSF();
|
||||
@ -134,7 +135,7 @@ export class SupplyManagementBulkComponent implements OnInit {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
allowClear: true,
|
||||
asyncData: () => this.getCatalogueMember(),
|
||||
asyncData: () => this.service2.getEnterpriseProject(),
|
||||
},
|
||||
},
|
||||
no4: {
|
||||
|
||||
@ -11,7 +11,9 @@
|
||||
</nz-card>
|
||||
|
||||
<nz-card>
|
||||
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:-km,预计行程耗时:-小时</span></div>
|
||||
<div class="card-title"
|
||||
>装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div
|
||||
>
|
||||
<form nz-form [formGroup]="validateForm1" role="form">
|
||||
<div nz-row [nzGutter]="24">
|
||||
<div nz-col [nzSpan]="8">
|
||||
|
||||
@ -10,7 +10,7 @@ import {
|
||||
SFUISchema
|
||||
} from '@delon/form';
|
||||
import { _HttpClient } from '@delon/theme';
|
||||
import { AmapPoiPickerComponent } from '@shared';
|
||||
import { AmapPoiPickerComponent,AmapService } from '@shared';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { PublishGoodsChooseFamifiarComponent } from '../choose-famifiar/choose-famifiar.component';
|
||||
import { SupplyManagementService } from '../../services/supply-management.service';
|
||||
@ -35,6 +35,8 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
loadingTime: any; // 货源单设置回显
|
||||
unloadingTime: any; // 货源单设置回显
|
||||
totalFees: any; // 总数信息
|
||||
totalDistance = 0.0; //总里程
|
||||
totalTime = 0.0; //路程总时间
|
||||
npp =false
|
||||
id = this.route.snapshot.params.id;
|
||||
// // 单位
|
||||
@ -45,7 +47,15 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
endInfo: any = [];
|
||||
PageStatus = '';
|
||||
dataList: any;
|
||||
constructor(private http: _HttpClient, fb: FormBuilder, private router: Router, private route: ActivatedRoute, private modalService: NzModalService, public service: SupplyManagementService) {
|
||||
constructor(
|
||||
private http: _HttpClient,
|
||||
fb: FormBuilder,
|
||||
private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
private modalService: NzModalService,
|
||||
public service: SupplyManagementService,
|
||||
private amapService: AmapService
|
||||
) {
|
||||
this.validateForm1 = fb.group({
|
||||
loadingTime: [null, []],
|
||||
unloadingTime: [null, []],
|
||||
@ -684,7 +694,6 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
nzWidth: 900,
|
||||
nzOnOk: item => {
|
||||
const poi = item.poi;
|
||||
console.log(item.poi);
|
||||
const locList = poi.location.toString().split(',');
|
||||
switch (type) {
|
||||
case 'start':
|
||||
@ -694,6 +703,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
this.startInfo[index].province = poi.cityInfo.province;
|
||||
this.startInfo[index].city = poi.cityInfo.city;
|
||||
this.startInfo[index].area = poi.cityInfo.district;
|
||||
this.startInfo[index].address = poi.name;
|
||||
break;
|
||||
case 'end':
|
||||
this.endInfo[index].detailedAddress = poi.district + poi.name;
|
||||
@ -702,10 +712,18 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
this.endInfo[index].province = poi.cityInfo.province;
|
||||
this.endInfo[index].city = poi.cityInfo.city;
|
||||
this.endInfo[index].area = poi.cityInfo.district;
|
||||
this.endInfo[index].address = poi.name;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (this.startInfo[0]?.area && this.endInfo[0]?.area) {
|
||||
this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe((res: any) => {
|
||||
this.totalDistance = res.distance;
|
||||
this.totalTime = res.time;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
|
||||
auditMany = false;
|
||||
isVisible = false;
|
||||
_$expand = false;
|
||||
|
||||
@ViewChild('st') private readonly st!: STComponent;
|
||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||
@ViewChild('sfFre', { static: false }) sfFre!: SFComponent;
|
||||
|
||||
@ -46,7 +46,8 @@ export class AmapPoiPickerComponent implements OnInit {
|
||||
'AMap.PoiPicker',
|
||||
'AMap.Scale',
|
||||
'AMap.InfoWindow',
|
||||
'AMap.Geolocation'
|
||||
'AMap.Geolocation',
|
||||
'AMap.Geocoder'
|
||||
],
|
||||
AMapUI: {
|
||||
// 是否加载 AMapUI,缺省不加载
|
||||
@ -110,11 +111,18 @@ export class AmapPoiPickerComponent implements OnInit {
|
||||
|
||||
infoWindow.setContent(`地址: <pre>${poi.name}</pre>`);
|
||||
infoWindow.open(map, marker.getPosition());
|
||||
|
||||
map.setCenter(marker.getPosition());
|
||||
//获取行政区信息
|
||||
map.getCity(function (info: any) {
|
||||
poi.cityInfo = info;
|
||||
//获取地址所在的行政区
|
||||
AMap.plugin('AMap.Geocoder', () => {
|
||||
var geocoder = new AMap.Geocoder({
|
||||
city: poi.adcode
|
||||
});
|
||||
geocoder.getLocation(poi.name, (status: any, result: any) => {
|
||||
if (status === 'complete' && result.info === 'OK') {
|
||||
// result中对应详细地理坐标信息
|
||||
this.poi.cityInfo = result.geocodes[0].addressComponent;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@ -1,9 +1,31 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
import { Observable, Subject } from 'rxjs';
|
||||
declare var AMap: any;
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class AmapService {
|
||||
|
||||
constructor() {}
|
||||
public length = 0;
|
||||
public time = 0;
|
||||
|
||||
sub = new Subject<any>();
|
||||
|
||||
//计算路径驾车最优路线的长度与所需时间
|
||||
drivingCompute(starts: any[], ends: any[]): Observable<any> {
|
||||
AMap.plugin('AMap.Driving', () => {
|
||||
let driving = new AMap.Driving({
|
||||
// 驾车路线规划策略,AMap.DrivingPolicy.LEAST_TIME是最快捷模式
|
||||
policy: AMap.DrivingPolicy.LEAST_TIME
|
||||
});
|
||||
const points = starts.concat(ends).map(item => {
|
||||
return { keyword: item.address, city: item.city };
|
||||
});
|
||||
driving.search(points, (status: any, result: any) => {
|
||||
const repData = { distance: (result.routes[0].distance / 1000).toFixed(2), time: (result.routes[0].time / 60 / 60).toFixed(2) };
|
||||
this.sub.next(repData);
|
||||
});
|
||||
});
|
||||
return this.sub;
|
||||
}
|
||||
}
|
||||
|
||||
105
src/app/shared/services/business/shipper-base.service.ts
Normal file
105
src/app/shared/services/business/shipper-base.service.ts
Normal file
@ -0,0 +1,105 @@
|
||||
import { Injectable, Injector } from '@angular/core';
|
||||
import { BaseService } from '../core/base.service';
|
||||
import { map } from 'rxjs/operators';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class ShipperBaseService extends BaseService {
|
||||
$api_get_carless_carrier = ``; // 获取承运人
|
||||
$api_get_enterprise_project = `/api/mdc/cuc/enterpriseProject/getEnterpriseProjectList `; // 所属项目列表
|
||||
$api_get_staff_list = `/api/mdc/cuc/userApp/getStaffList`; //查询企业项目员工列表(录单员)
|
||||
$api_get_network_freight_forwarder = ``; // 获取网络货运人
|
||||
|
||||
|
||||
constructor(public injector: Injector) {
|
||||
super(injector);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取无车承运人
|
||||
* @returns
|
||||
*/
|
||||
getCarlessCarrier() {
|
||||
return
|
||||
const params = {
|
||||
};
|
||||
return this.request(this.$api_get_carless_carrier, params, 'POST').pipe(
|
||||
map((res) => {
|
||||
if (res) {
|
||||
res.map((m: any) => {
|
||||
return { label: m.platformName, value: m.operationId };
|
||||
});
|
||||
}
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取所属项目
|
||||
* @returns
|
||||
*/
|
||||
getEnterpriseProject(params = {}) {
|
||||
return this.request(this.$api_get_enterprise_project, params).pipe(
|
||||
map((res: any) => {
|
||||
if (!res) {
|
||||
return [];
|
||||
}
|
||||
const list = res.map(((item: any) => {
|
||||
return {
|
||||
label: item.projectName,
|
||||
value: item.enterpriseId
|
||||
}
|
||||
}))
|
||||
const obj = [{ value: '', label: '全部' }];
|
||||
return [...obj, ...list];
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取录单员
|
||||
* @returns
|
||||
*/
|
||||
getStaffList(params = {}) {
|
||||
return this.request(this.$api_get_staff_list, params).pipe(
|
||||
map((res: any) => {
|
||||
if (!res) {
|
||||
return [];
|
||||
}
|
||||
const list = res.map(((item: any) => {
|
||||
return {
|
||||
label: item.name,
|
||||
value: item.userId
|
||||
}
|
||||
}))
|
||||
const obj = [{ value: '', label: '全部' }];
|
||||
return [...obj, ...list];
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取网络货运人
|
||||
* @returns
|
||||
*/
|
||||
getNetworkFreightForwarder(params = {}) {
|
||||
return this.request(this.$api_get_network_freight_forwarder, params).pipe(
|
||||
map((res: any) => {
|
||||
if (!res) {
|
||||
return [];
|
||||
}
|
||||
const list = res.map(((item: any) => {
|
||||
return {
|
||||
label: item.name,
|
||||
value: item.userId
|
||||
}
|
||||
}))
|
||||
const obj = [{ value: '', label: '全部' }];
|
||||
return [...obj, ...list];
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,3 +1,11 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-07 16:27:52
|
||||
* @LastEditTime: 2021-12-14 21:09:21
|
||||
* @LastEditors: your name
|
||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
* @FilePath: \tms-obc-web\src\app\shared\services\index.ts
|
||||
*/
|
||||
// Core
|
||||
export * from './core/base.service';
|
||||
export * from './core/cache.service';
|
||||
@ -12,4 +20,5 @@ export * from './business/user.service';
|
||||
export * from './business/sl-platform.service';
|
||||
export * from './business/user.service';
|
||||
export * from './business/environment.service';
|
||||
export * from './business/shipper-base.service';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user