Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -34,7 +34,6 @@
|
|||||||
],
|
],
|
||||||
"styles": [
|
"styles": [
|
||||||
"node_modules/perfect-scrollbar/css/perfect-scrollbar.css",
|
"node_modules/perfect-scrollbar/css/perfect-scrollbar.css",
|
||||||
"node_modules/quill/dist/quill.snow.css",
|
|
||||||
"src/styles.less",
|
"src/styles.less",
|
||||||
{
|
{
|
||||||
"input": "src/styles/default.less",
|
"input": "src/styles/default.less",
|
||||||
@ -49,7 +48,6 @@
|
|||||||
],
|
],
|
||||||
|
|
||||||
"scripts": [
|
"scripts": [
|
||||||
"node_modules/quill/dist/quill.min.js",
|
|
||||||
"node_modules/perfect-scrollbar/dist/perfect-scrollbar.js",
|
"node_modules/perfect-scrollbar/dist/perfect-scrollbar.js",
|
||||||
"node_modules/qrious/dist/qrious.min.js"
|
"node_modules/qrious/dist/qrious.min.js"
|
||||||
],
|
],
|
||||||
@ -139,7 +137,6 @@
|
|||||||
"karmaConfig": "karma.conf.js",
|
"karmaConfig": "karma.conf.js",
|
||||||
"tsConfig": "tsconfig.spec.json",
|
"tsConfig": "tsconfig.spec.json",
|
||||||
"scripts": [
|
"scripts": [
|
||||||
"node_modules/quill/dist/quill.min.js",
|
|
||||||
"node_modules/perfect-scrollbar/dist/perfect-scrollbar.js"
|
"node_modules/perfect-scrollbar/dist/perfect-scrollbar.js"
|
||||||
],
|
],
|
||||||
"styles": [],
|
"styles": [],
|
||||||
|
|||||||
4624
package-lock.json
generated
4624
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -67,8 +67,6 @@
|
|||||||
"ngx-trend": "^7.0.0",
|
"ngx-trend": "^7.0.0",
|
||||||
"perfect-scrollbar": "^1.5.2",
|
"perfect-scrollbar": "^1.5.2",
|
||||||
"qrious": "^4.0.2",
|
"qrious": "^4.0.2",
|
||||||
"quill": "^1.3.7",
|
|
||||||
"quill-image-resize-module": "^3.0.0",
|
|
||||||
"rxjs": "~6.6.0",
|
"rxjs": "~6.6.0",
|
||||||
"screenfull": "^5.1.0",
|
"screenfull": "^5.1.0",
|
||||||
"tslib": "^2.3.0",
|
"tslib": "^2.3.0",
|
||||||
|
|||||||
@ -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-05-09 11:25:41
|
* @LastEditTime : 2022-05-13 09:36:19
|
||||||
* @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.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,23 +1,19 @@
|
|||||||
/* eslint-disable import/order */
|
/* eslint-disable import/order */
|
||||||
/* eslint-disable import/no-duplicates */
|
/* eslint-disable import/no-duplicates */
|
||||||
import { HttpClientModule } from '@angular/common/http';
|
import { APP_INITIALIZER, DEFAULT_CURRENCY_CODE, NgModule, Type } from '@angular/core';
|
||||||
import { default as ngLang } from '@angular/common/locales/zh';
|
|
||||||
import { APP_INITIALIZER, DEFAULT_CURRENCY_CODE, LOCALE_ID, NgModule, Type } from '@angular/core';
|
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||||
import { SimpleInterceptor } from '@delon/auth';
|
import { SimpleInterceptor } from '@delon/auth';
|
||||||
import { NzNotificationModule } from 'ng-zorro-antd/notification';
|
|
||||||
import zh from '@angular/common/locales/zh';
|
import zh from '@angular/common/locales/zh';
|
||||||
registerLocaleData(zh);
|
registerLocaleData(zh);
|
||||||
// #region global third module
|
// #region global third module
|
||||||
|
|
||||||
import { BidiModule } from '@angular/cdk/bidi';
|
const GLOBAL_THIRD_MODULES: Array<Type<any>> = [];
|
||||||
const GLOBAL_THIRD_MODULES: Array<Type<any>> = [BidiModule];
|
|
||||||
|
|
||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
// #region Http Interceptors
|
// #region Http Interceptors
|
||||||
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
||||||
|
|
||||||
import { BusinessInterceptor, DefaultInterceptor } from '@core';
|
import { BusinessInterceptor, DefaultInterceptor } from '@core';
|
||||||
|
|
||||||
@ -42,38 +38,20 @@ const APPINIT_PROVIDES = [
|
|||||||
multi: true
|
multi: true
|
||||||
},
|
},
|
||||||
{ provide: DEFAULT_CURRENCY_CODE, useValue: '¥' },
|
{ provide: DEFAULT_CURRENCY_CODE, useValue: '¥' },
|
||||||
{ provide: RouteReuseStrategy, useClass: ReuseTabStrategy, deps: [ReuseTabService] },
|
{ provide: RouteReuseStrategy, useClass: ReuseTabStrategy, deps: [ReuseTabService] }
|
||||||
AuthGuard
|
|
||||||
];
|
];
|
||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
import { CoreModule } from './core/core.module';
|
import { CoreModule } from './core/core.module';
|
||||||
import { GlobalConfigModule } from './global-config.module';
|
|
||||||
import { LayoutModule } from './layout/layout.module';
|
|
||||||
import { RoutesModule } from './routes/routes.module';
|
import { RoutesModule } from './routes/routes.module';
|
||||||
import { SharedModule } from './shared/shared.module';
|
|
||||||
import { STWidgetModule } from './shared/widget/st-widget.module';
|
|
||||||
import { registerLocaleData } from '@angular/common';
|
import { registerLocaleData } from '@angular/common';
|
||||||
import { AuthGuard } from './core/guards/auth.guard';
|
import { RouteReuseStrategy, RouterModule } from '@angular/router';
|
||||||
import { RouteReuseStrategy } from '@angular/router';
|
|
||||||
import { ReuseTabService, ReuseTabStrategy } from '@delon/abc/reuse-tab';
|
import { ReuseTabService, ReuseTabStrategy } from '@delon/abc/reuse-tab';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [AppComponent],
|
declarations: [AppComponent],
|
||||||
imports: [
|
imports: [BrowserModule, BrowserAnimationsModule, HttpClientModule, CoreModule, RoutesModule, RouterModule, ...GLOBAL_THIRD_MODULES],
|
||||||
BrowserModule,
|
|
||||||
BrowserAnimationsModule,
|
|
||||||
HttpClientModule,
|
|
||||||
GlobalConfigModule.forRoot(),
|
|
||||||
CoreModule,
|
|
||||||
SharedModule,
|
|
||||||
LayoutModule,
|
|
||||||
RoutesModule,
|
|
||||||
STWidgetModule,
|
|
||||||
NzNotificationModule,
|
|
||||||
...GLOBAL_THIRD_MODULES
|
|
||||||
],
|
|
||||||
providers: [...INTERCEPTOR_PROVIDES, ...APPINIT_PROVIDES],
|
providers: [...INTERCEPTOR_PROVIDES, ...APPINIT_PROVIDES],
|
||||||
bootstrap: [AppComponent]
|
bootstrap: [AppComponent]
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
||||||
|
import { AuthGuard } from './guards/auth.guard';
|
||||||
import { EATokenGuard } from './guards/token.guard';
|
import { EATokenGuard } from './guards/token.guard';
|
||||||
|
|
||||||
import { throwIfAlreadyLoaded } from './module-import-guard';
|
import { throwIfAlreadyLoaded } from './module-import-guard';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
providers: [EATokenGuard]
|
providers: [AuthGuard, EATokenGuard]
|
||||||
})
|
})
|
||||||
export class CoreModule {
|
export class CoreModule {
|
||||||
constructor(@Optional() @SkipSelf() parentModule: CoreModule) {
|
constructor(@Optional() @SkipSelf() parentModule: CoreModule) {
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { NavigationEnd, Router } from '@angular/router';
|
|||||||
import { ReuseTabService } from '@delon/abc/reuse-tab';
|
import { ReuseTabService } from '@delon/abc/reuse-tab';
|
||||||
import { MenuService } from '@delon/theme';
|
import { MenuService } from '@delon/theme';
|
||||||
import { InputBoolean } from '@delon/util';
|
import { InputBoolean } from '@delon/util';
|
||||||
|
import { SearchDrawerService } from '@shared';
|
||||||
import { NzMenuModeType } from 'ng-zorro-antd/menu';
|
import { NzMenuModeType } from 'ng-zorro-antd/menu';
|
||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
import { filter, takeUntil } from 'rxjs/operators';
|
import { filter, takeUntil } from 'rxjs/operators';
|
||||||
@ -31,7 +32,8 @@ export class LayoutProMenuComponent implements OnInit, OnDestroy {
|
|||||||
private router: Router,
|
private router: Router,
|
||||||
public pro: BrandService,
|
public pro: BrandService,
|
||||||
private cdr: ChangeDetectorRef,
|
private cdr: ChangeDetectorRef,
|
||||||
private reuseService: ReuseTabService
|
private reuseService: ReuseTabService,
|
||||||
|
private searchDrawerService: SearchDrawerService
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
private cd(): void {
|
private cd(): void {
|
||||||
@ -132,6 +134,7 @@ export class LayoutProMenuComponent implements OnInit, OnDestroy {
|
|||||||
routeTo(link: string | undefined) {
|
routeTo(link: string | undefined) {
|
||||||
if (link) {
|
if (link) {
|
||||||
this.reuseService.clear();
|
this.reuseService.clear();
|
||||||
|
this.searchDrawerService.unsubscribe();
|
||||||
this.router.navigate([link]);
|
this.router.navigate([link]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { AfterViewInit, Component, OnDestroy, OnInit } from '@angular/core';
|
import { AfterViewInit, Component, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { OnReuseDestroy } from '@delon/abc/reuse-tab';
|
import { OnReuseDestroy, OnReuseInit, ReuseHookOnReuseInitType } from '@delon/abc/reuse-tab';
|
||||||
import { SFComponent, SFSchema } from '@delon/form';
|
import { SFComponent, SFSchema } from '@delon/form';
|
||||||
import { SearchDrawerService } from '@shared';
|
import { SearchDrawerService } from '@shared';
|
||||||
import { fromEvent, Subscription } from 'rxjs';
|
import { fromEvent, Subscription } from 'rxjs';
|
||||||
@ -25,19 +25,18 @@ import { debounceTime } from 'rxjs/operators';
|
|||||||
@Component({
|
@Component({
|
||||||
template: ''
|
template: ''
|
||||||
})
|
})
|
||||||
export class BasicTableComponent implements AfterViewInit, OnDestroy, OnReuseDestroy {
|
export class BasicTableComponent implements AfterViewInit, OnDestroy, OnReuseDestroy, OnReuseInit {
|
||||||
scrollY = '400px';
|
scrollY = '400px';
|
||||||
|
|
||||||
sf!: SFComponent;
|
sf!: SFComponent;
|
||||||
sfValue: Record<string, any> = {};
|
sfValue: Record<string, any> = {};
|
||||||
drawer: Subscription[] = [];
|
|
||||||
schema: SFSchema = {};
|
schema: SFSchema = {};
|
||||||
|
|
||||||
deviationHeight = 0;
|
deviationHeight = 0;
|
||||||
|
|
||||||
constructor(public searchDrawerService: SearchDrawerService) {}
|
constructor(public searchDrawerService: SearchDrawerService) {}
|
||||||
_onReuseDestroy(): void {
|
_onReuseInit(type?: ReuseHookOnReuseInitType): void {
|
||||||
this.drawer.forEach(sub => sub.unsubscribe());
|
this.search();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterViewInit(): void {
|
ngAfterViewInit(): void {
|
||||||
@ -51,23 +50,29 @@ export class BasicTableComponent implements AfterViewInit, OnDestroy, OnReuseDes
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_onReuseDestroy(): void {
|
||||||
|
// this.drawer.forEach(sub => sub.unsubscribe());
|
||||||
|
}
|
||||||
|
|
||||||
ngOnDestroy(): void {
|
ngOnDestroy(): void {
|
||||||
this.drawer.forEach(sub => sub.unsubscribe());
|
this.searchDrawerService.unsubscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
openDrawer() {
|
openDrawer() {
|
||||||
if (this.drawer?.length > 0) {
|
console.log(this.sfValue);
|
||||||
|
|
||||||
|
if (this.searchDrawerService.drawer?.length > 0) {
|
||||||
this.searchDrawerService.create(this.sfValue, this.schema);
|
this.searchDrawerService.create(this.sfValue, this.schema);
|
||||||
} else {
|
} else {
|
||||||
const drawer = this.searchDrawerService.create(this.sfValue, this.schema);
|
const drawer = this.searchDrawerService.create(this.sfValue, this.schema);
|
||||||
this.drawer.push(
|
this.searchDrawerService.drawer.push(
|
||||||
drawer.initEvent.subscribe((sf: SFComponent) => {
|
drawer.initEvent.subscribe((sf: SFComponent) => {
|
||||||
if (sf) {
|
if (sf) {
|
||||||
this.sf = sf;
|
this.sf = sf;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
this.drawer.push(
|
this.searchDrawerService.drawer.push(
|
||||||
drawer.closeEvent.subscribe((res: Record<string, any>) => {
|
drawer.closeEvent.subscribe((res: Record<string, any>) => {
|
||||||
this.sfValue = res;
|
this.sfValue = res;
|
||||||
if (res) {
|
if (res) {
|
||||||
|
|||||||
@ -22,11 +22,8 @@ import { ContractManagementService } from '../../services/contract-management.se
|
|||||||
})
|
})
|
||||||
export class ContractManagementDetailComponent implements OnInit {
|
export class ContractManagementDetailComponent implements OnInit {
|
||||||
constructor(
|
constructor(
|
||||||
private nzModalService: NzModalService,
|
|
||||||
public service: ContractManagementService,
|
public service: ContractManagementService,
|
||||||
public route: ActivatedRoute,
|
public route: ActivatedRoute
|
||||||
private datePipe: DatePipe,
|
|
||||||
private router: Router
|
|
||||||
) {}
|
) {}
|
||||||
textStatus = '合同详情';
|
textStatus = '合同详情';
|
||||||
name: any;
|
name: any;
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import { Component } from '@angular/core';
|
|||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dashboard',
|
selector: 'app-dashboard',
|
||||||
templateUrl: './dashboard.component.html',
|
template: ''
|
||||||
styleUrls: ['./dashboard.component.less']
|
|
||||||
})
|
})
|
||||||
export class DashboardComponent {}
|
export class DashboardComponent {}
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #AdvanceDepositFooter>
|
<ng-template #AdvanceDepositFooter>
|
||||||
<g2-custom #AdvanceDeposit delay="100"></g2-custom>
|
<g2-custom #AdvanceDeposit></g2-custom>
|
||||||
<!-- <g2-mini-area line color="#cceafe" height="45" [data]="totalAdvanceDeposit?.list || []"
|
<!-- <g2-mini-area line color="#cceafe" height="45" [data]="totalAdvanceDeposit?.list || []"
|
||||||
(clickItem)="handleClick($event)">
|
(clickItem)="handleClick($event)">
|
||||||
</g2-mini-area> -->
|
</g2-mini-area> -->
|
||||||
@ -75,12 +75,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<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">
|
||||||
<nz-card acl [acl-ability]="['dataindex-getBillTypeProportion']"><label class="chart_title">订单类型比例</label>
|
<nz-card acl [acl-ability]="['dataindex-getBillTypeProportion']"><label class="chart_title">订单类型比例</label>
|
||||||
<g2-custom #g2custom delay="100"></g2-custom>
|
<g2-custom #g2custom delay="100"></g2-custom>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col class="gutter-row" [nzSpan]="18">
|
<div nz-col class="gutter-row" [nzSpan]="18">
|
||||||
<nz-card acl [acl-ability]="['dataindex-getBillAmount']"><label class="chart_title">大区业绩完成情况</label>
|
<nz-card acl [acl-ability]="['dataindex-getBillAmount']"><label class="chart_title">大区业绩完成情况</label>
|
||||||
<!-- <g2-timeline [data]="chartData" [titleMap]="{ y1: '订单金额(元)', y2: '' }" [height]="200" mask="MM月DD日"
|
<!-- <g2-timeline [data]="chartData" [titleMap]="{ y1: '订单金额(元)', y2: '' }" [height]="200" mask="MM月DD日"
|
||||||
[slider]="false"></g2-timeline> -->
|
[slider]="false"></g2-timeline> -->
|
||||||
<g2-custom #RegionalPerforman delay="100"></g2-custom>
|
<g2-custom #RegionalPerforman delay="100"></g2-custom>
|
||||||
@ -89,7 +89,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<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">
|
||||||
<nz-card acl [acl-ability]="['dataindex-getWayBillDirectProportion']"> <label class="chart_title">运单直付比例</label>
|
<nz-card acl [acl-ability]="['dataindex-getWayBillDirectProportion']"> <label class="chart_title">运单直付比例</label>
|
||||||
<!-- <g2-pie #pie title="销售额" subTitle="销售额" [total]="total" [valueFormat]="format" [data]="salesPieData" height="294"
|
<!-- <g2-pie #pie title="销售额" subTitle="销售额" [total]="total" [valueFormat]="format" [data]="salesPieData" height="294"
|
||||||
(clickItem)="handleClick($event)" [lineWidth]="10">
|
(clickItem)="handleClick($event)" [lineWidth]="10">
|
||||||
</g2-pie> -->
|
</g2-pie> -->
|
||||||
@ -97,7 +97,7 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col class="gutter-row" [nzSpan]="18">
|
<div nz-col class="gutter-row" [nzSpan]="18">
|
||||||
<nz-card acl [acl-ability]="['dataindex-getBillPaymentAmount']">
|
<nz-card acl [acl-ability]="['dataindex-getBillPaymentAmount']">
|
||||||
<label class="chart_title">业绩完成情况</label>
|
<label class="chart_title">业绩完成情况</label>
|
||||||
<!-- <g2-bar [data]="salesData" (clickItem)="handleClick($event)" height="400"></g2-bar> -->
|
<!-- <g2-bar [data]="salesData" (clickItem)="handleClick($event)" height="400"></g2-bar> -->
|
||||||
<g2-custom #SaleProportion delay="100"></g2-custom>
|
<g2-custom #SaleProportion delay="100"></g2-custom>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { ChangeDetectorRef, Component, ElementRef, NgZone, OnInit, ViewChild } from '@angular/core';
|
import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, NgZone, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
import { G2MiniAreaClickItem, G2MiniAreaData } from '@delon/chart/mini-area';
|
import { G2MiniAreaClickItem, G2MiniAreaData } from '@delon/chart/mini-area';
|
||||||
import { G2PieClickItem, G2PieComponent, G2PieData } from '@delon/chart/pie';
|
import { G2PieClickItem, G2PieComponent, G2PieData } from '@delon/chart/pie';
|
||||||
@ -18,7 +18,7 @@ import { GeometryLabelCfg } from '@antv/g2/lib/interface';
|
|||||||
styleUrls: ['./dataindex.component.less'],
|
styleUrls: ['./dataindex.component.less'],
|
||||||
providers: [CurrencyPipe]
|
providers: [CurrencyPipe]
|
||||||
})
|
})
|
||||||
export class DatatableDataindexComponent implements OnInit {
|
export class DatatableDataindexComponent implements OnInit, AfterViewInit {
|
||||||
@ViewChild('AdvanceDeposit', { static: false }) AdvanceDeposit!: G2CustomComponent;
|
@ViewChild('AdvanceDeposit', { static: false }) AdvanceDeposit!: G2CustomComponent;
|
||||||
@ViewChild('g2custom', { static: false }) g2custom!: G2CustomComponent;
|
@ViewChild('g2custom', { static: false }) g2custom!: G2CustomComponent;
|
||||||
@ViewChild('RegionalPerforman', { static: false }) RegionalPerforman!: G2CustomComponent;
|
@ViewChild('RegionalPerforman', { static: false }) RegionalPerforman!: G2CustomComponent;
|
||||||
@ -38,19 +38,24 @@ export class DatatableDataindexComponent implements OnInit {
|
|||||||
|
|
||||||
regionalPerformanceCompletion: DataPerformanceTrendVO[] = [];
|
regionalPerformanceCompletion: DataPerformanceTrendVO[] = [];
|
||||||
|
|
||||||
constructor(private service: DataService, private currency: CurrencyPipe) {}
|
constructor(private service: DataService, private currency: CurrencyPipe) { }
|
||||||
|
ngAfterViewInit(): void {
|
||||||
ngOnInit(): void {
|
|
||||||
this.initMiniAreaData();
|
this.initMiniAreaData();
|
||||||
this.initOthersData();
|
this.initOthersData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private initMiniAreaData() {
|
private initMiniAreaData() {
|
||||||
// 客户预存款总额
|
// 客户预存款总额
|
||||||
this.service.request(this.service.$api_total_advance_deposit).subscribe((res: DataTotalVO) => {
|
this.service.request(this.service.$api_total_advance_deposit).subscribe((res: DataTotalVO) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.totalAdvanceDeposit = this.formatMiniAreaData(res);
|
this.totalAdvanceDeposit = this.formatMiniAreaData(res);
|
||||||
this.initAreaMap(this.AdvanceDeposit['el'].nativeElement as any, []);
|
setTimeout(() => {
|
||||||
|
this.initAreaMap(this.AdvanceDeposit['el'].nativeElement as any, []);
|
||||||
|
}, 400);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 业绩量总额
|
// 业绩量总额
|
||||||
@ -79,8 +84,9 @@ export class DatatableDataindexComponent implements OnInit {
|
|||||||
if (res) {
|
if (res) {
|
||||||
const billTypeDatas2 = this.formatCoordinateData(res);
|
const billTypeDatas2 = this.formatCoordinateData(res);
|
||||||
console.log(billTypeDatas2);
|
console.log(billTypeDatas2);
|
||||||
|
setTimeout(() => {
|
||||||
this.initBillChart(this.g2custom['el'].nativeElement as any,billTypeDatas2);
|
this.initBillChart(this.g2custom['el'].nativeElement as any, billTypeDatas2);
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 大区业绩完成情况
|
// 大区业绩完成情况
|
||||||
@ -89,31 +95,35 @@ export class DatatableDataindexComponent implements OnInit {
|
|||||||
// this.regionalPerformanceCompletion = res.map(item => ({ ...item, time: new Date(item.time)?.getTime() }));
|
// this.regionalPerformanceCompletion = res.map(item => ({ ...item, time: new Date(item.time)?.getTime() }));
|
||||||
// this.initRegionalPerformanceChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion);
|
// this.initRegionalPerformanceChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion);
|
||||||
this.regionalPerformanceCompletion = this.formatBarData(res);
|
this.regionalPerformanceCompletion = this.formatBarData(res);
|
||||||
this.initBiaxialChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion, {
|
setTimeout(() => {
|
||||||
y1Title: '业绩量(万)',
|
this.initBiaxialChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion, {
|
||||||
y2Title: '业绩完成率',
|
y1Title: '业绩量(万)',
|
||||||
y3Title: '同期业绩完成率'
|
y2Title: '业绩完成率',
|
||||||
});
|
y3Title: '同期业绩完成率'
|
||||||
|
});
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 订单类型比例
|
// 订单类型比例
|
||||||
this.service.request(this.service.$api_getWayBillDirectProportion).subscribe(res => {
|
this.service.request(this.service.$api_getWayBillDirectProportion).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
const billTypeDatas = this.formatCoordinateData(res.map((item: any) => ({ ...item, billType: item.wayBillType })));
|
const billTypeDatas = this.formatCoordinateData(res.map((item: any) => ({ ...item, billType: item.wayBillType })));
|
||||||
console.log(billTypeDatas);
|
setTimeout(() => {
|
||||||
|
this.initBillChart(this.BillDirectProportion['el'].nativeElement as any, billTypeDatas);
|
||||||
this.initBillChart(this.BillDirectProportion['el'].nativeElement as any, billTypeDatas);
|
}, 100);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 统计订单结算金额-趋势
|
// 统计订单结算金额-趋势
|
||||||
this.service.request(this.service.$api_get_bill_payment_amount).subscribe(res => {
|
this.service.request(this.service.$api_get_bill_payment_amount).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.salesData = this.formatBarData(res);
|
this.salesData = this.formatBarData(res);
|
||||||
this.initBiaxialChart(this.SaleProportion['el'].nativeElement as any, this.salesData, {
|
setTimeout(() => {
|
||||||
y1Title: '业绩量(万)',
|
this.initBiaxialChart(this.SaleProportion['el'].nativeElement as any, this.salesData, {
|
||||||
y2Title: '业绩完成率',
|
y1Title: '业绩量(万)',
|
||||||
y3Title: '同期业绩完成率'
|
y2Title: '业绩完成率',
|
||||||
});
|
y3Title: '同期业绩完成率'
|
||||||
|
});
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -145,7 +155,7 @@ export class DatatableDataindexComponent implements OnInit {
|
|||||||
|
|
||||||
chart.scale('percent', {
|
chart.scale('percent', {
|
||||||
formatter: val => {
|
formatter: val => {
|
||||||
val = (val * 100 ).toFixed(0)+ '%';
|
val = (val * 100).toFixed(0) + '%';
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -202,7 +212,7 @@ export class DatatableDataindexComponent implements OnInit {
|
|||||||
.label('percent', percent => {
|
.label('percent', percent => {
|
||||||
return {
|
return {
|
||||||
content: data => {
|
content: data => {
|
||||||
return (percent * 100).toFixed(0)+`%`;
|
return (percent * 100).toFixed(0) + `%`;
|
||||||
},
|
},
|
||||||
style: { fontSize: 14 }
|
style: { fontSize: 14 }
|
||||||
};
|
};
|
||||||
@ -351,6 +361,8 @@ export class DatatableDataindexComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
return {};
|
return {};
|
||||||
});
|
});
|
||||||
|
console.log(chart);
|
||||||
|
|
||||||
chart.render();
|
chart.render();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-04-06 10:57:56
|
* @Date : 2022-04-06 10:57:56
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-05-07 09:43:16
|
* @LastEditTime : 2022-05-09 13:59:19
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -48,31 +48,6 @@
|
|||||||
<nz-card nzTitle="本年交易趋势">
|
<nz-card nzTitle="本年交易趋势">
|
||||||
<app-financetable-curve-min #curve [chartData]="chartData2"></app-financetable-curve-min>
|
<app-financetable-curve-min #curve [chartData]="chartData2"></app-financetable-curve-min>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card nzTitle="实时货源" style="height: 400px">
|
|
||||||
<st
|
|
||||||
#st
|
|
||||||
multiSort
|
|
||||||
[columns]="columns"
|
|
||||||
[scroll]="{ y: '280px' }"
|
|
||||||
[data]="service.$api_getRealTimeSupply"
|
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
|
||||||
[res]="{ reName: { list: 'data' } }"
|
|
||||||
[page]="{ show: false, showSize: false, pageSizes: [5, 50, 100] }"
|
|
||||||
[loading]="service.http.loading"
|
|
||||||
>
|
|
||||||
<ng-template st-row="index" let-item let-index="index">
|
|
||||||
{{ index + 1 }}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="weight" let-item let-index="index">
|
|
||||||
{{ item.weight ? item.weight + '吨' : '' }}
|
|
||||||
{{ item.volume ? item.volume + '方' : '' }}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="weight" let-item let-index="index">
|
|
||||||
{{ item.weight ? item.weight + '吨' : '' }}
|
|
||||||
{{ item.volume ? item.volume + '方' : '' }}
|
|
||||||
</ng-template>
|
|
||||||
</st>
|
|
||||||
</nz-card>
|
|
||||||
</div>
|
</div>
|
||||||
<div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8">
|
<div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8">
|
||||||
<nz-card>
|
<nz-card>
|
||||||
@ -91,11 +66,6 @@
|
|||||||
<div style="min-height: 550px">
|
<div style="min-height: 550px">
|
||||||
<app-datatable-customindex-map style="max-height: 680px" #map [chartData]="chartData"></app-datatable-customindex-map>
|
<app-datatable-customindex-map style="max-height: 680px" #map [chartData]="chartData"></app-datatable-customindex-map>
|
||||||
</div>
|
</div>
|
||||||
<nz-card>
|
|
||||||
<nz-row [nzGutter]="24">
|
|
||||||
<g2-bar #bar height="350" [delay]="300" repaint="true" [title]="'本月发货量排名'" [data]="salesData2" (ready)="genData()"></g2-bar>
|
|
||||||
</nz-row>
|
|
||||||
</nz-card>
|
|
||||||
</div>
|
</div>
|
||||||
<div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8">
|
<div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8">
|
||||||
<nz-card>
|
<nz-card>
|
||||||
@ -156,11 +126,48 @@
|
|||||||
</nz-col>
|
</nz-col>
|
||||||
</nz-row>
|
</nz-row>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div nz-row [nzGutter]="24">
|
||||||
|
<div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8">
|
||||||
|
|
||||||
|
<nz-card nzTitle="实时货源" style="height: 400px">
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
multiSort
|
||||||
|
[columns]="columns"
|
||||||
|
[scroll]="{ y: '280px' }"
|
||||||
|
[data]="service.$api_getRealTimeSupply"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
|
[res]="{ reName: { list: 'data' } }"
|
||||||
|
[page]="{ show: false, showSize: false, pageSizes: [5, 50, 100] }"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
>
|
||||||
|
<ng-template st-row="index" let-item let-index="index">
|
||||||
|
{{ index + 1 }}
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="weight" let-item let-index="index">
|
||||||
|
{{ item.weight ? item.weight + '吨' : '' }}
|
||||||
|
{{ item.volume ? item.volume + '方' : '' }}
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="weight" let-item let-index="index">
|
||||||
|
{{ item.weight ? item.weight + '吨' : '' }}
|
||||||
|
{{ item.volume ? item.volume + '方' : '' }}
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</nz-card>
|
||||||
|
</div>
|
||||||
|
<div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8">
|
||||||
|
<nz-card style="height: 400px">
|
||||||
|
<g2-bar #bar height="350" [delay]="300" repaint="true" [title]="'本月发货量排名'" [data]="salesData2" (ready)="genData()"></g2-bar>
|
||||||
|
</nz-card>
|
||||||
|
</div>
|
||||||
|
<div nz-col class="gutter-row" nzXs="12" nzSm="12" nzMd="12" nzLg="12" nzXl="8" nzXXl="8">
|
||||||
<nz-card nzTitle="实时运单风控" style="height: 400px">
|
<nz-card nzTitle="实时运单风控" style="height: 400px">
|
||||||
<st
|
<st
|
||||||
#st
|
#st
|
||||||
multiSort
|
multiSort
|
||||||
[scroll]="{ y: '280px' }"
|
[scroll]="{ y: '300px' }"
|
||||||
[columns]="orderColumns"
|
[columns]="orderColumns"
|
||||||
[data]="service.$api_getRealTimeWaybillRiskControl"
|
[data]="service.$api_getRealTimeWaybillRiskControl"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqOrderParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqOrderParams }"
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
.ant-table-thead > tr > th, .ant-table-tbody > tr > td, .ant-table tfoot > tr > th, .ant-table tfoot > tr > td {
|
.ant-table-thead > tr > th, .ant-table-tbody > tr > td, .ant-table tfoot > tr > th, .ant-table tfoot > tr > td {
|
||||||
padding: 0;
|
padding: 5px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -86,7 +86,7 @@ const COMPONENTS: Type<void>[] = [
|
|||||||
imports: [
|
imports: [
|
||||||
SharedModule,
|
SharedModule,
|
||||||
DatatableRoutingModule,
|
DatatableRoutingModule,
|
||||||
SHARED_G2_MODULES
|
...SHARED_G2_MODULES
|
||||||
],
|
],
|
||||||
declarations: COMPONENTS,
|
declarations: COMPONENTS,
|
||||||
})
|
})
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-30 19:36:30
|
* @Date : 2021-12-30 19:36:30
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-05-07 17:33:01
|
* @LastEditTime : 2022-05-11 11:23:52
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\cost-management\\cost-management.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\cost-management\\cost-management.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -36,7 +36,8 @@
|
|||||||
<div class="mr-sm">
|
<div class="mr-sm">
|
||||||
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
|
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
|
||||||
[acl-ability]="['FINANCIAL-COST-list']">筛选</button>
|
[acl-ability]="['FINANCIAL-COST-list']">筛选</button>
|
||||||
<button nz-button nzDanger (click)="exportList()"> 导出</button>
|
<button nz-button nzDanger (click)="exportList()" acl
|
||||||
|
[acl-ability]="['FINANCIAL-COST-export']"> 导出</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div nz-row class="mb-sm">
|
<!-- <div nz-row class="mb-sm">
|
||||||
|
|||||||
@ -84,7 +84,7 @@ export class CostManagementComponent extends BasicTableComponent implements OnIn
|
|||||||
|
|
||||||
|
|
||||||
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_reportFeehList);
|
||||||
}
|
}
|
||||||
|
|
||||||
routeTo(url: string, params?: any, status?: any) {
|
routeTo(url: string, params?: any, status?: any) {
|
||||||
|
|||||||
@ -168,7 +168,7 @@ export class DriverAccountComponent extends BasicTableComponent implements OnIni
|
|||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.freezeBalance }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.freezeBalance }) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '本月累计提现金额',
|
title: '累计提现金额',
|
||||||
index: 'withdrawBalance',
|
index: 'withdrawBalance',
|
||||||
width: 160,
|
width: 160,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
|
|||||||
@ -30,7 +30,7 @@ export class PayableOrderDetailComponent implements OnInit {
|
|||||||
this.loadHeadInfo();
|
this.loadHeadInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
ngOnInit(): void { }
|
||||||
|
|
||||||
loadHeadInfo() {
|
loadHeadInfo() {
|
||||||
this.service.request(this.service.$api_get_fico_ph_header, { id: this.id }).subscribe(res => {
|
this.service.request(this.service.$api_get_fico_ph_header, { id: this.id }).subscribe(res => {
|
||||||
@ -46,27 +46,27 @@ export class PayableOrderDetailComponent implements OnInit {
|
|||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
...this.sf?.value,
|
...this.sf?.value,
|
||||||
billTime: {
|
billTime: {
|
||||||
start: this.sf?.value.billTime?.[0] || null,
|
start: this.sf?.value.billTime?.[0] || '',
|
||||||
end: this.sf?.value.billTime?.[1] || null
|
end: this.sf?.value.billTime?.[1] || ''
|
||||||
},
|
},
|
||||||
feedate: {
|
feedate: {
|
||||||
start: this.sf?.value.feedate?.[0] || null,
|
start: this.sf?.value.feedate?.[0] || '',
|
||||||
end: this.sf?.value.feedate?.[1] || null
|
end: this.sf?.value.feedate?.[1] || ''
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (this.sf?.value.billTime) {
|
if (this.sf?.value.billTime) {
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
billTime: {
|
billTime: {
|
||||||
start: this.sf?.value.billTime?.[0] || null,
|
start: this.sf?.value.billTime?.[0] || '',
|
||||||
end: this.sf?.value.billTime?.[1] || null
|
end: this.sf?.value.billTime?.[1] || ''
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (this.sf?.value.feedate) {
|
if (this.sf?.value.feedate) {
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
feedate: {
|
feedate: {
|
||||||
start: this.sf?.value.feedate?.[0] || null,
|
start: this.sf?.value.feedate?.[0] || '',
|
||||||
end: this.sf?.value.feedate?.[1] || null
|
end: this.sf?.value.feedate?.[1] || ''
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -117,26 +117,23 @@ export class PayableOrderDetailComponent implements OnInit {
|
|||||||
placeholder: '请输入'
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
cno: {
|
// cno: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '结算客户',
|
// title: '结算客户',
|
||||||
ui: {
|
// ui: {
|
||||||
widget: 'select',
|
// widget: 'select',
|
||||||
placeholder: '请选择',
|
// placeholder: '请选择',
|
||||||
allowClear: true,
|
// allowClear: true,
|
||||||
asyncData: () => this.service.getCloseAccount()
|
// asyncData: () => this.service.getCloseAccount()
|
||||||
},
|
// },
|
||||||
default: ''
|
// default: ''
|
||||||
},
|
// },
|
||||||
feedate: {
|
feedate: {
|
||||||
title: '费用日期',
|
title: '费用日期',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'sl-from-to-search',
|
widget: 'sl-from-to-search',
|
||||||
format: 'yyyy-MM-dd',
|
format: 'yyyy-MM-dd',
|
||||||
visibleIf: {
|
|
||||||
expand: (value: boolean) => value
|
|
||||||
}
|
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
},
|
||||||
billTime: {
|
billTime: {
|
||||||
|
|||||||
@ -48,6 +48,9 @@
|
|||||||
<div></div>
|
<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()">筛选</button>
|
||||||
|
<button nz-button nzDanger [disabled]="service.http.loading" acl
|
||||||
|
[acl-ability]="['FINANCIAL-PAYABLE-export']" (click)='exportList()'>
|
||||||
|
导出</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<st #st [data]="service.$api_get_fico_ph_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
<st #st [data]="service.$api_get_fico_ph_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
|
|||||||
@ -21,11 +21,7 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
|
|
||||||
selectedRows: any[] = [];
|
selectedRows: any[] = [];
|
||||||
info: any = {};
|
info: any = {};
|
||||||
constructor(
|
constructor(public service: FreightAccountService, private router: Router, public searchDrawerService: SearchDrawerService) {
|
||||||
public service: FreightAccountService,
|
|
||||||
private router: Router,
|
|
||||||
public searchDrawerService: SearchDrawerService
|
|
||||||
) {
|
|
||||||
super(searchDrawerService);
|
super(searchDrawerService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,6 +73,9 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exportList() {
|
||||||
|
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_get_fico_ph_page_export);
|
||||||
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
return {
|
return {
|
||||||
@ -94,6 +93,20 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
placeholder: '请输入'
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
billHCode: {
|
||||||
|
type: 'string',
|
||||||
|
title: '订单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
waybillHCode: {
|
||||||
|
type: 'string',
|
||||||
|
title: '运单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入'
|
||||||
|
}
|
||||||
|
},
|
||||||
ltdId: {
|
ltdId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '网络货运人',
|
title: '网络货运人',
|
||||||
@ -118,7 +131,7 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
enum: [{ value: '1', label: '费用款项' }],
|
enum: [{ value: '1', label: '费用款项' }],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
cno: {
|
cno: {
|
||||||
@ -128,7 +141,7 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
asyncData: () => this.service.getCloseAccount(),
|
asyncData: () => this.service.getCloseAccount()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
driver2IdName: {
|
driver2IdName: {
|
||||||
@ -136,19 +149,18 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
title: '收款人',
|
title: '收款人',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sts: {
|
sts: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '核销状态',
|
title: '核销状态',
|
||||||
enum: [
|
default: '',
|
||||||
{ value: 1, label: '已核销' },
|
|
||||||
{ value: 0, label: '待核销' }
|
|
||||||
],
|
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'dict-select',
|
||||||
placeholder: '请选择',
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'write:off:status' },
|
||||||
|
containAllLable: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
phxdate: {
|
phxdate: {
|
||||||
@ -156,7 +168,7 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'sl-from-to-search',
|
widget: 'sl-from-to-search',
|
||||||
format: 'yyyy-MM-dd',
|
format: 'yyyy-MM-dd'
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
},
|
||||||
createTime: {
|
createTime: {
|
||||||
@ -164,21 +176,14 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'sl-from-to-search',
|
widget: 'sl-from-to-search',
|
||||||
format: 'yyyy-MM-dd',
|
format: 'yyyy-MM-dd'
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
},
|
||||||
billHCode: {
|
|
||||||
type: 'string',
|
|
||||||
title: '订单号',
|
|
||||||
ui: {
|
|
||||||
placeholder: '请输入',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
feeHCode: {
|
feeHCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '费用号',
|
title: '费用号',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
remarks: {
|
remarks: {
|
||||||
@ -186,7 +191,7 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
title: '核销备注',
|
title: '核销备注',
|
||||||
ui: {
|
ui: {
|
||||||
autocomplete: 'off',
|
autocomplete: 'off',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -196,7 +201,9 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '', index: 'key', type: 'checkbox' },
|
{ title: '', index: 'key', type: 'checkbox' },
|
||||||
{ title: '核销单号', index: 'phxcode', type: 'link', width: 140 },
|
{ title: '核销单号', index: 'phxcode', type: 'link', width: 160 },
|
||||||
|
{ title: '订单号', index: 'billHCode', width: 160 },
|
||||||
|
{ title: '运单号', index: 'waybillHCode', width: 160 },
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 220 },
|
{ title: '网络货运人', index: 'ltdName', width: 220 },
|
||||||
{ title: '核销日期', index: 'phxdate', type: 'date', width: 160 },
|
{ title: '核销日期', index: 'phxdate', type: 'date', width: 160 },
|
||||||
{ title: '付款账户', index: 'shipperaccount', width: 170 },
|
{ title: '付款账户', index: 'shipperaccount', width: 170 },
|
||||||
@ -224,7 +231,7 @@ export class PayableOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
{ title: '银行水单', index: 'bankreceipt', width: 190 },
|
{ title: '银行水单', index: 'bankreceipt', width: 190 },
|
||||||
{ title: '创建时间', index: 'createTime', width: 180 },
|
{ title: '创建时间', index: 'createTime', width: 180 },
|
||||||
// { title: '创建人', index: 'createUserIdLabel', width: 120 },
|
// { title: '创建人', index: 'createUserIdLabel', width: 120 },
|
||||||
{ title: '核销状态', index: 'sts', type: 'enum', enum: { 0: '待核销', 1: '已核销' }, width: 120 },
|
{ title: '核销状态', index: 'stsLabel', width: 120 },
|
||||||
{ title: '核销备注', index: 'remarks', width: 120 },
|
{ title: '核销备注', index: 'remarks', width: 120 },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
|
|||||||
@ -34,6 +34,9 @@
|
|||||||
<div class="mr-sm">
|
<div class="mr-sm">
|
||||||
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
|
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
|
||||||
[acl-ability]="['FINANCIAL-PAYMENT-ORDER-list']">筛选</button>
|
[acl-ability]="['FINANCIAL-PAYMENT-ORDER-list']">筛选</button>
|
||||||
|
<button nz-button nzDanger [disabled]="service.http.loading" acl
|
||||||
|
[acl-ability]="['FINANCIAL-PAYMENT-ORDER-export']" (click)='exportList()'>
|
||||||
|
导出</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -77,6 +77,10 @@ export class PaymentOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exportList() {
|
||||||
|
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_get_payment_page_export);
|
||||||
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
return {
|
return {
|
||||||
properties: {
|
properties: {
|
||||||
|
|||||||
@ -21,17 +21,20 @@
|
|||||||
|
|
||||||
<nz-card class="table-box">
|
<nz-card class="table-box">
|
||||||
<div class="header_box">
|
<div class="header_box">
|
||||||
<div>
|
<div>
|
||||||
<label class="page_title"> <label class="driver">|</label> 收款单</label>
|
<label class="page_title"> <label class="driver">|</label> 收款单</label>
|
||||||
<label class="ml-md">
|
<label class="ml-md">
|
||||||
已选择
|
已选择
|
||||||
<strong class="text-primary">{{ selectedRows.length }}</strong> 张单
|
<strong class="text-primary">{{ selectedRows.length }}</strong> 张单
|
||||||
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
|
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
|
||||||
</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()">筛选</button>
|
||||||
</div>
|
<button nz-button nzDanger [disabled]="service.http.loading" acl [acl-ability]="['FINANCIAL-RECEIPT-export']"
|
||||||
|
(click)='exportList()'>
|
||||||
|
导出</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="d-flex align-items-center mb-md mt-md">
|
<!-- <div class="d-flex align-items-center mb-md mt-md">
|
||||||
<button nz-button (click)="this.addInvoice()" nzType="primary">添加收款</button>
|
<button nz-button (click)="this.addInvoice()" nzType="primary">添加收款</button>
|
||||||
|
|||||||
@ -81,6 +81,10 @@ export class ReceiptOrderComponent extends BasicTableComponent implements OnInit
|
|||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exportList() {
|
||||||
|
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_get_receipt_page_export);
|
||||||
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
return {
|
return {
|
||||||
properties: {
|
properties: {
|
||||||
|
|||||||
@ -48,7 +48,9 @@
|
|||||||
<div></div>
|
<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()">筛选</button>
|
||||||
<button nz-button nzDanger> 导出</button>
|
<button nz-button nzDanger [disabled]="service.http.loading" acl [acl-ability]="['FINANCIAL-RECEIVABLE-export']"
|
||||||
|
(click)='exportList()'>
|
||||||
|
导出</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import { FreightAccountService } from '../../services/freight-account.service';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'app-receivable-order',
|
selector: 'app-receivable-order',
|
||||||
templateUrl: './receivable-order.component.html',
|
templateUrl: './receivable-order.component.html',
|
||||||
styleUrls: ['../../../commom/less/commom-table.less','../../../commom/less/common-table-bar.less']
|
styleUrls: ['../../../commom/less/commom-table.less', '../../../commom/less/common-table-bar.less']
|
||||||
})
|
})
|
||||||
export class ReceivableOrderComponent extends BasicTableComponent implements OnInit {
|
export class ReceivableOrderComponent extends BasicTableComponent implements OnInit {
|
||||||
@ViewChild('st', { static: true })
|
@ViewChild('st', { static: true })
|
||||||
@ -80,6 +80,9 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exportList() {
|
||||||
|
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_get_fico_page_export);
|
||||||
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
return {
|
return {
|
||||||
@ -121,7 +124,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
params: { dictKey: 'driverrecord:receive:type' },
|
params: { dictKey: 'driverrecord:receive:type' },
|
||||||
placeholder: '请选择',
|
placeholder: '请选择'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
arvattype: {
|
arvattype: {
|
||||||
@ -130,7 +133,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
params: { dictKey: 'pay:type' },
|
params: { dictKey: 'pay:type' },
|
||||||
placeholder: '请选择',
|
placeholder: '请选择'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
cno: {
|
cno: {
|
||||||
@ -140,7 +143,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
asyncData: () => this.service.getCloseAccount(),
|
asyncData: () => this.service.getCloseAccount()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
arto: {
|
arto: {
|
||||||
@ -152,7 +155,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
searchDebounceTime: 300,
|
searchDebounceTime: 300,
|
||||||
searchLoadingText: '搜索中...',
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }),
|
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sts: {
|
sts: {
|
||||||
@ -164,8 +167,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
],
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择'
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
banktype: {
|
banktype: {
|
||||||
@ -178,8 +180,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
],
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择'
|
||||||
|
|
||||||
},
|
},
|
||||||
default: ''
|
default: ''
|
||||||
},
|
},
|
||||||
@ -188,8 +189,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'sl-from-to-search',
|
widget: 'sl-from-to-search',
|
||||||
format: 'yyyy-MM-dd',
|
format: 'yyyy-MM-dd'
|
||||||
|
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
},
|
||||||
createTime: {
|
createTime: {
|
||||||
@ -197,14 +197,21 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'sl-from-to-search',
|
widget: 'sl-from-to-search',
|
||||||
format: 'yyyy-MM-dd',
|
format: 'yyyy-MM-dd'
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
},
|
||||||
billHCode: {
|
billHCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '订单号',
|
title: '订单号',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
waybillHCode: {
|
||||||
|
type: 'string',
|
||||||
|
title: '运单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// orderS3: {
|
// orderS3: {
|
||||||
@ -222,7 +229,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
title: '核销备注',
|
title: '核销备注',
|
||||||
ui: {
|
ui: {
|
||||||
autocomplete: 'off',
|
autocomplete: 'off',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -234,6 +241,7 @@ export class ReceivableOrderComponent extends BasicTableComponent implements OnI
|
|||||||
{ title: '', index: 'key', type: 'checkbox' },
|
{ title: '', index: 'key', type: 'checkbox' },
|
||||||
{ title: '核销单号', index: 'ahxcode', type: 'link', width: 210 },
|
{ title: '核销单号', index: 'ahxcode', type: 'link', width: 210 },
|
||||||
{ title: '订单号', index: 'billHCode', type: 'link', width: 180 },
|
{ title: '订单号', index: 'billHCode', type: 'link', width: 180 },
|
||||||
|
{ title: '运单号', index: 'waybillHCode', width: 180 },
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 220 },
|
{ title: '网络货运人', index: 'ltdName', width: 220 },
|
||||||
{ title: '核销日期', index: 'ahxdate', type: 'date', width: 160 },
|
{ title: '核销日期', index: 'ahxdate', type: 'date', width: 160 },
|
||||||
{ title: '收款账户', index: 'ltdaccountId', width: 200 },
|
{ title: '收款账户', index: 'ltdaccountId', width: 200 },
|
||||||
|
|||||||
@ -41,9 +41,10 @@
|
|||||||
{{ item.orderRefundCode }} <br> {{ item.refundStatusLabel }}
|
{{ item.orderRefundCode }} <br> {{ item.refundStatusLabel }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="refundAmount" let-item let-index="index" let-column="column">
|
<ng-template st-row="refundAmount" let-item let-index="index" let-column="column">
|
||||||
<ng-container *ngFor="let cost of item.billRefundDetailVOS">
|
<p *ngFor="let cost of item.billRefundDetailVOS"
|
||||||
{{cost.costName}}:{{ cost.refundAmount |currency }}<br>
|
style="display: flex;align-items: center;justify-content: space-between;margin: 0;">
|
||||||
</ng-container>
|
<label> {{cost.costName}}:</label><label>{{ cost.refundAmount |currency }}</label>
|
||||||
|
</p>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="billRefundPaymentVOS" let-item let-index="index" let-column="column">
|
<ng-template st-row="billRefundPaymentVOS" let-item let-index="index" let-column="column">
|
||||||
<ng-container *ngFor="let bill of item.billRefundPaymentVOS">
|
<ng-container *ngFor="let bill of item.billRefundPaymentVOS">
|
||||||
|
|||||||
@ -233,6 +233,14 @@ export class RefundRecordComponent extends BasicTableComponent implements OnInit
|
|||||||
{ title: '退款单号', render: 'orderRefundCode', width: 190 },
|
{ title: '退款单号', render: 'orderRefundCode', width: 190 },
|
||||||
{ title: '退款类型', index: 'refundTypeLabel', width: 140 },
|
{ title: '退款类型', index: 'refundTypeLabel', width: 140 },
|
||||||
{ title: '退款金额', render: 'refundAmount', className: 'text-right', width: 180 },
|
{ title: '退款金额', render: 'refundAmount', className: 'text-right', width: 180 },
|
||||||
|
{
|
||||||
|
title: '合计金额',
|
||||||
|
index: 'refundAmount',
|
||||||
|
width: 150,
|
||||||
|
type: 'widget',
|
||||||
|
className: 'text-right',
|
||||||
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.refundAmount }) }
|
||||||
|
},
|
||||||
{ title: '退款时间', index: 'refundExecuteTime', width: 170 },
|
{ title: '退款时间', index: 'refundExecuteTime', width: 170 },
|
||||||
{ title: '货主', index: 'enterpriseInfoName', width: 150 },
|
{ title: '货主', index: 'enterpriseInfoName', width: 150 },
|
||||||
{ title: '所属项目', index: 'enterpriseProjectName', width: 140 },
|
{ title: '所属项目', index: 'enterpriseProjectName', width: 140 },
|
||||||
|
|||||||
@ -27,6 +27,8 @@
|
|||||||
<div class="mr-sm">
|
<div class="mr-sm">
|
||||||
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
|
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
|
||||||
[acl-ability]="['FINANCIAL-VOUCHER-list']">筛选</button>
|
[acl-ability]="['FINANCIAL-VOUCHER-list']">筛选</button>
|
||||||
|
<button nz-button nzDanger [disabled]="service.http.loading" (click)="exprot()" acl
|
||||||
|
[acl-ability]="['FINANCIAL-VOUCHER-export']">导出</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -61,6 +61,11 @@ export class VoucherManagementComponent extends BasicTableComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 导出
|
||||||
|
exprot() {
|
||||||
|
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_get_fico_vch_export);
|
||||||
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
return {
|
return {
|
||||||
properties: {
|
properties: {
|
||||||
@ -147,9 +152,15 @@ export class VoucherManagementComponent extends BasicTableComponent {
|
|||||||
vctype: {
|
vctype: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '凭证类型',
|
title: '凭证类型',
|
||||||
|
enum: [
|
||||||
|
{label: '全部', value:''},
|
||||||
|
{label: 'WLW', value:'WLW'},
|
||||||
|
{label: 'YH', value:'YH'},
|
||||||
|
{label: 'KP', value:'KP'},
|
||||||
|
{label: 'ZZ', value:'ZZ'},
|
||||||
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'select',
|
||||||
params: { dictKey: 'credential:type' },
|
|
||||||
placeholder: '请选择'
|
placeholder: '请选择'
|
||||||
},
|
},
|
||||||
default: ''
|
default: ''
|
||||||
|
|||||||
@ -83,6 +83,10 @@ export class FreightAccountService extends ShipperBaseService {
|
|||||||
|
|
||||||
// 查询费用单抬头
|
// 查询费用单抬头
|
||||||
$api_get_cost_page = '/api/fcc/ficoFeeH/list/page';
|
$api_get_cost_page = '/api/fcc/ficoFeeH/list/page';
|
||||||
|
// 导出费用单列表数据
|
||||||
|
$api_get_cost_page_export = '/api/fcc/ficoFeeH/asyncExport';
|
||||||
|
// 导出费用管理列表数据
|
||||||
|
$api_get_reportFeehList = '/api/fcc/ficoFeeH/reportFeehList';
|
||||||
// 根据费用头ID查询费用单及开票明细
|
// 根据费用头ID查询费用单及开票明细
|
||||||
$api_get_cost_detail = '/api/fcc/ficoFeeL/detail';
|
$api_get_cost_detail = '/api/fcc/ficoFeeL/detail';
|
||||||
// 费用关联的应收核销明细
|
// 费用关联的应收核销明细
|
||||||
@ -90,6 +94,8 @@ export class FreightAccountService extends ShipperBaseService {
|
|||||||
|
|
||||||
// 查询应收核销抬头
|
// 查询应收核销抬头
|
||||||
$api_get_fico_page = '/api/fcc/ficoAhxH/list/page';
|
$api_get_fico_page = '/api/fcc/ficoAhxH/list/page';
|
||||||
|
// 应收核销列表数据导出
|
||||||
|
$api_get_fico_page_export = '/api/fcc/ficoAhxH/asyncExport';
|
||||||
// 应收核销汇总
|
// 应收核销汇总
|
||||||
$api_get_fico_sum = '/api/fcc/ficoAhxH/getSum';
|
$api_get_fico_sum = '/api/fcc/ficoAhxH/getSum';
|
||||||
// 获取应收核销抬头
|
// 获取应收核销抬头
|
||||||
@ -99,6 +105,8 @@ export class FreightAccountService extends ShipperBaseService {
|
|||||||
|
|
||||||
// 查询应付核销抬头
|
// 查询应付核销抬头
|
||||||
$api_get_fico_ph_page = '/api/fcc/ficoPhxH/list/page';
|
$api_get_fico_ph_page = '/api/fcc/ficoPhxH/list/page';
|
||||||
|
// 应付核销列表数据导出
|
||||||
|
$api_get_fico_ph_page_export = '/api/fcc/ficoPhxH/asyncExport';
|
||||||
// 应付核销汇总
|
// 应付核销汇总
|
||||||
$api_get_fico_ph_sum = '/api/fcc/ficoPhxH/getSum';
|
$api_get_fico_ph_sum = '/api/fcc/ficoPhxH/getSum';
|
||||||
// 获取应付核销抬头
|
// 获取应付核销抬头
|
||||||
@ -108,6 +116,8 @@ export class FreightAccountService extends ShipperBaseService {
|
|||||||
|
|
||||||
// 查询总账凭证表
|
// 查询总账凭证表
|
||||||
$api_get_fico_vch_page = '/api/fcc/ficoVcH/list/page';
|
$api_get_fico_vch_page = '/api/fcc/ficoVcH/list/page';
|
||||||
|
// 导出总账凭证列表数据
|
||||||
|
$api_get_fico_vch_export = '/api/fcc/ficoVcH/asyncExport';
|
||||||
// 导出总账凭证表
|
// 导出总账凭证表
|
||||||
$api_export_fico_vch_page = '/api/fcc/ficoVcH/reportVchListPage';
|
$api_export_fico_vch_page = '/api/fcc/ficoVcH/reportVchListPage';
|
||||||
// 获取总账凭证表详情信息
|
// 获取总账凭证表详情信息
|
||||||
@ -115,6 +125,8 @@ export class FreightAccountService extends ShipperBaseService {
|
|||||||
|
|
||||||
// 查询付款单抬头
|
// 查询付款单抬头
|
||||||
$api_get_payment_page = '/api/fcc/ficoPayH/listFicoPayHPage';
|
$api_get_payment_page = '/api/fcc/ficoPayH/listFicoPayHPage';
|
||||||
|
// 付款单列表数据导出
|
||||||
|
$api_get_payment_page_export = '/api/fcc/ficoPayH/asyncExport';
|
||||||
// 查询付款单明细
|
// 查询付款单明细
|
||||||
$api_get_payment_detail = '/api/fcc/ficoPayL/list/page';
|
$api_get_payment_detail = '/api/fcc/ficoPayL/list/page';
|
||||||
// 付款单抬头信息
|
// 付款单抬头信息
|
||||||
@ -122,6 +134,8 @@ export class FreightAccountService extends ShipperBaseService {
|
|||||||
|
|
||||||
// 查询收款单抬头
|
// 查询收款单抬头
|
||||||
$api_get_receipt_page = '/api/fcc/ficoBrmH/list/page';
|
$api_get_receipt_page = '/api/fcc/ficoBrmH/list/page';
|
||||||
|
// 收款单列表数据导出
|
||||||
|
$api_get_receipt_page_export = '/api/fcc/ficoBrmH/asyncExport';
|
||||||
// 收款单抬头信息
|
// 收款单抬头信息
|
||||||
$api_get_receipt_header = '/api/fcc/ficoBrmH/get';
|
$api_get_receipt_header = '/api/fcc/ficoBrmH/get';
|
||||||
// 获取收款单抬头
|
// 获取收款单抬头
|
||||||
|
|||||||
@ -104,10 +104,9 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div nz-row [nzGutter]="24">
|
<div nz-row [nzGutter]="24">
|
||||||
<div nz-col [nzSpan]="12">
|
<div class="handling-col" nz-col [nzSpan]="12">
|
||||||
<div class="handling-info p-md">
|
<div class="handling-info p-md">
|
||||||
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
|
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
|
||||||
|
|
||||||
<div class="flex" *ngIf="item.type === '1'">
|
<div class="flex" *ngIf="item.type === '1'">
|
||||||
<div class="loading-row">
|
<div class="loading-row">
|
||||||
<div class="handling-info-icon loading-bg">装</div>
|
<div class="handling-info-icon loading-bg">装</div>
|
||||||
@ -121,7 +120,7 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="12">
|
<div class="handling-col" nz-col [nzSpan]="12">
|
||||||
<div class="handling-info p-md">
|
<div class="handling-info p-md">
|
||||||
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
|
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
|
||||||
<div class="flex" *ngIf="item.type === '2'">
|
<div class="flex" *ngIf="item.type === '2'">
|
||||||
@ -176,9 +175,7 @@
|
|||||||
结算依据为2时,装货时间不为空,显示运费信息,否则隐藏
|
结算依据为2时,装货时间不为空,显示运费信息,否则隐藏
|
||||||
[hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"
|
[hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"
|
||||||
-->
|
-->
|
||||||
<nz-card #distannce3
|
<nz-card #distannce3 [nzBorderless]="true" class="mb0">
|
||||||
|
|
||||||
[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>
|
||||||
<span>运费信息</span>
|
<span>运费信息</span>
|
||||||
|
|||||||
@ -31,7 +31,8 @@
|
|||||||
<div class="tab_header">
|
<div class="tab_header">
|
||||||
<label class="page_title">
|
<label class="page_title">
|
||||||
<label class="driver">|</label>
|
<label class="driver">|</label>
|
||||||
大宗订单</label>
|
大宗订单</label
|
||||||
|
>
|
||||||
<nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate">
|
<nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate">
|
||||||
<nz-tab [nzTitle]="'全部(' + tabs?.totalCount + ')'"></nz-tab>
|
<nz-tab [nzTitle]="'全部(' + tabs?.totalCount + ')'"></nz-tab>
|
||||||
<nz-tab [nzTitle]="'待接单(' + tabs?.receivedQuantity + ')'"></nz-tab>
|
<nz-tab [nzTitle]="'待接单(' + tabs?.receivedQuantity + ')'"></nz-tab>
|
||||||
@ -44,10 +45,17 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<st #st [bordered]="true" [scroll]="{ x: '2000px',y:scrollY }" [data]="service.$api_get_listBulkPage"
|
<st
|
||||||
[columns]="columns" [req]="{ process: beforeReq }"
|
#st
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } , process: afterRes}"
|
[bordered]="true"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false">
|
[scroll]="{ x: '2000px', y: scrollY }"
|
||||||
|
[data]="service.$api_get_listBulkPage"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ process: beforeReq }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
[loading]="false"
|
||||||
|
>
|
||||||
<ng-template st-row="freightPrice" let-item let-index="index">
|
<ng-template st-row="freightPrice" let-item let-index="index">
|
||||||
{{ item.freightPrice | currency }}
|
{{ item.freightPrice | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -56,19 +64,19 @@
|
|||||||
<div *ngIf="item?.unloadTime">卸 | {{ item?.unloadTime }}</div>
|
<div *ngIf="item?.unloadTime">卸 | {{ item?.unloadTime }}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="driverName" let-item let-index="index">
|
<ng-template st-row="driverName" let-item let-index="index">
|
||||||
<div> {{ item?.driverName }}{{ item?.driverPhone ? "/" + item?.driverPhone : '' }}{{ item?.carNo ? "/" +
|
<div> {{ item?.driverName }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }}{{ item?.carNo ? '/' + item?.carNo : '' }} </div>
|
||||||
item?.carNo : ''}} </div>
|
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="settlementWeight" let-item let-index="index">
|
<ng-template st-row="settlementWeight" let-item let-index="index">
|
||||||
<div> {{ item.settlementWeight ? item.settlementWeight + '吨/ ': ''}} {{ item.settlementVolume ?
|
<div>
|
||||||
item.settlementVolume + '方 ': ''}}</div>
|
{{ item.settlementWeight ? item.settlementWeight + '吨/ ' : '' }}
|
||||||
|
{{ item.settlementVolume ? item.settlementVolume + '方 ' : '' }}</div
|
||||||
|
>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="payeeName" let-item let-index="index">
|
<ng-template st-row="payeeName" let-item let-index="index">
|
||||||
<div *ngIf="item.payeeName !== item.driverName"> {{ item?.payeeName }}{{ item?.payeePhone ? "/" +
|
<div *ngIf="item.payeeName !== item.driverName"> {{ item?.payeeName }}{{ item?.payeePhone ? '/' + item?.payeePhone : '' }} </div>
|
||||||
item?.payeePhone : '' }} </div>
|
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="createUserName" let-item let-index="index">
|
<ng-template st-row="createUserName" let-item let-index="index">
|
||||||
<div> {{ item?.createUserName }}{{ item?.createUserPhone ? "/" + item?.createUserPhone : '' }} </div>
|
<div> {{ item?.createUserName }}{{ item?.createUserPhone ? '/' + item?.createUserPhone : '' }} </div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="billCode" let-item let-index="index">
|
<ng-template st-row="billCode" let-item let-index="index">
|
||||||
<a [routerLink]="'bulk-detail/' + item.id">{{ item.billCode }}</a>
|
<a [routerLink]="'bulk-detail/' + item.id">{{ item.billCode }}</a>
|
||||||
@ -91,8 +99,7 @@
|
|||||||
<div *ngIf="item.mybidDetailInfo.length > 0">
|
<div *ngIf="item.mybidDetailInfo.length > 0">
|
||||||
<p *ngFor="let data of item.mybidDetailInfo">
|
<p *ngFor="let data of item.mybidDetailInfo">
|
||||||
<span *ngIf="data.expenseCode !== 'FL'">{{ data.expenseName }}:{{ data.price | currency }}</span>
|
<span *ngIf="data.expenseCode !== 'FL'">{{ data.expenseName }}:{{ data.price | currency }}</span>
|
||||||
<span *ngIf="data.expenseCode === 'FL'">{{ data.expenseName }}:{{ (data.price * 100).toFixed(2) + '%'
|
<span *ngIf="data.expenseCode === 'FL'">{{ data.expenseName }}:{{ (data.price * 100).toFixed(2) + '%' }}</span>
|
||||||
}}</span>
|
|
||||||
<span *ngIf="data.paymentStatusLabel" style="color: #f59a63">{{ data.paymentStatusLabel }}</span>
|
<span *ngIf="data.paymentStatusLabel" style="color: #f59a63">{{ data.paymentStatusLabel }}</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -101,13 +108,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooter" nzTitle="运费变更记录" (nzOnOk)="handleOK()"
|
<nz-modal
|
||||||
(nzOnCancel)="handleCancel('0')">
|
[(nzVisible)]="isVisible"
|
||||||
|
[nzWidth]="600"
|
||||||
|
[nzFooter]="nzModalFooter"
|
||||||
|
nzTitle="运费变更记录"
|
||||||
|
(nzOnOk)="handleOK()"
|
||||||
|
(nzOnCancel)="handleCancel('0')"
|
||||||
|
>
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<st #stFloat size="small" [bordered]="true" [data]="service.$api_get_listChangeApply" [columns]="columnsFloat"
|
<st
|
||||||
[req]="{ process: beforeReq }"
|
#stFloat
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } , process: afterRes}"
|
size="small"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }">
|
[bordered]="true"
|
||||||
|
[data]="service.$api_get_listChangeApply"
|
||||||
|
[columns]="columnsFloat"
|
||||||
|
[req]="{ process: beforeReq }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
>
|
||||||
<ng-template st-row="order" let-item let-index="index">
|
<ng-template st-row="order" let-item let-index="index">
|
||||||
{{ index + 1 }}
|
{{ index + 1 }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -127,8 +146,14 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</nz-modal>
|
</nz-modal>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisibleView" [nzWidth]="600" [nzFooter]="nzModalFooterview" nzTitle="查看"
|
<nz-modal
|
||||||
(nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('1')">
|
[(nzVisible)]="isVisibleView"
|
||||||
|
[nzWidth]="600"
|
||||||
|
[nzFooter]="nzModalFooterview"
|
||||||
|
nzTitle="查看"
|
||||||
|
(nzOnOk)="handleOK()"
|
||||||
|
(nzOnCancel)="handleCancel('1')"
|
||||||
|
>
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<sf #sfView [schema]="schemaView" [ui]="uiView" [formData]="ViewCause" [compact]="true" [button]="'none'">
|
<sf #sfView [schema]="schemaView" [ui]="uiView" [formData]="ViewCause" [compact]="true" [button]="'none'">
|
||||||
<ng-template sf-template="no" let-me let-ui="uiView" let-schema="schemaView">
|
<ng-template sf-template="no" let-me let-ui="uiView" let-schema="schemaView">
|
||||||
@ -138,21 +163,30 @@
|
|||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
<st #stFloatView multiSort size="small" [bordered]="true" [data]="service.$api_getChangeRecordBulkDetail"
|
<st
|
||||||
|
#stFloatView
|
||||||
|
multiSort
|
||||||
|
size="small"
|
||||||
|
[bordered]="true"
|
||||||
|
[data]="service.$api_getChangeRecordBulkDetail"
|
||||||
[columns]="columnsFloatView"
|
[columns]="columnsFloatView"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: changeViewParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: changeViewParams }"
|
||||||
[res]="{ reName: { list: 'data.list', total: 'data.total' } }">
|
[res]="{ reName: { list: 'data.list', total: 'data.total' } }"
|
||||||
|
>
|
||||||
<ng-template st-row="amountBeforeChange" let-item let-index="index">
|
<ng-template st-row="amountBeforeChange" let-item let-index="index">
|
||||||
{{ item.amountBeforeChange | currency }}
|
{{ item.amountBeforeChange | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="amountchangeValue" let-item let-index="index"> ¥{{ item.amountchangeValue | number: '0.2-2'
|
<ng-template st-row="amountchangeValue" let-item let-index="index"> ¥{{ item.amountchangeValue | number: '0.2-2' }} </ng-template>
|
||||||
}} </ng-template>
|
|
||||||
<ng-template st-row="amountAfterChange" let-item let-index="index">
|
<ng-template st-row="amountAfterChange" let-item let-index="index">
|
||||||
{{ item.amountAfterChange | currency }}
|
{{ item.amountAfterChange | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
<div><span>变更原因:{{ ViewCause?.changeCause }}</span></div>
|
<div
|
||||||
<div><span>拒绝原因:{{ ViewCause?.refuseCause }}</span></div>
|
><span>变更原因:{{ ViewCause?.changeCause }}</span></div
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
><span>拒绝原因:{{ ViewCause?.refuseCause }}</span></div
|
||||||
|
>
|
||||||
<div><span>注:附加费依据调整后的运输费用重新计算</span></div>
|
<div><span>注:附加费依据调整后的运输费用重新计算</span></div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #nzModalFooterview>
|
<ng-template #nzModalFooterview>
|
||||||
@ -161,8 +195,13 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</nz-modal>
|
</nz-modal>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisibleEvaluate" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()"
|
<nz-modal
|
||||||
(nzOnCancel)="handleCancel('2')">
|
[(nzVisible)]="isVisibleEvaluate"
|
||||||
|
[nzWidth]="600"
|
||||||
|
[nzFooter]="nzModalFooterEvaluate"
|
||||||
|
(nzOnOk)="handleOK()"
|
||||||
|
(nzOnCancel)="handleCancel('2')"
|
||||||
|
>
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<nz-tabset>
|
<nz-tabset>
|
||||||
<nz-tab nzTitle="货主评价">
|
<nz-tab nzTitle="货主评价">
|
||||||
@ -191,20 +230,28 @@
|
|||||||
<ng-template #enable>
|
<ng-template #enable>
|
||||||
<div class="ant-popover-message">
|
<div class="ant-popover-message">
|
||||||
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
||||||
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">已选择{{
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px"
|
||||||
selectedRows?.length || 0 }}条订单,确认批量签收吗?
|
>已选择{{ selectedRows?.length || 0 }}条订单,确认批量签收吗?
|
||||||
</div>
|
</div>
|
||||||
<div class="ant-popover-message-title ng-star-inserted"> 签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。 </div>
|
<div class="ant-popover-message-title ng-star-inserted"> 签收后不可再修改运费,请确保运费等信息准确无误后,再进行签收。 </div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #extraTemplate>
|
<ng-template #extraTemplate>
|
||||||
<div class="mr-sm">
|
<div class="mr-sm">
|
||||||
<button nz-button nzDanger [nzLoading]="loading" (click)="openDrawer()" acl
|
<button nz-button nzDanger [nzLoading]="loading" (click)="openDrawer()" acl [acl-ability]="['ORDER-BULK-search']">筛选</button>
|
||||||
[acl-ability]="['ORDER-BULK-search']">筛选</button>
|
|
||||||
<button nz-button nzDanger [disabled]="loading" (click)="exprot()">导出</button>
|
<button nz-button nzDanger [disabled]="loading" (click)="exprot()">导出</button>
|
||||||
<button *ngIf="resourceStatus == 4" nz-button nzType="primary" nzGhost nz-popconfirm [nzPopconfirmTitle]="enable"
|
<button
|
||||||
(nzOnConfirm)="userAction()" nzPopconfirmPlacement="bottomRight" acl
|
*ngIf="resourceStatus == 4"
|
||||||
[acl-ability]="['ORDER-BULK-batchSignBulkOrder']">
|
nz-button
|
||||||
|
nzType="primary"
|
||||||
|
nzGhost
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="enable"
|
||||||
|
(nzOnConfirm)="userAction()"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['ORDER-BULK-batchSignBulkOrder']"
|
||||||
|
>
|
||||||
批量签收
|
批量签收
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -824,4 +824,5 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements
|
|||||||
exprot() {
|
exprot() {
|
||||||
this.service.exportStart({ ...this.reqParams, pageSize: -1 }, this.service.$api_get_asyncExportBulkList);
|
this.service.exportStart({ ...this.reqParams, pageSize: -1 }, this.service.$api_get_asyncExportBulkList);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-12 10:52:50
|
* @Date : 2022-01-12 10:52:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-29 10:29:12
|
* @LastEditTime : 2022-05-10 13:55:39
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\receipts-audit\\receipts-audit.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\receipts-audit\\receipts-audit.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -39,10 +39,17 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<st #st [bordered]="true" [scroll]="{ x: '2000px',y:scrollY }" [data]="service.$api_get_billExamine_page"
|
<st
|
||||||
[columns]="columns" [req]="{ process: beforeReq }"
|
#st
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } , process: afterRes}"
|
[bordered]="true"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false">
|
[scroll]="{ x: '2000px', y: scrollY }"
|
||||||
|
[data]="service.$api_get_billExamine_page"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ process: beforeReq }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
[loading]="false"
|
||||||
|
>
|
||||||
<ng-template st-row="freightPrice" let-item let-index="index">
|
<ng-template st-row="freightPrice" let-item let-index="index">
|
||||||
{{ item.freightPrice | currency }}
|
{{ item.freightPrice | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -62,8 +69,7 @@
|
|||||||
<app-imagelist style="width: 40px" [imgList]="[item.unloadingLadingBillFilePath]"> </app-imagelist>
|
<app-imagelist style="width: 40px" [imgList]="[item.unloadingLadingBillFilePath]"> </app-imagelist>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="item.unloadingPeopleVehiclesGoodsFilePath">
|
<div *ngIf="item.unloadingPeopleVehiclesGoodsFilePath">
|
||||||
<app-imagelist style="width: 40px" [imgList]="[item.unloadingPeopleVehiclesGoodsFilePath]">
|
<app-imagelist style="width: 40px" [imgList]="[item.unloadingPeopleVehiclesGoodsFilePath]"> </app-imagelist>
|
||||||
</app-imagelist>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -72,26 +78,21 @@
|
|||||||
<div *ngIf="item?.unloadingTime">卸 | {{ item?.unloadingTime }}</div>
|
<div *ngIf="item?.unloadingTime">卸 | {{ item?.unloadingTime }}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="driverName" let-item let-index="index">
|
<ng-template st-row="driverName" let-item let-index="index">
|
||||||
<div> {{ item?.driverName }}{{ item?.driverPhone ? "/" + item?.driverPhone : ''}}{{ item?.carNo ? "/" +
|
<div> {{ item?.driverName }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }}{{ item?.carNo ? '/' + item?.carNo : '' }} </div>
|
||||||
item?.carNo : '' }} </div>
|
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="payeeName" let-item let-index="index">
|
<ng-template st-row="payeeName" let-item let-index="index">
|
||||||
<div> {{ item?.payeeName }}{{item?.payeePhone ? "/" + item?.payeePhone : '' }} </div>
|
<div *ngIf="item.payeeName !== item.driverName"> {{ item?.payeeName }}{{ item?.payeePhone ? '/' + item?.payeePhone : '' }} </div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="billCode" let-item let-index="index">
|
<ng-template st-row="billCode" let-item let-index="index">
|
||||||
<!-- <div>{{ item.billCode }}</div> -->
|
<!-- <div>{{ item.billCode }}</div> -->
|
||||||
<a *ngIf="item.resourceType == '1'" [routerLink]="'/order-management/vehicle/vehicle-detail/' + item.id">{{
|
<a *ngIf="item.resourceType == '1'" [routerLink]="'/order-management/vehicle/vehicle-detail/' + item.id">{{ item.billCode }}</a>
|
||||||
item.billCode }}</a>
|
<a *ngIf="item.resourceType == '2'" [routerLink]="'/order-management/bulk/bulk-detail/' + item.id">{{ item.billCode }}</a>
|
||||||
<a *ngIf="item.resourceType == '2'" [routerLink]="'/order-management/bulk/bulk-detail/' + item.id">{{
|
<a *ngIf="item.resourceType == '3'" [routerLink]="'/order-management/vehicle/vehicle-detail/' + item.id">{{ item.billCode }}</a>
|
||||||
item.billCode }}</a>
|
|
||||||
<a *ngIf="item.resourceType == '3'" [routerLink]="'/order-management/vehicle/vehicle-detail/' + item.id">{{
|
|
||||||
item.billCode }}</a>
|
|
||||||
<div>
|
<div>
|
||||||
<span>{{item?.billStatusLabel}}</span>
|
<span>{{ item?.billStatusLabel }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>{{item?.resourceTypeLabel}}{{item?.serviceTypeLabel === item?.resourceTypeLabel ?
|
<span>{{ item?.resourceTypeLabel }}{{ item?.serviceTypeLabel === item?.resourceTypeLabel ? '' : item?.serviceTypeLabel }}</span>
|
||||||
'':item?.serviceTypeLabel}}</span>
|
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="goodsName" let-item let-index="index">
|
<ng-template st-row="goodsName" let-item let-index="index">
|
||||||
@ -116,19 +117,17 @@
|
|||||||
|
|
||||||
<ng-template #extraTemplate>
|
<ng-template #extraTemplate>
|
||||||
<div>
|
<div>
|
||||||
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
|
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl [acl-ability]="['ORDER-RECEIPTS-search']"
|
||||||
[acl-ability]="['ORDER-RECEIPTS-search']">筛选</button>
|
>筛选</button
|
||||||
|
>
|
||||||
<button nz-button nzDanger [disabled]="false" (click)="exprot()" acl [acl-ability]="['ORDER-RECEIPTS-export']">导出</button>
|
<button nz-button nzDanger [disabled]="false" (click)="exprot()" acl [acl-ability]="['ORDER-RECEIPTS-export']">导出</button>
|
||||||
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
||||||
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
|
更多<i nz-icon nzType="down" nzTheme="outline"></i
|
||||||
|
></button>
|
||||||
<nz-dropdown-menu #menu="nzDropdownMenu">
|
<nz-dropdown-menu #menu="nzDropdownMenu">
|
||||||
<ul nz-menu>
|
<ul nz-menu>
|
||||||
<li nz-menu-item (click)="sign('1')" acl [acl-ability]="['ORDER-RECEIPTS-billAuditPassBatch']">
|
<li nz-menu-item (click)="sign('1')" acl [acl-ability]="['ORDER-RECEIPTS-billAuditPassBatch']"> 批量通过 </li>
|
||||||
批量通过
|
<li nz-menu-item (click)="sign1('1')" acl [acl-ability]="['ORDER-RECEIPTS- electronicBilling']"> 批量生成电子单据 </li>
|
||||||
</li>
|
|
||||||
<li nz-menu-item (click)="sign1('1')" acl [acl-ability]="['ORDER-RECEIPTS- electronicBilling']">
|
|
||||||
批量生成电子单据
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</nz-dropdown-menu>
|
</nz-dropdown-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -127,7 +127,6 @@ export class OrderManagementReceiptsAuditComponent extends BasicTableComponent i
|
|||||||
this.initST();
|
this.initST();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.st.load();
|
this.st.load();
|
||||||
this.getGoodsSourceStatistical();
|
|
||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
@ -341,7 +340,6 @@ export class OrderManagementReceiptsAuditComponent extends BasicTableComponent i
|
|||||||
title: '车队长',
|
title: '车队长',
|
||||||
className: 'text-left',
|
className: 'text-left',
|
||||||
width: '180px',
|
width: '180px',
|
||||||
index: 'payeeName',
|
|
||||||
render: 'payeeName'
|
render: 'payeeName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -134,8 +134,8 @@
|
|||||||
<div class="handling-col" nz-col [nzSpan]="12">
|
<div class="handling-col" nz-col [nzSpan]="12">
|
||||||
<div class="handling-info p-md">
|
<div class="handling-info p-md">
|
||||||
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
|
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
|
||||||
<div class="flex" *ngFor="let item of i?.unLoadingPlaceList">
|
<div class="flex" *ngIf="item.type === '2'">
|
||||||
<div *ngIf="item.type === '2'" class="loading-row">
|
<div class="loading-row">
|
||||||
<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>
|
||||||
@ -290,7 +290,7 @@
|
|||||||
<div nz-col [nzSpan]="24">
|
<div nz-col [nzSpan]="24">
|
||||||
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois">
|
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois">
|
||||||
</amap-path-simplifier>
|
</amap-path-simplifier>
|
||||||
<st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [noResult]='fuck' [ps]="0"
|
<st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [noResult]='fuck' [ps]="0"
|
||||||
[page]="{ show: false, showSize: false }" size="small" class="map_st">
|
[page]="{ show: false, showSize: false }" size="small" class="map_st">
|
||||||
<ng-template #fuck>
|
<ng-template #fuck>
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-12 10:52:50
|
* @Date : 2022-01-12 10:52:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-22 16:53:07
|
* @LastEditTime : 2022-05-11 09:49:01
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle\\vehicle.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle\\vehicle.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -95,10 +95,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="driverName" let-item let-index="index">
|
<ng-template st-row="driverName" let-item let-index="index">
|
||||||
<div> {{ item?.driverName }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }}{{ item?.carNo ? '/' +
|
<div> {{ item?.driverName }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }}{{ item?.carNo ? '/' + item?.carNo : '' }} </div>
|
||||||
item?.carNo : '' }} </div><br />
|
</ng-template>
|
||||||
<div *ngIf="item.payeeName !== item.driverName">车队长: {{ item?.payeeName ? item?.payeeName + '/' : ''}}{{
|
<ng-template st-row="payeeName" let-item let-index="index">
|
||||||
item?.payeePhone }} </div>
|
<div *ngIf="item.payeeName !== item.driverName"> {{ item?.payeeName }}{{ item?.payeePhone ? '/' + item?.payeePhone : '' }} </div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template st-row="loadingTime" let-item let-index="index">
|
<ng-template st-row="loadingTime" let-item let-index="index">
|
||||||
|
|||||||
@ -379,8 +379,15 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
title: '承运司机',
|
title: '承运司机',
|
||||||
className: 'text-left',
|
className: 'text-left',
|
||||||
width: '250px',
|
width: '250px',
|
||||||
|
index: 'driverName',
|
||||||
render: 'driverName'
|
render: 'driverName'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '车队长',
|
||||||
|
className: 'text-left',
|
||||||
|
width: '180px',
|
||||||
|
render: 'payeeName'
|
||||||
|
},
|
||||||
{ title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' },
|
{ title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' },
|
||||||
{ title: '关联运单号', index: 'wayBillCode', width: '170px', className: 'text-left' },
|
{ title: '关联运单号', index: 'wayBillCode', width: '170px', className: 'text-left' },
|
||||||
{ title: '关联货源编号', index: 'resourceCode', width: '170px', className: 'text-left' },
|
{ title: '关联货源编号', index: 'resourceCode', width: '170px', className: 'text-left' },
|
||||||
|
|||||||
@ -1,3 +1,13 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-04-28 20:27:07
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-05-12 14:57:21
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\account-management\\components\\recorded-detail\\recorded-detail.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
<page-header-wrapper [title]="'待入账明细'" [logo]="logo">
|
<page-header-wrapper [title]="'待入账明细'" [logo]="logo">
|
||||||
<ng-template #logo>
|
<ng-template #logo>
|
||||||
<button nz-button (click)="goBack()">
|
<button nz-button (click)="goBack()">
|
||||||
@ -6,29 +16,44 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<sv-container layout="vertical" [noColon]="true" col="5">
|
<sv-container layout="vertical" [noColon]="true" col="6">
|
||||||
<sv [label]="labelTpl">
|
<sv label="合伙人信息">
|
||||||
<b class="text-md ">{{summaryObj?.taxno}}</b>
|
<div
|
||||||
|
><b>{{ summaryObj?.partnerName }}</b></div
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
><b>{{ summaryObj?.partnerInfo }}</b></div
|
||||||
|
>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="返佣总额">
|
<sv label="返佣总额">
|
||||||
<span class="text-error-dark font-weight-bold">{{(summaryObj?.totalRebate?summaryObj?.totalRebate: 0 )|currency :'
|
<span class="text-error-dark font-weight-bold">{{ (summaryObj?.totalRebate ? summaryObj?.totalRebate : 0) | currency }}</span>
|
||||||
'}}</span>
|
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="已入账金额">
|
<sv label="已入账金额">
|
||||||
<span class="text-error-dark font-weight-bold">{{(summaryObj?.recordedAmount?summaryObj?.recordedAmount:0
|
<span class="text-error-dark font-weight-bold">{{ (summaryObj?.recordedAmount ? summaryObj?.recordedAmount : 0) | currency }}</span>
|
||||||
)|currency:' '}}</span>
|
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="代缴个税">
|
<sv label="已代缴个税">
|
||||||
<span class="text-error-dark font-weight-bold">{{(summaryObj?.taxPersonalSum?summaryObj?.taxPersonalSum:0
|
<span class="text-error-dark font-weight-bold">{{
|
||||||
)|currency:' '}}</span>
|
(summaryObj?.recordedTaxPersonal ? summaryObj?.recordedTaxPersonal : 0) | currency
|
||||||
|
}}</span>
|
||||||
|
</sv>
|
||||||
|
<sv label="入账中金额">
|
||||||
|
<span class="text-error-dark font-weight-bold">{{
|
||||||
|
(summaryObj?.ongoingRecordedAmount ? summaryObj?.ongoingRecordedAmount : 0) | currency
|
||||||
|
}}</span>
|
||||||
|
</sv>
|
||||||
|
<sv label="代缴中个税">
|
||||||
|
<span class="text-error-dark font-weight-bold">{{
|
||||||
|
(summaryObj?.waitRecordedTaxPersonal ? summaryObj?.waitRecordedTaxPersonal : 0) | currency
|
||||||
|
}}</span>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="待入账金额">
|
<sv label="待入账金额">
|
||||||
<span class="text-error-dark font-weight-bold">{{(summaryObj?.waitRecordedAmount?summaryObj?.waitRecordedAmount:0)
|
<span class="text-error-dark font-weight-bold">{{
|
||||||
|currency:' '}}</span>
|
(summaryObj?.waitRecordedAmount ? summaryObj?.waitRecordedAmount : 0) | currency
|
||||||
|
}}</span>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
<ng-template #labelTpl>
|
<ng-template #labelTpl>
|
||||||
<b class="text-md" style="color: black;">{{summaryObj?.ltdName}}</b>
|
<b class="text-md" style="color: black">{{ summaryObj?.ltdName }}</b>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
@ -36,44 +61,109 @@
|
|||||||
<sf mode="search" #sf [schema]="schema" [ui]="ui" (formSubmit)="search()" (formReset)="resetSF()"></sf>
|
<sf mode="search" #sf [schema]="schema" [ui]="ui" (formSubmit)="search()" (formReset)="resetSF()"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-content">
|
<div class="table-content">
|
||||||
<st #st [data]="service.$api_get_invoice_detail_page " [columns]="columns"
|
<st
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: {pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
#st
|
||||||
|
[data]="service.$api_get_invoice_detail_page"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [5,10, 20, 50, 100, 200, 500] }"
|
[page]="{ show: true, showSize: true, pageSizes: [5, 10, 20, 50, 100, 200, 500] }"
|
||||||
[loading]="service.http.loading" [scroll]="{x:'1200px'}">
|
[scroll]="{ x: '1200px' }"
|
||||||
<ng-template st-row="amount" let-item>
|
>
|
||||||
<div *ngIf="item.incomeType === '1'"> - {{item.amount | currency }}</div>
|
<!-- [loading]="service.http.loading" -->
|
||||||
<div *ngIf="item.incomeType === '2'"> + {{item.amount | currency }}</div>
|
|
||||||
|
<ng-template st-row="recordedAmount" let-item>
|
||||||
|
<div>{{ item.recordedAmount | currency }}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="recordedTaxPersonal" let-item>
|
||||||
|
<div>{{ item.recordedTaxPersonal | currency }}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="ongoingRecordedAmount" let-item>
|
||||||
|
<div>{{ item.ongoingRecordedAmount | currency }}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="waitRecordedTaxPersonal" let-item>
|
||||||
|
<div>{{ item.waitRecordedTaxPersonal | currency }}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="changeAmount" let-item>
|
||||||
|
<div (click)="changeB(item)" style="color: #1890ff;">{{ item.changeAmount | currency }}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="waitRecordedAmount" let-item>
|
||||||
|
<div>{{ item.waitRecordedAmount | currency }}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="totalRebate" let-item>
|
||||||
|
<div>{{ item.totalRebate | currency }}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
<div class="total-footer text-md" *ngIf="st?.list?.length !== 0 ">
|
|
||||||
合计 <label class="text-red-dark">{{ footerSummary?.total }}</label> 项,收入 <label
|
|
||||||
class="text-red-dark font-weight-bold">{{
|
|
||||||
footerSummary?.income | currency
|
|
||||||
}}</label>,支出 <label class="text-red-dark font-weight-bold">{{
|
|
||||||
footerSummary?.spending | currency }}</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="showBillDetail" nzTitle="账户明细" [nzFooter]="null" (nzOnCancel)="handleCancel()" nzWidth="700px">
|
<nz-modal [(nzVisible)]="showBillDetail" nzTitle="账户明细" [nzFooter]="null" (nzOnCancel)="handleCancel()" nzWidth="700px">
|
||||||
<div *nzModalContent>
|
<div *nzModalContent>
|
||||||
<div class="mb-sm">
|
<div class="mb-sm">
|
||||||
<span class="mr-xxl text-sm font-weight-bold"><label>网络货运人:</label>{{detailRecord?.ltdName}}</span>
|
<span class="mr-xxl text-sm font-weight-bold"><label>网络货运人:</label>{{ detailRecord?.ltdName }}</span>
|
||||||
<span class="text-sm font-weight-bold"><label>返佣总额(元):</label>{{detailRecord?.totalRebate |currency: ' '}}</span>
|
<span class="text-sm font-weight-bold"><label>返佣总额(元):</label>{{ detailRecord?.totalRebate | currency: ' ' }}</span>
|
||||||
</div>
|
</div>
|
||||||
<st #st [data]="billDetailList " [columns]="billDetailColumns" [res]="{ reName: { list: 'data' } }"
|
<st
|
||||||
[req]="{ method: 'POST', allInBody: true, params:billDetailReqParams}" [page]="{show:false}">
|
#st
|
||||||
|
[data]="billDetailList"
|
||||||
|
[columns]="billDetailColumns"
|
||||||
|
[res]="{ reName: { list: 'data' } }"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, params: billDetailReqParams }"
|
||||||
|
[page]="{ show: false }"
|
||||||
|
>
|
||||||
<ng-template st-row="month" let-item>
|
<ng-template st-row="month" let-item>
|
||||||
<div>
|
<div>
|
||||||
<span>{{item?.year }}年</span>
|
<span>{{ item?.year }}年</span>
|
||||||
<span>{{item?.month }}月</span>
|
<span>{{ item?.month }}月</span>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="profitAmountSum" let-item>
|
<ng-template st-row="profitAmountSum" let-item>
|
||||||
<div>{{item?.profitAmountSum |currency :' '}}</div>
|
<div>{{ item?.profitAmountSum | currency: ' ' }}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
</st>
|
</st>
|
||||||
</div>
|
</div>
|
||||||
</nz-modal>
|
</nz-modal>
|
||||||
|
<nz-modal [(nzVisible)]="showBillDetailB" nzTitle="调整待入账金额记录" [nzFooter]="null" (nzOnCancel)="handleCancelB()" nzWidth="900px">
|
||||||
|
<div *nzModalContent>
|
||||||
|
<div class="mb-sm">
|
||||||
|
<span class="mr-xxl text-sm font-weight-bold"><label>网络货运人:</label>{{ changeRecordB?.ltdName }}</span>
|
||||||
|
<span class="text-sm font-weight-bold"><label>调整金额(元):</label>{{ changeRecordB?.changeAmount | currency: ' ' }}</span>
|
||||||
|
</div>
|
||||||
|
<st
|
||||||
|
#stB
|
||||||
|
[scroll]="{x: '700px'}"
|
||||||
|
[data]="billDetailListB"
|
||||||
|
[columns]="billDetailColumnsB"
|
||||||
|
[res]="{ reName: { list: 'data' } }"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, params: billDetailReqParams }"
|
||||||
|
[page]="{ show: false }"
|
||||||
|
>
|
||||||
|
<ng-template st-row="changeAmount" let-item>
|
||||||
|
<div> {{item.changeAmount | currency}}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="createUserName" let-item>
|
||||||
|
<div>{{ item?.createUserName ? item?.createUserName : '--'}}/{{item?.createUserPhone ? item?.createUserPhone : '--'}}</div>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</div>
|
||||||
|
</nz-modal>
|
||||||
|
<nz-modal [(nzVisible)]="changeAccount" nzTitle="账户明细" [nzFooter]="nzModalFooter" (nzOnCancel)="handleCancelA()" nzWidth="600px">
|
||||||
|
<div *nzModalContent>
|
||||||
|
<div style="display: flex; justify-content: center; align-items: center;font-weight: 700; font-size: 16px; padding: 10px 0;"><label>网络货运人:</label>{{ changeRecord?.ltdName }}</div>
|
||||||
|
<div style="display: flex; justify-content: center; align-items: center;font-weight: 700; font-size: 16px; padding: 10px 0;"><label>待入账金额(元):</label>{{ changeRecord?.waitRecordedAmount | currency }}</div>
|
||||||
|
<sf #sfView [schema]="schemaView" [ui]="uiView" [compact]="true" [button]="'none'">
|
||||||
|
<ng-template sf-template="smsVerifyCode" let-me let-ui="uiView" let-schema="schemaView">
|
||||||
|
<div style="display: flex;">
|
||||||
|
<div [style.background-color]="addd ? '#ff4d4f' : '#ccc'" style="display: flex; justify-content: center; align-items: center;width: 30px; height: 30px; background-color: #ccc;margin: 0 10px;font-size: 14px;" (click)="add(changeAmount)">+</div>
|
||||||
|
<div style="display: flex; justify-content: center; align-items: center;width: 30px; height: 30px; background-color: #ccc;margin: 0 10px;font-size: 14px;" [style.background-color]="!addd ? '#ff4d4f' : '#ccc'" (click)="deletes(changeAmount)">-</div>
|
||||||
|
<nz-input-number style="width: 50%;height: 32px; border-radius: 4px 0 0 4px;" nzPlaceHolder="请输入金额" [(ngModel)]="changeAmount" [nzMin]="1" [nzMax]="99999999" [nzStep]="1"></nz-input-number>
|
||||||
|
<span style="margin: 10px ;">元</span>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
</sf>
|
||||||
|
</div>
|
||||||
|
<ng-template #nzModalFooter>
|
||||||
|
<button nz-button nzType="primary" (click)="handleCancel()">取消</button>
|
||||||
|
<button nz-button nzType="default" (click)="handleOK()">确定</button>
|
||||||
|
</ng-template>
|
||||||
|
</nz-modal>
|
||||||
|
|||||||
@ -0,0 +1,6 @@
|
|||||||
|
:host::ng-deep {
|
||||||
|
|
||||||
|
.file-col {
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,11 +3,13 @@ import { ActivatedRoute, Router } from '@angular/router';
|
|||||||
import { STColumn, STComponent } from '@delon/abc/st';
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema, Widget } from '@delon/form';
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema, Widget } from '@delon/form';
|
||||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { AccountManagemantService } from '../../services/account-managemant.service';
|
import { AccountManagemantService } from '../../services/account-managemant.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-partner-account-management-recorded-detail',
|
selector: 'app-partner-account-management-recorded-detail',
|
||||||
templateUrl: './recorded-detail.component.html',
|
styleUrls: ['./recorded-detail.component.less'],
|
||||||
|
templateUrl: './recorded-detail.component.html'
|
||||||
})
|
})
|
||||||
export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
||||||
summaryObj: any = {
|
summaryObj: any = {
|
||||||
@ -18,34 +20,42 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
|||||||
ltdName: '',
|
ltdName: '',
|
||||||
taxno: ''
|
taxno: ''
|
||||||
};
|
};
|
||||||
|
@ViewChild('sfView', { static: false }) sfView!: SFComponent;
|
||||||
|
schemaView!: SFSchema;
|
||||||
|
uiView: SFUISchema = {};
|
||||||
|
|
||||||
footerSummary = {
|
footerSummary = {
|
||||||
total: 0,
|
total: 0,
|
||||||
income: 0,
|
income: 0,
|
||||||
spending: 0
|
spending: 0
|
||||||
}
|
};
|
||||||
|
|
||||||
detailRecord: any = {};
|
detailRecord: any = {};
|
||||||
|
changeRecord: any = {};
|
||||||
|
changeRecordB: any = {};
|
||||||
|
|
||||||
url = `/user`;
|
url = `/user`;
|
||||||
schema: SFSchema = {};
|
schema: SFSchema = {};
|
||||||
ui!: SFUISchema;
|
ui!: SFUISchema;
|
||||||
@ViewChild('st') private readonly st!: STComponent;
|
@ViewChild('st') private readonly st!: STComponent;
|
||||||
|
@ViewChild('stB') private readonly stB!: STComponent;
|
||||||
@ViewChild('sf') private readonly sf!: SFComponent;
|
@ViewChild('sf') private readonly sf!: SFComponent;
|
||||||
|
|
||||||
|
|
||||||
columns: STColumn[] = [];
|
columns: STColumn[] = [];
|
||||||
billDetailColumns: STColumn[] = [];
|
billDetailColumns: STColumn[] = [];
|
||||||
|
billDetailColumnsB: STColumn[] = [];
|
||||||
showBillDetail = false;
|
showBillDetail = false;
|
||||||
|
changeAccount = false;
|
||||||
|
showBillDetailB = false;
|
||||||
|
addd = false;
|
||||||
billDetailList = [];
|
billDetailList = [];
|
||||||
|
billDetailListB = [];
|
||||||
roleId = '';
|
roleId = '';
|
||||||
|
changeAmount: number = 0;
|
||||||
constructor(public service: AccountManagemantService, public router: Router, public ar: ActivatedRoute) {
|
constructor(public service: AccountManagemantService, public router: Router, public ar: ActivatedRoute, private nzModalService: NzModalService,) {
|
||||||
this.roleId = this.ar.snapshot.params.id;
|
this.roleId = this.ar.snapshot.params.id;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
get reqParams() {
|
get reqParams() {
|
||||||
return { ...this.sf?.value, partnerId: this.roleId };
|
return { ...this.sf?.value, partnerId: this.roleId };
|
||||||
}
|
}
|
||||||
@ -63,45 +73,60 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
|||||||
this.schema = {
|
this.schema = {
|
||||||
properties: {
|
properties: {
|
||||||
ltdName: {
|
ltdName: {
|
||||||
title: '网络货运人',
|
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
title: '网络货运人',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
},
|
// allowClear: true,
|
||||||
},
|
// asyncData: () => this.service.getNetworkFreightForwarder(),
|
||||||
|
// visibleIf: {
|
||||||
|
// expand: (value: boolean) => value
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 } }, };
|
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 } } };
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化数据列表
|
* 初始化数据列表
|
||||||
*/
|
*/
|
||||||
initST() {
|
initST() {
|
||||||
this.columns = [
|
this.columns = [
|
||||||
{ title: '网络货运人', index: 'ltdName', className: 'text-center', width: 200 },
|
{ title: '网络货运人', index: 'ltdName', className: 'text-center', width: 200 },
|
||||||
{ title: '银行类型', render: 'bankTypeLabel', className: 'text-center', width: 150 },
|
{ title: '银行类型', index: 'bankTypeName', className: 'text-center', width: 150 },
|
||||||
{ title: '虚拟账户', render: 'fictitiousAccount', className: 'text-center', width: 200 },
|
{ title: '虚拟账户', index: 'virtualAccount', className: 'text-center', width: 200 },
|
||||||
{ title: '返佣总额(元)', index: 'totalRebate', className: 'text-center', width: 180, type: 'currency' },
|
{ title: '返佣总额(元)', render: 'totalRebate', className: 'text-center', width: 180 },
|
||||||
{ title: '已入账金额(元)', index: 'recordedAmount', className: 'text-center', width: 180, type: 'currency' },
|
{ title: '已入账金额(元)', render: 'recordedAmount', className: 'text-center', width: 180 },
|
||||||
{ title: '代缴个税(元)', index: 'taxPersonalSum', className: 'text-center', width: 180, type: 'currency' },
|
{ title: '已代缴个税(元)', render: 'recordedTaxPersonal', className: 'text-center', width: 180 },
|
||||||
{ title: '待入账金额(元)', index: 'waitRecordedAmount', className: 'text-right', width: 180, type: 'currency' },
|
{ title: '入账中金额(元)', render: 'ongoingRecordedAmount', className: 'text-center', width: 180 },
|
||||||
|
{ title: '代缴中个税(元)', render: 'waitRecordedTaxPersonal', className: 'text-center', width: 180 },
|
||||||
|
{ title: '调整金额(元)', render: 'changeAmount', className: 'text-center', width: 180 },
|
||||||
|
{ title: '待入账金额(元)', render: 'waitRecordedAmount', className: 'text-right', width: 180 },
|
||||||
{
|
{
|
||||||
title: '操作', className: 'text-center', width: 300,
|
title: '操作',
|
||||||
|
className: 'text-center',
|
||||||
|
width: 150,
|
||||||
|
fixed: 'right',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '查看入账记录',
|
text: '查看入账记录',
|
||||||
acl: { ability: ['AN-RECORDED-DETAIL-viewRecord'] },
|
acl: { ability: ['AN-RECORDED-DETAIL-viewRecord'] },
|
||||||
click: (_record) => this.viewBookedRecord(_record)
|
click: _record => this.viewBookedRecord(_record)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '查看账单明细',
|
text: '查看账单明细',
|
||||||
acl: { ability: ['AN-RECORDED-DETAIL-viewBill'] },
|
acl: { ability: ['AN-RECORDED-DETAIL-viewBill'] },
|
||||||
click: (_record) => this.viewAccountDetail(_record)
|
click: _record => this.viewAccountDetail(_record)
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
text: '调整待入账金额',
|
||||||
|
acl: { ability: [''] },
|
||||||
|
click: _record => this.changeStalyAccount(_record)
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,26 +135,69 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
|||||||
{ title: '账单月份', render: 'month', className: 'text-center', width: '40%' },
|
{ title: '账单月份', render: 'month', className: 'text-center', width: '40%' },
|
||||||
{ title: '返佣金额(元)', render: 'profitAmountSum', className: 'text-center', width: '40%' },
|
{ title: '返佣金额(元)', render: 'profitAmountSum', className: 'text-center', width: '40%' },
|
||||||
{
|
{
|
||||||
title: '操作', className: 'text-center', width: '20%', buttons: [
|
title: '操作',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '20%',
|
||||||
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '订单明细',
|
text: '订单明细',
|
||||||
click: (_record) => window.open(location.origin + `#/partner/rebate/record?ltdId=${_record?.ltdId}`)
|
click: _record => window.open(location.origin + `#/partner/rebate/record?ltdId=${_record?.ltdId}`)
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
}
|
||||||
]
|
];
|
||||||
}
|
}
|
||||||
|
initBillDetailSTB() {
|
||||||
|
this.billDetailColumnsB = [
|
||||||
|
{ title: '调整金额(元)', render: 'changeAmount', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '备注', index: 'remark', className: 'text-center', width: '200px' },
|
||||||
|
{ title: '操作时间', index: 'modifyTime', className: 'text-center', width: '200px' },
|
||||||
|
{ title: '操作人', index: 'createUserName', className: 'text-center', width: '150px' },
|
||||||
|
];
|
||||||
|
}
|
||||||
|
initSFNew() {
|
||||||
|
this.schemaView = {
|
||||||
|
properties: {
|
||||||
|
smsVerifyCode: {
|
||||||
|
title: '调整金额',
|
||||||
|
type: 'string',
|
||||||
|
description: '(“+”表示增加待入账金额,“-”表示减少待入账金额 )',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
placeholder: '请输入金额',
|
||||||
|
|
||||||
|
errors: {
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
remark: {
|
||||||
|
title: '备注',
|
||||||
|
type: 'string',
|
||||||
|
maxLength: 50,
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入备注',
|
||||||
|
widget: 'textarea',
|
||||||
|
autosize: { minRows: 3, maxRows: 6 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
required: ['smsVerifyCode', 'remark'],
|
||||||
|
};
|
||||||
|
this.uiView = {
|
||||||
|
'*': {
|
||||||
|
spanLabelFixed: 100,
|
||||||
|
grid: { span: 24 },
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
resetSF() {
|
resetSF() {
|
||||||
this.sf.reset();
|
this.sf.reset();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.st.reset();
|
this.st.reset();
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
search() {
|
search() {
|
||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
@ -142,16 +210,30 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
|||||||
if (res) {
|
if (res) {
|
||||||
this.billDetailList = res;
|
this.billDetailList = res;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取入账金额记录
|
||||||
|
*/
|
||||||
|
getBillDetailB(ltdId: string) {
|
||||||
|
let params = {
|
||||||
|
ltdId: ltdId,
|
||||||
|
partnerId: this.roleId ,
|
||||||
|
}
|
||||||
|
this.service.request(this.service.$api_get_getIncomeChangePage, params).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.billDetailListB = res.records;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export() { }
|
export() {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查看入账记录
|
* 查看入账记录
|
||||||
* @param record 当前行
|
* @param record 当前行
|
||||||
*/
|
*/
|
||||||
viewBookedRecord(record: any) {
|
viewBookedRecord(record: any) {
|
||||||
window.open(location.origin + `#/partner/recorded/record?ltdId=${record?.ltdId}`);
|
window.open(location.origin + `#/partner/recorded/record?ltdId=${record?.ltdId}`);
|
||||||
}
|
}
|
||||||
@ -167,22 +249,106 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
|
|||||||
this.detailRecord = record;
|
this.detailRecord = record;
|
||||||
this.getBillDetail(record?.ltdId);
|
this.getBillDetail(record?.ltdId);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 查看调整金额
|
||||||
|
* @param record 当前行
|
||||||
|
*/
|
||||||
|
changeB(record: any) {
|
||||||
|
// this.billDetailColumns = [];
|
||||||
|
this.showBillDetailB = true;
|
||||||
|
this.initBillDetailSTB();
|
||||||
|
this.changeRecordB = record;
|
||||||
|
this.getBillDetailB(record?.ltdId);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 调整待入账金额
|
||||||
|
* @param record 当前行
|
||||||
|
*/
|
||||||
|
changeStalyAccount(record: any) {
|
||||||
|
|
||||||
|
this.changeRecord = record;
|
||||||
|
let params:any = {
|
||||||
|
partnerId: this.roleId ,
|
||||||
|
ltdId: record.ltdId,
|
||||||
|
ltdName: record.ltdName,
|
||||||
|
}
|
||||||
|
this.service.request(this.service.$api_get_getPartnerLitAmountSummary, params).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.changeAmount = Math.abs(res.waitRecordedAmount)
|
||||||
|
if(res.waitRecordedAmount > 0) {
|
||||||
|
this.addd = true;
|
||||||
|
} else {
|
||||||
|
this.addd = false;
|
||||||
|
}
|
||||||
|
this.changeAccount = true;
|
||||||
|
this.initSFNew();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// this.getBillDetail(record?.ltdId);
|
||||||
|
}
|
||||||
|
|
||||||
getInvoiceSummary() {
|
getInvoiceSummary() {
|
||||||
this.service.request(this.service.$api_get_invoice_summary, { partnerId: this.roleId }).subscribe(res => {
|
this.service.request(this.service.$api_get_invoice_summary, { partnerId: this.roleId }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.summaryObj = res;
|
this.summaryObj = res;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.showBillDetail = false;
|
this.showBillDetail = false;
|
||||||
this.detailRecord = {};
|
this.detailRecord = {};
|
||||||
|
}
|
||||||
|
handleCancelA() {
|
||||||
|
this.changeAccount = false;
|
||||||
|
this.changeRecord = {};
|
||||||
|
}
|
||||||
|
handleCancelB() {
|
||||||
|
this.showBillDetailB = false;
|
||||||
|
this.changeRecordB = {};
|
||||||
}
|
}
|
||||||
goBack() {
|
goBack() {
|
||||||
window.history.go(-1);
|
window.history.go(-1);
|
||||||
}
|
}
|
||||||
|
deletes(value: number) {
|
||||||
|
this.addd = false
|
||||||
|
}
|
||||||
|
add(value: number) {
|
||||||
|
this.addd = true
|
||||||
|
}
|
||||||
|
handleOK() {
|
||||||
|
console.log(this.sfView.value);
|
||||||
|
|
||||||
|
if(!this.sfView.value?.remark || !this.changeAmount) {
|
||||||
|
this.service.msgSrv.error('请填写必填项!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.log(this.addd);
|
||||||
|
|
||||||
|
let params:any = {
|
||||||
|
remark: this.sfView.value?.remark,
|
||||||
|
partnerId: this.roleId ,
|
||||||
|
ltdId: this.changeRecord.ltdId
|
||||||
|
}
|
||||||
|
if(!this.addd) {
|
||||||
|
params.changeAmount = -this.changeAmount
|
||||||
|
} else {
|
||||||
|
params.changeAmount = this.changeAmount
|
||||||
|
}
|
||||||
|
console.log(params);
|
||||||
|
this.nzModalService.warning({
|
||||||
|
nzTitle: `确定调整“${params.changeAmount > 0 ? '+' + params.changeAmount : params.changeAmount}元”的待入账金额吗?`,
|
||||||
|
nzOnOk: () => {
|
||||||
|
this.service.request(this.service.$api_get_saveIncomeChange, params).subscribe((res) => {
|
||||||
|
if(res) {
|
||||||
|
console.log(res);
|
||||||
|
this.service.msgSrv.success('修改成功!')
|
||||||
|
this.changeAccount = false;
|
||||||
|
this.st.load()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-04-21 13:49:22
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-05-12 14:44:17
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\account-management\\services\\account-managemant.service.ts
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
*/
|
||||||
import { Injectable, Injector } from '@angular/core';
|
import { Injectable, Injector } from '@angular/core';
|
||||||
import { BaseService } from '@shared';
|
import { BaseService, ShipperBaseService } from '@shared';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class AccountManagemantService extends BaseService {
|
export class AccountManagemantService extends ShipperBaseService {
|
||||||
|
|
||||||
$api_get_account_management_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceByOperator`; // 账户管理
|
$api_get_account_management_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceByOperator`; // 账户管理
|
||||||
$api_get_virtual_detail_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceInfoByOperator`;//虚拟账户明细
|
$api_get_virtual_detail_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceInfoByOperator`;//虚拟账户明细
|
||||||
@ -15,6 +25,9 @@ export class AccountManagemantService extends BaseService {
|
|||||||
$api_get_bill_detail = `/api/bpc/partnerIncomeDetail/findPartnerWaitIncomeByOperator`; // 查看账单明细
|
$api_get_bill_detail = `/api/bpc/partnerIncomeDetail/findPartnerWaitIncomeByOperator`; // 查看账单明细
|
||||||
$api_get_invoice_summary = `/api/bpc/partnerInvoiceEntry/oprationEntrySummary`; // 入账明细汇总
|
$api_get_invoice_summary = `/api/bpc/partnerInvoiceEntry/oprationEntrySummary`; // 入账明细汇总
|
||||||
$api_get_invoice_detail_page = `/api/bpc/partnerInvoiceEntry/oprationEntryDetail`; // 待入账明细列表
|
$api_get_invoice_detail_page = `/api/bpc/partnerInvoiceEntry/oprationEntryDetail`; // 待入账明细列表
|
||||||
|
$api_get_getPartnerLitAmountSummary = `/api/bpc/partnerInvoiceEntry/getPartnerLitAmountSummary`; // 查询合伙货运人相关金额
|
||||||
|
$api_get_saveIncomeChange = `/api/bpc/partnerIncomeChange/saveIncomeChange`; // 调整金额
|
||||||
|
$api_get_getIncomeChangePage = `/api/bpc/partnerIncomeChange/getIncomeChangePage`; // 调整金额
|
||||||
|
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
super(injector)
|
super(injector)
|
||||||
|
|||||||
@ -42,27 +42,34 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.initSF();
|
this.initSF();
|
||||||
|
console.log(this.sts);
|
||||||
|
|
||||||
if (!this.sts) {
|
if (!this.sts) {
|
||||||
this.service.request(this.service.$api_getChannelSalesInfo, { id: this.i?.id }).subscribe(res => {
|
this.service.request(this.service.$api_getChannelSalesInfo, { id: this.i?.id }).subscribe(res => {
|
||||||
const List: any = [];
|
const List: any = [];
|
||||||
|
const List3: any = [];
|
||||||
if (res) {
|
if (res) {
|
||||||
let value1 = Object.assign({}, res);
|
let value1 = Object.assign({}, res);
|
||||||
delete value1.employeeVO;
|
delete value1.employeeVO;
|
||||||
let value = res.employeeVO;
|
let value = res.employeeVO;
|
||||||
List.push({ label: value.empName + '/' + value.empNo, value: value.empNo });
|
List.push({ label: value.empName + '/' + value.empNo, value: value.empNo });
|
||||||
setTimeout(() => {
|
res.roleInfoVOList.forEach((element: any) => {
|
||||||
if (this.sf) {
|
List3.push(element.id);
|
||||||
console.log(this.sf.getProperty('/employeeVO')!.schema);
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.sf) {
|
||||||
|
this.sf.getProperty('/employeeVO')!.schema.enum = List;
|
||||||
|
this.sf.getProperty('/employeeVO')!.widget.reset(List);
|
||||||
|
}
|
||||||
|
if (value.empNo) {
|
||||||
|
this.sf.setValue('/employeeVO', value.empNo);
|
||||||
|
console.log(List3);
|
||||||
|
|
||||||
this.sf.getProperty('/employeeVO')!.schema.enum = List;
|
this.sf.setValue('/roleIds', List3);
|
||||||
this.sf.getProperty('/employeeVO')!.widget.reset(List);
|
this.currentOAItem = value;
|
||||||
}
|
this.sf.setValue('/phoneNumber', res.telephone);
|
||||||
if (value.empNo) {
|
}
|
||||||
this.sf.setValue('/employeeVO', value.empNo);
|
});
|
||||||
this.currentOAItem = value;
|
|
||||||
this.sf.setValue('/phoneNumber', res.telephone);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.record = value1;
|
this.record = value1;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -88,6 +95,7 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
title: '手机号',
|
title: '手机号',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
maxLength: 11,
|
maxLength: 11,
|
||||||
|
readOnly: !this.sts,
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请输入'
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
@ -114,6 +122,7 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
title: '关联OA员工',
|
title: '关联OA员工',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
maxLength: 30,
|
maxLength: 30,
|
||||||
|
readOnly: !this.sts,
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
// serverSearch: true,
|
// serverSearch: true,
|
||||||
@ -207,10 +216,10 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
this.sf.validator({ emitError: true });
|
this.sf.validator({ emitError: true });
|
||||||
|
|
||||||
if (!this.sf.valid) return;
|
if (!this.sf.valid) return;
|
||||||
let params: any= {
|
let params: any = {
|
||||||
...this.sf?.value,
|
...this.sf?.value
|
||||||
}
|
};
|
||||||
delete params.telephone
|
delete params.telephone;
|
||||||
this.service.request(this.service.$api_save, { ...params, employeeVO: this.currentOAItem }).subscribe(res => {
|
this.service.request(this.service.$api_save, { ...params, employeeVO: this.currentOAItem }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success(res.msg);
|
this.service.msgSrv.success(res.msg);
|
||||||
|
|||||||
@ -133,7 +133,13 @@ export class ParterChannelSalesListComponent implements OnInit {
|
|||||||
acl: { ability: ['channelSales-frozen'] },
|
acl: { ability: ['channelSales-frozen'] },
|
||||||
iif: (item) => {return item.stateLocked == false},
|
iif: (item) => {return item.stateLocked == false},
|
||||||
click: (_record, _modal, _instance) => this.stop(_record),
|
click: (_record, _modal, _instance) => this.stop(_record),
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
text: '启用',
|
||||||
|
acl: { ability: ['channelSales-open'] },
|
||||||
|
iif: (item) => {return item.stateLocked == true},
|
||||||
|
click: (_record, _modal, _instance) => this.open(_record),
|
||||||
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@ -185,6 +191,24 @@ export class ParterChannelSalesListComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
open(record: STData) {
|
||||||
|
if (record.stateLocked) {
|
||||||
|
const params = {
|
||||||
|
id: record.id
|
||||||
|
}
|
||||||
|
this.modalService.confirm({
|
||||||
|
nzTitle: '<i>启用确认</i>',
|
||||||
|
nzContent: `<b>确定启用该账号吗?</br>`,
|
||||||
|
nzOnOk: () =>
|
||||||
|
this.service.request(this.service.$api_activeChannelSales, params).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('启用成功!');
|
||||||
|
this.st.reload();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重置表单
|
* 重置表单
|
||||||
|
|||||||
@ -21,6 +21,8 @@ export class ChannelSalesService extends BaseService {
|
|||||||
$api_getChannelSalesInfo = '/api/mdc/channelSalesManagement/getChannelSalesInfo';
|
$api_getChannelSalesInfo = '/api/mdc/channelSalesManagement/getChannelSalesInfo';
|
||||||
// 冻结渠道销售
|
// 冻结渠道销售
|
||||||
$api_frozenChannelSales = '/api/mdc/channelSalesManagement/frozenChannelSales';
|
$api_frozenChannelSales = '/api/mdc/channelSalesManagement/frozenChannelSales';
|
||||||
|
// 激活渠道销售
|
||||||
|
$api_activeChannelSales = '/api/mdc/channelSalesManagement/activeChannelSales';
|
||||||
|
|
||||||
|
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-04-28 20:27:22
|
* @Date : 2022-04-28 20:27:22
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-05-07 18:04:15
|
* @LastEditTime : 2022-05-11 16:04:16
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\level-config\\components\\edit\\edit.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\level-config\\components\\edit\\edit.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -49,6 +49,7 @@ export class ParterLevelConfigEditComponent implements OnInit {
|
|||||||
sortId: {
|
sortId: {
|
||||||
title: '排序',
|
title: '排序',
|
||||||
minimum: 0,
|
minimum: 0,
|
||||||
|
maximum: 999999,
|
||||||
type:"number",
|
type:"number",
|
||||||
ui: {
|
ui: {
|
||||||
change: (item: any) => {
|
change: (item: any) => {
|
||||||
|
|||||||
@ -1,3 +1,14 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-04-29 17:28:23
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-05-12 16:55:43
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\level-config\\components\\list\\list.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
<page-header-wrapper [title]="'等级配置'"> </page-header-wrapper>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<!-- 搜索区 -->
|
<!-- 搜索区 -->
|
||||||
<sf
|
<sf
|
||||||
@ -16,6 +27,7 @@
|
|||||||
<st
|
<st
|
||||||
#st
|
#st
|
||||||
[data]="service.$api_getList"
|
[data]="service.$api_getList"
|
||||||
|
[scroll]="{x: '1200px'}"
|
||||||
[columns]="columns"
|
[columns]="columns"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
|
|||||||
@ -69,28 +69,34 @@ export class ParterLevelConfigListComponent implements OnInit {
|
|||||||
this.columns = [
|
this.columns = [
|
||||||
{
|
{
|
||||||
title: '等级姓名',
|
title: '等级姓名',
|
||||||
index: 'gradeName'
|
index: 'gradeName',
|
||||||
|
width: 200
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '备注',
|
title: '备注',
|
||||||
index: 'remark'
|
index: 'remark',
|
||||||
|
width: 200
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: '创建时间',
|
||||||
index: 'createTime'
|
index: 'createTime',
|
||||||
|
width: 200
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: '启用时间',
|
title: '启用时间',
|
||||||
index: 'enableTime'
|
index: 'enableTime',
|
||||||
|
width: 200
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '排序',
|
title: '排序',
|
||||||
index: 'sortId'
|
index: 'sortId',
|
||||||
|
width: 200
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '状态',
|
title: '状态',
|
||||||
index: 'stateLocked',
|
index: 'stateLocked',
|
||||||
|
width: 200,
|
||||||
format: (item: any) => {
|
format: (item: any) => {
|
||||||
return item.stateLocked ? '禁用' : '启用';
|
return item.stateLocked ? '禁用' : '启用';
|
||||||
}
|
}
|
||||||
@ -98,6 +104,8 @@ export class ParterLevelConfigListComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
|
width: 120,
|
||||||
|
fixed: 'right',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '编辑',
|
text: '编辑',
|
||||||
@ -162,7 +170,7 @@ export class ParterLevelConfigListComponent implements OnInit {
|
|||||||
restart(item: any) {
|
restart(item: any) {
|
||||||
this.modalService.confirm({
|
this.modalService.confirm({
|
||||||
nzTitle: '<i>启用确认</i>',
|
nzTitle: '<i>启用确认</i>',
|
||||||
nzContent: `<b>确定启用该账号吗?</br>`,
|
nzContent: `<b>确定启用该等级吗?</br>`,
|
||||||
nzOnOk: () =>
|
nzOnOk: () =>
|
||||||
this.service.request(this.service.$api_updatePartnerGradeConfig, { id: item.id }).subscribe(res => {
|
this.service.request(this.service.$api_updatePartnerGradeConfig, { id: item.id }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
@ -175,7 +183,7 @@ export class ParterLevelConfigListComponent implements OnInit {
|
|||||||
stop(item: any) {
|
stop(item: any) {
|
||||||
this.modalService.confirm({
|
this.modalService.confirm({
|
||||||
nzTitle: '<i>禁用确认</i>',
|
nzTitle: '<i>禁用确认</i>',
|
||||||
nzContent: `<b>确定禁用该账号吗?</br>`,
|
nzContent: `<b>确定禁用该等级吗?</br>`,
|
||||||
nzOnOk: () =>
|
nzOnOk: () =>
|
||||||
this.service.request(this.service.$api_updatePartnerGradeConfig, { id: item.id }).subscribe(res => {
|
this.service.request(this.service.$api_updatePartnerGradeConfig, { id: item.id }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
|
|||||||
@ -569,12 +569,14 @@ export class AddEtpPartnerComponent {
|
|||||||
cityCodesList: {
|
cityCodesList: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '所属城市',
|
title: '所属城市',
|
||||||
|
maxMultipleCount: 3,
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'tree-select',
|
widget: 'tree-select',
|
||||||
grid: { xxl: 13, xl: 18, lg: 24, md: 24 },
|
grid: { xxl: 13, xl: 18, lg: 24, md: 24 },
|
||||||
placeholder: '请选择城市(最多3个)',
|
placeholder: '请选择城市(最多3个)',
|
||||||
checkable: true,
|
checkable: true,
|
||||||
class: 'city-tree-select',
|
class: 'city-tree-select',
|
||||||
|
maxMultipleCount: 3,
|
||||||
asyncData: () =>
|
asyncData: () =>
|
||||||
this.getRegionDetailByCode('').pipe(
|
this.getRegionDetailByCode('').pipe(
|
||||||
map((res: any) =>
|
map((res: any) =>
|
||||||
|
|||||||
@ -299,9 +299,12 @@ export class AddPersonalPartnerComponent {
|
|||||||
_addressTitle: { title: '', type: 'string', ui: { widget: 'custom' } },
|
_addressTitle: { title: '', type: 'string', ui: { widget: 'custom' } },
|
||||||
cityCodesList: {
|
cityCodesList: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '所属城市',
|
title: '所属城市7',
|
||||||
|
maxMultipleCount: 3,
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'tree-select',
|
widget: 'tree-select',
|
||||||
|
maxMultipleCount: 3,
|
||||||
|
maxTagCount: 3,
|
||||||
grid: { xxl: 13, xl: 18, lg: 24, md: 24 },
|
grid: { xxl: 13, xl: 18, lg: 24, md: 24 },
|
||||||
placeholder: '请选择城市(最多3个)',
|
placeholder: '请选择城市(最多3个)',
|
||||||
checkable: true,
|
checkable: true,
|
||||||
@ -314,9 +317,9 @@ export class AddPersonalPartnerComponent {
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
expandChange: ({ node }: { node: NzTreeNode }) =>
|
expandChange: ({ node }: { node: NzTreeNode }) =>
|
||||||
this.getRegionDetailByCode(node.key).pipe(
|
this.getRegionDetailByCode(node.key).pipe(
|
||||||
map((res: any) => res.map((item: any) => ({ ...item, title: item.name, key: item.regionCode, isLeaf: true })))
|
map((res: any) => res.map((item: any) => ({ ...item, title: item.name, key: item.regionCode, isLeaf: true })))
|
||||||
)
|
)
|
||||||
} as SFTreeSelectWidgetSchema
|
} as SFTreeSelectWidgetSchema
|
||||||
},
|
},
|
||||||
// 渠道销售
|
// 渠道销售
|
||||||
@ -340,30 +343,30 @@ export class AddPersonalPartnerComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private setInfo(info: any) {
|
private setInfo(info: any) {
|
||||||
this.sf.setValue('/adminUserInfo/name', info?.name);
|
this.sf.setValue('/adminUserInfo/name', info?.name);
|
||||||
this.sf.setValue('/adminUserInfo/certificatePhotoFront', info?.certificatePhotoFront);
|
this.sf.setValue('/adminUserInfo/certificatePhotoFront', info?.certificatePhotoFront);
|
||||||
this.sf.setValue('/adminUserInfo/certificatePhotoFrontWatermark', [
|
this.sf.setValue('/adminUserInfo/certificatePhotoFrontWatermark', [
|
||||||
{
|
{
|
||||||
uid: -1,
|
uid: -1,
|
||||||
name: '文件',
|
name: '文件',
|
||||||
status: 'done',
|
status: 'done',
|
||||||
url: info?.certificatePhotoFrontWatermark,
|
url: info?.certificatePhotoFrontWatermark,
|
||||||
response: info?.certificatePhotoFrontWatermark
|
response: info?.certificatePhotoFrontWatermark
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
this.sf.setValue('/adminUserInfo/certificatePhotoBack', info?.certificatePhotoBack);
|
this.sf.setValue('/adminUserInfo/certificatePhotoBack', info?.certificatePhotoBack);
|
||||||
this.sf.setValue('/adminUserInfo/certificatePhotoBackWatermark', [
|
this.sf.setValue('/adminUserInfo/certificatePhotoBackWatermark', [
|
||||||
{
|
{
|
||||||
uid: -1,
|
uid: -1,
|
||||||
name: '文件',
|
name: '文件',
|
||||||
status: 'done',
|
status: 'done',
|
||||||
url: info?.certificatePhotoBackWatermark,
|
url: info?.certificatePhotoBackWatermark,
|
||||||
response: info?.certificatePhotoBackWatermark
|
response: info?.certificatePhotoBackWatermark
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
this.sf.setValue('/adminUserInfo/certificateNumber', info?.certificateNumber);
|
this.sf.setValue('/adminUserInfo/certificateNumber', info?.certificateNumber);
|
||||||
this.sf.setValue('/adminUserInfo/validStartTime', info?.validStartTime);
|
this.sf.setValue('/adminUserInfo/validStartTime', info?.validStartTime);
|
||||||
this.sf.setValue('/adminUserInfo/validEndTime', info?.validEndTime ? info?.validEndTime: null);
|
this.sf.setValue('/adminUserInfo/validEndTime', info?.validEndTime ? info?.validEndTime : null);
|
||||||
this.sf.setValue('/adminUserInfo/_isLoingDate', info?.validEndTime ? false: true);
|
this.sf.setValue('/adminUserInfo/_isLoingDate', info?.validEndTime ? false : true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,49 @@
|
|||||||
<h2>转移客户数:{{changeST?.total}}</h2>
|
<!--
|
||||||
<st #changeST [data]="service.$api_get_partner_change_list" [columns]="columns.changeColumn"
|
* @Description :
|
||||||
[req]="{params:{id:id ,type:1}}" [loading]="service.http.loading" bordered size="small"
|
* @Version : 1.0
|
||||||
[page]="{ show: false }" [scroll]="{ x: '750px' }">
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-04-28 20:27:08
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-05-11 14:44:15
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\partner-list\\components\\channel-log-modal\\channel-log-modal.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
<div class="bbod">
|
||||||
|
<h2>转移客户数:{{ changeST?.list?.length }}</h2>
|
||||||
|
<st
|
||||||
|
#changeST
|
||||||
|
[data]="service.$api_get_partner_change_list"
|
||||||
|
[columns]="columns.changeColumn"
|
||||||
|
[req]="{ params: { id: id, type: 1 } }"
|
||||||
|
[res]="{ reName: { list: 'data' } }"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
bordered
|
||||||
|
size="small"
|
||||||
|
[page]="{ show: false }"
|
||||||
|
[scroll]="{ x: '750px' }"
|
||||||
|
>
|
||||||
|
<ng-template st-row="crmStatus" let-item let-index="index" let-column="column">
|
||||||
|
<div *ngIf="item.crmStatus == '0'">未发起</div>
|
||||||
|
<div *ngIf="item.crmStatus == '10'">待审核</div>
|
||||||
|
<div *ngIf="item.crmStatus == '20'">审核通过</div>
|
||||||
|
<div *ngIf="item.crmStatus == '30'">驳回</div>
|
||||||
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
<h2>不转移客户数:{{noChangeST?.total}}</h2>
|
<h2>不转移客户数:{{ noChangeST?.list?.length }}</h2>
|
||||||
<st #noChangeST [data]="service.$api_get_partner_change_list" [columns]="columns.beChangeColumn"
|
<st
|
||||||
[req]="{params:{id:id ,type:2}}" [res]="{reName: { list: 'data' }}"
|
#noChangeST
|
||||||
[loading]="service.http.loading" bordered size="small" [page]="{ show: false }" [scroll]="{ x: '750px' }">
|
[data]="service.$api_get_partner_change_list"
|
||||||
|
[columns]="columns.beChangeColumn"
|
||||||
|
[req]="{ params: { id: id, type: 2 } }"
|
||||||
|
[res]="{ reName: { list: 'data' } }"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
bordered
|
||||||
|
size="small"
|
||||||
|
[page]="{ show: false }"
|
||||||
|
[scroll]="{ x: '750px' }"
|
||||||
|
>
|
||||||
</st>
|
</st>
|
||||||
<p>
|
<p>
|
||||||
客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。
|
客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
|
|||||||
@ -0,0 +1,10 @@
|
|||||||
|
/* stylelint-disable-next-line CssSyntaxError */
|
||||||
|
:host {
|
||||||
|
::ng-deep {
|
||||||
|
.bbod{
|
||||||
|
height: 600px;
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,32 +1,48 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
/*
|
||||||
import { STColumn } from '@delon/abc/st';
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-05-09 10:49:35
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-05-11 14:47:57
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\partner-list\\components\\channel-log-modal\\channel-log-modal.component.ts
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
*/
|
||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
import { PartnerListService } from '../../services/partner-list.service';
|
import { PartnerListService } from '../../services/partner-list.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-channel-log-modal',
|
selector: 'app-channel-log-modal',
|
||||||
|
styleUrls: ['./channel-log-modal.component.less'],
|
||||||
templateUrl: './channel-log-modal.component.html'
|
templateUrl: './channel-log-modal.component.html'
|
||||||
})
|
})
|
||||||
export class ChannelLogModalComponent implements OnInit {
|
export class ChannelLogModalComponent implements OnInit {
|
||||||
|
@ViewChild('changeST', { static: true }) changeST!: STComponent;
|
||||||
|
@ViewChild('noChangeST', { static: true }) noChangeST!: STComponent;
|
||||||
columns: { changeColumn: STColumn[]; beChangeColumn: STColumn[] } = this.initST();
|
columns: { changeColumn: STColumn[]; beChangeColumn: STColumn[] } = this.initST();
|
||||||
id = '';
|
id = '';
|
||||||
constructor(public service: PartnerListService) {}
|
constructor(public service: PartnerListService) {}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
ngOnInit(): void {
|
||||||
|
console.log(this.changeST);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private initST(): { changeColumn: STColumn[]; beChangeColumn: STColumn[] } {
|
private initST(): { changeColumn: STColumn[]; beChangeColumn: STColumn[] } {
|
||||||
return {
|
return {
|
||||||
changeColumn: [
|
changeColumn: [
|
||||||
{ title: '客户名称', index: 'payCode', width: 180 },
|
{ title: '客户名称', index: 'enterpriseName', width: 180 },
|
||||||
{ title: '合伙人', index: 'ltdName', width: 160 },
|
{ title: '合伙人', index: 'newPartnerName', width: 160 },
|
||||||
{ title: '渠道销售', index: 'payDate', className: 'text-center', width: 130 },
|
{ title: '渠道销售', index: 'newChannelName', className: 'text-center', width: 130 },
|
||||||
{ title: 'CRM审核状态', index: 'payDate', width: 150 },
|
{ title: 'CRM审核状态', render: 'crmStatus', width: 150 },
|
||||||
{ title: '生效时间', index: 'payDate', className: 'text-center', width: 130 }
|
{ title: '生效时间', index: 'effectiveTime', className: 'text-center', width: 130 }
|
||||||
],
|
],
|
||||||
beChangeColumn: [
|
beChangeColumn: [
|
||||||
{ title: '客户名称', index: 'payCode', width: 180 },
|
{ title: '客户名称', index: 'enterpriseName', width: 180 },
|
||||||
{ title: '合伙人', index: 'ltdName', width: 160 },
|
{ title: '合伙人', index: 'newPartnerName', width: 160 },
|
||||||
{ title: '渠道销售', index: 'payDate', className: 'text-center', width: 130 },
|
{ title: '渠道销售', index: 'newChannelName', className: 'text-center', width: 130 },
|
||||||
{ title: '生效时间', index: 'payDate', className: 'text-center', width: 130 }
|
{ title: '生效时间', index: 'effectiveTime', className: 'text-center', width: 130 }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-04-29 17:28:23
|
* @Date : 2022-04-29 17:28:23
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-05-09 11:33:34
|
* @LastEditTime : 2022-05-10 15:33:15
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\partner-list\\components\\index\\partner-list.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\partner-list\\components\\index\\partner-list.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -61,6 +61,14 @@
|
|||||||
[scroll]="{ x: '1200px' }"
|
[scroll]="{ x: '1200px' }"
|
||||||
[page]="{}"
|
[page]="{}"
|
||||||
>
|
>
|
||||||
|
<ng-template st-row="enterpriseName" let-item let-index="index">
|
||||||
|
<div>
|
||||||
|
{{item.partnerType ? item.enterpriseName || item.contactName : ''}}
|
||||||
|
</div>
|
||||||
|
<div *ngIf="item.partnerType == 1">
|
||||||
|
管理员: {{item.contactName }}
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
@ -84,9 +92,18 @@
|
|||||||
<se label="合伙人名称"> {{ selectItem?.enterpriseName || selectItem?.contactName }} </se>
|
<se label="合伙人名称"> {{ selectItem?.enterpriseName || selectItem?.contactName }} </se>
|
||||||
<se label="当前渠道销售"> {{ selectItem?.channelIdLabel }} </se>
|
<se label="当前渠道销售"> {{ selectItem?.channelIdLabel }} </se>
|
||||||
<se label="渠道销售修改为" required>
|
<se label="渠道销售修改为" required>
|
||||||
<nz-select [(ngModel)]="cannelItem.channelId" style="width: 100%">
|
<nz-select
|
||||||
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of cannels"></nz-option>
|
nzPlaceHolder="请搜索"
|
||||||
</nz-select>
|
nzShowSearch
|
||||||
|
nzServerSearch
|
||||||
|
[(ngModel)]="cannelItem.channelId"
|
||||||
|
[nzShowArrow]="false"
|
||||||
|
(nzOnSearch)="onSearch($event)"
|
||||||
|
>
|
||||||
|
<ng-container *ngFor="let item of cannels">
|
||||||
|
<nz-option [nzValue]="item.value" [nzLabel]="item.label"></nz-option>
|
||||||
|
</ng-container>
|
||||||
|
</nz-select>
|
||||||
</se>
|
</se>
|
||||||
<se label="备注" required>
|
<se label="备注" required>
|
||||||
<textarea rows="3" nz-input [(ngModel)]="cannelItem.remark"></textarea>
|
<textarea rows="3" nz-input [(ngModel)]="cannelItem.remark"></textarea>
|
||||||
@ -104,7 +121,6 @@
|
|||||||
[req]="{ process: beforeReq, params: { effectiveStatus: 2, newPartnerId: selectItem.id } }"
|
[req]="{ process: beforeReq, params: { effectiveStatus: 2, newPartnerId: selectItem.id } }"
|
||||||
[loading]="service.http.loading"
|
[loading]="service.http.loading"
|
||||||
[page]="{ show: false }"
|
[page]="{ show: false }"
|
||||||
|
|
||||||
(change)="stChange($event)"
|
(change)="stChange($event)"
|
||||||
>
|
>
|
||||||
</st>
|
</st>
|
||||||
|
|||||||
@ -4,13 +4,12 @@ import { Router } from '@angular/router';
|
|||||||
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema, SFDateWidgetSchema, SFAutoCompleteWidgetSchema, SFSelectWidgetSchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFDateWidgetSchema, SFAutoCompleteWidgetSchema, SFSelectWidgetSchema } from '@delon/form';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { of } from 'rxjs';
|
import { BehaviorSubject, Observable, of } from 'rxjs';
|
||||||
import { AddCollectionInvoiceModalComponent } from 'src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component';
|
import { AddCollectionInvoiceModalComponent } from 'src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component';
|
||||||
|
|
||||||
import { PartnerListService } from '../../services/partner-list.service';
|
import { PartnerListService } from '../../services/partner-list.service';
|
||||||
import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit-modal.component';
|
import { PartnerAuditModalComponent } from '../partner-audit-modal/partner-audit-modal.component';
|
||||||
import { map } from 'rxjs/operators';
|
import { catchError, debounceTime, map, switchMap } from 'rxjs/operators';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-partner-list',
|
selector: 'app-partner-list',
|
||||||
templateUrl: './partner-list.component.html',
|
templateUrl: './partner-list.component.html',
|
||||||
@ -24,7 +23,7 @@ export class PartnerListComponent {
|
|||||||
columns: STColumn[] = this.initST();
|
columns: STColumn[] = this.initST();
|
||||||
searchSchema: SFSchema = this.initSF();
|
searchSchema: SFSchema = this.initSF();
|
||||||
_$expand = false;
|
_$expand = false;
|
||||||
|
isLoading: boolean = false;
|
||||||
@ViewChild('editTemplate', { static: true })
|
@ViewChild('editTemplate', { static: true })
|
||||||
editTemplate: any;
|
editTemplate: any;
|
||||||
templateId: any;
|
templateId: any;
|
||||||
@ -36,13 +35,14 @@ export class PartnerListComponent {
|
|||||||
cannels: any[] = [];
|
cannels: any[] = [];
|
||||||
selectedRows: any[] = [];
|
selectedRows: any[] = [];
|
||||||
cannelItem: any = { channelId: null, effectiveNode: 1, enterpriseIdList: [], remark: '' };
|
cannelItem: any = { channelId: null, effectiveNode: 1, enterpriseIdList: [], remark: '' };
|
||||||
|
searchChange$ = new BehaviorSubject('');
|
||||||
selectItem: any = {};
|
selectItem: any = {};
|
||||||
|
|
||||||
constructor(public service: PartnerListService, private nzModalService: NzModalService, private router: Router) {
|
constructor(public service: PartnerListService, private nzModalService: NzModalService, private router: Router) {
|
||||||
this.loadSelectOptions();
|
this.loadSelectOptions();
|
||||||
}
|
}
|
||||||
|
ngOnInit(): void {
|
||||||
|
}
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
let params = { ...this.sf?.value };
|
let params = { ...this.sf?.value };
|
||||||
@ -55,18 +55,13 @@ export class PartnerListComponent {
|
|||||||
};
|
};
|
||||||
|
|
||||||
loadSelectOptions() {
|
loadSelectOptions() {
|
||||||
this.service.getRebateConfig({stateLocked: 1}).subscribe(res => {
|
this.service.getRebateConfig({ stateLocked: 1 }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
|
|
||||||
this.customers = res;
|
this.customers = res;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.service.getChannel().subscribe(res => {
|
|
||||||
if (res) {
|
|
||||||
this.cannels = res;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
auditPartner(item: any) {
|
auditPartner(item: any) {
|
||||||
@ -236,10 +231,6 @@ export class PartnerListComponent {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '合伙人名称'
|
title: '合伙人名称'
|
||||||
},
|
},
|
||||||
contactName: {
|
|
||||||
type: 'string',
|
|
||||||
title: '企业管理员'
|
|
||||||
},
|
|
||||||
contactMobile: {
|
contactMobile: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '手机号'
|
title: '手机号'
|
||||||
@ -252,9 +243,6 @@ export class PartnerListComponent {
|
|||||||
searchDebounceTime: 300,
|
searchDebounceTime: 300,
|
||||||
searchLoadingText: '搜索中...',
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
visibleIf: {
|
|
||||||
expand: (value: boolean) => value
|
|
||||||
},
|
|
||||||
onSearch: (q: any) => {
|
onSearch: (q: any) => {
|
||||||
let str = q.replace(/^\s+|\s+$/g, '');
|
let str = q.replace(/^\s+|\s+$/g, '');
|
||||||
if (str) {
|
if (str) {
|
||||||
@ -326,7 +314,7 @@ export class PartnerListComponent {
|
|||||||
{ value: '', label: '全部' },
|
{ value: '', label: '全部' },
|
||||||
{ value: '0', label: '未同步' },
|
{ value: '0', label: '未同步' },
|
||||||
{ value: 10, label: '同步失败' },
|
{ value: 10, label: '同步失败' },
|
||||||
{ value: 20, label: '同步成功' },
|
{ value: 20, label: '同步成功' }
|
||||||
],
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
@ -360,21 +348,21 @@ export class PartnerListComponent {
|
|||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
asyncData: () =>
|
asyncData: () =>
|
||||||
this.service.request(this.service.$api_get_rebate_config, {}, 'POST').pipe(
|
this.service.request(this.service.$api_get_rebate_config, {}, 'POST').pipe(
|
||||||
map(data => {
|
map(data => {
|
||||||
if(data) {
|
if (data) {
|
||||||
return data.map((m: any) => {
|
return data.map((m: any) => {
|
||||||
return { label: m.configName, value: m.id };
|
return { label: m.configName, value: m.id };
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return [];
|
return [];
|
||||||
|
}
|
||||||
}
|
})
|
||||||
})
|
),
|
||||||
),
|
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
} } as SFDateWidgetSchema
|
}
|
||||||
|
} as SFDateWidgetSchema
|
||||||
},
|
},
|
||||||
lockedStatus: {
|
lockedStatus: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@ -412,13 +400,11 @@ export class PartnerListComponent {
|
|||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
title: '合伙人名称',
|
title: '合伙人名称',
|
||||||
index: 'enterpriseName',
|
render: 'enterpriseName',
|
||||||
width: 180,
|
width: 180
|
||||||
format: item => (item.partnerType ? `${item.enterpriseName || item.contactName}` : '')
|
|
||||||
},
|
},
|
||||||
{ title: '付款编码', index: 'payCode', width: 160 },
|
{ title: '付款编码', index: 'payCode', width: 160 },
|
||||||
{ title: '邀请码', index: 'invitationCode', className: 'text-center', width: 130 },
|
{ title: '邀请码', index: 'invitationCode', className: 'text-center', width: 130 },
|
||||||
{ title: '企业管理员', index: 'contactName', width: 150, format: item => (item.partnerType ? `${item.contactName}` : '') },
|
|
||||||
{ title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 },
|
{ title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 },
|
||||||
{ title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } },
|
{ title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } },
|
||||||
{ title: '注册渠道', index: 'source', type: 'enum', enum: { 1: '合伙人注册', 2: '平台添加' }, width: 130 },
|
{ title: '注册渠道', index: 'source', type: 'enum', enum: { 1: '合伙人注册', 2: '平台添加' }, width: 130 },
|
||||||
@ -518,4 +504,34 @@ export class PartnerListComponent {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
onSearch(value: string): void {
|
||||||
|
this.isLoading = true;
|
||||||
|
let params: any = {};
|
||||||
|
if (value) {
|
||||||
|
console.log(+value);
|
||||||
|
// 数字
|
||||||
|
if (+value) {
|
||||||
|
params.phoneNumber = value;
|
||||||
|
} else {
|
||||||
|
// 中文
|
||||||
|
params.name = value;
|
||||||
|
}
|
||||||
|
this.service.request(this.service.$api_get_channel, params).subscribe(res => {
|
||||||
|
let NewList: { label: string; value: any; }[] = [];
|
||||||
|
let List = res.filter((i: any) => {
|
||||||
|
NewList.push({ label: `${i.name}/${i.telephone}`, value: i.id }) ;
|
||||||
|
});
|
||||||
|
this.cannels = NewList
|
||||||
|
});
|
||||||
|
this.searchChange$.next(value);
|
||||||
|
} else if(value === '') {
|
||||||
|
this.service.request(this.service.$api_get_channel, {name: '清空数X'}).subscribe(res => {
|
||||||
|
let NewList: { label: string; value: any; }[] = [];
|
||||||
|
let List = res.filter((i: any) => {
|
||||||
|
NewList.push({ label: `${i.name}/${i.telephone}`, value: i.id }) ;
|
||||||
|
});
|
||||||
|
this.cannels = NewList
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,22 +28,17 @@ export class PartnerAuditModalComponent implements OnInit {
|
|||||||
if(this.info.channelId) {
|
if(this.info.channelId) {
|
||||||
const value = [{
|
const value = [{
|
||||||
label: this.info.channelIdLabel,
|
label: this.info.channelIdLabel,
|
||||||
value: this.info.channelId,
|
value: this.info.channelSaleslId,
|
||||||
}]
|
}]
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if(this.sf) {
|
if(this.sf) {
|
||||||
this.sf.getProperty('/channelId')!.schema.enum = value;
|
this.sf.getProperty('/channelId')!.schema.enum = value;
|
||||||
this.sf.getProperty('/channelId')!.widget.reset(value);
|
this.sf.getProperty('/channelId')!.widget.reset(value);
|
||||||
this.sf.setValue('/channelId', this.info.channelId);
|
this.sf.setValue('/channelId', this.info.channelSaleslId);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log()
|
|
||||||
this.service.getChannel().pipe(map(data => {
|
|
||||||
console.log(data);
|
|
||||||
|
|
||||||
}))
|
|
||||||
this.service.getChannel().subscribe((res) => {
|
this.service.getChannel().subscribe((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
const value :any= res;
|
const value :any= res;
|
||||||
|
|||||||
@ -28,9 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 注册时间:{{ detailData?.createTime }} </div>
|
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 注册时间:{{ detailData?.createTime }} </div>
|
||||||
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 所属城市:{{ enterpriseDefaultCityName }} </div>
|
||||||
所属城市:{{enterpriseDefaultCityName}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -45,14 +43,32 @@
|
|||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button>
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngIf="detailData?.approvalStatus != 10">
|
<ng-container *ngIf="detailData?.approvalStatus != 10">
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="enable"
|
<button
|
||||||
(nzOnConfirm)="freezeOrResume(0)" nzPopconfirmPlacement="bottomRight" *ngIf="detailData?.lockedStatus"
|
[disabled]="service.http.loading"
|
||||||
acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']">
|
nz-button
|
||||||
|
nzDanger
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="enable"
|
||||||
|
(nzOnConfirm)="freezeOrResume(0)"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
*ngIf="detailData?.lockedStatus"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']"
|
||||||
|
>
|
||||||
启用
|
启用
|
||||||
</button>
|
</button>
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen"
|
<button
|
||||||
(nzOnConfirm)="freezeOrResume(1)" nzPopconfirmPlacement="bottomRight" *ngIf="!detailData?.lockedStatus"
|
[disabled]="service.http.loading"
|
||||||
acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']">
|
nz-button
|
||||||
|
nzDanger
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="frozen"
|
||||||
|
(nzOnConfirm)="freezeOrResume(1)"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
*ngIf="!detailData?.lockedStatus"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']"
|
||||||
|
>
|
||||||
冻结
|
冻结
|
||||||
</button>
|
</button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
@ -64,17 +80,24 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #frozen>
|
<ng-template #frozen>
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
PopconfirmTempalte;
|
PopconfirmTempalte;
|
||||||
context: { title: '确定冻结该合伙人吗?', content: '停用后,该合伙人将被限制使用,不限于访问受限、邀请客户、佣金收益等,请谨慎操作' }
|
context: {
|
||||||
">
|
title: '确定冻结该合伙人吗?',
|
||||||
|
content: '停用后,该合伙人将被限制使用,不限于访问受限、邀请客户、佣金收益等,请谨慎操作'
|
||||||
|
}
|
||||||
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #enable>
|
<ng-template #enable>
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
PopconfirmTempalte;
|
PopconfirmTempalte;
|
||||||
context: { title: '确定启用该合伙人吗?', content: '启用后,该该合伙人将恢复正常使用功能,请再次确认' }
|
context: { title: '确定启用该合伙人吗?', content: '启用后,该该合伙人将恢复正常使用功能,请再次确认' }
|
||||||
">
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
@ -83,21 +106,34 @@
|
|||||||
<sv-container col="3">
|
<sv-container col="3">
|
||||||
<sv-title>企业管理员信息</sv-title>
|
<sv-title>企业管理员信息</sv-title>
|
||||||
<sv label="姓名">
|
<sv label="姓名">
|
||||||
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.name" [readonly]="!isEdit"
|
<input
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
nz-input
|
||||||
|
type="text"
|
||||||
|
[(ngModel)]="detailData.adminUserInfo.name"
|
||||||
|
[readonly]="!isEdit"
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[placeholder]="isEdit ? '' : '-'"
|
||||||
|
/>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="手机号">
|
<sv label="手机号">
|
||||||
<!-- <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.mobile" [readonly]="!isEdit"
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.mobile" [readonly]="!isEdit"
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> -->
|
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> -->
|
||||||
{{detailData.adminUserInfo.mobile}}
|
{{ detailData.adminUserInfo.mobile }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证号">
|
<sv label="身份证号">
|
||||||
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit"
|
<input
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
nz-input
|
||||||
|
type="text"
|
||||||
|
[(ngModel)]="detailData.adminUserInfo.certificateNumber"
|
||||||
|
[readonly]="!isEdit"
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[placeholder]="isEdit ? '' : '-'"
|
||||||
|
/>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证照" col="2">
|
<sv label="身份证照" col="2">
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
uploadTemplate;
|
uploadTemplate;
|
||||||
context: {
|
context: {
|
||||||
data: detailData?.adminUserInfo,
|
data: detailData?.adminUserInfo,
|
||||||
@ -106,9 +142,11 @@
|
|||||||
key2: 'certificatePhotoFront',
|
key2: 'certificatePhotoFront',
|
||||||
hover: 'certificateBackFront'
|
hover: 'certificateBackFront'
|
||||||
}
|
}
|
||||||
">
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
uploadTemplate;
|
uploadTemplate;
|
||||||
context: {
|
context: {
|
||||||
data: detailData?.adminUserInfo,
|
data: detailData?.adminUserInfo,
|
||||||
@ -117,25 +155,44 @@
|
|||||||
key2: 'certificatePhotoBack',
|
key2: 'certificatePhotoBack',
|
||||||
hover: 'certificateBack'
|
hover: 'certificateBack'
|
||||||
}
|
}
|
||||||
">
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证有效期" col="1">
|
<sv label="身份证有效期" col="1">
|
||||||
<nz-date-picker [(ngModel)]="detailData.adminUserInfo.validStartTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
<nz-date-picker
|
||||||
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar">
|
[(ngModel)]="detailData.adminUserInfo.validStartTime"
|
||||||
|
[nzDisabled]="!isEdit"
|
||||||
|
nzPlaceHolder=" "
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
|
||||||
|
style="width: 140px"
|
||||||
|
class="calendar"
|
||||||
|
>
|
||||||
</nz-date-picker>
|
</nz-date-picker>
|
||||||
-
|
-
|
||||||
<ng-container
|
<ng-container *ngIf="!isEdit && !detailData?.adminUserInfo.validEndTime && detailData?.adminUserInfo.validStartTime">
|
||||||
*ngIf="!isEdit && !detailData?.adminUserInfo.validEndTime && detailData?.adminUserInfo.validStartTime">
|
|
||||||
<label style="padding-left: 11px">长期</label>
|
<label style="padding-left: 11px">长期</label>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<nz-date-picker [(ngModel)]="detailData.adminUserInfo.validEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
<nz-date-picker
|
||||||
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar">
|
[(ngModel)]="detailData.adminUserInfo.validEndTime"
|
||||||
|
[nzDisabled]="!isEdit"
|
||||||
|
nzPlaceHolder=" "
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
|
||||||
|
style="width: 140px"
|
||||||
|
class="calendar"
|
||||||
|
>
|
||||||
</nz-date-picker>
|
</nz-date-picker>
|
||||||
<ng-container *ngIf="isEdit">
|
<ng-container *ngIf="isEdit">
|
||||||
<label nz-checkbox [ngModel]="!!!detailData.adminUserInfo.validEndTime"
|
<label
|
||||||
(ngModelChange)="$event ? (detailData.adminUserInfo.validEndTime = '') : ''" class="ml-sm">长期</label>
|
nz-checkbox
|
||||||
|
[ngModel]="!!!detailData.adminUserInfo.validEndTime"
|
||||||
|
(ngModelChange)="$event ? (detailData.adminUserInfo.validEndTime = '') : ''"
|
||||||
|
class="ml-sm"
|
||||||
|
>长期</label
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
@ -144,60 +201,81 @@
|
|||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>
|
<sv-title>
|
||||||
<label class="mr-md">企业基本信息</label>
|
<label class="mr-md">企业基本信息</label>
|
||||||
<label *ngIf="detailData?.approvalStatus === 10" style="color: #1890ff"><i nz-icon nzType="info-circle"
|
<label *ngIf="detailData?.approvalStatus === 10" style="color: #1890ff"
|
||||||
nzTheme="fill" class="mr-xs"></i>待审核
|
><i nz-icon nzType="info-circle" nzTheme="fill" class="mr-xs"></i>待审核
|
||||||
</label>
|
</label>
|
||||||
<label *ngIf="detailData?.approvalStatus === 20" style="color: #52c41a"><i nz-icon nzType="check-circle"
|
<label *ngIf="detailData?.approvalStatus === 20" style="color: #52c41a"
|
||||||
nzTheme="fill" class="mr-xs"></i>审核通过
|
><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过
|
||||||
</label>
|
</label>
|
||||||
<label *ngIf="detailData?.approvalStatus === 30" style="color: #ff4d4f"><i nz-icon nzType="close-circle"
|
<label *ngIf="detailData?.approvalStatus === 30" style="color: #ff4d4f"
|
||||||
nzTheme="fill" class="mr-xs"></i>驳回 驳回原因:{{ detailData?.approvalOpinion }}
|
><i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 驳回原因:{{ detailData?.approvalOpinion }}
|
||||||
</label>
|
</label>
|
||||||
<p style="margin-bottom: 0">
|
<p style="margin-bottom: 0">
|
||||||
四要素验证:
|
四要素验证:
|
||||||
<label *ngIf="detailData?.esignCheckStatus === 0" style="color: #ff4d4f"><i nz-icon nzType="info-circle"
|
<label *ngIf="detailData?.esignCheckStatus === 0" style="color: #ff4d4f"
|
||||||
nzTheme="fill" class="mr-xs"></i>不通过 驳回原因:{{ detailData?.esignCheckMsg }}
|
><i nz-icon nzType="info-circle" nzTheme="fill" class="mr-xs"></i>不通过 驳回原因:{{ detailData?.esignCheckMsg }}
|
||||||
</label>
|
</label>
|
||||||
<label *ngIf="detailData?.esignCheckStatus === 1" style="color: #52c41a"><i nz-icon nzType="check-circle"
|
<label *ngIf="detailData?.esignCheckStatus === 1" style="color: #52c41a"
|
||||||
nzTheme="fill" class="mr-xs"></i>通过
|
><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>通过
|
||||||
</label>
|
</label>
|
||||||
<label *ngIf="detailData?.esignCheckStatus === 2" style="color: #1890ff"><i nz-icon nzType="close-circle"
|
<label *ngIf="detailData?.esignCheckStatus === 2" style="color: #1890ff"
|
||||||
nzTheme="fill" class="mr-xs"></i>未认证: {{detailData?.esignCheckMsg}}
|
><i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>未认证: {{ detailData?.esignCheckMsg }}
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
</sv-title>
|
</sv-title>
|
||||||
<sv label="公司名称">
|
<sv label="公司名称">
|
||||||
<!-- <input nz-input type="text" [(ngModel)]="" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
<!-- <input nz-input type="text" [(ngModel)]="" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
||||||
[placeholder]="isEdit ? '' : '-'" /> -->
|
[placeholder]="isEdit ? '' : '-'" /> -->
|
||||||
{{detailData.enterpriseName}}
|
{{ detailData.enterpriseName }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="统一社会信用代码">
|
<sv label="统一社会信用代码">
|
||||||
<!-- <input nz-input type="text" [(ngModel)]="detailData.unifiedSocialCreditCode" [readonly]="!isEdit"
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.unifiedSocialCreditCode" [readonly]="!isEdit"
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> -->
|
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> -->
|
||||||
{{detailData.unifiedSocialCreditCode}}
|
{{ detailData.unifiedSocialCreditCode }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="营业执照" col="2">
|
<sv label="营业执照" col="2">
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
uploadTemplate;
|
uploadTemplate;
|
||||||
context: { data: detailData, status: isEdit, key: 'licensePhotoWatermark', key2: 'licensePhoto', hover: 'detailPhoto' }
|
context: { data: detailData, status: isEdit, key: 'licensePhotoWatermark', key2: 'licensePhoto', hover: 'detailPhoto' }
|
||||||
">
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</sv>
|
</sv>
|
||||||
|
|
||||||
<sv label="营业期限" col="1">
|
<sv label="营业期限" col="1">
|
||||||
<nz-date-picker [(ngModel)]="detailData.operatingStartTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
<nz-date-picker
|
||||||
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 100px" class="calendar">
|
[(ngModel)]="detailData.operatingStartTime"
|
||||||
|
[nzDisabled]="!isEdit"
|
||||||
|
nzPlaceHolder=" "
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
|
||||||
|
style="width: 100px"
|
||||||
|
class="calendar"
|
||||||
|
>
|
||||||
</nz-date-picker>
|
</nz-date-picker>
|
||||||
-
|
-
|
||||||
<ng-container *ngIf="!isEdit && !detailData?.operatingEndTime && detailData?.operatingStartTime">
|
<ng-container *ngIf="!isEdit && !detailData?.operatingEndTime && detailData?.operatingStartTime">
|
||||||
<label style="padding-left: 11px">长期</label>
|
<label style="padding-left: 11px">长期</label>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<nz-date-picker [(ngModel)]="detailData.operatingEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
<nz-date-picker
|
||||||
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 100px" class="calendar">
|
[(ngModel)]="detailData.operatingEndTime"
|
||||||
|
[nzDisabled]="!isEdit"
|
||||||
|
nzPlaceHolder=" "
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
|
||||||
|
style="width: 100px"
|
||||||
|
class="calendar"
|
||||||
|
>
|
||||||
</nz-date-picker>
|
</nz-date-picker>
|
||||||
<ng-container *ngIf="isEdit">
|
<ng-container *ngIf="isEdit">
|
||||||
<label nz-checkbox [ngModel]="!!!detailData.operatingEndTime"
|
<label
|
||||||
(ngModelChange)="$event ? (detailData.operatingEndTime = '') : ''" class="ml-sm">长期</label>
|
nz-checkbox
|
||||||
|
[ngModel]="!!!detailData.operatingEndTime"
|
||||||
|
(ngModelChange)="$event ? (detailData.operatingEndTime = '') : ''"
|
||||||
|
class="ml-sm"
|
||||||
|
>长期</label
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
@ -205,33 +283,63 @@
|
|||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>企业法人信息</sv-title>
|
<sv-title>企业法人信息</sv-title>
|
||||||
<sv label="法定代表人">
|
<sv label="法定代表人">
|
||||||
<input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentity.name" [readonly]="!isEdit"
|
<input
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
nz-input
|
||||||
|
type="text"
|
||||||
|
[(ngModel)]="detailData.legalPersonIdentity.name"
|
||||||
|
[readonly]="!isEdit"
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[placeholder]="isEdit ? '' : '-'"
|
||||||
|
/>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证号码">
|
<sv label="身份证号码">
|
||||||
<input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentity.certificateNumber" [readonly]="!isEdit"
|
<input
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
nz-input
|
||||||
|
type="text"
|
||||||
|
[(ngModel)]="detailData.legalPersonIdentity.certificateNumber"
|
||||||
|
[readonly]="!isEdit"
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[placeholder]="isEdit ? '' : '-'"
|
||||||
|
/>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证有效期" col="1">
|
<sv label="身份证有效期" col="1">
|
||||||
<nz-date-picker [(ngModel)]="detailData.legalPersonIdentity.validStartTime" [nzDisabled]="!isEdit"
|
<nz-date-picker
|
||||||
nzPlaceHolder=" " [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px"
|
[(ngModel)]="detailData.legalPersonIdentity.validStartTime"
|
||||||
class="calendar"></nz-date-picker>
|
[nzDisabled]="!isEdit"
|
||||||
|
nzPlaceHolder=" "
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
|
||||||
|
style="width: 140px"
|
||||||
|
class="calendar"
|
||||||
|
></nz-date-picker>
|
||||||
-
|
-
|
||||||
<ng-container
|
<ng-container *ngIf="!isEdit && !detailData?.legalPersonIdentity?.validEndTime && detailData.legalPersonIdentity.validStartTime">
|
||||||
*ngIf="!isEdit && !detailData?.legalPersonIdentity?.validEndTime && detailData.legalPersonIdentity.validStartTime">
|
|
||||||
<label style="padding-left: 11px">长期</label>
|
<label style="padding-left: 11px">长期</label>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<nz-date-picker [(ngModel)]="detailData.legalPersonIdentity.validEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
<nz-date-picker
|
||||||
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar">
|
[(ngModel)]="detailData.legalPersonIdentity.validEndTime"
|
||||||
|
[nzDisabled]="!isEdit"
|
||||||
|
nzPlaceHolder=" "
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
|
||||||
|
style="width: 140px"
|
||||||
|
class="calendar"
|
||||||
|
>
|
||||||
</nz-date-picker>
|
</nz-date-picker>
|
||||||
<ng-container *ngIf="isEdit">
|
<ng-container *ngIf="isEdit">
|
||||||
<label nz-checkbox [ngModel]="!!!detailData.legalPersonIdentity.validEndTime"
|
<label
|
||||||
(ngModelChange)="$event ? (detailData.legalPersonIdentity.validEndTime = '') : ''" class="ml-sm">长期</label>
|
nz-checkbox
|
||||||
|
[ngModel]="!!!detailData.legalPersonIdentity.validEndTime"
|
||||||
|
(ngModelChange)="$event ? (detailData.legalPersonIdentity.validEndTime = '') : ''"
|
||||||
|
class="ml-sm"
|
||||||
|
>长期</label
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证照" col="1">
|
<sv label="身份证照" col="1">
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
uploadTemplate;
|
uploadTemplate;
|
||||||
context: {
|
context: {
|
||||||
data: detailData?.legalPersonIdentity,
|
data: detailData?.legalPersonIdentity,
|
||||||
@ -240,9 +348,11 @@
|
|||||||
key2: 'certificatePhotoFront',
|
key2: 'certificatePhotoFront',
|
||||||
hover: 'legalFront'
|
hover: 'legalFront'
|
||||||
}
|
}
|
||||||
">
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
uploadTemplate;
|
uploadTemplate;
|
||||||
context: {
|
context: {
|
||||||
data: detailData?.legalPersonIdentity,
|
data: detailData?.legalPersonIdentity,
|
||||||
@ -251,16 +361,26 @@
|
|||||||
key2: 'certificatePhotoBack',
|
key2: 'certificatePhotoBack',
|
||||||
hover: 'legalBack'
|
hover: 'legalBack'
|
||||||
}
|
}
|
||||||
">
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="所属城市">
|
<sv label="所属城市">
|
||||||
<ng-container *ngIf="isEdit; else cascaderelseTemplate">
|
<ng-container *ngIf="isEdit; else cascaderelseTemplate">
|
||||||
<nz-tree-select #areaTreeSelect style="width: 350px" [(ngModel)]="enterpriseAddressCode"
|
<nz-tree-select
|
||||||
[nzDropdownStyle]="{ 'max-height': '300px' }" [nzExpandedKeys]="enterpriseDefaultAddressCode"
|
#areaTreeSelect
|
||||||
[nzNodes]="areaList" [nzAsyncData]="true" [nzCheckStrictly]="true" nzCheckable
|
style="width: 350px"
|
||||||
(nzExpandChange)="onExpandChange($event.node)" nzDropdownClassName="area-tree-select">
|
[(ngModel)]="enterpriseAddressCode"
|
||||||
|
[nzDropdownStyle]="{ 'max-height': '300px' }"
|
||||||
|
[nzExpandedKeys]="enterpriseDefaultAddressCode"
|
||||||
|
[nzNodes]="areaList"
|
||||||
|
[nzAsyncData]="true"
|
||||||
|
[nzCheckStrictly]="true"
|
||||||
|
nzCheckable
|
||||||
|
(nzExpandChange)="onExpandChange($event.node)"
|
||||||
|
nzDropdownClassName="area-tree-select"
|
||||||
|
>
|
||||||
</nz-tree-select>
|
</nz-tree-select>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #cascaderelseTemplate>
|
<ng-template #cascaderelseTemplate>
|
||||||
@ -280,20 +400,25 @@
|
|||||||
<nz-card>
|
<nz-card>
|
||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>修改渠道销售记录</sv-title>
|
<sv-title>修改渠道销售记录</sv-title>
|
||||||
<sv label="">
|
|
||||||
<st #st [data]="service.$api_get_personal_channel_list" [columns]="columns"
|
|
||||||
[req]="{params:{partnerId:route.snapshot.params.id}}" [loading]="service.http.loading" bordered size="small"
|
|
||||||
[page]="{ show: false }" [scroll]="{ x: '1200px' }">
|
|
||||||
</st>
|
|
||||||
</sv>
|
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[data]="service.$api_get_personal_channel_list"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ params: { partnerId: route.snapshot.params.id } }"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
bordered
|
||||||
|
size="small"
|
||||||
|
[page]="{ show: false }"
|
||||||
|
[scroll]="{ x: '1200px' }"
|
||||||
|
>
|
||||||
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<ng-template #PopconfirmTempalte let-title="title" let-content="content">
|
<ng-template #PopconfirmTempalte let-title="title" let-content="content">
|
||||||
<div class="ant-popover-message">
|
<div class="ant-popover-message">
|
||||||
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
||||||
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">{{ title }}
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">{{ title }} </div>
|
||||||
</div>
|
|
||||||
<div class="ant-popover-message-title ng-star-inserted">
|
<div class="ant-popover-message-title ng-star-inserted">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
</div>
|
</div>
|
||||||
@ -301,18 +426,36 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover">
|
<ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover">
|
||||||
<nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card"
|
<nz-upload
|
||||||
[nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif"
|
class="avatar-uploader"
|
||||||
[nzDisabled]="!isEdit || disabledUpload" (nzChange)="changeUpload($event, data, key, key2, hover)">
|
[nzAction]="uploadURl"
|
||||||
|
nzName="multipartFile"
|
||||||
|
nzListType="picture-card"
|
||||||
|
[nzShowUploadList]="false"
|
||||||
|
nzFileType="image/png,image/jpeg,image/jpg,image/gif"
|
||||||
|
[nzDisabled]="!isEdit || disabledUpload"
|
||||||
|
(nzChange)="changeUpload($event, data, key, key2, hover)"
|
||||||
|
>
|
||||||
<ng-container *ngIf="!data[key] && isEdit">
|
<ng-container *ngIf="!data[key] && isEdit">
|
||||||
<i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
<i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
||||||
<div class="ant-upload-text">上传</div>
|
<div class="ant-upload-text">上传</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<div *ngIf="data[key]" (mouseover)="detailData[hover] = true" (mouseleave)="detailData[hover] = false"
|
<div
|
||||||
(click)="$event.cancelBubble = true" class="image-hover">
|
*ngIf="data[key]"
|
||||||
|
(mouseover)="detailData[hover] = true"
|
||||||
|
(mouseleave)="detailData[hover] = false"
|
||||||
|
(click)="$event.cancelBubble = true"
|
||||||
|
class="image-hover"
|
||||||
|
>
|
||||||
<img nz-image [nzSrc]="data[key]" style="width: 200px; height: 160px" />
|
<img nz-image [nzSrc]="data[key]" style="width: 200px; height: 160px" />
|
||||||
<i nz-icon *ngIf="detailData[hover] && isEdit" nzType="close-circle" nzTheme="fill" class="delete-icon"
|
<i
|
||||||
(click)="deleteImg(data, key, key2)"></i>
|
nz-icon
|
||||||
|
*ngIf="detailData[hover] && isEdit"
|
||||||
|
nzType="close-circle"
|
||||||
|
nzTheme="fill"
|
||||||
|
class="delete-icon"
|
||||||
|
(click)="deleteImg(data, key, key2)"
|
||||||
|
></i>
|
||||||
</div>
|
</div>
|
||||||
</nz-upload>
|
</nz-upload>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
<nz-skeleton [nzLoading]="service.http.loading">
|
<nz-skeleton [nzLoading]="service.http.loading">
|
||||||
<div class="user-info" nz-row>
|
<div class="user-info" nz-row>
|
||||||
<div nz-col [nzXl]="18" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="d-flex">
|
<div nz-col [nzXl]="18" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="d-flex">
|
||||||
<img [src]="detailData?.enterpriseLogo" />
|
<img [src]="detailData?.avatar" />
|
||||||
<div style="flex: 1">
|
<div style="flex: 1">
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
|
||||||
@ -21,16 +21,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
|
<!-- <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
|
||||||
<p>{{ detailData?.adminUserInfo?.certificateNumber }}</p>
|
<p>{{ detailData?.adminUserInfo?.certificateNumber }}</p>
|
||||||
</div>
|
</div> -->
|
||||||
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 个人合伙人 </div>
|
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 个人合伙人 </div>
|
||||||
</div>
|
</div>
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 注册时间:{{ detailData?.createTime }} </div>
|
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 注册时间:{{ detailData?.createTime }} </div>
|
||||||
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 所属城市:{{ enterpriseDefaultCityName }} </div>
|
||||||
所属城市:{{enterpriseDefaultCityName}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -40,19 +38,33 @@
|
|||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="save()"> 保存 </button>
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="save()"> 保存 </button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #editButton>
|
<ng-template #editButton>
|
||||||
<ng-container *ngIf="detailData?.approvalStatus === 10">
|
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(true)"> 通过 </button>
|
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button>
|
|
||||||
</ng-container>
|
|
||||||
<ng-container *ngIf="detailData?.approvalStatus != 10">
|
<ng-container *ngIf="detailData?.approvalStatus != 10">
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="enable"
|
<button
|
||||||
(nzOnConfirm)="freezeOrResume(0)" nzPopconfirmPlacement="bottomRight" *ngIf="detailData?.lockedStatus"
|
[disabled]="service.http.loading"
|
||||||
acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']">
|
nz-button
|
||||||
|
nzDanger
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="enable"
|
||||||
|
(nzOnConfirm)="freezeOrResume(0)"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
*ngIf="detailData?.lockedStatus"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']"
|
||||||
|
>
|
||||||
启用
|
启用
|
||||||
</button>
|
</button>
|
||||||
<button [disabled]="service.http.loading" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen"
|
<button
|
||||||
(nzOnConfirm)="freezeOrResume(1)" nzPopconfirmPlacement="bottomRight" *ngIf="!detailData?.lockedStatus"
|
[disabled]="service.http.loading"
|
||||||
acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']">
|
nz-button
|
||||||
|
nzDanger
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="frozen"
|
||||||
|
(nzOnConfirm)="freezeOrResume(1)"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
*ngIf="!detailData?.lockedStatus"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']"
|
||||||
|
>
|
||||||
冻结
|
冻结
|
||||||
</button>
|
</button>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
@ -64,57 +76,116 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #frozen>
|
<ng-template #frozen>
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
PopconfirmTempalte;
|
*ngTemplateOutlet="
|
||||||
context: { title: '确定冻结该合伙人吗?', content: '停用后,该合伙人将被限制使用,不限于访问受限、邀请客户、佣金收益等,请谨慎操作' }
|
PopconfirmTempalte;
|
||||||
">
|
context: {
|
||||||
|
title: '确定冻结该合伙人吗?',
|
||||||
|
content: '停用后,该合伙人将被限制使用,不限于访问受限、邀请客户、佣金收益等,请谨慎操作'
|
||||||
|
}
|
||||||
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #enable>
|
<ng-template #enable>
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
PopconfirmTempalte;
|
*ngTemplateOutlet="
|
||||||
context: { title: '确定启用该合伙人吗?', content: '启用后,该该合伙人将恢复正常使用功能,请再次确认' }
|
PopconfirmTempalte;
|
||||||
">
|
context: { title: '确定启用该合伙人吗?', content: '启用后,该该合伙人将恢复正常使用功能,请再次确认' }
|
||||||
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
|
|
||||||
<nz-card [class]="isEdit ? 'edit-box' : 'readOnly-box'">
|
<nz-card [class]="isEdit ? 'edit-box' : 'readOnly-box'">
|
||||||
|
<div class="font-weight-blod text-md detail-title" style="justify-content: space-between;">
|
||||||
|
<div style="display: flex; justify-content: center;align-items: center;">
|
||||||
|
<a class="sign"></a>
|
||||||
|
<p style="margin-bottom: 0">
|
||||||
|
合伙人信息
|
||||||
|
<label *ngIf="!detailData?.adminUserInfo?.isExpired" style="color: #ff4d4f"><i nz-icon nzType="info-circle"
|
||||||
|
nzTheme="fill" class="mr-xs"></i>{{detailData?.adminUserInfo?.esignCheckMsg}}
|
||||||
|
</label>
|
||||||
|
<label *ngIf="detailData?.adminUserInfo?.isExpired" style="color: #52c41a"><i nz-icon nzType="check-circle"
|
||||||
|
nzTheme="fill" class="mr-xs"></i>验证通过
|
||||||
|
</label>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<ng-container *ngIf="detailData?.approvalStatus === 10">
|
||||||
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(true)"> 通过 </button>
|
||||||
|
<button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>合伙人信息</sv-title>
|
<!-- <sv-title>合伙人信息</sv-title> -->
|
||||||
<sv label="姓名">
|
<sv label="姓名">
|
||||||
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.name" [readonly]="!isEdit"
|
<input
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
nz-input
|
||||||
|
type="text"
|
||||||
|
[(ngModel)]="detailData.adminUserInfo.name"
|
||||||
|
[readonly]="!isEdit"
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[placeholder]="isEdit ? '' : '-'"
|
||||||
|
/>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="手机号">
|
<sv label="手机号">
|
||||||
<!-- <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit"
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit"
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> -->
|
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> -->
|
||||||
{{detailData.adminUserInfo.mobile}}
|
{{ detailData.adminUserInfo.mobile }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证号">
|
<sv label="身份证号">
|
||||||
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit"
|
<input
|
||||||
[nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" />
|
nz-input
|
||||||
|
type="text"
|
||||||
|
[(ngModel)]="detailData.adminUserInfo.certificateNumber"
|
||||||
|
[readonly]="!isEdit"
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[placeholder]="isEdit ? '' : '-'"
|
||||||
|
/>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证有效期" col="1">
|
<sv label="身份证有效期" col="1">
|
||||||
<nz-date-picker [(ngModel)]="detailData.adminUserInfo.validStartTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
<nz-date-picker
|
||||||
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar">
|
[(ngModel)]="detailData.adminUserInfo.validStartTime"
|
||||||
|
[nzDisabled]="!isEdit"
|
||||||
|
nzPlaceHolder=" "
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
|
||||||
|
style="width: 140px"
|
||||||
|
class="calendar"
|
||||||
|
>
|
||||||
</nz-date-picker>
|
</nz-date-picker>
|
||||||
-
|
-
|
||||||
<ng-container
|
<ng-container *ngIf="!isEdit && !detailData?.adminUserInfo?.validEndTime && detailData.adminUserInfo.validStartTime">
|
||||||
*ngIf="!isEdit && !detailData?.adminUserInfo?.validEndTime && detailData.adminUserInfo.validStartTime">
|
|
||||||
<label style="padding-left: 11px">长期</label>
|
<label style="padding-left: 11px">长期</label>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<nz-date-picker [(ngModel)]="detailData.adminUserInfo.validEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" "
|
<nz-date-picker
|
||||||
[nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar">
|
[(ngModel)]="detailData.adminUserInfo.validEndTime"
|
||||||
|
[nzDisabled]="!isEdit"
|
||||||
|
nzPlaceHolder=" "
|
||||||
|
[nzBorderless]="!isEdit"
|
||||||
|
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
|
||||||
|
style="width: 140px"
|
||||||
|
class="calendar"
|
||||||
|
>
|
||||||
</nz-date-picker>
|
</nz-date-picker>
|
||||||
<ng-container *ngIf="isEdit">
|
<ng-container *ngIf="isEdit">
|
||||||
<label nz-checkbox [ngModel]="!!!detailData.adminUserInfo.validEndTime"
|
<label
|
||||||
(ngModelChange)="$event ? (detailData.adminUserInfo.validEndTime = '') : ''" class="ml-sm">长期</label>
|
nz-checkbox
|
||||||
|
[ngModel]="!!!detailData.adminUserInfo.validEndTime"
|
||||||
|
(ngModelChange)="$event ? (detailData.adminUserInfo.validEndTime = '') : ''"
|
||||||
|
class="ml-sm"
|
||||||
|
>长期</label
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证照" col="1">
|
<sv label="身份证照" col="1">
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
uploadTemplate;
|
uploadTemplate;
|
||||||
context: {
|
context: {
|
||||||
data: detailData?.adminUserInfo,
|
data: detailData?.adminUserInfo,
|
||||||
@ -123,9 +194,11 @@
|
|||||||
key2: 'certificatePhotoFront',
|
key2: 'certificatePhotoFront',
|
||||||
hover: 'legalFront'
|
hover: 'legalFront'
|
||||||
}
|
}
|
||||||
">
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngTemplateOutlet="
|
<ng-container
|
||||||
|
*ngTemplateOutlet="
|
||||||
uploadTemplate;
|
uploadTemplate;
|
||||||
context: {
|
context: {
|
||||||
data: detailData?.adminUserInfo,
|
data: detailData?.adminUserInfo,
|
||||||
@ -134,16 +207,26 @@
|
|||||||
key2: 'certificatePhotoBack',
|
key2: 'certificatePhotoBack',
|
||||||
hover: 'legalBack'
|
hover: 'legalBack'
|
||||||
}
|
}
|
||||||
">
|
"
|
||||||
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="所属城市">
|
<sv label="所属城市">
|
||||||
<ng-container *ngIf="isEdit; else cascaderelseTemplate">
|
<ng-container *ngIf="isEdit; else cascaderelseTemplate">
|
||||||
<nz-tree-select #areaTreeSelect style="width: 350px" [(ngModel)]="enterpriseAddressCode"
|
<nz-tree-select
|
||||||
[nzDropdownStyle]="{ 'max-height': '300px' }" [nzExpandedKeys]="enterpriseDefaultAddressCode"
|
#areaTreeSelect
|
||||||
[nzNodes]="areaList" [nzAsyncData]="true" [nzCheckStrictly]="true" nzCheckable
|
style="width: 350px"
|
||||||
(nzExpandChange)="onExpandChange($event.node)" nzDropdownClassName="area-tree-select">
|
[(ngModel)]="enterpriseAddressCode"
|
||||||
|
[nzDropdownStyle]="{ 'max-height': '300px' }"
|
||||||
|
[nzExpandedKeys]="enterpriseDefaultAddressCode"
|
||||||
|
[nzNodes]="areaList"
|
||||||
|
[nzAsyncData]="true"
|
||||||
|
[nzCheckStrictly]="true"
|
||||||
|
nzCheckable
|
||||||
|
(nzExpandChange)="onExpandChange($event.node)"
|
||||||
|
nzDropdownClassName="area-tree-select"
|
||||||
|
>
|
||||||
</nz-tree-select>
|
</nz-tree-select>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #cascaderelseTemplate>
|
<ng-template #cascaderelseTemplate>
|
||||||
@ -161,22 +244,27 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<sv-container col="3" class="mt16">
|
<sv-container >
|
||||||
<sv-title>修改渠道销售记录</sv-title>
|
<sv-title>修改渠道销售记录</sv-title>
|
||||||
<sv label="">
|
|
||||||
<st #st [data]="service.$api_get_personal_channel_list" [columns]="columns"
|
|
||||||
[req]="{params:{partnerId:route.snapshot.params.id}}" [loading]="service.http.loading" bordered size="small"
|
|
||||||
[page]="{ show: false }" [scroll]="{ x: '1200px' }">
|
|
||||||
</st>
|
|
||||||
</sv>
|
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[scroll]="{x: '1200px'}"
|
||||||
|
[data]="service.$api_get_personal_channel_list"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ params: { partnerId: route.snapshot.params.id } }"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
bordered
|
||||||
|
size="small"
|
||||||
|
[page]="{ show: false }"
|
||||||
|
>
|
||||||
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<ng-template #PopconfirmTempalte let-title="title" let-content="content">
|
<ng-template #PopconfirmTempalte let-title="title" let-content="content">
|
||||||
<div class="ant-popover-message">
|
<div class="ant-popover-message">
|
||||||
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
||||||
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">{{ title }}
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">{{ title }} </div>
|
||||||
</div>
|
|
||||||
<div class="ant-popover-message-title ng-star-inserted">
|
<div class="ant-popover-message-title ng-star-inserted">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
</div>
|
</div>
|
||||||
@ -184,18 +272,36 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover">
|
<ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover">
|
||||||
<nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card"
|
<nz-upload
|
||||||
[nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif"
|
class="avatar-uploader"
|
||||||
[nzDisabled]="!isEdit || disabledUpload" (nzChange)="changeUpload($event, data, key, key2, hover)">
|
[nzAction]="uploadURl"
|
||||||
|
nzName="multipartFile"
|
||||||
|
nzListType="picture-card"
|
||||||
|
[nzShowUploadList]="false"
|
||||||
|
nzFileType="image/png,image/jpeg,image/jpg,image/gif"
|
||||||
|
[nzDisabled]="!isEdit || disabledUpload"
|
||||||
|
(nzChange)="changeUpload($event, data, key, key2, hover)"
|
||||||
|
>
|
||||||
<ng-container *ngIf="!data[key] && isEdit">
|
<ng-container *ngIf="!data[key] && isEdit">
|
||||||
<i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
<i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
||||||
<div class="ant-upload-text">上传</div>
|
<div class="ant-upload-text">上传</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<div *ngIf="data[key]" (mouseover)="detailData[hover] = true" (mouseleave)="detailData[hover] = false"
|
<div
|
||||||
(click)="$event.cancelBubble = true" class="image-hover">
|
*ngIf="data[key]"
|
||||||
|
(mouseover)="detailData[hover] = true"
|
||||||
|
(mouseleave)="detailData[hover] = false"
|
||||||
|
(click)="$event.cancelBubble = true"
|
||||||
|
class="image-hover"
|
||||||
|
>
|
||||||
<img nz-image [nzSrc]="data[key]" style="width: 200px; height: 160px" />
|
<img nz-image [nzSrc]="data[key]" style="width: 200px; height: 160px" />
|
||||||
<i nz-icon *ngIf="detailData[hover] && isEdit" nzType="close-circle" nzTheme="fill" class="delete-icon"
|
<i
|
||||||
(click)="deleteImg(data, key, key2)"></i>
|
nz-icon
|
||||||
|
*ngIf="detailData[hover] && isEdit"
|
||||||
|
nzType="close-circle"
|
||||||
|
nzTheme="fill"
|
||||||
|
class="delete-icon"
|
||||||
|
(click)="deleteImg(data, key, key2)"
|
||||||
|
></i>
|
||||||
</div>
|
</div>
|
||||||
</nz-upload>
|
</nz-upload>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-02-24 20:09:49
|
* @Date : 2022-02-24 20:09:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-29 13:40:16
|
* @LastEditTime : 2022-05-12 16:43:10
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-record\\rebate-record.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-record\\rebate-record.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -23,7 +23,7 @@
|
|||||||
></sf>
|
></sf>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right">
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1);">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1);">查询</button>
|
||||||
<button nz-button nzType="primary" [disabled]="service.http.loading" acl [acl-ability]="['REBATE-RECORD-export']">导出</button>
|
<button nz-button nzType="primary" (click)="exprot()" [disabled]="service.http.loading" acl [acl-ability]="['REBATE-RECORD-export']">导出</button>
|
||||||
<button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
<!-- 数据列表 -->
|
<!-- 数据列表 -->
|
||||||
<st
|
<st
|
||||||
#st
|
#st
|
||||||
[data]="service.$api_get_getIncomeByBillpage"
|
[data]="service.$api_get_partnerIncomeHead"
|
||||||
[columns]="columns"
|
[columns]="columns"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
@ -42,7 +42,10 @@
|
|||||||
[loading]="service.http.loading"
|
[loading]="service.http.loading"
|
||||||
>
|
>
|
||||||
<ng-template st-row='abnormalFeedback' let-item let-index='index'>
|
<ng-template st-row='abnormalFeedback' let-item let-index='index'>
|
||||||
<div style="color: #f59a23;" (click)="feedback()">123212{{item?.abnormalFeedback}}</div>
|
<div style="color: #f59a23;" (click)="feedback(item)">123212{{item?.abnormalFeedback}}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row='profitAmountSum' let-item let-index='index'>
|
||||||
|
<div >{{item?.profitAmountSum | currency}}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -68,11 +68,11 @@ export class ParterRebateManageMentRecordComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '月份',
|
title: '月份',
|
||||||
index: 'month',
|
index: 'month',
|
||||||
format: (item: any) => {return item?.month ? item?.month + '月' : ''}
|
format: (item: any) => {return ((item?.year ? item?.year + '-' : '') + (item?.month ? item.month : ''))}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '返佣金额(元)',
|
title: '返佣金额(元)',
|
||||||
index: 'name1'
|
render: 'profitAmountSum'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '合伙人名称',
|
title: '合伙人名称',
|
||||||
@ -80,15 +80,16 @@ export class ParterRebateManageMentRecordComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '实际等级',
|
title: '实际等级',
|
||||||
index: 'name1'
|
index: 'partnerGrade'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '管理费比例',
|
title: '管理费比例',
|
||||||
index: 'rebateRatio'
|
index: 'manageFeeRatio',
|
||||||
|
format: (item) => {return item.manageFeeRatio + '%' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '返佣时间',
|
title: '返佣时间',
|
||||||
index: 'name1'
|
index: 'returnCommissionTime'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '异常反馈',
|
title: '异常反馈',
|
||||||
@ -117,7 +118,7 @@ export class ParterRebateManageMentRecordComponent implements OnInit {
|
|||||||
nzTitle: '明细',
|
nzTitle: '明细',
|
||||||
nzWidth: 1200,
|
nzWidth: 1200,
|
||||||
nzContent: ParterRebateManageMenRecordDetailComponent,
|
nzContent: ParterRebateManageMenRecordDetailComponent,
|
||||||
nzComponentParams: { },
|
nzComponentParams: { record: item },
|
||||||
nzFooter: null
|
nzFooter: null
|
||||||
});
|
});
|
||||||
modal.afterClose.subscribe((res: any) => {
|
modal.afterClose.subscribe((res: any) => {
|
||||||
@ -148,4 +149,10 @@ export class ParterRebateManageMentRecordComponent implements OnInit {
|
|||||||
this.sf.reset();
|
this.sf.reset();
|
||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
|
// 导出
|
||||||
|
exprot() {
|
||||||
|
// this.service.exportStart({ ...this.reqParams, pageSize: -1 }, this.service.$api_get_partnerIncomeHead_export);
|
||||||
|
this.service.downloadFile(this.service.$api_get_partnerIncomeHead_export, { ...this.reqParams, pageSize: -1 });
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-02-24 20:09:49
|
* @Date : 2022-02-24 20:09:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-05-07 15:42:10
|
* @LastEditTime : 2022-05-11 17:04:39
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -23,7 +23,14 @@
|
|||||||
<sv-title> 固定结算费率配置</sv-title>
|
<sv-title> 固定结算费率配置</sv-title>
|
||||||
|
|
||||||
<sv label="固定结算费率">
|
<sv label="固定结算费率">
|
||||||
<nz-input-number [disabled]="hiden" [nzMin]="0" [nzMax]="100" [(ngModel)]="accountingRate" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number
|
<nz-input-number
|
||||||
|
[disabled]="hiden"
|
||||||
|
[nzMin]="0"
|
||||||
|
[nzMax]="100"
|
||||||
|
[(ngModel)]="accountingRate"
|
||||||
|
[nzPrecision]="precision"
|
||||||
|
nzPlaceHolder="请输入"
|
||||||
|
></nz-input-number
|
||||||
> %</sv
|
> %</sv
|
||||||
>
|
>
|
||||||
|
|
||||||
@ -74,15 +81,26 @@
|
|||||||
</sv>
|
</sv>
|
||||||
|
|
||||||
<sv label="优先级" col="1">
|
<sv label="优先级" col="1">
|
||||||
<!-- <nz-select [(ngModel)]="priority" [disabled]="hiden" style="max-width: 400px; min-width: 200px; margin-left: 28px">
|
<nz-input-number
|
||||||
<nz-option nzValue="1" nzLabel="1">1</nz-option>
|
style="max-width: 400px; min-width: 200px; margin-left: 28px"
|
||||||
<nz-option nzValue="2" nzLabel="2">2</nz-option>
|
[(ngModel)]="priority"
|
||||||
<nz-option nzValue="3" nzLabel="3">3</nz-option>
|
[nzMin]="0"
|
||||||
<nz-option nzValue="4" nzLabel="4">4</nz-option>
|
[nzMax]="9999"
|
||||||
<nz-option nzValue="5" nzLabel="5">5</nz-option>
|
[nzStep]="1"
|
||||||
</nz-select> -->
|
></nz-input-number>
|
||||||
<nz-input-number style="max-width: 400px; min-width: 200px; margin-left: 28px" [(ngModel)]="priority" [nzMin]="0" [nzMax]="9999" [nzStep]="1"></nz-input-number>
|
<div style="color: #7F7F7F;margin-left: 28px">
|
||||||
|
1、指全部合伙人、新注册合伙人、自定义合伙人三种范围优先执行的顺序,等级数字越大,优先执行该返佣模板<br />
|
||||||
|
2、同一合伙人范围的按创建时间最新的执行返佣模板
|
||||||
|
</div>
|
||||||
</sv>
|
</sv>
|
||||||
|
<!-- <sv label="生效时间" col="1">
|
||||||
|
<nz-date-picker
|
||||||
|
nzShowTime
|
||||||
|
nzFormat="yyyy-MM-dd HH:mm:ss"
|
||||||
|
[(ngModel)]="enableTime"
|
||||||
|
nzPlaceHolder="请选择,精确到秒"
|
||||||
|
></nz-date-picker>
|
||||||
|
</sv> -->
|
||||||
|
|
||||||
<sv label="规则说明" col="1">
|
<sv label="规则说明" col="1">
|
||||||
<sf
|
<sf
|
||||||
@ -99,7 +117,9 @@
|
|||||||
|
|
||||||
<sv label="备注" col="1" style="margin-top: 16px">
|
<sv label="备注" col="1" style="margin-top: 16px">
|
||||||
<textarea
|
<textarea
|
||||||
[disabled]="hiden"
|
maxlength="20"
|
||||||
|
placeholder="请输入20个字符"
|
||||||
|
[readonly]='hiden'
|
||||||
style="max-width: 400px; min-width: 200px; margin-left: 40px"
|
style="max-width: 400px; min-width: 200px; margin-left: 40px"
|
||||||
rows="4"
|
rows="4"
|
||||||
nz-input
|
nz-input
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-03-21 09:26:45
|
* @Date : 2022-03-21 09:26:45
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-05-07 15:38:49
|
* @LastEditTime : 2022-05-11 16:49:20
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -12,6 +12,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
|
|||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { STColumn, STComponent } from '@delon/abc/st';
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema } from '@delon/form';
|
import { SFComponent, SFSchema } from '@delon/form';
|
||||||
|
import { DatePipe } from '@delon/theme';
|
||||||
import { ShipperBaseService } from '@shared';
|
import { ShipperBaseService } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { RebateManagementService } from '../../../services/rebate-management.service';
|
import { RebateManagementService } from '../../../services/rebate-management.service';
|
||||||
@ -19,7 +20,8 @@ import { ParterRebateManageMentAddPartnerListComponent } from '../add-partnerlis
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'app-parter-channel-rebate-management-add',
|
selector: 'app-parter-channel-rebate-management-add',
|
||||||
styleUrls: ['./add.component.less'],
|
styleUrls: ['./add.component.less'],
|
||||||
templateUrl: './add.component.html'
|
templateUrl: './add.component.html',
|
||||||
|
providers: [DatePipe]
|
||||||
})
|
})
|
||||||
export class ParterRebateManageMentAddComponent implements OnInit {
|
export class ParterRebateManageMentAddComponent implements OnInit {
|
||||||
@ViewChild('table') table!: any;
|
@ViewChild('table') table!: any;
|
||||||
@ -27,6 +29,7 @@ export class ParterRebateManageMentAddComponent implements OnInit {
|
|||||||
tabelData: any;
|
tabelData: any;
|
||||||
tabelType: any;
|
tabelType: any;
|
||||||
formData: any;
|
formData: any;
|
||||||
|
enableTime: any;
|
||||||
addStatus: boolean = false;
|
addStatus: boolean = false;
|
||||||
hiden: boolean = false;
|
hiden: boolean = false;
|
||||||
configName: string = '';
|
configName: string = '';
|
||||||
@ -48,7 +51,8 @@ export class ParterRebateManageMentAddComponent implements OnInit {
|
|||||||
public ar: ActivatedRoute,
|
public ar: ActivatedRoute,
|
||||||
public service: RebateManagementService,
|
public service: RebateManagementService,
|
||||||
private modal: NzModalService,
|
private modal: NzModalService,
|
||||||
public shipperservice: ShipperBaseService
|
public shipperservice: ShipperBaseService,
|
||||||
|
private datePipe: DatePipe
|
||||||
) {}
|
) {}
|
||||||
columns: STColumn[] = [];
|
columns: STColumn[] = [];
|
||||||
initSF(data?: any) {
|
initSF(data?: any) {
|
||||||
@ -200,6 +204,7 @@ export class ParterRebateManageMentAddComponent implements OnInit {
|
|||||||
accountingRate: this.accountingRate,
|
accountingRate: this.accountingRate,
|
||||||
configName: this.configName,
|
configName: this.configName,
|
||||||
configType: this.configType,
|
configType: this.configType,
|
||||||
|
// enableTime:this.datePipe.transform(this.enableTime,'yyyy-MM-dd HH:mm:ss'),
|
||||||
rebateConfigLineDTO: this.table.data,
|
rebateConfigLineDTO: this.table.data,
|
||||||
priority: this.priority, // 优先级
|
priority: this.priority, // 优先级
|
||||||
partnerIds: this.partnerId,
|
partnerIds: this.partnerId,
|
||||||
@ -229,6 +234,8 @@ export class ParterRebateManageMentAddComponent implements OnInit {
|
|||||||
this.priority = res?.priority + '';
|
this.priority = res?.priority + '';
|
||||||
this.formData = { ruleDescription: res?.ruleDescription };
|
this.formData = { ruleDescription: res?.ruleDescription };
|
||||||
this.remark = res.remark;
|
this.remark = res.remark;
|
||||||
|
// this.enableTime = res.enableTime;
|
||||||
|
// this.enableTime = new Date(Date.parse(res?.enableTime?.replace(/-/g, '/')))
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-02-24 20:09:49
|
* @Date : 2022-02-24 20:09:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-05-06 16:37:06
|
* @LastEditTime : 2022-05-11 17:07:17
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\rebate-setting.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\rebate-setting.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -58,7 +58,7 @@
|
|||||||
<div *ngIf="item.partnerType == 3">自定义合伙人</div>
|
<div *ngIf="item.partnerType == 3">自定义合伙人</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row='stateLocked' let-item let-index='index'>
|
<ng-template st-row='stateLocked' let-item let-index='index'>
|
||||||
<div >{{item?.stateLocked ? '生效中' : '失效'}}</div>
|
<div >{{item?.stateLocked ? '失效' : '生效中'}}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -53,8 +53,8 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
title: '状态',
|
title: '状态',
|
||||||
enum: [
|
enum: [
|
||||||
{ label: '全部', value: '' },
|
{ label: '全部', value: '' },
|
||||||
{ label: '生效中', value: 1 },
|
{ label: '生效中', value: 0 },
|
||||||
{ label: '失效', value: 0 }
|
{ label: '失效', value: 1 }
|
||||||
],
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select'
|
widget: 'select'
|
||||||
@ -94,7 +94,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: '创建时间',
|
||||||
index: 'enableTime',
|
index: 'createTime',
|
||||||
width: '200px'
|
width: '200px'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -127,7 +127,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
text: '禁用',
|
text: '禁用',
|
||||||
acl: { ability: ['REBATE-SETTING-forbidden'] },
|
acl: { ability: ['REBATE-SETTING-forbidden'] },
|
||||||
iif: _record => {
|
iif: _record => {
|
||||||
return _record.stateLocked == true && (_record.partnerType == 3 || _record.partnerType == 2);
|
return _record.stateLocked == false && (_record.partnerType == 3 || _record.partnerType == 2);
|
||||||
},
|
},
|
||||||
click: _record => this.viewEvaluate(_record)
|
click: _record => this.viewEvaluate(_record)
|
||||||
},
|
},
|
||||||
@ -135,7 +135,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
text: '启用',
|
text: '启用',
|
||||||
acl: { ability: ['REBATE-SETTING-startUseing'] },
|
acl: { ability: ['REBATE-SETTING-startUseing'] },
|
||||||
iif: _record => {
|
iif: _record => {
|
||||||
return _record.stateLocked == false;
|
return _record.stateLocked == true;
|
||||||
},
|
},
|
||||||
click: _record => this.viewEvaluate(_record)
|
click: _record => this.viewEvaluate(_record)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,23 +4,22 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-02-24 20:09:49
|
* @Date : 2022-02-24 20:09:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-10 15:10:47
|
* @LastEditTime : 2022-05-12 17:43:46
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\model\\abnormal-feedback\\abnormal-feedback.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\model\\abnormal-feedback\\abnormal-feedback.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
<sv-container col="1">
|
<sv-container col="1">
|
||||||
<sv label="异常反馈">
|
<sv *ngFor="let item of mybidDetailInfo" label="异常反馈" >
|
||||||
<div>有订单有异常请查看 </div>
|
<div>{{item.feedbackInfo}} </div>
|
||||||
<div>2022-09-08 00:00:00 </div>
|
<div>{{item.createTime}} </div>
|
||||||
|
<sv label="回复" *ngIf="item.replyVOList">
|
||||||
|
<div>{{item.replyVOList}} </div>
|
||||||
|
<div>{{item.feedbackInfo}} </div>
|
||||||
|
</sv>
|
||||||
|
</sv>
|
||||||
|
<sv *ngIf="mybidDetailInfo.length == 0"label="异常反馈" >
|
||||||
|
<div>暂无反馈信息 </div>
|
||||||
</sv>
|
</sv>
|
||||||
<!-- <sv label="异常反馈">
|
|
||||||
<p *ngFor="let data of i?.mybidDetailInfo; let index = index">
|
|
||||||
<label *ngIf="data?.paymentStatusLabel == '已支付'">
|
|
||||||
<span>{{data?.expenseName}}</span>
|
|
||||||
<span>{{ data.price | number: '0.2-2' }}</span>
|
|
||||||
</label>
|
|
||||||
</p>
|
|
||||||
</sv> -->
|
|
||||||
</sv-container>
|
</sv-container>
|
||||||
<div>
|
<div>
|
||||||
<sf
|
<sf
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-03-10 14:50:45
|
* @Date : 2022-03-10 14:50:45
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-10 15:09:51
|
* @LastEditTime : 2022-05-12 17:54:15
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\model\\abnormal-feedback\\abnormal-feedback.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\model\\abnormal-feedback\\abnormal-feedback.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -24,17 +24,30 @@ export class ParterRebateManageMenAbnormalFeedbackComponent implements OnInit {
|
|||||||
@ViewChild('sf', { static: false })
|
@ViewChild('sf', { static: false })
|
||||||
sf!: SFComponent;
|
sf!: SFComponent;
|
||||||
i!: any;
|
i!: any;
|
||||||
|
mybidDetailInfo: any = [];
|
||||||
data = [{ name1: 1111 }];
|
data = [{ name1: 1111 }];
|
||||||
constructor(public service: RebateManagementService, public shipperservice: ShipperBaseService, public modalRef: NzModalRef) {}
|
constructor(public service: RebateManagementService, public shipperservice: ShipperBaseService, public modalRef: NzModalRef) {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.initSF();
|
this.initSF();
|
||||||
|
this.initData();
|
||||||
}
|
}
|
||||||
|
initData() {
|
||||||
|
if (this.i) {
|
||||||
|
console.log(this.i);
|
||||||
|
|
||||||
|
this.service
|
||||||
|
.request(this.service.$api_get_getExceptionMessage, { partnerId: this.i?.partnerId, month: this.i.month, year: this.i.year })
|
||||||
|
.subscribe(res => {
|
||||||
|
console.log(res);
|
||||||
|
this.mybidDetailInfo = res;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
initSF() {
|
initSF() {
|
||||||
this.schema = {
|
this.schema = {
|
||||||
properties: {
|
properties: {
|
||||||
name3: {
|
feedbackInfo: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '回复',
|
title: '回复',
|
||||||
maxLength: 50,
|
maxLength: 50,
|
||||||
@ -54,6 +67,21 @@ export class ParterRebateManageMenAbnormalFeedbackComponent implements OnInit {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
close() {
|
close() {
|
||||||
this.modalRef.destroy();
|
if (!this.sf.valid) {
|
||||||
|
this.service.msgSrv.error('请填写必填项!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
partnerId: this.i?.partnerId,
|
||||||
|
month: this.i.month,
|
||||||
|
year: this.i.year,
|
||||||
|
...this.sf.value
|
||||||
|
};
|
||||||
|
this.service.request(this.service.$api_get_partnerIncomeExceptionAdd,params).subscribe((res) => {
|
||||||
|
if(res) {
|
||||||
|
this.service.msgSrv.success('保存成功!');
|
||||||
|
this.modalRef.destroy();
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<st
|
<st
|
||||||
#st
|
#st
|
||||||
[bordered]="true"
|
[bordered]="true"
|
||||||
[data]="service.$api_get_listCompliancePage"
|
[data]="service.$api_get_partnerIncomeDetail"
|
||||||
[columns]="columns"
|
[columns]="columns"
|
||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
|
|||||||
@ -21,6 +21,7 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit {
|
|||||||
spuStatus = '1';
|
spuStatus = '1';
|
||||||
size: NzButtonSize = 'large';
|
size: NzButtonSize = 'large';
|
||||||
_$expand = false;
|
_$expand = false;
|
||||||
|
record: any;
|
||||||
data = [{ name1: 1111 }];
|
data = [{ name1: 1111 }];
|
||||||
constructor(public service: RebateManagementService, public shipperservice: ShipperBaseService, public modalRef: NzModalRef) {}
|
constructor(public service: RebateManagementService, public shipperservice: ShipperBaseService, public modalRef: NzModalRef) {}
|
||||||
/**
|
/**
|
||||||
@ -43,10 +44,13 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit {
|
|||||||
const params: any = Object.assign({}, this.sf?.value || {});
|
const params: any = Object.assign({}, this.sf?.value || {});
|
||||||
delete params._$expand;
|
delete params._$expand;
|
||||||
return {
|
return {
|
||||||
|
partnerId: this.record.partnerId,
|
||||||
...params
|
...params
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
console.log(this.record);
|
||||||
|
|
||||||
this.initSF();
|
this.initSF();
|
||||||
this.initST();
|
this.initST();
|
||||||
}
|
}
|
||||||
@ -54,7 +58,7 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit {
|
|||||||
initSF() {
|
initSF() {
|
||||||
this.schema = {
|
this.schema = {
|
||||||
properties: {
|
properties: {
|
||||||
enterpriseInfoId: {
|
ltdId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '网络货运人',
|
title: '网络货运人',
|
||||||
ui: {
|
ui: {
|
||||||
@ -68,18 +72,27 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
paymentStatus: {
|
bankType: {
|
||||||
title: '银行类型',
|
title: '银行类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
enum: [
|
||||||
widget: 'dict-select',
|
{
|
||||||
params: { dictKey: 'overall:payment:status' },
|
label: '全部',
|
||||||
containsAllLabel: true,
|
value: ''
|
||||||
change: (value: any) => {
|
},
|
||||||
console.log(value);
|
{
|
||||||
this.st.reload();
|
label: '平安银行',
|
||||||
|
value: '1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '浦发银行',
|
||||||
|
value: '2'
|
||||||
}
|
}
|
||||||
} as SFSelectWidgetSchema
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
containsAllLabel: true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -93,6 +106,10 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit {
|
|||||||
|
|
||||||
initST() {
|
initST() {
|
||||||
this.columns = [
|
this.columns = [
|
||||||
|
{
|
||||||
|
title: '网络货运人',
|
||||||
|
index: 'billCode'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '订单号',
|
title: '订单号',
|
||||||
index: 'billCode'
|
index: 'billCode'
|
||||||
@ -106,7 +123,7 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit {
|
|||||||
index: 'name1'
|
index: 'name1'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '预估返佣金额(元)',
|
title: '返佣金额(元)',
|
||||||
index: 'name1'
|
index: 'name1'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -118,27 +135,11 @@ export class ParterRebateManageMenRecordDetailComponent implements OnInit {
|
|||||||
index: 'name1'
|
index: 'name1'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '网络货运人',
|
title: '银行类型',
|
||||||
index: 'name1'
|
index: 'name1'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '销售渠道',
|
title: '虚拟账户',
|
||||||
index: 'name1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '合伙人名称',
|
|
||||||
index: 'name1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '合伙人等级',
|
|
||||||
index: 'name1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '管理费比例',
|
|
||||||
index: 'name1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '固定结算费率',
|
|
||||||
index: 'name1'
|
index: 'name1'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-03-10 11:19:00
|
* @Date : 2022-03-10 11:19:00
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-25 19:23:25
|
* @LastEditTime : 2022-05-12 15:36:23
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\services\\rebate-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\services\\rebate-management.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -12,7 +12,7 @@ import { Injectable, Injector } from '@angular/core';
|
|||||||
import { BaseService } from '@shared';
|
import { BaseService } from '@shared';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class RebateManagementService extends BaseService {
|
export class RebateManagementService extends BaseService {
|
||||||
// 查询规则抽查列表
|
// 查询规则抽查列表
|
||||||
@ -24,17 +24,26 @@ export class RebateManagementService extends BaseService {
|
|||||||
// 启用/禁用返佣配置
|
// 启用/禁用返佣配置
|
||||||
public $api_set_updateRebateConfig = '/api/mdc/rebateConfig/updateRebateConfig';
|
public $api_set_updateRebateConfig = '/api/mdc/rebateConfig/updateRebateConfig';
|
||||||
|
|
||||||
|
|
||||||
// 运营端查询合伙人返佣
|
// 运营端查询合伙人返佣
|
||||||
public $api_get_getIncomeByBillpage = '/api/bpc/partnerIncomeHead/getIncomeByBillpage';
|
public $api_get_getIncomeByBillpage = '/api/bpc/partnerIncomeHead/getIncomeByBillpage';
|
||||||
// 获取返佣模板信息
|
// 获取返佣模板信息
|
||||||
public $api_get_getPartnerRebateConfigInfo = '/api/mdc/rebateConfig/getPartnerRebateConfigInfo';
|
public $api_get_getPartnerRebateConfigInfo = '/api/mdc/rebateConfig/getPartnerRebateConfigInfo';
|
||||||
// 合伙人管理/返佣管理/返佣明细
|
// 合伙人管理/返佣管理/返佣明细
|
||||||
public $api_get_searchPageList= '/api/fcc/billPaymentApplicationOBC/list/searchPageList';
|
public $api_get_searchPageList = '/api/fcc/billPaymentApplicationOBC/list/searchPageList';
|
||||||
// 合伙人管理/返佣管理/退款返佣明细
|
// 合伙人管理/返佣管理/退款返佣明细
|
||||||
public $api_get_searchRefundPageList= '/api/fcc/billPaymentApplicationOBC/list/searchRefundPageList';
|
public $api_get_searchRefundPageList = '/api/fcc/billPaymentApplicationOBC/list/searchRefundPageList'; // 查询合伙人信息-分页
|
||||||
// 查询合伙人信息-分页
|
public $api_get_partner_page = '/api/mdc/partner/list/page';
|
||||||
public $api_get_partner_page = '/api/mdc/partner/list/page';
|
|
||||||
|
// 查询查询返佣记录列表-分页
|
||||||
|
public $api_get_partnerIncomeHead = '/api/fcc/partnerIncomeHead/list/rebate';
|
||||||
|
// 查询返佣记录明细
|
||||||
|
public $api_get_partnerIncomeDetail = '/api/fcc/partnerIncomeDetail/rebate/detail';
|
||||||
|
// 导出返佣记录明细
|
||||||
|
public $api_get_partnerIncomeHead_export = '/api/fcc/partnerIncomeDetail/rebate/detail/export';
|
||||||
|
// 根据合伙人id、年、月 查询异常反馈信息(反馈异常查下)
|
||||||
|
public $api_get_getExceptionMessage = '/api/fcc/partnerIncomeDetailException/getExceptionMessage';
|
||||||
|
// 保存合伙人收益账单详情-异常反馈表(反馈异常提交)
|
||||||
|
public $api_get_partnerIncomeExceptionAdd = '/api/fcc/partnerIncomeDetailException/partnerIncomeExceptionAdd';
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
super(injector);
|
super(injector);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,8 +4,8 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-05 20:15:41
|
* @Date : 2022-01-05 20:15:41
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:17:19
|
* @LastEditTime : 2022-05-11 15:06:17
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\withdrawals-record\\withdrawals-detail\\withdrawals-detail.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\recorded\\components\\detail\\detail.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
<page-header-wrapper [title]="'入账详情'" [logo]="logo" [action]="action">
|
<page-header-wrapper [title]="'入账详情'" [logo]="logo" [action]="action">
|
||||||
@ -40,7 +40,7 @@
|
|||||||
{{formData?.entryNumber}}
|
{{formData?.entryNumber}}
|
||||||
</se>
|
</se>
|
||||||
<se label="银行类型">
|
<se label="银行类型">
|
||||||
{{formData?.bankName}}
|
{{formData?.bankType}}
|
||||||
</se>
|
</se>
|
||||||
<se label="虚拟账户">
|
<se label="虚拟账户">
|
||||||
{{formData?.fictitiousAccount}}
|
{{formData?.fictitiousAccount}}
|
||||||
@ -58,7 +58,10 @@
|
|||||||
{{formData?.recordedAmount | currency}}
|
{{formData?.recordedAmount | currency}}
|
||||||
</se>
|
</se>
|
||||||
<se label="入账状态">
|
<se label="入账状态">
|
||||||
{{formData?.stsLabel}}
|
<span *ngIf="formData?.sts == '1'">待审核</span>
|
||||||
|
<span *ngIf="formData?.sts == '2'">待复核</span>
|
||||||
|
<span *ngIf="formData?.sts == '3'">已入账</span>
|
||||||
|
<span *ngIf="formData?.sts == '4'">已驳回</span>
|
||||||
</se>
|
</se>
|
||||||
<se label="发票图片">
|
<se label="发票图片">
|
||||||
<img *ngIf="formData?.invoiceUrl" nz-image width="100px" height="100px" [nzSrc]="formData?.invoiceUrl" alt="" />
|
<img *ngIf="formData?.invoiceUrl" nz-image width="100px" height="100px" [nzSrc]="formData?.invoiceUrl" alt="" />
|
||||||
|
|||||||
@ -3,7 +3,6 @@ import { ActivatedRoute } from '@angular/router';
|
|||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { RecordedService } from '../../services/recorded.service';
|
import { RecordedService } from '../../services/recorded.service';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-partner-recored-detail',
|
selector: 'app-partner-recored-detail',
|
||||||
templateUrl: './detail.component.html',
|
templateUrl: './detail.component.html',
|
||||||
@ -21,52 +20,75 @@ export class PartnerRecordedDetailComponent implements OnInit {
|
|||||||
this.getRecordedDetail(this.id);
|
this.getRecordedDetail(this.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void { }
|
ngOnInit(): void {}
|
||||||
|
|
||||||
getRecordedDetail(id: string) {
|
getRecordedDetail(id: string) {
|
||||||
this.service.request(this.service.$api_get_recorded_record_detail, { id }).subscribe(res => {
|
this.service.request(this.service.$api_get_recorded_record_detail, { id }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.formData = res;
|
this.formData = res;
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.service.request(this.service.$api_get_getPartnerInvoiceEntryDetail, { id }).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
// 处理流程节点数据
|
// 处理流程节点数据
|
||||||
// 流程是否结束
|
// 流程是否结束
|
||||||
// let isEnd = false;
|
console.log(res);
|
||||||
// if (res.successTime) {
|
// submitTime creattime
|
||||||
// isEnd = true;
|
let isEnd = false;
|
||||||
// if (res.refundStatus === '3') {
|
if (res.reAuditTime) {
|
||||||
// this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' });
|
isEnd = true;
|
||||||
// } else {
|
if (res.sts === '3') {
|
||||||
// this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' });
|
this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' });
|
||||||
// }
|
} else {
|
||||||
// }
|
this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' });
|
||||||
// if (res.agreeTime && res.refundStatus !== '4') {
|
}
|
||||||
// this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' });
|
}
|
||||||
// }
|
if (res.agreeTime && res.refundStatus !== '4') {
|
||||||
// if (res.agreeTime) {
|
this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' });
|
||||||
// if (res.refundStatus === '4') {
|
}
|
||||||
// isEnd = true;
|
if (res.reAuditTime) {
|
||||||
// this.timeLineData.push({
|
if (res.refundStatus === '4') {
|
||||||
// time: res.agreeTime,
|
isEnd = true;
|
||||||
// value: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`,
|
this.timeLineData.push({
|
||||||
// color: 'red'
|
time: res.reAuditTime,
|
||||||
// });
|
value: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`,
|
||||||
// } else {
|
color: 'red'
|
||||||
// this.timeLineData.push({
|
});
|
||||||
// time: res.agreeTime,
|
} else {
|
||||||
// value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`,
|
this.timeLineData.push({
|
||||||
// color: 'gray'
|
time: res.reAuditTime,
|
||||||
// });
|
value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`,
|
||||||
// }
|
color: 'gray'
|
||||||
// }
|
});
|
||||||
// if (res.createTime) {
|
}
|
||||||
// this.timeLineData.push({
|
}
|
||||||
// time: res.createTime,
|
if (res.agreeTime) {
|
||||||
// value: `提交提现申请<br/>提现${res.amount}元至${res.bankName}(${res.bankCardNumber})<br/>操作人员:${res.userIdLabel}`,
|
if (res.refundStatus === '4') {
|
||||||
// color: 'gray'
|
isEnd = true;
|
||||||
// });
|
this.timeLineData.push({
|
||||||
// }
|
time: res.agreeTime,
|
||||||
// if (this.timeLineData?.length > 0 && !isEnd) {
|
value: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`,
|
||||||
// this.timeLineData[0].color = 'green';
|
color: 'red'
|
||||||
// }
|
});
|
||||||
|
} else {
|
||||||
|
this.timeLineData.push({
|
||||||
|
time: res.agreeTime,
|
||||||
|
value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`,
|
||||||
|
color: 'gray'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (res.createTime) {
|
||||||
|
this.timeLineData.push({
|
||||||
|
time: res.createTime,
|
||||||
|
value: `提交提现申请<br/>提现${res.amount}元至${res.bankName}(${res.bankCardNumber})<br/>操作人员:${res.userIdLabel}`,
|
||||||
|
color: 'gray'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (this.timeLineData?.length > 0 && !isEnd) {
|
||||||
|
this.timeLineData[0].color = 'green';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -87,18 +109,28 @@ export class PartnerRecordedDetailComponent implements OnInit {
|
|||||||
this.service.msgSrv.warning('请填写拒绝原因 ');
|
this.service.msgSrv.warning('请填写拒绝原因 ');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.audit({ ids: params, rejectReason: this.msg, sts: '3' }, () => {
|
this.audit(
|
||||||
modal.destroy(true);
|
{ ids: params, rejectReason: this.msg, sts: '3' },
|
||||||
}, '审核拒绝成功');
|
() => {
|
||||||
|
modal.destroy(true);
|
||||||
|
},
|
||||||
|
'审核拒绝成功'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '通过',
|
label: '通过',
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
this.audit({ ids: params, rejectReason: this.msg, sts: this.formData?.sts === '0' ? 1 : 2 }, () => {
|
console.log(this.formData?.sts);
|
||||||
modal.destroy(true);
|
|
||||||
}, `${this.formData?.sts === '1' ? '审核' : '复审'}通过成功`);
|
this.audit(
|
||||||
|
{ ids: params, rejectReason: this.msg, sts: this.formData?.sts === '0' ? 1 : 2 },
|
||||||
|
() => {
|
||||||
|
modal.destroy(true);
|
||||||
|
},
|
||||||
|
`${this.formData?.sts === '1' ? '审核' : '复审'}通过成功`
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -117,13 +149,11 @@ export class PartnerRecordedDetailComponent implements OnInit {
|
|||||||
* 审核
|
* 审核
|
||||||
*/
|
*/
|
||||||
audit(params: any, callback: Function, msg = '成功') {
|
audit(params: any, callback: Function, msg = '成功') {
|
||||||
this.service
|
this.service.request(this.service.$api_audit_recored, {...params}).subscribe(res => {
|
||||||
.request(this.service.$api_audit_recored, ...params)
|
if (res) {
|
||||||
.subscribe(res => {
|
this.service.msgSrv.success(msg);
|
||||||
if (res) {
|
callback();
|
||||||
this.service.msgSrv.success(msg);
|
}
|
||||||
callback();
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,29 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-04-29 17:28:23
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-05-11 14:25:14
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\recorded\\components\\record\\record.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
<page-header-wrapper [title]="''"></page-header-wrapper>
|
<page-header-wrapper [title]="''"></page-header-wrapper>
|
||||||
<nz-card class="search-box" nzBordered>
|
<nz-card class="search-box" nzBordered>
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
|
||||||
<sf #sf [schema]="searchSchema"
|
<sf
|
||||||
[ui]="{ '*': { spanLabelFixed: 90,grid: { lg: 8, md: 12, sm: 12, xs: 24,gutter:15 } }}" [compact]="true"
|
#sf
|
||||||
[button]="'none'"></sf>
|
[schema]="searchSchema"
|
||||||
|
[ui]="{ '*': { spanLabelFixed: 90, grid: { lg: 8, md: 12, sm: 12, xs: 24, gutter: 15 } } }"
|
||||||
|
[compact]="true"
|
||||||
|
[button]="'none'"
|
||||||
|
></sf>
|
||||||
</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" (click)="search()">查询</button>
|
<button nz-button nzType="primary" (click)="search()">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button acl [acl-ability]="['RECORDED-LIST-export']"> 导出</button>
|
<button nz-button acl [acl-ability]="['RECORDED-LIST-export']"> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
@ -21,7 +34,7 @@
|
|||||||
|
|
||||||
<nz-card class="content-box" nzBordered>
|
<nz-card class="content-box" nzBordered>
|
||||||
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
|
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
|
||||||
<nz-tab nzTitle="全部" (nzClick)="changeRefundStatus()"></nz-tab>
|
<nz-tab nzTitle="全部" (nzClick)="changeRefundStatus('0')"></nz-tab>
|
||||||
<nz-tab nzTitle="待初审" (nzClick)="changeRefundStatus('1')"></nz-tab>
|
<nz-tab nzTitle="待初审" (nzClick)="changeRefundStatus('1')"></nz-tab>
|
||||||
<nz-tab nzTitle="待复核" (nzClick)="changeRefundStatus('2')"></nz-tab>
|
<nz-tab nzTitle="待复核" (nzClick)="changeRefundStatus('2')"></nz-tab>
|
||||||
<nz-tab nzTitle="已入账" (nzClick)="changeRefundStatus('3')"></nz-tab>
|
<nz-tab nzTitle="已入账" (nzClick)="changeRefundStatus('3')"></nz-tab>
|
||||||
@ -29,37 +42,55 @@
|
|||||||
</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 class="mr-md">
|
<div class="mr-md">
|
||||||
已选择
|
已选择
|
||||||
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据,累计入账 <strong class="text-red">{{
|
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据,累计入账 <strong class="text-red">{{ totalCallNo }}</strong>
|
||||||
totalCallNo }}</strong>
|
|
||||||
<!-- <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> -->
|
<!-- <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> -->
|
||||||
</div>
|
</div>
|
||||||
<button nz-button (click)="this.auditAction(null)" acl [acl-ability]="['RECORDED-LIST-audit']">审核</button>
|
<button nz-button (click)="this.auditAction(null)" acl [acl-ability]="['RECORDED-LIST-audit']">审核</button>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<div class="table-content">
|
<div class="table-content">
|
||||||
<st #st [data]="service.$api_get_recorded_page" [columns]="columns"
|
<st
|
||||||
[req]="{ method: 'POST', allInBody: true,process: beforeReq}" [loading]="service.http.loading"
|
#st
|
||||||
[scroll]="{ x:'1200px' }" (change)="stChange($event)"
|
[data]="service.$api_get_recorded_page"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, process: beforeReq }"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
[scroll]="{ x: '1200px' }"
|
||||||
|
(change)="stChange($event)"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: afterRes }"
|
||||||
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }">
|
[page]="{ show: true, pageSizes: [10, 20, 50, 100, 200, 500] }"
|
||||||
|
>
|
||||||
<ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column">
|
<ng-template st-row="bankCardNumber" let-item let-index="index" let-column="column">
|
||||||
{{ item.bankName }} <br> {{ item.bankCardNumber }}
|
{{ item.bankName }} <br />
|
||||||
|
{{ item.bankCardNumber }}
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="sts" let-item let-index="index" let-column="column">
|
||||||
|
<div *ngIf="item.sts == '0'">待初审</div>
|
||||||
|
<div *ngIf="item.sts == '1'">待复核</div>
|
||||||
|
<div *ngIf="item.sts == '2'">已入账</div>
|
||||||
|
<div *ngIf="item.sts == '3'">已拒绝</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
<div class=" text-md" *ngIf="st?.list?.length !== 0 ">
|
<div class="text-md" *ngIf="st?.list?.length !== 0">
|
||||||
<span class="mr-md">合伙人数:<label
|
<span class="mr-md"
|
||||||
class="text-red-dark font-weight-bold">{{totalInfo?.invoiceAmountSum}}</label></span>
|
>合伙人数:<label class="text-red-dark font-weight-bold">{{ totalInfo?.partnerNum }}</label></span
|
||||||
<span class="mr-md">入账笔数:<label class="text-red-dark font-weight-bold">{{totalInfo?.count}}</label></span>
|
>
|
||||||
<span class="mr-md">开票金额:<label
|
<span class="mr-md"
|
||||||
class="text-red-dark font-weight-bold">{{totalInfo?.invoiceEntryNum}}</label></span>
|
>入账笔数:<label class="text-red-dark font-weight-bold">{{ totalInfo?.invoiceEntryNum }}</label></span
|
||||||
<span class="mr-md">代缴个税:<label
|
>
|
||||||
class="text-red-dark font-weight-bold">{{totalInfo?.taxPersonalSum}}</label></span>
|
<span class="mr-md"
|
||||||
<span class="mr-md">入账金额:<label
|
>开票金额:<label class="text-red-dark font-weight-bold">{{ totalInfo?.invoiceAmountSum }}</label></span
|
||||||
class="text-red-dark font-weight-bold">{{totalInfo?.recordedAmountSum}}</label></span>
|
>
|
||||||
|
<span class="mr-md"
|
||||||
|
>代缴个税:<label class="text-red-dark font-weight-bold">{{ totalInfo?.taxPersonalSum }}</label></span
|
||||||
|
>
|
||||||
|
<span class="mr-md"
|
||||||
|
>入账金额:<label class="text-red-dark font-weight-bold">{{ totalInfo?.recordedAmountSum }}</label></span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -68,8 +99,13 @@
|
|||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<div nz-col nzSpan="24" se-container [labelWidth]="80">
|
<div nz-col nzSpan="24" se-container [labelWidth]="80">
|
||||||
<se [col]="1" label="备注">
|
<se [col]="1" label="备注">
|
||||||
<textarea nz-input rows="3" [(ngModel)]="msg" placeholder="同意可以不用填写原因 ,拒绝必须说明原因"
|
<textarea
|
||||||
style="width: 325px;margin-left: 14px;"></textarea>
|
nz-input
|
||||||
|
rows="3"
|
||||||
|
[(ngModel)]="msg"
|
||||||
|
placeholder="同意可以不用填写原因 ,拒绝必须说明原因"
|
||||||
|
style="width: 325px; margin-left: 14px"
|
||||||
|
></textarea>
|
||||||
</se>
|
</se>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -8,7 +8,6 @@ import { FreightAccountService } from 'src/app/routes/financial-management/servi
|
|||||||
import Big from 'src/app/shared/utils/deal-precision';
|
import Big from 'src/app/shared/utils/deal-precision';
|
||||||
import { RecordedService } from '../../services/recorded.service';
|
import { RecordedService } from '../../services/recorded.service';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-partner-recorded-record',
|
selector: 'app-partner-recorded-record',
|
||||||
templateUrl: './record.component.html',
|
templateUrl: './record.component.html',
|
||||||
@ -22,12 +21,12 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
columns!: STColumn[];
|
columns!: STColumn[];
|
||||||
searchSchema!: SFSchema;
|
searchSchema!: SFSchema;
|
||||||
totalInfo: any = {
|
totalInfo: any = {
|
||||||
invoiceAmountSum: 0,
|
|
||||||
invoiceEntryNum: 0,
|
|
||||||
partnerNum: 0,
|
partnerNum: 0,
|
||||||
recordedAmountSum: 0,
|
invoiceEntryNum: 0,
|
||||||
taxPersonalSum: 0
|
invoiceAmountSum: 0,
|
||||||
}
|
taxPersonalSum: 0,
|
||||||
|
recordedAmountSum: 0
|
||||||
|
};
|
||||||
|
|
||||||
_$expand = false;
|
_$expand = false;
|
||||||
|
|
||||||
@ -40,16 +39,20 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
ltdId = ''; // 网络货运人
|
ltdId = ''; // 网络货运人
|
||||||
accountName = ''; // 账户名称
|
accountName = ''; // 账户名称
|
||||||
|
|
||||||
|
constructor(
|
||||||
constructor(public service: RecordedService, private nzModalService: NzModalService,
|
public service: RecordedService,
|
||||||
private router: Router, public ar: ActivatedRoute, public shipperSrv: ShipperBaseService) {
|
private nzModalService: NzModalService,
|
||||||
|
private router: Router,
|
||||||
|
public ar: ActivatedRoute,
|
||||||
|
public shipperSrv: ShipperBaseService
|
||||||
|
) {
|
||||||
this.ltdId = this.ar.snapshot.queryParams?.ltdId || '';
|
this.ltdId = this.ar.snapshot.queryParams?.ltdId || '';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.searchSchema = this.initSF();
|
this.searchSchema = this.initSF();
|
||||||
this.columns = this.initST();
|
this.columns = this.initST();
|
||||||
|
this.getSummary()
|
||||||
}
|
}
|
||||||
|
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
@ -60,7 +63,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
start: this.sf?.value.createTime?.[0] || '',
|
start: this.sf?.value.createTime?.[0] || '',
|
||||||
end: this.sf?.value.createTime?.[1] || ''
|
end: this.sf?.value.createTime?.[1] || ''
|
||||||
},
|
},
|
||||||
refundStatus: this.refundStatus || null
|
sts: this.refundStatus || ''
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
delete requestOptions?.body?.expand;
|
delete requestOptions?.body?.expand;
|
||||||
@ -68,7 +71,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
};
|
};
|
||||||
|
|
||||||
afterRes = (data: any[], rawData?: any) => {
|
afterRes = (data: any[], rawData?: any) => {
|
||||||
// data = data.map(node => ({ ...node, disabled: node.sts !== '0' }));
|
data = data.map(node => ({ ...node, disabled: node.sts !== '0' }));
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -81,16 +84,15 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
const stList = this.st.list;
|
const stList = this.st.list;
|
||||||
stList.forEach(item => {
|
stList.forEach(item => {
|
||||||
this.selectedRows = this.selectedRows.filter((e: any) => e.id !== item.id);
|
this.selectedRows = this.selectedRows.filter((e: any) => e.id !== item.id);
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
//添加新增的行
|
//添加新增的行
|
||||||
checkRows.forEach((item: any) => {
|
checkRows.forEach((item: any) => {
|
||||||
const newSelectedList = this.selectedRows.filter((r: any) => r.id === item.id);
|
const newSelectedList = this.selectedRows.filter((r: any) => r.id === item.id);
|
||||||
if (newSelectedList.length === 0) {
|
if (newSelectedList.length === 0) {
|
||||||
this.selectedRows.push(item);
|
this.selectedRows.push(item);
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
// 移除取消选中的行
|
// 移除取消选中的行
|
||||||
const stList = this.st.list;
|
const stList = this.st.list;
|
||||||
stList.forEach(item => {
|
stList.forEach(item => {
|
||||||
@ -98,17 +100,17 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
const index = this.selectedRows.findIndex(_item => item.id === _item.id);
|
const index = this.selectedRows.findIndex(_item => item.id === _item.id);
|
||||||
if (index !== -1) this.selectedRows.splice(index, 1);
|
if (index !== -1) this.selectedRows.splice(index, 1);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
let totalCallNo = 0;
|
let totalCallNo = 0;
|
||||||
this.selectedRows.forEach((item => {
|
this.selectedRows.forEach(item => {
|
||||||
totalCallNo = new Big(this.totalCallNo).plus(item?.entryAmount).parse();
|
totalCallNo = new Big(this.totalCallNo).plus(item?.entryAmount).parse();
|
||||||
}));
|
});
|
||||||
this.totalCallNo = totalCallNo;
|
this.totalCallNo = totalCallNo;
|
||||||
} else if (e.type === 'loaded') {
|
} else if (e.type === 'loaded') {
|
||||||
// 页面加载时勾选
|
// 页面加载时勾选
|
||||||
(e?.loaded || []).forEach((r) => {
|
(e?.loaded || []).forEach(r => {
|
||||||
this.selectedRows.forEach((x) => {
|
this.selectedRows.forEach(x => {
|
||||||
if (x.id === r.id) {
|
if (x.id === r.id) {
|
||||||
r.checked = true;
|
r.checked = true;
|
||||||
}
|
}
|
||||||
@ -117,8 +119,27 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
changeRefundStatus(status?: string) {
|
changeRefundStatus(status: any) {
|
||||||
this.refundStatus = status || null;
|
let value = '';
|
||||||
|
switch (status) {
|
||||||
|
case '0':
|
||||||
|
value = '';
|
||||||
|
break;
|
||||||
|
case '1':
|
||||||
|
value = '0';
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
value = '1';
|
||||||
|
break;
|
||||||
|
case '3':
|
||||||
|
value = '2';
|
||||||
|
break;
|
||||||
|
case '4':
|
||||||
|
value = '3';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.refundStatus = value || null;
|
||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,10 +167,14 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
this.service.msgSrv.warning('请填写拒绝原因 ');
|
this.service.msgSrv.warning('请填写拒绝原因 ');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.audit({ ids: params, rejectReason: this.msg, sts: '3' }, () => {
|
this.audit(
|
||||||
modal.destroy();
|
{ ids: params, rejectReason: this.msg, sts: '3' },
|
||||||
this.st.load(1);
|
() => {
|
||||||
}, '审核拒绝成功');
|
modal.destroy();
|
||||||
|
this.st.load(1);
|
||||||
|
},
|
||||||
|
'审核拒绝成功'
|
||||||
|
);
|
||||||
// this.service
|
// this.service
|
||||||
// .request(this.service.$api_disagree_recorded, {
|
// .request(this.service.$api_disagree_recorded, {
|
||||||
// id: params,
|
// id: params,
|
||||||
@ -168,10 +193,14 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
label: '通过',
|
label: '通过',
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
this.audit({ ids: params, rejectReason: this.msg, sts: '1' }, () => {
|
this.audit(
|
||||||
modal.destroy();
|
{ ids: params, rejectReason: this.msg, sts: '1' },
|
||||||
this.st.load(1);
|
() => {
|
||||||
}, '审核通过成功');
|
modal.destroy();
|
||||||
|
this.st.load(1);
|
||||||
|
},
|
||||||
|
'审核通过成功'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -230,22 +259,22 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
placeholder: '请输入'
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sts: {
|
// sts: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '入账状态',
|
// title: '入账状态',
|
||||||
default: '',
|
// default: '',
|
||||||
enum: [
|
// enum: [
|
||||||
{ label: '全部', value: '' },
|
// { label: '全部', value: '' },
|
||||||
{ label: '待初审', value: '0' },
|
// { label: '待初审', value: '0' },
|
||||||
{ label: '待复核', value: '1' },
|
// { label: '待复核', value: '1' },
|
||||||
{ label: '已入账', value: '2' },
|
// { label: '已入账', value: '2' },
|
||||||
{ label: '已拒绝', value: '3' },
|
// { label: '已拒绝', value: '3' },
|
||||||
],
|
// ],
|
||||||
ui: {
|
// ui: {
|
||||||
widget: 'select',
|
// widget: 'select',
|
||||||
placeholder: '请选择'
|
// placeholder: '请选择'
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
ltdId: {
|
ltdId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '网络货运人',
|
title: '网络货运人',
|
||||||
@ -254,7 +283,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
asyncData: () => this.shipperSrv.getNetworkFreightForwarder({}, true),
|
asyncData: () => this.shipperSrv.getNetworkFreightForwarder({}, true)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
submitTime: {
|
submitTime: {
|
||||||
@ -269,7 +298,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
}
|
}
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -283,11 +312,11 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
{ title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' },
|
{ title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' },
|
||||||
{
|
{
|
||||||
title: '开票金额',
|
title: '开票金额',
|
||||||
index: 'amount',
|
index: 'invoiceAmount',
|
||||||
width: 150,
|
width: 150,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.invoiceAmount }) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '代缴个税',
|
title: '代缴个税',
|
||||||
@ -295,7 +324,7 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
width: 150,
|
width: 150,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.taxPersonal }) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '入账金额',
|
title: '入账金额',
|
||||||
@ -303,11 +332,11 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
width: 150,
|
width: 150,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.entryAmount }) }
|
||||||
},
|
},
|
||||||
|
|
||||||
{ title: '提交时间', index: 'submitTime', width: 180, className: 'text-center' },
|
{ title: '提交时间', index: 'submitTime', width: 180, className: 'text-center' },
|
||||||
{ title: '入账状态', index: 'stsLabel', width: 120, className: 'text-center' },
|
{ title: '入账状态', render: 'sts', width: 120, className: 'text-center' },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
@ -336,17 +365,15 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核
|
* 审核
|
||||||
*/
|
*/
|
||||||
audit(params: any, callback: Function, msg = '成功') {
|
audit(params: any, callback: Function, msg = '成功') {
|
||||||
this.service
|
this.service.request(this.service.$api_audit_recored, { ...params }).subscribe(res => {
|
||||||
.request(this.service.$api_audit_recored, { ...params })
|
if (res) {
|
||||||
.subscribe(res => {
|
this.service.msgSrv.success(msg);
|
||||||
if (res) {
|
callback();
|
||||||
this.service.msgSrv.success(msg);
|
}
|
||||||
callback();
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
search() {
|
search() {
|
||||||
@ -361,6 +388,6 @@ export class PartnerRecordedRecordComponent implements OnInit {
|
|||||||
if (res) {
|
if (res) {
|
||||||
this.totalInfo = res;
|
this.totalInfo = res;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-04-21 13:49:22
|
* @Date : 2022-04-21 13:49:22
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-25 11:11:58
|
* @LastEditTime : 2022-05-12 15:02:19
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\recorded\\services\\recorded.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\recorded\\services\\recorded.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -22,6 +22,7 @@ export class RecordedService extends BaseService {
|
|||||||
$api_agree_recorded = ``; // 同意审核
|
$api_agree_recorded = ``; // 同意审核
|
||||||
$api_audit_recored = `/api/bpc/partnerInvoiceEntry/oprationAudit`; // 审核单据
|
$api_audit_recored = `/api/bpc/partnerInvoiceEntry/oprationAudit`; // 审核单据
|
||||||
$api_get_list_summary = `/api/bpc/partnerInvoiceEntry/invoiceEntrySummary`; // 每页统计
|
$api_get_list_summary = `/api/bpc/partnerInvoiceEntry/invoiceEntrySummary`; // 每页统计
|
||||||
|
$api_get_getPartnerInvoiceEntryDetail = `/api/bpc/partnerInvoiceEntry/getPartnerInvoiceEntryDetail`; // 获取合伙人发票入账明细
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
super(injector);
|
super(injector);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,6 @@ const COMPONENTS: any = [DashboardComponent];
|
|||||||
const NOTROUTECOMPONENTS: any = [];
|
const NOTROUTECOMPONENTS: any = [];
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [...COMPONENTS, ...NOTROUTECOMPONENTS],
|
declarations: [...COMPONENTS, ...NOTROUTECOMPONENTS],
|
||||||
imports: [CommonModule, RegulatoryDataRoutingModule, SharedModule, SHARED_G2_MODULES]
|
imports: [CommonModule, RegulatoryDataRoutingModule, SharedModule, ...SHARED_G2_MODULES]
|
||||||
})
|
})
|
||||||
export class RegulatoryDataModule {}
|
export class RegulatoryDataModule {}
|
||||||
|
|||||||
@ -83,11 +83,6 @@ const routes: Routes = [
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
// passport
|
// passport
|
||||||
{
|
|
||||||
path: 'agreement',
|
|
||||||
component: OrderAgreementComponent,
|
|
||||||
data: { title: '协议', titleI18n: 'app.login.agreement' }
|
|
||||||
},
|
|
||||||
{ path: '', loadChildren: () => import('./passport/passport.module').then(m => m.PassportModule) },
|
{ path: '', loadChildren: () => import('./passport/passport.module').then(m => m.PassportModule) },
|
||||||
{ path: 'exception', loadChildren: () => import('./exception/exception.module').then(m => m.ExceptionModule) },
|
{ path: 'exception', loadChildren: () => import('./exception/exception.module').then(m => m.ExceptionModule) },
|
||||||
// 单页不包裹Layout
|
// 单页不包裹Layout
|
||||||
|
|||||||
@ -1,16 +1,23 @@
|
|||||||
import { NgModule, Type } from '@angular/core';
|
import { NgModule, Type } from '@angular/core';
|
||||||
import { SharedModule } from '@shared';
|
import { BasicModuleModule, SharedModule, STWidgetModule } from '@shared';
|
||||||
|
|
||||||
// dashboard pages
|
// dashboard pages
|
||||||
import { DashboardComponent } from './dashboard/dashboard.component';
|
import { DashboardComponent } from './dashboard/dashboard.component';
|
||||||
import { RouteRoutingModule } from './routes-routing.module';
|
import { RouteRoutingModule } from './routes-routing.module';
|
||||||
import { BasicTableComponent } from './commom/components/basic-table/basic-table.component';
|
import { BasicTableComponent } from './commom/components/basic-table/basic-table.component';
|
||||||
|
import { LayoutModule } from '../layout/layout.module';
|
||||||
|
import { GlobalConfigModule } from '../global-config.module';
|
||||||
|
|
||||||
const COMPONENTS = [DashboardComponent, BasicTableComponent];
|
const COMPONENTS = [DashboardComponent, BasicTableComponent];
|
||||||
const COMPONENTS_NOROUNT: Array<Type<void>> = [];
|
const COMPONENTS_NOROUNT: Array<Type<void>> = [];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [SharedModule, RouteRoutingModule],
|
imports: [
|
||||||
|
LayoutModule,
|
||||||
|
BasicModuleModule,
|
||||||
|
GlobalConfigModule.forRoot(),
|
||||||
|
RouteRoutingModule
|
||||||
|
],
|
||||||
declarations: [...COMPONENTS, ...COMPONENTS_NOROUNT],
|
declarations: [...COMPONENTS, ...COMPONENTS_NOROUNT],
|
||||||
entryComponents: COMPONENTS_NOROUNT
|
entryComponents: COMPONENTS_NOROUNT
|
||||||
})
|
})
|
||||||
|
|||||||
@ -98,7 +98,7 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #tpl>
|
<ng-template #tpl>
|
||||||
<span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
|
<span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
|
||||||
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
|
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/passport/agreement']">《禁运物品说明》</a>
|
||||||
</span>
|
</span>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
|
|||||||
@ -219,13 +219,23 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
goodsName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '货物名称',
|
||||||
|
ui: {
|
||||||
|
// hidden: true,
|
||||||
|
// visibleIf: {
|
||||||
|
// goodsTypeName: (value: any) => value && value !== '其它'
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
},
|
||||||
goodsTypeId: {
|
goodsTypeId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货物类型',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
errors: { required: '请选择货物类型' },
|
errors: { required: '请选择货物名称' },
|
||||||
asyncData: () =>
|
asyncData: () =>
|
||||||
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
||||||
map((data: any) => {
|
map((data: any) => {
|
||||||
@ -247,47 +257,38 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
goodsNameId: {
|
|
||||||
type: 'string',
|
// goodsName1: {
|
||||||
title: '',
|
// type: 'string',
|
||||||
ui: {
|
// title: '',
|
||||||
widget: 'select',
|
// maxLength: 20,
|
||||||
placeholder: '请选择',
|
// ui: {
|
||||||
errors: { required: '请填写货物类型' },
|
// errors: { required: '请填写货物名称' },
|
||||||
change: (value: any, data: any) => {
|
// visibleIf: {
|
||||||
this.sf3.setValue('/goodsName', data.label);
|
// goodsTypeName: (value: any) => value && value === '其它'
|
||||||
},
|
// },
|
||||||
visibleIf: {
|
// blur: (value: any) => {
|
||||||
goodsTypeName: (value: any) => value && value !== '其它'
|
// this.checkGoodsName();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
goodsName: {
|
// goodsNameId: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '',
|
// title: '',
|
||||||
ui: {
|
// ui: {
|
||||||
hidden: true,
|
// widget: 'select',
|
||||||
visibleIf: {
|
// placeholder: '请选择',
|
||||||
goodsTypeName: (value: any) => value && value !== '其它'
|
// errors: { required: '请填写货物名称' },
|
||||||
}
|
// change: (value: any, data: any) => {
|
||||||
}
|
// // this.sf3.setValue('/goodsName', data.label);
|
||||||
},
|
// },
|
||||||
goodsName1: {
|
// visibleIf: {
|
||||||
type: 'string',
|
// goodsTypeName: (value: any) => value && value !== '其它'
|
||||||
title: '',
|
// }
|
||||||
maxLength: 20,
|
// }
|
||||||
ui: {
|
// },
|
||||||
errors: { required: '请填写货物类型' },
|
|
||||||
visibleIf: {
|
|
||||||
goodsTypeName: (value: any) => value && value === '其它'
|
|
||||||
},
|
|
||||||
blur: (value: any) => {
|
|
||||||
this.checkGoodsName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
required: ['goodsTypeId', 'goodsName', 'goodsNameId', 'goodsName1']
|
required: ['goodsTypeId', 'goodsName', ]
|
||||||
};
|
};
|
||||||
this.ui3 = {
|
this.ui3 = {
|
||||||
'*': {
|
'*': {
|
||||||
@ -708,10 +709,6 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
|
|||||||
const LoadingList = this.startInfo.concat(this.endInfo);
|
const LoadingList = this.startInfo.concat(this.endInfo);
|
||||||
// 货物信息
|
// 货物信息
|
||||||
const sf3Values = { ...this.sf3.value };
|
const sf3Values = { ...this.sf3.value };
|
||||||
if (sf3Values.goodsTypeName === '其它') {
|
|
||||||
sf3Values.goodsName = sf3Values.goodsName1;
|
|
||||||
delete sf3Values.goodsName1;
|
|
||||||
}
|
|
||||||
if (this.sf4.value.carModel.includes('999')) {
|
if (this.sf4.value.carModel.includes('999')) {
|
||||||
this.sf4.value.carModel = ['999'];
|
this.sf4.value.carModel = ['999'];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -235,13 +235,34 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
|
|||||||
initSF3() {
|
initSF3() {
|
||||||
this.schema3 = {
|
this.schema3 = {
|
||||||
properties: {
|
properties: {
|
||||||
goodsTypeId: {
|
goodsTips: {
|
||||||
|
type: 'string',
|
||||||
|
title: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
class: 'goods_Tips_item',
|
||||||
|
// visibleIf: {
|
||||||
|
// goodsTypeName: (value: any) => value && value === '其它'
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
goodsName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货物名称',
|
title: '货物名称',
|
||||||
|
ui: {
|
||||||
|
// hidden: true,
|
||||||
|
// visibleIf: {
|
||||||
|
// goodsTypeName: (value: any) => value && value !== '其它'
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
goodsTypeId: {
|
||||||
|
type: 'string',
|
||||||
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
errors: { required: '请选择货物类型' },
|
errors: { required: '请选择货物名称' },
|
||||||
asyncData: () =>
|
asyncData: () =>
|
||||||
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
||||||
map((data: any) => {
|
map((data: any) => {
|
||||||
@ -263,44 +284,8 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
goodsNameId: {
|
|
||||||
type: 'string',
|
|
||||||
title: '',
|
|
||||||
ui: {
|
|
||||||
widget: 'select',
|
|
||||||
placeholder: '请选择',
|
|
||||||
errors: { required: '请填写货物名称' },
|
|
||||||
change: (value: any, data: any) => {
|
|
||||||
this.sf3.setValue('/goodsName', data.label);
|
|
||||||
},
|
|
||||||
visibleIf: {
|
|
||||||
goodsTypeName: (value: any) => value && value !== '其它'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
goodsName: {
|
|
||||||
type: 'string',
|
|
||||||
title: '',
|
|
||||||
ui: {
|
|
||||||
hidden: true,
|
|
||||||
visibleIf: {
|
|
||||||
goodsTypeName: (value: any) => value && value !== '其它'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
goodsName1: {
|
|
||||||
type: 'string',
|
|
||||||
title: '',
|
|
||||||
maxLength: 20,
|
|
||||||
ui: {
|
|
||||||
errors: { required: '请填写货物名称' },
|
|
||||||
visibleIf: {
|
|
||||||
goodsTypeName: (value: any) => value && value === '其它'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
required: ['goodsTypeId', 'goodsName', 'goodsNameId','goodsName1']
|
required: ['goodsTypeId', 'goodsName', ]
|
||||||
};
|
};
|
||||||
this.ui3 = {
|
this.ui3 = {
|
||||||
'*': {
|
'*': {
|
||||||
@ -624,10 +609,6 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
|
|||||||
|
|
||||||
// 货物信息
|
// 货物信息
|
||||||
const sf3Values = { ...this.sf3.value };
|
const sf3Values = { ...this.sf3.value };
|
||||||
if (sf3Values.goodsTypeName === '其它') {
|
|
||||||
sf3Values.goodsName = sf3Values.goodsName1;
|
|
||||||
delete sf3Values.goodsName1;
|
|
||||||
}
|
|
||||||
if (this.sf4.value.carModel.includes('999')) {
|
if (this.sf4.value.carModel.includes('999')) {
|
||||||
this.sf4.value.carModel = ['999']
|
this.sf4.value.carModel = ['999']
|
||||||
}
|
}
|
||||||
|
|||||||
@ -146,7 +146,7 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #tpl>
|
<ng-template #tpl>
|
||||||
<span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
|
<span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
|
||||||
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
|
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/passport/agreement']">《禁运物品说明》</a>
|
||||||
</span>
|
</span>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
@ -201,7 +201,7 @@
|
|||||||
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank"
|
<ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank"
|
||||||
[queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template>
|
[queryParams]="{ type: 10 }" [routerLink]="['/passport/agreement']">《保险告知函》</a></ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -264,13 +264,23 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
goodsName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '货物名称',
|
||||||
|
ui: {
|
||||||
|
// hidden: true,
|
||||||
|
// visibleIf: {
|
||||||
|
// goodsTypeName: (value: any) => value && value !== '其它'
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
},
|
||||||
goodsTypeId: {
|
goodsTypeId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货物类型',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
errors: { required: '请选择货物类型' },
|
errors: { required: '请选择货物名称' },
|
||||||
asyncData: () =>
|
asyncData: () =>
|
||||||
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
||||||
map((data: any) => {
|
map((data: any) => {
|
||||||
@ -292,47 +302,38 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
goodsNameId: {
|
|
||||||
type: 'string',
|
// goodsName1: {
|
||||||
title: '',
|
// type: 'string',
|
||||||
ui: {
|
// title: '',
|
||||||
widget: 'select',
|
// maxLength: 20,
|
||||||
placeholder: '请选择',
|
// ui: {
|
||||||
errors: { required: '请填写货物类型' },
|
// errors: { required: '请填写货物名称' },
|
||||||
change: (_value: any, data: any) => {
|
// visibleIf: {
|
||||||
this.sf3.setValue('/goodsName', data.label);
|
// goodsTypeName: (value: any) => value && value === '其它'
|
||||||
},
|
// },
|
||||||
visibleIf: {
|
// blur: (value: any) => {
|
||||||
goodsTypeName: (value: any) => value && value !== '其它'
|
// this.checkGoodsName();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
goodsName: {
|
// goodsNameId: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '',
|
// title: '',
|
||||||
ui: {
|
// ui: {
|
||||||
hidden: true,
|
// widget: 'select',
|
||||||
visibleIf: {
|
// placeholder: '请选择',
|
||||||
goodsTypeName: (value: any) => value && value !== '其它'
|
// errors: { required: '请填写货物名称' },
|
||||||
}
|
// change: (value: any, data: any) => {
|
||||||
}
|
// // this.sf3.setValue('/goodsName', data.label);
|
||||||
},
|
// },
|
||||||
goodsName1: {
|
// visibleIf: {
|
||||||
type: 'string',
|
// goodsTypeName: (value: any) => value && value !== '其它'
|
||||||
title: '',
|
// }
|
||||||
maxLength: 20,
|
// }
|
||||||
ui: {
|
// },
|
||||||
errors: { required: '请填写货物类型' },
|
|
||||||
visibleIf: {
|
|
||||||
goodsTypeName: (value: any) => value && value === '其它'
|
|
||||||
},
|
|
||||||
blur: (value: any) => {
|
|
||||||
this.checkGoodsName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
required: ['goodsTypeId', 'goodsName', 'goodsNameId', 'goodsName1']
|
required: ['goodsTypeId', 'goodsName', ]
|
||||||
};
|
};
|
||||||
this.ui3 = {
|
this.ui3 = {
|
||||||
'*': {
|
'*': {
|
||||||
@ -1013,10 +1014,8 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
|
|||||||
|
|
||||||
// 货物信息
|
// 货物信息
|
||||||
const sf3Values = { ...this.sf3.value };
|
const sf3Values = { ...this.sf3.value };
|
||||||
if (sf3Values.goodsTypeName === '其它') {
|
console.log(sf3Values);
|
||||||
sf3Values.goodsName = sf3Values.goodsName1;
|
|
||||||
delete sf3Values.goodsName1;
|
|
||||||
}
|
|
||||||
if (this.sf4.value.carModel.includes('999')) {
|
if (this.sf4.value.carModel.includes('999')) {
|
||||||
this.sf4.value.carModel = ['999'];
|
this.sf4.value.carModel = ['999'];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -145,7 +145,7 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #tpl>
|
<ng-template #tpl>
|
||||||
<span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
|
<span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
|
||||||
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
|
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/passport/agreement']">《禁运物品说明》</a>
|
||||||
</span>
|
</span>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
@ -200,7 +200,7 @@
|
|||||||
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank"
|
<ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保,②单次运输保额仅限200万元以内,③保险详细内容及注意事项请见<a target="_blank"
|
||||||
[queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template>
|
[queryParams]="{ type: 10 }" [routerLink]="['/passport/agreement']">《保险告知函》</a></ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -251,13 +251,23 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
goodsName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '货物名称',
|
||||||
|
ui: {
|
||||||
|
// hidden: true,
|
||||||
|
// visibleIf: {
|
||||||
|
// goodsTypeName: (value: any) => value && value !== '其它'
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
},
|
||||||
goodsTypeId: {
|
goodsTypeId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货物类型',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
errors: { required: '请选择货物类型' },
|
errors: { required: '请选择货物名称' },
|
||||||
asyncData: () =>
|
asyncData: () =>
|
||||||
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
|
||||||
map((data: any) => {
|
map((data: any) => {
|
||||||
@ -279,47 +289,38 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
goodsNameId: {
|
|
||||||
type: 'string',
|
// goodsName1: {
|
||||||
title: '',
|
// type: 'string',
|
||||||
ui: {
|
// title: '',
|
||||||
widget: 'select',
|
// maxLength: 20,
|
||||||
placeholder: '请选择',
|
// ui: {
|
||||||
errors: { required: '请填写货物类型' },
|
// errors: { required: '请填写货物名称' },
|
||||||
change: (value: any, data: any) => {
|
// visibleIf: {
|
||||||
this.sf3.setValue('/goodsName', data.label);
|
// goodsTypeName: (value: any) => value && value === '其它'
|
||||||
},
|
// },
|
||||||
visibleIf: {
|
// blur: (value: any) => {
|
||||||
goodsTypeName: (value: any) => value && value !== '其它'
|
// this.checkGoodsName();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
goodsName: {
|
// goodsNameId: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '',
|
// title: '',
|
||||||
ui: {
|
// ui: {
|
||||||
hidden: true,
|
// widget: 'select',
|
||||||
visibleIf: {
|
// placeholder: '请选择',
|
||||||
goodsTypeName: (value: any) => value && value !== '其它'
|
// errors: { required: '请填写货物名称' },
|
||||||
}
|
// change: (value: any, data: any) => {
|
||||||
}
|
// // this.sf3.setValue('/goodsName', data.label);
|
||||||
},
|
// },
|
||||||
goodsName1: {
|
// visibleIf: {
|
||||||
type: 'string',
|
// goodsTypeName: (value: any) => value && value !== '其它'
|
||||||
title: '',
|
// }
|
||||||
maxLength: 20,
|
// }
|
||||||
ui: {
|
// },
|
||||||
errors: { required: '请填写货物类型' },
|
|
||||||
visibleIf: {
|
|
||||||
goodsTypeName: (value: any) => value && value === '其它'
|
|
||||||
},
|
|
||||||
blur: (value: any) => {
|
|
||||||
this.checkGoodsName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
required: ['goodsTypeId', 'goodsName', 'goodsNameId', 'goodsName1']
|
required: ['goodsTypeId', 'goodsName', ]
|
||||||
};
|
};
|
||||||
this.ui3 = {
|
this.ui3 = {
|
||||||
'*': {
|
'*': {
|
||||||
@ -978,10 +979,6 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
|
|
||||||
// 货物信息
|
// 货物信息
|
||||||
const sf3Values = { ...this.sf3.value };
|
const sf3Values = { ...this.sf3.value };
|
||||||
if (sf3Values.goodsTypeName === '其它') {
|
|
||||||
sf3Values.goodsName = sf3Values.goodsName1;
|
|
||||||
delete sf3Values.goodsName1;
|
|
||||||
}
|
|
||||||
if (this.sf4.value.carModel.includes('999')) {
|
if (this.sf4.value.carModel.includes('999')) {
|
||||||
this.sf4.value.carModel = ['999'];
|
this.sf4.value.carModel = ['999'];
|
||||||
}
|
}
|
||||||
@ -1020,19 +1017,18 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
insurancePackagedGoods: this.sf4.value.insurancePackagedGoods,
|
insurancePackagedGoods: this.sf4.value.insurancePackagedGoods,
|
||||||
goodsValue: this.sf4.value.goodsValue
|
goodsValue: this.sf4.value.goodsValue
|
||||||
};
|
};
|
||||||
console.log(params);
|
const modalRef = this.modalService.create({
|
||||||
// const modalRef = this.modalService.create({
|
nzTitle: '运输协议',
|
||||||
// nzTitle: '运输协议',
|
nzContent: TranAgreementComponent,
|
||||||
// nzContent: TranAgreementComponent,
|
nzWidth: 900,
|
||||||
// nzWidth: 900,
|
nzFooter: null,
|
||||||
// nzFooter: null,
|
nzComponentParams: { object: params, shipperName: this.shipperName, type: 'onecar' }
|
||||||
// nzComponentParams: { object: params, shipperName: this.shipperName, type: 'onecar' }
|
});
|
||||||
// });
|
modalRef.afterClose.subscribe(result => {
|
||||||
// modalRef.afterClose.subscribe(result => {
|
if (result) {
|
||||||
// if (result) {
|
this.submit(submitType, params);
|
||||||
// this.submit(submitType, params);
|
}
|
||||||
// }
|
});
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
// 提交
|
// 提交
|
||||||
submit(submitType?: string, params?: any): void {
|
submit(submitType?: string, params?: any): void {
|
||||||
@ -1287,7 +1283,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
|
|||||||
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
|
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
|
||||||
if (res === false) {
|
if (res === false) {
|
||||||
const modalRef = this.modalService.error({
|
const modalRef = this.modalService.error({
|
||||||
nzTitle: '货物类型含有违禁词,请重新输入!',
|
nzTitle: '货物名称含有违禁词,请重新输入!',
|
||||||
});
|
});
|
||||||
modalRef.afterClose.subscribe(result => {
|
modalRef.afterClose.subscribe(result => {
|
||||||
// this.sf3.setValue('/goodsName1', null);
|
// this.sf3.setValue('/goodsName1', null);
|
||||||
|
|||||||
@ -19,10 +19,10 @@
|
|||||||
<div class="box">
|
<div class="box">
|
||||||
<se-container se-container="1">
|
<se-container se-container="1">
|
||||||
<se label="角色权限" required [labelWidth]="120">
|
<se label="角色权限" required [labelWidth]="120">
|
||||||
<app-cuc-menu #menu (changeData)="getData($event)" [type]="params.id === 0 ? 'add' : 'edit'" [roleId]="params.id" [appId]="params.appId"
|
<app-menu-tree #menu (changeData)="getData($event)" [type]="params.id === 0 ? 'add' : 'edit'" [roleId]="params.id"
|
||||||
[isAuthorityIdDTOList]="roleInfoData.authority || []"
|
[appId]="params.appId" [isAuthorityIdDTOList]="roleInfoData.authority || []"
|
||||||
[authorityAssistId]="roleInfoData.authorityAssistId || []" (changeIF)="changeIF($event)">
|
[authorityAssistId]="roleInfoData.authorityAssistId || []" (changeIF)="changeIF($event)">
|
||||||
</app-cuc-menu>
|
</app-menu-tree>
|
||||||
</se>
|
</se>
|
||||||
</se-container>
|
</se-container>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['TAX-COLLECT-search']"
|
<button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['TAX-COLLECT-search']"
|
||||||
(click)="openDrawer()">筛选</button>
|
(click)="openDrawer()">筛选</button>
|
||||||
<button nz-button nzDanger acl [acl-ability]="['TAX-COLLECT-export']"> 导出</button>
|
<button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['TAX-COLLECT-export']"> 导出</button>
|
||||||
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
||||||
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
|
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
|
||||||
<nz-dropdown-menu #menu="nzDropdownMenu">
|
<nz-dropdown-menu #menu="nzDropdownMenu">
|
||||||
|
|||||||
@ -245,7 +245,16 @@ export class TaxManagementIndividualCollectComponent extends BasicTableComponent
|
|||||||
* @param params 更新数据
|
* @param params 更新数据
|
||||||
*/
|
*/
|
||||||
uploadSetting() {
|
uploadSetting() {
|
||||||
this.service.request(this.service.$api_get_updateData).subscribe((res: any) => {
|
let params: any;
|
||||||
|
if (this.selectedRows.length === 0) {
|
||||||
|
params =[]
|
||||||
|
} else{
|
||||||
|
params =[]
|
||||||
|
this.selectedRows.forEach(item => {
|
||||||
|
params.push(item.id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.service.request(this.service.$api_get_updateData,params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('更新成功');
|
this.service.msgSrv.success('更新成功');
|
||||||
this.search();
|
this.search();
|
||||||
@ -257,10 +266,8 @@ export class TaxManagementIndividualCollectComponent extends BasicTableComponent
|
|||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// 导出
|
||||||
* 异步导出
|
exprot() {
|
||||||
*/
|
this.service.exportStart({ ...this.reqParams, pageSize: -1 }, this.service.$api_taxSummary_export);
|
||||||
export() {
|
}
|
||||||
this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,8 +26,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 数据列表 -->
|
<!-- 数据列表 -->
|
||||||
<st #st [scroll]="{ x: '1200px',y:scrollY }" [data]="service.$api_get_taxDeclaration" [columns]="columns"
|
<st #st [scroll]="{ x: '1200px', y: scrollY }" [data]="service.$api_get_taxDeclaration" [columns]="columns"
|
||||||
[req]="{ params: reqParams }" [page]="{ }" [loading]="false">
|
[req]="{ params: reqParams }" [page]="{}" [loading]="false" (change)="changeST($event)">
|
||||||
<ng-template st-row="orderStatus" let-item let-index="index">
|
<ng-template st-row="orderStatus" let-item let-index="index">
|
||||||
<a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{ item?.billStatusLabel }}</a>
|
<a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{ item?.billStatusLabel }}</a>
|
||||||
<span *ngIf="item?.billStatus !== '2'">{{ item?.billStatusLabel }}</span>
|
<span *ngIf="item?.billStatus !== '2'">{{ item?.billStatusLabel }}</span>
|
||||||
@ -51,26 +51,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['TAX-DECLARE-search']"
|
<button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['TAX-DECLARE-search']"
|
||||||
(click)="openDrawer()">筛选</button>
|
(click)="openDrawer()">筛选</button>
|
||||||
<button nz-button nzDanger acl [acl-ability]="['TAX-DECLARE-export']"> 导出</button>
|
<button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['TAX-DECLARE-export']"> 导出</button>
|
||||||
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
||||||
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
|
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
|
||||||
<nz-dropdown-menu #menu="nzDropdownMenu">
|
<nz-dropdown-menu #menu="nzDropdownMenu">
|
||||||
<ul nz-menu>
|
<ul nz-menu>
|
||||||
<li nz-menu-item (click)="upload()" acl [acl-ability]="['TAX-DECLARE-declare']">
|
<li nz-menu-item (click)="upload()" acl [acl-ability]="['TAX-DECLARE-declare']"> 申报 </li>
|
||||||
申报
|
<li nz-menu-item (click)="recall()" acl [acl-ability]="['TAX-DECLARE-change']"> 更正 </li>
|
||||||
</li>
|
<li nz-menu-item (click)="uploadSetting()" acl [acl-ability]="['TAX-DECLARE-threshold']"> 修改起征点 </li>
|
||||||
<li nz-menu-item (click)="recall()" acl [acl-ability]="['TAX-DECLARE-change']">
|
<li nz-menu-item (click)="resetData()" acl [acl-ability]="['TAX-DECLARE-resetData']"> 更新数据 </li>
|
||||||
更正
|
|
||||||
</li>
|
|
||||||
<li nz-menu-item (click)="uploadSetting()" acl [acl-ability]="['TAX-DECLARE-threshold']">
|
|
||||||
修改起征点
|
|
||||||
</li>
|
|
||||||
<li nz-menu-item (click)="resetData()" acl [acl-ability]="['TAX-DECLARE-resetData']">
|
|
||||||
更新数据
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</nz-dropdown-menu>
|
</nz-dropdown-menu>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { STColumn, STComponent, STData } from '@delon/abc/st';
|
import { STChange, STColumn, STComponent, STData } from '@delon/abc/st';
|
||||||
import { SFDateWidgetSchema } from '@delon/form';
|
import { SFDateWidgetSchema } from '@delon/form';
|
||||||
import { SearchDrawerService } from '@shared';
|
import { SearchDrawerService } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
@ -26,6 +26,9 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
selectedIndex = ''; //选择的项目
|
selectedIndex = ''; //选择的项目
|
||||||
serviceTel = '';
|
serviceTel = '';
|
||||||
isVisible: boolean = false;
|
isVisible: boolean = false;
|
||||||
|
checkedList: any[] = [];
|
||||||
|
|
||||||
|
// selectedRows:any[] =[];
|
||||||
constructor(
|
constructor(
|
||||||
public service: TaxManagementService,
|
public service: TaxManagementService,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
@ -63,18 +66,6 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.initSF();
|
this.initSF();
|
||||||
this.initST();
|
this.initST();
|
||||||
const object1: any = {};
|
|
||||||
const object2: any = {};
|
|
||||||
Object.defineProperty(object1, 'name', { writable: false, value: 'wang' });
|
|
||||||
Object.defineProperty(object2, 'xxoo', { writable: false, value: 'wang' });
|
|
||||||
console.log(object1);
|
|
||||||
console.log(object1.name);
|
|
||||||
console.log(object2);
|
|
||||||
console.log(object2.xxoo);
|
|
||||||
object1.name = 'ming';
|
|
||||||
object2.xxoo = 'ming';
|
|
||||||
console.log(object1);
|
|
||||||
console.log(object2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -110,13 +101,13 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
isOvertime: {
|
overtime: {
|
||||||
title: '是否逾期',
|
title: '是否逾期',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
enum: [
|
enum: [
|
||||||
{ value: '', label: '全部' },
|
{ value: '', label: '全部' },
|
||||||
{ value: false, label: '否' },
|
{ value: '0', label: '否' },
|
||||||
{ value: true, label: '是' }
|
{ value: '1', label: '是' }
|
||||||
],
|
],
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
@ -178,11 +169,11 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '是否逾期',
|
title: '是否逾期',
|
||||||
index: 'overdueStatus',
|
index: 'overtime',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
width: '120px',
|
width: '120px',
|
||||||
type: 'enum',
|
type: 'enum',
|
||||||
enum: { false: '否', true: '是' }
|
enum: { '0': '否', '1': '是' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '税款所属期起',
|
title: '税款所属期起',
|
||||||
@ -202,7 +193,7 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
{ title: '证件类型', index: 'sfzjlx', className: 'text-center', width: '200px' },
|
{ title: '证件类型', index: 'sfzjlx', className: 'text-center', width: '200px' },
|
||||||
{ title: '证件号码', index: 'sfzjhm', className: 'text-center', width: '200px' },
|
{ title: '证件号码', index: 'sfzjhm', className: 'text-center', width: '200px' },
|
||||||
{ title: '联系电话', index: 'lxdh', className: 'text-center', width: '200px' },
|
{ title: '联系电话', index: 'lxdh', className: 'text-center', width: '200px' },
|
||||||
{ title: '国家(地区)', index: ' gjdq', className: 'text-center', width: '200px' },
|
{ title: '国家(地区)', index: 'gjdq', className: 'text-center', width: '200px' },
|
||||||
{ title: '所属行业', index: 'hy', className: 'text-center', width: '200px' },
|
{ title: '所属行业', index: 'hy', className: 'text-center', width: '200px' },
|
||||||
{ title: '征收项目', index: 'zsxm', className: 'text-center', width: '200px' },
|
{ title: '征收项目', index: 'zsxm', className: 'text-center', width: '200px' },
|
||||||
{ title: '征收品目', index: 'zsmp', className: 'text-center', width: '200px' },
|
{ title: '征收品目', index: 'zsmp', className: 'text-center', width: '200px' },
|
||||||
@ -368,12 +359,13 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
this.openWainingModal('请选择需要申报的数据');
|
this.openWainingModal('请选择需要申报的数据');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// this.service.request(this.service.$api_recall_reporting, { rows: this.selectedRows }).subscribe((res: any) => {
|
const ids = this.selectedRows.map(item => item?.id);
|
||||||
// if (res) {
|
this.service.request(this.service.$api_declare_tax, ids).subscribe((res: any) => {
|
||||||
// this.service.msgSrv.success('申报成功');
|
if (res) {
|
||||||
// this.search();
|
this.service.msgSrv.success('申报成功');
|
||||||
// }
|
this.search();
|
||||||
// })
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -381,14 +373,15 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
* @param params 更新数据
|
* @param params 更新数据
|
||||||
*/
|
*/
|
||||||
resetData() {
|
resetData() {
|
||||||
|
let params: any;
|
||||||
if (this.selectedRows.length === 0) {
|
if (this.selectedRows.length === 0) {
|
||||||
this.openWainingModal('请选择需要更新的数据');
|
params = []
|
||||||
return;
|
} else {
|
||||||
|
params = []
|
||||||
|
this.selectedRows.forEach(item => {
|
||||||
|
params.push(item.id);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
let params: any[] = [];
|
|
||||||
this.selectedRows.forEach(item => {
|
|
||||||
params.push(item.id);
|
|
||||||
});
|
|
||||||
this.service.request(this.service.$api_get_taxDeclaration_updateAll, params).subscribe((res: any) => {
|
this.service.request(this.service.$api_get_taxDeclaration_updateAll, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('更新成功');
|
this.service.msgSrv.success('更新成功');
|
||||||
@ -428,11 +421,9 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// 导出
|
||||||
* 异步导出
|
exprot() {
|
||||||
*/
|
this.service.exportStart({ ...this.reqParams, pageSize: -1 }, this.service.$api_taxDeclaration_export);
|
||||||
export() {
|
|
||||||
this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
openWainingModal(content: string, title = '提示') {
|
openWainingModal(content: string, title = '提示') {
|
||||||
@ -442,8 +433,60 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
|
|||||||
nzContent: content
|
nzContent: content
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
handleOK() {}
|
handleOK() { }
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.isVisible = false;
|
this.isVisible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param e
|
||||||
|
*/
|
||||||
|
changeST(e: STChange): void {
|
||||||
|
if (e?.type === 'checkbox') {
|
||||||
|
if (e?.checkbox!.length === 0) {
|
||||||
|
// 全选取消
|
||||||
|
this.st.list.forEach((item, index) => {
|
||||||
|
this.st.setRow(index, { checked: false });
|
||||||
|
})
|
||||||
|
this.checkedList = [];
|
||||||
|
} else {
|
||||||
|
// 取消选择
|
||||||
|
if (this.checkedList.length > e?.checkbox!.length) {
|
||||||
|
const item = this.checkedList.find(item => !item?.checked);
|
||||||
|
this.st.list?.forEach(((row, index) => {
|
||||||
|
if (row?.driverId === item?.driverId && row?.ltdId === item?.ltdId && row?.taxMonth === item?.taxMonth) {
|
||||||
|
this.st.setRow(index, { checked: false });
|
||||||
|
this.checkedList = this.checkedList.filter(_item => _item?.id !== row?.id);
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
} else {
|
||||||
|
// 全选
|
||||||
|
const allChecked = this.st?.list.every(item => item.checked);
|
||||||
|
if (allChecked) {
|
||||||
|
this.st.list?.forEach((row, index) => {
|
||||||
|
const flag = this.checkedList.find(_item => _item.id === row?.id);
|
||||||
|
if (!flag) {
|
||||||
|
this.checkedList.push(row);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 单个新增选择
|
||||||
|
const list = e?.checkbox?.filter(item => !this.checkedList.some(_item => _item?.id === item.id));
|
||||||
|
list?.forEach(item => {
|
||||||
|
this.st.list?.forEach((row, index) => {
|
||||||
|
if (row?.driverId === item?.driverId && row?.ltdId === item?.ltdId && row?.taxMonth === item?.taxMonth) {
|
||||||
|
this.st.setRow(index, { checked: true });
|
||||||
|
const flag = this.checkedList.find(_item => _item.id === row?.id);
|
||||||
|
if (!flag) {
|
||||||
|
this.checkedList.push(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,13 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-05-06 15:31:19
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-05-11 21:04:42
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\tax-management\\components\\individual-income\\individual-income.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
<!-- <page-header-wrapper [title]="''"></page-header-wrapper>
|
<!-- <page-header-wrapper [title]="''"></page-header-wrapper>
|
||||||
<nz-card class="search-box">
|
<nz-card class="search-box">
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
@ -39,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<button nz-button nzDanger [nzLoading]="isLoading && st.loading" acl [acl-ability]="['TAX-INCOME-search']"
|
<button nz-button nzDanger [nzLoading]="isLoading && st.loading" acl [acl-ability]="['TAX-INCOME-search']"
|
||||||
(click)="openDrawer()">筛选</button>
|
(click)="openDrawer()">筛选</button>
|
||||||
<button nz-button nzDanger acl [acl-ability]="['TAX-INCOME-export']"> 导出</button>
|
<button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['TAX-INCOME-export']"> 导出</button>
|
||||||
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
||||||
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
|
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
|
||||||
<nz-dropdown-menu #menu="nzDropdownMenu">
|
<nz-dropdown-menu #menu="nzDropdownMenu">
|
||||||
@ -63,11 +73,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()"
|
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate"
|
||||||
(nzOnCancel)="handleCancel()">
|
(nzOnCancel)="handleCancel()">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<div> 司机姓名:张三/13812345678 </div>
|
<div *ngIf="oneStatus">
|
||||||
|
<div> 司机姓名:{{driverRecord?.xm}}/{{driverRecord.lxdh}} </div>
|
||||||
<div> 是否确认要将该司机的起征点同步调整为超过15万? </div>
|
<div> 是否确认要将该司机的起征点同步调整为超过15万? </div>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="!oneStatus">
|
||||||
|
<div> 已选择{{selectedRows.length}}个司机 </div>
|
||||||
|
<div> 是否确认要将该司机的起征点同步调整为超过15万? </div>
|
||||||
|
</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #nzModalFooterEvaluate>
|
<ng-template #nzModalFooterEvaluate>
|
||||||
<button nz-button nzType="default" (click)="handleCancel()">取消</button>
|
<button nz-button nzType="default" (click)="handleCancel()">取消</button>
|
||||||
|
|||||||
@ -23,8 +23,10 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent
|
|||||||
];
|
];
|
||||||
selectedIndex = '0'; //选择的项目
|
selectedIndex = '0'; //选择的项目
|
||||||
isVisible: boolean = false;
|
isVisible: boolean = false;
|
||||||
|
oneStatus: boolean = false;
|
||||||
|
|
||||||
selectedRows: any[] = [];
|
selectedRows: any[] = [];
|
||||||
|
driverRecord!: any;
|
||||||
|
|
||||||
constructor(public service: TaxManagementService, public searchDrawerService: SearchDrawerService) {
|
constructor(public service: TaxManagementService, public searchDrawerService: SearchDrawerService) {
|
||||||
super(searchDrawerService);
|
super(searchDrawerService);
|
||||||
@ -287,11 +289,20 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent
|
|||||||
* @param record 记录实例
|
* @param record 记录实例
|
||||||
*/
|
*/
|
||||||
resetData() {
|
resetData() {
|
||||||
// if (this.selectedRows.length === 0) {
|
if (this.selectedRows.length === 0) {
|
||||||
// this.openWainingModal('请选择需要更新的数据!');
|
this.service.msgSrv.error('请选择明细!');
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// this.isVisible = true;
|
if(this.selectedRows.length === 1) {
|
||||||
|
console.log(this.selectedRows);
|
||||||
|
this.oneStatus = true
|
||||||
|
this.driverRecord = this.selectedRows[0]
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.oneStatus = false
|
||||||
|
|
||||||
|
}
|
||||||
|
this.isVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
selectChange(item: any) {
|
selectChange(item: any) {
|
||||||
@ -326,7 +337,16 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent
|
|||||||
* @param params 更新数据
|
* @param params 更新数据
|
||||||
*/
|
*/
|
||||||
uploadSetting() {
|
uploadSetting() {
|
||||||
this.service.request(this.service.$api_update_individual_income_page).subscribe((res: any) => {
|
let params: any;
|
||||||
|
if (this.selectedRows.length === 0) {
|
||||||
|
params =[]
|
||||||
|
} else{
|
||||||
|
params =[]
|
||||||
|
this.selectedRows.forEach(item => {
|
||||||
|
params.push(item.id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.service.request(this.service.$api_update_individual_income_page, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('更新成功');
|
this.service.msgSrv.success('更新成功');
|
||||||
this.search();
|
this.search();
|
||||||
@ -338,14 +358,23 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent
|
|||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// 导出
|
||||||
* 异步导出
|
exprot() {
|
||||||
*/
|
this.service.exportStart({ ...this.sfValue,declareStatus: this.selectedIndex, pageSize: -1 }, this.service.$api_taxIncome_export);
|
||||||
export() {
|
}
|
||||||
this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list);
|
|
||||||
}
|
|
||||||
|
|
||||||
handleOK() {}
|
handleOK() {
|
||||||
|
let params: any = [];
|
||||||
|
if (this.selectedRows.length !== 0) {
|
||||||
|
this.selectedRows.forEach(item => {
|
||||||
|
params.push(item.id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.service.request(this.service.$api_fixThreshold, params).subscribe((res) => {
|
||||||
|
console.log(res);
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.isVisible = false;
|
this.isVisible = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -312,7 +312,7 @@ export class TaxManagementInvoiceReportingComponent extends BasicTableComponent
|
|||||||
* 异步导出
|
* 异步导出
|
||||||
*/
|
*/
|
||||||
export() {
|
export() {
|
||||||
this.service.exportStart(this.reqParams, this.service.$api_invoiceUpload_export);
|
this.service.exportStart({...this.reqParams, pageSize: -1 }, this.service.$api_invoiceUpload_export);
|
||||||
}
|
}
|
||||||
|
|
||||||
openWainingModal(content: string, title = '提示') {
|
openWainingModal(content: string, title = '提示') {
|
||||||
|
|||||||
@ -20,33 +20,37 @@
|
|||||||
<nz-card class="table-box">
|
<nz-card class="table-box">
|
||||||
<div class="tab_header">
|
<div class="tab_header">
|
||||||
<label class="page_title"> <label class="driver">|</label> 订单上报</label>
|
<label class="page_title"> <label class="driver">|</label> 订单上报</label>
|
||||||
<nz-tabset [nzTabBarExtraContent]="extraTemplate" *ngIf="tabs.length>0">
|
<nz-tabset [nzTabBarExtraContent]="extraTemplate" *ngIf="tabs.length > 0">
|
||||||
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)">
|
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)"> </nz-tab>
|
||||||
</nz-tab>
|
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 数据列表 -->
|
<!-- 数据列表 -->
|
||||||
<st #st [scroll]="{x:'1200px',y:scrollY}" [data]="service.$api_getTaxOrderPage_page" [columns]="columns"
|
<st
|
||||||
[req]="{ params: reqParams }" [page]="{ }" [loading]="service.http.loading">
|
#st
|
||||||
|
[scroll]="{ x: '1200px', y: scrollY }"
|
||||||
|
[data]="service.$api_getTaxOrderPage_page"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ params: reqParams }"
|
||||||
|
[page]="{}"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
>
|
||||||
<ng-template st-row="putStatus" let-item let-index="index">
|
<ng-template st-row="putStatus" let-item let-index="index">
|
||||||
<!-- <a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{item?.billStatusLabel}}</a> -->
|
<!-- <a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{item?.billStatusLabel}}</a> -->
|
||||||
<span *ngIf="item?.putStatus == '0'">待上传</span>
|
<span *ngIf="item?.putStatus == '0'">待上传</span>
|
||||||
<span *ngIf="item?.putStatus == '1'">已上传</span>
|
<span *ngIf="item?.putStatus == '1'">已上传</span>
|
||||||
<span *ngIf="item?.putStatus == '3'">上传中</span>
|
<span *ngIf="item?.putStatus == '3'">上传中</span>
|
||||||
<span *ngIf="item?.putStatus == '2'" style="color: red;" (click)="unnormal(item)">上传异常</span>
|
<span *ngIf="item?.putStatus == '2'" style="color: red" (click)="unnormal(item)">上传异常</span>
|
||||||
|
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="checkStatus" let-item let-index="index">
|
<ng-template st-row="checkStatus" let-item let-index="index">
|
||||||
<!-- <a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{item?.billStatusLabel}}</a> -->
|
<!-- <a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{item?.billStatusLabel}}</a> -->
|
||||||
<span *ngIf="item?.checkStatus == '0'">校验中</span>
|
<span *ngIf="item?.checkStatus == '0'">校验中</span>
|
||||||
<span *ngIf="item?.checkStatus == '1'">通过</span>
|
<span *ngIf="item?.checkStatus == '1'">通过</span>
|
||||||
<!-- <span *ngIf="item?.checkStatus == '2'" style="color: red;" (click)="unnormal(item)">不通过</span> -->
|
<!-- <span *ngIf="item?.checkStatus == '2'" style="color: red;" (click)="unnormal(item)">不通过</span> -->
|
||||||
<a *ngIf="item?.checkStatus == '2'" style="color: red;" (click)="viewResult(item)">不通过</a>
|
<a *ngIf="item?.checkStatus == '2'" style="color: red" (click)="viewResult(item)">不通过</a>
|
||||||
|
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="driverName" let-item let-index="index">
|
<ng-template st-row="driverName" let-item let-index="index">
|
||||||
<div> {{ item?.driverName }}{{ item?.driverPhone ? "/" + item?.driverPhone : '' }} </div>
|
<div> {{ item?.driverName }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }} </div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<!-- <ng-template st-row="localValid" let-item let-index="index">
|
<!-- <ng-template st-row="localValid" let-item let-index="index">
|
||||||
<a (click)="viewResult(item)" *ngIf="item?.billStatus === '2'">{{item?.billStatusLabel}}</a>
|
<a (click)="viewResult(item)" *ngIf="item?.billStatus === '2'">{{item?.billStatusLabel}}</a>
|
||||||
@ -55,33 +59,44 @@
|
|||||||
<ng-template st-row="loadingPicture" let-item let-index="index">
|
<ng-template st-row="loadingPicture" let-item let-index="index">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<div *ngIf="item.loadingPicture">
|
<div *ngIf="item.loadingPicture">
|
||||||
<app-imagelist style="width: 60px" [imgList]="[item.loadingPicture]"> </app-imagelist>
|
<a (click)="viewPhoto([item.loadingPicture])" class="text-blue-dark" nzType="text" nz-button>查看</a>
|
||||||
|
<!-- <app-imagelist style="width: 60px" [imgList]="[item.loadingPicture]"> </app-imagelist> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="unloadPicture" let-item let-index="index">
|
<ng-template st-row="unloadPicture" let-item let-index="index">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<div *ngIf="item.unloadPicture">
|
<div *ngIf="item.unloadPicture">
|
||||||
<app-imagelist style="width: 40px" [imgList]="[item.unloadPicture]"> </app-imagelist>
|
<a (click)="viewPhoto([item.unloadPicture])" class="text-blue-dark" nzType="text" nz-button>查看</a>
|
||||||
|
<!-- <app-imagelist style="width: 40px" [imgList]="[item.unloadPicture]"> </app-imagelist> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="loadingLadingBill" let-item let-index="index">
|
<ng-template st-row="loadingLadingBill" let-item let-index="index">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<div *ngIf="item.loadingLadingBill">
|
<div *ngIf="item.loadingLadingBill">
|
||||||
<app-imagelist style="width: 40px" [imgList]="[item.loadingLadingBill]"> </app-imagelist>
|
<a (click)="viewPhoto([item.loadingLadingBill])" class="text-blue-dark" nzType="text" nz-button>查看</a>
|
||||||
|
<!-- <app-imagelist style="width: 40px" [imgList]="[item.loadingLadingBill]"> </app-imagelist> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template st-row="goodsName" let-item let-index="index">
|
||||||
|
<div>{{ item.goodsName ? item.goodsName : '--' }} </div>
|
||||||
|
<div> {{ item.loadWeight ? item.loadWeight : '--' }}吨/{{ item.loadVolume ?item.loadVolume: '--' }}方 </div>
|
||||||
|
</ng-template>
|
||||||
<ng-template st-row="signatureForm" let-item let-index="index">
|
<ng-template st-row="signatureForm" let-item let-index="index">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<div *ngIf="item.signatureForm">
|
<div *ngIf="item.signatureForm">
|
||||||
<app-imagelist style="width: 40px" [imgList]="[item.signatureForm]"> </app-imagelist>
|
<a (click)="viewPhoto([item.signatureForm])" class="text-blue-dark" nzType="text" nz-button>查看</a>
|
||||||
|
<!-- <app-imagelist style="width: 40px" [imgList]="[item.signatureForm]"> </app-imagelist> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="orderAmount" let-item let-index="index">
|
<ng-template st-row="orderAmount" let-item let-index="index">
|
||||||
<div class="text-right">{{item?.orderAmount | currency }}</div>
|
<div class="text-right">{{ item?.orderAmount | currency }}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="wayAmount" let-item let-index="index">
|
||||||
|
<div class="text-right">{{ item?.wayAmount | currency }}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -91,25 +106,19 @@
|
|||||||
已选择
|
已选择
|
||||||
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
|
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
|
||||||
</div>
|
</div>
|
||||||
<button nz-button nzDanger [nzLoading]="isLoading && st.loading" acl [acl-ability]="['TAX-ORDERREPORT-search']"
|
<button nz-button nzDanger [nzLoading]="isLoading && st.loading" acl [acl-ability]="['TAX-ORDERREPORT-search']" (click)="openDrawer()"
|
||||||
(click)="openDrawer()">筛选</button>
|
>筛选</button
|
||||||
|
>
|
||||||
<button nz-button nzDanger acl [acl-ability]="['TAX-ORDERREPORT-export']"> 导出</button>
|
<button nz-button nzDanger acl [acl-ability]="['TAX-ORDERREPORT-export']"> 导出</button>
|
||||||
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
|
||||||
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
|
更多<i nz-icon nzType="down" nzTheme="outline"></i
|
||||||
|
></button>
|
||||||
<nz-dropdown-menu #menu="nzDropdownMenu">
|
<nz-dropdown-menu #menu="nzDropdownMenu">
|
||||||
<ul nz-menu>
|
<ul nz-menu>
|
||||||
<li nz-menu-item (click)="upload()" acl [acl-ability]="['TAX-ORDERREPORT-upload']">
|
<li nz-menu-item (click)="upload()" acl [acl-ability]="['TAX-ORDERREPORT-upload']"> 上传 </li>
|
||||||
上传
|
<li nz-menu-item (click)="recall()" acl [acl-ability]="['TAX-ORDERREPORT-recall']"> 撤回 </li>
|
||||||
</li>
|
<li nz-menu-item (click)="resetData()" acl [acl-ability]="['TAX-ORDERREPORT-resetData']"> 更新数据 </li>
|
||||||
<li nz-menu-item (click)="recall() " acl [acl-ability]="['TAX-ORDERREPORT-recall']">
|
<li nz-menu-item (click)="uploadSetting()" acl [acl-ability]="['TAX-ORDERREPORT-uploadSetting']"> 税务设置 </li>
|
||||||
撤回
|
|
||||||
</li>
|
|
||||||
<li nz-menu-item (click)="resetData()" acl [acl-ability]="['TAX-ORDERREPORT-resetData']">
|
|
||||||
更新数据
|
|
||||||
</li>
|
|
||||||
<li nz-menu-item (click)="uploadSetting()" acl [acl-ability]="['TAX-ORDERREPORT-uploadSetting']">
|
|
||||||
税务设置
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</nz-dropdown-menu>
|
</nz-dropdown-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -10,6 +10,8 @@ import { BasicTableComponent } from 'src/app/routes/commom';
|
|||||||
import { TaxManagementService } from '../../services/tax-management.service';
|
import { TaxManagementService } from '../../services/tax-management.service';
|
||||||
import { TaxManagementUploadSettingComponent } from './upload-setting/upload-setting.component';
|
import { TaxManagementUploadSettingComponent } from './upload-setting/upload-setting.component';
|
||||||
import { TaxManagementOrderVerifyResultComponent } from './verify-result/verify-result.component';
|
import { TaxManagementOrderVerifyResultComponent } from './verify-result/verify-result.component';
|
||||||
|
import { NzImageService } from 'ng-zorro-antd/image';
|
||||||
|
import { image } from 'html2canvas/dist/types/css/types/image';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-tax-management-order-reporting',
|
selector: 'app-tax-management-order-reporting',
|
||||||
@ -35,7 +37,8 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
|
|||||||
private router: Router,
|
private router: Router,
|
||||||
private ar: ActivatedRoute,
|
private ar: ActivatedRoute,
|
||||||
private modal: NzModalService,
|
private modal: NzModalService,
|
||||||
public searchDrawerService: SearchDrawerService
|
public searchDrawerService: SearchDrawerService,
|
||||||
|
public imageService: NzImageService
|
||||||
) {
|
) {
|
||||||
super(searchDrawerService);
|
super(searchDrawerService);
|
||||||
}
|
}
|
||||||
@ -226,17 +229,17 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
|
|||||||
{ title: '卸货地详细地址', index: 'unloadDetailedAddress', className: 'text-center', width: '180px' },
|
{ title: '卸货地详细地址', index: 'unloadDetailedAddress', className: 'text-center', width: '180px' },
|
||||||
{ title: '货主名称', index: 'shipperName', className: 'text-center', width: '180px' },
|
{ title: '货主名称', index: 'shipperName', className: 'text-center', width: '180px' },
|
||||||
{ title: '货主纳税人识别号', index: 'shipperProvinceCode', className: 'text-center', width: '180px' },
|
{ title: '货主纳税人识别号', index: 'shipperProvinceCode', className: 'text-center', width: '180px' },
|
||||||
{ title: '录单时间', index: 'recordTime', className: 'text-center', width: '250px' },
|
{ title: '录单时间', index: 'billCreateTime', className: 'text-center', width: '250px' },
|
||||||
{ title: '接单时间', index: 'wayBillCreateTime', className: 'text-center', width: '200px' },
|
{ title: '接单时间', index: 'wayBillCreateTime', className: 'text-center', width: '200px' },
|
||||||
{ title: '发车时间', index: 'loadTime', className: 'text-center', width: '200px' },
|
{ title: '发车时间', index: 'loadTime', className: 'text-center', width: '200px' },
|
||||||
{ title: '到车时间', index: 'unloadTime', className: 'text-center', width: '150px' },
|
{ title: '到车时间', index: 'unloadTime', className: 'text-center', width: '150px' },
|
||||||
{ title: '结束时间', index: 'payeeName', className: 'text-center', width: '150px' },
|
{ title: '结束时间', index: 'orderPayTime', className: 'text-center', width: '150px' },
|
||||||
{ title: '订单金额', render: 'orderAmount', className: 'text-center', width: '120px' },
|
{ title: '订单金额', render: 'orderAmount', className: 'text-center', width: '120px' },
|
||||||
{ title: '司机姓名', render: 'driverName', className: 'text-center', width: '150px' },
|
{ title: '司机姓名', render: 'driverName', className: 'text-center', width: '150px' },
|
||||||
{ title: '司机身份证号', index: 'transpdriverCertificateNumberortInfo', className: 'text-center', width: '180px' },
|
{ title: '司机身份证号', index: 'driverCertificateNumber', className: 'text-center', width: '180px' },
|
||||||
{ title: '车牌号', index: 'carNo', className: 'text-center', width: '100px' },
|
{ title: '车牌号', index: 'carNo', className: 'text-center', width: '100px' },
|
||||||
{ title: '货物信息', render: 'transportInfo', className: 'text-center', width: '200px' },
|
{ title: '货物信息', render: 'goodsName', className: 'text-center', width: '200px' },
|
||||||
{ title: '运费金额', render: 'payeeName', className: 'text-center', width: '100px' },
|
{ title: '运费金额', render: 'wayAmount', className: 'text-center', width: '100px' },
|
||||||
{ title: '装卸方式', index: 'loadingUnloadWay', className: 'text-center', width: '180px' },
|
{ title: '装卸方式', index: 'loadingUnloadWay', className: 'text-center', width: '180px' },
|
||||||
{ title: '支付方式', index: 'payMent', className: 'text-center', width: '150px' },
|
{ title: '支付方式', index: 'payMent', className: 'text-center', width: '150px' },
|
||||||
{ title: '支付账号', index: 'paymentAccount', className: 'text-center', width: '200px' },
|
{ title: '支付账号', index: 'paymentAccount', className: 'text-center', width: '200px' },
|
||||||
@ -285,14 +288,16 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
|
|||||||
* @param record 记录实例
|
* @param record 记录实例
|
||||||
*/
|
*/
|
||||||
resetData() {
|
resetData() {
|
||||||
|
let params: any = {};
|
||||||
if (this.selectedRows.length === 0) {
|
if (this.selectedRows.length === 0) {
|
||||||
this.openWainingModal('请选择需要更新的数据!');
|
params ={}
|
||||||
return;
|
} else{
|
||||||
|
params =[]
|
||||||
|
this.selectedRows.forEach(item => {
|
||||||
|
params.push(item.billId);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
let params: any[] = [];
|
|
||||||
this.selectedRows.forEach(item => {
|
|
||||||
params.push(item.billId);
|
|
||||||
});
|
|
||||||
this.service.request(this.service.$api_get_renewalOrderById, params).subscribe((res: any) => {
|
this.service.request(this.service.$api_get_renewalOrderById, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('更新成功');
|
this.service.msgSrv.success('更新成功');
|
||||||
@ -462,7 +467,7 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
|
|||||||
* 异步导出
|
* 异步导出
|
||||||
*/
|
*/
|
||||||
export() {
|
export() {
|
||||||
this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list);
|
this.service.exportStart({...this.reqParams, pageSize: -1} ,this.service.$api_async_export_order_reporting_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
openWainingModal(content: string, title = '提示') {
|
openWainingModal(content: string, title = '提示') {
|
||||||
@ -472,4 +477,12 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
|
|||||||
nzContent: content
|
nzContent: content
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
viewPhoto(images: any[]) {
|
||||||
|
|
||||||
|
if (images.length > 0) {
|
||||||
|
const imgs = images.map(item => ({ src: item }));
|
||||||
|
this.imageService.preview(imgs);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-27 10:30:56
|
* @Date : 2021-12-27 10:30:56
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-04-19 14:19:44
|
* @LastEditTime : 2022-05-11 14:53:31
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\tax-management\\services\\tax-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\tax-management\\services\\tax-management.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -60,8 +60,18 @@ export class TaxManagementService extends ShipperBaseService {
|
|||||||
$api_getInvoiceReport_page = '/api/sdc/invoiceUploadInfo/list/page';
|
$api_getInvoiceReport_page = '/api/sdc/invoiceUploadInfo/list/page';
|
||||||
// 发票上传列表导出
|
// 发票上传列表导出
|
||||||
$api_invoiceUpload_export = '/api/sdc/invoiceUploadInfo/reportList';
|
$api_invoiceUpload_export = '/api/sdc/invoiceUploadInfo/reportList';
|
||||||
|
// 个税明细导出接口
|
||||||
|
$api_taxIncome_export = '/api/sdc/taxIncome/asyncExport';
|
||||||
|
// 个税汇总导出接口
|
||||||
|
$api_taxSummary_export = '/api/sdc/taxSummary/asyncExport';
|
||||||
|
// 税务申报导出接口
|
||||||
|
$api_taxDeclaration_export = '/api/sdc/taxDeclaration/asyncExport';
|
||||||
// 发票上传撤回
|
// 发票上传撤回
|
||||||
$api_invoiceUpload_withdraw = '/api/sdc/invoiceUploadInfo/withdraw';
|
$api_invoiceUpload_withdraw = '/api/sdc/invoiceUploadInfo/withdraw';
|
||||||
|
// 修改起征点
|
||||||
|
$api_fixThreshold = '/api/sdc/taxIncome/fixThreshold';
|
||||||
|
//申报
|
||||||
|
$api_declare_tax = `/api/sdc/taxDeclaration/declare`;
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
super(injector);
|
super(injector);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,7 +35,7 @@ const COMPONENTS: Type<void>[] = [
|
|||||||
imports: [
|
imports: [
|
||||||
SharedModule,
|
SharedModule,
|
||||||
TaxManagementModuleRoutingModule,
|
TaxManagementModuleRoutingModule,
|
||||||
SHARED_G2_MODULES
|
...SHARED_G2_MODULES
|
||||||
],
|
],
|
||||||
declarations: COMPONENTS,
|
declarations: COMPONENTS,
|
||||||
})
|
})
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user