Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
70
src/app/routes/commom/less/commom-table.less
Normal file
70
src/app/routes/commom/less/commom-table.less
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
:host {
|
||||||
|
::ng-deep {
|
||||||
|
nz-card {
|
||||||
|
margin: -24px -24px 0;
|
||||||
|
|
||||||
|
.ant-tabs-nav {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-tabs-tab {
|
||||||
|
margin: 0 0 0 16px;
|
||||||
|
padding: 12px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-body {
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-box {
|
||||||
|
.ant-card-body {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-pagination.ant-pagination {
|
||||||
|
margin: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-thead > tr > th,
|
||||||
|
.ant-table-tbody > tr > td,
|
||||||
|
.ant-table tfoot > tr > th,
|
||||||
|
.ant-table tfoot > tr > td {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table.ant-table-bordered > .ant-table-container {
|
||||||
|
border-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-item {
|
||||||
|
min-width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
line-height: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-total-text {
|
||||||
|
height: 24px;
|
||||||
|
line-height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-prev,
|
||||||
|
.ant-pagination-next,
|
||||||
|
.ant-pagination-jump-prev,
|
||||||
|
.ant-pagination-jump-next {
|
||||||
|
min-width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
line-height: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-single .ant-select-selector .ant-select-selection-item,
|
||||||
|
.ant-select-single .ant-select-selector .ant-select-selection-placeholder {
|
||||||
|
line-height: 21px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -82,7 +82,7 @@ export class PaymentRecordComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
orderSn: {
|
orderPaymentCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '支付编号',
|
title: '支付编号',
|
||||||
ui: {
|
ui: {
|
||||||
|
|||||||
@ -151,7 +151,7 @@ export class TransactionFlowComponent {
|
|||||||
},
|
},
|
||||||
default: ''
|
default: ''
|
||||||
},
|
},
|
||||||
orderS2n2221: {
|
enterpriseName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '账户名称',
|
title: '账户名称',
|
||||||
ui: {
|
ui: {
|
||||||
@ -213,7 +213,7 @@ export class TransactionFlowComponent {
|
|||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '交易时间', index: 'createTime', width: 180 },
|
{ title: '交易时间', index: 'createTime', width: 180 },
|
||||||
{ title: '流水号', index: 'transactionNumber', width: 170 },
|
{ title: '流水号', index: 'transactionNumber', width: 180 },
|
||||||
{ title: '交易类型', index: 'tradeTypeLabel', width: 120 },
|
{ title: '交易类型', index: 'tradeTypeLabel', width: 120 },
|
||||||
{ title: '关联单号', index: 'businessNumber', width: 150 },
|
{ title: '关联单号', index: 'businessNumber', width: 150 },
|
||||||
{ title: '账户类型', index: 'accountTypeLabel', width: 130 },
|
{ title: '账户类型', index: 'accountTypeLabel', width: 130 },
|
||||||
|
|||||||
@ -348,7 +348,7 @@
|
|||||||
</st>
|
</st>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="12">
|
<div nz-col [nzSpan]="12">
|
||||||
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
|
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-06 20:20:26
|
* @Date : 2021-12-06 20:20:26
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-21 14:43:04
|
* @LastEditTime : 2022-03-22 11:06:16
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -212,7 +212,7 @@
|
|||||||
</st>
|
</st>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="12">
|
<div nz-col [nzSpan]="12">
|
||||||
<amap-path-simplifier [mapWidth]="'100%'" [pois]="pois" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
|
<amap-path-simplifier [mapWidth]="'100%'" [pois]="pois" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -232,9 +232,9 @@
|
|||||||
您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您!
|
您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您!
|
||||||
</div>
|
</div>
|
||||||
<div>如果您的运单没有问题,可以提出申诉,并提供相关资料,我们将24小时内审核反馈</div>
|
<div>如果您的运单没有问题,可以提出申诉,并提供相关资料,我们将24小时内审核反馈</div>
|
||||||
<ul>
|
<ul *ngFor="let item of abnormalList">
|
||||||
<li>系统识别:司机装货轨迹异常</li>
|
<li>系统识别:{{item?.complianceTypeName}}</li>
|
||||||
<li>司机装货轨迹异常,您可在企业端提交申诉材料或联系客服。</li>
|
<li>{{item?.determineDetails}},您可在企业端提交申诉材料或联系客服。</li>
|
||||||
<li>2021-11-07 03:20:15</li>
|
<li>2021-11-07 03:20:15</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-06 20:20:26
|
* @Date : 2021-12-06 20:20:26
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-21 14:43:06
|
* @LastEditTime : 2022-03-22 10:56:18
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -29,6 +29,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
|
|||||||
id = this.route.snapshot.params.id;
|
id = this.route.snapshot.params.id;
|
||||||
billExpenses: any[] = []; //运费信息表格信息
|
billExpenses: any[] = []; //运费信息表格信息
|
||||||
pois: any[] = [];
|
pois: any[] = [];
|
||||||
|
abnormalList: any[] = [];
|
||||||
i: any;
|
i: any;
|
||||||
imges: any;
|
imges: any;
|
||||||
totalObj: any;
|
totalObj: any;
|
||||||
@ -96,10 +97,17 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.service.request(this.service.$api_get_getRiskDetail, { id: this.id }).subscribe(res => {
|
this.service.request(this.service.$api_listBillComplianceAbnormalByBillId, { id: this.id }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
console.log('风险详情')
|
console.log('风险详情')
|
||||||
console.log(res)
|
console.log(res)
|
||||||
|
this.abnormalList = res
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.service.request(this.service.$api_getAbnormalWarningByBillId, { id: this.id }).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
console.log('异常预警')
|
||||||
|
console.log(res)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,8 +30,8 @@ export class OrderManagementComplaintComponent implements OnInit {
|
|||||||
columns: STColumn[] = [];
|
columns: STColumn[] = [];
|
||||||
selectedIndex: number = 0;
|
selectedIndex: number = 0;
|
||||||
mainTabs = [
|
mainTabs = [
|
||||||
{ name: '投诉', status: '1' },
|
{ name: '司机投诉', status: '1' },
|
||||||
{ name: '被投诉', status: '2' },
|
{ name: '货主投诉', status: '2' },
|
||||||
]
|
]
|
||||||
tabs = [ {
|
tabs = [ {
|
||||||
name: '全部',
|
name: '全部',
|
||||||
|
|||||||
@ -140,7 +140,10 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
|
|||||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
billCode: {
|
billCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '订单号'
|
title: '订单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多100个单号,空号隔开'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
resourceCode: {
|
resourceCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
|||||||
@ -115,7 +115,10 @@ export class OrderManagementReceiptsAuditComponent implements OnInit {
|
|||||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
billCode: {
|
billCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '订单号'
|
title: '订单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多100个单号,空号隔开'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
resourceCode: {
|
resourceCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-12 10:52:50
|
* @Date : 2022-01-12 10:52:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-21 15:09:10
|
* @LastEditTime : 2022-03-22 09:42:03
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\risk\\risk.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\risk\\risk.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -92,7 +92,7 @@
|
|||||||
<div *ngFor="let i of item?.goodsInfoVOList">
|
<div *ngFor="let i of item?.goodsInfoVOList">
|
||||||
<p>货物名称:{{ i?.goodsName }}</p>
|
<p>货物名称:{{ i?.goodsName }}</p>
|
||||||
<p>重量/体积:{{ i?.weight }}吨/{{ i?.volume }}方</p>
|
<p>重量/体积:{{ i?.weight }}吨/{{ i?.volume }}方</p>
|
||||||
<p>车型/车长:{{ i?.carModel }}/ {{ i?.carLength }}</p>
|
<p>车型/车长:{{ i?.carModelLabel }}/ {{ i?.carLengthLabel }}</p>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
|
|||||||
@ -109,7 +109,10 @@ export class OrderManagementRiskComponent implements OnInit {
|
|||||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
billCode: {
|
billCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '订单号'
|
title: '订单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多100个单号,空号隔开'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
resourceCode: {
|
resourceCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@ -234,9 +237,9 @@ export class OrderManagementRiskComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '申诉状态',
|
title: '申诉状态',
|
||||||
width: '100px',
|
width: '180px',
|
||||||
className: 'text-left',
|
className: 'text-left',
|
||||||
index: 'representationsStatus'
|
index: 'representationsStatusLabel'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '货源编号',
|
title: '货源编号',
|
||||||
@ -279,7 +282,7 @@ export class OrderManagementRiskComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '货物信息',
|
title: '货物信息',
|
||||||
className: 'text-left',
|
className: 'text-left',
|
||||||
width: '200px',
|
width: '250px',
|
||||||
render: 'goodsInfoVOList'
|
render: 'goodsInfoVOList'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -476,7 +479,7 @@ export class OrderManagementRiskComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
audit(item?: any) {
|
audit(item?: any) {
|
||||||
if (item) {
|
if (item) {
|
||||||
this.auditId = item.id;
|
this.auditId = item.billCode;
|
||||||
this.initSTAudit(1);
|
this.initSTAudit(1);
|
||||||
this.isVisibleRE = true;
|
this.isVisibleRE = true;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -322,7 +322,7 @@
|
|||||||
</st>
|
</st>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="12">
|
<div nz-col [nzSpan]="12">
|
||||||
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
|
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -218,7 +218,7 @@
|
|||||||
</st>
|
</st>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="12">
|
<div nz-col [nzSpan]="12">
|
||||||
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList" [pois]="pois"></amap-path-simplifier>
|
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois"></amap-path-simplifier>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -149,7 +149,8 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
|
|||||||
points?.forEach((item: any) => {
|
points?.forEach((item: any) => {
|
||||||
list.push({
|
list.push({
|
||||||
name: `${item.spd}km/h`,
|
name: `${item.spd}km/h`,
|
||||||
lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))]
|
lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))],
|
||||||
|
time: item.gtm
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
this.mapList = list;
|
this.mapList = list;
|
||||||
|
|||||||
@ -9,30 +9,16 @@
|
|||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
<!-- 搜索表单 -->
|
<!-- 搜索表单 -->
|
||||||
<page-header-wrapper [title]="''"> </page-header-wrapper>
|
<!-- <page-header-wrapper [title]="''"> </page-header-wrapper> -->
|
||||||
<nz-card>
|
<!-- <nz-card class="search-box">
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
|
||||||
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
|
||||||
<sf
|
|
||||||
#sf
|
|
||||||
[schema]="schema"
|
|
||||||
[ui]="ui"
|
|
||||||
[mode]="'search'"
|
|
||||||
[disabled]="!sf?.valid"
|
|
||||||
[loading]="false"
|
|
||||||
(formSubmit)="st?.load(1)"
|
|
||||||
(formReset)="resetSF()"
|
|
||||||
></sf>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
|
||||||
<ng-container *ngIf="queryFieldCount > 4">
|
<ng-container *ngIf="queryFieldCount > 4">
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right">
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right" [class.expend-options]="_$expand">
|
||||||
<button nz-button nzType="primary" [nzLoading]="loading" (click)="search()" acl [acl-ability]="['ORDER-VEHICLE-search']">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="loading" (click)="search()" acl
|
||||||
|
[acl-ability]="['ORDER-VEHICLE-search']">查询</button>
|
||||||
<button nz-button nzType="primary" [disabled]="loading">导出</button>
|
<button nz-button nzType="primary" [disabled]="loading">导出</button>
|
||||||
<button nz-button [disabled]="loading" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="loading" (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -42,30 +28,29 @@
|
|||||||
</div>
|
</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card> -->
|
||||||
|
|
||||||
<nz-card>
|
<nz-card class="table-box">
|
||||||
<nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate">
|
<div style="display: flex;align-items: center;">
|
||||||
<nz-tab [nzTitle]="'全部(' + tabs?.totalCount + ')'"></nz-tab>
|
<label style="font-weight: bold;font-size: 17px;">
|
||||||
<nz-tab [nzTitle]="'待接单(' + tabs?.receivedQuantity + ')'"></nz-tab>
|
<label style="color: #ff4d4f;margin-left: 17px;margin-right: 6px;">|</label>
|
||||||
<nz-tab [nzTitle]="'待发车(' + tabs?.stayQuantity + ')'"></nz-tab>
|
整车订单</label>
|
||||||
<nz-tab [nzTitle]="'运输中(' + tabs?.GoingQuantity + ')'"></nz-tab>
|
<nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate" style="flex: 1;">
|
||||||
<nz-tab [nzTitle]="'待签收(' + tabs?.signQuantity + ')'"></nz-tab>
|
<nz-tab [nzTitle]="'全部(' + tabs?.totalCount + ')'"></nz-tab>
|
||||||
<nz-tab [nzTitle]="'已完成(' + tabs?.compolatelQuantity + ')'"></nz-tab>
|
<nz-tab [nzTitle]="'待接单(' + tabs?.receivedQuantity + ')'"></nz-tab>
|
||||||
<nz-tab [nzTitle]="'已取消(' + tabs?.cancelQuantity + ')'"></nz-tab>
|
<nz-tab [nzTitle]="'待发车(' + tabs?.stayQuantity + ')'"></nz-tab>
|
||||||
</nz-tabset>
|
<nz-tab [nzTitle]="'运输中(' + tabs?.GoingQuantity + ')'"></nz-tab>
|
||||||
<div style="margin-top: 15px">
|
<nz-tab [nzTitle]="'待签收(' + tabs?.signQuantity + ')'"></nz-tab>
|
||||||
<st
|
<nz-tab [nzTitle]="'已完成(' + tabs?.compolatelQuantity + ')'"></nz-tab>
|
||||||
#st
|
<nz-tab [nzTitle]="'已取消(' + tabs?.cancelQuantity + ')'"></nz-tab>
|
||||||
[bordered]="true"
|
</nz-tabset>
|
||||||
multiSort
|
</div>
|
||||||
[scroll]="{ x: '1200px' }"
|
|
||||||
[data]="service.$api_get_listWholePage"
|
<div>
|
||||||
[columns]="columns"
|
<st #st [bordered]="true" multiSort [scroll]="{ x:'1200px',y:scrollY }" [data]="service.$api_get_listWholePage"
|
||||||
[req]="{ process: beforeReq }"
|
[columns]="columns" [req]="{ process: beforeReq }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } , process: afterRes}"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } , process: afterRes}"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }">
|
||||||
>
|
|
||||||
<ng-template st-row="billCode" let-item let-index="index">
|
<ng-template st-row="billCode" let-item let-index="index">
|
||||||
<a [routerLink]="'vehicle-detail/' + item.id">{{ item.billCode }}</a>
|
<a [routerLink]="'vehicle-detail/' + item.id">{{ item.billCode }}</a>
|
||||||
<div>
|
<div>
|
||||||
@ -97,8 +82,9 @@
|
|||||||
<ng-template st-row="mybidDetailInfo" let-item let-index="index">
|
<ng-template st-row="mybidDetailInfo" let-item let-index="index">
|
||||||
<div *ngIf="item.mybidDetailInfo.length > 0">
|
<div *ngIf="item.mybidDetailInfo.length > 0">
|
||||||
<div *ngFor="let data of item.mybidDetailInfo">
|
<div *ngFor="let data of item.mybidDetailInfo">
|
||||||
{{ data.expenseName }}:{{ data.price | currency }}
|
{{ data.expenseName }}:{{ data.price | currency }}
|
||||||
<span *ngIf="data.paymentStatus && data.paymentStatus === '1' && data.price>0" style="color: #f59a63">待申请</span>
|
<span *ngIf="data.paymentStatus && data.paymentStatus === '1' && data.price>0"
|
||||||
|
style="color: #f59a63">待申请</span>
|
||||||
<span *ngIf="data.paymentStatus && data.paymentStatus === '2'" style="color: #f59a63">已支付</span>
|
<span *ngIf="data.paymentStatus && data.paymentStatus === '2'" style="color: #f59a63">已支付</span>
|
||||||
<span *ngIf="data.paymentStatus && data.paymentStatus === '3'" style="color: #f59a63">已拒绝</span>
|
<span *ngIf="data.paymentStatus && data.paymentStatus === '3'" style="color: #f59a63">已拒绝</span>
|
||||||
<span *ngIf="data.paymentStatus && data.paymentStatus === '4'" style="color: #f59a63">申请中</span>
|
<span *ngIf="data.paymentStatus && data.paymentStatus === '4'" style="color: #f59a63">申请中</span>
|
||||||
@ -126,18 +112,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooter" nzTitle="运费变更记录" (nzOnCancel)="handleCancel('0')">
|
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooter" nzTitle="运费变更记录"
|
||||||
|
(nzOnCancel)="handleCancel('0')">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<st
|
<st #stFloat multiSort size="small" [bordered]="true" [data]="service.$api_get_listChangeApply"
|
||||||
#stFloat
|
|
||||||
multiSort
|
|
||||||
size="small"
|
|
||||||
[bordered]="true"
|
|
||||||
[data]="service.$api_get_listChangeApply"
|
|
||||||
[columns]="columnsFloat"
|
[columns]="columnsFloat"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: changeParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: changeParams }"
|
||||||
[res]="{ reName: { list: 'data', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data', total: 'data.total' } }">
|
||||||
>
|
|
||||||
<ng-template st-row="order" let-item let-index="index">
|
<ng-template st-row="order" let-item let-index="index">
|
||||||
{{ index + 1 }}
|
{{ index + 1 }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -149,31 +130,23 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</nz-modal>
|
</nz-modal>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisibleView" [nzWidth]="600" [nzFooter]="nzModalFooterview" nzTitle="查看" (nzOnCancel)="handleCancel('1')">
|
<nz-modal [(nzVisible)]="isVisibleView" [nzWidth]="600" [nzFooter]="nzModalFooterview" nzTitle="查看"
|
||||||
|
(nzOnCancel)="handleCancel('1')">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<st
|
<st #stFloatView size="small" [bordered]="true" [data]="service.$api_getChangeRecordWholeDetail"
|
||||||
#stFloatView
|
[columns]="columnsFloatView" [req]="{ method: 'POST', allInBody: true, params: changeViewParams }"
|
||||||
size="small"
|
[res]="{ reName: { list: 'data.list', total: 'data.total' } }">
|
||||||
[bordered]="true"
|
|
||||||
[data]="service.$api_getChangeRecordWholeDetail"
|
|
||||||
[columns]="columnsFloatView"
|
|
||||||
[req]="{ method: 'POST', allInBody: true, params: changeViewParams }"
|
|
||||||
[res]="{ reName: { list: 'data.list', total: 'data.total' } }"
|
|
||||||
>
|
|
||||||
<ng-template st-row="amountBeforeChange" let-item let-index="index">
|
<ng-template st-row="amountBeforeChange" let-item let-index="index">
|
||||||
{{ item.amountBeforeChange | currency }}
|
{{ item.amountBeforeChange | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="amountchangeValue" let-item let-index="index"> ¥{{ item.amountchangeValue | number: '0.2-2' }} </ng-template>
|
<ng-template st-row="amountchangeValue" let-item let-index="index"> ¥{{ item.amountchangeValue | number: '0.2-2'
|
||||||
|
}} </ng-template>
|
||||||
<ng-template st-row="amountAfterChange" let-item let-index="index">
|
<ng-template st-row="amountAfterChange" let-item let-index="index">
|
||||||
{{ item.amountAfterChange | currency }}
|
{{ item.amountAfterChange | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
<div
|
<div><span>变更原因:{{ ViewCause?.changeCause }}</span></div>
|
||||||
><span>变更原因:{{ ViewCause?.changeCause }}</span></div
|
<div><span>拒绝原因:{{ ViewCause?.refuseCause }}</span></div>
|
||||||
>
|
|
||||||
<div
|
|
||||||
><span>拒绝原因:{{ ViewCause?.refuseCause }}</span></div
|
|
||||||
>
|
|
||||||
<div><span>注:附加费依据调整后的运输费用重新计算</span></div>
|
<div><span>注:附加费依据调整后的运输费用重新计算</span></div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #nzModalFooterview>
|
<ng-template #nzModalFooterview>
|
||||||
@ -182,7 +155,8 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</nz-modal>
|
</nz-modal>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisibleEvaluate" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnCancel)="handleCancel('2')">
|
<nz-modal [(nzVisible)]="isVisibleEvaluate" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate"
|
||||||
|
(nzOnCancel)="handleCancel('2')">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<nz-tabset>
|
<nz-tabset>
|
||||||
<nz-tab nzTitle="货主评价">
|
<nz-tab nzTitle="货主评价">
|
||||||
@ -208,32 +182,44 @@
|
|||||||
<button nz-button nzType="primary" (click)="handleCancel('2')">确定</button>
|
<button nz-button nzType="primary" (click)="handleCancel('2')">确定</button>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</nz-modal>
|
</nz-modal>
|
||||||
|
|
||||||
|
<nz-drawer [nzBodyStyle]="{ overflow: 'auto' }" [nzMaskClosable]="false" [nzWidth]="420" [nzVisible]="visible"
|
||||||
|
[nzMaskClosable]="true" nzTitle="筛选" [nzFooter]="footerTpl" (nzOnClose)="visible=false">
|
||||||
|
<div *nzDrawerContent>
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||||
|
</div>
|
||||||
|
<ng-template #footerTpl>
|
||||||
|
<div style="float: right">
|
||||||
|
<button nz-button (click)="visible=false">关闭</button>
|
||||||
|
<button nz-button [disabled]="loading" (click)="resetSF()">重置</button>
|
||||||
|
<button nz-button nzType="primary" (click)="search();;">搜索</button>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
</nz-drawer>
|
||||||
|
|
||||||
<ng-template #extraTemplate>
|
<ng-template #extraTemplate>
|
||||||
<div>
|
<div>
|
||||||
<button nz-button nzType="primary" (click)="modifyRate()" acl [acl-ability]="['ORDER-VEHICLE-modificationAdditional']"> 修改附加费率 </button>
|
<button nz-button nzType="primary" (click)="modifyRate()" acl
|
||||||
<button nz-button nzType="primary" (click)="modifyFreightPeople()" acl [acl-ability]="['ORDER-VEHICLE-modificationNetworkFreight']"> 修改网络货运人 </button>
|
[acl-ability]="['ORDER-VEHICLE-modificationAdditional']"> 修改附加费率 </button>
|
||||||
<button nz-button nzType="primary" (click)="modifycaptain()" acl [acl-ability]="['ORDER-VEHICLE-modificationCarCaptain']"> 修改车队长 </button>
|
<button nz-button nzType="primary" (click)="modifyFreightPeople()" acl
|
||||||
<button
|
[acl-ability]="['ORDER-VEHICLE-modificationNetworkFreight']"> 修改网络货运人 </button>
|
||||||
*ngIf="resourceStatus == 4"
|
<button nz-button nzType="primary" (click)="modifycaptain()" acl
|
||||||
nz-button
|
[acl-ability]="['ORDER-VEHICLE-modificationCarCaptain']"> 修改车队长 </button>
|
||||||
nzType="primary"
|
<button *ngIf="resourceStatus == 4" nz-button nzType="primary" nzGhost nz-popconfirm [nzPopconfirmTitle]="enable"
|
||||||
nzGhost
|
(nzOnConfirm)="userAction()" nzPopconfirmPlacement="bottomRight" acl
|
||||||
nz-popconfirm
|
[acl-ability]="['ORDER-VEHICLE-batchSignWholeOrder']">
|
||||||
[nzPopconfirmTitle]="enable"
|
|
||||||
(nzOnConfirm)="userAction()"
|
|
||||||
nzPopconfirmPlacement="bottomRight"
|
|
||||||
acl [acl-ability]="['ORDER-VEHICLE-batchSignWholeOrder']"
|
|
||||||
>
|
|
||||||
批量签收
|
批量签收
|
||||||
</button>
|
</button>
|
||||||
|
<button nz-button nzType="primary" [disabled]="loading">导出</button>
|
||||||
|
<button nz-button nzType="primary" (click)="visible=true;" class="mr-sm">筛选</button>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #enable>
|
<ng-template #enable>
|
||||||
<div class="ant-popover-message">
|
<div class="ant-popover-message">
|
||||||
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
||||||
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px"
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">已选择{{
|
||||||
>已选择{{ selectedRows?.length || 0 }}条订单,确认批量签收吗?
|
selectedRows?.length || 0 }}条订单,确认批量签收吗?
|
||||||
</div>
|
</div>
|
||||||
<div class="ant-popover-message-title ng-star-inserted"> 签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。 </div>
|
<div class="ant-popover-message-title ng-star-inserted"> 签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。 </div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -1,5 +0,0 @@
|
|||||||
:host {
|
|
||||||
p{
|
|
||||||
margin-bottom: 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,34 +0,0 @@
|
|||||||
/*
|
|
||||||
* @Description :
|
|
||||||
* @Version : 1.0
|
|
||||||
* @Author : Shiming
|
|
||||||
* @Date : 2021-12-03 15:31:52
|
|
||||||
* @LastEditors : Shiming
|
|
||||||
* @LastEditTime : 2022-01-25 13:28:47
|
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle\\vehicle.component.spec.ts
|
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
|
||||||
*/
|
|
||||||
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
import { OrderManagementVehicleComponent } from './vehicle.component';
|
|
||||||
|
|
||||||
describe('OrderManagementVehicleComponent', () => {
|
|
||||||
let component: OrderManagementVehicleComponent;
|
|
||||||
let fixture: ComponentFixture<OrderManagementVehicleComponent>;
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
declarations: [ OrderManagementVehicleComponent ]
|
|
||||||
})
|
|
||||||
.compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(OrderManagementVehicleComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should create', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -16,7 +16,7 @@
|
|||||||
</st>
|
</st>
|
||||||
</div>
|
</div>
|
||||||
<div style="flex: 1;" >
|
<div style="flex: 1;" >
|
||||||
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="MapList"></amap-path-simplifier>
|
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="MapList"></amap-path-simplifier>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-03 15:31:52
|
* @Date : 2021-12-03 15:31:52
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-08 09:27:47
|
* @LastEditTime : 2022-03-22 10:49:37
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -158,6 +158,11 @@ export class OrderManagementService extends ShipperBaseService {
|
|||||||
// 批量修改费率-实时查看附加费
|
// 批量修改费率-实时查看附加费
|
||||||
public $api_searchAdditionalRateBatch = '/api/sdc/billOperate/searchAdditionalRateBatch';
|
public $api_searchAdditionalRateBatch = '/api/sdc/billOperate/searchAdditionalRateBatch';
|
||||||
|
|
||||||
|
// 风险异常
|
||||||
|
public $api_listBillComplianceAbnormalByBillId = '/api/sdc/billCompliance/listBillComplianceAbnormalByBillId';
|
||||||
|
// 异常预警
|
||||||
|
public $api_getAbnormalWarningByBillId = '/api/sdc/abnormalWarning/getAbnormalWarningByBillId';
|
||||||
|
|
||||||
getDictByKey(dictKey: string) {
|
getDictByKey(dictKey: string) {
|
||||||
const params = { dictKey: dictKey };
|
const params = { dictKey: dictKey };
|
||||||
return this.request(this.$api_getDictValue, params);
|
return this.request(this.$api_getDictValue, params);
|
||||||
|
|||||||
@ -44,7 +44,7 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
<ng-template #extraTemplate>
|
<ng-template #extraTemplate>
|
||||||
<div>
|
<div>
|
||||||
<button (click)="audit('', 2)" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-bulkBatchAudit']">批量审核</button>
|
<button (click)="audit('', 2)" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-bulkBatchAudit']">审核</button>
|
||||||
<button (click)="releaseGoods()" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-bulkUndertakesToSupply']">代发货源</button>
|
<button (click)="releaseGoods()" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-bulkUndertakesToSupply']">代发货源</button>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-12 10:52:50
|
* @Date : 2022-01-12 10:52:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-07 11:13:39
|
* @LastEditTime : 2022-03-22 13:32:15
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\vehicle\\vehicle.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\vehicle\\vehicle.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -97,7 +97,7 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
<ng-template #extraTemplate>
|
<ng-template #extraTemplate>
|
||||||
<div>
|
<div>
|
||||||
<button (click)="audit('', 2)" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-vehicleBatchAudit']">批量审核</button>
|
<button (click)="audit('', 2)" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-vehicleBatchAudit']">审核</button>
|
||||||
<button (click)="releaseGoods()" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-vehicleUndertakesToSupply']"
|
<button (click)="releaseGoods()" nz-button nzType="primary" acl [acl-ability]="['SUPPLY-INDEX-vehicleUndertakesToSupply']"
|
||||||
>代发货源</button
|
>代发货源</button
|
||||||
>
|
>
|
||||||
|
|||||||
@ -218,7 +218,7 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
default: ''
|
default: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
required: ['certificatePhotoFrontWatermark', 'certificatePhotoBackWatermark', 'name', 'certificateNumber', 'bankCardNo']
|
required: ['mobile','certificatePhotoFrontWatermark', 'certificatePhotoBackWatermark', 'name', 'certificateNumber', 'bankCardNo']
|
||||||
};
|
};
|
||||||
this.schema1 = {
|
this.schema1 = {
|
||||||
properties: {
|
properties: {
|
||||||
|
|||||||
@ -402,29 +402,29 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
saveUser() {
|
saveUser() {
|
||||||
const userIdentity = this.userIdentityDetail;
|
const userIdentity = this?.userIdentityDetail;
|
||||||
const params = {
|
const params = {
|
||||||
certificateNumber: userIdentity.certificateNumber,
|
certificateNumber: userIdentity?.certificateNumber,
|
||||||
certificatePhotoBack: userIdentity.certificatePhotoBack,
|
certificatePhotoBack: userIdentity?.certificatePhotoBack,
|
||||||
certificatePhotoBackWatermark: userIdentity.certificatePhotoBackWatermark,
|
certificatePhotoBackWatermark: userIdentity?.certificatePhotoBackWatermark,
|
||||||
certificatePhotoFront: userIdentity.certificatePhotoFront,
|
certificatePhotoFront: userIdentity?.certificatePhotoFront,
|
||||||
certificatePhotoFrontWatermark: userIdentity.certificatePhotoFrontWatermark,
|
certificatePhotoFrontWatermark: userIdentity?.certificatePhotoFrontWatermark,
|
||||||
certificateType: userIdentity.certificateType,
|
certificateType: userIdentity?.certificateType,
|
||||||
handCertificate: userIdentity.handCertificate,
|
handCertificate: userIdentity?.handCertificate,
|
||||||
id: userIdentity.id,
|
id: userIdentity?.id,
|
||||||
name: userIdentity.name,
|
name: userIdentity?.name,
|
||||||
souceType: userIdentity.souceType,
|
souceType: userIdentity?.souceType,
|
||||||
sourceAppId: userIdentity.sourceAppId,
|
sourceAppId: userIdentity?.sourceAppId,
|
||||||
tenantId: userIdentity.tenantId,
|
tenantId: userIdentity?.tenantId,
|
||||||
userId: userIdentity.userId,
|
userId: userIdentity?.userId,
|
||||||
validEndTime:
|
validEndTime:
|
||||||
userIdentity.validEndTime?.length === 10
|
userIdentity?.validEndTime?.length === 10
|
||||||
? userIdentity.validEndTime
|
? userIdentity?.validEndTime
|
||||||
: this.datePipe.transform(userIdentity.validEndTime, 'yyyy-MM-dd'),
|
: this.datePipe.transform(userIdentity?.validEndTime, 'yyyy-MM-dd'),
|
||||||
validStartTime:
|
validStartTime:
|
||||||
userIdentity.validStartTime?.length === 10
|
userIdentity?.validStartTime?.length === 10
|
||||||
? userIdentity.validStartTime
|
? userIdentity?.validStartTime
|
||||||
: this.datePipe.transform(userIdentity.validStartTime, 'yyyy-MM-dd')
|
: this.datePipe.transform(userIdentity?.validStartTime, 'yyyy-MM-dd')
|
||||||
};
|
};
|
||||||
this.service.request(this.service.$api_update_driver_identity, params).subscribe(res => {
|
this.service.request(this.service.$api_update_driver_identity, params).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
|
|||||||
@ -77,6 +77,7 @@ export class UserCenterComponentsDriverComponent implements OnInit {
|
|||||||
nzContent: this.promoterModal,
|
nzContent: this.promoterModal,
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
if (!!!this.promotersTelephone) {
|
if (!!!this.promotersTelephone) {
|
||||||
|
this.service.msgSrv.error('请填写手机号!');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (typeof this.promotersTelephone === 'string' && !/(^1\d{10}$)/.test(this.promotersTelephone)) {
|
if (typeof this.promotersTelephone === 'string' && !/(^1\d{10}$)/.test(this.promotersTelephone)) {
|
||||||
|
|||||||
@ -70,6 +70,7 @@ export class FreightConfigComponent implements OnInit {
|
|||||||
nzWidth: 900,
|
nzWidth: 900,
|
||||||
nzComponentParams: {
|
nzComponentParams: {
|
||||||
extendType: '2',
|
extendType: '2',
|
||||||
|
spareBusinessId: item.networkTransporter,
|
||||||
businessId: item.id,
|
businessId: item.id,
|
||||||
formatTypeList: (item: any[]) => [
|
formatTypeList: (item: any[]) => [
|
||||||
...item,
|
...item,
|
||||||
|
|||||||
@ -119,6 +119,7 @@ export class VehicleComponentsAuditDetailComponent implements OnInit, OnDestroy
|
|||||||
nzContent: this.redectModal,
|
nzContent: this.redectModal,
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
if (!this.approvalOpinion) {
|
if (!this.approvalOpinion) {
|
||||||
|
this.service.msgSrv.error('请填写备注!')
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
this.adjuctUser(
|
this.adjuctUser(
|
||||||
|
|||||||
@ -236,7 +236,7 @@
|
|||||||
</st>
|
</st>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="12">
|
<div nz-col [nzSpan]="12">
|
||||||
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
|
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -80,6 +80,9 @@ tabs = {
|
|||||||
wayBillCode: {
|
wayBillCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '运单号',
|
title: '运单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多100个运单,空号隔开'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
resourceCode: {
|
resourceCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
|||||||
@ -216,7 +216,7 @@
|
|||||||
</st>
|
</st>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="12">
|
<div nz-col [nzSpan]="12">
|
||||||
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
|
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -77,7 +77,10 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
wayBillCode: {
|
wayBillCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '运单号'
|
title: '运单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多100个运单,空号隔开'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
resourceCode: {
|
resourceCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
|||||||
@ -8,4 +8,8 @@
|
|||||||
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\amap\\amap-path-simplifier\\amap-path-simplifier.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\amap\\amap-path-simplifier\\amap-path-simplifier.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
<div class="map-container" id="container" tabindex="0" [style]="{width: mapWidth, height: mapHeight}"></div>
|
<div class="map-container" id="container" tabindex="0" [style]="{width: mapWidth, height: mapHeight}"></div>
|
||||||
|
<div style="display: flex;align-items: center;">
|
||||||
|
<div>巡航倍数 : <input type="number" [ngModel]="navSpeed" min="1" (ngModelChange)="changeMultiple($event)"
|
||||||
|
style="border-color: #f0f0f0;outline: 0;width: 60px;text-align: center;" class="mt-sm ml-sm"/></div>
|
||||||
|
</div>
|
||||||
@ -1,8 +1,10 @@
|
|||||||
import AMapLoader from '@amap/amap-jsapi-loader';
|
import AMapLoader from '@amap/amap-jsapi-loader';
|
||||||
import { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, OnDestroy } from '@angular/core';
|
import { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, OnDestroy } from '@angular/core';
|
||||||
import { amapConf } from '@conf/amap.config';
|
import { amapConf } from '@conf/amap.config';
|
||||||
|
import { InputNumber } from '@delon/util';
|
||||||
import { throwError } from 'rxjs';
|
import { throwError } from 'rxjs';
|
||||||
import { BaseService } from 'src/app/shared/services';
|
import { BaseService } from 'src/app/shared/services';
|
||||||
|
import { AmapService, InfoItem, MapList, PathList, POI } from '../amap.service';
|
||||||
declare var AMap: any;
|
declare var AMap: any;
|
||||||
declare var AMapUI: any;
|
declare var AMapUI: any;
|
||||||
declare var Loca: any;
|
declare var Loca: any;
|
||||||
@ -21,41 +23,52 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
infoWindow: any;
|
infoWindow: any;
|
||||||
markerList: any;
|
markerList: any;
|
||||||
SimpleMarker: any;
|
SimpleMarker: any;
|
||||||
|
// 简单路径信息
|
||||||
@Input()
|
@Input()
|
||||||
pathList: any = [];
|
mapList: MapList[] = [];
|
||||||
|
// 完整路线图信息
|
||||||
|
@Input()
|
||||||
|
pathList: PathList[] = [];
|
||||||
|
// 当前选中路线图下标
|
||||||
@Input()
|
@Input()
|
||||||
selectedIndex = 0;
|
selectedIndex = 0;
|
||||||
|
// 巡航倍数
|
||||||
|
@InputNumber()
|
||||||
|
navSpeed = 1;
|
||||||
|
// 标点数组
|
||||||
|
@Input()
|
||||||
|
pois: POI[] = [];
|
||||||
|
private _pois: any = [];
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
mapWidth = '800px';
|
mapWidth = '800px';
|
||||||
@Input() MapList: any;
|
|
||||||
@Input()
|
@Input()
|
||||||
mapHeight = '500px';
|
mapHeight = '500px';
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
readonly clcikPointEvent = new EventEmitter<any>();
|
readonly clcikPointEvent = new EventEmitter<any>();
|
||||||
|
|
||||||
@Input()
|
constructor(public service: BaseService, private amapService: AmapService) {}
|
||||||
pois: any = [];
|
|
||||||
private _pois: any = [];
|
|
||||||
|
|
||||||
constructor(public service: BaseService) {}
|
|
||||||
ngOnChanges(changes: SimpleChanges): void {
|
ngOnChanges(changes: SimpleChanges): void {
|
||||||
|
// 路线图变更: 设置路线图, 指定路线图
|
||||||
if (changes?.pathList?.currentValue && this?.pathSimplifierIns) {
|
if (changes?.pathList?.currentValue && this?.pathSimplifierIns) {
|
||||||
this.setData(changes.pathList?.currentValue);
|
this.setData(changes.pathList?.currentValue);
|
||||||
this.setPathIndex(this.selectedIndex);
|
this.setPathIndex(this.selectedIndex);
|
||||||
}
|
}
|
||||||
if (changes?.MapList?.currentValue && this?.pathSimplifierIns && changes.MapList?.currentValue.length > 0) {
|
// 路径信息变更: 更新路线图, 设置路线图, 指定路线图, 获取终点地址信息并标点
|
||||||
// console.log(this.MapList);
|
if (changes?.mapList?.currentValue && this?.pathSimplifierIns && changes.mapList?.currentValue.length > 0) {
|
||||||
|
// console.log(this.mapList);
|
||||||
this.pathList = [
|
this.pathList = [
|
||||||
{
|
{
|
||||||
name: '路线1',
|
name: '路线1',
|
||||||
points: changes.MapList?.currentValue
|
points: changes.mapList?.currentValue
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
this.setData(this.pathList);
|
this.setData(this.pathList);
|
||||||
this.setPathIndex(this.selectedIndex);
|
this.setPathIndex(this.selectedIndex);
|
||||||
this.getPoiByPositon(this.MapList[this.MapList?.length - 1]?.lnglat);
|
this.getPoiByPositon(this.mapList[this.mapList?.length - 1]?.lnglat);
|
||||||
}
|
}
|
||||||
|
// 标点列表变更: 更新标点数据, 绘画标点
|
||||||
if (changes?.pois?.currentValue) {
|
if (changes?.pois?.currentValue) {
|
||||||
// console.log(this.pois);
|
// console.log(this.pois);
|
||||||
this._pois = changes?.pois?.currentValue;
|
this._pois = changes?.pois?.currentValue;
|
||||||
@ -68,11 +81,13 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
this.mapInit();
|
this.mapInit();
|
||||||
}
|
}
|
||||||
ngOnDestroy(): void {
|
ngOnDestroy(): void {
|
||||||
|
// 销毁地图数据
|
||||||
if (this.aMap) {
|
if (this.aMap) {
|
||||||
this.aMap.destroy();
|
this.aMap.destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 地图初始化 */
|
||||||
mapInit() {
|
mapInit() {
|
||||||
AMapLoader.load({
|
AMapLoader.load({
|
||||||
key: CONFIG.key,
|
key: CONFIG.key,
|
||||||
@ -94,14 +109,15 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.aMap.on('complete', () => {
|
this.aMap.on('complete', () => {
|
||||||
|
// this.service.msgSrv.info('地图加载完成 !');
|
||||||
// 信息窗口
|
// 信息窗口
|
||||||
this.infoWindow = new AMap.InfoWindow({
|
this.infoWindow = new AMap.InfoWindow({
|
||||||
offset: new AMap.Pixel(0, -40)
|
offset: new AMap.Pixel(0, -40)
|
||||||
});
|
});
|
||||||
|
// 初始化定位工具
|
||||||
this.geocoder = new AMap.Geocoder({
|
this.geocoder = new AMap.Geocoder({
|
||||||
radius: 1000 //范围,默认:500
|
radius: 500 //范围,默认:500
|
||||||
});
|
});
|
||||||
// this.service.msgSrv.info('地图加载完成 !');
|
|
||||||
this.pathInit();
|
this.pathInit();
|
||||||
this.setPOIS();
|
this.setPOIS();
|
||||||
});
|
});
|
||||||
@ -111,34 +127,20 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 初始化路径工具 */
|
||||||
pathInit() {
|
pathInit() {
|
||||||
this.pathSimplifierIns = new AMapUI.PathSimplifier({
|
this.pathSimplifierIns = new AMapUI.PathSimplifier({
|
||||||
zIndex: 100,
|
zIndex: 100,
|
||||||
//autoSetFitView:false,
|
//autoSetFitView:false,
|
||||||
map: this.aMap, //所属的地图实例
|
map: this.aMap,
|
||||||
|
// 重组路径数据
|
||||||
getPath: function (pathData: any, pathIndex: any) {
|
getPath: (pathData: PathList, pathIndex: number) => pathData.points.map(points => points.lnglat),
|
||||||
var points = pathData.points,
|
// 鼠标悬浮事件
|
||||||
lnglatList = [];
|
getHoverTitle: (pathData: PathList, pathIndex: number, pointIndex: number) => '',
|
||||||
|
|
||||||
for (var i = 0, len = points?.length; i < len; i++) {
|
|
||||||
lnglatList.push(points[i].lnglat);
|
|
||||||
}
|
|
||||||
|
|
||||||
return lnglatList;
|
|
||||||
},
|
|
||||||
getHoverTitle: function (pathData: any, pathIndex: any, pointIndex: any) {
|
|
||||||
if (pointIndex >= 0) {
|
|
||||||
//point
|
|
||||||
return `${pathData.name},${pathData.points[pointIndex].name}`;
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
renderOptions: {
|
renderOptions: {
|
||||||
renderAllPointsIfNumberBelow: 10 //绘制路线节点,如不需要可设置为-1
|
renderAllPointsIfNumberBelow: 20 //绘制路线节点,如不需要可设置为-1
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
(window as any).pathSimplifierIns = this.pathSimplifierIns;
|
|
||||||
this.setData(this.pathList);
|
this.setData(this.pathList);
|
||||||
|
|
||||||
if (this.pathList.length > 0) {
|
if (this.pathList.length > 0) {
|
||||||
@ -147,26 +149,40 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
|
|
||||||
this.pathSimplifierIns.on('pointClick', (e: any, info: any) => {
|
this.pathSimplifierIns.on('pointClick', (e: any, info: any) => {
|
||||||
this.clcikPointEvent.emit({ e, info });
|
this.clcikPointEvent.emit({ e, info });
|
||||||
console.log(`Click: ${info.pathData.points[info.pointIndex].name}`);
|
// 弹出信息窗口
|
||||||
|
if (info) {
|
||||||
|
this.geocoder.getAddress(info.pathData.points[info.pointIndex].lnglat, (status: any, result: any) => {
|
||||||
|
if (status === 'complete' && result.info === 'OK') {
|
||||||
|
// result中对应详细地理坐标信息
|
||||||
|
this.selectedPOI({
|
||||||
|
position: info.pathData.points[info.pointIndex].lnglat,
|
||||||
|
content: `
|
||||||
|
<label style="font-weight: bold;">${result.regeocode.formattedAddress}<label/><br/>
|
||||||
|
<label style="font-weight: 400;">车速: ${info.pathData.points[info.pointIndex].name}<label/><br/>
|
||||||
|
<label style="font-weight: 400;">时间: ${this.amapService.formatTime(info.pathData.points[info.pointIndex].time)}<label/>
|
||||||
|
`
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 初始化标点工具 */
|
||||||
setPOIS() {
|
setPOIS() {
|
||||||
AMapUI.loadUI(['misc/MarkerList', 'overlay/SimpleMarker'], (MarkerList: any, SimpleMarker: any) => {
|
AMapUI.loadUI(['misc/MarkerList', 'overlay/SimpleMarker'], (MarkerList: any, SimpleMarker: any) => {
|
||||||
this.markerList = new MarkerList({
|
this.markerList = new MarkerList({
|
||||||
//关联的map对象
|
//关联的map对象
|
||||||
map: this.aMap,
|
map: this.aMap,
|
||||||
//返回数据项的位置信息,需要是AMap.LngLat实例,或者是经纬度数组,比如[116.789806, 39.904989]
|
//返回数据项的位置信息,需要是AMap.LngLat实例,或者是经纬度数组,比如[116.789806, 39.904989]
|
||||||
getPosition: (dataItem: any) => {
|
getPosition: (dataItem: POI) => dataItem.position,
|
||||||
return dataItem.position;
|
|
||||||
},
|
|
||||||
//返回数据项对应的Marker
|
//返回数据项对应的Marker
|
||||||
getMarker: (dataItem: any, context: any, recycledMarker: any) => {
|
getMarker: (dataItem: POI, context: any, recycledMarker: any) => {
|
||||||
//存在可回收利用的marker
|
//存在可回收利用的marker
|
||||||
if (recycledMarker) {
|
if (recycledMarker) {
|
||||||
//直接更新内容返回
|
//直接更新内容返回
|
||||||
recycledMarker.setIconLabel(context.id);
|
recycledMarker.setIconLabel(context.id);
|
||||||
recycledMarker.setIconStyle(dataItem.iconStyle);
|
recycledMarker.setIconStyle(dataItem.color);
|
||||||
return recycledMarker;
|
return recycledMarker;
|
||||||
}
|
}
|
||||||
this.SimpleMarker = SimpleMarker;
|
this.SimpleMarker = SimpleMarker;
|
||||||
@ -189,7 +205,7 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
//返回数据项对应的infoWindow
|
//返回数据项对应的infoWindow
|
||||||
getInfoWindow: (dataItem: any, context: any, recycledInfoWindow: any) => {
|
getInfoWindow: (dataItem: POI, context: any, recycledInfoWindow: any) => {
|
||||||
this.selectedPOI(dataItem);
|
this.selectedPOI(dataItem);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -202,28 +218,57 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
setData(pathList: any[]) {
|
/**
|
||||||
|
* 设置路线图数据
|
||||||
|
* @param pathList
|
||||||
|
*/
|
||||||
|
setData(pathList: PathList[]) {
|
||||||
this.pathSimplifierIns.setData(pathList);
|
this.pathSimplifierIns.setData(pathList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指定路线图
|
||||||
|
* @param index
|
||||||
|
*/
|
||||||
setPathIndex(index: number) {
|
setPathIndex(index: number) {
|
||||||
this.pathSimplifierIns.setSelectedPathIndex(index);
|
this.pathSimplifierIns.setSelectedPathIndex(index);
|
||||||
this.startNav();
|
this.startNav();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开启巡航
|
||||||
|
*/
|
||||||
startNav() {
|
startNav() {
|
||||||
if (this.navigator) {
|
this.navigator = this.pathSimplifierIns?.createPathNavigator(this.selectedIndex, {
|
||||||
this.navigator.start();
|
loop: true, //循环播放
|
||||||
|
speed: 500000 * this.navSpeed //巡航速度,单位千米/小时
|
||||||
|
});
|
||||||
|
this.navigator?.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
changeMultiple(multiple: number) {
|
||||||
|
if (multiple <= 0) {
|
||||||
|
this.navSpeed = 1;
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
this.navigator = this.pathSimplifierIns?.createPathNavigator(0, {
|
this.navSpeed = multiple;
|
||||||
loop: true, //循环播放
|
this.resetNav();
|
||||||
speed: 1000000 //巡航速度,单位千米/小时
|
|
||||||
});
|
|
||||||
this.navigator?.start();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 根据经纬度获取地址信息 */
|
/** 重置巡航 */
|
||||||
|
resetNav() {
|
||||||
|
if (this.navigator) {
|
||||||
|
this.navigator.destroy();
|
||||||
|
setTimeout(() => {
|
||||||
|
this.startNav();
|
||||||
|
}, 200);
|
||||||
|
} else {
|
||||||
|
this.startNav();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 根据标点经纬度获取地址信息 */
|
||||||
getPoiByPositon(position: string[]) {
|
getPoiByPositon(position: string[]) {
|
||||||
this.geocoder.getAddress(position, (status: any, result: any) => {
|
this.geocoder.getAddress(position, (status: any, result: any) => {
|
||||||
if (status === 'complete' && result.info === 'OK') {
|
if (status === 'complete' && result.info === 'OK') {
|
||||||
@ -232,7 +277,6 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
if (this.markerList) {
|
if (this.markerList) {
|
||||||
this.markerList.render(this._pois);
|
this.markerList.render(this._pois);
|
||||||
}
|
}
|
||||||
// this.setPOI({ markerLabel: '终', color: 'red', position: position });
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -240,45 +284,13 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
|||||||
/**
|
/**
|
||||||
* 选中标点,设置窗口信息
|
* 选中标点,设置窗口信息
|
||||||
*
|
*
|
||||||
* @param location
|
* @param infoItem
|
||||||
*/
|
*/
|
||||||
selectedPOI(location: any) {
|
selectedPOI(infoItem: InfoItem) {
|
||||||
this.infoWindow.setContent(`地址: <pre>${location.title}</pre>`);
|
this.infoWindow.setContent(infoItem.content || `地址: <pre>${infoItem.title}</pre>`);
|
||||||
this.infoWindow.open(this.aMap, location.position);
|
this.infoWindow.open(this.aMap, infoItem.position);
|
||||||
this.infoWindow.setPosition(location.position);
|
this.infoWindow.setPosition(infoItem.position);
|
||||||
this.aMap.setCenter(location.position);
|
// 地图定位居中
|
||||||
}
|
this.aMap.setCenter(infoItem.position);
|
||||||
|
|
||||||
/**
|
|
||||||
* 增加标记点
|
|
||||||
*
|
|
||||||
* @param poi
|
|
||||||
*/
|
|
||||||
setPOI(poi: POI) {
|
|
||||||
AMapUI.loadUI(['overlay/SimpleMarker'], (SimpleMarker: any) => {
|
|
||||||
//启动页面
|
|
||||||
new SimpleMarker({
|
|
||||||
//普通文本
|
|
||||||
iconLabel: {
|
|
||||||
//普通文本
|
|
||||||
innerHTML: poi.markerLabel,
|
|
||||||
//设置样式
|
|
||||||
style: {
|
|
||||||
color: '#fff',
|
|
||||||
fontSize: '110%',
|
|
||||||
marginTop: '2px'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
iconStyle: poi.color,
|
|
||||||
map: this.aMap,
|
|
||||||
position: poi.position
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface POI {
|
|
||||||
markerLabel: string;
|
|
||||||
color: string;
|
|
||||||
position: string[];
|
|
||||||
}
|
|
||||||
|
|||||||
@ -12,7 +12,10 @@ import { Injectable } from '@angular/core';
|
|||||||
import { Observable, Subject, throwError } from 'rxjs';
|
import { Observable, Subject, throwError } from 'rxjs';
|
||||||
import AMapLoader from '@amap/amap-jsapi-loader';
|
import AMapLoader from '@amap/amap-jsapi-loader';
|
||||||
import { amapConf } from '@conf/amap.config';
|
import { amapConf } from '@conf/amap.config';
|
||||||
|
import { formatDate } from '@angular/common';
|
||||||
|
import { DateTimePickerUtil } from '@delon/util';
|
||||||
declare var AMap: any;
|
declare var AMap: any;
|
||||||
|
declare var AMapUI: any;
|
||||||
|
|
||||||
const CONFIG = amapConf;
|
const CONFIG = amapConf;
|
||||||
@Injectable({
|
@Injectable({
|
||||||
@ -82,4 +85,59 @@ export class AmapService {
|
|||||||
|
|
||||||
return this.currentSub;
|
return this.currentSub;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加标记点
|
||||||
|
*
|
||||||
|
* @param poi
|
||||||
|
*/
|
||||||
|
setPOI(poi: POI, aMap: any) {
|
||||||
|
AMapUI.loadUI(['overlay/SimpleMarker'], (SimpleMarker: any) => {
|
||||||
|
//启动页面
|
||||||
|
new SimpleMarker({
|
||||||
|
//普通文本
|
||||||
|
iconLabel: {
|
||||||
|
//普通文本
|
||||||
|
innerHTML: poi.markerLabel,
|
||||||
|
//设置样式
|
||||||
|
style: {
|
||||||
|
color: '#fff',
|
||||||
|
fontSize: '110%',
|
||||||
|
marginTop: '2px'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
iconStyle: poi.color,
|
||||||
|
map: aMap,
|
||||||
|
position: poi.position
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
formatTime(time: string): string {
|
||||||
|
return `${time.slice(0, 4)}-${time.slice(4, 6)}-${time.slice(6, 8)} ${time.slice(9, 11)}:${time.slice(11, 13)}:${time.slice(13, 15)}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface POI {
|
||||||
|
markerLabel?: string;
|
||||||
|
title: string;
|
||||||
|
color: string;
|
||||||
|
position: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface InfoItem {
|
||||||
|
title?: string;
|
||||||
|
content?: string;
|
||||||
|
position: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MapList {
|
||||||
|
name: string;
|
||||||
|
time: string;
|
||||||
|
lnglat: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PathList {
|
||||||
|
name: string;
|
||||||
|
points: MapList[];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-10 16:06:17
|
* @Date : 2022-01-10 16:06:17
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-17 13:28:39
|
* @LastEditTime : 2022-03-22 10:05:15
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\dynamic-setting\\dynamic-setting-modal\\dynamic-setting-modal.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\dynamic-setting\\dynamic-setting-modal\\dynamic-setting-modal.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -34,6 +34,8 @@ export class DynamicSettingModalComponent implements OnInit {
|
|||||||
@Input()
|
@Input()
|
||||||
extendType!: string;
|
extendType!: string;
|
||||||
@Input()
|
@Input()
|
||||||
|
spareBusinessId!: string;
|
||||||
|
@Input()
|
||||||
businessId!: string;
|
businessId!: string;
|
||||||
@Input()
|
@Input()
|
||||||
configvalue!: string;
|
configvalue!: string;
|
||||||
@ -54,7 +56,8 @@ export class DynamicSettingModalComponent implements OnInit {
|
|||||||
.request('/api/mdc/pbc/sysConfigItemExtend/getSysConfigExtend', {
|
.request('/api/mdc/pbc/sysConfigItemExtend/getSysConfigExtend', {
|
||||||
configFullKey: this.configFullKey,
|
configFullKey: this.configFullKey,
|
||||||
extendType: this.extendType,
|
extendType: this.extendType,
|
||||||
businessId: this.businessId
|
businessId: this.businessId,
|
||||||
|
spareBusinessId: this.spareBusinessId,
|
||||||
})
|
})
|
||||||
.pipe(
|
.pipe(
|
||||||
map((res: Array<any>) => {
|
map((res: Array<any>) => {
|
||||||
|
|||||||
@ -47,6 +47,7 @@ import { NzAffixModule } from 'ng-zorro-antd/affix';
|
|||||||
import { NzTypographyModule } from 'ng-zorro-antd/typography';
|
import { NzTypographyModule } from 'ng-zorro-antd/typography';
|
||||||
import { NzSwitchModule } from 'ng-zorro-antd/switch';
|
import { NzSwitchModule } from 'ng-zorro-antd/switch';
|
||||||
import { NzImageModule } from 'ng-zorro-antd/image';
|
import { NzImageModule } from 'ng-zorro-antd/image';
|
||||||
|
import { NzDrawerModule } from 'ng-zorro-antd/drawer';
|
||||||
export const SHARED_ZORRO_MODULES = [
|
export const SHARED_ZORRO_MODULES = [
|
||||||
NzButtonModule,
|
NzButtonModule,
|
||||||
NzGridModule,
|
NzGridModule,
|
||||||
@ -87,5 +88,6 @@ export const SHARED_ZORRO_MODULES = [
|
|||||||
NzAffixModule,
|
NzAffixModule,
|
||||||
NzTypographyModule,
|
NzTypographyModule,
|
||||||
NzSwitchModule,
|
NzSwitchModule,
|
||||||
NzImageModule
|
NzImageModule,
|
||||||
|
NzDrawerModule
|
||||||
];
|
];
|
||||||
|
|||||||
@ -7,59 +7,64 @@
|
|||||||
@import './styles/theme';
|
@import './styles/theme';
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width : 18px;
|
width : 18px;
|
||||||
fill : currentColor;
|
fill : currentColor;
|
||||||
overflow : hidden;
|
overflow : hidden;
|
||||||
font-size: 18px !important;
|
font-size : 18px !important;
|
||||||
color : #ffffff;
|
color : #ffffff;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@layout-gutter: 8px;
|
@layout-gutter: 8px;
|
||||||
|
|
||||||
/* 全局滚动条美化 */
|
/* 全局滚动条美化 */
|
||||||
*::-webkit-scrollbar {
|
*::-webkit-scrollbar {
|
||||||
width : (@layout-gutter);
|
width : (@layout-gutter);
|
||||||
height: (@layout-gutter);
|
height: (@layout-gutter);
|
||||||
}
|
}
|
||||||
|
|
||||||
*::-webkit-scrollbar-thumb {
|
*::-webkit-scrollbar-thumb {
|
||||||
background : #d9d9d9;
|
background : #d9d9d9;
|
||||||
cursor : pointer;
|
cursor : pointer;
|
||||||
border-radius: (@layout-gutter) / 2;
|
border-radius: (@layout-gutter) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 全局隐藏input-number上下箭头 谷歌*/
|
/* 全局隐藏input-number上下箭头 谷歌*/
|
||||||
input::-webkit-outer-spin-button,
|
input::-webkit-outer-spin-button,
|
||||||
input::-webkit-inner-spin-button {
|
input::-webkit-inner-spin-button {
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 全局隐藏input-number上下箭头 火狐*/
|
/* 全局隐藏input-number上下箭头 火狐*/
|
||||||
input[type="number"] {
|
input[type="number"] {
|
||||||
-moz-appearance: textfield;
|
-moz-appearance: textfield;
|
||||||
}
|
}
|
||||||
|
|
||||||
.alain-pro__sider-logo {
|
.alain-pro__sider-logo {
|
||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.break-word-all {
|
.break-word-all {
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
word-wrap : break-word;
|
word-wrap : break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
st {
|
st {
|
||||||
.block-td {
|
.block-td {
|
||||||
.ant-divider-vertical {
|
.ant-divider-vertical {
|
||||||
display: none;
|
display : none;
|
||||||
margin: 0;
|
margin : 0;
|
||||||
border-left: none;
|
border-left: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
st-td {
|
st-td {
|
||||||
span>a {
|
span>a {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
nz-range-picker {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
@ -1,80 +1,112 @@
|
|||||||
|
.alain-pro__sider-logo h1 {
|
||||||
.alain-pro__sider-logo h1{
|
|
||||||
font-size: 15px !important;
|
font-size: 15px !important;
|
||||||
}
|
}
|
||||||
.page-header__title{
|
|
||||||
|
.page-header__title {
|
||||||
font-size: 14px !important;
|
font-size: 14px !important;
|
||||||
}
|
}
|
||||||
.alain-pro__body{
|
|
||||||
|
.alain-pro__body {
|
||||||
margin: 12px 12px 0px !important;
|
margin: 12px 12px 0px !important;
|
||||||
}
|
}
|
||||||
.alain-pro__page-header-content{
|
|
||||||
|
.alain-pro__page-header-content {
|
||||||
margin: 8px 8px 0 !important;
|
margin: 8px 8px 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-card {
|
.ant-card {
|
||||||
margin-bottom: 8px !important;
|
margin-bottom: 8px !important;
|
||||||
}
|
}
|
||||||
.ant-table tfoot>tr>td, .ant-table tfoot>tr>th, .ant-table-tbody>tr>td, .ant-table-thead>tr>th{
|
|
||||||
|
.ant-table tfoot>tr>td,
|
||||||
|
.ant-table tfoot>tr>th,
|
||||||
|
.ant-table-tbody>tr>td,
|
||||||
|
.ant-table-thead>tr>th {
|
||||||
padding: 6px 10px;
|
padding: 6px 10px;
|
||||||
}
|
}
|
||||||
.alain-pro__page-header-wrapper{
|
|
||||||
|
.alain-pro__page-header-wrapper {
|
||||||
margin: 0 !important
|
margin: 0 !important
|
||||||
}
|
}
|
||||||
.alain-pro__menu-icon{
|
|
||||||
margin: 3px 5px 0 0 ;
|
.alain-pro__menu-icon {
|
||||||
|
margin : 3px 5px 0 0;
|
||||||
font-size: 14px !important;
|
font-size: 14px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sf__compact .ant-form-item {
|
.sf__compact .ant-form-item {
|
||||||
margin-top: 4px !important;
|
margin-top : 4px !important;
|
||||||
margin-bottom: 4px !important;
|
margin-bottom: 4px !important;
|
||||||
}
|
}
|
||||||
.body-box{
|
|
||||||
|
.body-box {
|
||||||
max-width: 760px !important;
|
max-width: 760px !important;
|
||||||
.box-content{
|
|
||||||
|
.box-content {
|
||||||
height: 77% !important;
|
height: 77% !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.login-logo{
|
|
||||||
width:250px !important;
|
.login-logo {
|
||||||
|
width : 250px !important;
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
}
|
}
|
||||||
.ant-tabs-tab-btn{
|
|
||||||
|
.ant-tabs-tab-btn {
|
||||||
font-size: 18px !important;
|
font-size: 18px !important;
|
||||||
}
|
}
|
||||||
.login-box-content{
|
|
||||||
|
.login-box-content {
|
||||||
max-width: 300px !important;
|
max-width: 300px !important;
|
||||||
height: 100% !important;
|
height : 100% !important;
|
||||||
padding: 58px 0 38px !important;
|
padding : 58px 0 38px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.total-footer {
|
.total-footer {
|
||||||
bottom: 10px !important;
|
bottom: 10px !important;
|
||||||
}
|
}
|
||||||
.ant-layout-header{
|
|
||||||
height: 44px;
|
.ant-layout-header {
|
||||||
padding: 0 25px;
|
height : 44px;
|
||||||
|
padding : 0 25px;
|
||||||
line-height: 44px;
|
line-height: 44px;
|
||||||
img{
|
|
||||||
|
img {
|
||||||
width: 22px
|
width: 22px
|
||||||
}
|
}
|
||||||
.title{
|
|
||||||
|
.title {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.ant-tabs-tab-btn{
|
|
||||||
|
.ant-tabs-tab-btn {
|
||||||
font-size: 14px !important;
|
font-size: 14px !important;
|
||||||
}
|
}
|
||||||
.ant-row{
|
|
||||||
margin-left: 0px !important;
|
.ant-row {
|
||||||
|
margin-left : 0px !important;
|
||||||
margin-right: 0px !important;
|
margin-right: 0px !important;
|
||||||
}
|
}
|
||||||
h2{
|
|
||||||
|
h2 {
|
||||||
font-size: 16px !important;
|
font-size: 16px !important;
|
||||||
}
|
}
|
||||||
.sv__container{
|
|
||||||
|
.sv__container {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.alain-pro__menu-side .alain-pro__main .affix {
|
.alain-pro__menu-side .alain-pro__main .affix {
|
||||||
top: 0 !important;
|
top : 0 !important;
|
||||||
left: 215px !important;
|
left: 215px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-box {
|
||||||
|
margin: -12px -12px 0 !important;
|
||||||
|
|
||||||
|
.ant-tabs-tab {
|
||||||
|
padding: 12px 0px !important;
|
||||||
|
margin : 0 0 0 16px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user