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
|
||||
}
|
||||
},
|
||||
orderSn: {
|
||||
orderPaymentCode: {
|
||||
type: 'string',
|
||||
title: '支付编号',
|
||||
ui: {
|
||||
|
||||
@ -151,7 +151,7 @@ export class TransactionFlowComponent {
|
||||
},
|
||||
default: ''
|
||||
},
|
||||
orderS2n2221: {
|
||||
enterpriseName: {
|
||||
type: 'string',
|
||||
title: '账户名称',
|
||||
ui: {
|
||||
@ -213,7 +213,7 @@ export class TransactionFlowComponent {
|
||||
private initST(): STColumn[] {
|
||||
return [
|
||||
{ title: '交易时间', index: 'createTime', width: 180 },
|
||||
{ title: '流水号', index: 'transactionNumber', width: 170 },
|
||||
{ title: '流水号', index: 'transactionNumber', width: 180 },
|
||||
{ title: '交易类型', index: 'tradeTypeLabel', width: 120 },
|
||||
{ title: '关联单号', index: 'businessNumber', width: 150 },
|
||||
{ title: '账户类型', index: 'accountTypeLabel', width: 130 },
|
||||
|
||||
@ -348,7 +348,7 @@
|
||||
</st>
|
||||
</div>
|
||||
<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>
|
||||
</nz-card>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-06 20:20:26
|
||||
* @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
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
@ -212,7 +212,7 @@
|
||||
</st>
|
||||
</div>
|
||||
<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>
|
||||
</nz-card>
|
||||
@ -232,9 +232,9 @@
|
||||
您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您!
|
||||
</div>
|
||||
<div>如果您的运单没有问题,可以提出申诉,并提供相关资料,我们将24小时内审核反馈</div>
|
||||
<ul>
|
||||
<li>系统识别:司机装货轨迹异常</li>
|
||||
<li>司机装货轨迹异常,您可在企业端提交申诉材料或联系客服。</li>
|
||||
<ul *ngFor="let item of abnormalList">
|
||||
<li>系统识别:{{item?.complianceTypeName}}</li>
|
||||
<li>{{item?.determineDetails}},您可在企业端提交申诉材料或联系客服。</li>
|
||||
<li>2021-11-07 03:20:15</li>
|
||||
</ul>
|
||||
</nz-tab>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-06 20:20:26
|
||||
* @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
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
*/
|
||||
@ -29,6 +29,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
|
||||
id = this.route.snapshot.params.id;
|
||||
billExpenses: any[] = []; //运费信息表格信息
|
||||
pois: any[] = [];
|
||||
abnormalList: any[] = [];
|
||||
i: any;
|
||||
imges: 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) {
|
||||
console.log('风险详情')
|
||||
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[] = [];
|
||||
selectedIndex: number = 0;
|
||||
mainTabs = [
|
||||
{ name: '投诉', status: '1' },
|
||||
{ name: '被投诉', status: '2' },
|
||||
{ name: '司机投诉', status: '1' },
|
||||
{ name: '货主投诉', status: '2' },
|
||||
]
|
||||
tabs = [ {
|
||||
name: '全部',
|
||||
|
||||
@ -140,7 +140,10 @@ export class OrderManagementComplianceAuditComponent implements OnInit {
|
||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||
billCode: {
|
||||
type: 'string',
|
||||
title: '订单号'
|
||||
title: '订单号',
|
||||
ui: {
|
||||
placeholder: '最多100个单号,空号隔开'
|
||||
}
|
||||
},
|
||||
resourceCode: {
|
||||
type: 'string',
|
||||
|
||||
@ -115,7 +115,10 @@ export class OrderManagementReceiptsAuditComponent implements OnInit {
|
||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||
billCode: {
|
||||
type: 'string',
|
||||
title: '订单号'
|
||||
title: '订单号',
|
||||
ui: {
|
||||
placeholder: '最多100个单号,空号隔开'
|
||||
}
|
||||
},
|
||||
resourceCode: {
|
||||
type: 'string',
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2022-01-12 10:52:50
|
||||
* @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
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
@ -92,7 +92,7 @@
|
||||
<div *ngFor="let i of item?.goodsInfoVOList">
|
||||
<p>货物名称:{{ i?.goodsName }}</p>
|
||||
<p>重量/体积:{{ i?.weight }}吨/{{ i?.volume }}方</p>
|
||||
<p>车型/车长:{{ i?.carModel }}/ {{ i?.carLength }}</p>
|
||||
<p>车型/车长:{{ i?.carModelLabel }}/ {{ i?.carLengthLabel }}</p>
|
||||
</div>
|
||||
</ng-template>
|
||||
</st>
|
||||
|
||||
@ -109,7 +109,10 @@ export class OrderManagementRiskComponent implements OnInit {
|
||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||
billCode: {
|
||||
type: 'string',
|
||||
title: '订单号'
|
||||
title: '订单号',
|
||||
ui: {
|
||||
placeholder: '最多100个单号,空号隔开'
|
||||
}
|
||||
},
|
||||
resourceCode: {
|
||||
type: 'string',
|
||||
@ -234,9 +237,9 @@ export class OrderManagementRiskComponent implements OnInit {
|
||||
},
|
||||
{
|
||||
title: '申诉状态',
|
||||
width: '100px',
|
||||
width: '180px',
|
||||
className: 'text-left',
|
||||
index: 'representationsStatus'
|
||||
index: 'representationsStatusLabel'
|
||||
},
|
||||
{
|
||||
title: '货源编号',
|
||||
@ -279,7 +282,7 @@ export class OrderManagementRiskComponent implements OnInit {
|
||||
{
|
||||
title: '货物信息',
|
||||
className: 'text-left',
|
||||
width: '200px',
|
||||
width: '250px',
|
||||
render: 'goodsInfoVOList'
|
||||
},
|
||||
{
|
||||
@ -476,7 +479,7 @@ export class OrderManagementRiskComponent implements OnInit {
|
||||
*/
|
||||
audit(item?: any) {
|
||||
if (item) {
|
||||
this.auditId = item.id;
|
||||
this.auditId = item.billCode;
|
||||
this.initSTAudit(1);
|
||||
this.isVisibleRE = true;
|
||||
} else {
|
||||
|
||||
@ -322,7 +322,7 @@
|
||||
</st>
|
||||
</div>
|
||||
<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>
|
||||
</nz-card>
|
||||
|
||||
@ -218,7 +218,7 @@
|
||||
</st>
|
||||
</div>
|
||||
<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>
|
||||
</nz-card>
|
||||
|
||||
@ -149,7 +149,8 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
|
||||
points?.forEach((item: any) => {
|
||||
list.push({
|
||||
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;
|
||||
|
||||
@ -9,30 +9,16 @@
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
<!-- 搜索表单 -->
|
||||
<page-header-wrapper [title]="''"> </page-header-wrapper>
|
||||
<nz-card>
|
||||
<!-- <page-header-wrapper [title]="''"> </page-header-wrapper> -->
|
||||
<!-- <nz-card class="search-box">
|
||||
<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">
|
||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right">
|
||||
<button nz-button nzType="primary" [nzLoading]="loading" (click)="search()" acl [acl-ability]="['ORDER-VEHICLE-search']">查询</button>
|
||||
<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" [disabled]="loading">导出</button>
|
||||
<button nz-button [disabled]="loading" (click)="resetSF()">重置</button>
|
||||
<button nz-button nzType="link" (click)="expandToggle()">
|
||||
@ -42,10 +28,14 @@
|
||||
</div>
|
||||
</ng-container>
|
||||
</div>
|
||||
</nz-card>
|
||||
</nz-card> -->
|
||||
|
||||
<nz-card>
|
||||
<nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate">
|
||||
<nz-card class="table-box">
|
||||
<div style="display: flex;align-items: center;">
|
||||
<label style="font-weight: bold;font-size: 17px;">
|
||||
<label style="color: #ff4d4f;margin-left: 17px;margin-right: 6px;">|</label>
|
||||
整车订单</label>
|
||||
<nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate" style="flex: 1;">
|
||||
<nz-tab [nzTitle]="'全部(' + tabs?.totalCount + ')'"></nz-tab>
|
||||
<nz-tab [nzTitle]="'待接单(' + tabs?.receivedQuantity + ')'"></nz-tab>
|
||||
<nz-tab [nzTitle]="'待发车(' + tabs?.stayQuantity + ')'"></nz-tab>
|
||||
@ -54,18 +44,13 @@
|
||||
<nz-tab [nzTitle]="'已完成(' + tabs?.compolatelQuantity + ')'"></nz-tab>
|
||||
<nz-tab [nzTitle]="'已取消(' + tabs?.cancelQuantity + ')'"></nz-tab>
|
||||
</nz-tabset>
|
||||
<div style="margin-top: 15px">
|
||||
<st
|
||||
#st
|
||||
[bordered]="true"
|
||||
multiSort
|
||||
[scroll]="{ x: '1200px' }"
|
||||
[data]="service.$api_get_listWholePage"
|
||||
[columns]="columns"
|
||||
[req]="{ process: beforeReq }"
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<st #st [bordered]="true" multiSort [scroll]="{ x:'1200px',y:scrollY }" [data]="service.$api_get_listWholePage"
|
||||
[columns]="columns" [req]="{ process: beforeReq }"
|
||||
[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">
|
||||
<a [routerLink]="'vehicle-detail/' + item.id">{{ item.billCode }}</a>
|
||||
<div>
|
||||
@ -98,7 +83,8 @@
|
||||
<div *ngIf="item.mybidDetailInfo.length > 0">
|
||||
<div *ngFor="let data of item.mybidDetailInfo">
|
||||
{{ 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 === '3'" style="color: #f59a63">已拒绝</span>
|
||||
<span *ngIf="data.paymentStatus && data.paymentStatus === '4'" style="color: #f59a63">申请中</span>
|
||||
@ -126,18 +112,13 @@
|
||||
</div>
|
||||
</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>
|
||||
<st
|
||||
#stFloat
|
||||
multiSort
|
||||
size="small"
|
||||
[bordered]="true"
|
||||
[data]="service.$api_get_listChangeApply"
|
||||
<st #stFloat multiSort size="small" [bordered]="true" [data]="service.$api_get_listChangeApply"
|
||||
[columns]="columnsFloat"
|
||||
[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">
|
||||
{{ index + 1 }}
|
||||
</ng-template>
|
||||
@ -149,31 +130,23 @@
|
||||
</ng-template>
|
||||
</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>
|
||||
<st
|
||||
#stFloatView
|
||||
size="small"
|
||||
[bordered]="true"
|
||||
[data]="service.$api_getChangeRecordWholeDetail"
|
||||
[columns]="columnsFloatView"
|
||||
[req]="{ method: 'POST', allInBody: true, params: changeViewParams }"
|
||||
[res]="{ reName: { list: 'data.list', total: 'data.total' } }"
|
||||
>
|
||||
<st #stFloatView size="small" [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">
|
||||
{{ item.amountBeforeChange | currency }}
|
||||
</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">
|
||||
{{ item.amountAfterChange | currency }}
|
||||
</ng-template>
|
||||
</st>
|
||||
<div
|
||||
><span>变更原因:{{ ViewCause?.changeCause }}</span></div
|
||||
>
|
||||
<div
|
||||
><span>拒绝原因:{{ ViewCause?.refuseCause }}</span></div
|
||||
>
|
||||
<div><span>变更原因:{{ ViewCause?.changeCause }}</span></div>
|
||||
<div><span>拒绝原因:{{ ViewCause?.refuseCause }}</span></div>
|
||||
<div><span>注:附加费依据调整后的运输费用重新计算</span></div>
|
||||
</ng-container>
|
||||
<ng-template #nzModalFooterview>
|
||||
@ -182,7 +155,8 @@
|
||||
</ng-template>
|
||||
</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>
|
||||
<nz-tabset>
|
||||
<nz-tab nzTitle="货主评价">
|
||||
@ -208,31 +182,43 @@
|
||||
<button nz-button nzType="primary" (click)="handleCancel('2')">确定</button>
|
||||
</ng-template>
|
||||
</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>
|
||||
<div>
|
||||
<button nz-button nzType="primary" (click)="modifyRate()" acl [acl-ability]="['ORDER-VEHICLE-modificationAdditional']"> 修改附加费率 </button>
|
||||
<button nz-button nzType="primary" (click)="modifyFreightPeople()" acl [acl-ability]="['ORDER-VEHICLE-modificationNetworkFreight']"> 修改网络货运人 </button>
|
||||
<button nz-button nzType="primary" (click)="modifycaptain()" acl [acl-ability]="['ORDER-VEHICLE-modificationCarCaptain']"> 修改车队长 </button>
|
||||
<button
|
||||
*ngIf="resourceStatus == 4"
|
||||
nz-button
|
||||
nzType="primary"
|
||||
nzGhost
|
||||
nz-popconfirm
|
||||
[nzPopconfirmTitle]="enable"
|
||||
(nzOnConfirm)="userAction()"
|
||||
nzPopconfirmPlacement="bottomRight"
|
||||
acl [acl-ability]="['ORDER-VEHICLE-batchSignWholeOrder']"
|
||||
>
|
||||
<button nz-button nzType="primary" (click)="modifyRate()" acl
|
||||
[acl-ability]="['ORDER-VEHICLE-modificationAdditional']"> 修改附加费率 </button>
|
||||
<button nz-button nzType="primary" (click)="modifyFreightPeople()" acl
|
||||
[acl-ability]="['ORDER-VEHICLE-modificationNetworkFreight']"> 修改网络货运人 </button>
|
||||
<button nz-button nzType="primary" (click)="modifycaptain()" acl
|
||||
[acl-ability]="['ORDER-VEHICLE-modificationCarCaptain']"> 修改车队长 </button>
|
||||
<button *ngIf="resourceStatus == 4" nz-button nzType="primary" nzGhost nz-popconfirm [nzPopconfirmTitle]="enable"
|
||||
(nzOnConfirm)="userAction()" nzPopconfirmPlacement="bottomRight" acl
|
||||
[acl-ability]="['ORDER-VEHICLE-batchSignWholeOrder']">
|
||||
批量签收
|
||||
</button>
|
||||
<button nz-button nzType="primary" [disabled]="loading">导出</button>
|
||||
<button nz-button nzType="primary" (click)="visible=true;" class="mr-sm">筛选</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #enable>
|
||||
<div class="ant-popover-message">
|
||||
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
||||
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px"
|
||||
>已选择{{ selectedRows?.length || 0 }}条订单,确认批量签收吗?
|
||||
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">已选择{{
|
||||
selectedRows?.length || 0 }}条订单,确认批量签收吗?
|
||||
</div>
|
||||
<div class="ant-popover-message-title ng-star-inserted"> 签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。 </div>
|
||||
</div>
|
||||
|
||||
@ -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();
|
||||
});
|
||||
});
|
||||
@ -4,8 +4,8 @@ import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st';
|
||||
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||
import { ShipperBaseService } from '@shared';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { of } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { fromEvent, of } from 'rxjs';
|
||||
import { debounceTime, map } from 'rxjs/operators';
|
||||
import { OneCarOrderCancelConfirmComponent } from '../../modal/vehicle/cancel-confirm/cancel-confirm.component';
|
||||
import { VehicleConfirReceiptComponent } from '../../modal/vehicle/confir-receipt/confir-receipt.component';
|
||||
import { VehicleFreightPeopleComponent } from '../../modal/vehicle/freight-people/freight-people.component';
|
||||
@ -15,11 +15,10 @@ import { VehicleUpdateFreightComponent } from '../../modal/vehicle/update-freigh
|
||||
import { OneCarOrderViewtrackComponent } from '../../modal/vehicle/view-track/view-track.component';
|
||||
import { OrderManagementService } from '../../services/order-management.service';
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'app-supply-management-vehicle',
|
||||
templateUrl: './vehicle.component.html',
|
||||
styleUrls: ['./vehicle.component.less']
|
||||
styleUrls: ['../../../commom/less/commom-table.less']
|
||||
})
|
||||
export class OrderManagementVehicleComponent implements OnInit {
|
||||
ui: SFUISchema = {};
|
||||
@ -55,9 +54,9 @@ export class OrderManagementVehicleComponent implements OnInit {
|
||||
two: '2',
|
||||
three: '2',
|
||||
id: 2
|
||||
},
|
||||
];
|
||||
tabs = {
|
||||
}
|
||||
];
|
||||
tabs = {
|
||||
cancelQuantity: 0,
|
||||
receivedQuantity: 0,
|
||||
stayQuantity: 0,
|
||||
@ -65,15 +64,18 @@ tabs = {
|
||||
compolatelQuantity: 0,
|
||||
GoingQuantity: 0,
|
||||
totalCount: 0
|
||||
};
|
||||
resourceStatus: any;
|
||||
};
|
||||
resourceStatus: any;
|
||||
|
||||
scrollY = '400px';
|
||||
visible = false;
|
||||
constructor(
|
||||
public service: OrderManagementService,
|
||||
private modal: NzModalService,
|
||||
public shipperservice: ShipperBaseService,
|
||||
public router: Router,
|
||||
public ar: ActivatedRoute,
|
||||
) { }
|
||||
public ar: ActivatedRoute
|
||||
) {}
|
||||
|
||||
/**
|
||||
* 查询参数
|
||||
@ -89,8 +91,8 @@ resourceStatus: any;
|
||||
};
|
||||
}
|
||||
get reqParams() {
|
||||
const a:any = {};
|
||||
if(this.resourceStatus) {
|
||||
const a: any = {};
|
||||
if (this.resourceStatus) {
|
||||
a.billStatus = this.resourceStatus;
|
||||
}
|
||||
const params: any = Object.assign({}, this.sf?.value || {});
|
||||
@ -100,51 +102,80 @@ resourceStatus: any;
|
||||
...params,
|
||||
createTime: {
|
||||
start: this.sf?.value?.createTime?.[0] || '',
|
||||
end: this.sf?.value?.createTime?.[1] || '',
|
||||
},
|
||||
end: this.sf?.value?.createTime?.[1] || ''
|
||||
}
|
||||
};
|
||||
}
|
||||
beforeReq = (requestOptions: STRequestOptions) => {
|
||||
const a:any = {};
|
||||
if(this.resourceStatus) {
|
||||
const a: any = {};
|
||||
if (this.resourceStatus) {
|
||||
a.billStatus = this.resourceStatus;
|
||||
Object.assign(requestOptions.body, {
|
||||
...a
|
||||
});
|
||||
}
|
||||
const params: any = Object.assign({}, this.sf?.value || {});
|
||||
delete params._$expand;
|
||||
if (this.sf) {
|
||||
Object.assign(requestOptions.body, {
|
||||
...a,
|
||||
...params,
|
||||
createTime: {
|
||||
start: this.sf?.value?.createTime?.[0] || '',
|
||||
end: this.sf?.value?.createTime?.[1] || '',
|
||||
},
|
||||
end: this.sf?.value?.createTime?.[1] || ''
|
||||
}
|
||||
});
|
||||
}
|
||||
this.loading = true;
|
||||
return requestOptions;
|
||||
};
|
||||
afterRes = (data: any[], rawData?: any) => {
|
||||
console.log(data)
|
||||
this.loading = false
|
||||
console.log(data);
|
||||
this.loading = false;
|
||||
return data.map(item => ({
|
||||
...item,
|
||||
disabled: item.billStatus == '6'
|
||||
}));
|
||||
};
|
||||
get selectedRows() {
|
||||
return this.st?.list.filter((item) => item.checked) || [];
|
||||
return this.st?.list.filter(item => item.checked) || [];
|
||||
}
|
||||
ngOnInit(): void {
|
||||
this.getGoodsSourceStatistical()
|
||||
this.getGoodsSourceStatistical();
|
||||
this.initSF();
|
||||
this.initST();
|
||||
this.initSTFloat();
|
||||
this.initSTFloatView();
|
||||
|
||||
setTimeout(() => {
|
||||
this.getScrollY();
|
||||
}, 100);
|
||||
fromEvent(window, 'resize')
|
||||
.pipe(debounceTime(100))
|
||||
.subscribe(event => {
|
||||
this.getScrollY();
|
||||
});
|
||||
}
|
||||
|
||||
getScrollY() {
|
||||
const windowHeight = window.innerHeight || Math.max(document.documentElement.clientHeight, document.body.clientHeight);
|
||||
const header = document.getElementsByTagName('layout-pro-header')?.[0];
|
||||
if (windowHeight && header) {
|
||||
let scrollY = windowHeight - header.clientHeight - 35 - 49;
|
||||
const headerWrapper = document.getElementsByTagName('page-header-wrapper')?.[0];
|
||||
if (headerWrapper) {
|
||||
scrollY -= headerWrapper.clientHeight;
|
||||
}
|
||||
const tabset = document.getElementsByTagName('nz-tabset')?.[0];
|
||||
if (tabset) {
|
||||
scrollY -= tabset.clientHeight;
|
||||
}
|
||||
this.scrollY = scrollY + 'px';
|
||||
}
|
||||
}
|
||||
|
||||
search() {
|
||||
this.st?.load(1);
|
||||
this.getGoodsSourceStatistical()
|
||||
this.getGoodsSourceStatistical();
|
||||
}
|
||||
getGoodsSourceStatistical() {
|
||||
this.tabs = {
|
||||
@ -157,29 +188,29 @@ resourceStatus: any;
|
||||
totalCount: 0
|
||||
};
|
||||
const params: any = Object.assign({}, this.reqParams || {});
|
||||
delete params.billStatus
|
||||
this.service.request(this.service.$api_statisticalStatus,params).subscribe(res => {
|
||||
delete params.billStatus;
|
||||
this.service.request(this.service.$api_statisticalStatus, params).subscribe(res => {
|
||||
if (res) {
|
||||
let totalCount = 0;
|
||||
res.forEach((element: any) => {
|
||||
if(element.billStatusLabel === '待发车') {
|
||||
this.tabs.stayQuantity = element.quantity
|
||||
if (element.billStatusLabel === '待发车') {
|
||||
this.tabs.stayQuantity = element.quantity;
|
||||
} else if (element.billStatusLabel === '待接单') {
|
||||
this.tabs.receivedQuantity = element.quantity
|
||||
this.tabs.receivedQuantity = element.quantity;
|
||||
} else if (element.billStatusLabel === '运输中') {
|
||||
this.tabs.GoingQuantity = element.quantity
|
||||
this.tabs.GoingQuantity = element.quantity;
|
||||
} else if (element.billStatusLabel === '待签收') {
|
||||
this.tabs.signQuantity = element.quantity
|
||||
this.tabs.signQuantity = element.quantity;
|
||||
} else if (element.billStatusLabel === '已完成') {
|
||||
this.tabs.compolatelQuantity = element.quantity
|
||||
this.tabs.compolatelQuantity = element.quantity;
|
||||
} else if (element.billStatusLabel === '已取消') {
|
||||
this.tabs.cancelQuantity = element.quantity
|
||||
this.tabs.cancelQuantity = element.quantity;
|
||||
}
|
||||
totalCount += element.quantity
|
||||
totalCount += element.quantity;
|
||||
});
|
||||
this.tabs.totalCount = totalCount
|
||||
this.tabs.totalCount = totalCount;
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -193,7 +224,7 @@ resourceStatus: any;
|
||||
type: 'string',
|
||||
title: '订单号',
|
||||
ui: {
|
||||
placeholder: '最多100个单号,空号隔开',
|
||||
placeholder: '最多100个单号,空号隔开'
|
||||
}
|
||||
},
|
||||
resourceCode: {
|
||||
@ -210,11 +241,11 @@ resourceStatus: any;
|
||||
searchLoadingText: '搜索中...',
|
||||
allowClear: true,
|
||||
onSearch: (q: any) => {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
let str = q.replace(/^\s+|\s+$/g, '');
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.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 {
|
||||
return of([]);
|
||||
@ -223,64 +254,41 @@ resourceStatus: any;
|
||||
change: (q: any) => {
|
||||
this.getRegionCode(q);
|
||||
}
|
||||
} as SFSelectWidgetSchema,
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
enterpriseProjectId: {
|
||||
type: 'string',
|
||||
title: '所属项目',
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
},
|
||||
placeholder: '请选择'
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
loadingPlace: {
|
||||
type: 'string',
|
||||
title: '装货地',
|
||||
ui: {
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
}
|
||||
}
|
||||
ui: {}
|
||||
},
|
||||
dischargePlace: {
|
||||
type: 'string',
|
||||
title: '卸货地',
|
||||
ui: {
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
}
|
||||
}
|
||||
ui: {}
|
||||
},
|
||||
driverName: {
|
||||
title: '承运司机',
|
||||
type: 'string',
|
||||
ui: {
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
}
|
||||
}
|
||||
ui: {}
|
||||
},
|
||||
|
||||
carNo: {
|
||||
title: '车牌号',
|
||||
type: 'string',
|
||||
ui: {
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
}
|
||||
}
|
||||
ui: {}
|
||||
},
|
||||
carCaptainName: {
|
||||
title: '车队长',
|
||||
type: 'string',
|
||||
ui: {
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
}
|
||||
ui: {}
|
||||
},
|
||||
paymentStatus: {
|
||||
title: '支付状态',
|
||||
@ -288,11 +296,8 @@ resourceStatus: any;
|
||||
ui: {
|
||||
widget: 'dict-select',
|
||||
params: { dictKey: 'overall:payment:status' },
|
||||
containsAllLable: true,
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
} as SFSelectWidgetSchema,
|
||||
containsAllLable: true
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
createTime: {
|
||||
title: '创建时间',
|
||||
@ -300,10 +305,7 @@ resourceStatus: any;
|
||||
ui: {
|
||||
widget: 'date',
|
||||
mode: 'range',
|
||||
format: 'yyyy-MM-dd',
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
}
|
||||
format: 'yyyy-MM-dd'
|
||||
} as SFDateWidgetSchema
|
||||
},
|
||||
riskStatus: {
|
||||
@ -316,11 +318,8 @@ resourceStatus: any;
|
||||
],
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
},
|
||||
placeholder: '请选择'
|
||||
}
|
||||
},
|
||||
enterpriseInfoId: {
|
||||
type: 'string',
|
||||
@ -328,12 +327,9 @@ resourceStatus: any;
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
allowClear: true,
|
||||
asyncData: () => this.shipperservice.getNetworkFreightForwarder(),
|
||||
},
|
||||
asyncData: () => this.shipperservice.getNetworkFreightForwarder()
|
||||
}
|
||||
},
|
||||
// goodsNameId: {
|
||||
// type: 'string',
|
||||
@ -362,16 +358,13 @@ resourceStatus: any;
|
||||
ui: {
|
||||
widget: 'dict-select',
|
||||
params: { dictKey: 'service:type' },
|
||||
containsAllLable: true,
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
} as SFSelectWidgetSchema,
|
||||
},
|
||||
containsAllLable: true
|
||||
} as SFSelectWidgetSchema
|
||||
}
|
||||
},
|
||||
type: 'object'
|
||||
};
|
||||
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||
this.ui = { '*': { spanLabelFixed: 95, grid: { span: 24, gutter: 4 } } };
|
||||
}
|
||||
|
||||
/**
|
||||
@ -391,7 +384,7 @@ resourceStatus: any;
|
||||
title: '运费明细',
|
||||
width: '250px',
|
||||
className: 'text-right',
|
||||
render: 'mybidDetailInfo',
|
||||
render: 'mybidDetailInfo'
|
||||
},
|
||||
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
|
||||
{ title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' },
|
||||
@ -410,7 +403,8 @@ resourceStatus: any;
|
||||
className: 'text-left',
|
||||
width: '170px',
|
||||
render: 'goodsName'
|
||||
}, {
|
||||
},
|
||||
{
|
||||
title: '承运司机',
|
||||
className: 'text-left',
|
||||
width: '250px',
|
||||
@ -420,7 +414,7 @@ resourceStatus: any;
|
||||
title: '收款人',
|
||||
className: 'text-left',
|
||||
render: 'payeeName',
|
||||
width: '180px',
|
||||
width: '180px'
|
||||
},
|
||||
{
|
||||
title: '装卸货时间',
|
||||
@ -432,7 +426,7 @@ resourceStatus: any;
|
||||
title: '创建时间',
|
||||
className: 'text-left',
|
||||
index: 'createTime',
|
||||
width: '170px',
|
||||
width: '170px'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
@ -440,65 +434,68 @@ resourceStatus: any;
|
||||
width: '130px',
|
||||
className: 'text-center block-td',
|
||||
buttons: [
|
||||
|
||||
{
|
||||
text: '运费变更记录',
|
||||
click: (_record) => this.OpenPrice(_record),
|
||||
iif: item => item.billStatus == '4' || item.billStatus == '5' || item.billStatus == '2' || item.billStatus == '3' || item.billStatus == '6',
|
||||
acl: { ability: ['ORDER-VEHICLE-ChangeApplyList'] },
|
||||
},
|
||||
{
|
||||
text: '查看详情',
|
||||
click: (item: any) => {
|
||||
this.router.navigate(['./vehicle-detail', item.id], { relativeTo: this.ar });
|
||||
},
|
||||
acl: { ability: ['USERCENTER-FREIGHT-USER-view'] },
|
||||
click: _record => this.OpenPrice(_record),
|
||||
iif: item =>
|
||||
item.billStatus == '4' ||
|
||||
item.billStatus == '5' ||
|
||||
item.billStatus == '2' ||
|
||||
item.billStatus == '3' ||
|
||||
item.billStatus == '6',
|
||||
acl: { ability: ['ORDER-VEHICLE-ChangeApplyList'] }
|
||||
},
|
||||
// {
|
||||
// text: '查看详情',
|
||||
// click: (item: any) => {
|
||||
// this.router.navigate(['./vehicle-detail', item.id], { relativeTo: this.ar });
|
||||
// },
|
||||
// acl: { ability: ['USERCENTER-FREIGHT-USER-view'] }
|
||||
// },
|
||||
{
|
||||
text: '查看评价',
|
||||
click: (_record) => this.viewEvaluate(_record),
|
||||
click: _record => this.viewEvaluate(_record),
|
||||
iif: item => item.billStatus == '5',
|
||||
acl: { ability: ['ORDER-VEHICLE-evaluation'] },
|
||||
acl: { ability: ['ORDER-VEHICLE-evaluation'] }
|
||||
},
|
||||
{
|
||||
text: '变更运费',
|
||||
click: (_record) => this.updateFreight(_record),
|
||||
click: _record => this.updateFreight(_record),
|
||||
iif: item => item.billStatus !== '1' && item.billStatus !== '6' && item.overallPaymentStatus != '2',
|
||||
acl: { ability: ['ORDER-VEHICLE-FreightChangeWholeDetail'] },
|
||||
acl: { ability: ['ORDER-VEHICLE-FreightChangeWholeDetail'] }
|
||||
},
|
||||
{
|
||||
text: '确认签收',
|
||||
click: (_record) => this.confirmReceipt(_record),
|
||||
click: _record => this.confirmReceipt(_record),
|
||||
iif: item => item.billStatus == '4',
|
||||
acl: { ability: ['ORDER-VEHICLE-signWholeOrder'] },
|
||||
acl: { ability: ['ORDER-VEHICLE-signWholeOrder'] }
|
||||
},
|
||||
{
|
||||
text: '取消订单',
|
||||
click: (_record) => this.cancellation(_record),
|
||||
click: _record => this.cancellation(_record),
|
||||
iif: item => item.billStatus !== '1' && item.billStatus !== '6' && item.overallPaymentStatus !== '2',
|
||||
acl: { ability: ['ORDER-VEHICLE-cancelAnOrder'] },
|
||||
acl: { ability: ['ORDER-VEHICLE-cancelAnOrder'] }
|
||||
},
|
||||
{
|
||||
text: '修改订单',
|
||||
click: (_record) => this.changeOrder(_record),
|
||||
click: _record => this.changeOrder(_record),
|
||||
iif: item => item.billStatus == '4' || item.billStatus == '5' || item.billStatus == '2' || item.billStatus == '3',
|
||||
acl: { ability: ['ORDER-VEHICLE-modificationOrder'] },
|
||||
acl: { ability: ['ORDER-VEHICLE-modificationOrder'] }
|
||||
},
|
||||
{
|
||||
text: '申请退款',
|
||||
click: (_record) => this.applyRefund(_record),
|
||||
click: _record => this.applyRefund(_record),
|
||||
iif: item => item.isApplyForRefund,
|
||||
acl: { ability: ['ORDER-VEHICLE-modificationOrder'] },
|
||||
acl: { ability: ['ORDER-VEHICLE-modificationOrder'] }
|
||||
},
|
||||
{
|
||||
text: '查看轨迹',
|
||||
click: (_record) => this.viewTrack(_record),
|
||||
iif: item => item.billStatus !== '1' && item.billStatus !== '6',
|
||||
click: _record => this.viewTrack(_record),
|
||||
iif: item => item.billStatus !== '1' && item.billStatus !== '6'
|
||||
// acl: { ability: ['VEHICLE-LIST-view'] },
|
||||
},
|
||||
|
||||
],
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
}
|
||||
initSTFloat() {
|
||||
@ -526,15 +523,15 @@ resourceStatus: any;
|
||||
buttons: [
|
||||
{
|
||||
text: '查看',
|
||||
click: (_record) => this.FloatView(_record),
|
||||
click: _record => this.FloatView(_record)
|
||||
},
|
||||
{
|
||||
text: '撤销',
|
||||
click: (_record) => this.revoke(_record),
|
||||
iif: item => item.handleStatus === '1' || item.handleStatus === 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
click: _record => this.revoke(_record),
|
||||
iif: item => item.handleStatus === '1' || item.handleStatus === 1
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
}
|
||||
initSTFloatView() {
|
||||
@ -552,16 +549,8 @@ resourceStatus: any;
|
||||
index: 'amountAfterChange',
|
||||
render: 'amountAfterChange'
|
||||
},
|
||||
{ title: '变更值',
|
||||
index: 'amountchangeValue',
|
||||
render: 'amountchangeValue',
|
||||
width: '120px',
|
||||
className: 'text-center' },
|
||||
{ title: '变更后',
|
||||
index: 'amountBeforeChange',
|
||||
render: 'amountBeforeChange',
|
||||
width: '120px',
|
||||
className: 'text-center' }
|
||||
{ title: '变更值', index: 'amountchangeValue', render: 'amountchangeValue', width: '120px', className: 'text-center' },
|
||||
{ title: '变更后', index: 'amountBeforeChange', render: 'amountBeforeChange', width: '120px', className: 'text-center' }
|
||||
];
|
||||
}
|
||||
// 获取城市列表
|
||||
@ -584,7 +573,7 @@ resourceStatus: any;
|
||||
// this.sf1.setValue('/enterpriseProjectId', this.enterpriseProjectIds);
|
||||
// }
|
||||
});
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 查询字段个数
|
||||
*/
|
||||
@ -599,7 +588,7 @@ resourceStatus: any;
|
||||
this.sf?.setValue('/_$expand', this._$expand);
|
||||
}
|
||||
tabChange(item: any) {
|
||||
console.log(item)
|
||||
console.log(item);
|
||||
}
|
||||
/**
|
||||
* 重置表单
|
||||
@ -618,11 +607,8 @@ resourceStatus: any;
|
||||
/**
|
||||
* 导入货源
|
||||
*/
|
||||
importGoodsSource() {
|
||||
|
||||
}
|
||||
audit(item: any) {
|
||||
}
|
||||
importGoodsSource() {}
|
||||
audit(item: any) {}
|
||||
|
||||
/*
|
||||
* 审核关闭弹窗
|
||||
@ -631,72 +617,71 @@ resourceStatus: any;
|
||||
查看评价: 3
|
||||
*/
|
||||
handleCancel(type: string) {
|
||||
console.log(type)
|
||||
if(type === '0') {
|
||||
this.isVisible = false
|
||||
} else if(type === '1') {
|
||||
this.isVisibleView = false
|
||||
} else if(type === '2') {
|
||||
this.isVisibleEvaluate = false
|
||||
console.log(type);
|
||||
if (type === '0') {
|
||||
this.isVisible = false;
|
||||
} else if (type === '1') {
|
||||
this.isVisibleView = false;
|
||||
} else if (type === '2') {
|
||||
this.isVisibleEvaluate = false;
|
||||
}
|
||||
}
|
||||
OpenPrice(value: any) {
|
||||
this.changeId = value.id;
|
||||
this.isVisible = true
|
||||
this.isVisible = true;
|
||||
}
|
||||
/**
|
||||
* 浮动费用查看
|
||||
*/
|
||||
FloatView(item: any) {
|
||||
console.log(item)
|
||||
console.log(item);
|
||||
this.changeViewId = item.id;
|
||||
this.service.request(this.service.$api_getChangeRecordWholeDetail, {id: this.changeViewId}).subscribe((res) => {
|
||||
this.service.request(this.service.$api_getChangeRecordWholeDetail, { id: this.changeViewId }).subscribe(res => {
|
||||
this.ViewCause = res;
|
||||
})
|
||||
this.isVisibleView = true
|
||||
});
|
||||
this.isVisibleView = true;
|
||||
}
|
||||
/**
|
||||
*查看评价
|
||||
*/
|
||||
viewEvaluate(item: any) {
|
||||
console.log(item)
|
||||
this.isVisibleEvaluate = true
|
||||
console.log(item);
|
||||
this.isVisibleEvaluate = true;
|
||||
const params = {
|
||||
businessCode: item.billCode,
|
||||
evaluateUserId: item.shipperAppUserId,
|
||||
}
|
||||
evaluateUserId: item.shipperAppUserId
|
||||
};
|
||||
const params2 = {
|
||||
businessCode: item.billCode,
|
||||
evaluateUserId: item.shipperAppUserId,
|
||||
}
|
||||
evaluateUserId: item.shipperAppUserId
|
||||
};
|
||||
this.service.request(this.service.$api_getBillEvaluateByShipper, params).subscribe(res => {
|
||||
console.log(res)
|
||||
this.shipList = res.evaluateInfos
|
||||
|
||||
console.log(res);
|
||||
this.shipList = res.evaluateInfos;
|
||||
});
|
||||
this.service.request(this.service.$api_getBillEvaluateDriverByShipper, params2).subscribe(res => {
|
||||
console.log(res)
|
||||
this.diverList = res.evaluateInfos
|
||||
console.log(res);
|
||||
this.diverList = res.evaluateInfos;
|
||||
});
|
||||
}
|
||||
/**
|
||||
*变更运费
|
||||
*/
|
||||
updateFreight(item: any) {
|
||||
console.log(item?.isFreightChangeApplication)
|
||||
console.log(item?.isFreightChangeApplication);
|
||||
this.service.request(this.service.$api_get_getFreightChangeWholeDetail, { id: item.id }).subscribe(data => {
|
||||
if (data) {
|
||||
const modal = this.modal.create({
|
||||
nzTitle: '变更运费',
|
||||
nzWidth: 580,
|
||||
nzContent: VehicleUpdateFreightComponent,
|
||||
nzComponentParams: { data: { ...data, id: item.id,isFreightChangeApplication: item?.isFreightChangeApplication } },
|
||||
nzFooter: null,
|
||||
nzComponentParams: { data: { ...data, id: item.id, isFreightChangeApplication: item?.isFreightChangeApplication } },
|
||||
nzFooter: null
|
||||
});
|
||||
modal.afterClose.subscribe((res: Boolean) => {
|
||||
if(res) {
|
||||
if (res) {
|
||||
this.st.load();
|
||||
this.getGoodsSourceStatistical()
|
||||
this.getGoodsSourceStatistical();
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -710,21 +695,21 @@ resourceStatus: any;
|
||||
this.selectedRows.forEach(item => {
|
||||
params.push(item.id);
|
||||
});
|
||||
if(params.length === 0) {
|
||||
this.service.msgSrv.error('请先选择订单!')
|
||||
return
|
||||
if (params.length === 0) {
|
||||
this.service.msgSrv.error('请先选择订单!');
|
||||
return;
|
||||
}
|
||||
const modal = this.modal.create({
|
||||
nzTitle: '修改附加费率',
|
||||
nzWidth: 600,
|
||||
nzContent: VehicleModifyRateComponent,
|
||||
nzComponentParams: { data: { ids: params } },
|
||||
nzFooter: null,
|
||||
nzFooter: null
|
||||
});
|
||||
modal.afterClose.subscribe((result) => {
|
||||
modal.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.st.load(1);
|
||||
this.getGoodsSourceStatistical()
|
||||
this.getGoodsSourceStatistical();
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -740,21 +725,21 @@ resourceStatus: any;
|
||||
this.selectedRows.forEach(item => {
|
||||
params2.push(item.enterpriseInfoId);
|
||||
});
|
||||
if(params.length === 0) {
|
||||
this.service.msgSrv.error('请先选择订单!')
|
||||
return
|
||||
if (params.length === 0) {
|
||||
this.service.msgSrv.error('请先选择订单!');
|
||||
return;
|
||||
}
|
||||
const modal = this.modal.create({
|
||||
nzTitle: '修改网络货运人',
|
||||
nzWidth: 600,
|
||||
nzContent: VehicleFreightPeopleComponent,
|
||||
nzComponentParams: { data: { ids: params, enterpriseInfoIds: params2, } },
|
||||
nzFooter: null,
|
||||
nzComponentParams: { data: { ids: params, enterpriseInfoIds: params2 } },
|
||||
nzFooter: null
|
||||
});
|
||||
modal.afterClose.subscribe((result) => {
|
||||
modal.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.st.load(1);
|
||||
this.getGoodsSourceStatistical()
|
||||
this.getGoodsSourceStatistical();
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -766,16 +751,16 @@ resourceStatus: any;
|
||||
this.selectedRows.forEach(item => {
|
||||
params.push(item.id);
|
||||
});
|
||||
if(params.length === 0) {
|
||||
this.service.msgSrv.error('请先选择订单!')
|
||||
return
|
||||
if (params.length === 0) {
|
||||
this.service.msgSrv.error('请先选择订单!');
|
||||
return;
|
||||
}
|
||||
const modal = this.modal.create({
|
||||
nzTitle: '修改车队长',
|
||||
nzWidth: 900,
|
||||
nzContent: VehicleModifyCaptainComponent,
|
||||
nzComponentParams: { data: { ids: params, } },
|
||||
nzFooter: null,
|
||||
nzComponentParams: { data: { ids: params } },
|
||||
nzFooter: null
|
||||
// nzOnOk: sin => {
|
||||
// this.service.request(this.service.$api_change_bulk, { billId: item.id, ...sin.sf.value }).subscribe(res => {
|
||||
// if (res) {
|
||||
@ -787,10 +772,10 @@ resourceStatus: any;
|
||||
// return false;
|
||||
// }
|
||||
});
|
||||
modal.afterClose.subscribe((result) => {
|
||||
modal.afterClose.subscribe(result => {
|
||||
if (result) {
|
||||
this.st.load(1);
|
||||
this.getGoodsSourceStatistical()
|
||||
this.getGoodsSourceStatistical();
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -813,11 +798,11 @@ resourceStatus: any;
|
||||
this.modal.confirm({
|
||||
nzTitle: '是否确定立即撤销费用变更!</i>',
|
||||
nzOnOk: () =>
|
||||
this.service.request(this.service.$api_get_revokeChangeRecord, { id: item.id}).subscribe((res) => {
|
||||
console.log(res)
|
||||
if(res) {
|
||||
this.service.msgSrv.success('撤销成功!')
|
||||
this.stFloat.reload()
|
||||
this.service.request(this.service.$api_get_revokeChangeRecord, { id: item.id }).subscribe(res => {
|
||||
console.log(res);
|
||||
if (res) {
|
||||
this.service.msgSrv.success('撤销成功!');
|
||||
this.stFloat.reload();
|
||||
}
|
||||
})
|
||||
});
|
||||
@ -829,36 +814,36 @@ resourceStatus: any;
|
||||
nzTitle: '<b>确定取消该订单吗?</b>',
|
||||
nzContent: `<b>取消后无法恢复,请确认</b>`,
|
||||
nzOnOk: () =>
|
||||
this.service.request(this.service.$api_get_cancelAnOrder, {id: item.id}).subscribe((res) => {
|
||||
this.service.request(this.service.$api_get_cancelAnOrder, { id: item.id }).subscribe(res => {
|
||||
if (res === true) {
|
||||
this.service.msgSrv.success('操作成功!');
|
||||
this.st.load(1);
|
||||
this.getGoodsSourceStatistical()
|
||||
this.getGoodsSourceStatistical();
|
||||
this.initST();
|
||||
}
|
||||
}),
|
||||
})
|
||||
});
|
||||
}
|
||||
userAction() {
|
||||
let params: any[] = [];
|
||||
if (this.selectedRows.length <= 0) {
|
||||
this.service.msgSrv.warning("请选择需要签收的订单!")
|
||||
this.service.msgSrv.warning('请选择需要签收的订单!');
|
||||
return;
|
||||
}
|
||||
let flag = true;
|
||||
this.selectedRows.forEach(item => {
|
||||
if(item.billStatus !=='4'){
|
||||
this.service.msgSrv.warning("存在非待签收状态订单,无法签收!")
|
||||
if (item.billStatus !== '4') {
|
||||
this.service.msgSrv.warning('存在非待签收状态订单,无法签收!');
|
||||
flag = false;
|
||||
}
|
||||
params.push(item.id);
|
||||
});
|
||||
if(!flag) return;
|
||||
if (!flag) return;
|
||||
this.service.request(this.service.$api_get_batchSignWholeOrder, params).subscribe(res => {
|
||||
if (res) {
|
||||
console.log(res);
|
||||
this.st.load(1);
|
||||
this.getGoodsSourceStatistical()
|
||||
this.getGoodsSourceStatistical();
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -880,7 +865,7 @@ resourceStatus: any;
|
||||
nzFooter: null
|
||||
});
|
||||
modalRef.afterClose.subscribe((res: boolean) => {
|
||||
if(res) {
|
||||
if (res) {
|
||||
this.resetSF;
|
||||
this.st.load();
|
||||
}
|
||||
@ -895,12 +880,12 @@ resourceStatus: any;
|
||||
nzContent: OneCarOrderViewtrackComponent,
|
||||
nzWidth: '800px',
|
||||
nzComponentParams: {
|
||||
i: item,
|
||||
i: item
|
||||
},
|
||||
nzFooter: null
|
||||
});
|
||||
modalRef.afterClose.subscribe((res: boolean) => {
|
||||
if(res) {
|
||||
if (res) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
</st>
|
||||
</div>
|
||||
<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>
|
||||
</nz-card>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-03 15:31:52
|
||||
* @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
|
||||
* 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_listBillComplianceAbnormalByBillId = '/api/sdc/billCompliance/listBillComplianceAbnormalByBillId';
|
||||
// 异常预警
|
||||
public $api_getAbnormalWarningByBillId = '/api/sdc/abnormalWarning/getAbnormalWarningByBillId';
|
||||
|
||||
getDictByKey(dictKey: string) {
|
||||
const params = { dictKey: dictKey };
|
||||
return this.request(this.$api_getDictValue, params);
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
</nz-card>
|
||||
<ng-template #extraTemplate>
|
||||
<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>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2022-01-12 10:52:50
|
||||
* @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
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
@ -97,7 +97,7 @@
|
||||
</nz-card>
|
||||
<ng-template #extraTemplate>
|
||||
<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
|
||||
>
|
||||
|
||||
@ -218,7 +218,7 @@ export class CarSettleAddDriverComponent implements OnInit {
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
required: ['certificatePhotoFrontWatermark', 'certificatePhotoBackWatermark', 'name', 'certificateNumber', 'bankCardNo']
|
||||
required: ['mobile','certificatePhotoFrontWatermark', 'certificatePhotoBackWatermark', 'name', 'certificateNumber', 'bankCardNo']
|
||||
};
|
||||
this.schema1 = {
|
||||
properties: {
|
||||
|
||||
@ -402,29 +402,29 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
||||
}
|
||||
|
||||
saveUser() {
|
||||
const userIdentity = this.userIdentityDetail;
|
||||
const userIdentity = this?.userIdentityDetail;
|
||||
const params = {
|
||||
certificateNumber: userIdentity.certificateNumber,
|
||||
certificatePhotoBack: userIdentity.certificatePhotoBack,
|
||||
certificatePhotoBackWatermark: userIdentity.certificatePhotoBackWatermark,
|
||||
certificatePhotoFront: userIdentity.certificatePhotoFront,
|
||||
certificatePhotoFrontWatermark: userIdentity.certificatePhotoFrontWatermark,
|
||||
certificateType: userIdentity.certificateType,
|
||||
handCertificate: userIdentity.handCertificate,
|
||||
id: userIdentity.id,
|
||||
name: userIdentity.name,
|
||||
souceType: userIdentity.souceType,
|
||||
sourceAppId: userIdentity.sourceAppId,
|
||||
tenantId: userIdentity.tenantId,
|
||||
userId: userIdentity.userId,
|
||||
certificateNumber: userIdentity?.certificateNumber,
|
||||
certificatePhotoBack: userIdentity?.certificatePhotoBack,
|
||||
certificatePhotoBackWatermark: userIdentity?.certificatePhotoBackWatermark,
|
||||
certificatePhotoFront: userIdentity?.certificatePhotoFront,
|
||||
certificatePhotoFrontWatermark: userIdentity?.certificatePhotoFrontWatermark,
|
||||
certificateType: userIdentity?.certificateType,
|
||||
handCertificate: userIdentity?.handCertificate,
|
||||
id: userIdentity?.id,
|
||||
name: userIdentity?.name,
|
||||
souceType: userIdentity?.souceType,
|
||||
sourceAppId: userIdentity?.sourceAppId,
|
||||
tenantId: userIdentity?.tenantId,
|
||||
userId: userIdentity?.userId,
|
||||
validEndTime:
|
||||
userIdentity.validEndTime?.length === 10
|
||||
? userIdentity.validEndTime
|
||||
: this.datePipe.transform(userIdentity.validEndTime, 'yyyy-MM-dd'),
|
||||
userIdentity?.validEndTime?.length === 10
|
||||
? userIdentity?.validEndTime
|
||||
: this.datePipe.transform(userIdentity?.validEndTime, 'yyyy-MM-dd'),
|
||||
validStartTime:
|
||||
userIdentity.validStartTime?.length === 10
|
||||
? userIdentity.validStartTime
|
||||
: this.datePipe.transform(userIdentity.validStartTime, 'yyyy-MM-dd')
|
||||
userIdentity?.validStartTime?.length === 10
|
||||
? userIdentity?.validStartTime
|
||||
: this.datePipe.transform(userIdentity?.validStartTime, 'yyyy-MM-dd')
|
||||
};
|
||||
this.service.request(this.service.$api_update_driver_identity, params).subscribe(res => {
|
||||
if (res) {
|
||||
|
||||
@ -77,6 +77,7 @@ export class UserCenterComponentsDriverComponent implements OnInit {
|
||||
nzContent: this.promoterModal,
|
||||
nzOnOk: () => {
|
||||
if (!!!this.promotersTelephone) {
|
||||
this.service.msgSrv.error('请填写手机号!');
|
||||
return false;
|
||||
}
|
||||
if (typeof this.promotersTelephone === 'string' && !/(^1\d{10}$)/.test(this.promotersTelephone)) {
|
||||
|
||||
@ -70,6 +70,7 @@ export class FreightConfigComponent implements OnInit {
|
||||
nzWidth: 900,
|
||||
nzComponentParams: {
|
||||
extendType: '2',
|
||||
spareBusinessId: item.networkTransporter,
|
||||
businessId: item.id,
|
||||
formatTypeList: (item: any[]) => [
|
||||
...item,
|
||||
|
||||
@ -119,6 +119,7 @@ export class VehicleComponentsAuditDetailComponent implements OnInit, OnDestroy
|
||||
nzContent: this.redectModal,
|
||||
nzOnOk: () => {
|
||||
if (!this.approvalOpinion) {
|
||||
this.service.msgSrv.error('请填写备注!')
|
||||
return false;
|
||||
}
|
||||
this.adjuctUser(
|
||||
|
||||
@ -236,7 +236,7 @@
|
||||
</st>
|
||||
</div>
|
||||
<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>
|
||||
</nz-card>
|
||||
|
||||
@ -80,6 +80,9 @@ tabs = {
|
||||
wayBillCode: {
|
||||
type: 'string',
|
||||
title: '运单号',
|
||||
ui: {
|
||||
placeholder: '最多100个运单,空号隔开'
|
||||
}
|
||||
},
|
||||
resourceCode: {
|
||||
type: 'string',
|
||||
|
||||
@ -216,7 +216,7 @@
|
||||
</st>
|
||||
</div>
|
||||
<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>
|
||||
</nz-card>
|
||||
|
||||
@ -77,7 +77,10 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||
wayBillCode: {
|
||||
type: 'string',
|
||||
title: '运单号'
|
||||
title: '运单号',
|
||||
ui: {
|
||||
placeholder: '最多100个运单,空号隔开'
|
||||
}
|
||||
},
|
||||
resourceCode: {
|
||||
type: 'string',
|
||||
|
||||
@ -9,3 +9,7 @@
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
<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 { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, OnDestroy } from '@angular/core';
|
||||
import { amapConf } from '@conf/amap.config';
|
||||
import { InputNumber } from '@delon/util';
|
||||
import { throwError } from 'rxjs';
|
||||
import { BaseService } from 'src/app/shared/services';
|
||||
import { AmapService, InfoItem, MapList, PathList, POI } from '../amap.service';
|
||||
declare var AMap: any;
|
||||
declare var AMapUI: any;
|
||||
declare var Loca: any;
|
||||
@ -21,41 +23,52 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
||||
infoWindow: any;
|
||||
markerList: any;
|
||||
SimpleMarker: any;
|
||||
// 简单路径信息
|
||||
@Input()
|
||||
pathList: any = [];
|
||||
mapList: MapList[] = [];
|
||||
// 完整路线图信息
|
||||
@Input()
|
||||
pathList: PathList[] = [];
|
||||
// 当前选中路线图下标
|
||||
@Input()
|
||||
selectedIndex = 0;
|
||||
// 巡航倍数
|
||||
@InputNumber()
|
||||
navSpeed = 1;
|
||||
// 标点数组
|
||||
@Input()
|
||||
pois: POI[] = [];
|
||||
private _pois: any = [];
|
||||
|
||||
@Input()
|
||||
mapWidth = '800px';
|
||||
@Input() MapList: any;
|
||||
@Input()
|
||||
mapHeight = '500px';
|
||||
|
||||
@Output()
|
||||
readonly clcikPointEvent = new EventEmitter<any>();
|
||||
|
||||
@Input()
|
||||
pois: any = [];
|
||||
private _pois: any = [];
|
||||
|
||||
constructor(public service: BaseService) {}
|
||||
constructor(public service: BaseService, private amapService: AmapService) {}
|
||||
ngOnChanges(changes: SimpleChanges): void {
|
||||
// 路线图变更: 设置路线图, 指定路线图
|
||||
if (changes?.pathList?.currentValue && this?.pathSimplifierIns) {
|
||||
this.setData(changes.pathList?.currentValue);
|
||||
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 = [
|
||||
{
|
||||
name: '路线1',
|
||||
points: changes.MapList?.currentValue
|
||||
points: changes.mapList?.currentValue
|
||||
}
|
||||
];
|
||||
this.setData(this.pathList);
|
||||
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) {
|
||||
// console.log(this.pois);
|
||||
this._pois = changes?.pois?.currentValue;
|
||||
@ -68,11 +81,13 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
||||
this.mapInit();
|
||||
}
|
||||
ngOnDestroy(): void {
|
||||
// 销毁地图数据
|
||||
if (this.aMap) {
|
||||
this.aMap.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
/** 地图初始化 */
|
||||
mapInit() {
|
||||
AMapLoader.load({
|
||||
key: CONFIG.key,
|
||||
@ -94,14 +109,15 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
||||
});
|
||||
|
||||
this.aMap.on('complete', () => {
|
||||
// this.service.msgSrv.info('地图加载完成 !');
|
||||
// 信息窗口
|
||||
this.infoWindow = new AMap.InfoWindow({
|
||||
offset: new AMap.Pixel(0, -40)
|
||||
});
|
||||
// 初始化定位工具
|
||||
this.geocoder = new AMap.Geocoder({
|
||||
radius: 1000 //范围,默认:500
|
||||
radius: 500 //范围,默认:500
|
||||
});
|
||||
// this.service.msgSrv.info('地图加载完成 !');
|
||||
this.pathInit();
|
||||
this.setPOIS();
|
||||
});
|
||||
@ -111,34 +127,20 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
||||
});
|
||||
}
|
||||
|
||||
/** 初始化路径工具 */
|
||||
pathInit() {
|
||||
this.pathSimplifierIns = new AMapUI.PathSimplifier({
|
||||
zIndex: 100,
|
||||
//autoSetFitView:false,
|
||||
map: this.aMap, //所属的地图实例
|
||||
|
||||
getPath: function (pathData: any, pathIndex: any) {
|
||||
var points = pathData.points,
|
||||
lnglatList = [];
|
||||
|
||||
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 '';
|
||||
},
|
||||
map: this.aMap,
|
||||
// 重组路径数据
|
||||
getPath: (pathData: PathList, pathIndex: number) => pathData.points.map(points => points.lnglat),
|
||||
// 鼠标悬浮事件
|
||||
getHoverTitle: (pathData: PathList, pathIndex: number, pointIndex: number) => '',
|
||||
renderOptions: {
|
||||
renderAllPointsIfNumberBelow: 10 //绘制路线节点,如不需要可设置为-1
|
||||
renderAllPointsIfNumberBelow: 20 //绘制路线节点,如不需要可设置为-1
|
||||
}
|
||||
});
|
||||
(window as any).pathSimplifierIns = this.pathSimplifierIns;
|
||||
this.setData(this.pathList);
|
||||
|
||||
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.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() {
|
||||
AMapUI.loadUI(['misc/MarkerList', 'overlay/SimpleMarker'], (MarkerList: any, SimpleMarker: any) => {
|
||||
this.markerList = new MarkerList({
|
||||
//关联的map对象
|
||||
map: this.aMap,
|
||||
//返回数据项的位置信息,需要是AMap.LngLat实例,或者是经纬度数组,比如[116.789806, 39.904989]
|
||||
getPosition: (dataItem: any) => {
|
||||
return dataItem.position;
|
||||
},
|
||||
getPosition: (dataItem: POI) => dataItem.position,
|
||||
//返回数据项对应的Marker
|
||||
getMarker: (dataItem: any, context: any, recycledMarker: any) => {
|
||||
getMarker: (dataItem: POI, context: any, recycledMarker: any) => {
|
||||
//存在可回收利用的marker
|
||||
if (recycledMarker) {
|
||||
//直接更新内容返回
|
||||
recycledMarker.setIconLabel(context.id);
|
||||
recycledMarker.setIconStyle(dataItem.iconStyle);
|
||||
recycledMarker.setIconStyle(dataItem.color);
|
||||
return recycledMarker;
|
||||
}
|
||||
this.SimpleMarker = SimpleMarker;
|
||||
@ -189,7 +205,7 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
||||
});
|
||||
},
|
||||
//返回数据项对应的infoWindow
|
||||
getInfoWindow: (dataItem: any, context: any, recycledInfoWindow: any) => {
|
||||
getInfoWindow: (dataItem: POI, context: any, recycledInfoWindow: any) => {
|
||||
this.selectedPOI(dataItem);
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定路线图
|
||||
* @param index
|
||||
*/
|
||||
setPathIndex(index: number) {
|
||||
this.pathSimplifierIns.setSelectedPathIndex(index);
|
||||
this.startNav();
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启巡航
|
||||
*/
|
||||
startNav() {
|
||||
if (this.navigator) {
|
||||
this.navigator.start();
|
||||
} else {
|
||||
this.navigator = this.pathSimplifierIns?.createPathNavigator(0, {
|
||||
this.navigator = this.pathSimplifierIns?.createPathNavigator(this.selectedIndex, {
|
||||
loop: true, //循环播放
|
||||
speed: 1000000 //巡航速度,单位千米/小时
|
||||
speed: 500000 * this.navSpeed //巡航速度,单位千米/小时
|
||||
});
|
||||
this.navigator?.start();
|
||||
}
|
||||
|
||||
changeMultiple(multiple: number) {
|
||||
if (multiple <= 0) {
|
||||
this.navSpeed = 1;
|
||||
return;
|
||||
} else {
|
||||
this.navSpeed = multiple;
|
||||
this.resetNav();
|
||||
}
|
||||
}
|
||||
|
||||
/** 根据经纬度获取地址信息 */
|
||||
/** 重置巡航 */
|
||||
resetNav() {
|
||||
if (this.navigator) {
|
||||
this.navigator.destroy();
|
||||
setTimeout(() => {
|
||||
this.startNav();
|
||||
}, 200);
|
||||
} else {
|
||||
this.startNav();
|
||||
}
|
||||
}
|
||||
|
||||
/** 根据标点经纬度获取地址信息 */
|
||||
getPoiByPositon(position: string[]) {
|
||||
this.geocoder.getAddress(position, (status: any, result: any) => {
|
||||
if (status === 'complete' && result.info === 'OK') {
|
||||
@ -232,7 +277,6 @@ export class AmapPathSimplifierComponent implements OnInit, OnChanges, OnDestroy
|
||||
if (this.markerList) {
|
||||
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) {
|
||||
this.infoWindow.setContent(`地址: <pre>${location.title}</pre>`);
|
||||
this.infoWindow.open(this.aMap, location.position);
|
||||
this.infoWindow.setPosition(location.position);
|
||||
this.aMap.setCenter(location.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
|
||||
});
|
||||
});
|
||||
selectedPOI(infoItem: InfoItem) {
|
||||
this.infoWindow.setContent(infoItem.content || `地址: <pre>${infoItem.title}</pre>`);
|
||||
this.infoWindow.open(this.aMap, infoItem.position);
|
||||
this.infoWindow.setPosition(infoItem.position);
|
||||
// 地图定位居中
|
||||
this.aMap.setCenter(infoItem.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 AMapLoader from '@amap/amap-jsapi-loader';
|
||||
import { amapConf } from '@conf/amap.config';
|
||||
import { formatDate } from '@angular/common';
|
||||
import { DateTimePickerUtil } from '@delon/util';
|
||||
declare var AMap: any;
|
||||
declare var AMapUI: any;
|
||||
|
||||
const CONFIG = amapConf;
|
||||
@Injectable({
|
||||
@ -82,4 +85,59 @@ export class AmapService {
|
||||
|
||||
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
|
||||
* @Date : 2022-01-10 16:06:17
|
||||
* @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
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
*/
|
||||
@ -34,6 +34,8 @@ export class DynamicSettingModalComponent implements OnInit {
|
||||
@Input()
|
||||
extendType!: string;
|
||||
@Input()
|
||||
spareBusinessId!: string;
|
||||
@Input()
|
||||
businessId!: string;
|
||||
@Input()
|
||||
configvalue!: string;
|
||||
@ -54,7 +56,8 @@ export class DynamicSettingModalComponent implements OnInit {
|
||||
.request('/api/mdc/pbc/sysConfigItemExtend/getSysConfigExtend', {
|
||||
configFullKey: this.configFullKey,
|
||||
extendType: this.extendType,
|
||||
businessId: this.businessId
|
||||
businessId: this.businessId,
|
||||
spareBusinessId: this.spareBusinessId,
|
||||
})
|
||||
.pipe(
|
||||
map((res: Array<any>) => {
|
||||
|
||||
@ -47,6 +47,7 @@ import { NzAffixModule } from 'ng-zorro-antd/affix';
|
||||
import { NzTypographyModule } from 'ng-zorro-antd/typography';
|
||||
import { NzSwitchModule } from 'ng-zorro-antd/switch';
|
||||
import { NzImageModule } from 'ng-zorro-antd/image';
|
||||
import { NzDrawerModule } from 'ng-zorro-antd/drawer';
|
||||
export const SHARED_ZORRO_MODULES = [
|
||||
NzButtonModule,
|
||||
NzGridModule,
|
||||
@ -87,5 +88,6 @@ export const SHARED_ZORRO_MODULES = [
|
||||
NzAffixModule,
|
||||
NzTypographyModule,
|
||||
NzSwitchModule,
|
||||
NzImageModule
|
||||
NzImageModule,
|
||||
NzDrawerModule
|
||||
];
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
width : 18px;
|
||||
fill : currentColor;
|
||||
overflow : hidden;
|
||||
font-size: 18px !important;
|
||||
font-size : 18px !important;
|
||||
color : #ffffff;
|
||||
margin-right: 10px;
|
||||
}
|
||||
@ -48,11 +48,12 @@ input[type="number"] {
|
||||
word-break: break-all;
|
||||
word-wrap : break-word;
|
||||
}
|
||||
|
||||
st {
|
||||
.block-td {
|
||||
.ant-divider-vertical {
|
||||
display: none;
|
||||
margin: 0;
|
||||
display : none;
|
||||
margin : 0;
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
@ -62,4 +63,8 @@ st {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nz-range-picker {
|
||||
width: 100%;
|
||||
}
|
||||
@ -1,80 +1,112 @@
|
||||
|
||||
.alain-pro__sider-logo h1{
|
||||
.alain-pro__sider-logo h1 {
|
||||
font-size: 15px !important;
|
||||
}
|
||||
.page-header__title{
|
||||
|
||||
.page-header__title {
|
||||
font-size: 14px !important;
|
||||
}
|
||||
.alain-pro__body{
|
||||
|
||||
.alain-pro__body {
|
||||
margin: 12px 12px 0px !important;
|
||||
}
|
||||
.alain-pro__page-header-content{
|
||||
|
||||
.alain-pro__page-header-content {
|
||||
margin: 8px 8px 0 !important;
|
||||
}
|
||||
|
||||
.ant-card {
|
||||
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;
|
||||
}
|
||||
.alain-pro__page-header-wrapper{
|
||||
|
||||
.alain-pro__page-header-wrapper {
|
||||
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;
|
||||
}
|
||||
|
||||
.sf__compact .ant-form-item {
|
||||
margin-top: 4px !important;
|
||||
margin-top : 4px !important;
|
||||
margin-bottom: 4px !important;
|
||||
}
|
||||
.body-box{
|
||||
|
||||
.body-box {
|
||||
max-width: 760px !important;
|
||||
.box-content{
|
||||
|
||||
.box-content {
|
||||
height: 77% !important;
|
||||
}
|
||||
}
|
||||
.login-logo{
|
||||
width:250px !important;
|
||||
|
||||
.login-logo {
|
||||
width : 250px !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
.ant-tabs-tab-btn{
|
||||
|
||||
.ant-tabs-tab-btn {
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.login-box-content{
|
||||
|
||||
.login-box-content {
|
||||
max-width: 300px !important;
|
||||
height: 100% !important;
|
||||
padding: 58px 0 38px !important;
|
||||
height : 100% !important;
|
||||
padding : 58px 0 38px !important;
|
||||
}
|
||||
|
||||
.total-footer {
|
||||
bottom: 10px !important;
|
||||
}
|
||||
.ant-layout-header{
|
||||
height: 44px;
|
||||
padding: 0 25px;
|
||||
|
||||
.ant-layout-header {
|
||||
height : 44px;
|
||||
padding : 0 25px;
|
||||
line-height: 44px;
|
||||
img{
|
||||
|
||||
img {
|
||||
width: 22px
|
||||
}
|
||||
.title{
|
||||
|
||||
.title {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.ant-tabs-tab-btn{
|
||||
|
||||
.ant-tabs-tab-btn {
|
||||
font-size: 14px !important;
|
||||
}
|
||||
.ant-row{
|
||||
margin-left: 0px !important;
|
||||
|
||||
.ant-row {
|
||||
margin-left : 0px !important;
|
||||
margin-right: 0px !important;
|
||||
}
|
||||
h2{
|
||||
|
||||
h2 {
|
||||
font-size: 16px !important;
|
||||
}
|
||||
.sv__container{
|
||||
|
||||
.sv__container {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.alain-pro__menu-side .alain-pro__main .affix {
|
||||
top: 0 !important;
|
||||
top : 0 !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