Merge branch 'develop'

This commit is contained in:
wangshiming
2022-04-29 14:41:11 +08:00
36 changed files with 452 additions and 310 deletions

View File

@ -36,7 +36,7 @@
<ng-template #extraTemplate> <ng-template #extraTemplate>
<div class="mr-sm"> <div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button> <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="exprot()"> 导出</button> <button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['FINANCIAL-ABNORMAL-export']"> 导出</button>
</div> </div>
</ng-template> </ng-template>

View File

@ -171,6 +171,7 @@ export class AbnormalGoldComponent extends BasicTableComponent implements OnInit
buttons: [ buttons: [
{ {
text: '查看', text: '查看',
acl: { ability: ['FINANCIAL-ABNORMAL-view'] },
click: item => this.router.navigate(['/financial-management/abnormal-gold/detail/' + item.id]) click: item => this.router.navigate(['/financial-management/abnormal-gold/detail/' + item.id])
} }
] ]

View File

@ -207,6 +207,7 @@ export class PlatformAccountComponent extends BasicTableComponent implements OnI
{ {
text: '提现', text: '提现',
click: item => this.withdraw(item), click: item => this.withdraw(item),
acl: { ability: ['FINANCIAL-PLATFORM-withdraw'] },
iif: _record => _record.bankType !== '1' iif: _record => _record.bankType !== '1'
}, },
// { // {
@ -216,6 +217,7 @@ export class PlatformAccountComponent extends BasicTableComponent implements OnI
{ {
text: '查看银行卡', text: '查看银行卡',
click: item => this.viewBankcard(item), click: item => this.viewBankcard(item),
acl: { ability: ['FINANCIAL-PLATFORM-viewBankcard'] },
iif: _record => _record.bankType !== '1' iif: _record => _record.bankType !== '1'
} }
] ]

View File

@ -25,7 +25,7 @@
<label class="page_title"> <label class="driver">|</label> 交易流水</label> <label class="page_title"> <label class="driver">|</label> 交易流水</label>
<div class="mr-sm"> <div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button> <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="exportList()"> 导出</button> <button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['FINANCIAL-TRANSACTION-export']"> 导出</button>
</div> </div>
</div> </div>
<st #st [data]="service.$api_get_account_blance" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" <st #st [data]="service.$api_get_account_blance" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"

View File

@ -210,6 +210,7 @@ export class TransactionFlowComponent extends BasicTableComponent {
{ {
text: '查看回单', text: '查看回单',
iif: item => item.tradeType !== '9' && item.tradeType !== '10', iif: item => item.tradeType !== '9' && item.tradeType !== '10',
acl: { ability: ['FINANCIAL-TRANSACTION-receiptApply'] },
click: item => click: item =>
this.service.getReceiptUrl(item.receiptUrl, { this.service.getReceiptUrl(item.receiptUrl, {
bankType: item.bankType, bankType: item.bankType,

View File

@ -251,10 +251,12 @@ export class WithdrawalsRecordComponent extends BasicTableComponent {
{ {
text: '审核', text: '审核',
iif: item => item.refundStatus === '1', iif: item => item.refundStatus === '1',
acl: { ability: ['FINANCIAL-WITHDRAWALS-audit'] },
click: item => this.auditAction(item) click: item => this.auditAction(item)
}, },
{ {
text: '详情<br>', text: '详情<br>',
acl: { ability: ['FINANCIAL-WITHDRAWALS-view'] },
click: item => click: item =>
this.router.navigate([`/financial-management/withdrawals-record/detail/${item.id}`], { this.router.navigate([`/financial-management/withdrawals-record/detail/${item.id}`], {
queryParams: { type: item.accountType } queryParams: { type: item.accountType }
@ -262,6 +264,7 @@ export class WithdrawalsRecordComponent extends BasicTableComponent {
}, },
{ {
text: '查看回单', text: '查看回单',
acl: { ability: ['FINANCIAL-WITHDRAWALS-receiptApply'] },
iif: item => item.refundStatus === '3', iif: item => item.refundStatus === '3',
click: item => click: item =>
this.service.getReceiptUrl(item.receiptUrl, { this.service.getReceiptUrl(item.receiptUrl, {

View File

@ -55,7 +55,7 @@ const routes: Routes = [
data: { guard: { ability: ['FINANCIAL-PLATFORM-DETAIL-detail'] } } data: { guard: { ability: ['FINANCIAL-PLATFORM-DETAIL-detail'] } }
}, },
{ path: 'recharge-record', component: RechargeRecordComponent, data: { guard: { ability: ['FINANCIAL-RECHARGE-list'] } } }, { path: 'recharge-record', component: RechargeRecordComponent, data: { guard: { ability: ['FINANCIAL-RECHARGE-list'] } } },
{ path: 'withdrawals-record', component: WithdrawalsRecordComponent }, { path: 'withdrawals-record', component: WithdrawalsRecordComponent, data: { guard: { ability: ['FINANCIAL-WITHDRAWALS-list'] } } },
{ path: 'withdrawals-record/detail/:id', component: WithdrawalsDetailComponent }, { path: 'withdrawals-record/detail/:id', component: WithdrawalsDetailComponent },
{ path: 'refund-record', component: RefundRecordComponent }, { path: 'refund-record', component: RefundRecordComponent },
{ path: 'voucher-management', component: VoucherManagementComponent, data: { guard: { ability: ['FINANCIAL-VOUCHER-list'] } } }, { path: 'voucher-management', component: VoucherManagementComponent, data: { guard: { ability: ['FINANCIAL-VOUCHER-list'] } } },
@ -72,10 +72,10 @@ const routes: Routes = [
}, },
{ path: 'cost-management/expenses-receivable/:id', component: ExpensesReceivableComponent }, { path: 'cost-management/expenses-receivable/:id', component: ExpensesReceivableComponent },
{ path: 'cost-management/expenses-payable/:id', component: ExpensesPayableComponent }, { path: 'cost-management/expenses-payable/:id', component: ExpensesPayableComponent },
{ path: 'abnormal-gold', component: AbnormalGoldComponent }, { path: 'abnormal-gold', component: AbnormalGoldComponent , data: { guard: { ability: ['FINANCIAL-ABNORMAL-list'] } } },
{ path: 'abnormal-gold/detail/:id', component: AbnormalGoldDetailComponent }, { path: 'abnormal-gold/detail/:id', component: AbnormalGoldDetailComponent },
{ path: 'payment-record', component: PaymentRecordComponent }, { path: 'payment-record', component: PaymentRecordComponent },
{ path: 'transaction-flow', component: TransactionFlowComponent }, { path: 'transaction-flow', component: TransactionFlowComponent , data: { guard: { ability: ['FINANCIAL-TRANSACTION-list'] } } },
{ path: 'payment-order', component: PaymentOrderComponent, data: { guard: { ability: ['FINANCIAL-PAYMENT-ORDER-list'] } } }, { path: 'payment-order', component: PaymentOrderComponent, data: { guard: { ability: ['FINANCIAL-PAYMENT-ORDER-list'] } } },
{ path: 'payment-order/detail/:id', component: PaymentOrderDetailComponent }, { path: 'payment-order/detail/:id', component: PaymentOrderDetailComponent },
{ path: 'receipt-order', component: ReceiptOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIPT-list'] } } }, { path: 'receipt-order', component: ReceiptOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIPT-list'] } } },

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-12 10:52:50 * @Date : 2022-01-12 10:52:50
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-04-08 16:34:26 * @LastEditTime : 2022-04-29 10:41:20
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\abnormal-warning\\abnormal-warning.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\abnormal-warning\\abnormal-warning.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -35,25 +35,27 @@
<div class="header_box"> <div class="header_box">
<label class="page_title"> <label class="driver">|</label> 异常预警</label> <label class="page_title"> <label class="driver">|</label> 异常预警</label>
<div class="mr-sm"> <div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
[acl-ability]="['ORDER-COMPLIANCE-AUDIT-search']">筛选</button> <button nz-button nzDanger acl [acl-ability]="['ORDER-ABNORMAL-export']" (click)="exprot()">导出</button>
<button nz-button nzDanger acl [acl-ability]="['ORDER-COMPLIANCE-AUDIT-export']" (click)="exprot()">导出</button>
</div> </div>
</div> </div>
<div> <div>
<st #st [bordered]="true" [scroll]="{ x: '2000px' ,y:scrollY }" [data]="service.$api_get_abnormalWarning" <st
#st
[bordered]="true"
[scroll]="{ x: '2000px', y: scrollY }"
[data]="service.$api_get_abnormalWarning"
[columns]="columns" [columns]="columns"
[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' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false"> [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="false"
>
<ng-template st-row="driverName" let-item let-index="index"> <ng-template st-row="driverName" let-item let-index="index">
<div> {{ item?.driverName }}{{ item?.driverPhone ? "/" + item?.driverPhone : '' }} </div> <div> {{ item?.driverName }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }} </div>
</ng-template> </ng-template>
<ng-template st-row="longitude" let-item let-index="index"> <ng-template st-row="longitude" let-item let-index="index">
<div> {{ item?.longitude }} <div> {{ item?.longitude }} {{ item?.latitude ? ',' + item?.latitude : '' }} </div>
{{ item?.latitude ? "," + item?.latitude : '' }} </div>
</ng-template> </ng-template>
<ng-template st-row="billCode" let-item let-index="index"> <ng-template st-row="billCode" let-item let-index="index">
<!-- <a *ngIf="item.billType == '1'" [routerLink]="'/order-management/vehicle/vehicle-detail/' + item.id">{{ item.billCode }}</a> <!-- <a *ngIf="item.billType == '1'" [routerLink]="'/order-management/vehicle/vehicle-detail/' + item.id">{{ item.billCode }}</a>
@ -63,14 +65,11 @@
<span>{{ item?.billStatusLabel }}</span> <span>{{ item?.billStatusLabel }}</span>
</div> </div>
<div> <div>
<span>{{item?.billTypeLabel}}{{item?.serviceTypeLabel === item?.billTypeLabel ? <span>{{ item?.billTypeLabel }}{{ item?.serviceTypeLabel === item?.billTypeLabel ? '' : item?.serviceTypeLabel }}</span>
'':item?.serviceTypeLabel}}</span>
</div> </div>
</ng-template> </ng-template>
</st> </st>
</div> </div>
</nz-card> </nz-card>
<ng-template #extraTemplate> <ng-template #extraTemplate> </ng-template>
</ng-template>

View File

@ -219,57 +219,71 @@
<div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeIdNo }} <div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeIdNo }}
</div> </div>
</nz-card> </nz-card>
<div nz-row>
<nz-card [nzBorderless]="true" class="mb0" #distannce4> <div nzSpan="12" nz-col>
<div class="font-weight-blod text-md detail-title"> <nz-card [nzBorderless]="true" class="mb0 attch-card" #distannce4>
<a class="sign"></a> <div class="font-weight-blod text-md detail-title">
<span>附件信息</span> <a class="sign"></a>
<span>附件信息</span>
</div>
<div class="attachment-info">
<sv-container col="1">
<sv label="协议附件">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a>
</sv>
</sv-container>
<sv-container col="2" class="mt-md" layout="vertical">
<sv label="装货凭证">
<app-imagelist *ngIf="i?.loadingLadingBillFilePath || i?.loadingPeopleVehiclesGoodsFilePath"
[imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"
[style]="'width:120px;height:120px;'"> </app-imagelist>
</sv>
<sv label="卸货凭证">
<app-imagelist *ngIf="i?.unloadingLadingBillFilePath || i?.unloadingPeopleVehiclesGoodsFilePath "
[imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"
[style]="'width:120px;height:120px;'"> </app-imagelist>
</sv>
</sv-container>
</div>
</nz-card>
</div> </div>
<sv-container> <div nzSpan="12" nz-col>
<sv label="协议附件"> <nz-card [nzBorderless]="true" class="mb0 attch-card">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp; <div class="font-weight-blod text-md detail-title">
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> <a class="sign"></a>
</sv> <span>补充信息</span>
</sv-container> </div>
<sv-container col="2" class="mt-md"> <div class="attachment-info">
<sv label="装货凭证"> <sv-container col="1">
<app-imagelist *ngIf="i?.loadingLadingBillFilePath || i?.loadingPeopleVehiclesGoodsFilePath" <sv label="是否回单">
[imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
</sv> </sv>
<sv label="卸货凭证"> <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist *ngIf="i?.unloadingLadingBillFilePath || i?.unloadingPeopleVehiclesGoodsFilePath " {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
[imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> </sv>
</sv> <ng-container
</sv-container> *ngIf="i?.supplementaryInformationVO?.stateReceipt && i?.supplementaryInformationVO?.receiptType==='2'">
</nz-card> <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{
<nz-card [nzBorderless]="true" class="mb0"> i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv>
<div class="font-weight-blod text-md detail-title"> <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<a class="sign"></a> {{ i?.supplementaryInformationVO?.area }}
<span>补充信息</span> </sv>
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.address }}
</sv>
</ng-container>
<sv label="备注">
{{ i?.goodsResource?.remarks }}
</sv>
<sv col="1" label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath" [style]="'width:120px;height:120px;'"></app-imagelist>
</sv>
</sv-container>
</div>
</nz-card>
</div> </div>
<sv-container> </div>
<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?.goodsResource?.remarks }}
</sv>
<sv col="1" label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist>
</sv>
</sv-container>
</nz-card>
<nz-card #distannce5 [nzBorderless]="true" class="mb0"> <nz-card #distannce5 [nzBorderless]="true" class="mb0">
<p class="detail_title"><span>|</span> 轨迹信息</p> <p class="detail_title"><span>|</span> 轨迹信息</p>

View File

@ -528,7 +528,7 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements
text: '确认签收', text: '确认签收',
click: _record => this.confirmReceipt(_record), click: _record => this.confirmReceipt(_record),
iif: item => item.billStatus == '4', iif: item => item.billStatus == '4',
acl: { ability: ['VEHICLE-LIST-view'] } acl: { ability: ['ORDER-BULK-signBulkOrder'] }
}, },
{ {
text: '取消订单', text: '取消订单',

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-12 10:52:50 * @Date : 2022-01-12 10:52:50
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-04-06 11:06:05 * @LastEditTime : 2022-04-29 10:29:12
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\receipts-audit\\receipts-audit.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\receipts-audit\\receipts-audit.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -118,7 +118,7 @@
<div> <div>
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['ORDER-RECEIPTS-search']">查询</button> [acl-ability]="['ORDER-RECEIPTS-search']">查询</button>
<button nz-button nzDanger [disabled]="false" (click)="exprot()">导出</button> <button nz-button nzDanger [disabled]="false" (click)="exprot()" acl [acl-ability]="['ORDER-RECEIPTS-export']">导出</button>
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft"> <button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
更多<i nz-icon nzType="down" nzTheme="outline"></i></button> 更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
<nz-dropdown-menu #menu="nzDropdownMenu"> <nz-dropdown-menu #menu="nzDropdownMenu">

View File

@ -214,58 +214,74 @@
i?.payeePhone : '' }}/{{ i?.payeeIdNo }}</div> i?.payeePhone : '' }}/{{ i?.payeeIdNo }}</div>
</nz-card> </nz-card>
<nz-card [nzBorderless]="true" class="mb0" #distannce4> <div nz-row>
<div class="font-weight-blod text-md detail-title"> <div nzSpan="12" nz-col>
<a class="sign"></a> <nz-card [nzBorderless]="true" class="mb0 attch-card" #distannce4>
<span>附件信息</span> <div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>附件信息</span>
</div>
<div class="attachment-info">
<sv-container>
<sv label="协议附件" col="1">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a>
</sv>
</sv-container>
<sv-container col="2" class="mt-xs" layout="vertical">
<sv label="装货凭证">
<app-imagelist *ngIf="i?.loadingLadingBillFilePath|| i?.loadingPeopleVehiclesGoodsFilePath"
[imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"
[style]="'width:120px;height:120px;'">
</app-imagelist>
</sv>
<sv label="卸货凭证">
<app-imagelist *ngIf="i?.unloadingLadingBillFilePath || i?.unloadingPeopleVehiclesGoodsFilePath"
[imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"
[style]="'width:120px;height:120px;'">
</app-imagelist>
</sv>
</sv-container>
</div>
</nz-card>
</div> </div>
<sv-container> <div nzSpan="12" nz-col>
<sv label="协议附件"> <nz-card [nzBorderless]="true" class="mb0 attch-card">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp; <div class="font-weight-blod text-md detail-title">
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> <a class="sign"></a>
</sv> <span>补充信息</span>
</sv-container> </div>
<sv-container col="2" class="mt-md"> <div class="attachment-info">
<sv label="装货凭证"> <sv-container col="1">
<app-imagelist [imgList]="[i?.loadingLadingBillFilePath, i?.loadingPeopleVehiclesGoodsFilePath]"> </app-imagelist> <sv label="是否回单">
</sv> {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
<sv label="卸货凭证"> </sv>
<app-imagelist [imgList]="[i?.unloadingLadingBillFilePath, i?.unloadingPeopleVehiclesGoodsFilePath]"> <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
</app-imagelist> {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
</sv> </sv>
</sv-container> <ng-container
</nz-card> *ngIf="i?.supplementaryInformationVO?.stateReceipt && i?.supplementaryInformationVO?.receiptType==='2'">
<nz-card [nzBorderless]="true" class="mb0"> <sv label=" 联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<div class="font-weight-blod text-md detail-title"> {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }}
<a class="sign"></a> </sv>
<span>补充信息</span> <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.area }}
</sv>
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.address }}
</sv>
</ng-container>
<sv label="备注">
{{ i?.goodsResource?.remarks }}
</sv>
<sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath" [style]="'width:120px;height:120px;'"></app-imagelist>
</sv>
</sv-container>
</div>
</nz-card>
</div> </div>
<sv-container> </div>
<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-container>
<sv-container col="1" class="mt-md">
<sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist>
</sv>
<sv label="备注">
{{ i?.goodsResource?.remarks }}
</sv>
</sv-container>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0" #distannce5> <nz-card [nzBorderless]="true" class="mb0" #distannce5>
<p class="detail_title"><span>|</span> 轨迹信息</p> <p class="detail_title"><span>|</span> 轨迹信息</p>

View File

@ -1,10 +1,10 @@
/* /*
* @Description : * @Description :
* @Version : 1.0 * @Version : 1.0
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-06 09:24:00 * @Date : 2022-01-06 09:24:00
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-04-28 20:50:36 * @LastEditTime : 2022-04-29 10:41:21
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\order-management-routing.module.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\order-management-routing.module.ts
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
@ -25,22 +25,34 @@ import { OrderManagementVehicleDetailComponent } from './components/vehicle-deta
import { OrderManagementVehicleComponent } from './components/vehicle/vehicle.component'; import { OrderManagementVehicleComponent } from './components/vehicle/vehicle.component';
const routes: Routes = [ const routes: Routes = [
{ path: 'vehicle', component: OrderManagementVehicleComponent }, { path: 'vehicle', component: OrderManagementVehicleComponent, data: { guard: { ability: ['ORDER-VEHICLE-search'] } } },
{ path: 'vehicle/vehicle-detail/:id', component: OrderManagementVehicleDetailComponent }, {
path: 'vehicle/vehicle-detail/:id',
component: OrderManagementVehicleDetailComponent,
data: { guard: { ability: ['ORDER-VEHICLE-DETAIL-search'] } }
},
{ path: 'vehicle-detailChange/:id', component: OrderManagementVehicleDetailChangeComponent }, { path: 'vehicle-detailChange/:id', component: OrderManagementVehicleDetailChangeComponent },
{ path: 'bulk', component: OrderManagementBulkComponent }, { path: 'bulk', component: OrderManagementBulkComponent, data: { guard: { ability: ['ORDER-BULK-search'] } } },
{ path: 'bulk/bulk-detail/:id', component: OrderManagementBulkeDetailComponent }, {
path: 'bulk/bulk-detail/:id',
component: OrderManagementBulkeDetailComponent,
data: { guard: { ability: ['ORDER-BULK-DETAIL-search'] } }
},
{ path: 'bulk-detailChange/:id', component: OrderManagementBulkDetailChangeComponent }, { path: 'bulk-detailChange/:id', component: OrderManagementBulkDetailChangeComponent },
{ path: 'risk', component: OrderManagementRiskComponent }, { path: 'risk', component: OrderManagementRiskComponent, data: { guard: { ability: ['ORDER-RISK-search'] } } },
{ path: 'risk-detail/:id', component: OrderManagementRiskDetailComponent }, { path: 'risk-detail/:id', component: OrderManagementRiskDetailComponent },
{ path: 'complaint', component: OrderManagementComplaintComponent }, { path: 'complaint', component: OrderManagementComplaintComponent, data: { guard: { ability: ['ORDER-COMPLAINT-search'] } } },
{ path: 'complaint-detail/:id', component: OrderManagementComplaintDetailComponent }, { path: 'complaint-detail/:id', component: OrderManagementComplaintDetailComponent },
{ path: 'receipts-audit', component: OrderManagementReceiptsAuditComponent }, { path: 'receipts-audit', component: OrderManagementReceiptsAuditComponent, data: { guard: { ability: ['ORDER-RECEIPTS-search'] } } },
{ path: 'compliance-audit', component: OrderManagementComplianceAuditComponent }, {
{ path: 'abnormal-warning', component: OrderManagementAbnormalWarningComponent }, path: 'compliance-audit',
] component: OrderManagementComplianceAuditComponent,
data: { guard: { ability: ['ORDER-COMPLIANCE-AUDIT-search'] } }
},
{ path: 'abnormal-warning', component: OrderManagementAbnormalWarningComponent, data: { guard: { ability: ['ORDER-ABNORMAL-search'] } } }
];
@NgModule({ @NgModule({
imports: [RouterModule.forChild(routes)], imports: [RouterModule.forChild(routes)],
exports: [RouterModule] exports: [RouterModule]
}) })
export class OrderManagementRoutingModule { } export class OrderManagementRoutingModule {}

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2021-12-24 15:54:08 * @Date : 2021-12-24 15:54:08
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-03-24 11:10:44 * @LastEditTime : 2022-04-29 10:20:21
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\network-freight\\network-freight.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\network-freight\\network-freight.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -48,7 +48,7 @@
<nz-card class="content-box"> <nz-card class="content-box">
<!-- 工具栏 --> <!-- 工具栏 -->
<div class="toolbar" style="float: right; padding-bottom: 15px"> <div class="toolbar" style="float: right; padding-bottom: 15px">
<button nz-button nzType="primary" (click)="creat()">新增</button> <button nz-button nzType="primary" (click)="creat()" acl [acl-ability]="['SYSTEM-NETWORK-FREIGHT-ADD']">新增</button>
</div> </div>
<st <st
#st #st

View File

@ -129,24 +129,29 @@ export class NetworkFreightComponent implements OnInit {
{ type: 'divider' }, { type: 'divider' },
{ {
text: '基础设置<br>', text: '基础设置<br>',
click: item => this.creat(item) click: item => this.creat(item),
acl: { ability: ['SYSTEM-NETWORK-FREIGHT-basicSetting'] },
}, },
{ {
text: '财务设置<br>', text: '财务设置<br>',
click: item => this.ticket(item) click: item => this.ticket(item),
acl: { ability: ['SYSTEM-NETWORK-FREIGHT-finanical'] },
}, },
{ {
text: '充值账户<br>', text: '充值账户<br>',
click: item => this.settingPay(item) click: item => this.settingPay(item),
acl: { ability: ['SYSTEM-NETWORK-FREIGHT-TOPUP'] },
}, },
{ {
text: '应用设置<br>', text: '应用设置<br>',
click: item => this.settingApp(item) click: item => this.settingApp(item),
acl: { ability: ['SYSTEM-NETWORK-FREIGHT-APPLY'] },
}, },
{ {
text: '系统配置<br>', text: '系统配置<br>',
click: item => this.settingAction(item) click: item => this.settingAction(item),
acl: { ability: ['SYSTEM-NETWORK-FREIGHT-SYSTEMCONFIG'] },
}, },
// { // {
// text: '合同设置', // text: '合同设置',

View File

@ -8,7 +8,12 @@
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\network-freight\\new\\new.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\network-freight\\new\\new.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
<page-header-wrapper [title]="TabText"></page-header-wrapper> <page-header-wrapper [title]="TabText" [logo]="logo">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button> </ng-template
></page-header-wrapper>
<nz-card> <nz-card>
<sf #sf1 [ui]="ui" [schema]="schema1" [formData]="sf1FormData" [button]="'none'"> <sf #sf1 [ui]="ui" [schema]="schema1" [formData]="sf1FormData" [button]="'none'">
<ng-template sf-template="tipsS" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="tipsS" let-me let-ui="ui" let-schema="schema">
@ -17,15 +22,13 @@
<dt>正面照</dt> <dt>正面照</dt>
<dd>示例</dd> <dd>示例</dd>
</dl> </dl>
<div class="pa2"> <app-imagelist style="height: 102px;" [imgList]="['./assets/images/company.png']"></app-imagelist></div> <div class="pa2"> <app-imagelist style="height: 102px" [imgList]="['./assets/images/company.png']"></app-imagelist></div>
</div> </div>
</ng-template> </ng-template>
<ng-template sf-template="legalPersonIdentityVO/tipsY" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="legalPersonIdentityVO/tipsY" let-me let-ui="ui" let-schema="schema">
<div class="pr" style="height: 0;"> <div class="pr" style="height: 0">
<dl > <dl> 请上传道运证照片支持JPG、PNG格式文件小于5M。蓝牌绿牌车辆可不用传道运证 </dl>
请上传道运证照片支持JPG、PNG格式文件小于5M。蓝牌绿牌车辆可不用传道运证 <div class="pa"> <app-imagelist style="height: 152px" [imgList]="['./assets/images/road.png']"></app-imagelist></div>
</dl>
<div class="pa"> <app-imagelist style="height: 152px;" [imgList]="['./assets/images/road.png']"></app-imagelist></div>
</div> </div>
</ng-template> </ng-template>
<ng-template sf-template="title1" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="title1" let-me let-ui="ui" let-schema="schema">
@ -42,14 +45,14 @@
</ng-template> </ng-template>
<ng-template sf-template="legalPersonIdentityVO/title2" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="legalPersonIdentityVO/title2" let-me let-ui="ui" let-schema="schema">
<div class="form-title" style="margin-top: 40px;margin-left: -180px;">营业执照法人信息</div> <div class="form-title" style="margin-top: 40px; margin-left: -180px">营业执照法人信息</div>
</ng-template> </ng-template>
<ng-template sf-template="legalPersonIdentityVO/title3" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="legalPersonIdentityVO/title3" let-me let-ui="ui" let-schema="schema">
<div class="form-title" style="margin-top: 40px;margin-left: -180px;">道运证信息</div> <div class="form-title" style="margin-top: 40px; margin-left: -180px">道运证信息</div>
</ng-template> </ng-template>
<ng-template sf-template="legalPersonIdentityVO/roadImg" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="legalPersonIdentityVO/roadImg" let-me let-ui="ui" let-schema="schema">
<img height="104" src="./assets/images/road.png" class="borderImg" /> <img height="104" src="./assets/images/road.png" class="borderImg" />
</ng-template> </ng-template>
<ng-template sf-template="legalPersonIdentityVO/tipsC" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="legalPersonIdentityVO/tipsC" let-me let-ui="ui" let-schema="schema">
<div class="pr"> <div class="pr">
<div>请上传身份证原件的高清照片,若上传复印件,则需申请人签字;</div> <div>请上传身份证原件的高清照片,若上传复印件,则需申请人签字;</div>
@ -83,7 +86,7 @@
</sf> </sf>
<div style="padding-left: 379px"> <div style="padding-left: 379px">
<button nz-button type="button" nzType="primary" (click)="submitForm()">{{subText}}</button> <button nz-button type="button" nzType="primary" (click)="submitForm()">{{ subText }}</button>
<button nz-button (click)="goBack()">返回</button> <button nz-button (click)="goBack()">返回</button>
</div> </div>
</nz-card> </nz-card>

View File

@ -180,14 +180,8 @@ export class NetworkFreightNewComponent implements OnInit {
if (this.sf1.value.isLoingDate) { if (this.sf1.value.isLoingDate) {
this.sf1.value.operatingEndTime = ''; this.sf1.value.operatingEndTime = '';
} }
console.log(this.sf1.value);
console.log(this.sf1.valid);
console.log(this.sf?.value);
console.log(this.sf.valid);
const sfVlaue = this.sf1.value; const sfVlaue = this.sf1.value;
const params: any = {}; const params: any = {};
console.log(this.sf1.value);
Object.assign(params, { Object.assign(params, {
...this.sf?.value, ...this.sf?.value,
enterpriseInfoDTO: { enterpriseInfoDTO: {
@ -203,7 +197,6 @@ export class NetworkFreightNewComponent implements OnInit {
roadTransportLicenceNo: this.sf1.value.legalPersonIdentityVO.roadTransportLicenceNo, //道路运输照片 roadTransportLicenceNo: this.sf1.value.legalPersonIdentityVO.roadTransportLicenceNo, //道路运输照片
}); });
delete params.enterpriseInfoDTO.legalPersonIdentityVO; delete params.enterpriseInfoDTO.legalPersonIdentityVO;
console.log(params);
params.enterpriseInfoDTO.enterpriseAddressCode = this.sf1.value?.enterpriseAddressCode?.[2]; params.enterpriseInfoDTO.enterpriseAddressCode = this.sf1.value?.enterpriseAddressCode?.[2];
if (this.route.snapshot.params.id !== 'undefined') { if (this.route.snapshot.params.id !== 'undefined') {
params.id = this.route.snapshot.params.id; params.id = this.route.snapshot.params.id;

View File

@ -392,6 +392,7 @@ export class CancellationInvoiceComponent implements OnInit {
{ type: 'divider' }, { type: 'divider' },
{ {
text: '查看明细<br>', text: '查看明细<br>',
acl: { ability: ['TICKET-CANCELLATION-view'] },
click: item => click: item =>
this.router.navigate(['ticket/cancellation-invoice/detail/' + item.id], { this.router.navigate(['ticket/cancellation-invoice/detail/' + item.id], {
queryParams: { type: 1, expressno: item.expressno, ltdId: item.shipperId } queryParams: { type: 1, expressno: item.expressno, ltdId: item.shipperId }
@ -399,11 +400,13 @@ export class CancellationInvoiceComponent implements OnInit {
}, },
{ {
text: '销货清单<br>', text: '销货清单<br>',
acl: { ability: ['TICKET-CANCELLATION-downLoadDetail'] },
iif: item => item.isdetail, iif: item => item.isdetail,
click: item => this.downLoadDetail(item) click: item => this.downLoadDetail(item)
}, },
{ {
text: '手工开票<br>', text: '手工开票<br>',
acl: { ability: ['TICKET-CANCELLATION-apply'] },
iif: item => item.sts != '3' && item.sts != '4' , iif: item => item.sts != '3' && item.sts != '4' ,
click: item => this.requestedAction(item) click: item => this.requestedAction(item)
} }

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-04-06 10:57:56 * @Date : 2022-04-06 10:57:56
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-04-09 17:07:02 * @LastEditTime : 2022-04-29 14:34:09
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\etc-blacklist\\etc-blacklist.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\etc-blacklist\\etc-blacklist.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -28,17 +28,17 @@
></sf> ></sf>
</div> </div>
<div nz-col [nzXl]="6" [nzLg]="24" [nzMd]="24" [nzSm]="24" [nzXs]="24" class="text-right"> <div nz-col [nzXl]="6" [nzLg]="24" [nzMd]="24" [nzSm]="24" [nzXs]="24" class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)" acl [acl-ability]="[tabType === 1 ?'TICKET-ETC-BLACK_LIST-freightList' : 'TICKET-ETC-BLACK_LIST-cartList']">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="exprot()"> 导出</button> <button nz-button (click)="exprot()" acl [acl-ability]="[tabType === 1 ?'TICKET-ETC-BLACK_LIST-exportFreight' : 'TICKET-ETC-BLACK_LIST-exportCart']"> 导出</button>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="d-flex align-items-center mb-md"> <div class="d-flex align-items-center mb-md">
<button nz-button (click)="configAction()">添加</button> <button nz-button (click)="configAction()" acl [acl-ability]="[tabType === 1 ? 'TICKET-ETC-BLACK_LIST-addFreight' : 'TICKET-ETC-BLACK_LIST-addCart']">添加</button>
<button nz-button (click)="deleteAction()">删除</button> <button nz-button (click)="deleteAction()" acl [acl-ability]="[tabType === 1 ? 'TICKET-ETC-BLACK_LIST-deleteFreight' : 'TICKET-ETC-BLACK_LIST-deleteCart']">删除</button>
<div class="ml-md"> <div class="ml-md">
已选择 已选择
<strong class="text-primary">{{ selectedRows.length }}</strong> 条数据 <strong class="text-primary">{{ selectedRows.length }}</strong> 条数据

View File

@ -1,3 +1,13 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:08
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 14:19:10
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\etc-invoiced-list\\etc-invoiced-list.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'运单开票记录'"> <page-header-wrapper [title]="'运单开票记录'">
</page-header-wrapper> </page-header-wrapper>
@ -11,7 +21,7 @@
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"> <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="exprot()"> 导出</button> <button nz-button (click)="exprot()" acl [acl-ability]="['TICKET-ETC-INVOICE-LIST-export']"> 导出</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>

View File

@ -182,10 +182,12 @@ export class ETCInvoicedListComponent implements OnInit {
{ {
title: '操作', title: '操作',
className: 'text-center', className: 'text-center',
fixed: 'right',
width: 120, width: 120,
buttons: [ buttons: [
{ {
text: '交易明细', text: '交易明细',
acl: { ability: ['TICKET-ETC-INVOICE-LIST-transaction'] },
click: item => this.showDetail(item) click: item => this.showDetail(item)
} }
] ]

View File

@ -1,3 +1,13 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:08
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 14:21:05
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\etc-invoiced-logs\\etc-invoiced-logs.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'已开发票'"> <page-header-wrapper [title]="'已开发票'">
</page-header-wrapper> </page-header-wrapper>
@ -13,7 +23,7 @@
class="text-right"> class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="exportList()"> 导出</button> <button nz-button (click)="exportList()" acl [acl-ability]="['TICKET-ETC-INVOICE-LOGS-export']"> 导出</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>

View File

@ -21,7 +21,7 @@
class="text-right"> class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="exprot()"> 导出</button> <button nz-button (click)="exprot()" acl [acl-ability]="['TICKET-ETC-INVOICE-REQUESTED-export']"> 导出</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
@ -33,7 +33,7 @@
<nz-card class="content-box" nzBordered> <nz-card class="content-box" nzBordered>
<div class="d-flex align-items-center mb-md mt-md"> <div class="d-flex align-items-center mb-md mt-md">
<button nz-button (click)="this.auditAction()">申请开票</button> <button nz-button (click)="this.auditAction()" acl [acl-ability]="['TICKET-ETC-INVOICE-REQUESTED-apply']">申请开票</button>
<div class="ml-md"> <div class="ml-md">
已选择 已选择
<strong class="text-primary">{{ selectedRows.length }}</strong> 条运单 <strong class="text-primary">{{ selectedRows.length }}</strong> 条运单

View File

@ -17,7 +17,7 @@
<nz-card class="content-box"> <nz-card class="content-box">
<div class="mt-md mb-sm"> <div class="mt-md mb-sm">
<button nz-button nzType="primary" (click)="printOrder()">打印面单</button> <button nz-button nzType="primary" (click)="printOrder()" acl [acl-ability]="['TICKET-EXPRESS-INFO-print']">打印面单</button>
</div> </div>
<st #st [data]="url" [columns]="columns" [req]="{ process:beforeReq }" [loading]="false" [page]="{}" [scroll]="{x:'1200px'}" <st #st [data]="url" [columns]="columns" [req]="{ process:beforeReq }" [loading]="false" [page]="{}" [scroll]="{x:'1200px'}"
(change)="stChange($event)"></st> (change)="stChange($event)"></st>

View File

@ -1,3 +1,13 @@
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:22
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 14:14:59
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\express-info\\express-info.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema } from '@delon/form'; import { SFComponent, SFDateWidgetSchema, SFSchema } from '@delon/form';
@ -49,6 +59,7 @@ export class ExpressInfoComponent implements OnInit {
width: 120, width: 120,
type: 'link', type: 'link',
click: (record: any) => this.showDetail(record.expressCode), click: (record: any) => this.showDetail(record.expressCode),
acl: { ability: ['TICKET-EXPRESS-INFO-expressInvoices'] },
className: 'text-right' className: 'text-right'
}, },
{ title: '寄件人姓名', index: 'sname', width: 150 }, { title: '寄件人姓名', index: 'sname', width: 150 },

View File

@ -12,7 +12,7 @@
[class.expend-options]="_$expand"> [class.expend-options]="_$expand">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button> 导出</button> <button nz-button acl [acl-ability]="['VEHICLE-LIST-search']"> 导出</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
@ -24,7 +24,7 @@
<nz-card class="content-box" nzBordered> <nz-card class="content-box" nzBordered>
<div class="d-flex align-items-center mb-md mt-md"> <div class="d-flex align-items-center mb-md mt-md">
<button nz-button (click)="this.addInvoice()" nzType="primary">添加发票</button> <button nz-button (click)="this.addInvoice()" nzType="primary" acl [acl-ability]="['TICKET-INPUT-INVOICE-addInvoice']">添加发票</button>
<div class="ml-md"> <div class="ml-md">
已选择 已选择
<strong class="text-primary">{{ selectedRows.length }}</strong> 张发票 <strong class="text-primary">{{ selectedRows.length }}</strong> 张发票

View File

@ -256,10 +256,12 @@ export class InputInvoiceComponent implements OnInit {
buttons: [ buttons: [
{ {
text: '浏览', text: '浏览',
acl: { ability: ['TICKET-INPUT-INVOICE-view'] },
click: item => this.router.navigate(['/ticket/input-invoice/detail/' + item.id]) click: item => this.router.navigate(['/ticket/input-invoice/detail/' + item.id])
}, },
{ {
text: '修改', text: '修改',
acl: { ability: ['TICKET-INPUT-INVOICE-edit'] },
click: item => this.router.navigate(['/ticket/input-invoice/edit/1']) click: item => this.router.navigate(['/ticket/input-invoice/edit/1'])
} }
] ]

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-21 15:39:30 * @Date : 2022-01-21 15:39:30
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-01-26 09:36:07 * @LastEditTime : 2022-04-29 13:55:16
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\invoice-requested.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\invoice-requested.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -20,7 +20,7 @@
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"> <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="exprot()"> 导出</button> <button nz-button (click)="exprot()" acl [acl-ability]="['TICKET-INVOICE-REQUESTED-export']"> 导出</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
@ -47,12 +47,12 @@
<strong class="text-red">{{ totalCallNo }}</strong> <strong class="text-red">{{ totalCallNo }}</strong>
<a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a> <a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a>
</div> </div>
<button nz-button *ngIf="resourceStatus==='1' || !resourceStatus" (click)="this.batchRequested()">批量受理</button> <button nz-button *ngIf="resourceStatus==='1' || !resourceStatus" (click)="this.batchRequested()" acl [acl-ability]="['TICKET-INVOICE-REQUESTED-userApply']">批量受理</button>
<button nz-button *ngIf="resourceStatus==='1' || !resourceStatus" <button nz-button *ngIf="resourceStatus==='1' || !resourceStatus"
(click)="this.rejectAction(selectedRows)">驳回</button> (click)="this.rejectAction(selectedRows)" acl [acl-ability]="['TICKET-INVOICE-REQUESTED-reject']">驳回</button>
<button nz-button *ngIf="resourceStatus !=='4' && resourceStatus !=='5'" <button nz-button *ngIf="resourceStatus !=='4' && resourceStatus !=='5'"
(click)="changeAddress(selectedRows)">修改地址</button> (click)="changeAddress(selectedRows)" acl [acl-ability]="['VEHICLE-LIST-search']">修改地址</button>
<button nz-button *ngIf="resourceStatus==='3' || !resourceStatus" (click)="printOrder(selectedRows)">快递下单</button> <button nz-button *ngIf="resourceStatus==='3' || !resourceStatus" (click)="printOrder(selectedRows)" acl [acl-ability]="['VEHICLE-LIST-search']">快递下单</button>
</div> </div>
</ng-template> </ng-template>

View File

@ -513,25 +513,30 @@ export class InvoiceRequestedComponent {
{ {
text: '开票受理<br/>', text: '开票受理<br/>',
click: item => this.requestedInvoiceAction(item), click: item => this.requestedInvoiceAction(item),
acl: { ability: ['TICKET-INVOICE-REQUESTED-requestedInvoiceAction'] },
iif: item => item.sts === '1' iif: item => item.sts === '1'
}, },
{ {
text: '驳回申请<br/>', text: '驳回申请<br/>',
click: item => this.rejectAction([item]), click: item => this.rejectAction([item]),
acl: { ability: ['TICKET-INVOICE-REQUESTED-rejectAction'] },
iif: item => item.sts === '1' iif: item => item.sts === '1'
}, },
{ {
text: '订单明细<br/>', text: '订单明细<br/>',
acl: { ability: ['TICKET-INVOICE-REQUESTED-detail'] },
click: item => this.router.navigate([`/ticket/invoice-requested/detail/${item?.id}`], { queryParams: { sts: item.sts } }) click: item => this.router.navigate([`/ticket/invoice-requested/detail/${item?.id}`], { queryParams: { sts: item.sts } })
}, },
{ {
text: '查看原因<br/>', text: '查看原因<br/>',
click: item => this.showReason(item), click: item => this.showReason(item),
acl: { ability: ['TICKET-INVOICE-REQUESTED-viewResult'] },
iif: item => item.sts === '4' iif: item => item.sts === '4'
}, },
{ {
text: '下载对账单', text: '下载对账单',
iif: item => item.sts === '3', iif: item => item.sts === '3',
acl: { ability: ['TICKET-INVOICE-REQUESTED-downloadPDF'] },
click: item => this.downloadPdf(item) click: item => this.downloadPdf(item)
} }
] ]

View File

@ -347,6 +347,7 @@ export class InvoicedListComponent implements OnInit {
{ type: 'divider' }, { type: 'divider' },
{ {
text: '查看明细<br>', text: '查看明细<br>',
acl: { ability: ['TICKET-INVOICE-LIST-view'] },
click: item => click: item =>
this.router.navigate(['/ticket/invoice-list/detail/' + item.id], { this.router.navigate(['/ticket/invoice-list/detail/' + item.id], {
queryParams: { expressno: item.expressno, type: 2, ltdId: item.shipperId } queryParams: { expressno: item.expressno, type: 2, ltdId: item.shipperId }
@ -354,26 +355,31 @@ export class InvoicedListComponent implements OnInit {
}, },
{ {
text: '取消开票<br>', text: '取消开票<br>',
acl: { ability: ['TICKET-INVOICE-LIST-canceInvoice'] },
click: item => this.canceInvoice(item), click: item => this.canceInvoice(item),
iif: item => item.sts === '1' iif: item => item.sts === '1'
}, },
{ {
text: '发票作废<br>', text: '发票作废<br>',
acl: { ability: ['TICKET-INVOICE-LIST-deletedInvoice'] },
click: item => this.deletedInvoice(item), click: item => this.deletedInvoice(item),
iif: item => item.sts === '3' iif: item => item.sts === '3'
}, },
{ {
text: '查看物流<br>', text: '查看物流<br>',
acl: { ability: ['TICKET-INVOICE-LIST-showExpress'] },
click: item => this.showlogosticsLogs(item), click: item => this.showlogosticsLogs(item),
iif: item => item.expresscompany iif: item => item.expresscompany
}, },
{ {
text: '填写物流<br>', text: '填写物流<br>',
acl: { ability: ['TICKET-INVOICE-LIST-writeExpress'] },
click: item => this.requestedAction(item), click: item => this.requestedAction(item),
iif: item => !item.expresscompany iif: item => !item.expresscompany
}, },
{ {
text: '修改物流<br>', text: '修改物流<br>',
acl: { ability: ['TICKET-INVOICE-LIST-updateExpress'] },
click: item => this.requestedAction(item), click: item => this.requestedAction(item),
iif: item => item.expresscompany iif: item => item.expresscompany
} }

View File

@ -1,3 +1,13 @@
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:08
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 14:40:29
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\ticket-management-routing.module.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
import { BillingOrderComponent } from './components/billing-order/billing-order.component'; import { BillingOrderComponent } from './components/billing-order/billing-order.component';
@ -16,21 +26,21 @@ import { InvoiceRequestedComponent } from './components/invoice-requested/invoic
import { InvoicedListComponent } from './components/invoiced-list/invoiced-list.component'; import { InvoicedListComponent } from './components/invoiced-list/invoiced-list.component';
const routes: Routes = [ const routes: Routes = [
{ path: 'invoice-requested', component: InvoiceRequestedComponent }, { path: 'invoice-requested', component: InvoiceRequestedComponent, data: { guard: { ability: ['TICKET-INVOICE-REQUESTED-list'] } } },
{ path: 'invoice-requested/detail/:id', component: InvoiceRequestedDetailComponent }, { path: 'invoice-requested/detail/:id', component: InvoiceRequestedDetailComponent },
{ path: 'invoice-list', component: InvoicedListComponent }, { path: 'invoice-list', component: InvoicedListComponent , data: { guard: { ability: ['TICKET-INVOICE-LIST-list'] } }},
{ path: 'invoice-list/detail/:id', component: InvoiceDetailComponent }, { path: 'invoice-list/detail/:id', component: InvoiceDetailComponent },
{ path: 'cancellation-invoice', component: CancellationInvoiceComponent }, { path: 'cancellation-invoice', component: CancellationInvoiceComponent , data: { guard: { ability: ['TICKET-CANCELLATION-list'] } }},
{ path: 'cancellation-invoice/detail/:id', component: InvoiceDetailComponent }, { path: 'cancellation-invoice/detail/:id', component: InvoiceDetailComponent },
{ path: 'etc-invoice-requested', component: ETCInvoicedRequestedComponent }, { path: 'etc-invoice-requested', component: ETCInvoicedRequestedComponent , data: { guard: { ability: ['TICKET-ETC-INVOICE-REQUESTED-list'] } } },
{ path: 'etc-invoice-list', component: ETCInvoicedListComponent }, { path: 'etc-invoice-list', component: ETCInvoicedListComponent, data: { guard: { ability: ['TICKET-ETC-INVOICE-LIST-list'] } } },
{ path: 'etc-invoiced-logs', component: ETCInvoicedLogsComponent }, { path: 'etc-invoiced-logs', component: ETCInvoicedLogsComponent , data: { guard: { ability: ['TICKET-ETC-INVOICE-LOGS-list'] } }},
{ path: 'etc-blacklist', component: ETCBlacklistComponent }, { path: 'etc-blacklist', component: ETCBlacklistComponent , data: { guard: { ability: ['TICKET-ETC-BLACK_LIST-freightList'] } }},
{ path: 'input-invoice', component: InputInvoiceComponent }, { path: 'input-invoice', component: InputInvoiceComponent , data: { guard: { ability: ['TICKET-INPUT-INVOICE-list'] } }},
{ path: 'input-invoice/detail/:id', component: InputInvoiceDetailComponent }, { path: 'input-invoice/detail/:id', component: InputInvoiceDetailComponent },
{ path: 'input-invoice/edit/:id', component: EditCollectionInvoiceComponent }, { path: 'input-invoice/edit/:id', component: EditCollectionInvoiceComponent },
{ path: 'express-info', component: ExpressInfoComponent }, { path: 'express-info', component: ExpressInfoComponent , data: { guard: { ability: ['TICKET-EXPRESS-INFO-list'] } }},
{ path: 'billing-order', component: BillingOrderComponent } { path: 'billing-order', component: BillingOrderComponent, data: { guard: { ability: ['TICKET-BILLING-ORDER-search'] } } }
]; ];
@NgModule({ @NgModule({

View File

@ -6,6 +6,7 @@
* @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\\waybill-management\\components\\bulk-detail\\bulk-detail.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\bulk-detail\\bulk-detail.component.html
--> -->
<page-header-wrapper [title]="'大宗运单详情'" [logo]="logo"> <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()">
@ -109,12 +110,10 @@
<a class="sign"></a> <a class="sign"></a>
<span>基本信息</span> <span>基本信息</span>
</div> </div>
<sv-container col="1"> <sv-container col="3">
<sv label="货物名称"> <sv label="货物名称">
{{i?.goodsInfos?.[0]?.goodsName}} {{i?.goodsInfos?.[0]?.goodsName}}
</sv> </sv>
</sv-container>
<sv-container col="2">
<sv label="货物数量"> <sv label="货物数量">
{{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件 {{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件
</sv> </sv>
@ -204,60 +203,70 @@
</div> </div>
<div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}</div> <div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}</div>
</nz-card> </nz-card>
<nz-card [nzBorderless]="true" class="mb0" #distannce4> <div nz-row>
<div class="font-weight-blod text-md detail-title"> <div nz-col nzSpan="12">
<a class="sign"></a> <nz-card [nzBorderless]="true" class="mb0 attch-card" #distannce4>
<span>附件信息</span> <div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>附件信息</span>
</div>
<div class="attachment-info">
<sv-container col="1">
<sv label="协议附件" col="1">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a>
</sv>
</sv-container>
<sv-container col="2" layout="vertical" class="mt-md">
<sv label="装货凭证">
<app-imagelist *ngIf="i?.loadingCertificate && i?.loadingCertificate.length >0"
[imgList]="i?.loadingCertificate" [style]="'width:120px;height:120px;'">
</app-imagelist>
</sv>
<sv label="卸货凭证">
<app-imagelist *ngIf="i?.unLoadingCertificate && i?.unLoadingCertificate.length >0"
[imgList]="i?.unLoadingCertificate" [style]="'width:120px;height:120px;'">
</app-imagelist>
</sv>
</sv-container>
</div>
</nz-card>
</div> </div>
<sv-container> <div nz-col nzSpan="12">
<sv label="协议附件"> <nz-card [nzBorderless]="true" class="mb0 attch-card">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp; <div class="font-weight-blod text-md detail-title">
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> <a class="sign"></a>
</sv> <span>补充信息</span>
</sv-container> </div>
<sv-container col="2" class="mt-md"> <div class="attachment-info">
<sv label="装货凭证"> <sv-container col="1">
<app-imagelist [imgList]="i?.loadingCertificate"> <sv label="是否回单">
</app-imagelist> {{i?.receiptType == 1 ?'是':'否'}}
</sv> </sv>
<sv label="卸货凭证"> <sv label="回单类型" *ngIf="i?.receiptType == '1'">
<app-imagelist [imgList]="i?.unLoadingCertificate"> {{i?.receiptTypeLabel}}
</app-imagelist> </sv>
</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>
<sv-container>
<sv label="是否回单">
{{i?.receiptType == 1 ?'是':'否'}}
</sv>
<sv label="回单类型" *ngIf="i?.receiptType == 1">
{{i?.receiptTypeLabel}}
</sv>
<sv label="联系人" *ngIf="i?.receiptType == 1">
{{i?.receiptUser}} / {{i?.receiptUserPhone}}
</sv>
<sv label="所在地区" *ngIf="i?.receiptType == 1">
{{i?.receiptPlace}}
</sv>
<sv label="详细地址" *ngIf="i?.receiptType == 1">
{{i?.receiptAddress}}
</sv>
</sv-container> <sv label="联系人" *ngIf="i?.receiptType == '2'">
<sv-container col="1" class="mt-md"> {{i?.receiptUser}} / {{i?.receiptUserPhone}}
<sv label="回单凭证" *ngIf="i?.receiptType == 1"> </sv>
<app-imagelist [imgList]="[i?.receiptFilePath]"></app-imagelist> <sv label="所在地区" *ngIf="i?.receiptType == '2'">
</sv> {{i?.receiptPlace}}
<sv label="备注"> </sv>
{{i?.goodsResource?.remarks}} <sv label="详细地址" *ngIf="i?.receiptType == '2'">
</sv> {{i?.receiptAddress}}
</sv-container> </sv>
</nz-card> <sv label="备注">
{{i?.goodsResource?.remarks}}
</sv>
<sv col="1" label="回单凭证" *ngIf="i?.receiptType == '1'">
<app-imagelist [imgList]="[i?.receiptFilePath]" [style]="'width:120px;height:120px;'"></app-imagelist>
</sv>
</sv-container>
</div>
</nz-card>
</div>
</div>
<nz-card class="mb0" [nzBorderless]="true"> <nz-card class="mb0" [nzBorderless]="true">
<p class="detail_title" #distannce5><span>|</span> 轨迹信息</p> <p class="detail_title" #distannce5><span>|</span> 轨迹信息</p>

View File

@ -129,12 +129,10 @@
<a class="sign"></a> <a class="sign"></a>
<span>基本信息</span> <span>基本信息</span>
</div> </div>
<sv-container col="1"> <sv-container col="3">
<sv label="货物名称"> <sv label="货物名称">
{{i?.goodsInfos?.[0]?.goodsName}} {{i?.goodsInfos?.[0]?.goodsName}}
</sv> </sv>
</sv-container>
<sv-container col="2">
<sv label="货物数量"> <sv label="货物数量">
{{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件 {{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件
</sv> </sv>
@ -179,10 +177,10 @@
<div class="font-weight-blod text-md detail-title"> <div class="font-weight-blod text-md detail-title">
<a class="sign"></a> <a class="sign"></a>
<span>运费信息</span> <span>运费信息</span>
<span>(到货后{{i?.paymentDays}}天内支付运费)</span> <span class="pl-sm text-warning">(到货后{{i?.paymentDays}}天内支付运费)</span>
</div> </div>
<st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> <st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<ng-template st-row="price" let-item let-index="index"> <ng-template st-row="price" let-item let-index="index" [size]="'small'">
{{ item.price | currency }} {{ item.price | currency }}
</ng-template> </ng-template>
<ng-template st-row="prices" let-item let-index="index"> <ng-template st-row="prices" let-item let-index="index">
@ -200,62 +198,73 @@
<div *ngIf="i?.payee?.phone && i?.payee?.phone !== i?.driverVo.phone">车队长:{{ i?.payee?.name }}/{{ i?.payee?.phone <div *ngIf="i?.payee?.phone && i?.payee?.phone !== i?.driverVo.phone">车队长:{{ i?.payee?.name }}/{{ i?.payee?.phone
}}/{{ i?.payee?.idNo }}</div> }}/{{ i?.payee?.idNo }}</div>
</nz-card> </nz-card>
<div nz-row>
<div nz-col nzSpan="12">
<nz-card [nzBorderless]="true" class="mb0 attch-card" #distannce4>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>附件信息</span>
</div>
<div class="attachment-info">
<sv-container>
<sv label="协议附件">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a>
</sv>
</sv-container>
<sv-container col="2" class="mt-md" layout="vertical">
<sv label="装货凭证">
<nz-card [nzBorderless]="true" class="mb0" nzTitle="附件信息" #distannce4> <app-imagelist *ngIf="i?.loadingCertificate && i?.loadingCertificate.length>0"
<div class="font-weight-blod text-md detail-title"> [imgList]="i?.loadingCertificate" [style]="'width:120px;height:120px;'">
<a class="sign"></a> </app-imagelist>
<span>附件信息</span> </sv>
<sv label="卸货凭证">
<app-imagelist *ngIf="i?.unLoadingCertificate && i?.unLoadingCertificate.length>0 "
[imgList]="i?.unLoadingCertificate" [style]="'width:120px;height:120px;'">
</app-imagelist>
</sv>
</sv-container>
</div>
</nz-card>
</div> </div>
<sv-container> <div nz-col nzSpan="12">
<sv label="协议附件"> <nz-card [nzBorderless]="true" class="mb0 attch-card">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp; <div class="font-weight-blod text-md detail-title">
<a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> <a class="sign"></a>
</sv> <span>补充信息</span>
</sv-container> </div>
<sv-container col="2" class="mt-md"> <div class="attachment-info">
<sv label="装货凭证"> <sv-container col="1">
<app-imagelist *ngIf="i?.loadingCertificate" [imgList]="i?.loadingCertificate"> <sv label="是否回单">
</app-imagelist> {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
</sv> </sv>
<sv label="卸货凭证"> <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist *ngIf="i?.unLoadingCertificate" [imgList]="i?.unLoadingCertificate"> {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
</app-imagelist> </sv>
</sv> <ng-container
</sv-container> *ngIf="i?.supplementaryInformationVO?.stateReceipt && i?.supplementaryInformationVO?.receiptType === '2'">
</nz-card> <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{
<nz-card [nzBorderless]="true" class="mb0"> i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv>
<div class="font-weight-blod text-md detail-title"> <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<a class="sign"></a> {{ i?.supplementaryInformationVO?.area }}
<span>补充信息</span> </sv>
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.address }}
</sv>
</ng-container>
<sv label="备注">
{{ i?.supplementaryInformationVO?.remarks }}
</sv>
<sv col="1" label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath" [style]="'width:120px;height:120px;'"></app-imagelist>
</sv>
</sv-container>
</div>
</nz-card>
</div> </div>
<sv-container> </div>
<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 col="1" label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist>
</sv>
</sv-container>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0"> <nz-card [nzBorderless]="true" class="mb0">
<p class="detail_title" #distannce5><span>|</span> 轨迹信息</p> <p class="detail_title" #distannce5><span>|</span> 轨迹信息</p>
<div nz-row> <div nz-row>

View File

@ -1,5 +1,5 @@
<!-- <!--
* @Description : * @Description :
* @Version : 1.0 * @Version : 1.0
* @Author : Shiming * @Author : Shiming
* @Date : 2022-03-23 14:24:05 * @Date : 2022-03-23 14:24:05
@ -11,10 +11,10 @@
<div class="imgBox"> <div class="imgBox">
<ng-container *ngFor="let item of imgList; let i = index"> <ng-container *ngFor="let item of imgList; let i = index">
<ng-container *ngIf="item;"> <ng-container *ngIf="item;">
<img nz-image [nzSrc]="item" /> <img [style]="style" nz-image [nzSrc]="item" />
</ng-container> </ng-container>
<ng-template #elseTemplate> <ng-template #elseTemplate>
<div style="background-color: darkgrey;border-radius: 5px;width: 200px;height: 160px;" class="mr-sm"></div> <div style="background-color: darkgrey;border-radius: 5px;width: 120px;height: 120px;" class="mr-sm"></div>
</ng-template> </ng-template>
</ng-container> </ng-container>
</div> </div>

View File

@ -19,15 +19,16 @@ import { ImageViewComponent } from './imageview/imageview.component';
}) })
export class ImageListComponent implements OnInit { export class ImageListComponent implements OnInit {
@Input() imgList: any = []; @Input() imgList: any = [];
@Input() style = '';
constructor( constructor(
private modal: ModalHelper, private modal: ModalHelper,
public msgSrv: NzMessageService, public msgSrv: NzMessageService,
public http: _HttpClient, public http: _HttpClient,
private nzImageService: NzImageService private nzImageService: NzImageService
) {} ) { }
ngOnInit(): void { ngOnInit(): void {
this.style = this.style || '';
} }
showImg(index: any) { showImg(index: any) {
const params = { const params = {
@ -35,7 +36,7 @@ export class ImageListComponent implements OnInit {
index index
}; };
const images = this.imgList.map((url: string) => { const images = this.imgList.map((url: string) => {
if(url) { if (url) {
console.log(url); console.log(url);
({ src: url }) ({ src: url })
} }

View File

@ -99,3 +99,18 @@
} }
} }
} }
.attch-card {
height: 100%;
.ant-card-body {
height: 100%;
.attachment-info {
height: calc(100% - 32px);
border: 1px solid #EAECEF;
padding: 10px;
}
}
}