Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
40
package-lock.json
generated
40
package-lock.json
generated
@ -5172,6 +5172,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"css-line-break": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz",
|
||||
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
|
||||
"requires": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"css-loader": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/css-loader/download/css-loader-6.2.0.tgz?cache=0&sync_timestamp=1635967924209&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-6.2.0.tgz",
|
||||
@ -8113,6 +8121,15 @@
|
||||
"integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=",
|
||||
"dev": true
|
||||
},
|
||||
"html2canvas": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz",
|
||||
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
|
||||
"requires": {
|
||||
"css-line-break": "^2.1.0",
|
||||
"text-segmentation": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "3.10.1",
|
||||
"resolved": "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640940074&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz",
|
||||
@ -22662,6 +22679,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"text-segmentation": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz",
|
||||
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
|
||||
"requires": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"text-table": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
|
||||
@ -23211,6 +23236,21 @@
|
||||
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
|
||||
"dev": true
|
||||
},
|
||||
"utrie": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz",
|
||||
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
|
||||
"requires": {
|
||||
"base64-arraybuffer": "^1.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"base64-arraybuffer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz",
|
||||
|
||||
@ -56,6 +56,7 @@
|
||||
"@swimlane/ngx-charts": "^18.0.1",
|
||||
"ajv": "^8.6.2",
|
||||
"file-saver": "^2.0.5",
|
||||
"html2canvas": "^1.4.1",
|
||||
"js-base64": "^3.6.1",
|
||||
"masonry-layout": "^4.2.2",
|
||||
"ng-gallery": "^5.0.0",
|
||||
|
||||
@ -188,9 +188,10 @@ export class CostManagementComponent implements OnInit {
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
@ -212,9 +213,10 @@ export class CostManagementComponent implements OnInit {
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -213,9 +213,10 @@ export class insuranceManagementListComponent implements OnInit {
|
||||
_$expand: (value: boolean) => value
|
||||
},
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-24 16:58:02
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-01-20 20:32:44
|
||||
* @LastEditTime : 2022-03-01 13:42:44
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail-change\\bulk-detail-change.component.html
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
@ -89,6 +89,7 @@
|
||||
(click)="openMap('start', idx)"
|
||||
formControlName="loadAddress{{ idx }}"
|
||||
placeholder="请输入装货地"
|
||||
readonly="true"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</div>
|
||||
@ -141,6 +142,7 @@
|
||||
formControlName="unloadAddress{{ idx }}"
|
||||
placeholder="请输入卸货地"
|
||||
name="unloadAddress{{ idx }}"
|
||||
readonly="true"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</div>
|
||||
|
||||
@ -197,9 +197,10 @@ export class OrderManagementBulkComponent implements OnInit {
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -156,9 +156,10 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -131,9 +131,10 @@ export class OrderManagementReceiptsAuditComponent implements OnInit {
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -207,9 +207,10 @@ resourceStatus: any;
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q})
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
(click)="openMap('start', idx)"
|
||||
formControlName="loadAddress{{ idx }}"
|
||||
placeholder="请输入装货地"
|
||||
readonly="true"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</div>
|
||||
@ -80,6 +81,7 @@
|
||||
(click)="openMap('end', idx)"
|
||||
formControlName="unloadAddress{{ idx }}"
|
||||
placeholder="请输入卸货地"
|
||||
readonly="true"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</div>
|
||||
|
||||
@ -110,9 +110,10 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
searchDebounceTime: 300,
|
||||
searchLoadingText: '搜索中...',
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map(res => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
@ -120,7 +121,10 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
||||
}
|
||||
},
|
||||
change: (q: any) => {
|
||||
this.getRegionCode(q);
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
this.getRegionCode(str);
|
||||
}
|
||||
},
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
name="startDetailedAddress{{ idx }}"
|
||||
placeholder="请输入装货地"
|
||||
required
|
||||
readonly="true"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</div>
|
||||
@ -90,6 +91,7 @@
|
||||
name="endDetailedAddress{{ idx }}"
|
||||
placeholder="请输入卸货地"
|
||||
required
|
||||
readonly="true"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</div>
|
||||
|
||||
@ -121,9 +121,10 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map((res: any[]) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
@ -131,7 +132,10 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
|
||||
}
|
||||
},
|
||||
change: (q: any) => {
|
||||
this.getRegionCode(q);
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
this.getRegionCode(str);
|
||||
}
|
||||
}
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
|
||||
@ -209,10 +209,10 @@ export class SupplyManagementBulkComponent implements OnInit {
|
||||
},
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
console.log(q)
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q})
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -155,8 +155,8 @@
|
||||
<nz-form-label [nzSpan]="3" nzRequired>装货时间</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入装货时间'">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[nzShowTime]="{ nzFormat: 'HH' }"
|
||||
nzFormat="yyyy-MM-dd HH:00前"
|
||||
formControlName="loadingTime"
|
||||
[nzDisabledDate]="disabledDateStart"
|
||||
></nz-date-picker>
|
||||
@ -168,7 +168,8 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSpan]="3" nzRequired>卸货时间</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入卸货时间'">
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="unloadingTime"></nz-date-picker>
|
||||
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }"
|
||||
nzFormat="yyyy-MM-dd HH:00前" formControlName="unloadingTime"></nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
@ -38,8 +38,11 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
limitValues = {
|
||||
maxWeight: 99999,
|
||||
maxVolume: 99999,
|
||||
maxPiece: 99999
|
||||
};
|
||||
maxPiece: 99999,
|
||||
maxDays: 999,
|
||||
intervalDays: 999,
|
||||
maxTimes: 999,
|
||||
}
|
||||
sf1data: any; // 货源单设置回显
|
||||
sf3data: any; // 货源单设置回显
|
||||
sf4data: any; // 货源单设置回显
|
||||
@ -110,14 +113,18 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
@ViewChild('sf7', { static: false }) sf7!: SFComponent;
|
||||
schema7: SFSchema = {};
|
||||
ui7!: SFUISchema;
|
||||
|
||||
formatterRmb = (value: number): string => {
|
||||
if (value) {
|
||||
if (value === null || value === undefined) {
|
||||
return '';
|
||||
}else{
|
||||
let value2 = Number(value).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
return `¥${value2}`;
|
||||
}
|
||||
return `¥ 0.00`;
|
||||
|
||||
};
|
||||
parserRmb = (value: string): string => value.replace('¥', '').replace(',', '');
|
||||
|
||||
// 页面初始化
|
||||
ngOnInit(): void {
|
||||
if (this.route.snapshot?.queryParams?.sta === '1') {
|
||||
@ -147,10 +154,11 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
searchDebounceTime: 300,
|
||||
searchLoadingText: '搜索中...',
|
||||
onSearch: (q: any) => {
|
||||
console.log(q)
|
||||
if (q) {
|
||||
console.log(q === ' ')
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map(res => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
@ -158,8 +166,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
}
|
||||
},
|
||||
change: (q: any) => {
|
||||
if (q) {
|
||||
this.getRegionCode(q);
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
this.getRegionCode(str);
|
||||
}
|
||||
}
|
||||
} as SFSelectWidgetSchema
|
||||
@ -759,17 +768,30 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
getLimitvalue() {
|
||||
// 货物核载信息最大值
|
||||
// 货物运输费(小计)最大值
|
||||
const getlimitvaluesParms = [this.service.limitKeys.weight, this.service.limitKeys.volume, this.service.limitKeys.piece];
|
||||
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe(res => {
|
||||
const getlimitvaluesParms = [
|
||||
this.service.limitKeys.weight,
|
||||
this.service.limitKeys.volume,
|
||||
this.service.limitKeys.piece,
|
||||
this.service.limitKeys.maxDays,
|
||||
this.service.limitKeys.intervalDays,
|
||||
this.service.limitKeys.maxTimes,
|
||||
];
|
||||
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe((res) => {
|
||||
const maxWeight = res.filter((item: any) => item.itemKey === this.service.limitKeys.weight)[0].itemValue;
|
||||
const maxVolume = res.filter((item: any) => item.itemKey === this.service.limitKeys.volume)[0].itemValue;
|
||||
const maxPiece = res.filter((item: any) => item.itemKey === this.service.limitKeys.piece)[0].itemValue;
|
||||
const maxDays = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxDays)[0].itemValue;
|
||||
const intervalDays = res.filter((item: any) => item.itemKey === this.service.limitKeys.intervalDays)[0].itemValue;
|
||||
const maxTimes = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxTimes)[0].itemValue;
|
||||
this.limitValues = {
|
||||
maxWeight: Number(maxWeight),
|
||||
maxVolume: Number(maxVolume),
|
||||
maxPiece: Number(maxPiece)
|
||||
};
|
||||
});
|
||||
maxPiece: Number(maxPiece),
|
||||
maxDays: Number(maxDays),
|
||||
intervalDays: Number(intervalDays),
|
||||
maxTimes: Number(maxTimes),
|
||||
}
|
||||
})
|
||||
}
|
||||
subStartInfo(event: any, index: number) {
|
||||
this.startInfo.splice(index, 1);
|
||||
@ -896,7 +918,11 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
this.service.msgSrv.warning('总费用不能为0!');
|
||||
return;
|
||||
}
|
||||
|
||||
const num = (Number(this.validateForm1.value.unloadingTime) - Number(this.validateForm1.value.loadingTime))/(24*60*60*1000);
|
||||
if (num > this.limitValues.maxDays) {
|
||||
this.service.msgSrv.error(`当前计划装卸货时间间隔已超出限定值【${this.limitValues.maxDays}天】`);
|
||||
return;
|
||||
}
|
||||
if (
|
||||
this.sf4.value.weight > this.limitValues.maxWeight ||
|
||||
this.sf4.value.volume > this.limitValues.maxVolume ||
|
||||
@ -1328,7 +1354,13 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
||||
}
|
||||
// 不可选择的时间
|
||||
disabledDateStart = (current: Date): boolean => {
|
||||
return differenceInCalendarDays(new Date(), current) > 0;
|
||||
let d = new Date();
|
||||
let year = d.getFullYear();
|
||||
let month = d.getMonth();
|
||||
let date = d.getDate();
|
||||
let hours = d.getHours();
|
||||
let mydate = new Date(year, month, date + this.limitValues.maxDays,hours+1);
|
||||
return differenceInCalendarDays(new Date(), current) > 0 || new Date(current) > mydate;
|
||||
};
|
||||
// 装卸货地址互换
|
||||
swapAddress() {
|
||||
|
||||
@ -1,18 +1,8 @@
|
||||
<!--
|
||||
* @Description :
|
||||
* @Version : 1.0
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-03 11:10:14
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-02-28 20:00:13
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\qrcode-page\\qrcode-page.component.html
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
<nz-spin *ngIf="!i" class="modal-spin"></nz-spin>
|
||||
<div>
|
||||
<nz-alert nzType="warning" nzMessage="二维码用于司机扫码抢单" nzShowIcon></nz-alert>
|
||||
<div style="width: 50%;margin: 0 auto;">
|
||||
<div class="">
|
||||
<div style="width: 80%;margin: 0 auto;" id="qr_page">
|
||||
<div style="text-align: center;">
|
||||
|
||||
<h2> {{i?.enterpriseInfoName}}</h2>
|
||||
<qr [value]="qrCodeValue" #qr></qr>
|
||||
@ -23,6 +13,6 @@
|
||||
|
||||
</div>
|
||||
<div class="modal-footer text-center">
|
||||
<button nz-button type="submit" nzType="primary" (click)="downLoadQrcode('二维码')">下载二维码</button>
|
||||
<button nz-button type="submit" nzType="primary" (click)="toCanvasPhoto()">下载二维码</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-03 11:10:14
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-02-28 20:00:06
|
||||
* @LastEditTime : 2022-03-01 14:19:47
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\qrcode-page\\qrcode-page.component.ts
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
*/
|
||||
@ -13,6 +13,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { QRComponent } from '@delon/abc/qr';
|
||||
import { SFSchema, SFUISchema } from '@delon/form';
|
||||
import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||
import html2canvas from 'html2canvas';
|
||||
|
||||
@Component({
|
||||
selector: 'app-supply-management-qrcode-page',
|
||||
@ -50,16 +51,22 @@ export class SupplyManagementQrcodePageComponent implements OnInit {
|
||||
}
|
||||
|
||||
|
||||
downLoadQrcode(downloadName: any): void {
|
||||
/**
|
||||
* 下载二维码
|
||||
* @param downloadName 文件名
|
||||
* @param contents 内容
|
||||
*/
|
||||
downLoadQrcode(downloadName: any, contents: any): void {
|
||||
let aLink = document.createElement('a');
|
||||
const content = this.qr.dataURL;
|
||||
const content = contents;
|
||||
let blob = this.base64ToBlob(content); //new Blob([content]);
|
||||
let evt = document.createEvent("HTMLEvents");
|
||||
evt.initEvent("click", true, true);//initEvent 不加后两个参数在IE下会报错 事件类型,是否冒泡,是否阻止浏览器的默认行为
|
||||
aLink.download = downloadName;
|
||||
aLink.href = URL.createObjectURL(blob);
|
||||
// aLink.dispatchEvent(evt);
|
||||
aLink.click()
|
||||
aLink.click();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -80,4 +87,17 @@ export class SupplyManagementQrcodePageComponent implements OnInit {
|
||||
this.modal.destroy();
|
||||
}
|
||||
|
||||
/**
|
||||
* 把页面装成canvas
|
||||
*/
|
||||
toCanvasPhoto() {
|
||||
let aLink = document.createElement('a');
|
||||
html2canvas(document.getElementById('qr_page')!, { height: 340 }).then((canvas:any) => {
|
||||
let url = canvas.toDataURL("image/jpeg");
|
||||
this.downLoadQrcode('二维码', url);
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -161,8 +161,8 @@
|
||||
<nz-form-label [nzSpan]="3" nzRequired>装货时间</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入装货时间'">
|
||||
<nz-date-picker
|
||||
nzShowTime
|
||||
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||
[nzShowTime]="{ nzFormat: 'HH' }"
|
||||
nzFormat="yyyy-MM-dd HH:00前"
|
||||
formControlName="loadingTime"
|
||||
[nzDisabledDate]="disabledDateStart"
|
||||
></nz-date-picker>
|
||||
@ -174,7 +174,8 @@
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSpan]="3" nzRequired>卸货时间</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入卸货时间'">
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="unloadingTime"></nz-date-picker>
|
||||
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }"
|
||||
nzFormat="yyyy-MM-dd HH:00前" formControlName="unloadingTime"></nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
|
||||
@ -102,12 +102,22 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
@ViewChild('sf7', { static: false }) sf7!: SFComponent;
|
||||
schema7: SFSchema = {};
|
||||
ui7!: SFUISchema;
|
||||
limitValues = {
|
||||
maxWeight: 99999,
|
||||
maxVolume: 99999,
|
||||
maxPiece: 99999,
|
||||
maxDays: 999,
|
||||
intervalDays: 999,
|
||||
maxTimes: 999,
|
||||
}
|
||||
|
||||
formatterRmb = (value: number): string => {
|
||||
if(value){
|
||||
let value2 = Number(value).toLocaleString(undefined,{'minimumFractionDigits':2,'maximumFractionDigits':2});
|
||||
if (value === null || value === undefined) {
|
||||
return '';
|
||||
}else{
|
||||
let value2 = Number(value).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||
return `¥${value2}`;
|
||||
}
|
||||
return `¥ 0.00`
|
||||
|
||||
};
|
||||
parserRmb = (value: string): string => value.replace('¥', '').replace(',', '');
|
||||
@ -121,6 +131,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
this.initSF7();
|
||||
this.addStartInfo();
|
||||
this.addEndInfo();
|
||||
this.getLimitvalue();
|
||||
}
|
||||
initSF1() {
|
||||
this.schema1 = {
|
||||
@ -135,9 +146,11 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
searchDebounceTime: 300,
|
||||
searchLoadingText: '搜索中...',
|
||||
onSearch: (q: any) => {
|
||||
if (q) {
|
||||
console.log(q === ' ')
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map(res => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
@ -145,8 +158,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
}
|
||||
},
|
||||
change: (q: any) => {
|
||||
if (q) {
|
||||
this.getRegionCode(q);
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
this.getRegionCode(str);
|
||||
}
|
||||
},
|
||||
} as SFSelectWidgetSchema
|
||||
@ -655,6 +669,34 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
||||
grid: { span: 24 }
|
||||
}
|
||||
};
|
||||
}
|
||||
getLimitvalue() {
|
||||
// 货物核载信息最大值
|
||||
// 货物运输费(小计)最大值
|
||||
const getlimitvaluesParms = [
|
||||
this.service.limitKeys.weight,
|
||||
this.service.limitKeys.volume,
|
||||
this.service.limitKeys.piece,
|
||||
this.service.limitKeys.maxDays,
|
||||
this.service.limitKeys.intervalDays,
|
||||
this.service.limitKeys.maxTimes,
|
||||
];
|
||||
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe((res) => {
|
||||
const maxWeight = res.filter((item: any) => item.itemKey === this.service.limitKeys.weight)[0].itemValue;
|
||||
const maxVolume = res.filter((item: any) => item.itemKey === this.service.limitKeys.volume)[0].itemValue;
|
||||
const maxPiece = res.filter((item: any) => item.itemKey === this.service.limitKeys.piece)[0].itemValue;
|
||||
const maxDays = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxDays)[0].itemValue;
|
||||
const intervalDays = res.filter((item: any) => item.itemKey === this.service.limitKeys.intervalDays)[0].itemValue;
|
||||
const maxTimes = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxTimes)[0].itemValue;
|
||||
this.limitValues = {
|
||||
maxWeight: Number(maxWeight),
|
||||
maxVolume: Number(maxVolume),
|
||||
maxPiece: Number(maxPiece),
|
||||
maxDays: Number(maxDays),
|
||||
intervalDays: Number(intervalDays),
|
||||
maxTimes: Number(maxTimes),
|
||||
}
|
||||
})
|
||||
}
|
||||
// 不可选择的时间
|
||||
disabledDateStart = (current: Date): boolean => {
|
||||
|
||||
@ -388,10 +388,10 @@ export class SupplyManagementVehicleComponent implements OnInit {
|
||||
},
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
console.log(q);
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-03 11:10:14
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-02-28 19:34:22
|
||||
* @LastEditTime : 2022-03-01 14:08:30
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\services\\supply-management.service.ts
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
*/
|
||||
@ -141,8 +141,12 @@ export class SupplyManagementService extends BaseService {
|
||||
public limitKeys = {
|
||||
weight:'sys.config.goods.approvalCarMaxWeight', //整车-核载重量上限
|
||||
volume:'sys.config.goods.approvalCarMaxVolume', //整车-核载体积上限
|
||||
piece: 'sys.config.goods.approvalCarMaxPiece' //整车-核载件数上限
|
||||
};
|
||||
piece:'sys.config.goods.approvalCarMaxPiece', //整车-核载件数上限
|
||||
maxDays:'sys.config.goods.wholeLoadingMaxDays', //整车-计划装货时间上限
|
||||
intervalDays:'sys.config.goods.wholeUnloadingIntervalDays', //计划装、卸货时间间隔
|
||||
maxTimes:'sys.config.goods.wholeLoadingMaxTimes', //整车-多装多卸地点上限
|
||||
}
|
||||
|
||||
// 根据ItemKey获取项值
|
||||
public $api_findItemValueByItemKeys = '/api/mdc/pbc/sysConfigItem/findItemValueByItemKeys';
|
||||
// 获取保价费信息
|
||||
|
||||
@ -159,10 +159,10 @@ export class CloseAccountComponent implements OnInit {
|
||||
searchDebounceTime: 300,
|
||||
searchLoadingText: '搜索中...',
|
||||
onSearch: (q: any) => {
|
||||
console.log(q)
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q})
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -124,10 +124,10 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
console.log(q)
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q})
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -96,9 +96,10 @@ tabs = {
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
console.log(q)
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q})
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
@ -93,10 +93,10 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
console.log(q)
|
||||
if (!!q) {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: q})
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user