This commit is contained in:
weiyu
2022-04-28 14:01:34 +08:00
17 changed files with 508 additions and 308 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-18 09:51:21 * @Date : 2022-01-18 09:51:21
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-04-27 17:26:44 * @LastEditTime : 2022-04-28 13:43:18
* @FilePath : \\tms-obc-web\\proxy.conf.js * @FilePath : \\tms-obc-web\\proxy.conf.js
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
@ -30,7 +30,7 @@ module.exports = {
// }, // },
'//api': { '//api': {
target: { target: {
host: 'tms-api-dev.eascs.com', host: 'tms-api-test.eascs.com',
protocol: 'https:', protocol: 'https:',
port: 443 port: 443
}, },

View File

@ -1,5 +1,5 @@
<div *ngIf="i"> <div *ngIf="i">
<page-header-wrapper [title]="'大宗货源详情'" [logo]="logo" [content]="headerContent"> <page-header-wrapper [title]="'大宗货源详情'" [logo]="logo">
<ng-template #logo> <ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i> <i nz-icon nzType="left" nzTheme="outline"></i>
@ -13,12 +13,12 @@
<div nz-row> <div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div> <div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
<div nz-col nzSpan="10"> <div nz-col nzSpan="10">
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button> [acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl <button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button> [acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl <button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button> [acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
</div> </div>
</div> </div>
<div class="mt-sm mb-sm" nz-row> <div class="mt-sm mb-sm" nz-row>
@ -27,7 +27,7 @@
</div> </div>
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
<div sv-container *ngIf="i"> <div sv-container>
<sv label="项目">{{ i?.enterpriseProjectName }}</sv> <sv label="项目">{{ i?.enterpriseProjectName }}</sv>
<sv label="截止时间">{{ i?.deadlineTime }}</sv> <sv label="截止时间">{{ i?.deadlineTime }}</sv>
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv> <sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
@ -36,7 +36,35 @@
</div> </div>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card nzTitle="货源进度"> <nz-card [nzBorderless]="true" class="mb0">
<div class="mb-xs" nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
</div>
<div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
<div nz-col nzSpan="10">
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
</div>
</div>
<div class="mt-sm mb-sm" nz-row>
<div>
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b>
</div>
</div>
<nz-divider></nz-divider>
<div sv-container>
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
<sv label="截止时间">{{ i?.deadlineTime }}</sv>
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
</div>
<div class="approval-status"> <div class="approval-status">
<div style="width: 60%; margin: 0 auto"> <div style="width: 60%; margin: 0 auto">
<nz-steps style="width: 70%; margin: 0 auto" [nzLabelPlacement]="'vertical'"> <nz-steps style="width: 70%; margin: 0 auto" [nzLabelPlacement]="'vertical'">
@ -51,33 +79,6 @@
</nz-steps> </nz-steps>
</div> </div>
</div> </div>
</nz-card>
<nz-card nzTitle="基本信息">
<sv-container col="3">
<sv-title>货物信息</sv-title>
<ng-container *ngFor="let item of i?.goodsInfoVOList">
<sv label="货物名称">
{{item.goodsTypeName}} > {{item.goodsName}}
</sv>
<sv label="货物数量">
{{item.weight}}吨 / {{item.volume>=0?item.volume:'-'}}方
</sv>
<sv label="剩余">
{{i?.surplusWeight!==null?i?.surplusWeight:'--'}}吨 / {{i?.surplusVolume!==null?i?.surplusVolume:'-'}}方
</sv>
<sv label="用车需求">
{{item.carModelLabel || '--'}} / {{item.carLengthLabel || '--'}}<span *ngIf="item.carLength !=='999'"></span>
</sv>
<!-- <sv label="承运信息">
{{i?.carrierInformationVO?.driverName}} / {{i?.carrierInformationVO?.driverTelephone}} /
{{i?.carrierInformationVO?.driverLicensePlate}}
</sv> -->
<!-- <sv label="当前指派">
<a (click)="viewCurrentAssign(i)">查看</a>
</sv> -->
</ng-container>
</sv-container>
<div class="mt-md"> <div class="mt-md">
<h4 class="text-md">装货卸货信息 <h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">( <span class="ml-sm text-sm">(
@ -119,7 +120,39 @@
</div> </div>
</nz-card> </nz-card>
<nz-card nzTitle="运费信息"> <nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign mr-xs"></a>
<span>基本信息</span>
</div>
<sv-container col="3">
<!-- <sv-title>货物信息</sv-title> -->
<ng-container *ngFor="let item of i?.goodsInfoVOList">
<sv label="货物名称">
{{item.goodsTypeName}} > {{item.goodsName}}
</sv>
<sv label="货物数量">
{{item.weight}}吨 / {{item.volume>=0?item.volume:'-'}}方
</sv>
<sv label="剩余">
{{i?.surplusWeight!==null?i?.surplusWeight:'--'}}吨 / {{i?.surplusVolume!==null?i?.surplusVolume:'-'}}方
</sv>
<sv label="用车需求">
{{item.carModelLabel || '--'}} / {{item.carLengthLabel || '--'}}<span *ngIf="item.carLength !=='999'"></span>
</sv>
<!-- <sv label="承运信息">
{{i?.carrierInformationVO?.driverName}} / {{i?.carrierInformationVO?.driverTelephone}} /
{{i?.carrierInformationVO?.driverLicensePlate}}
</sv> -->
<!-- <sv label="当前指派">
<a (click)="viewCurrentAssign(i)">查看</a>
</sv> -->
</ng-container>
</sv-container>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0" nzTitle="运费信息">
<div> <div>
<div nz-row> <div nz-row>
<div *ngFor="let item of i?.goodsInfoVOList" nz-col nzSpan="24"> <div *ngFor="let item of i?.goodsInfoVOList" nz-col nzSpan="24">
@ -132,13 +165,13 @@
<label>运费单价:</label> <label>运费单价:</label>
<span class="text-error-dark text-xxl">{{ item?.freightPrice | currency: '¥' }} {{ <span class="text-error-dark text-xxl">{{ item?.freightPrice | currency: '¥' }} {{
freightType[item?.freightType] }}</span> freightType[item?.freightType] }}</span>
<span>(附加费率{{i?.rate * 100 | number: '0.2-2'}}%</span> <span>(附加费率{{i?.rate * 100 | number: '0.2-2'}}%</span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card nzTitle="关联订单"> <nz-card [nzBorderless]="true" class="mb0" nzTitle="关联订单">
<sv-container col="5"> <sv-container col="5">
<sv [label]="item?.wayBillStatusLabel" *ngFor="let item of i?.wayBillClassifiedStatisticsVOList"> <sv [label]="item?.wayBillStatusLabel" *ngFor="let item of i?.wayBillClassifiedStatisticsVOList">
(<span [ngClass]="{ 'text-primary': item?.count > 0 }">{{ item?.count }}</span>) (<span [ngClass]="{ 'text-primary': item?.count > 0 }">{{ item?.count }}</span>)
@ -157,7 +190,7 @@
</sv> --> </sv> -->
</sv-container> </sv-container>
</nz-card> </nz-card>
<nz-card nzTitle="补充信息"> <nz-card [nzBorderless]="true" class="mb0" nzTitle="补充信息">
<sv-container> <sv-container>
<sv label="是否回单"> <sv label="是否回单">
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }} {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
@ -166,7 +199,8 @@
{{ i?.supplementaryInformationVO?.receiptTypeLabel }} {{ i?.supplementaryInformationVO?.receiptTypeLabel }}
</sv> </sv>
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.receiptUserName ? i?.supplementaryInformationVO?.receiptUserName + '/' : '' }} {{ i?.supplementaryInformationVO?.phon }} {{ i?.supplementaryInformationVO?.receiptUserName ? i?.supplementaryInformationVO?.receiptUserName + '/' : '' }}
{{ i?.supplementaryInformationVO?.phon }}
</sv> </sv>
<sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.area }} {{ i?.supplementaryInformationVO?.area }}
@ -174,14 +208,13 @@
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> <sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.address }} {{ i?.supplementaryInformationVO?.address }}
</sv> </sv>
<sv label="备注" > <sv label="备注">
{{ i?.supplementaryInformationVO?.remarks }} {{ i?.supplementaryInformationVO?.remarks }}
</sv> </sv>
</sv-container> </sv-container>
</nz-card> </nz-card>
<nz-card nzTitle="操作日志"> <nz-card [nzBorderless]="true" class="mb0" nzTitle="操作日志">
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" <st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" [page]="{}"
[page]="{}"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"> [res]="{ reName: { list: 'data.records', total: 'data.total' } }">
</st> </st>

View File

@ -3,7 +3,7 @@
min-height: 210px; min-height: 210px;
p { p {
margin-bottom: .5em; margin-bottom: 0;
} }
} }

View File

@ -1,11 +1,46 @@
<div *ngIf="i"> <nz-spin [nzSpinning]="service.http.loading">
<page-header-wrapper [title]="'整车货源详情'" [logo]="logo" [content]="headerContent"> <div *ngIf="i">
<ng-template #logo> <page-header-wrapper [title]="'整车货源详情'" [logo]="logo">
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> <ng-template #logo>
<i nz-icon nzType="left" nzTheme="outline"></i> <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
</button> <i nz-icon nzType="left" nzTheme="outline"></i>
</ng-template> </button>
<ng-template #headerContent> </ng-template>
<ng-template #headerContent>
<div class="mb-xs" nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
</div>
<div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
<div nz-col nzSpan="10">
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
<button nz-button (click)="updateGoodsSource(i)"
*ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
</div>
</div>
<div class="mt-sm mb-sm" nz-row>
<div>
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency }}</span></b>
</div>
</div>
<nz-divider></nz-divider>
<div sv-container *ngIf="i">
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
</div>
</ng-template>
</page-header-wrapper>
<nz-card [nzBorderless]="true" class="mb0">
<div class="mb-xs" nz-row> <div class="mb-xs" nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button> <button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4> <h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
@ -13,218 +48,214 @@
<div nz-row> <div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div> <div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
<div nz-col nzSpan="10"> <div nz-col nzSpan="10">
<button <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
nz-button [acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
(click)="cancleGoodsSource()" <button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
*ngIf="i?.resourceStatus === '1'" [acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
acl <button nz-button (click)="updateGoodsSource(i)"
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']" *ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'" acl
>取消货源</button [acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
> <button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
<button [acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
nz-button
(click)="assignedCar(i)"
*ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'"
acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']"
>重新指派</button
>
<button
nz-button
(click)="updateGoodsSource(i)"
*ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'"
acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']"
>修改货源</button
>
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl [acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']"
>再下一单</button
>
</div> </div>
</div> </div>
<div class="mt-sm mb-sm" nz-row> <!-- <div class="mt0 mb0" nz-row>
<div> <div>
<b <b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency }}</span></b>
>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b
>
</div> </div>
</div> </div> -->
<nz-divider></nz-divider> <nz-divider class="divider-margin"></nz-divider>
<div sv-container *ngIf="i"> <div class="mb-lg" sv-container *ngIf="i">
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv> <sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
<sv label="项目">{{ i?.enterpriseProjectName }}</sv> <sv label="项目">{{ i?.enterpriseProjectName }}</sv>
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv> <sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv> <sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv> <sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
</div> </div>
</ng-template> <div class="approval-status">
</page-header-wrapper> <div lass="step-row">
<nz-card title="货源进度"> <nz-steps [nzLabelPlacement]="'vertical'">
<div class="approval-status"> <nz-step [nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" nzIcon="solution"
<div style="width: 60%; margin: 0 auto"> [nzDescription]="i?.createAt" nzTitle="下单" [nzSubtitle]="i?.createTime"></nz-step>
<nz-steps [nzLabelPlacement]="'vertical'"> <nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'"
<nz-step [nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'" nzIcon="file-done" [nzTitle]="'接单'"
[nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" [nzSubtitle]="i?.orderReceivingTime"></nz-step>
nzIcon="solution" <nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'"
[nzDescription]="i?.createAt" [nzSubtitle]="i?.endTime"></nz-step>
nzTitle="下单" </nz-steps>
[nzSubtitle]="i?.createTime" </div>
></nz-step>
<nz-step
*ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'"
[nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'"
nzIcon="file-done"
[nzTitle]="'接单'"
[nzSubtitle]="i?.orderReceivingTime"
></nz-step>
<nz-step
nzStatus="finish"
nzIcon="close-circle"
nzTitle="取消货源"
*ngIf="i?.resourceStatus === '3'"
[nzSubtitle]="i?.endTime"
></nz-step>
</nz-steps>
</div> </div>
</div> </nz-card>
</nz-card>
<nz-card nzTitle="基本信息"> <nz-card [nzBorderless]="true" class="mb0">
<sv-container col="2"> <div class="font-weight-blod text-md detail-title">
<sv-title>货物信息</sv-title> <a class="sign mr-xs"></a>
<ng-container *ngFor="let item of i?.goodsInfoVOList"> <span>基本信息</span>
<sv label="货物名称"> </div>
{{ item.goodsTypeName }} - {{ item.goodsName }} <sv-container col="2">
<!-- <sv-title>货物信息</sv-title> -->
<ng-container *ngFor="let item of i?.goodsInfoVOList">
<sv label="货物名称">
{{ item.goodsTypeName }} - {{ item.goodsName }}
</sv>
<sv label="货物数量"> {{ item.weight }}吨,{{ item.volume }}方,{{ item.number }}件 </sv>
</ng-container>
</sv-container>
<sv-container class="mt-md">
<!-- <sv-title>承运信息</sv-title> -->
<sv label="司机姓名">
{{ i?.carrierInformationVO?.driverName }}
</sv> </sv>
<sv label="货物数量"> {{ item.weight }}吨,{{ item.volume }}方,{{ item.number }}件 </sv> <sv label="手机号">
</ng-container> {{ i?.carrierInformationVO?.driverTelephone }}
</sv-container> </sv>
<sv-container class="mt-md"> <sv label="车牌号">
<sv-title>承运信息</sv-title> {{ i?.carrierInformationVO?.driverLicensePlate }}
<sv label="司机姓名"> </sv>
{{ i?.carrierInformationVO?.driverName }} </sv-container>
<sv label="承运司机" *ngIf="i?.carrierInformationVO.driverTelephone !== i?.payeePhone">
{{i?.carrierInformationVO.driverName || '--'}} / {{i?.carrierInformationVO.driverTelephone || '--'}} /
{{i?.carrierInformationVO.driverLicensePlate || '--'}}
</sv> </sv>
<sv label="手机号"> <sv label="车型车长载重">
{{ i?.carrierInformationVO?.driverTelephone }} {{i?.driverCarModelLabel || '--'}} / {{(i?.driverCarLength || '--') +'米'}} / {{(i?.driverCarWeight ||
'--')+'吨'}}
</sv> </sv>
<sv label="车牌号"> <div class="mt-md">
{{ i?.carrierInformationVO?.driverLicensePlate }} <h4 class="text-md">装货卸货信息
</sv> <span class="ml-sm text-sm">(
</sv-container> <label>{{ i?.loadingCount }}装</label>
<div class="mt-md"> <label>{{ i?.unloadingCount }}卸</label>
<h4 class="text-md" )
>装货卸货信息
<span class="ml-sm text-sm"
>(
<label>{{ i?.loadingCount }}装</label>
<label>{{ i?.unloadingCount }}卸</label>
)
</span>
</h4>
<div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
<div *ngIf="item?.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
</div>
</div>
</div>
<p class="time-info">装货时间:{{ i?.loadingTime }}</p>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
<div *ngIf="item?.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
</div>
</div>
</div>
<p class="time-info">卸货时间:{{ i?.unloadingTime }}</p>
</div>
</div>
</div>
</div>
</nz-card>
<nz-card nzTitle="服务信息">
<sv-container>
<sv label="服务包">
{{ i?.insuranceTypeLabel}}
</sv>
<sv label="货物价值" *ngIf="i?.insuranceType !== '3'">
{{i?.goodsValue !==null?(i?.goodsValue|currency)+'元':'-'}}
</sv>
<sv label="服务包费用" *ngIf="i?.insuranceType !== '3'">
{{i?.insurancePremium!==null?(i?.insurancePremium |currency)+'元':'-'}}
</sv>
</sv-container>
</nz-card>
<nz-card [nzTitle]="'运费信息到货后' + i?.paymentDays + '天内支付运费'">
<st [data]="i?.expenseVOList" [columns]="expenseColumns" [page]="{ show: false }">
<ng-template st-row="total" let-item>
<div>
{{ item?.totalAmount | currency }}
<span>(含附加费)</span>
</div>
</ng-template>
<ng-template st-row="price" let-item>
<div>
{{ item?.price | currency }}
</div>
</ng-template>
</st>
<div class="freight-info-box mt-md" nz-row>
<div nz-col nzSpan="24">
<h3>
<label>总计 :</label>
<span class="text-error-dark text-xl">
{{ i?.totalAmount | currency }}
</span> </span>
<span>(运费{{ i?.totalFreight | currency }}含附加运费 {{ i?.totalSurcharge | currency }}</span> </h4>
</h3> <div nz-row [nzGutter]="24">
<div *ngIf='i?.resourceStatus !== "1" && i?.carrierInformationVO?.driverName !== i?.payeeName' >车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div> <div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<ng-container *ngFor="let item of i?.unLoadingPlaceVOList">
<div class="flex" *ngIf="item?.type === '1'">
<div class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
</div>
</div>
</div>
</ng-container>
<p class="time-info">装货时间:{{ i?.loadingTime }}</p>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<ng-container *ngFor="let item of i?.unLoadingPlaceVOList">
<div class="flex" *ngIf="item?.type === '2'">
<div class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
</div>
</div>
</div>
</ng-container>
<p class="time-info">卸货时间:{{ i?.unloadingTime }}</p>
</div>
</div>
</div>
</div> </div>
</div> </nz-card>
</nz-card>
<nz-card nzTitle="补充信息"> <nz-card [nzBorderless]="true" class="mb0">
<sv-container> <div class="font-weight-blod text-md detail-title">
<sv label="是否回单"> <a class="sign"></a>
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }} <span>服务信息</span>
</sv>
<sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
</sv>
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ i?.supplementaryInformationVO?.receiptUserName || '-' }} / {{ i?.supplementaryInformationVO?.phon || '-' }}
</sv>
<sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.area }}
</sv>
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.address }}
</sv>
<sv label="备注">
{{ i?.supplementaryInformationVO?.remarks }}
</sv>
</sv-container>
</nz-card>
<nz-card nzTitle="操作日志">
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns"
[page]="{}"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
<ng-template st-row="operator" let-item>
<div>
{{ item?.operator }} {{ item?.telephone ? '/' + item?.telephone : '' }}
</div> </div>
</ng-template> <sv-container>
</st> <sv label="服务包">
</nz-card> {{ i?.insuranceTypeLabel}}
</div> </sv>
<sv label="货物价值" *ngIf="i?.insuranceType !== '3'">
{{i?.goodsValue !==null?(i?.goodsValue|currency)+'元':'-'}}
</sv>
<sv label="服务包费用" *ngIf="i?.insuranceType !== '3'">
{{i?.insurancePremium!==null?(i?.insurancePremium |currency)+'元':'-'}}
</sv>
</sv-container>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>运费信息</span>
<span class="pl-sm text-warning">(到货后{{i?.paymentDays}}天内支付运费)</span>
</div>
<st [data]="i?.expenseVOList" [columns]="expenseColumns" [page]="{ show: false }">
<ng-template st-row="total" let-item>
<div>
{{ item?.totalAmount | currency }}
<span>(含附加费)</span>
</div>
</ng-template>
<ng-template st-row="price" let-item>
<div>
{{ item?.price | currency }}
</div>
</ng-template>
</st>
<div class="freight-info-box mt-md" nz-row>
<div nz-col nzSpan="24">
<h3>
<label>总计 :</label>
<span class="text-error-dark text-xl">
{{ i?.totalAmount | currency }}
</span>
<span>(运费{{ i?.totalFreight | currency }}含附加运费 {{ i?.totalSurcharge | currency }}</span>
</h3>
<div *ngIf='i?.resourceStatus !== "1" && i?.carrierInformationVO?.driverName !== i?.payeeName'>车队长:{{
i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div>
</div>
</div>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>补充信息</span>
</div>
<sv-container>
<sv label="是否回单">
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
</sv>
<sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
</sv>
<sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{
i?.supplementaryInformationVO?.receiptUserName || '-' }} / {{ i?.supplementaryInformationVO?.phon || '-' }}
</sv>
<sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.area }}
</sv>
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.address }}
</sv>
<sv label="备注">
{{ i?.supplementaryInformationVO?.remarks }}
</sv>
</sv-container>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>操作日志</span>
</div>
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" [page]="{}"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
<ng-template st-row="operator" let-item>
<div>
{{ item?.operator }} {{ item?.telephone ? '/' + item?.telephone : '' }}
</div>
</ng-template>
</st>
</nz-card>
</div>
</nz-spin>

View File

@ -3,7 +3,7 @@
min-height: 210px; min-height: 210px;
p { p {
margin-bottom: .5em; margin-bottom: 5px;
} }
} }

View File

@ -8,15 +8,10 @@
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\basic-setting\\basic-setting.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\basic-setting\\basic-setting.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
<app-dynamic-setting-h5 <app-dynamic-setting-h5 [tabs]="tabs" [configList]="configList" [selectedTab]="selectedTab"
[tabs]="tabs" (selectedEvent)="getConfigList($event)" (saveEvent)="saveAction($event)" [labelWidth]="labelWidth"
[configList]="configList" [isCanSave]="isCanSave">
[selectedTab]="selectedTab"
(selectedEvent)="getConfigList($event)"
(saveEvent)="saveAction($event)"
[labelWidth]="labelWidth"
>
<custom-element> <custom-element>
<app-parterl-config [configList]="configList"></app-parterl-config> <app-parterl-config [configList]="configList"></app-parterl-config>
</custom-element> </custom-element>
</app-dynamic-setting-h5> </app-dynamic-setting-h5>

View File

@ -9,8 +9,8 @@
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { ACLService } from '@delon/acl';
import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
import { dateTimePickerUtil } from '@delon/util';
import { SystemService } from '../../services/system.service'; import { SystemService } from '../../services/system.service';
const NOJSONTYPE = new Set([8, 12, 13]); const NOJSONTYPE = new Set([8, 12, 13]);
@Component({ @Component({
@ -23,7 +23,10 @@ export class BasicSettingComponent implements OnInit {
selectedTab: any = null; selectedTab: any = null;
labelWidth = 250; labelWidth = 250;
configList: any = []; configList: any = [];
constructor(public service: SystemService) {} isCanSave = false;
constructor(public service: SystemService, private acl: ACLService) {
this.isCanSave = !!acl.data.abilities?.find(a => a === 'SYSTEM-BASIC_SETTING-save');
}
ngOnInit() { ngOnInit() {
this.getTypeList(); this.getTypeList();

View File

@ -7,7 +7,7 @@
<se label="个人提现手续费" style="margin:15px 0 0 0"> <se label="个人提现手续费" style="margin:15px 0 0 0">
<div> <div>
按照提现金额收取 按照提现金额收取
<nz-input-number [(ngModel)]="personValue" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number> <nz-input-number [(ngModel)]="personServe" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number>
<span> %手续费 </span> <span> %手续费 </span>
</div> </div>
</se> </se>
@ -15,7 +15,7 @@
<div> <div>
按照提现金额收取 按照提现金额收取
<nz-input-number <nz-input-number
[(ngModel)]="enterpriseValue" [(ngModel)]="enterpriseServe"
[nzMin]="0" [nzMin]="0"
[nzMax]="100" [nzMax]="100"
[nzPrecision]="2" [nzPrecision]="2"
@ -52,12 +52,12 @@
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col nzSpan="24"> <div nz-col nzSpan="24">
<span>客户</span> <span>客户</span>
<nz-input-number style="margin: 0 10px; " [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number> <nz-input-number style="margin: 0 10px; " [(ngModel)]="silenceClient" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
<span>天内没有交易订单的视为“沉默客户”</span> <span>天内没有交易订单的视为“沉默客户”</span>
</div> </div>
<div nz-col nzSpan="24" style="margin-top: 10px;"> <div nz-col nzSpan="24" style="margin-top: 10px;">
<span>客户</span> <span>客户</span>
<nz-input-number style="margin: 0 10px; " [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number> <nz-input-number style="margin: 0 10px; " [(ngModel)]="loseClient" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
<span>天内没有交易订单的视为“流失客户”</span> <span>天内没有交易订单的视为“流失客户”</span>
</div> </div>
<div nz-col nzSpan="24"> <div nz-col nzSpan="24">
@ -66,15 +66,13 @@
</div> </div>
</nz-card> </nz-card>
<div class="mb-md save-btn"> <div class="mb-md save-btn">
<button class="ml-lg" nz-button nzSize="large" nzType="primary">保存</button> <button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="save()">保存</button>
<button class="ml-lg" nz-button nzSize="large">取消</button>
</div> </div>
</div> </div>
</div> </div>
<ng-template #auditTimes let-data="data" let-title="title"> <ng-template #auditTimes let-data="data" let-title="title">
<div *ngIf="auditTimeStatus" > <div *ngIf="auditTimeStatus" >
<div style="display: flex">
<nz-radio-group [(ngModel)]="everyDay" (ngModelChange)="everyDayChange(everyDay)" style="display: block"> <nz-radio-group [(ngModel)]="everyDay" (ngModelChange)="everyDayChange(everyDay)" style="display: block">
<label nz-radio [nzValue]="1" class="mt-sm" <label nz-radio [nzValue]="1" class="mt-sm"
>每天<span *ngIf="TimeStatus" style="margin-left: 30px; color: #0200ff; cursor: pointer" (click)="addEvery()">添加时间段</span></label >每天<span *ngIf="TimeStatus" style="margin-left: 30px; color: #0200ff; cursor: pointer" (click)="addEvery()">添加时间段</span></label
@ -92,7 +90,6 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div > <div >
<nz-radio-group [(ngModel)]="MonthDay" (ngModelChange)="MonthDayChange(MonthDay)" style="display: block"> <nz-radio-group [(ngModel)]="MonthDay" (ngModelChange)="MonthDayChange(MonthDay)" style="display: block">
<label nz-radio [nzValue]="2" class="mt-sm" <label nz-radio [nzValue]="2" class="mt-sm"

View File

@ -4,6 +4,8 @@ import { NzUploadFile } from 'ng-zorro-antd/upload';
import { Observable, Observer, of } from 'rxjs'; import { Observable, Observer, of } from 'rxjs';
import { apiConf } from '@conf/api.conf'; import { apiConf } from '@conf/api.conf';
import { SystemService } from '../../services/system.service'; import { SystemService } from '../../services/system.service';
const NOJSONTYPE = new Set([8, 12, 13]);
const IMAGECONFIG = { const IMAGECONFIG = {
previewFile: (file: NzUploadFile) => of(file.url), previewFile: (file: NzUploadFile) => of(file.url),
action: apiConf.waterFileUpload, action: apiConf.waterFileUpload,
@ -35,12 +37,16 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
isEveryDay: false, isEveryDay: false,
isEveryWeek: false isEveryWeek: false
}; };
personValue!: number; labelWidth = 250;
enterpriseValue!: number;
auditValue!: number; personServe!: number; // 个人提现手续费
auditTime!: any; enterpriseServe!: number; // 企业提现手续费
auditTimeStatus: boolean = false; auditValue!: boolean; // 提现审核
auditTime!: any; // 审核时间
silenceClient!: number; // 沉默客户
loseClient!: number; // 流失客户
everyDay: boolean = false; everyDay: boolean = false;
auditTimeStatus: boolean = false;
MonthDay: boolean = false; MonthDay: boolean = false;
time: Date | null = null; time: Date | null = null;
defaultOpenValue = new Date(0, 0, 0, 0, 0, 0); defaultOpenValue = new Date(0, 0, 0, 0, 0, 0);
@ -105,9 +111,29 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
// }; // };
constructor(private service: SystemService) {} constructor(private service: SystemService) {}
ngOnChanges(changes: SimpleChanges): void { ngOnChanges(changes: any): void {
if (changes.configList) { if (changes.configList) {
console.log(changes.configList.currentValue); console.log(changes.configList.currentValue[0]?.remark);
this.personServe = changes.configList.currentValue[0]?.remark.personServe, // 个人提现手续费
this.enterpriseServe= changes.configList.currentValue[0]?.remark.enterpriseServe, // 企业提现手续费
this.auditValue= changes.configList.currentValue[0]?.remark.auditValue, // 提现审核
this.auditTime= changes.configList.currentValue[0]?.remark.auditTime, // 审核时间
this.silenceClient= changes.configList.currentValue[0]?.remark.silenceClient, // 沉默客户
this.loseClient= changes.configList.currentValue[0]?.remark.loseClient // 流失客户
this.everyDayData= changes.configList.currentValue[0]?.remark.everyDayData // 流失客户
this.MonthDayData= changes.configList.currentValue[0]?.remark.MonthDayData // 流失客户
if (this.auditTime == '2') {
this.auditTimeStatus = true;
// 每天
if(this.everyDayData){
this.everyDayData = this.everyDayData
} else if(this.MonthDay) {
// 每周
this.MonthDayData = this.MonthDayData
}
} else {
this.auditTimeStatus = false;
}
} }
} }
@ -165,14 +191,12 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
console.log(this.MonthDayData); console.log(this.MonthDayData);
} }
everyDayChange(type: any): void { everyDayChange(type: any): void {
console.log(type);
if (type) { if (type) {
this.MonthDay = false; this.MonthDay = false;
this.TimeStatus = true; this.TimeStatus = true;
} }
} }
MonthDayChange(type: any): void { MonthDayChange(type: any): void {
console.log(type);
if (type) { if (type) {
this.everyDay = false; this.everyDay = false;
this.TimeStatus = false; this.TimeStatus = false;
@ -315,13 +339,60 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
}); });
}; };
changeAuto(value: any) { changeAuto(value: any) {
console.log(value);
if (value == '2') { if (value == '2') {
this.auditTimeStatus = true; this.auditTimeStatus = true;
} else { } else {
this.auditTimeStatus = false; this.auditTimeStatus = false;
} }
} }
save() {
let params : any = {
personServe: this.personServe, // 个人提现手续费
enterpriseServe: this.enterpriseServe, // 企业提现手续费
auditValue: this.auditValue, // 提现审核
auditTime: this.auditTime, // 审核时间
silenceClient: this.silenceClient, // 沉默客户
loseClient: this.loseClient // 流失客户
};
if(this.auditTime == '2') {
// 每天
if(this.everyDay){
params.everyDayData = this.everyDayData
} else if(this.MonthDay) {
// 每周
params.MonthDayData = this.MonthDayData
}
}
const pra = Object.assign({}, ...this.configList)
pra.remark = JSON.stringify(params)
this.service.request(this.service.$api_update_config_batch, [pra]).subscribe(res => {
if (res) {
this.service.msgSrv.success('修改配置成功');
setTimeout(() => {
this.getConfigList(this.selectedTab);
}, 100);
}
});
}
getConfigList(selectedTab: any) {
this.selectedTab = selectedTab;
this.service.request(this.service.$api_get_config_by_parent_id, { id: selectedTab?.id }).subscribe((res: Array<any>) => {
if (res?.length > 0) {
res = res.map(item => ({
...item,
remark: item.remark ? JSON.parse(item.remark) : null,
itemValue: item?.itemValue ? (NOJSONTYPE.has(item?.itemType) ? item?.itemValue : JSON.parse(item?.itemValue)) : item?.itemValue,
itemData: item.itemData ? JSON.parse(item.itemData) : item.itemData
}));
const hiddenType = res.find(item => item.itemType === 7 || item.itemType === 999);
this.labelWidth = hiddenType ? 0 : 250;
this.configList = res;
} else {
this.configList = [];
}
});
}
private getImageModel(args: any, key: any) { private getImageModel(args: any, key: any) {
return [ return [
{ {

View File

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-03 15:23:05 * @Date: 2021-12-03 15:23:05
* @LastEditTime : 2022-04-27 15:52:30 * @LastEditTime : 2022-04-27 20:54:10
* @LastEditors : Shiming * @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\sys-setting.module.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\sys-setting.module.ts
@ -38,6 +38,7 @@ import { OrganizationManagementComponent } from './components/organization-manag
import { OrganizationModalComponent } from './components/organization-management/organization-modal/organization-modal.component'; import { OrganizationModalComponent } from './components/organization-management/organization-modal/organization-modal.component';
import { ApiAuthModalComponent } from './components/organization-management/api-auth-modal/api-auth-modal.component'; import { ApiAuthModalComponent } from './components/organization-management/api-auth-modal/api-auth-modal.component';
import { MenuTreeComponent } from './components/organization-management/menu-tree/menu-tree.component'; import { MenuTreeComponent } from './components/organization-management/menu-tree/menu-tree.component';
import { PartnerSystemConfigComponent } from './components/config/config.component';
const COMPONENTS = [ const COMPONENTS = [
StaffManagementComponent, StaffManagementComponent,
@ -58,6 +59,7 @@ const COMPONENTS = [
NoTeManagementComponent, NoTeManagementComponent,
SmsTemplateComponent, SmsTemplateComponent,
OrganizationManagementComponent, OrganizationManagementComponent,
PartnerSystemConfigComponent
]; ];
const NOTROUTECOMPONENTS = [ const NOTROUTECOMPONENTS = [
BuyerTranspowerComponent, BuyerTranspowerComponent,

View File

@ -179,8 +179,10 @@ export class InvoiceRequestedDetailComponent implements OnInit {
routeToOrder(item: any) { routeToOrder(item: any) {
if (item.billType === '1') { if (item.billType === '1') {
this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.billHId]); this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.billHId]);
} else { } else if (item.billType === '2'){
this.router.navigate(['/order-management/bulk/bulk-detail/' + item.billHId]); this.router.navigate(['/order-management/bulk/bulk-detail/' + item.billHId]);
} else if (item.billType === '3'){
this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.billHId]);
} }
} }

View File

@ -156,7 +156,7 @@
<div class="mb-md save-btn"> <div class="mb-md save-btn">
<button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="saveAction()" <button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="saveAction()"
*ngIf="selectedTab?.configKey!=='freight' && labelWidth!==0">保存</button> *ngIf="selectedTab?.configKey!=='freight' && labelWidth!==0 && isCanSave">保存</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -28,6 +28,8 @@ export class DynamicSettingH5Component implements OnInit {
@Input() @Input()
configList: any = []; configList: any = [];
@Input()
isCanSave = true;
@Output() @Output()
selectedEvent = new EventEmitter<any>(); selectedEvent = new EventEmitter<any>();
@Output() @Output()

View File

@ -2,16 +2,17 @@
@import '~@delon/abc/index'; @import '~@delon/abc/index';
@import '~@delon/chart/index'; @import '~@delon/chart/index';
@import 'app/layout/pro/styles/index.less'; @import 'app/layout/pro/styles/index.less';
@import './styles/common/global.less';
@import './styles/index'; @import './styles/index';
@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;
} }
@ -19,13 +20,13 @@
/* 全局滚动条美化 */ /* 全局滚动条美化 */
*::-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;
} }
@ -46,14 +47,14 @@ input[type="number"] {
.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;
} }
@ -66,9 +67,9 @@ st {
} }
nz-range-picker { nz-range-picker {
width : 100%; width: 100%;
word-break: break-all; word-break: break-all;
word-wrap : break-word; word-wrap: break-word;
} }
.ant-select-tree .ant-select-tree-treenode-disabled { .ant-select-tree .ant-select-tree-treenode-disabled {
@ -76,13 +77,13 @@ nz-range-picker {
margin: 0; margin: 0;
.ant-select-tree-checkbox-inner { .ant-select-tree-checkbox-inner {
width : 0px; width: 0px;
border-color: #ffffff !important; border-color: #ffffff !important;
} }
} }
.ant-select-tree-node-content-wrapper { .ant-select-tree-node-content-wrapper {
color : unset; color: unset;
cursor: not-allowed; cursor: not-allowed;
} }
} }
@ -93,13 +94,13 @@ nz-range-picker {
margin: 0; margin: 0;
.ant-select-tree-checkbox-inner { .ant-select-tree-checkbox-inner {
width : 0px; width: 0px;
border-color: #ffffff !important; border-color: #ffffff !important;
} }
} }
.ant-select-tree-node-content-wrapper { .ant-select-tree-node-content-wrapper {
color : unset; color: unset;
cursor: not-allowed; cursor: not-allowed;
} }
} }

View File

@ -0,0 +1,60 @@
.detail-title {
display: flex;
align-items: center;
margin-bottom: 12px;
.sign {
width: 2px;
height: 16px;
background: #E60012;
display: inline-block;
margin-right: 10px;
}
}
.divider-margin {
margin-top: 12px;
margin-bottom: 12px;
}
.step-row {
width: 80%;
margin: 0 auto;
.ant-steps-item-description {
font-size: 12px;
}
}
.new-sv-container {
&.sv__horizontal {
.sv__label-width {
justify-content: left;
}
}
}
.new-sf-container {
&.sf__horizontal .ant-form-item-label>label {
justify-content: left;
}
}
.common-order-header {
display: flex;
justify-content: space-between;
}
.common-grey {
color: #8A8E99;
}
.nameBox {
display: flex;
align-items: baseline;
.name {
margin: 0 10px 10px 0;
}
}

View File

@ -1,8 +1,10 @@
/* You can add global styles to this file, and also import other style files */ /* You can add global styles to this file, and also import other style files */
@import './fix/index'; @import './fix/index';
.error-color { .error-color {
color: #ff4d4f; color: #ff4d4f;
} }
@primary-color: #F5222D; @primary-color: #F5222D;

View File

@ -5,6 +5,7 @@
@import '../app/layout/pro/styles/theme-default.less'; @import '../app/layout/pro/styles/theme-default.less';
@import './fix/theme-default.less'; @import './fix/theme-default.less';
// ==========Custom brand visual color========== // ==========Custom brand visual color==========
// ==========Custom brand visual color========== // ==========Custom brand visual color==========