Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -24,7 +24,7 @@
|
||||
|
||||
<div nz-row [nzGutter]="16">
|
||||
<div nz-col class="gutter-row" [nzSpan]="6">
|
||||
<g2-card [title]="'订单合格率'" [bordered]="true" [total]="cardData1?.proportion" [footer]="footer1" contentHeight="46">
|
||||
<g2-card [title]="'订单合格率'" [bordered]="true" [total]="cardData1?.proportion || '0'" [footer]="footer1" contentHeight="46">
|
||||
<ng-template #footer1>
|
||||
<div class="card-f">
|
||||
<span class="card-f-l">合格:{{cardData1?.leftQuantity}}</span> <span>不合格:{{cardData1?.rightQuantity}}</span>
|
||||
@ -33,7 +33,7 @@
|
||||
</g2-card>
|
||||
</div>
|
||||
<div nz-col class="gutter-row" [nzSpan]="6">
|
||||
<g2-card [title]="'货源单占比'" [bordered]="true" [total]="cardData2?.proportion" [footer]="footer2" contentHeight="46">
|
||||
<g2-card [title]="'货源单占比'" [bordered]="true" [total]="cardData2?.proportion|| '0'" [footer]="footer2" contentHeight="46">
|
||||
<ng-template #footer2>
|
||||
<div class="card-f">
|
||||
<span class="card-f-l">货源单:{{cardData2?.leftQuantity}}</span> <span>合同单:{{cardData2?.rightQuantity}}</span>
|
||||
@ -42,7 +42,7 @@
|
||||
</g2-card>
|
||||
</div>
|
||||
<div nz-col class="gutter-row" [nzSpan]="6">
|
||||
<g2-card [title]="'运费直付占比'" [bordered]="true" [total]="cardData3?.proportion" [footer]="footer3" contentHeight="46">
|
||||
<g2-card [title]="'运费直付占比'" [bordered]="true" [total]="cardData3?.proportion|| '0'" [footer]="footer3" contentHeight="46">
|
||||
<ng-template #footer3>
|
||||
<div class="card-f">
|
||||
<span class="card-f-l">司机:{{cardData3?.leftQuantity}}</span> <span>车队长:{{cardData3?.rightQuantity}}</span>
|
||||
@ -51,7 +51,7 @@
|
||||
</g2-card>
|
||||
</div>
|
||||
<div nz-col class="gutter-row" [nzSpan]="6">
|
||||
<g2-card [title]="'付款及时率'" [bordered]="true" [total]="cardData4?.proportion" [footer]="footer4" contentHeight="46">
|
||||
<g2-card [title]="'付款及时率'" [bordered]="true" [total]="cardData4?.proportion|| '0'" [footer]="footer4" contentHeight="46">
|
||||
<ng-template #footer4>
|
||||
<div class="card-f">
|
||||
<span class="card-f-l">准时:{{cardData4?.leftQuantity}}</span> <span>逾期:{{cardData4?.rightQuantity}}</span>
|
||||
|
||||
@ -47,27 +47,30 @@ export class DatatableComplianceIndexComponent implements OnInit {
|
||||
time:this.time
|
||||
}
|
||||
this.service.request(this.service.$api_getBillRateQualified, params).subscribe(res => {
|
||||
|
||||
if (res) {
|
||||
this.cardData1 = res;
|
||||
this.cardData1.proportion = this.cardData1.proportion*100 +'%'
|
||||
console.log(this.cardData1);
|
||||
|
||||
this.cardData1.proportion = (this.cardData1?.proportion*100).toFixed(2) +'%'
|
||||
}
|
||||
});
|
||||
this.service.request(this.service.$api_getBillRateProportion, params).subscribe(res => {
|
||||
if (res) {
|
||||
this.cardData2 = res;
|
||||
this.cardData2.proportion = this.cardData2.proportion*100 +'%'
|
||||
this.cardData2.proportion = (this.cardData2?.proportion*100).toFixed(2) +'%'
|
||||
}
|
||||
});
|
||||
this.service.request(this.service.$api_getBillRateDirectPayment, params).subscribe(res => {
|
||||
if (res) {
|
||||
this.cardData3 = res;
|
||||
this.cardData3.proportion = this.cardData3.proportion*100 +'%'
|
||||
this.cardData3.proportion = (this.cardData3?.proportion*100).toFixed(2) +'%'
|
||||
}
|
||||
});
|
||||
this.service.request(this.service.$api_getBillTimelyPayment, params).subscribe(res => {
|
||||
if (res) {
|
||||
this.cardData4 = res;
|
||||
this.cardData4.proportion = this.cardData4.proportion*100 +'%'
|
||||
this.cardData4.proportion = (this.cardData4?.proportion*100).toFixed(2) +'%'
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -273,6 +273,7 @@ export class PayableOrderComponent implements OnInit {
|
||||
buttons: [
|
||||
{
|
||||
text: '浏览',
|
||||
acl: { ability: ['FINANCIAL-PAYABLE-view'] },
|
||||
click: item =>
|
||||
this.router.navigate(['/financial-management/payable-order/detail/' + item.id], { queryParams: { billHId: item.id } })
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
</div>
|
||||
<div class="mr-sm">
|
||||
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
|
||||
[acl-ability]="['FINANCIAL-RECEIPT-list']">筛选</button>
|
||||
[acl-ability]="['FINANCIAL-PAYMENT-ORDER-list']">筛选</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -251,6 +251,7 @@ export class ReceiptOrderComponent extends BasicTableComponent implements OnInit
|
||||
buttons: [
|
||||
{
|
||||
text: '浏览',
|
||||
acl: { ability: ['FINANCIAL-RECEIPT-view'] },
|
||||
click: item => this.router.navigate(['/financial-management/receipt-order/detail/' + item.id])
|
||||
}
|
||||
// {
|
||||
|
||||
@ -40,7 +40,8 @@
|
||||
<label class="page_title"> <label class="driver">|</label> 充值记录</label>
|
||||
<div class="mr-sm">
|
||||
<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-RECHARGE-export']">
|
||||
导出</button>
|
||||
</div>
|
||||
</div>
|
||||
<st #st [data]="service.$api_get_recharge_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||
|
||||
@ -119,7 +119,7 @@ export class RechargeRecordComponent extends BasicTableComponent implements OnIn
|
||||
title: '账户名称',
|
||||
ui: {
|
||||
placeholder: '请输入',
|
||||
autocomplete: 'off',
|
||||
autocomplete: 'off'
|
||||
}
|
||||
},
|
||||
accountType: {
|
||||
@ -133,7 +133,7 @@ export class RechargeRecordComponent extends BasicTableComponent implements OnIn
|
||||
],
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
placeholder: '请选择'
|
||||
},
|
||||
default: ''
|
||||
},
|
||||
@ -157,7 +157,7 @@ export class RechargeRecordComponent extends BasicTableComponent implements OnIn
|
||||
],
|
||||
ui: {
|
||||
widget: 'select',
|
||||
placeholder: '请选择',
|
||||
placeholder: '请选择'
|
||||
},
|
||||
default: ''
|
||||
}
|
||||
@ -195,6 +195,7 @@ export class RechargeRecordComponent extends BasicTableComponent implements OnIn
|
||||
{ type: 'divider' },
|
||||
{
|
||||
text: '查看回单<br>',
|
||||
acl: { ability: ['FINANCIAL-RECHARGE-receiptApply'] },
|
||||
click: item =>
|
||||
this.service.getReceiptUrl(item.receiptUrl, {
|
||||
bankType: item.bankType,
|
||||
@ -207,6 +208,7 @@ export class RechargeRecordComponent extends BasicTableComponent implements OnIn
|
||||
},
|
||||
{
|
||||
text: '添加备注',
|
||||
acl: { ability: ['FINANCIAL-RECHARGE-addRemark'] },
|
||||
click: item => this.addRemark(item)
|
||||
}
|
||||
]
|
||||
|
||||
@ -283,10 +283,12 @@ export class VoucherSummaryComponent extends BasicTableComponent implements OnIn
|
||||
buttons: [
|
||||
{
|
||||
text: '浏览',
|
||||
acl: { ability: ['FINANCIAL-VOUCHER-SUMMARY-view'] },
|
||||
click: (item: any) => this.router.navigate(['/financial-management/voucher-summary/detail/' + item.id])
|
||||
},
|
||||
{
|
||||
text: '列表',
|
||||
acl: { ability: ['FINANCIAL-VOUCHER-SUMMARY-child-list'] },
|
||||
click: (item: any) => this.router.navigate(['/financial-management/voucher-summary/list/' + item.vc2code])
|
||||
}
|
||||
]
|
||||
|
||||
@ -39,16 +39,24 @@ const routes: Routes = [
|
||||
{ path: 'freight-account', component: FreightAccountComponent, data: { guard: { ability: ['FINANCIAL-FREIGHT-ACOUNT-list'] } } },
|
||||
{ path: 'freight-account/detail/:id', component: FreightAccountDetailComponent },
|
||||
{ path: 'driver-account', component: DriverAccountComponent, data: { guard: { ability: ['FINANCIAL-DRIVER-ACOUNT-list'] } } },
|
||||
{ path: 'driver-account/detail/:id', component: DriverAccountDetailComponent, data: { guard: { ability: ['FINANCIAL-DRIVER-ACOUNT-DETAIL-view'] } } },
|
||||
{ path: 'platform-account', component: PlatformAccountComponent , data: { guard: { ability: ['FINANCIAL-PLATFORM-list'] } } },
|
||||
{ path: 'platform-account/detail/:id', component: PlatformAccountDetailComponent , data: { guard: { ability: ['FINANCIAL-PLATFORM-DETAIL-detail'] } } },
|
||||
{ path: 'recharge-record', component: RechargeRecordComponent },
|
||||
{
|
||||
path: 'driver-account/detail/:id',
|
||||
component: DriverAccountDetailComponent,
|
||||
data: { guard: { ability: ['FINANCIAL-DRIVER-ACOUNT-DETAIL-view'] } }
|
||||
},
|
||||
{ path: 'platform-account', component: PlatformAccountComponent, data: { guard: { ability: ['FINANCIAL-PLATFORM-list'] } } },
|
||||
{
|
||||
path: 'platform-account/detail/:id',
|
||||
component: PlatformAccountDetailComponent,
|
||||
data: { guard: { ability: ['FINANCIAL-PLATFORM-DETAIL-detail'] } }
|
||||
},
|
||||
{ path: 'recharge-record', component: RechargeRecordComponent, data: { guard: { ability: ['FINANCIAL-RECHARGE-list'] } } },
|
||||
{ path: 'withdrawals-record', component: WithdrawalsRecordComponent },
|
||||
{ path: 'withdrawals-record/detail/:id', component: WithdrawalsDetailComponent },
|
||||
{ path: 'refund-record', component: RefundRecordComponent },
|
||||
{ path: 'voucher-management', component: VoucherManagementComponent },
|
||||
{ path: 'voucher-management', component: VoucherManagementComponent, data: { guard: { ability: ['FINANCIAL-VOUCHER-list'] } } },
|
||||
{ path: 'voucher-management/detail/:id', component: VoucherDetailComponent },
|
||||
{ path: 'voucher-summary', component: VoucherSummaryComponent },
|
||||
{ path: 'voucher-summary', component: VoucherSummaryComponent, data: { guard: { ability: ['FINANCIAL-VOUCHER-SUMMARY-list'] } } },
|
||||
{ path: 'voucher-summary/detail/:id', component: SummaryDetailComponent },
|
||||
{ path: 'voucher-summary/list/:id', component: VoucherListComponent },
|
||||
{ path: 'voucher-summary/list/detail/:id', component: VoucherDetailComponent },
|
||||
@ -66,10 +74,18 @@ const routes: Routes = [
|
||||
{ path: 'receipt-order/detail/:id', component: ReceiptOrderDetailComponent },
|
||||
{ path: 'advance-collection', component: AdvanceCollectionComponent },
|
||||
{ path: 'advance-collection/detail/:id', component: AdvanceCollectionDetailComponent },
|
||||
{ path: 'receivable-order', component: ReceivableOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIVABLE-list'] } } },
|
||||
{ path: 'receivable-order/detail/:id', component: ReceivableOrderDetailComponent, data: { guard: { ability: ['FINANCIAL-RECEIVABLE-DETAIL-view'] } } },
|
||||
{ path: 'receivable-order', component: ReceivableOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIVABLE-list'] } } },
|
||||
{
|
||||
path: 'receivable-order/detail/:id',
|
||||
component: ReceivableOrderDetailComponent,
|
||||
data: { guard: { ability: ['FINANCIAL-RECEIVABLE-DETAIL-view'] } }
|
||||
},
|
||||
{ path: 'payable-order', component: PayableOrderComponent, data: { guard: { ability: ['FINANCIAL-PAYABLE-list'] } } },
|
||||
{ path: 'payable-order/detail/:id', component: PayableOrderDetailComponent, data: { guard: { ability: ['FINANCIAL-PAYABLE-DETAIL-view'] } } },
|
||||
{
|
||||
path: 'payable-order/detail/:id',
|
||||
component: PayableOrderDetailComponent,
|
||||
data: { guard: { ability: ['FINANCIAL-PAYABLE-DETAIL-view'] } }
|
||||
},
|
||||
{ path: 'bank-card-management/index', component: CwcBankCardManagementIndexComponent }
|
||||
];
|
||||
|
||||
|
||||
@ -23,8 +23,8 @@
|
||||
<nz-card class="content-box">
|
||||
|
||||
<nz-tabset>
|
||||
<nz-tab nzTitle="货主菜单" (nzClick)="changeMemu(0)"></nz-tab>
|
||||
<nz-tab nzTitle="运营后台菜单" (nzClick)="changeMemu(1)"></nz-tab>
|
||||
<nz-tab nzTitle="货主菜单" (nzClick)="changeMemu(0)" *ngIf="isShowFre"></nz-tab>
|
||||
<nz-tab nzTitle="运营后台菜单" (nzClick)="changeMemu(1)" *ngIf="isShowBackEND"></nz-tab>
|
||||
</nz-tabset>
|
||||
|
||||
<!-- <st #st [data]="service.$api_get_all" [columns]="columns" [expand]="expand" expandRowByClick
|
||||
@ -36,7 +36,7 @@
|
||||
</ng-template>
|
||||
</st> -->
|
||||
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
||||
[nzLoading]="service.http.loading">
|
||||
[nzLoading]="service.http.loading" *ngIf="isShowFre || isShowBackEND">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- <th nzWidth="70px" nzAlign="center">#</th> -->
|
||||
@ -65,7 +65,7 @@
|
||||
</td>
|
||||
<td nzWidth="100px">{{ item.sorted }}</td>
|
||||
<td nzWidth="150px" nzAlign="center">
|
||||
<a (click)="openDrawer(item)">权限配置</a>
|
||||
<a (click)="openDrawer(item)" acl [acl-ability]="['MENU-AUTH-auth']">权限配置</a>
|
||||
</td>
|
||||
</tr>
|
||||
</ng-container>
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { ACLService } from '@delon/acl';
|
||||
import { SFComponent, SFSchema } from '@delon/form';
|
||||
import { EAEnvironmentService } from '@shared';
|
||||
import { NzDrawerService } from 'ng-zorro-antd/drawer';
|
||||
@ -34,14 +35,26 @@ export class ApiAuthComponent implements OnInit {
|
||||
|
||||
mapOfExpandedData: { [key: string]: any[] } = {};
|
||||
listOfMapData: any[] = [];
|
||||
constructor(private envSrv: EAEnvironmentService, public service: MenuManagerService, private drawer: NzDrawerService) {
|
||||
|
||||
isShowBackEND = false;
|
||||
isShowFre = false;
|
||||
|
||||
constructor(
|
||||
private envSrv: EAEnvironmentService,
|
||||
public service: MenuManagerService,
|
||||
private drawer: NzDrawerService,
|
||||
private acl: ACLService
|
||||
) {
|
||||
const acls = acl.data.abilities || [];
|
||||
this.isShowBackEND = acl.data.full || !!acls.find(acl => acl === 'MENU-AUTH-obclist');
|
||||
this.isShowFre = acl.data.full || !!acls.find(acl => acl === 'MENU-AUTH-smclist');
|
||||
this.initData();
|
||||
}
|
||||
|
||||
ngOnInit(): void {}
|
||||
|
||||
initData(): void {
|
||||
this.selectedPlatform = this.platforms[0];
|
||||
this.selectedPlatform = this.isShowFre ? this.platforms[0] : this.platforms[1];
|
||||
this.loadMemu(this.selectedPlatform.appId);
|
||||
}
|
||||
|
||||
|
||||
@ -23,14 +23,15 @@
|
||||
<nz-card class="content-box">
|
||||
|
||||
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
|
||||
<nz-tab nzTitle="货主菜单" (nzClick)="changeMemu(0)"></nz-tab>
|
||||
<nz-tab nzTitle="运营后台菜单" (nzClick)="changeMemu(1)"></nz-tab>
|
||||
<nz-tab nzTitle="货主菜单" (nzClick)="changeMemu(0)" *ngIf="isShowFre"></nz-tab>
|
||||
<nz-tab nzTitle="运营后台菜单" (nzClick)="changeMemu(1)" *ngIf="isShowBackEND"></nz-tab>
|
||||
</nz-tabset>
|
||||
<ng-template #extraTemplate>
|
||||
<div class="d-flex align-items-center">
|
||||
<div>
|
||||
<button nz-button nzType="primary" (click)="menuAction('新增菜单')">新增</button>
|
||||
<button nz-button nzType="primary" (click)="menuSort()">菜单排序</button>
|
||||
<button nz-button nzType="primary" (click)="menuAction('新增菜单')" acl
|
||||
[acl-ability]="['MENU-INDEX-add']">新增</button>
|
||||
<button nz-button nzType="primary" (click)="menuSort()" acl [acl-ability]="['MENU-INDEX-sort']">菜单排序</button>
|
||||
<!-- <button nz-button nzType="primary" (click)="menuImport(0)" [disabled]="false"
|
||||
*ngIf="selectedPlatform.enName==='tms-smc-web'">
|
||||
导入货主菜单
|
||||
@ -52,7 +53,7 @@
|
||||
</ng-template>
|
||||
</st> -->
|
||||
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
||||
[nzLoading]="service.http.loading">
|
||||
[nzLoading]="service.http.loading" *ngIf="isShowFre || isShowBackEND">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- <th nzWidth="70px" nzAlign="center">#</th> -->
|
||||
@ -85,12 +86,12 @@
|
||||
<td nzAlign="center" nzWidth="250px">
|
||||
<a (click)="menuAction('查看菜单',item,item.parentId,true)">查看</a>
|
||||
<nz-divider nzType="vertical"></nz-divider>
|
||||
<a (click)="menuAction('编辑菜单',item,item.parentId)">编辑</a>
|
||||
<a (click)="menuAction('编辑菜单',item,item.parentId)" acl [acl-ability]="['MENU-INDEX-edit']">编辑</a>
|
||||
<nz-divider nzType="vertical"></nz-divider>
|
||||
<a (click)="deleteAction(item)">删除</a>
|
||||
<a (click)="deleteAction(item)" acl [acl-ability]="['MENU-INDEX-delete']">删除</a>
|
||||
<ng-container *ngIf="item.level!==3">
|
||||
<nz-divider nzType="vertical"></nz-divider>
|
||||
<a (click)="menuAction('新增菜单',null,item.id)">新增子项</a>
|
||||
<a (click)="menuAction('新增菜单',null,item.id)" acl [acl-ability]="['MENU-INDEX-add']">新增子项</a>
|
||||
</ng-container>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
||||
import { ACLService } from '@delon/acl';
|
||||
import { SFComponent, SFSchema } from '@delon/form';
|
||||
import { Menu, ModalHelper } from '@delon/theme';
|
||||
import { EAEnvironmentService } from '@shared';
|
||||
@ -37,14 +38,26 @@ export class MenuManagerComponentsIndexComponent implements OnInit {
|
||||
|
||||
mapOfExpandedData: { [key: string]: any[] } = {};
|
||||
listOfMapData: any[] = [];
|
||||
constructor(private envSrv: EAEnvironmentService, public service: MenuManagerService, private modal: NzModalService, private modalHelper: ModalHelper,) {
|
||||
|
||||
isShowBackEND = false;
|
||||
isShowFre = false;
|
||||
constructor(
|
||||
private envSrv: EAEnvironmentService,
|
||||
public service: MenuManagerService,
|
||||
private modal: NzModalService,
|
||||
private modalHelper: ModalHelper,
|
||||
private acl: ACLService
|
||||
) {
|
||||
const acls = acl.data.abilities || [];
|
||||
this.isShowBackEND = acl.data.full || !!acls.find(acl => acl === 'MENU-INDEX-obclist');
|
||||
this.isShowFre = acl.data.full || !!acls.find(acl => acl === 'MENU-INDEX-smclist');
|
||||
this.initData();
|
||||
}
|
||||
|
||||
ngOnInit(): void {}
|
||||
|
||||
initData(): void {
|
||||
this.selectedPlatform = this.platforms[0];
|
||||
this.selectedPlatform = this.isShowFre ? this.platforms[0] : this.platforms[1];
|
||||
this.loadMemu(this.selectedPlatform.appId);
|
||||
}
|
||||
|
||||
@ -126,13 +139,13 @@ export class MenuManagerComponentsIndexComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
}
|
||||
menuSort(){
|
||||
menuSort() {
|
||||
const dialogData = {
|
||||
appId: this.selectedPlatform.appId
|
||||
};
|
||||
this.modalHelper.create(MenuManagerMenusortComponent, { i: dialogData }, { size: 900 }).subscribe((res:any) => {
|
||||
if(res) {
|
||||
console.log('a')
|
||||
this.modalHelper.create(MenuManagerMenusortComponent, { i: dialogData }, { size: 900 }).subscribe((res: any) => {
|
||||
if (res) {
|
||||
console.log('a');
|
||||
this.loadMemu(this.selectedPlatform.appId);
|
||||
}
|
||||
});
|
||||
|
||||
@ -5,12 +5,16 @@ import { MenuManagerComponentsIndexComponent } from './components/index/index.co
|
||||
|
||||
const routes: Routes = [
|
||||
{ path: '', redirectTo: 'index', pathMatch: 'full' },
|
||||
{ path: 'index', component: MenuManagerComponentsIndexComponent },
|
||||
{ path: 'auth', component: ApiAuthComponent },
|
||||
{
|
||||
path: 'index',
|
||||
component: MenuManagerComponentsIndexComponent,
|
||||
data: { guard: { ability: ['MENU-INDEX-obclist', 'MENU-INDEX-smclist'] } }
|
||||
},
|
||||
{ path: 'auth', component: ApiAuthComponent, data: { guard: { ability: ['MENU-AUTH-obclist', 'MENU-AUTH-smclist'] } } }
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule],
|
||||
exports: [RouterModule]
|
||||
})
|
||||
export class MenuManagerRoutingModule {}
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-28 14:42:03
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-04-13 19:52:15
|
||||
* @LastEditTime : 2022-04-28 19:49:17
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.ts
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
*/
|
||||
@ -112,8 +112,6 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
|
||||
.request(this.service.$api_get_log_list, { operateObject: this.i?.billCode, operateTypeList: ['3', '8'] })
|
||||
.subscribe(res => {
|
||||
if (res) {
|
||||
console.log('操作日志');
|
||||
console.log(res);
|
||||
let a: any = [];
|
||||
res.records.forEach((item: any) => {
|
||||
a.push({
|
||||
@ -122,7 +120,6 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
|
||||
color: 'green'
|
||||
});
|
||||
});
|
||||
console.log(a);
|
||||
this.operationList = a;
|
||||
}
|
||||
});
|
||||
@ -133,15 +130,11 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
|
||||
});
|
||||
this.service.request(this.service.$api_listBillComplianceAbnormalByBillId, { id: this.id }).subscribe(res => {
|
||||
if (res) {
|
||||
console.log('风险详情');
|
||||
console.log(res);
|
||||
this.abnormalList = res;
|
||||
}
|
||||
});
|
||||
this.service.request(this.service.$api_getAbnormalWarningByBillId, { id: this.id }).subscribe(res => {
|
||||
if (res) {
|
||||
console.log('异常预警');
|
||||
console.log(res);
|
||||
this.warringList = res;
|
||||
}
|
||||
});
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-29 17:27:37
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-01-18 17:22:55
|
||||
* @LastEditTime : 2022-04-28 19:28:16
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-captain\\modify-captain.component.html
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
@ -28,8 +28,8 @@
|
||||
<img style="height: 20px" [src]="item?.avatar" alt="" />
|
||||
</ng-template>
|
||||
<ng-template st-row="bankList" let-item let-index="index">
|
||||
<nz-select [(ngModel)]="bankData" style="width: 200px">
|
||||
<nz-option *ngFor="let i of item.bankList" [nzLabel]="i.bankCardNumber" [nzValue]="i.id"></nz-option>
|
||||
<nz-select [(ngModel)]="bankData" style="width: 300px">
|
||||
<nz-option *ngFor="let i of item.bankList" [nzLabel]="i.bankName + '/'+i.bankCardNumber" [nzValue]="i.id"></nz-option>
|
||||
</nz-select>
|
||||
</ng-template>
|
||||
<ng-template st-row="paymentMethodRate" let-item let-index="index">
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-30 14:45:39
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-04-22 16:31:57
|
||||
* @LastEditTime : 2022-04-28 19:27:14
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-captain\\modify-captain.component.ts
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
*/
|
||||
@ -38,6 +38,21 @@ export class VehicleModifyCaptainComponent implements OnInit {
|
||||
this.initSF();
|
||||
this.initST();
|
||||
}
|
||||
initData(id: string) {
|
||||
// this.service.request(this.service.$api_getDriverBankInfoList, {roleId: id}).subscribe((res:any) => {
|
||||
// console.log(res);
|
||||
// if(res) {
|
||||
// let List :any= []
|
||||
// res.forEach((element: any) => {
|
||||
// List.push({
|
||||
// bankCardNumber: element.bankBranchName + '/'+element.bankCardNumber,
|
||||
// value: element.id
|
||||
// })
|
||||
// });
|
||||
// this.bankData = List
|
||||
// }
|
||||
// })
|
||||
}
|
||||
initSF() {
|
||||
this.schema = {
|
||||
properties: {
|
||||
@ -120,6 +135,7 @@ export class VehicleModifyCaptainComponent implements OnInit {
|
||||
this.service.request(this.service.$api_get_getCarCaptainByMobile, params).subscribe((res: any) => {
|
||||
if (res) {
|
||||
this.dataList = [res];
|
||||
this.initData(res.appUserId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2021-12-03 15:31:52
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-04-22 17:14:39
|
||||
* @LastEditTime : 2022-04-28 19:19:01
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
*/
|
||||
@ -222,6 +222,9 @@ export class OrderManagementService extends ShipperBaseService {
|
||||
// 订单上报推送
|
||||
$api_manualOrderSubmission = '/api/sdc/billOperate/manualOrderSubmission';
|
||||
|
||||
// 获取司机所有银行卡信息
|
||||
$api_getDriverBankInfoList= '/api/fcc/bankInfoDMC/getDriverBankInfoList';
|
||||
|
||||
// // 生成卸货单
|
||||
// public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`;
|
||||
// // 生成提货单
|
||||
|
||||
@ -1,4 +1,17 @@
|
||||
<!--
|
||||
* @Description :
|
||||
* @Version : 1.0
|
||||
* @Author : Shiming
|
||||
* @Date : 2022-04-21 13:49:22
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-04-28 17:40:42
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\assigned-car\\assigned-car.component.html
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
<nz-spin [nzSpinning]="service.http.loading">
|
||||
|
||||
<div>
|
||||
|
||||
<div nz-row>
|
||||
<div nz-col nzSpan="18">
|
||||
<sf #sf [schema]="schema" mode="search" [ui]="ui" [compact]="true" (formSubmit)="st.load(1)"
|
||||
@ -41,9 +54,12 @@
|
||||
</ng-template>
|
||||
</st>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button nz-button type="button" (click)="close()">关闭</button>
|
||||
<button nz-button type="submit" nzType="primary" (click)="verifyVechicleStatus(params)" [disabled]="!selectedRows"
|
||||
[nzLoading]="service.http.loading">发布并指派给司机</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nz-spin >
|
||||
|
||||
<div class="modal-footer">
|
||||
<button nz-button type="button" (click)="close()">关闭</button>
|
||||
<button nz-button type="submit" nzType="primary" (click)="verifyVechicleStatus(params)" [disabled]="!selectedRows"
|
||||
[nzLoading]="service.http.loading">发布并指派给司机</button>
|
||||
</div>
|
||||
@ -4,12 +4,13 @@
|
||||
* @Author : Shiming
|
||||
* @Date : 2022-01-12 10:52:50
|
||||
* @LastEditors : Shiming
|
||||
* @LastEditTime : 2022-03-02 14:27:20
|
||||
* @LastEditTime : 2022-04-28 17:36:31
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\choose-famifiar\\choose-famifiar.component.html
|
||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||
-->
|
||||
<!-- <button nz-button nzType="primary" style="margin-bottom: 24px" (click)="add()"><i nz-icon nzType="plus"></i>添加司机</button> -->
|
||||
<!-- 搜索区 -->
|
||||
<nz-spin [nzSpinning]="service.http.loading">
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col [nzSpan]="18">
|
||||
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'"></sf>
|
||||
@ -19,6 +20,7 @@
|
||||
<button nz-button (click)="resetSF()">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col [nzSpan]="12">
|
||||
<!-- 数据列表 -->
|
||||
@ -55,7 +57,9 @@
|
||||
</st>
|
||||
</div>
|
||||
</div>
|
||||
</nz-spin>
|
||||
|
||||
<div *nzModalFooter>
|
||||
<button nz-button nzType="default" (click)="cancel()">取消</button>
|
||||
<button nz-button nzType="primary" (click)="ok()">发布并指派给司机</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -25,8 +25,10 @@
|
||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.expend-options]="_$expand" class="text-right">
|
||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
||||
<button nz-button [disabled]="false" nzType="primary">导出</button>
|
||||
<button nz-button nzType="primary" acl [acl-ability]="['SYSTEM-ANNOUNCEMENT-list']"
|
||||
[nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
||||
<button nz-button [disabled]="false" nzType="primary" acl
|
||||
[acl-ability]="['SYSTEM-ANNOUNCEMENT-export']">导出</button>
|
||||
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||
<button nz-button nzType="link" (click)="expandToggle()">
|
||||
{{ !_$expand ? '展开' : '收起' }}
|
||||
@ -40,7 +42,8 @@
|
||||
<nz-card class="content-box">
|
||||
<div class="d-flex justify-content-end mb-sm mt-sm">
|
||||
<div>
|
||||
<button nz-button nzType="primary" (click)="roleAction('', 1)">新增公告</button>
|
||||
<button nz-button nzType="primary" (click)="roleAction('', 1)" acl
|
||||
[acl-ability]="['SYSTEM-ANNOUNCEMENT-add']">新增公告</button>
|
||||
</div>
|
||||
</div>
|
||||
<st #st [data]="service.$api_getAnnouncementInfoList_page" [columns]="columns" [req]="{ params: reqParams }"
|
||||
|
||||
@ -39,10 +39,12 @@ export class AnnouncementMessageComponent implements OnInit {
|
||||
buttons: [
|
||||
{
|
||||
text: '编辑',
|
||||
acl: { ability: ['SYSTEM-ANNOUNCEMENT-edit'] },
|
||||
click: item => this.roleAction(item, 2)
|
||||
},
|
||||
{
|
||||
text: '删除',
|
||||
acl: { ability: ['SYSTEM-ANNOUNCEMENT-delete'] },
|
||||
click: item => this.deleteAction(item)
|
||||
},
|
||||
]
|
||||
|
||||
@ -1,7 +1,11 @@
|
||||
<page-header-wrapper [title]="'车型车长配置'" [content]="content">
|
||||
<ng-template #content>
|
||||
<nz-tabset class="tabs-wrap">
|
||||
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="changeTab(tab)"> </nz-tab>
|
||||
<ng-container *ngFor="let tab of tabs">
|
||||
<nz-tab [nzTitle]="tab.name" (nzSelect)="changeTab(tab)" *ngIf="tab.isShow">
|
||||
</nz-tab>
|
||||
</ng-container>
|
||||
|
||||
</nz-tabset>
|
||||
</ng-template>
|
||||
</page-header-wrapper>
|
||||
@ -22,10 +26,10 @@
|
||||
<nz-card>
|
||||
<div class="d-flex justify-content-end mb-sm">
|
||||
<div>
|
||||
<button nz-button nzType="primary" (click)="configAction()">新增</button>
|
||||
<button nz-button nzType="primary" (click)="configAction()" acl
|
||||
[acl-ability]="['SYSTEM-CART-CONFIG-add']">新增</button>
|
||||
</div>
|
||||
</div>
|
||||
<st #st [data]="tabType === 3?service.$api_get_config_item_page:service.$api_get_dict_page" [columns]="columns"
|
||||
[req]="{process: beforeReq }" [res]="{ process: afterRes }" [loading]="loading"
|
||||
[scroll]="{ y: '370px' }"></st>
|
||||
[req]="{process: beforeReq }" [res]="{ process: afterRes }" [loading]="loading" [scroll]="{ y: '370px' }"></st>
|
||||
</nz-card>
|
||||
@ -1,5 +1,6 @@
|
||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
|
||||
import { ACLService } from '@delon/acl';
|
||||
import { SFComponent, SFSchema } from '@delon/form';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { SystemService } from '../../services/system.service';
|
||||
@ -20,17 +21,20 @@ export class CartConfigComponent implements OnInit {
|
||||
{
|
||||
name: '车型配置',
|
||||
type: 1,
|
||||
isActived: false
|
||||
isActived: false,
|
||||
isShow: true
|
||||
},
|
||||
{
|
||||
name: '车长配置',
|
||||
type: 2,
|
||||
isActived: false
|
||||
isActived: false,
|
||||
isShow: true
|
||||
},
|
||||
{
|
||||
name: '禁限物品名单',
|
||||
type: 3,
|
||||
isActived: false
|
||||
isActived: false,
|
||||
isShow: true
|
||||
}
|
||||
];
|
||||
tabType = 1;
|
||||
@ -102,10 +106,12 @@ export class CartConfigComponent implements OnInit {
|
||||
buttons: [
|
||||
{
|
||||
text: '编辑',
|
||||
acl: { ability: ['SYSTEM-CART-CONFIG-edit'] },
|
||||
click: item => this.configAction(item)
|
||||
},
|
||||
{
|
||||
text: '删除',
|
||||
acl: { ability: ['SYSTEM-CART-CONFIG-delete'] },
|
||||
click: item => this.deleteAction(item)
|
||||
}
|
||||
]
|
||||
@ -113,7 +119,35 @@ export class CartConfigComponent implements OnInit {
|
||||
];
|
||||
|
||||
loading = true;
|
||||
constructor(public service: SystemService, private nzModalService: NzModalService, private cdr: ChangeDetectorRef) {}
|
||||
constructor(
|
||||
public service: SystemService,
|
||||
private nzModalService: NzModalService,
|
||||
private cdr: ChangeDetectorRef,
|
||||
private acl: ACLService
|
||||
) {
|
||||
const acls = acl.data.abilities || [];
|
||||
this.tabs = [
|
||||
{
|
||||
name: '车型配置',
|
||||
type: 1,
|
||||
isActived: false,
|
||||
isShow: acl.data.full || !!acls.find(acl => acl === 'SYSTEM-CART-CONFIG-modeList')
|
||||
},
|
||||
{
|
||||
name: '车长配置',
|
||||
type: 2,
|
||||
isActived: false,
|
||||
isShow: acl.data.full || !!acls.find(acl => acl === 'SYSTEM-CART-CONFIG-cartLength')
|
||||
},
|
||||
{
|
||||
name: '禁限物品名单',
|
||||
type: 3,
|
||||
isActived: false,
|
||||
isShow: acl.data.full || !!acls.find(acl => acl === 'SYSTEM-CART-CONFIG-goodsList')
|
||||
}
|
||||
];
|
||||
this.tabType = this.tabs.find(tab => tab.isShow)?.type || 1;
|
||||
}
|
||||
|
||||
ngOnInit(): void {}
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-24 15:38:08
|
||||
* @LastEditTime: 2021-12-27 11:21:35
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @LastEditTime : 2022-04-28 19:05:49
|
||||
* @LastEditors : Shiming
|
||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
* @FilePath: \tms-obc-web\src\app\routes\sys-setting\components\crm-management\crm-management.component.html
|
||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\close-account\\close-account.component.html
|
||||
-->
|
||||
<page-header-wrapper title="结算客户管理">
|
||||
</page-header-wrapper>
|
||||
@ -16,7 +16,6 @@
|
||||
<sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [loading]="false" (formSubmit)="st?.load(1)"
|
||||
(formReset)="resetSF()"></sf>
|
||||
</div>
|
||||
edit
|
||||
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||
<ng-container *ngIf="queryFieldCount > 4">
|
||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||
|
||||
@ -156,22 +156,23 @@ export class CloseAccountComponent implements OnInit {
|
||||
maxLength: 30,
|
||||
ui: {
|
||||
widget: 'select',
|
||||
serverSearch: true,
|
||||
// serverSearch: true,
|
||||
allowClear: true,
|
||||
searchDebounceTime: 300,
|
||||
searchLoadingText: '搜索中...',
|
||||
onSearch: (q: any) => {
|
||||
let str =q.replace(/^\s+|\s+$/g,"");
|
||||
let str = q?.replace(/^\s+|\s+$/g, '');
|
||||
if (str) {
|
||||
return this.service
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||
.pipe(map(res => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||
.toPromise();
|
||||
} else {
|
||||
return of([]);
|
||||
}
|
||||
},
|
||||
} as SFSelectWidgetSchema,
|
||||
},
|
||||
} as SFSelectWidgetSchema
|
||||
},
|
||||
},
|
||||
required: ['customerName', 'customerCode', 'networkTransporterId', 'enterpriseId']
|
||||
};
|
||||
@ -186,11 +187,16 @@ this.ui2 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
|
||||
this.service.request(this.service.$api_settlementCustomer_get, {id: value.id}).subscribe((res: any) => {
|
||||
console.log(res)
|
||||
if(res) {
|
||||
this.formData = res;
|
||||
const List: any = [];
|
||||
List.push({ label: res.enterpriseName, value: res.id });
|
||||
this.sfFre.getProperty('/enterpriseId')!.schema.enum = List;
|
||||
this.sfFre.getProperty('/enterpriseId')!.widget.reset(List);
|
||||
List.push({ label: value.enterpriseName, value: res.enterpriseId });
|
||||
this.formData = res;
|
||||
setTimeout(() => {
|
||||
this.sfFre.getProperty('/enterpriseId')!.schema.enum = List;
|
||||
this.sfFre.getProperty('/enterpriseId')!.widget.reset(List);
|
||||
if (res?.enterpriseId) {
|
||||
this.sfFre.setValue('/enterpriseId', res.enterpriseId);
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
this.edit = true;
|
||||
|
||||
@ -122,8 +122,17 @@ export class MenuTreeComponent implements OnInit, OnChanges {
|
||||
});
|
||||
}
|
||||
} else {
|
||||
console.log(event);
|
||||
|
||||
if (event.node?.isChecked) {
|
||||
this.recursionSetNodeAuth(event.node.origin);
|
||||
if (event.node.parentNode) {
|
||||
this._NodeAuthMap.set(event.node.parentNode.origin.id, {
|
||||
authorityId: event.node.parentNode.origin.id,
|
||||
buttonAuthorityIds: [],
|
||||
isUpdateAuthority: 1
|
||||
});
|
||||
}
|
||||
if (this.origin.checked) {
|
||||
this.origin.buttonInfoList.forEach((auth: any) => this._apiAuthSet.add(auth.functionButtonId));
|
||||
}
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
<nz-card class="content-box">
|
||||
|
||||
<div class="d-flex align-items-center mb-sm" style="justify-content: flex-end;">
|
||||
<button nz-button nzType="primary" (click)="menuAction('新增组织')">新增</button>
|
||||
<button nz-button nzType="primary" (click)="menuAction('新增组织')" acl
|
||||
[acl-ability]="['SYSTEM-ROLE-add']">新增</button>
|
||||
</div>
|
||||
|
||||
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
||||
@ -33,18 +34,18 @@
|
||||
</td>
|
||||
<td nzAlign="center" nzWidth="250px">
|
||||
<ng-container *ngIf="item.roleCode !== 'Administrator'">
|
||||
<a (click)="menuAction(item)">编辑</a>
|
||||
<a (click)="menuAction(item)" acl [acl-ability]="['SYSTEM-ROLE-edit']">编辑</a>
|
||||
<nz-divider nzType="vertical"></nz-divider>
|
||||
<a (click)="deleteAction(item)">删除</a>
|
||||
<a (click)="deleteAction(item)" acl [acl-ability]="['SYSTEM-ROLE-delete']">删除</a>
|
||||
<nz-divider nzType="vertical"></nz-divider>
|
||||
<a (click)="menuAction(null,item.id)">新增子组织</a>
|
||||
<a (click)="menuAction(null,item.id)" acl [acl-ability]="['SYSTEM-ROLE-add']">新增子组织</a>
|
||||
<br>
|
||||
<nz-divider nzType="vertical"></nz-divider>
|
||||
<a (click)="configureAPIauth(item)">配置接口权限</a>
|
||||
<a (click)="configureAPIauth(item)" acl [acl-ability]="['SYSTEM-ROLE-api']">配置接口权限</a>
|
||||
<nz-divider nzType="vertical"></nz-divider>
|
||||
<a>配置数据权限</a>
|
||||
<a acl [acl-ability]="['SYSTEM-ROLE-data']">配置数据权限</a>
|
||||
</ng-container>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</ng-container>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
<nz-card>
|
||||
<div class="filter-wrap">
|
||||
<button nz-button nzType="primary" (click)="add()">新增</button>
|
||||
<button nz-button nzType="primary" (click)="add()" acl [acl-ability]="['SMS_TEMPLATE-add']">新增</button>
|
||||
<button nz-button nzType="primary" (click)="open()"><i nz-icon nzType="plus" nzTheme="outline"></i>筛选</button>
|
||||
</div>
|
||||
<st #st [data]="this.service.$api_smsTemplate_page " [columns]="columns" [req]="{ process: beforeReq }"
|
||||
@ -24,9 +24,10 @@
|
||||
</ng-template>
|
||||
</nz-drawer>
|
||||
|
||||
<nz-modal [(nzVisible)]="isVisible" [nzTitle]="!isEdit?'新增':'编辑'" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" [nzOkDisabled]="!sfEdit?.valid">
|
||||
<nz-modal [(nzVisible)]="isVisible" [nzTitle]="!isEdit?'新增':'编辑'" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()"
|
||||
[nzOkDisabled]="!sfEdit?.valid">
|
||||
<ng-container *nzModalContent>
|
||||
<sf #sfEdit [formData]="tempData" [schema]="editSchema" [ui]="{ '*': { spanLabelFixed: 90,grid: { span: 24 } }}" [compact]="true"
|
||||
[button]="'none'"></sf>
|
||||
<sf #sfEdit [formData]="tempData" [schema]="editSchema" [ui]="{ '*': { spanLabelFixed: 90,grid: { span: 24 } }}"
|
||||
[compact]="true" [button]="'none'"></sf>
|
||||
</ng-container>
|
||||
</nz-modal>
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
import { AfterViewInit, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st';
|
||||
import { SFComponent, SFSchema } from '@delon/form';
|
||||
@ -23,7 +23,7 @@ export class SmsTemplateComponent implements OnInit {
|
||||
isVisible = false;
|
||||
tempData = {};
|
||||
isEdit = false;
|
||||
|
||||
|
||||
searchSchema: SFSchema = {
|
||||
properties: {
|
||||
templateName: {
|
||||
@ -50,27 +50,27 @@ export class SmsTemplateComponent implements OnInit {
|
||||
templateName: {
|
||||
type: 'string',
|
||||
title: '模板名称',
|
||||
ui: { placeholder: '请输入模板名称', errors: { require: '必填项'} }
|
||||
ui: { placeholder: '请输入模板名称', errors: { require: '必填项' } }
|
||||
},
|
||||
templateCode: {
|
||||
type: 'string',
|
||||
title: '模板编码',
|
||||
readOnly: this.isEdit,
|
||||
ui: { placeholder: '请输入模板编码', errors: { require: '必填项'} }
|
||||
ui: { placeholder: '请输入模板编码', errors: { require: '必填项' } }
|
||||
},
|
||||
templateContent: {
|
||||
type: 'string',
|
||||
title: '模板内容',
|
||||
ui: { placeholder: '请输入模板内容', errors: { require: '必填项'} }
|
||||
ui: { placeholder: '请输入模板内容', errors: { require: '必填项' } }
|
||||
}
|
||||
},
|
||||
required: ['templateName','templateCode','templateContent']
|
||||
}
|
||||
required: ['templateName', 'templateCode', 'templateContent']
|
||||
};
|
||||
}
|
||||
|
||||
columns: STColumn[] = [
|
||||
{ title: '模板名称', className: 'text-center', index: 'templateName' },
|
||||
{ title: '模板编码', className: 'text-center', index: 'templateCode' },
|
||||
{ title: '模板名称', className: 'text-center', width: '200px', index: 'templateName' },
|
||||
{ title: '模板编码', className: 'text-center', width: '140px', index: 'templateCode' },
|
||||
{ title: '模板内容', className: 'text-center', index: 'templateContent' },
|
||||
// {
|
||||
// title: '创建人', className: 'text-center', index: 'content',
|
||||
@ -79,21 +79,23 @@ export class SmsTemplateComponent implements OnInit {
|
||||
title: '更新时间',
|
||||
index: 'modifyTime',
|
||||
type: 'date',
|
||||
width: '160px',
|
||||
className: 'text-center'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
width: '90px',
|
||||
buttons: [
|
||||
{
|
||||
text: '编辑',
|
||||
click: i => this.edit(i),
|
||||
acl: { ability: ['SMS_TEMPLATE-save'] },
|
||||
click: i => this.edit(i)
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
constructor(public service: SystemService, private nzModalService: NzModalService, private route: ActivatedRoute) {
|
||||
}
|
||||
constructor(public service: SystemService, private nzModalService: NzModalService, private route: ActivatedRoute) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.initSF();
|
||||
@ -144,7 +146,7 @@ export class SmsTemplateComponent implements OnInit {
|
||||
templateCode,
|
||||
templateName,
|
||||
templateContent
|
||||
}
|
||||
};
|
||||
|
||||
this.service.request(this.service.$api_smsTemplate_edit, params).subscribe(res => {
|
||||
// console.log(res);
|
||||
@ -152,8 +154,7 @@ export class SmsTemplateComponent implements OnInit {
|
||||
this.isVisible = false;
|
||||
this.st.reload();
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
handleCancel(): void {
|
||||
|
||||
@ -68,20 +68,20 @@ export class StaffManagementComponent implements OnInit {
|
||||
{
|
||||
text: '冻结',
|
||||
iif: item =>
|
||||
item.stateLocked === 0 && item.roleCode.split(',').indexOf('Administrator') === -1 && item.telephone !== this.user.phone,
|
||||
!item.stateLocked && item.roleCode.split(',').indexOf('Administrator') === -1 && item.telephone !== this.user.phone,
|
||||
click: item => this.action(item, 1),
|
||||
acl: { ability: ['SYSTEM-STAFF-lock'] }
|
||||
},
|
||||
{
|
||||
text: '超管转授',
|
||||
iif: item => item.stateLocked === 0 && item.roleCode.split(',').indexOf('Administrator') === -1,
|
||||
iif: item => !item.stateLocked && item.roleCode.split(',').indexOf('Administrator') === -1,
|
||||
click: item => this.transpowerAction(item),
|
||||
acl: { ability: ['SYSTEM-STAFF-shiftAdmin'] }
|
||||
},
|
||||
{
|
||||
text: '删除',
|
||||
iif: item =>
|
||||
item.stateLocked === 0 && item.roleCode.split(',').indexOf('Administrator') === -1 && item.telephone !== this.user.phone,
|
||||
!item.stateLocked && item.roleCode.split(',').indexOf('Administrator') === -1 && item.telephone !== this.user.phone,
|
||||
click: item => this.action(item, 3),
|
||||
acl: { ability: ['SYSTEM-STAFF-delete'] }
|
||||
}
|
||||
|
||||
@ -54,9 +54,9 @@ const routes: Routes = [
|
||||
{ path: 'network-freight/new/:id', component: NetworkFreightNewComponent },
|
||||
{ path: 'close-account', component: CloseAccountComponent },
|
||||
// { path: 'btn-management', component: BtnManagementComponent },
|
||||
{ path: 'announcement-message', component: AnnouncementMessageComponent },
|
||||
{ path: 'announcement-message', component: AnnouncementMessageComponent, data: { guard: { ability: ['SYSTEM-ANNOUNCEMENT-list'] } } },
|
||||
{ path: 'insurance-set', component: InsuranceSetComponent },
|
||||
{ path: 'sms-template', component: SmsTemplateComponent }
|
||||
{ path: 'sms-template', component: SmsTemplateComponent, data: { guard: { ability: ['SMS_TEMPLATE-search'] } } }
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
||||
@ -45,10 +45,10 @@
|
||||
已选择
|
||||
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
|
||||
</div>
|
||||
<button nz-button nzType="primary" (click)="upload()" acl [acl-ability]="['TAX-ORDERREPORT-declare ']">申报</button>
|
||||
<button nz-button nzType="primary" (click)="corrections()" acl [acl-ability]="['TAX-ORDERREPORT-change ']">更正</button>
|
||||
<button nz-button nzType="primary" (click)="resetData()" acl [acl-ability]="['TAX-ORDERREPORT-threshold ']">修改起征点</button>
|
||||
<button nz-button nzType="primary" (click)="uploadSetting()" acl [acl-ability]="['TAX-ORDERREPORT-resetData ']">更新数据</button>
|
||||
<button nz-button nzType="primary" (click)="upload()" acl [acl-ability]="['TAX-INCOME-declare']">申报</button>
|
||||
<button nz-button nzType="primary" (click)="corrections()" acl [acl-ability]="['TAX-INCOME-change']">更正</button>
|
||||
<button nz-button nzType="primary" (click)="resetData()" acl [acl-ability]="['TAX-INCOME-threshold']">修改起征点</button>
|
||||
<button nz-button nzType="primary" (click)="uploadSetting()" acl [acl-ability]="['TAX-INCOME-resetData']">更新数据</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()" >查询</button>
|
||||
<button nz-button (click)="resetSF()">重置</button>
|
||||
<button nz-button (click)="export()">导出</button>
|
||||
<button nz-button (click)="export()" acl [acl-ability]="['TAX_INVOICE_REPORT-export']">导出</button>
|
||||
<button nz-button nzType="link" (click)="expandToggle()">
|
||||
{{ !_$expand ? '展开' : '收起' }}
|
||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||
@ -32,7 +32,8 @@
|
||||
<span *ngIf="item?.uploadSts == '1'">待上传</span>
|
||||
<span *ngIf="item?.uploadSts == '3'">已上传</span>
|
||||
<span *ngIf="item?.uploadSts == '2'">上传中</span>
|
||||
<span *ngIf="item?.uploadSts == '4'" style="color: red;" (click)="unnormal(item)">上传异常</span>
|
||||
<span *ngIf="item?.uploadSts == '4'" style="color: red;">上传异常</span>
|
||||
<!-- <span *ngIf="item?.uploadSts == '4'" style="color: red;" (click)="unnormal(item)">上传异常</span> -->
|
||||
</ng-template>
|
||||
<ng-template st-row="invoiceType" let-item let-index="index">
|
||||
<span>增值税专用发票</span>
|
||||
@ -53,6 +54,6 @@
|
||||
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
|
||||
</div>
|
||||
<button *ngIf="selectedIndex === '1' || selectedIndex === '4'" nz-button nzType="primary" (click)="upload()">上传</button>
|
||||
<button *ngIf="selectedIndex === '3'" nz-button nzType="primary" (click)="recall()">撤回</button>
|
||||
<button *ngIf="selectedIndex === '3'" nz-button nzType="primary" (click)="recall()" acl [acl-ability]="['TAX_INVOICE_REPORT-recall']">撤回</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
@ -281,26 +281,7 @@ export class TaxManagementInvoiceReportingComponent implements OnInit {
|
||||
});
|
||||
|
||||
}
|
||||
/**
|
||||
*撤销
|
||||
* @param record 记录实例
|
||||
*/
|
||||
resetData() {
|
||||
if (this.selectedRows.length === 0) {
|
||||
this.openWainingModal('请选择需要更新的数据!');
|
||||
return;
|
||||
}
|
||||
let params: any[] = [];
|
||||
this.selectedRows.forEach(item => {
|
||||
params.push(item.billId);
|
||||
});
|
||||
this.service.request(this.service.$api_get_renewalOrderById, params).subscribe((res: any) => {
|
||||
if (res) {
|
||||
this.service.msgSrv.success('更新成功');
|
||||
this.st.load(1);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
*撤销
|
||||
* @param record 记录实例
|
||||
@ -333,28 +314,13 @@ export class TaxManagementInvoiceReportingComponent implements OnInit {
|
||||
}
|
||||
|
||||
selectChange(item: any) {
|
||||
console.log(item);
|
||||
|
||||
this.selectedIndex = item?.value || '';
|
||||
console.log(this.selectedIndex);
|
||||
|
||||
setTimeout(() => {
|
||||
this.st.load();
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看当行数据
|
||||
*/
|
||||
view(record: STData) {
|
||||
// this.router.navigate(['../view', record.uuid], { relativeTo: this.ar });
|
||||
this.router.navigate(['../detail'], {
|
||||
queryParams: {
|
||||
id: record.id,
|
||||
},
|
||||
relativeTo: this.ar
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传
|
||||
@ -368,6 +334,7 @@ export class TaxManagementInvoiceReportingComponent implements OnInit {
|
||||
this.selectedRows.forEach(item => {
|
||||
params.push(item.id);
|
||||
});
|
||||
return; //TODO 接口未提供
|
||||
this.service.request(this.service.$api_get_uploadingTaxOrder, params).subscribe((res: any) => {
|
||||
if (res) {
|
||||
this.service.msgSrv.success('上传成功');
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* @Description :
|
||||
* @Description :
|
||||
* @Version : 1.0
|
||||
* @Author : Shiming
|
||||
* @Date : 2022-03-30 13:58:28
|
||||
@ -16,18 +16,20 @@ import { TaxManagementIndividualIncomeComponent } from './components/individual-
|
||||
import { TaxManagementInvoiceReportingComponent } from './components/invoice-reporting/invoice-reporting.component';
|
||||
import { TaxManagementOrderReportingComponent } from './components/order-reporting/order-reporting.component';
|
||||
|
||||
|
||||
const routes: Routes = [
|
||||
{ path: 'orderReport', component: TaxManagementOrderReportingComponent },
|
||||
{ path: 'income', component: TaxManagementIndividualIncomeComponent },
|
||||
{ path: 'collect', component: TaxManagementIndividualCollectComponent },
|
||||
{ path: 'declare', component: TaxManagementIndividualDeclareComponent },
|
||||
{ path: 'invoiceReport', component: TaxManagementInvoiceReportingComponent },
|
||||
{ path: 'orderReport', component: TaxManagementOrderReportingComponent, data: { guard: { ability: ['TAX-ORDERREPORT-search'] } } },
|
||||
{ path: 'income', component: TaxManagementIndividualIncomeComponent, data: { guard: { ability: ['TAX-INCOME-search'] } } },
|
||||
{ path: 'collect', component: TaxManagementIndividualCollectComponent, data: { guard: { ability: ['TAX-COLLECT-search'] } } },
|
||||
{ path: 'declare', component: TaxManagementIndividualDeclareComponent, data: { guard: { ability: ['TAX-DECLARE-search'] } } },
|
||||
{
|
||||
path: 'invoiceReport',
|
||||
component: TaxManagementInvoiceReportingComponent,
|
||||
data: { guard: { ability: ['TAX_INVOICE_REPORT-list'] } }
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule]
|
||||
})
|
||||
export class TaxManagementModuleRoutingModule { }
|
||||
export class TaxManagementModuleRoutingModule {}
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
</div>
|
||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||
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]="['TICKET-BILLING-ORDER-search']">查询</button>
|
||||
<button nz-button (click)="resetSF()">重置</button>
|
||||
<button nz-button (click)="export()"> 导出</button>
|
||||
<button nz-button (click)="export()" acl [acl-ability]="['TICKET-BILLING-ORDER-exprort']"> 导出</button>
|
||||
<button nz-button nzType="link" (click)="expandToggle()">
|
||||
{{ !_$expand ? '展开' : '收起' }}
|
||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||
|
||||
@ -290,11 +290,11 @@ export class InvoiceDetailComponent implements OnInit {
|
||||
{ title: '数量', render: 'vatqty', width: 140, className: 'text-right' },
|
||||
{
|
||||
title: '金额',
|
||||
index: 'vattax',
|
||||
index: 'vatmoney',
|
||||
width: 140,
|
||||
type: 'widget',
|
||||
className: 'text-right',
|
||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) }
|
||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatmoney }) }
|
||||
},
|
||||
{
|
||||
title: '税率',
|
||||
@ -305,11 +305,11 @@ export class InvoiceDetailComponent implements OnInit {
|
||||
},
|
||||
{
|
||||
title: '税额',
|
||||
index: 'vatnotax',
|
||||
index: 'vattax',
|
||||
width: 140,
|
||||
type: 'widget',
|
||||
className: 'text-right',
|
||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
|
||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) }
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@ -39,6 +39,7 @@ export class InvoicedListComponent implements OnInit {
|
||||
ngOnInit(): void {}
|
||||
|
||||
beforeReq = (requestOptions: STRequestOptions) => {
|
||||
Object.assign(requestOptions.body,{sts: '3'})
|
||||
if (this.sf) {
|
||||
Object.assign(requestOptions.body, {
|
||||
...this.sf.value,
|
||||
@ -48,7 +49,7 @@ export class InvoicedListComponent implements OnInit {
|
||||
}
|
||||
});
|
||||
}
|
||||
return requestOptions;
|
||||
return requestOptions ;
|
||||
};
|
||||
|
||||
stChange(e: STChange): void {
|
||||
|
||||
@ -71,7 +71,7 @@ const routes: Routes = [
|
||||
{
|
||||
path: 'driver/config',
|
||||
component: UserCenterComponentsDriverConfigComponent,
|
||||
data: { guard: { ability: ['USERCENTER-DRIVER-CAPTAIN-list'] } }
|
||||
data: { guard: { ability: ['USERCENTER-DRIVER-CONFIG-search'] } }
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@ -16,17 +16,10 @@
|
||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right">
|
||||
<button
|
||||
nz-button
|
||||
nzType="primary"
|
||||
acl
|
||||
[acl-ability]="['VEHICLE-LIST-search']"
|
||||
[nzLoading]="service.http.loading"
|
||||
(click)="st?.load(1)"
|
||||
>查询</button>
|
||||
<button nz-button nzType="primary" [disabled]="false" (click)="exportFire()" acl [acl-ability]="'VEHICLE-LIST-export'"
|
||||
>导出</button
|
||||
>
|
||||
<button nz-button nzType="primary" acl [acl-ability]="['VEHICLE-LIST-search']" [nzLoading]="service.http.loading"
|
||||
(click)="st?.load(1)">查询</button>
|
||||
<button nz-button nzType="primary" [disabled]="false" (click)="exportFire()" acl
|
||||
[acl-ability]="'VEHICLE-LIST-export'">导出</button>
|
||||
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||
<button nz-button nzType="link" (click)="expandToggle()">
|
||||
{{ !_$expand ? '展开' : '收起' }}
|
||||
@ -38,23 +31,14 @@
|
||||
<nz-card>
|
||||
<!-- 数据列表 -->
|
||||
|
||||
<st
|
||||
#st
|
||||
[bordered]="true"
|
||||
[scroll]="{ x: '1200px' }"
|
||||
[columns]="columns"
|
||||
[data]="service.$api_get_operate_list"
|
||||
<st #st [bordered]="true" [scroll]="{ x: '1200px' }" [columns]="columns" [data]="service.$api_get_operate_list"
|
||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }"
|
||||
[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="carLength" let-item let-index="index">
|
||||
<div
|
||||
>{{ item?.carModelLabel }}-{{ item?.carLengthLabel ? item?.carLengthLabel + '米' : '' }}-{{
|
||||
item?.carLoad ? item?.carLoad + '吨' : ''
|
||||
}}</div
|
||||
>
|
||||
<div>{{ item?.carModelLabel }}-{{ item?.carLengthLabel ? item?.carLengthLabel + '米' : '' }}-{{
|
||||
item?.carLoad ? item?.carLoad + '吨' : ''
|
||||
}}</div>
|
||||
</ng-template>
|
||||
<ng-template st-row="isSelf" let-item let-index="index">
|
||||
<div>
|
||||
@ -68,13 +52,19 @@
|
||||
</ng-template>
|
||||
<ng-template st-row="approvalAuditStatus" let-item let-index="index">
|
||||
<div>
|
||||
<span *ngIf="item?.approvalAuditStatus === -1 || (item?.approvalAuditStatus === '-1' && item?.isSelf)">未上传</span>
|
||||
<span
|
||||
*ngIf="item?.approvalAuditStatus === -1 || (item?.approvalAuditStatus === '-1' && item?.isSelf)">未上传</span>
|
||||
<span *ngIf="item?.approvalAuditStatus === 0 || (item?.approvalAuditStatus === '0' && item?.isSelf)">草稿</span>
|
||||
<span *ngIf="item?.approvalAuditStatus === 10 || (item?.approvalAuditStatus === '10' && item?.isSelf)">待审核</span>
|
||||
<span *ngIf="item?.approvalAuditStatus === 15 || (item?.approvalAuditStatus === '15' && item?.isSelf)">已撤销</span>
|
||||
<span *ngIf="item?.approvalAuditStatus === 20 || (item?.approvalAuditStatus === '20' && item?.isSelf)">已审核</span>
|
||||
<span *ngIf="item?.approvalAuditStatus === 30 || (item?.approvalAuditStatus === '30' && item?.isSelf)">已驳回</span>
|
||||
<span *ngIf="item?.approvalAuditStatus === 40 || (item?.approvalAuditStatus === '40' && item?.isSelf)">证件过期</span>
|
||||
<span
|
||||
*ngIf="item?.approvalAuditStatus === 10 || (item?.approvalAuditStatus === '10' && item?.isSelf)">待审核</span>
|
||||
<span
|
||||
*ngIf="item?.approvalAuditStatus === 15 || (item?.approvalAuditStatus === '15' && item?.isSelf)">已撤销</span>
|
||||
<span
|
||||
*ngIf="item?.approvalAuditStatus === 20 || (item?.approvalAuditStatus === '20' && item?.isSelf)">已审核</span>
|
||||
<span
|
||||
*ngIf="item?.approvalAuditStatus === 30 || (item?.approvalAuditStatus === '30' && item?.isSelf)">已驳回</span>
|
||||
<span
|
||||
*ngIf="item?.approvalAuditStatus === 40 || (item?.approvalAuditStatus === '40' && item?.isSelf)">证件过期</span>
|
||||
<span *ngIf="!item?.isSelf">-</span>
|
||||
</div>
|
||||
</ng-template>
|
||||
@ -83,4 +73,4 @@
|
||||
<nz-tag *elseBlock nzColor="success">正常</nz-tag>
|
||||
</ng-template>
|
||||
</st>
|
||||
</nz-card>
|
||||
</nz-card>
|
||||
@ -14,10 +14,14 @@ import { VehicleComponentsListDetailComponent } from './components/list/detail/d
|
||||
import { VehicleComponentsListComponent } from './components/list/list.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{ path: 'list', component: VehicleComponentsListComponent },
|
||||
{ path: 'list/detail/:id', component: VehicleComponentsListDetailComponent },
|
||||
{ path: 'audit', component: VehicleComponentsAuditComponent },
|
||||
{ path: 'audit/detail/:id', component: VehicleComponentsAuditDetailComponent }
|
||||
{ path: 'list', component: VehicleComponentsListComponent, data: { guard: { ability: ['VEHICLE-LIST-search'] } } },
|
||||
{ path: 'list/detail/:id', component: VehicleComponentsListDetailComponent, data: { guard: { ability: ['VEHICLE-LIST-DETAIL-list'] } } },
|
||||
{ path: 'audit', component: VehicleComponentsAuditComponent, data: { guard: { ability: ['VEHICLE-AUDIT-search'] } } },
|
||||
{
|
||||
path: 'audit/detail/:id',
|
||||
component: VehicleComponentsAuditDetailComponent,
|
||||
data: { guard: { ability: ['VEHICLE-AUDIT-DETAIL-search'] } }
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
||||
@ -14,9 +14,9 @@
|
||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||
[loading]="false" [scroll]="{ y: '370px' }">
|
||||
<ng-template st-row="paAccount" let-item let-index="index">
|
||||
<a (click)="createAccount(item,'1')" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-createAccount']" >{{ item.paAccount || '添加' }}</a>
|
||||
<a (click)="createAccount(item,'1')" acl [acl-ability]="['USERCENTER-DRIVER-LIST-createAccount']" >{{ item.paAccount || '添加' }}</a>
|
||||
</ng-template>
|
||||
<ng-template st-row="pfAccount" let-item let-index="index">
|
||||
<a (click)="createAccount(item,'2')" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-createAccount']" >{{ item.pfAccount || '添加' }}</a>
|
||||
<a (click)="createAccount(item,'2')" acl [acl-ability]="['USERCENTER-DRIVER-LIST-createAccount']" >{{ item.pfAccount || '添加' }}</a>
|
||||
</ng-template>
|
||||
</st>
|
||||
@ -112,19 +112,23 @@
|
||||
<!-- 图片上传 -->
|
||||
<ng-container *ngSwitchCase="12">
|
||||
<div>
|
||||
<nz-upload class="avatar-uploader" [nzAction]="service.$api_upload_url"
|
||||
<nz-upload #filst class="avatar-uploader" [nzAction]="service.$api_upload_url"
|
||||
[nzName]="'multipartFile'" nzName="avatar" nzListType="picture-card"
|
||||
[nzShowUploadList]="false" (nzChange)="uploadChange($event,item)">
|
||||
<ng-container *ngIf="!item.itemValue">
|
||||
[nzShowUploadList]="{showPreviewIcon:true,showRemoveIcon:true}"
|
||||
[nzFileList]="item.itemValue?[{uid:item.id,name:'',url:item.itemValue}]:[]"
|
||||
(nzChange)="uploadChange($event,item)" [nzLimit]="1"
|
||||
[nzShowButton]="filst?.nzFileList?.length===0 " [nzPreview]="nzPreview"
|
||||
[nzRemove]="nzRemove">
|
||||
<div>
|
||||
<i class="upload-icon" nz-icon
|
||||
[nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
||||
<div class="ant-upload-text">上传</div>
|
||||
</ng-container>
|
||||
<div style="width: 102px;height: 102px;display: flex;align-items: center;justify-content: center;"
|
||||
</div>
|
||||
<!-- <div style="width: 102px;height: 102px;display: flex;align-items: center;justify-content: center;"
|
||||
*ngIf="item.itemValue" (click)="$event.cancelBubble = true">
|
||||
<img nz-image [nzSrc]="item.itemValue"
|
||||
style="max-width: 102px;max-height: 102px;" />
|
||||
</div>
|
||||
</div> -->
|
||||
</nz-upload>
|
||||
<p>支持
|
||||
<ng-container *ngFor="let item of item.remark?.format">
|
||||
|
||||
@ -98,6 +98,17 @@ export class DynamicSettingH5Component implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
nzPreview = (file: NzUploadFile) => {
|
||||
this.showImg(file.url);
|
||||
};
|
||||
nzRemove = (file: NzUploadFile) => {
|
||||
const config = this.configList.find((c: any) => c.id === file.uid);
|
||||
if (config) {
|
||||
config.itemValue = '';
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
showImg(url: any) {
|
||||
this.nzImageService.preview([{ src: url }]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user