Merge branch 'develop'
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tms-obc-web",
|
"name": "tms-obc-web",
|
||||||
"version": "1.0.1",
|
"version": "1.2.0",
|
||||||
"description": "运营后台-WEB",
|
"description": "运营后台-WEB",
|
||||||
"author": "cipchk <cipchk@qq.com>",
|
"author": "cipchk <cipchk@qq.com>",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-18 09:51:21
|
* @Date : 2022-01-18 09:51:21
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-28 13:43:18
|
* @LastEditTime : 2022-04-28 16:08:43
|
||||||
* @FilePath : \\tms-obc-web\\proxy.conf.js
|
* @FilePath : \\tms-obc-web\\proxy.conf.js
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -24,9 +24,8 @@ export class ContractManagementIndexComponent implements OnInit {
|
|||||||
|
|
||||||
constructor(private http: _HttpClient, private modal: ModalHelper, private acl: ACLService) {
|
constructor(private http: _HttpClient, private modal: ModalHelper, private acl: ACLService) {
|
||||||
const acls = acl.data.abilities || [];
|
const acls = acl.data.abilities || [];
|
||||||
this.isShowDetail = !!acls.find(acl => acl === 'CONTRACT-INDEX-searchDetail');
|
this.isShowDetail =acl.data.full || !!acls.find(acl => acl === 'CONTRACT-INDEX-searchDetail');
|
||||||
this.isShowFrame = !!acls.find(acl => acl === 'CONTRACT-INDEX-listFrame');
|
this.isShowFrame =acl.data.full || !!acls.find(acl => acl === 'CONTRACT-INDEX-listFrame');
|
||||||
console.log(this.isShowFrame);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
<div nz-row [nzGutter]="16">
|
<div nz-row [nzGutter]="16">
|
||||||
<div nz-col class="gutter-row" [nzSpan]="6">
|
<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>
|
<ng-template #footer1>
|
||||||
<div class="card-f">
|
<div class="card-f">
|
||||||
<span class="card-f-l">合格:{{cardData1?.leftQuantity}}</span> <span>不合格:{{cardData1?.rightQuantity}}</span>
|
<span class="card-f-l">合格:{{cardData1?.leftQuantity}}</span> <span>不合格:{{cardData1?.rightQuantity}}</span>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</g2-card>
|
</g2-card>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col class="gutter-row" [nzSpan]="6">
|
<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>
|
<ng-template #footer2>
|
||||||
<div class="card-f">
|
<div class="card-f">
|
||||||
<span class="card-f-l">货源单:{{cardData2?.leftQuantity}}</span> <span>合同单:{{cardData2?.rightQuantity}}</span>
|
<span class="card-f-l">货源单:{{cardData2?.leftQuantity}}</span> <span>合同单:{{cardData2?.rightQuantity}}</span>
|
||||||
@ -42,7 +42,7 @@
|
|||||||
</g2-card>
|
</g2-card>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col class="gutter-row" [nzSpan]="6">
|
<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>
|
<ng-template #footer3>
|
||||||
<div class="card-f">
|
<div class="card-f">
|
||||||
<span class="card-f-l">司机:{{cardData3?.leftQuantity}}</span> <span>车队长:{{cardData3?.rightQuantity}}</span>
|
<span class="card-f-l">司机:{{cardData3?.leftQuantity}}</span> <span>车队长:{{cardData3?.rightQuantity}}</span>
|
||||||
@ -51,7 +51,7 @@
|
|||||||
</g2-card>
|
</g2-card>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col class="gutter-row" [nzSpan]="6">
|
<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>
|
<ng-template #footer4>
|
||||||
<div class="card-f">
|
<div class="card-f">
|
||||||
<span class="card-f-l">准时:{{cardData4?.leftQuantity}}</span> <span>逾期:{{cardData4?.rightQuantity}}</span>
|
<span class="card-f-l">准时:{{cardData4?.leftQuantity}}</span> <span>逾期:{{cardData4?.rightQuantity}}</span>
|
||||||
|
|||||||
@ -47,27 +47,30 @@ export class DatatableComplianceIndexComponent implements OnInit {
|
|||||||
time:this.time
|
time:this.time
|
||||||
}
|
}
|
||||||
this.service.request(this.service.$api_getBillRateQualified, params).subscribe(res => {
|
this.service.request(this.service.$api_getBillRateQualified, params).subscribe(res => {
|
||||||
|
|
||||||
if (res) {
|
if (res) {
|
||||||
this.cardData1 = 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 => {
|
this.service.request(this.service.$api_getBillRateProportion, params).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.cardData2 = 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 => {
|
this.service.request(this.service.$api_getBillRateDirectPayment, params).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.cardData3 = 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 => {
|
this.service.request(this.service.$api_getBillTimelyPayment, params).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.cardData4 = res;
|
this.cardData4 = res;
|
||||||
this.cardData4.proportion = this.cardData4.proportion*100 +'%'
|
this.cardData4.proportion = (this.cardData4?.proportion*100).toFixed(2) +'%'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -186,6 +186,7 @@ export class DriverAccountComponent extends BasicTableComponent implements OnIni
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '查看明细',
|
text: '查看明细',
|
||||||
|
acl: { ability: ['FINANCIAL-DRIVER-ACOUNT-view'] },
|
||||||
click: item =>
|
click: item =>
|
||||||
this.router.navigate(['/financial-management/driver-account/detail/' + item.id], {
|
this.router.navigate(['/financial-management/driver-account/detail/' + item.id], {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
|
|||||||
@ -32,7 +32,8 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<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()" acl
|
||||||
|
[acl-ability]="['FINANCIAL-PAYMENT-ORDER-list']">筛选</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,12 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
info: any = {};
|
info: any = {};
|
||||||
|
|
||||||
static: any = {};
|
static: any = {};
|
||||||
constructor(public service: FreightAccountService, private router: Router, private nzModalService: NzModalService, public modal: NzModalService) { }
|
constructor(
|
||||||
|
public service: FreightAccountService,
|
||||||
|
private router: Router,
|
||||||
|
private nzModalService: NzModalService,
|
||||||
|
public modal: NzModalService
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.loadInfo();
|
this.loadInfo();
|
||||||
@ -187,6 +192,7 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '查看明细 ',
|
text: '查看明细 ',
|
||||||
|
acl: { ability: ['FINANCIAL-PLATFORM-view'] },
|
||||||
click: item =>
|
click: item =>
|
||||||
this.router.navigate(['/financial-management/platform-account/detail/' + item.id], {
|
this.router.navigate(['/financial-management/platform-account/detail/' + item.id], {
|
||||||
queryParams: { ltdId: item.ltdId, bankType: item.bankType, ltdName: `${item.ltdName}(${item.bankTypeLabel})` }
|
queryParams: { ltdId: item.ltdId, bankType: item.bankType, ltdName: `${item.ltdName}(${item.bankTypeLabel})` }
|
||||||
@ -195,7 +201,7 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
text: '提现',
|
text: '提现',
|
||||||
click: item => this.withdraw(item),
|
click: item => this.withdraw(item),
|
||||||
iif: (_record) => _record.bankType !== '1'
|
iif: _record => _record.bankType !== '1'
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// text: '绑定银行卡',
|
// text: '绑定银行卡',
|
||||||
@ -204,8 +210,8 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
text: '查看银行卡',
|
text: '查看银行卡',
|
||||||
click: item => this.viewBankcard(item),
|
click: item => this.viewBankcard(item),
|
||||||
iif: (_record) => _record.bankType !== '1'
|
iif: _record => _record.bankType !== '1'
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@ -224,10 +230,9 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
i: item
|
i: item
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
modalRef.afterOpen.subscribe(() => { });
|
modalRef.afterOpen.subscribe(() => {});
|
||||||
modalRef.afterClose.subscribe((result) => {
|
modalRef.afterClose.subscribe(result => {
|
||||||
if (result) this.st.reload();
|
if (result) this.st.reload();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -244,7 +249,7 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportPlatformAccountBalanceByOperator,);
|
this.service.exportStart({ ...this.sf.value, pageSize: -1 }, this.service.$api_get_exportPlatformAccountBalanceByOperator);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 提现
|
// 提现
|
||||||
@ -264,7 +269,6 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
// this.getSummary();
|
// this.getSummary();
|
||||||
// this.withdrawTable.refresh();
|
// this.withdrawTable.refresh();
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -251,6 +251,7 @@ export class ReceiptOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '浏览',
|
text: '浏览',
|
||||||
|
acl: { ability: ['FINANCIAL-RECEIPT-view'] },
|
||||||
click: item => this.router.navigate(['/financial-management/receipt-order/detail/' + item.id])
|
click: item => this.router.navigate(['/financial-management/receipt-order/detail/' + item.id])
|
||||||
}
|
}
|
||||||
// {
|
// {
|
||||||
|
|||||||
@ -283,10 +283,12 @@ export class VoucherSummaryComponent extends BasicTableComponent implements OnIn
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '浏览',
|
text: '浏览',
|
||||||
|
acl: { ability: ['FINANCIAL-VOUCHER-SUMMARY-view'] },
|
||||||
click: (item: any) => this.router.navigate(['/financial-management/voucher-summary/detail/' + item.id])
|
click: (item: any) => this.router.navigate(['/financial-management/voucher-summary/detail/' + item.id])
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '列表',
|
text: '列表',
|
||||||
|
acl: { ability: ['FINANCIAL-VOUCHER-SUMMARY-child-list'] },
|
||||||
click: (item: any) => this.router.navigate(['/financial-management/voucher-summary/list/' + item.vc2code])
|
click: (item: any) => this.router.navigate(['/financial-management/voucher-summary/list/' + item.vc2code])
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -38,17 +38,25 @@ import { CwcBankCardManagementIndexComponent } from './components/bank-card-mana
|
|||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: 'freight-account', component: FreightAccountComponent, data: { guard: { ability: ['FINANCIAL-FREIGHT-ACOUNT-list'] } } },
|
{ path: 'freight-account', component: FreightAccountComponent, data: { guard: { ability: ['FINANCIAL-FREIGHT-ACOUNT-list'] } } },
|
||||||
{ path: 'freight-account/detail/:id', component: FreightAccountDetailComponent },
|
{ path: 'freight-account/detail/:id', component: FreightAccountDetailComponent },
|
||||||
{ path: 'driver-account', component: DriverAccountComponent },
|
{ path: 'driver-account', component: DriverAccountComponent, data: { guard: { ability: ['FINANCIAL-DRIVER-ACOUNT-list'] } } },
|
||||||
{ path: 'driver-account/detail/:id', component: DriverAccountDetailComponent },
|
{
|
||||||
{ path: 'platform-account', component: PlatformAccountComponent },
|
path: 'driver-account/detail/:id',
|
||||||
{ path: 'platform-account/detail/:id', component: PlatformAccountDetailComponent },
|
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: 'recharge-record', component: RechargeRecordComponent },
|
||||||
{ path: 'withdrawals-record', component: WithdrawalsRecordComponent },
|
{ path: 'withdrawals-record', component: WithdrawalsRecordComponent },
|
||||||
{ 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 },
|
{ path: 'voucher-management', component: VoucherManagementComponent },
|
||||||
{ path: 'voucher-management/detail/:id', component: VoucherDetailComponent },
|
{ 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/detail/:id', component: SummaryDetailComponent },
|
||||||
{ path: 'voucher-summary/list/:id', component: VoucherListComponent },
|
{ path: 'voucher-summary/list/:id', component: VoucherListComponent },
|
||||||
{ path: 'voucher-summary/list/detail/:id', component: VoucherDetailComponent },
|
{ path: 'voucher-summary/list/detail/:id', component: VoucherDetailComponent },
|
||||||
@ -60,22 +68,29 @@ const routes: Routes = [
|
|||||||
{ 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 },
|
||||||
{ path: 'payment-order', component: PaymentOrderComponent },
|
{ 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 },
|
{ path: 'receipt-order', component: ReceiptOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIPT-list'] } } },
|
||||||
{ path: 'receipt-order/detail/:id', component: ReceiptOrderDetailComponent },
|
{ path: 'receipt-order/detail/:id', component: ReceiptOrderDetailComponent },
|
||||||
{ path: 'advance-collection', component: AdvanceCollectionComponent },
|
{ path: 'advance-collection', component: AdvanceCollectionComponent },
|
||||||
{ path: 'advance-collection/detail/:id', component: AdvanceCollectionDetailComponent },
|
{ path: 'advance-collection/detail/:id', component: AdvanceCollectionDetailComponent },
|
||||||
{ path: 'receivable-order', component: ReceivableOrderComponent },
|
{ path: 'receivable-order', component: ReceivableOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIVABLE-list'] } } },
|
||||||
{ path: 'receivable-order/detail/:id', component: ReceivableOrderDetailComponent },
|
{
|
||||||
{ path: 'payable-order', component: PayableOrderComponent },
|
path: 'receivable-order/detail/:id',
|
||||||
{ path: 'payable-order/detail/:id', component: PayableOrderDetailComponent },
|
component: ReceivableOrderDetailComponent,
|
||||||
{ path: 'bank-card-management/index', component: CwcBankCardManagementIndexComponent },
|
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: 'bank-card-management/index', component: CwcBankCardManagementIndexComponent }
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [RouterModule.forChild(routes)],
|
imports: [RouterModule.forChild(routes)],
|
||||||
exports: [RouterModule]
|
exports: [RouterModule]
|
||||||
})
|
})
|
||||||
export class FinancialManagementRoutingModule { }
|
export class FinancialManagementRoutingModule {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* @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
|
||||||
@ -13,13 +13,12 @@ import { RouterModule, Routes } from '@angular/router';
|
|||||||
import { insuranceManagementListComponent } from './components/list/list.component';
|
import { insuranceManagementListComponent } from './components/list/list.component';
|
||||||
import { insuranceManagementSetComponent } from './components/set/set.component';
|
import { insuranceManagementSetComponent } from './components/set/set.component';
|
||||||
|
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: 'list', component: insuranceManagementListComponent },
|
{ path: 'list', component: insuranceManagementListComponent, data: { guard: { ability: ['INSURANCE-LIST-search'] } } },
|
||||||
{ path: 'list-set', component: insuranceManagementSetComponent },
|
{ path: 'list-set', component: insuranceManagementSetComponent, data: { guard: { ability: ['INSURANCE-LISTDETAIL-set'] } } }
|
||||||
]
|
];
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [RouterModule.forChild(routes)],
|
imports: [RouterModule.forChild(routes)],
|
||||||
exports: [RouterModule]
|
exports: [RouterModule]
|
||||||
})
|
})
|
||||||
export class InsuranceManagementRoutingModule { }
|
export class InsuranceManagementRoutingModule {}
|
||||||
|
|||||||
@ -23,8 +23,8 @@
|
|||||||
<nz-card class="content-box">
|
<nz-card class="content-box">
|
||||||
|
|
||||||
<nz-tabset>
|
<nz-tabset>
|
||||||
<nz-tab nzTitle="货主菜单" (nzClick)="changeMemu(0)"></nz-tab>
|
<nz-tab nzTitle="货主菜单" (nzClick)="changeMemu(0)" *ngIf="isShowFre"></nz-tab>
|
||||||
<nz-tab nzTitle="运营后台菜单" (nzClick)="changeMemu(1)"></nz-tab>
|
<nz-tab nzTitle="运营后台菜单" (nzClick)="changeMemu(1)" *ngIf="isShowBackEND"></nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
|
|
||||||
<!-- <st #st [data]="service.$api_get_all" [columns]="columns" [expand]="expand" expandRowByClick
|
<!-- <st #st [data]="service.$api_get_all" [columns]="columns" [expand]="expand" expandRowByClick
|
||||||
@ -36,7 +36,7 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</st> -->
|
</st> -->
|
||||||
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
||||||
[nzLoading]="service.http.loading">
|
[nzLoading]="service.http.loading" *ngIf="isShowFre || isShowBackEND">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<!-- <th nzWidth="70px" nzAlign="center">#</th> -->
|
<!-- <th nzWidth="70px" nzAlign="center">#</th> -->
|
||||||
@ -65,7 +65,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td nzWidth="100px">{{ item.sorted }}</td>
|
<td nzWidth="100px">{{ item.sorted }}</td>
|
||||||
<td nzWidth="150px" nzAlign="center">
|
<td nzWidth="150px" nzAlign="center">
|
||||||
<a (click)="openDrawer(item)">权限配置</a>
|
<a (click)="openDrawer(item)" acl [acl-ability]="['MENU-AUTH-auth']">权限配置</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { ACLService } from '@delon/acl';
|
||||||
import { SFComponent, SFSchema } from '@delon/form';
|
import { SFComponent, SFSchema } from '@delon/form';
|
||||||
import { EAEnvironmentService } from '@shared';
|
import { EAEnvironmentService } from '@shared';
|
||||||
import { NzDrawerService } from 'ng-zorro-antd/drawer';
|
import { NzDrawerService } from 'ng-zorro-antd/drawer';
|
||||||
@ -34,14 +35,26 @@ export class ApiAuthComponent implements OnInit {
|
|||||||
|
|
||||||
mapOfExpandedData: { [key: string]: any[] } = {};
|
mapOfExpandedData: { [key: string]: any[] } = {};
|
||||||
listOfMapData: 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();
|
this.initData();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
ngOnInit(): void {}
|
||||||
|
|
||||||
initData(): void {
|
initData(): void {
|
||||||
this.selectedPlatform = this.platforms[0];
|
this.selectedPlatform = this.isShowFre ? this.platforms[0] : this.platforms[1];
|
||||||
this.loadMemu(this.selectedPlatform.appId);
|
this.loadMemu(this.selectedPlatform.appId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -23,14 +23,15 @@
|
|||||||
<nz-card class="content-box">
|
<nz-card class="content-box">
|
||||||
|
|
||||||
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
|
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
|
||||||
<nz-tab nzTitle="货主菜单" (nzClick)="changeMemu(0)"></nz-tab>
|
<nz-tab nzTitle="货主菜单" (nzClick)="changeMemu(0)" *ngIf="isShowFre"></nz-tab>
|
||||||
<nz-tab nzTitle="运营后台菜单" (nzClick)="changeMemu(1)"></nz-tab>
|
<nz-tab nzTitle="运营后台菜单" (nzClick)="changeMemu(1)" *ngIf="isShowBackEND"></nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
<ng-template #extraTemplate>
|
<ng-template #extraTemplate>
|
||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
<div>
|
<div>
|
||||||
<button nz-button nzType="primary" (click)="menuAction('新增菜单')">新增</button>
|
<button nz-button nzType="primary" (click)="menuAction('新增菜单')" acl
|
||||||
<button nz-button nzType="primary" (click)="menuSort()">菜单排序</button>
|
[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"
|
<!-- <button nz-button nzType="primary" (click)="menuImport(0)" [disabled]="false"
|
||||||
*ngIf="selectedPlatform.enName==='tms-smc-web'">
|
*ngIf="selectedPlatform.enName==='tms-smc-web'">
|
||||||
导入货主菜单
|
导入货主菜单
|
||||||
@ -52,7 +53,7 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</st> -->
|
</st> -->
|
||||||
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
||||||
[nzLoading]="service.http.loading">
|
[nzLoading]="service.http.loading" *ngIf="isShowFre || isShowBackEND">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<!-- <th nzWidth="70px" nzAlign="center">#</th> -->
|
<!-- <th nzWidth="70px" nzAlign="center">#</th> -->
|
||||||
@ -85,12 +86,12 @@
|
|||||||
<td nzAlign="center" nzWidth="250px">
|
<td nzAlign="center" nzWidth="250px">
|
||||||
<a (click)="menuAction('查看菜单',item,item.parentId,true)">查看</a>
|
<a (click)="menuAction('查看菜单',item,item.parentId,true)">查看</a>
|
||||||
<nz-divider nzType="vertical"></nz-divider>
|
<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>
|
<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">
|
<ng-container *ngIf="item.level!==3">
|
||||||
<nz-divider nzType="vertical"></nz-divider>
|
<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>
|
</ng-container>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
||||||
|
import { ACLService } from '@delon/acl';
|
||||||
import { SFComponent, SFSchema } from '@delon/form';
|
import { SFComponent, SFSchema } from '@delon/form';
|
||||||
import { Menu, ModalHelper } from '@delon/theme';
|
import { Menu, ModalHelper } from '@delon/theme';
|
||||||
import { EAEnvironmentService } from '@shared';
|
import { EAEnvironmentService } from '@shared';
|
||||||
@ -37,14 +38,26 @@ export class MenuManagerComponentsIndexComponent implements OnInit {
|
|||||||
|
|
||||||
mapOfExpandedData: { [key: string]: any[] } = {};
|
mapOfExpandedData: { [key: string]: any[] } = {};
|
||||||
listOfMapData: 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();
|
this.initData();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
ngOnInit(): void {}
|
||||||
|
|
||||||
initData(): void {
|
initData(): void {
|
||||||
this.selectedPlatform = this.platforms[0];
|
this.selectedPlatform = this.isShowFre ? this.platforms[0] : this.platforms[1];
|
||||||
this.loadMemu(this.selectedPlatform.appId);
|
this.loadMemu(this.selectedPlatform.appId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,13 +139,13 @@ export class MenuManagerComponentsIndexComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
menuSort(){
|
menuSort() {
|
||||||
const dialogData = {
|
const dialogData = {
|
||||||
appId: this.selectedPlatform.appId
|
appId: this.selectedPlatform.appId
|
||||||
};
|
};
|
||||||
this.modalHelper.create(MenuManagerMenusortComponent, { i: dialogData }, { size: 900 }).subscribe((res:any) => {
|
this.modalHelper.create(MenuManagerMenusortComponent, { i: dialogData }, { size: 900 }).subscribe((res: any) => {
|
||||||
if(res) {
|
if (res) {
|
||||||
console.log('a')
|
console.log('a');
|
||||||
this.loadMemu(this.selectedPlatform.appId);
|
this.loadMemu(this.selectedPlatform.appId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -5,12 +5,16 @@ import { MenuManagerComponentsIndexComponent } from './components/index/index.co
|
|||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: '', redirectTo: 'index', pathMatch: 'full' },
|
{ 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({
|
@NgModule({
|
||||||
imports: [RouterModule.forChild(routes)],
|
imports: [RouterModule.forChild(routes)],
|
||||||
exports: [RouterModule],
|
exports: [RouterModule]
|
||||||
})
|
})
|
||||||
export class MenuManagerRoutingModule {}
|
export class MenuManagerRoutingModule {}
|
||||||
|
|||||||
@ -6,13 +6,21 @@
|
|||||||
</button>
|
</button>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #headerContent>
|
<ng-template #headerContent>
|
||||||
<div class="mb-xs" nz-row>
|
<div class="mb-sm common-order-header" nz-row>
|
||||||
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
||||||
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
|
<b class="ml-md">货源编码 : {{ i?.resourceCode }}</b>
|
||||||
</div>
|
</div>
|
||||||
<div nz-row>
|
<div>
|
||||||
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
|
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
<div nz-col nzSpan="10">
|
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
|
||||||
|
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
|
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
|
||||||
|
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
|
||||||
|
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="common-order-header" nz-row>
|
||||||
|
<div class="common-grey">网络货运人:{{ i?.shipperAppUserName }}</div>
|
||||||
|
<div>
|
||||||
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
|
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
|
||||||
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
|
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
@ -20,14 +28,15 @@
|
|||||||
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
|
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
|
||||||
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
|
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="mt-sm mb-sm" nz-row>
|
<!-- <div class="mt-sm mb-sm" nz-row>
|
||||||
<div>
|
<div>
|
||||||
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b>
|
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<nz-divider></nz-divider>
|
<nz-divider></nz-divider>
|
||||||
<div sv-container>
|
<div sv-container>
|
||||||
|
<sv label="网络货运人">{{ i?.shipperAppUserName }}</sv>
|
||||||
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
||||||
<sv label="截止时间">{{ i?.deadlineTime }}</sv>
|
<sv label="截止时间">{{ i?.deadlineTime }}</sv>
|
||||||
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
||||||
@ -37,13 +46,12 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
<nz-card [nzBorderless]="true" class="mb0">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
<div class="mb-xs" nz-row>
|
<div class="mb-sm common-order-header" nz-row>
|
||||||
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
<div>
|
||||||
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
|
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
||||||
</div>
|
<b class="ml-md">货源编码 : {{ i?.resourceCode }}</b>
|
||||||
<div nz-row>
|
</div>
|
||||||
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
|
<div>
|
||||||
<div nz-col nzSpan="10">
|
|
||||||
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
|
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
|
||||||
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
|
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
@ -52,13 +60,14 @@
|
|||||||
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
|
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-sm mb-sm" nz-row>
|
<!-- <div class="mt-sm mb-sm" nz-row>
|
||||||
<div>
|
<div>
|
||||||
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b>
|
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<nz-divider></nz-divider>
|
<nz-divider class="divider-margin"></nz-divider>
|
||||||
<div sv-container>
|
<div class="mb-lg" sv-container>
|
||||||
|
<sv label="网络货运人">{{ i?.shipperAppUserName }}</sv>
|
||||||
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
||||||
<sv label="截止时间">{{ i?.deadlineTime }}</sv>
|
<sv label="截止时间">{{ i?.deadlineTime }}</sv>
|
||||||
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
||||||
@ -66,8 +75,8 @@
|
|||||||
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
|
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
|
||||||
</div>
|
</div>
|
||||||
<div class="approval-status">
|
<div class="approval-status">
|
||||||
<div style="width: 60%; margin: 0 auto">
|
<div class="step-row">
|
||||||
<nz-steps style="width: 70%; margin: 0 auto" [nzLabelPlacement]="'vertical'">
|
<nz-steps [nzLabelPlacement]="'vertical'">
|
||||||
<nz-step [nzStatus]="i?.resourceStatus !== '1'?'finish':'process'" nzIcon="solution"
|
<nz-step [nzStatus]="i?.resourceStatus !== '1'?'finish':'process'" nzIcon="solution"
|
||||||
[nzDescription]="i?.createTime" nzTitle="下单"></nz-step>
|
[nzDescription]="i?.createTime" nzTitle="下单"></nz-step>
|
||||||
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '4' "
|
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '4' "
|
||||||
@ -80,13 +89,22 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-md">
|
<div class="mt-md">
|
||||||
<h4 class="text-md">装货卸货信息
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign mr-xs"></a>
|
||||||
|
<span>装货卸货信息</span>
|
||||||
<span class="ml-sm text-sm">(
|
<span class="ml-sm text-sm">(
|
||||||
<label>{{ i?.loadingCount || '一' }}装</label>
|
<label>{{ i?.loadingCount || '一' }}装</label>
|
||||||
<label>{{ i?.unloadingCount || '一' }}卸</label>
|
<label>{{ i?.unloadingCount || '一' }}卸</label>
|
||||||
)
|
)
|
||||||
</span>
|
</span>
|
||||||
</h4>
|
</div>
|
||||||
|
<!-- <h4 class="text-md">装货卸货信息
|
||||||
|
<span class="ml-sm text-sm">(
|
||||||
|
<label>{{ i?.loadingCount || '一' }}装</label>
|
||||||
|
<label>{{ i?.unloadingCount || '一' }}卸</label>
|
||||||
|
)
|
||||||
|
</span>
|
||||||
|
</h4> -->
|
||||||
<div nz-row [nzGutter]="24">
|
<div nz-row [nzGutter]="24">
|
||||||
<div nz-col [nzSpan]="12">
|
<div nz-col [nzSpan]="12">
|
||||||
<div class="handling-info p-md">
|
<div class="handling-info p-md">
|
||||||
@ -95,7 +113,7 @@
|
|||||||
<div class="handling-info-icon loading-bg">装</div>
|
<div class="handling-info-icon loading-bg">装</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<h4>装货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
|
<h4>装货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
|
||||||
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
|
<p class="mb0">联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -109,7 +127,7 @@
|
|||||||
<div class="handling-info-icon unloaing-bg">卸</div>
|
<div class="handling-info-icon unloaing-bg">卸</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<h4>卸货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
|
<h4>卸货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
|
||||||
<p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
|
<p class="mb0">联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -140,6 +158,15 @@
|
|||||||
<sv label="用车需求">
|
<sv label="用车需求">
|
||||||
{{item.carModelLabel || '--'}} / {{item.carLengthLabel || '--'}}<span *ngIf="item.carLength !=='999'">米</span>
|
{{item.carModelLabel || '--'}} / {{item.carLengthLabel || '--'}}<span *ngIf="item.carLength !=='999'">米</span>
|
||||||
</sv>
|
</sv>
|
||||||
|
<sv label="承运司机"
|
||||||
|
*ngIf="i?.carrierInformationVO?.driverTelephone && (i?.carrierInformationVO?.driverTelephone !== i?.payeePhone)">
|
||||||
|
{{i?.carrierInformationVO?.driverName || '--'}} / {{i?.carrierInformationVO?.driverTelephone || '--'}} /
|
||||||
|
{{i?.carrierInformationVO?.driverLicensePlate || '--'}}
|
||||||
|
</sv>
|
||||||
|
<sv label="车型车长载重">
|
||||||
|
{{i?.driverCarModelLabel || '--'}} / {{(i?.driverCarLength || '--') +'米'}} / {{(i?.driverCarWeight ||
|
||||||
|
'--')+'吨'}}
|
||||||
|
</sv>
|
||||||
<!-- <sv label="承运信息">
|
<!-- <sv label="承运信息">
|
||||||
{{i?.carrierInformationVO?.driverName}} / {{i?.carrierInformationVO?.driverTelephone}} /
|
{{i?.carrierInformationVO?.driverName}} / {{i?.carrierInformationVO?.driverTelephone}} /
|
||||||
{{i?.carrierInformationVO?.driverLicensePlate}}
|
{{i?.carrierInformationVO?.driverLicensePlate}}
|
||||||
@ -152,26 +179,35 @@
|
|||||||
|
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card [nzBorderless]="true" class="mb0" nzTitle="运费信息">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign mr-xs"></a>
|
||||||
|
<span>运费信息</span>
|
||||||
|
<span class="pl-sm text-warning">(到货后{{i?.paymentDays}}天内支付运费)</span>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div *ngFor="let item of i?.goodsInfoVOList" nz-col nzSpan="24">
|
<div *ngFor="let item of i?.goodsInfoVOList" nz-col nzSpan="24">
|
||||||
<div>
|
|
||||||
<p class="text-warning-light mb-xs text-right">收货后{{ i?.paymentDays }}天内支付运费</p>
|
|
||||||
<p class="mb-xs text-right"> {{ settlementBasis[item?.settlementBasis] }},{{ rule[item?.rule] }}</p>
|
|
||||||
</div>
|
|
||||||
<nz-divider class="mb-xs mt-xs"></nz-divider>
|
|
||||||
<div class="text-right">
|
<div class="text-right">
|
||||||
<label>运费单价:</label>
|
<label>运费单价:</label>
|
||||||
<span class="text-error-dark text-xxl">{{ item?.freightPrice | currency: '¥' }} {{
|
<span class="text-error-dark text-xxl">{{ item?.freightPrice | currency: '¥' }} {{
|
||||||
freightType[item?.freightType] }}</span>
|
freightType[item?.freightType] }}</span>
|
||||||
<span>(附加费率{{i?.rate * 100 | number: '0.2-2'}}%)</span>
|
<span>(附加费率{{i?.rate * 100 | number: '0.2-2'}}%)</span>
|
||||||
</div>
|
</div>
|
||||||
|
<nz-divider class="mb-xs mt-xs"></nz-divider>
|
||||||
|
<div>
|
||||||
|
<!-- <p class="text-warning-light mb-xs text-right">收货后{{ i?.paymentDays }}天内支付运费</p> -->
|
||||||
|
<p class="mb0 text-right"> {{ settlementBasis[item?.settlementBasis] }},{{ rule[item?.rule] }}</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card [nzBorderless]="true" class="mb0" nzTitle="关联订单">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign mr-xs"></a>
|
||||||
|
<span>关联订单</span>
|
||||||
|
</div>
|
||||||
<sv-container col="5">
|
<sv-container col="5">
|
||||||
<sv [label]="item?.wayBillStatusLabel" *ngFor="let item of i?.wayBillClassifiedStatisticsVOList">
|
<sv [label]="item?.wayBillStatusLabel" *ngFor="let item of i?.wayBillClassifiedStatisticsVOList">
|
||||||
(<span [ngClass]="{ 'text-primary': item?.count > 0 }">{{ item?.count }}</span>)
|
(<span [ngClass]="{ 'text-primary': item?.count > 0 }">{{ item?.count }}</span>)
|
||||||
@ -190,7 +226,11 @@
|
|||||||
</sv> -->
|
</sv> -->
|
||||||
</sv-container>
|
</sv-container>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card [nzBorderless]="true" class="mb0" nzTitle="补充信息">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign mr-xs"></a>
|
||||||
|
<span>补充信息</span>
|
||||||
|
</div>
|
||||||
<sv-container>
|
<sv-container>
|
||||||
<sv label="是否回单">
|
<sv label="是否回单">
|
||||||
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
|
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
|
||||||
@ -213,10 +253,14 @@
|
|||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card [nzBorderless]="true" class="mb0" nzTitle="操作日志">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign mr-xs"></a>
|
||||||
|
<span>操作日志</span>
|
||||||
|
</div>
|
||||||
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" [page]="{}"
|
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" [page]="{}"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" [size]="'small'">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -48,7 +48,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.handling-info {
|
.handling-info {
|
||||||
min-height: 100px;
|
min-height: 90px;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
|
|
||||||
.loading-row {
|
.loading-row {
|
||||||
|
|||||||
@ -125,7 +125,7 @@ export class SupplyManagementBulkDetailComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
placeOrder(record: any) {
|
placeOrder(record: any) {
|
||||||
console.log(record)
|
console.log(record)
|
||||||
this.router.navigate(['/supply-management/bulk-amend', record.id], {
|
this.router.navigate(['/supply-management/bulk-next', record.id], {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
sta: 4
|
sta: 4
|
||||||
},
|
},
|
||||||
|
|||||||
@ -492,7 +492,7 @@ export class SupplyManagementBulkComponent extends BasicTableComponent implement
|
|||||||
|
|
||||||
// 再下一单
|
// 再下一单
|
||||||
nextOrder(item: any) {
|
nextOrder(item: any) {
|
||||||
this.router.navigate(['/supply-management/bulk-amend', item.id], {
|
this.router.navigate(['/supply-management/bulk-next', item.id], {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
sta: 4
|
sta: 4
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,10 +25,10 @@
|
|||||||
<label class="page_title"> <label class="driver">|</label> 货源管理</label>
|
<label class="page_title"> <label class="driver">|</label> 货源管理</label>
|
||||||
</div>
|
</div>
|
||||||
<nz-tabset [(nzSelectedIndex)]="selectedIndex" class="header_tab">
|
<nz-tabset [(nzSelectedIndex)]="selectedIndex" class="header_tab">
|
||||||
<nz-tab nzTitle="整车货源">
|
<nz-tab nzTitle="整车货源" *ngIf="isShowVehicle">
|
||||||
<app-supply-management-vehicle></app-supply-management-vehicle>
|
<app-supply-management-vehicle></app-supply-management-vehicle>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
<nz-tab nzTitle="大宗货源">
|
<nz-tab nzTitle="大宗货源" *ngIf="isShowBulk">
|
||||||
<app-supply-management-bulk></app-supply-management-bulk>
|
<app-supply-management-bulk></app-supply-management-bulk>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { STColumn, STComponent } from '@delon/abc/st';
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
|
import { ACLService } from '@delon/acl';
|
||||||
import { SFSchema } from '@delon/form';
|
import { SFSchema } from '@delon/form';
|
||||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
import { SearchDrawerService } from '@shared';
|
import { SearchDrawerService } from '@shared';
|
||||||
@ -12,7 +13,14 @@ import { BasicTableComponent } from 'src/app/routes/commom';
|
|||||||
})
|
})
|
||||||
export class SupplyManagementIndexComponent implements OnInit {
|
export class SupplyManagementIndexComponent implements OnInit {
|
||||||
selectedIndex = 0;
|
selectedIndex = 0;
|
||||||
|
isShowVehicle = false;
|
||||||
|
isShowBulk = false;
|
||||||
|
|
||||||
|
constructor(private http: _HttpClient, private modal: ModalHelper, private acl: ACLService) {
|
||||||
|
const acls = acl.data.abilities || [];
|
||||||
|
this.isShowVehicle = acl.data.full || !!acls.find(acl => acl === 'SUPPLY-INDEX-vehicleSearch');
|
||||||
|
this.isShowBulk = acl.data.full || !!acls.find(acl => acl === 'SUPPLY-INDEX-bulkSearch');
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
ngOnInit(): void {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -260,9 +260,9 @@
|
|||||||
<button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px"
|
<button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px"
|
||||||
(click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button>
|
(click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button>
|
||||||
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl
|
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl
|
||||||
[acl-ability]="['SUPPLY-BULK-PLACEORDER-vehicleDesignate']">指派熟车</button>
|
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button>
|
||||||
<button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px"
|
<button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px"
|
||||||
(click)="submitConfirm('publish')" acl
|
(click)="submitConfirm('publish')" acl
|
||||||
[acl-ability]="['SUPPLY-BULK-PLACEORDER-vehicleAnotherOrder']">司机抢单</button>
|
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -6,48 +6,14 @@
|
|||||||
<i nz-icon nzType="left" nzTheme="outline"></i>
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
</button>
|
</button>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #headerContent>
|
|
||||||
<div class="mb-xs" nz-row>
|
|
||||||
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
|
||||||
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
|
|
||||||
</div>
|
|
||||||
<div nz-row>
|
|
||||||
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
|
|
||||||
<div nz-col nzSpan="10">
|
|
||||||
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
|
||||||
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
|
|
||||||
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
|
|
||||||
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
|
|
||||||
<button nz-button (click)="updateGoodsSource(i)"
|
|
||||||
*ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'" acl
|
|
||||||
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
|
|
||||||
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
|
|
||||||
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mt-sm mb-sm" nz-row>
|
|
||||||
<div>
|
|
||||||
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency }}</span></b>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<nz-divider></nz-divider>
|
|
||||||
<div sv-container *ngIf="i">
|
|
||||||
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
|
|
||||||
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
|
||||||
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
|
||||||
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
|
|
||||||
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
|
|
||||||
</div>
|
|
||||||
</ng-template>
|
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
<nz-card [nzBorderless]="true" class="mb0">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
<div class="mb-xs" nz-row>
|
<div class="mb-sm common-order-header" nz-row>
|
||||||
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
<div>
|
||||||
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
|
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
|
||||||
</div>
|
<b class="ml-md">货源编码 : {{ i?.resourceCode }}</b>
|
||||||
<div nz-row>
|
</div>
|
||||||
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
|
<div>
|
||||||
<div nz-col nzSpan="10">
|
|
||||||
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
|
||||||
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
|
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
|
||||||
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
|
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
|
||||||
@ -65,7 +31,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<nz-divider class="divider-margin"></nz-divider>
|
<nz-divider class="divider-margin"></nz-divider>
|
||||||
<div class="mb-lg" sv-container *ngIf="i">
|
<div class="mb-lg" sv-container>
|
||||||
|
<sv label="网络货运人">{{ i?.enterpriseInfoName }} </sv>
|
||||||
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
|
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
|
||||||
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
|
||||||
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
|
||||||
@ -85,50 +52,24 @@
|
|||||||
</nz-steps>
|
</nz-steps>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
|
||||||
|
|
||||||
<nz-card [nzBorderless]="true" class="mb0">
|
|
||||||
<div class="font-weight-blod text-md detail-title">
|
|
||||||
<a class="sign mr-xs"></a>
|
|
||||||
<span>基本信息</span>
|
|
||||||
</div>
|
|
||||||
<sv-container col="2">
|
|
||||||
<!-- <sv-title>货物信息</sv-title> -->
|
|
||||||
<ng-container *ngFor="let item of i?.goodsInfoVOList">
|
|
||||||
<sv label="货物名称">
|
|
||||||
{{ item.goodsTypeName }} - {{ item.goodsName }}
|
|
||||||
</sv>
|
|
||||||
<sv label="货物数量"> {{ item.weight }}吨,{{ item.volume }}方,{{ item.number }}件 </sv>
|
|
||||||
</ng-container>
|
|
||||||
</sv-container>
|
|
||||||
<sv-container class="mt-md">
|
|
||||||
<!-- <sv-title>承运信息</sv-title> -->
|
|
||||||
<sv label="司机姓名">
|
|
||||||
{{ i?.carrierInformationVO?.driverName }}
|
|
||||||
</sv>
|
|
||||||
<sv label="手机号">
|
|
||||||
{{ i?.carrierInformationVO?.driverTelephone }}
|
|
||||||
</sv>
|
|
||||||
<sv label="车牌号">
|
|
||||||
{{ i?.carrierInformationVO?.driverLicensePlate }}
|
|
||||||
</sv>
|
|
||||||
</sv-container>
|
|
||||||
<sv label="承运司机" *ngIf="i?.carrierInformationVO.driverTelephone !== i?.payeePhone">
|
|
||||||
{{i?.carrierInformationVO.driverName || '--'}} / {{i?.carrierInformationVO.driverTelephone || '--'}} /
|
|
||||||
{{i?.carrierInformationVO.driverLicensePlate || '--'}}
|
|
||||||
</sv>
|
|
||||||
<sv label="车型车长载重">
|
|
||||||
{{i?.driverCarModelLabel || '--'}} / {{(i?.driverCarLength || '--') +'米'}} / {{(i?.driverCarWeight ||
|
|
||||||
'--')+'吨'}}
|
|
||||||
</sv>
|
|
||||||
<div class="mt-md">
|
<div class="mt-md">
|
||||||
<h4 class="text-md">装货卸货信息
|
<!-- <h4 class="text-md">装货卸货信息
|
||||||
<span class="ml-sm text-sm">(
|
<span class="ml-sm text-sm">(
|
||||||
<label>{{ i?.loadingCount }}装</label>
|
<label>{{ i?.loadingCount }}装</label>
|
||||||
<label>{{ i?.unloadingCount }}卸</label>
|
<label>{{ i?.unloadingCount }}卸</label>
|
||||||
)
|
)
|
||||||
</span>
|
</span>
|
||||||
</h4>
|
</h4> -->
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign mr-xs"></a>
|
||||||
|
<span>装货卸货信息</span>
|
||||||
|
<span class="ml-sm text-sm">(
|
||||||
|
<label>{{ i?.loadingCount }}装</label>
|
||||||
|
<label>{{ i?.unloadingCount }}卸</label>
|
||||||
|
)
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<div nz-row [nzGutter]="24">
|
<div nz-row [nzGutter]="24">
|
||||||
<div nz-col [nzSpan]="12">
|
<div nz-col [nzSpan]="12">
|
||||||
<div class="handling-info p-md">
|
<div class="handling-info p-md">
|
||||||
@ -166,6 +107,42 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
|
<div class="font-weight-blod text-md detail-title">
|
||||||
|
<a class="sign mr-xs"></a>
|
||||||
|
<span>基本信息</span>
|
||||||
|
</div>
|
||||||
|
<sv-container col="2">
|
||||||
|
<!-- <sv-title>货物信息</sv-title> -->
|
||||||
|
<ng-container *ngFor="let item of i?.goodsInfoVOList">
|
||||||
|
<sv label="货物名称">
|
||||||
|
{{ item.goodsTypeName }} - {{ item.goodsName }}
|
||||||
|
</sv>
|
||||||
|
<sv label="货物数量"> {{ item.weight }}吨,{{ item.volume }}方,{{ item.number }}件 </sv>
|
||||||
|
<sv label="承运司机" *ngIf="i?.carrierInformationVO?.driverTelephone !== i?.payeePhone">
|
||||||
|
{{i?.carrierInformationVO?.driverName || '--'}} / {{i?.carrierInformationVO?.driverTelephone || '--'}} /
|
||||||
|
{{i?.carrierInformationVO?.driverLicensePlate || '--'}}
|
||||||
|
</sv>
|
||||||
|
<sv label="车型车长载重">
|
||||||
|
{{i?.driverCarModelLabel || '--'}} / {{(i?.driverCarLength || '--') +'米'}} / {{(i?.driverCarWeight ||
|
||||||
|
'--')+'吨'}}
|
||||||
|
</sv>
|
||||||
|
</ng-container>
|
||||||
|
</sv-container>
|
||||||
|
<!-- <sv-container class="mt-md">
|
||||||
|
<sv-title>承运信息</sv-title>
|
||||||
|
<sv label="司机姓名">
|
||||||
|
{{ i?.carrierInformationVO?.driverName }}
|
||||||
|
</sv>
|
||||||
|
<sv label="手机号">
|
||||||
|
{{ i?.carrierInformationVO?.driverTelephone }}
|
||||||
|
</sv>
|
||||||
|
<sv label="车牌号">
|
||||||
|
{{ i?.carrierInformationVO?.driverLicensePlate }}
|
||||||
|
</sv>
|
||||||
|
</sv-container> -->
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
<nz-card [nzBorderless]="true" class="mb0">
|
<nz-card [nzBorderless]="true" class="mb0">
|
||||||
<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>
|
||||||
@ -204,7 +181,7 @@
|
|||||||
</st>
|
</st>
|
||||||
<div class="freight-info-box mt-md" nz-row>
|
<div class="freight-info-box mt-md" nz-row>
|
||||||
<div nz-col nzSpan="24">
|
<div nz-col nzSpan="24">
|
||||||
<h3>
|
<h3 class="mb0">
|
||||||
<label>总计 :</label>
|
<label>总计 :</label>
|
||||||
<span class="text-error-dark text-xl">
|
<span class="text-error-dark text-xl">
|
||||||
{{ i?.totalAmount | currency }}
|
{{ i?.totalAmount | currency }}
|
||||||
@ -249,7 +226,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" [page]="{}"
|
<st #st [data]="service.$api_getOperationLogRecordsList" [columns]="logColumns" [page]="{}"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }">
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" [size]="'small'">
|
||||||
<ng-template st-row="operator" let-item>
|
<ng-template st-row="operator" let-item>
|
||||||
<div>
|
<div>
|
||||||
{{ item?.operator }} {{ item?.telephone ? '/' + item?.telephone : '' }}
|
{{ item?.operator }} {{ item?.telephone ? '/' + item?.telephone : '' }}
|
||||||
|
|||||||
@ -48,7 +48,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.handling-info {
|
.handling-info {
|
||||||
min-height: 176px;
|
min-height: 100px;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
|
|
||||||
.loading-row {
|
.loading-row {
|
||||||
@ -79,6 +79,7 @@
|
|||||||
|
|
||||||
.time-info {
|
.time-info {
|
||||||
margin-left: 56px;
|
margin-left: 56px;
|
||||||
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -115,18 +115,7 @@ export class SupplyManagementVehicleDetailComponent implements OnInit {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*再下一单
|
|
||||||
* @param record
|
|
||||||
*/
|
|
||||||
placeOrder(record: any) {
|
|
||||||
this.router.navigate(['./pbg/onecar-publish'], {
|
|
||||||
queryParams: {
|
|
||||||
id: record?.id,
|
|
||||||
type: 'add'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* 编辑外部货源号
|
* 编辑外部货源号
|
||||||
* @param item st当前行对象
|
* @param item st当前行对象
|
||||||
@ -168,7 +157,7 @@ export class SupplyManagementVehicleDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
nextOrder(item: any) {
|
nextOrder(item: any) {
|
||||||
this.router.navigate(['/supply-management/vehicle-amend', item.id], {
|
this.router.navigate(['/supply-management/vehicle-next', item.id], {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
sta: 2
|
sta: 2
|
||||||
}
|
}
|
||||||
|
|||||||
@ -324,7 +324,7 @@ export class SupplyManagementVehicleComponent extends BasicTableComponent implem
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
nextOrder(item: any) {
|
nextOrder(item: any) {
|
||||||
this.router.navigate(['/supply-management/vehicle-amend', item.id], {
|
this.router.navigate(['/supply-management/vehicle-next', item.id], {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
sta: 2
|
sta: 2
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-03 11:10:14
|
* @Date : 2021-12-03 11:10:14
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-10 14:39:00
|
* @LastEditTime : 2022-04-28 14:45:50
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\supply-management-routing.module.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\supply-management-routing.module.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -21,13 +21,76 @@ import { SupplyManagementReleasePublishComponent } from './components/release-pu
|
|||||||
import { SupplyManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component';
|
import { SupplyManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: 'index', component: SupplyManagementIndexComponent },
|
{
|
||||||
{ path: 'index/bulk-detail/:id', component: SupplyManagementBulkDetailComponent },
|
path: 'index',
|
||||||
{ path: 'index/vehicle-detail/:id', component: SupplyManagementVehicleDetailComponent },
|
component: SupplyManagementIndexComponent,
|
||||||
|
data: { guard: { ability: ['SUPPLY-INDEX-vehicleSearch', 'SUPPLY-INDEX-bulkSearch'] } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index/bulk-detail/:id',
|
||||||
|
component: SupplyManagementBulkDetailComponent,
|
||||||
|
data: {
|
||||||
|
guard: { ability: ['SUPPLY-BULK-DETAIL-cancelSupply', 'SUPPLY-BULK-DETAIL-updatePrice', 'SUPPLY-BULK-DETAIL-bulkAnotherOrder'] }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index/vehicle-detail/:id',
|
||||||
|
component: SupplyManagementVehicleDetailComponent,
|
||||||
|
data: {
|
||||||
|
guard: {
|
||||||
|
ability: [
|
||||||
|
'SUPPLY-VEHICLE-DETAIL-cancelSupply',
|
||||||
|
'SUPPLY-VEHICLE-DETAIL-changeSupply',
|
||||||
|
'SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder',
|
||||||
|
'SUPPLY-VEHICLE-DETAIL-vehicleAnew'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{ path: 'add-drivers', component: SupplyManagementAddDriversComponent },
|
{ path: 'add-drivers', component: SupplyManagementAddDriversComponent },
|
||||||
{ path: 'vehicle-amend/:id', component: SupplyManagementOnecarPublishComponent },
|
{
|
||||||
{ path: 'vehicle-release', component: SupplyManagementReleasePublishComponent },
|
path: 'vehicle-amend/:id',
|
||||||
{ path: 'bulk-release', component: SupplyManagementBulkReleasePublishComponent },
|
component: SupplyManagementOnecarPublishComponent,
|
||||||
|
data: {
|
||||||
|
guard: {
|
||||||
|
ability: ['SUPPLY-VEHICLE-AMEND-submitChange']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'vehicle-next/:id',
|
||||||
|
component: SupplyManagementOnecarPublishComponent,
|
||||||
|
data: {
|
||||||
|
guard: {
|
||||||
|
ability: [
|
||||||
|
'SUPPLY-VEHICLE-PLACEORDER-QRCode',
|
||||||
|
'SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate',
|
||||||
|
'SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'vehicle-release',
|
||||||
|
component: SupplyManagementReleasePublishComponent,
|
||||||
|
data: {
|
||||||
|
guard: { ability: ['SUPPLY-VEHICLE-RELEASE-bulkDesignate', 'SUPPLY-VEHICLE-RELEASE-bulkDriverOrder'] }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'bulk-release',
|
||||||
|
component: SupplyManagementBulkReleasePublishComponent,
|
||||||
|
data: {
|
||||||
|
guard: { ability: ['SUPPLY-BULK-RELEASE-consignBulkAssign', 'SUPPLY-BULK-RELEASE-consignBulk'] }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'bulk-next/:id',
|
||||||
|
component: SupplyManagementBulkPublishComponent,
|
||||||
|
data: {
|
||||||
|
guard: { ability: ['SUPPLY-BULK-PLACEORDER-vehicleAnotherOrder', 'SUPPLY-BULK-PLACEORDER-vehicleDesignate'] }
|
||||||
|
}
|
||||||
|
},
|
||||||
{ path: 'bulk-amend/:id', component: SupplyManagementBulkPublishComponent }
|
{ path: 'bulk-amend/:id', component: SupplyManagementBulkPublishComponent }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,8 @@
|
|||||||
更新时间: {{ tabItem.modifyTime }}
|
更新时间: {{ tabItem.modifyTime }}
|
||||||
<a style="margin-left: 8px" target="_blank" [queryParams]="{ type: tabItem.type }"
|
<a style="margin-left: 8px" target="_blank" [queryParams]="{ type: tabItem.type }"
|
||||||
[routerLink]="['/passport/agreement']">预览</a>
|
[routerLink]="['/passport/agreement']">预览</a>
|
||||||
<button nz-button nzType="link" (click)="update()">修改</button>
|
<button nz-button nzType="link" (click)="update()" acl
|
||||||
|
[acl-ability]="['SYSTEM-AGREEMENT-CONFIG-save']">修改</button>
|
||||||
</div>
|
</div>
|
||||||
<div [innerHTML]="tabItem.agreementContent | safehtml"></div>
|
<div [innerHTML]="tabItem.agreementContent | safehtml"></div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
<page-header-wrapper [title]="'车型车长配置'" [content]="content">
|
<page-header-wrapper [title]="'车型车长配置'" [content]="content">
|
||||||
<ng-template #content>
|
<ng-template #content>
|
||||||
<nz-tabset class="tabs-wrap">
|
<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>
|
</nz-tabset>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
@ -22,10 +26,10 @@
|
|||||||
<nz-card>
|
<nz-card>
|
||||||
<div class="d-flex justify-content-end mb-sm">
|
<div class="d-flex justify-content-end mb-sm">
|
||||||
<div>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
<st #st [data]="tabType === 3?service.$api_get_config_item_page:service.$api_get_dict_page" [columns]="columns"
|
<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"
|
[req]="{process: beforeReq }" [res]="{ process: afterRes }" [loading]="loading" [scroll]="{ y: '370px' }"></st>
|
||||||
[scroll]="{ y: '370px' }"></st>
|
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -1,5 +1,6 @@
|
|||||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';
|
import { ChangeDetectionStrategy, ChangeDetectorRef, 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 { ACLService } from '@delon/acl';
|
||||||
import { SFComponent, SFSchema } from '@delon/form';
|
import { SFComponent, SFSchema } from '@delon/form';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { SystemService } from '../../services/system.service';
|
import { SystemService } from '../../services/system.service';
|
||||||
@ -20,17 +21,20 @@ export class CartConfigComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
name: '车型配置',
|
name: '车型配置',
|
||||||
type: 1,
|
type: 1,
|
||||||
isActived: false
|
isActived: false,
|
||||||
|
isShow: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '车长配置',
|
name: '车长配置',
|
||||||
type: 2,
|
type: 2,
|
||||||
isActived: false
|
isActived: false,
|
||||||
|
isShow: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '禁限物品名单',
|
name: '禁限物品名单',
|
||||||
type: 3,
|
type: 3,
|
||||||
isActived: false
|
isActived: false,
|
||||||
|
isShow: true
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
tabType = 1;
|
tabType = 1;
|
||||||
@ -102,10 +106,12 @@ export class CartConfigComponent implements OnInit {
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '编辑',
|
text: '编辑',
|
||||||
|
acl: { ability: ['SYSTEM-CART-CONFIG-edit'] },
|
||||||
click: item => this.configAction(item)
|
click: item => this.configAction(item)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '删除',
|
text: '删除',
|
||||||
|
acl: { ability: ['SYSTEM-CART-CONFIG-delete'] },
|
||||||
click: item => this.deleteAction(item)
|
click: item => this.deleteAction(item)
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -113,7 +119,35 @@ export class CartConfigComponent implements OnInit {
|
|||||||
];
|
];
|
||||||
|
|
||||||
loading = true;
|
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 {}
|
ngOnInit(): void {}
|
||||||
|
|
||||||
|
|||||||
@ -45,9 +45,9 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
|
|||||||
auditTime!: any; // 审核时间
|
auditTime!: any; // 审核时间
|
||||||
silenceClient!: number; // 沉默客户
|
silenceClient!: number; // 沉默客户
|
||||||
loseClient!: number; // 流失客户
|
loseClient!: number; // 流失客户
|
||||||
everyDay: boolean = false;
|
everyDay: any;
|
||||||
auditTimeStatus: boolean = false;
|
auditTimeStatus: boolean = false;
|
||||||
MonthDay: boolean = false;
|
MonthDay: any;
|
||||||
time: Date | null = null;
|
time: Date | null = null;
|
||||||
defaultOpenValue = new Date(0, 0, 0, 0, 0, 0);
|
defaultOpenValue = new Date(0, 0, 0, 0, 0, 0);
|
||||||
tabs = [
|
tabs = [
|
||||||
@ -123,13 +123,16 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
|
|||||||
this.everyDayData= changes.configList.currentValue[0]?.remark.everyDayData // 流失客户
|
this.everyDayData= changes.configList.currentValue[0]?.remark.everyDayData // 流失客户
|
||||||
this.MonthDayData= changes.configList.currentValue[0]?.remark.MonthDayData // 流失客户
|
this.MonthDayData= changes.configList.currentValue[0]?.remark.MonthDayData // 流失客户
|
||||||
if (this.auditTime == '2') {
|
if (this.auditTime == '2') {
|
||||||
this.auditTimeStatus = true;
|
|
||||||
// 每天
|
// 每天
|
||||||
|
this.auditTimeStatus = true;
|
||||||
if(this.everyDayData){
|
if(this.everyDayData){
|
||||||
this.everyDayData = this.everyDayData
|
this.everyDayData = this.everyDayData
|
||||||
} else if(this.MonthDay) {
|
this.everyDay = 1
|
||||||
|
} else if(this.MonthDayData) {
|
||||||
// 每周
|
// 每周
|
||||||
|
this.MonthDay = 2
|
||||||
this.MonthDayData = this.MonthDayData
|
this.MonthDayData = this.MonthDayData
|
||||||
|
this.TimeStatus =false
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.auditTimeStatus = false;
|
this.auditTimeStatus = false;
|
||||||
@ -162,23 +165,47 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
addMonth() {
|
addMonth() {
|
||||||
this.MonthDayData.push({
|
console.log(this.MonthDayData);
|
||||||
month: [
|
if(this.MonthDayData) {
|
||||||
{ label: '周一', value: '周一' },
|
this.MonthDayData.push({
|
||||||
{ label: '周二', value: '周二' },
|
month: [
|
||||||
{ label: '周三', value: '周三' },
|
{ label: '周一', value: '周一' },
|
||||||
{ label: '周四', value: '周四' },
|
{ label: '周二', value: '周二' },
|
||||||
{ label: '周五', value: '周五' },
|
{ label: '周三', value: '周三' },
|
||||||
{ label: '周六', value: '周六' },
|
{ label: '周四', value: '周四' },
|
||||||
{ label: '周日', value: '周日' }
|
{ label: '周五', value: '周五' },
|
||||||
],
|
{ label: '周六', value: '周六' },
|
||||||
Times: [
|
{ label: '周日', value: '周日' }
|
||||||
|
],
|
||||||
|
Times: [
|
||||||
|
{
|
||||||
|
startTime: '',
|
||||||
|
endTime: ''
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.MonthDayData = [
|
||||||
{
|
{
|
||||||
startTime: '',
|
month: [
|
||||||
endTime: ''
|
{ label: '周一', value: '周一' },
|
||||||
|
{ label: '周二', value: '周二' },
|
||||||
|
{ label: '周三', value: '周三' },
|
||||||
|
{ label: '周四', value: '周四' },
|
||||||
|
{ label: '周五', value: '周五' },
|
||||||
|
{ label: '周六', value: '周六' },
|
||||||
|
{ label: '周日', value: '周日' }
|
||||||
|
],
|
||||||
|
Times: [
|
||||||
|
{
|
||||||
|
startTime: [],
|
||||||
|
endTime: []
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
];
|
||||||
});
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
delMonth(value: number, index: number) {
|
delMonth(value: number, index: number) {
|
||||||
this.MonthDayData[value].Times.splice(index, 1);
|
this.MonthDayData[value].Times.splice(index, 1);
|
||||||
@ -356,6 +383,9 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
|
|||||||
};
|
};
|
||||||
if(this.auditTime == '2') {
|
if(this.auditTime == '2') {
|
||||||
// 每天
|
// 每天
|
||||||
|
console.log(this.everyDay);
|
||||||
|
console.log(this.MonthDay);
|
||||||
|
|
||||||
if(this.everyDay){
|
if(this.everyDay){
|
||||||
params.everyDayData = this.everyDayData
|
params.everyDayData = this.everyDayData
|
||||||
} else if(this.MonthDay) {
|
} else if(this.MonthDay) {
|
||||||
|
|||||||
@ -14,10 +14,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<nz-dropdown-menu #menu="nzDropdownMenu">
|
<nz-dropdown-menu #menu="nzDropdownMenu">
|
||||||
<ul nz-menu nzSelectable>
|
<ul nz-menu nzSelectable>
|
||||||
<li nz-menu-item (click)="typeAction(item)">编辑</li>
|
<li nz-menu-item (click)="typeAction(item)" acl
|
||||||
<li nz-menu-item (click)="sortType(item,3)" *ngIf="i!==0">上移</li>
|
[acl-ability]="['SYSTEM-GOODS-NAME-CONFIG-edit']">编辑</li>
|
||||||
<li nz-menu-item (click)="sortType(item,4)" *ngIf="i!==typeList.length-1">下移</li>
|
<li nz-menu-item (click)="sortType(item,3)" acl
|
||||||
<li nz-menu-item nzDanger (click)="removeType(item)">删除</li>
|
[acl-ability]="['SYSTEM-GOODS-NAME-CONFIG-sort']" *ngIf="i!==0">上移</li>
|
||||||
|
<li nz-menu-item (click)="sortType(item,4)" acl
|
||||||
|
[acl-ability]="['SYSTEM-GOODS-NAME-CONFIG-sort']" *ngIf="i!==typeList.length-1">下移</li>
|
||||||
|
<li nz-menu-item nzDanger acl [acl-ability]="['SYSTEM-GOODS-NAME-CONFIG-delete']"
|
||||||
|
(click)="removeType(item)">删除</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nz-dropdown-menu>
|
</nz-dropdown-menu>
|
||||||
</nz-list-item>
|
</nz-list-item>
|
||||||
@ -25,7 +29,8 @@
|
|||||||
<ng-template #listHeader>
|
<ng-template #listHeader>
|
||||||
<div class="d-flex justify-content-between align-items-center">
|
<div class="d-flex justify-content-between align-items-center">
|
||||||
<label style="font-weight: 700;font-size: 16px;">货物类型</label>
|
<label style="font-weight: 700;font-size: 16px;">货物类型</label>
|
||||||
<button nz-button nzType="primary" (click)="typeAction()"><i nz-icon nzType="plus"
|
<button nz-button nzType="primary" (click)="typeAction()" acl
|
||||||
|
[acl-ability]="['SYSTEM-GOODS-NAME-CONFIG-add']"><i nz-icon nzType="plus"
|
||||||
nzTheme="outline"></i>新增</button>
|
nzTheme="outline"></i>新增</button>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -39,7 +44,8 @@
|
|||||||
</nz-input-group>
|
</nz-input-group>
|
||||||
<ng-template #suffixTemplateInfo><i nz-icon nzType="search" nzTheme="outline" (click)="st.load(1)"></i>
|
<ng-template #suffixTemplateInfo><i nz-icon nzType="search" nzTheme="outline" (click)="st.load(1)"></i>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<button nz-button nzType="primary" (click)="typeItemAction()"><i nz-icon nzType="plus"
|
<button nz-button nzType="primary" (click)="typeItemAction()" acl
|
||||||
|
[acl-ability]="['SYSTEM-GOODS-NAME-CONFIG-add']"><i nz-icon nzType="plus"
|
||||||
nzTheme="outline"></i>新增</button>
|
nzTheme="outline"></i>新增</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -28,18 +28,22 @@ export class GoodsNameConfigComponent implements OnInit {
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '编辑',
|
text: '编辑',
|
||||||
|
acl: { ability: ['SYSTEM-GOODS-NAME-CONFIG-edit'] },
|
||||||
click: item => this.typeItemAction(item)
|
click: item => this.typeItemAction(item)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '上移',
|
text: '上移',
|
||||||
|
acl: { ability: ['SYSTEM-GOODS-NAME-CONFIG-sort'] },
|
||||||
click: item => this.sortTypeItem(item, 3)
|
click: item => this.sortTypeItem(item, 3)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '下移',
|
text: '下移',
|
||||||
|
acl: { ability: ['SYSTEM-GOODS-NAME-CONFIG-sort'] },
|
||||||
click: item => this.sortTypeItem(item, 4)
|
click: item => this.sortTypeItem(item, 4)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '删除',
|
text: '删除',
|
||||||
|
acl: { ability: ['SYSTEM-GOODS-NAME-CONFIG-delete'] },
|
||||||
click: item => this.removeTypeItem(item)
|
click: item => this.removeTypeItem(item)
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
<nz-card class="content-box">
|
<nz-card class="content-box">
|
||||||
|
|
||||||
<div class="d-flex align-items-center mb-sm" style="justify-content: flex-end;">
|
<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>
|
</div>
|
||||||
|
|
||||||
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
<nz-table #expandTable [nzData]="listOfMapData" nzTableLayout="fixed" nzBordered nzSize="small"
|
||||||
@ -33,18 +34,18 @@
|
|||||||
</td>
|
</td>
|
||||||
<td nzAlign="center" nzWidth="250px">
|
<td nzAlign="center" nzWidth="250px">
|
||||||
<ng-container *ngIf="item.roleCode !== 'Administrator'">
|
<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>
|
<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>
|
<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>
|
<br>
|
||||||
<nz-divider nzType="vertical"></nz-divider>
|
<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>
|
<nz-divider nzType="vertical"></nz-divider>
|
||||||
<a>配置数据权限</a>
|
<a acl [acl-ability]="['SYSTEM-ROLE-data']">配置数据权限</a>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<div class="filter-wrap">
|
<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>
|
<button nz-button nzType="primary" (click)="open()"><i nz-icon nzType="plus" nzTheme="outline"></i>筛选</button>
|
||||||
</div>
|
</div>
|
||||||
<st #st [data]="this.service.$api_smsTemplate_page " [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="this.service.$api_smsTemplate_page " [columns]="columns" [req]="{ process: beforeReq }"
|
||||||
@ -24,9 +24,10 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</nz-drawer>
|
</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>
|
<ng-container *nzModalContent>
|
||||||
<sf #sfEdit [formData]="tempData" [schema]="editSchema" [ui]="{ '*': { spanLabelFixed: 90,grid: { span: 24 } }}" [compact]="true"
|
<sf #sfEdit [formData]="tempData" [schema]="editSchema" [ui]="{ '*': { spanLabelFixed: 90,grid: { span: 24 } }}"
|
||||||
[button]="'none'"></sf>
|
[compact]="true" [button]="'none'"></sf>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</nz-modal>
|
</nz-modal>
|
||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
import { AfterViewInit, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';
|
import { AfterViewInit, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st';
|
import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st';
|
||||||
@ -23,7 +22,7 @@ export class SmsTemplateComponent implements OnInit {
|
|||||||
isVisible = false;
|
isVisible = false;
|
||||||
tempData = {};
|
tempData = {};
|
||||||
isEdit = false;
|
isEdit = false;
|
||||||
|
|
||||||
searchSchema: SFSchema = {
|
searchSchema: SFSchema = {
|
||||||
properties: {
|
properties: {
|
||||||
templateName: {
|
templateName: {
|
||||||
@ -50,27 +49,27 @@ export class SmsTemplateComponent implements OnInit {
|
|||||||
templateName: {
|
templateName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '模板名称',
|
title: '模板名称',
|
||||||
ui: { placeholder: '请输入模板名称', errors: { require: '必填项'} }
|
ui: { placeholder: '请输入模板名称', errors: { require: '必填项' } }
|
||||||
},
|
},
|
||||||
templateCode: {
|
templateCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '模板编码',
|
title: '模板编码',
|
||||||
readOnly: this.isEdit,
|
readOnly: this.isEdit,
|
||||||
ui: { placeholder: '请输入模板编码', errors: { require: '必填项'} }
|
ui: { placeholder: '请输入模板编码', errors: { require: '必填项' } }
|
||||||
},
|
},
|
||||||
templateContent: {
|
templateContent: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '模板内容',
|
title: '模板内容',
|
||||||
ui: { placeholder: '请输入模板内容', errors: { require: '必填项'} }
|
ui: { placeholder: '请输入模板内容', errors: { require: '必填项' } }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
required: ['templateName','templateCode','templateContent']
|
required: ['templateName', 'templateCode', 'templateContent']
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
columns: STColumn[] = [
|
columns: STColumn[] = [
|
||||||
{ title: '模板名称', className: 'text-center', index: 'templateName' },
|
{ title: '模板名称', className: 'text-center', width: '200px', index: 'templateName' },
|
||||||
{ title: '模板编码', className: 'text-center', index: 'templateCode' },
|
{ title: '模板编码', className: 'text-center', width: '140px', index: 'templateCode' },
|
||||||
{ title: '模板内容', className: 'text-center', index: 'templateContent' },
|
{ title: '模板内容', className: 'text-center', index: 'templateContent' },
|
||||||
// {
|
// {
|
||||||
// title: '创建人', className: 'text-center', index: 'content',
|
// title: '创建人', className: 'text-center', index: 'content',
|
||||||
@ -79,21 +78,23 @@ export class SmsTemplateComponent implements OnInit {
|
|||||||
title: '更新时间',
|
title: '更新时间',
|
||||||
index: 'modifyTime',
|
index: 'modifyTime',
|
||||||
type: 'date',
|
type: 'date',
|
||||||
|
width: '160px',
|
||||||
className: 'text-center'
|
className: 'text-center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
|
width: '90px',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '编辑',
|
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 {
|
ngOnInit(): void {
|
||||||
this.initSF();
|
this.initSF();
|
||||||
@ -144,7 +145,7 @@ export class SmsTemplateComponent implements OnInit {
|
|||||||
templateCode,
|
templateCode,
|
||||||
templateName,
|
templateName,
|
||||||
templateContent
|
templateContent
|
||||||
}
|
};
|
||||||
|
|
||||||
this.service.request(this.service.$api_smsTemplate_edit, params).subscribe(res => {
|
this.service.request(this.service.$api_smsTemplate_edit, params).subscribe(res => {
|
||||||
// console.log(res);
|
// console.log(res);
|
||||||
@ -152,8 +153,7 @@ export class SmsTemplateComponent implements OnInit {
|
|||||||
this.isVisible = false;
|
this.isVisible = false;
|
||||||
this.st.reload();
|
this.st.reload();
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
handleCancel(): void {
|
handleCancel(): void {
|
||||||
|
|||||||
@ -68,20 +68,20 @@ export class StaffManagementComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
text: '冻结',
|
text: '冻结',
|
||||||
iif: item =>
|
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),
|
click: item => this.action(item, 1),
|
||||||
acl: { ability: ['SYSTEM-STAFF-lock'] }
|
acl: { ability: ['SYSTEM-STAFF-lock'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '超管转授',
|
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),
|
click: item => this.transpowerAction(item),
|
||||||
acl: { ability: ['SYSTEM-STAFF-shiftAdmin'] }
|
acl: { ability: ['SYSTEM-STAFF-shiftAdmin'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '删除',
|
text: '删除',
|
||||||
iif: item =>
|
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),
|
click: item => this.action(item, 3),
|
||||||
acl: { ability: ['SYSTEM-STAFF-delete'] }
|
acl: { ability: ['SYSTEM-STAFF-delete'] }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,26 +29,34 @@ import { SmsTemplateComponent } from './components/sms-template/sms-template.com
|
|||||||
import { OrganizationManagementComponent } from './components/organization-management/organization-management.component';
|
import { OrganizationManagementComponent } from './components/organization-management/organization-management.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: 'staff-management', component: StaffManagementComponent },
|
{ path: 'staff-management', component: StaffManagementComponent, data: { guard: { ability: ['SYSTEM-STAFF-list'] } } },
|
||||||
{ path: 'role-management/user/:type', component: RoleManagementComponent },
|
{ path: 'role-management/user/:type', component: RoleManagementComponent },
|
||||||
{ path: 'role-management/freight/:type', component: RoleManagementComponent },
|
{ path: 'role-management/freight/:type', component: RoleManagementComponent },
|
||||||
{ path: 'organization-management', component: OrganizationManagementComponent },
|
{ path: 'organization-management', component: OrganizationManagementComponent, data: { guard: { ability: ['SYSTEM-ROLE-list'] } } },
|
||||||
{ path: 'basic-setting', component: BasicSettingComponent },
|
{ path: 'basic-setting', component: BasicSettingComponent, data: { guard: { ability: ['SYSTEM-BASIC_SETTING-list'] } } },
|
||||||
{ path: 'note-management', component: NoTeManagementComponent },
|
{ path: 'note-management', component: NoTeManagementComponent },
|
||||||
{ path: 'basic-config', component: BasicConfigComponent },
|
{ path: 'basic-config', component: BasicConfigComponent },
|
||||||
{ path: 'audit-reason-config', component: AuditReasonConfigComponent },
|
{ path: 'audit-reason-config', component: AuditReasonConfigComponent },
|
||||||
{ path: 'cart-config', component: CartConfigComponent },
|
{
|
||||||
{ path: 'agreement-config', component: AgreementConfigComponentsBaseComponent },
|
path: 'cart-config',
|
||||||
|
component: CartConfigComponent,
|
||||||
|
data: { guard: { ability: ['SYSTEM-CART-CONFIG-modeList', 'SYSTEM-CART-CONFIG-cartLength', 'SYSTEM-CART-CONFIG-goodsList'] } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'agreement-config',
|
||||||
|
component: AgreementConfigComponentsBaseComponent,
|
||||||
|
data: { guard: { ability: ['SYSTEM-AGREEMENT-CONFIG-list'] } }
|
||||||
|
},
|
||||||
{ path: 'system-config', component: SystemConfigComponent },
|
{ path: 'system-config', component: SystemConfigComponent },
|
||||||
{ path: 'goods-name-config', component: GoodsNameConfigComponent },
|
{ path: 'goods-name-config', component: GoodsNameConfigComponent, data: { guard: { ability: ['SYSTEM-GOODS-NAME-CONFIG-list'] } } },
|
||||||
{ path: 'crm-management', component: CrmManagementComponent },
|
{ path: 'crm-management', component: CrmManagementComponent, data: { guard: { ability: ['SYSTEM-CRM-list'] } } },
|
||||||
{ path: 'network-freight', component: NetworkFreightComponent },
|
{ path: 'network-freight', component: NetworkFreightComponent, data: { guard: { ability: ['SYSTEM-NETWORK-FREIGHT-list'] } } },
|
||||||
{ path: 'network-freight/new/:id', component: NetworkFreightNewComponent },
|
{ path: 'network-freight/new/:id', component: NetworkFreightNewComponent },
|
||||||
{ path: 'close-account', component: CloseAccountComponent },
|
{ path: 'close-account', component: CloseAccountComponent },
|
||||||
// { path: 'btn-management', component: BtnManagementComponent },
|
// { path: 'btn-management', component: BtnManagementComponent },
|
||||||
{ path: 'announcement-message', component: AnnouncementMessageComponent },
|
{ path: 'announcement-message', component: AnnouncementMessageComponent },
|
||||||
{ path: 'insurance-set', component: InsuranceSetComponent },
|
{ path: 'insurance-set', component: InsuranceSetComponent },
|
||||||
{ path: 'sms-template', component: SmsTemplateComponent}
|
{ path: 'sms-template', component: SmsTemplateComponent, data: { guard: { ability: ['SMS_TEMPLATE-search'] } } }
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
<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 nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()" >查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</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()">
|
<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>
|
||||||
@ -32,7 +32,8 @@
|
|||||||
<span *ngIf="item?.uploadSts == '1'">待上传</span>
|
<span *ngIf="item?.uploadSts == '1'">待上传</span>
|
||||||
<span *ngIf="item?.uploadSts == '3'">已上传</span>
|
<span *ngIf="item?.uploadSts == '3'">已上传</span>
|
||||||
<span *ngIf="item?.uploadSts == '2'">上传中</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>
|
||||||
<ng-template st-row="invoiceType" let-item let-index="index">
|
<ng-template st-row="invoiceType" let-item let-index="index">
|
||||||
<span>增值税专用发票</span>
|
<span>增值税专用发票</span>
|
||||||
@ -53,6 +54,6 @@
|
|||||||
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
|
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
|
||||||
</div>
|
</div>
|
||||||
<button *ngIf="selectedIndex === '1' || selectedIndex === '4'" nz-button nzType="primary" (click)="upload()">上传</button>
|
<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>
|
</div>
|
||||||
</ng-template>
|
</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 记录实例
|
* @param record 记录实例
|
||||||
@ -333,28 +314,13 @@ export class TaxManagementInvoiceReportingComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
selectChange(item: any) {
|
selectChange(item: any) {
|
||||||
console.log(item);
|
|
||||||
|
|
||||||
this.selectedIndex = item?.value || '';
|
this.selectedIndex = item?.value || '';
|
||||||
console.log(this.selectedIndex);
|
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.st.load();
|
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 => {
|
this.selectedRows.forEach(item => {
|
||||||
params.push(item.id);
|
params.push(item.id);
|
||||||
});
|
});
|
||||||
|
return; //TODO 接口未提供
|
||||||
this.service.request(this.service.$api_get_uploadingTaxOrder, params).subscribe((res: any) => {
|
this.service.request(this.service.$api_get_uploadingTaxOrder, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('上传成功');
|
this.service.msgSrv.success('上传成功');
|
||||||
|
|||||||
@ -11,9 +11,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
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)" acl [acl-ability]="['TICKET-BILLING-ORDER-search']">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</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()">
|
<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>
|
||||||
|
|||||||
@ -290,11 +290,11 @@ export class InvoiceDetailComponent implements OnInit {
|
|||||||
{ title: '数量', render: 'vatqty', width: 140, className: 'text-right' },
|
{ title: '数量', render: 'vatqty', width: 140, className: 'text-right' },
|
||||||
{
|
{
|
||||||
title: '金额',
|
title: '金额',
|
||||||
index: 'vattax',
|
index: 'vatmoney',
|
||||||
width: 140,
|
width: 140,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatmoney }) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '税率',
|
title: '税率',
|
||||||
@ -305,11 +305,11 @@ export class InvoiceDetailComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '税额',
|
title: '税额',
|
||||||
index: 'vatnotax',
|
index: 'vattax',
|
||||||
width: 140,
|
width: 140,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) }
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-12-23 16:50:17
|
* @Date: 2021-12-23 16:50:17
|
||||||
* @LastEditTime : 2022-04-21 13:57:43
|
* @LastEditTime : 2022-04-28 13:54:14
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\requested-invoice-modal\\requested-invoice-modal.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\requested-invoice-modal\\requested-invoice-modal.component.ts
|
||||||
@ -88,7 +88,7 @@ export class RequestedInvoiceModalComponent {
|
|||||||
{ title: '订单号', index: 'billHCode', width: 150 },
|
{ title: '订单号', index: 'billHCode', width: 150 },
|
||||||
{ title: '订单完成日期', index: 'billfinTime', type: 'date', width: 150 },
|
{ title: '订单完成日期', index: 'billfinTime', type: 'date', width: 150 },
|
||||||
{ title: '所属项目', index: 'projectIdName', width: 250 },
|
{ title: '所属项目', index: 'projectIdName', width: 250 },
|
||||||
{ title: '订单类型', index: 'billTypeName', width: 90 },
|
{ title: '订单类型', index: 'billTypeLabel', width: 90 },
|
||||||
{ title: '装货地', index: 'loadingfrom', width: 250 },
|
{ title: '装货地', index: 'loadingfrom', width: 250 },
|
||||||
{ title: '卸货地', index: 'loadingto', width: 250 },
|
{ title: '卸货地', index: 'loadingto', width: 250 },
|
||||||
{ title: '货物信息', index: 'goodsinfo', width: 170 },
|
{ title: '货物信息', index: 'goodsinfo', width: 170 },
|
||||||
|
|||||||
@ -16,8 +16,8 @@
|
|||||||
<p style="margin-bottom: 0;word-break:break-all">{{ detailData?.enterpriseName }}</p>
|
<p style="margin-bottom: 0;word-break:break-all">{{ detailData?.enterpriseName }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
|
||||||
<nz-badge nzStatus="success" nzText="正常" *ngIf="detailData?.stateLocked === 0"></nz-badge>
|
<nz-badge nzStatus="success" nzText="正常" *ngIf="!detailData?.stateLocked"></nz-badge>
|
||||||
<nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.stateLocked === 1"></nz-badge>
|
<nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.stateLocked"></nz-badge>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
@ -48,30 +48,30 @@
|
|||||||
保存
|
保存
|
||||||
</button>
|
</button>
|
||||||
<button [disabled]="false" nz-button nzDanger (click)="auditPass(true)"
|
<button [disabled]="false" nz-button nzDanger (click)="auditPass(true)"
|
||||||
*ngIf="detailData?.approvalStatus===10" acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']">
|
*ngIf="detailData?.approvalStatus===10" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']">
|
||||||
通过
|
通过
|
||||||
</button>
|
</button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #editButton>
|
<ng-template #editButton>
|
||||||
<ng-container *ngIf="detailData?.approvalStatus===10">
|
<ng-container *ngIf="detailData?.approvalStatus===10">
|
||||||
<button [disabled]="false" nz-button nzDanger (click)="auditPass(false)" acl
|
<button [disabled]="false" nz-button nzDanger (click)="auditPass(false)" acl
|
||||||
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']">
|
[acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']">
|
||||||
通过
|
通过
|
||||||
</button>
|
</button>
|
||||||
<button [disabled]="false" nz-button nzDanger (click)="auditNo()" acl
|
<button [disabled]="false" nz-button nzDanger (click)="auditNo()" acl
|
||||||
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']">
|
[acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']">
|
||||||
驳回
|
驳回
|
||||||
</button>
|
</button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngIf="detailData?.approvalStatus!=10">
|
<ng-container *ngIf="detailData?.approvalStatus!=10">
|
||||||
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="enable"
|
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="enable"
|
||||||
(nzOnConfirm)="freezeOrResume(0)" nzPopconfirmPlacement="bottomRight" *ngIf="detailData?.stateLocked"
|
(nzOnConfirm)="freezeOrResume(0)" nzPopconfirmPlacement="bottomRight" *ngIf="detailData?.stateLocked"
|
||||||
acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']">
|
acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-lock']">
|
||||||
启用
|
启用
|
||||||
</button>
|
</button>
|
||||||
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen"
|
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen"
|
||||||
(nzOnConfirm)="freezeOrResume(1)" nzPopconfirmPlacement="bottomRight" *ngIf="!detailData?.stateLocked"
|
(nzOnConfirm)="freezeOrResume(1)" nzPopconfirmPlacement="bottomRight" *ngIf="!detailData?.stateLocked"
|
||||||
acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']">
|
acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-lock']">
|
||||||
冻结
|
冻结
|
||||||
</button>
|
</button>
|
||||||
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="Payfrozen"
|
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="Payfrozen"
|
||||||
@ -84,7 +84,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<button [disabled]="false" nz-button nzDanger (click)="ratify()" acl
|
<button [disabled]="false" nz-button nzDanger (click)="ratify()" acl
|
||||||
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-save']">
|
[acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-save']">
|
||||||
修改
|
修改
|
||||||
</button>
|
</button>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -112,19 +112,23 @@
|
|||||||
<!-- 图片上传 -->
|
<!-- 图片上传 -->
|
||||||
<ng-container *ngSwitchCase="12">
|
<ng-container *ngSwitchCase="12">
|
||||||
<div>
|
<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"
|
[nzName]="'multipartFile'" nzName="avatar" nzListType="picture-card"
|
||||||
[nzShowUploadList]="false" (nzChange)="uploadChange($event,item)">
|
[nzShowUploadList]="{showPreviewIcon:true,showRemoveIcon:true}"
|
||||||
<ng-container *ngIf="!item.itemValue">
|
[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
|
<i class="upload-icon" nz-icon
|
||||||
[nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
[nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
||||||
<div class="ant-upload-text">上传</div>
|
<div class="ant-upload-text">上传</div>
|
||||||
</ng-container>
|
</div>
|
||||||
<div style="width: 102px;height: 102px;display: flex;align-items: center;justify-content: center;"
|
<!-- <div style="width: 102px;height: 102px;display: flex;align-items: center;justify-content: center;"
|
||||||
*ngIf="item.itemValue" (click)="$event.cancelBubble = true">
|
*ngIf="item.itemValue" (click)="$event.cancelBubble = true">
|
||||||
<img nz-image [nzSrc]="item.itemValue"
|
<img nz-image [nzSrc]="item.itemValue"
|
||||||
style="max-width: 102px;max-height: 102px;" />
|
style="max-width: 102px;max-height: 102px;" />
|
||||||
</div>
|
</div> -->
|
||||||
</nz-upload>
|
</nz-upload>
|
||||||
<p>支持
|
<p>支持
|
||||||
<ng-container *ngFor="let item of item.remark?.format">
|
<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) {
|
showImg(url: any) {
|
||||||
this.nzImageService.preview([{ src: url }]);
|
this.nzImageService.preview([{ src: url }]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,3 +24,7 @@
|
|||||||
.ant-btn {
|
.ant-btn {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ant-card-body {
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user