fix bug
This commit is contained in:
@ -20,7 +20,7 @@ module.exports = {
|
|||||||
// }
|
// }
|
||||||
'//api': {
|
'//api': {
|
||||||
target: {
|
target: {
|
||||||
host: 'tms-api-dev.eascs.com',
|
host: 'tms-api-test.eascs.com',
|
||||||
protocol: 'https:',
|
protocol: 'https:',
|
||||||
port: 443
|
port: 443
|
||||||
},
|
},
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import { DatatableCustomindexComponent } from './components/customtable/customin
|
|||||||
import { DatatableOwnerComponent } from './components/customtable/owner/owner.component';
|
import { DatatableOwnerComponent } from './components/customtable/owner/owner.component';
|
||||||
import { DatatableDriverComponent } from './components/customtable/driver/driver.component';
|
import { DatatableDriverComponent } from './components/customtable/driver/driver.component';
|
||||||
import { DatatableOperationtableComponent } from './components/operationtable/operationtable.component';
|
import { DatatableOperationtableComponent } from './components/operationtable/operationtable.component';
|
||||||
|
import { DatatableOrderReportingComponent } from './reporting/components/order-reporting/order-reporting.component';
|
||||||
import { DatatableDataindexComponent } from './components/dataindex/dataindex.component';
|
import { DatatableDataindexComponent } from './components/dataindex/dataindex.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
@ -13,7 +14,9 @@ const routes: Routes = [
|
|||||||
{ path: 'customindex', component: DatatableCustomindexComponent },
|
{ path: 'customindex', component: DatatableCustomindexComponent },
|
||||||
{ path: 'owner', component: DatatableOwnerComponent },
|
{ path: 'owner', component: DatatableOwnerComponent },
|
||||||
{ path: 'driver', component: DatatableDriverComponent },
|
{ path: 'driver', component: DatatableDriverComponent },
|
||||||
{ path: 'operationtable', component: DatatableOperationtableComponent }];
|
{ path: 'operationtable', component: DatatableOperationtableComponent },
|
||||||
|
{ path: 'reporting/order', component: DatatableOrderReportingComponent }];
|
||||||
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [RouterModule.forChild(routes)],
|
imports: [RouterModule.forChild(routes)],
|
||||||
|
|||||||
@ -6,8 +6,9 @@ import { DatatableCustomindexComponent } from './components/customtable/customin
|
|||||||
import { DatatableOwnerComponent } from './components/customtable/owner/owner.component';
|
import { DatatableOwnerComponent } from './components/customtable/owner/owner.component';
|
||||||
import { DatatableDriverComponent } from './components/customtable/driver/driver.component';
|
import { DatatableDriverComponent } from './components/customtable/driver/driver.component';
|
||||||
import { DatatableOperationtableComponent } from './components/operationtable/operationtable.component';
|
import { DatatableOperationtableComponent } from './components/operationtable/operationtable.component';
|
||||||
import { DatatableDataindexComponent } from './components/dataindex/dataindex.component';
|
|
||||||
import { OperationtablePieComponent } from './components/operationtable/pie/pie.component';
|
import { OperationtablePieComponent } from './components/operationtable/pie/pie.component';
|
||||||
|
import { DatatableOrderReportingComponent } from './reporting/components/order-reporting/order-reporting.component';
|
||||||
|
import { DatatableDataindexComponent } from './components/dataindex/dataindex.component';
|
||||||
|
|
||||||
const COMPONENTS: Type<void>[] = [
|
const COMPONENTS: Type<void>[] = [
|
||||||
DatatableDataindexComponent,
|
DatatableDataindexComponent,
|
||||||
@ -16,7 +17,8 @@ const COMPONENTS: Type<void>[] = [
|
|||||||
DatatableOwnerComponent,
|
DatatableOwnerComponent,
|
||||||
DatatableDriverComponent,
|
DatatableDriverComponent,
|
||||||
DatatableOperationtableComponent,
|
DatatableOperationtableComponent,
|
||||||
OperationtablePieComponent
|
OperationtablePieComponent,
|
||||||
|
DatatableOrderReportingComponent
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@ -0,0 +1,85 @@
|
|||||||
|
<page-header-wrapper [title]="''"></page-header-wrapper>
|
||||||
|
|
||||||
|
<nz-card>
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
|
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="false" (click)="search()" acl
|
||||||
|
[acl-ability]="['RiskOrder-Search']">查询</button>
|
||||||
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
|
<button nz-button (click)="resetSF()">导出</button>
|
||||||
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
<nz-card>
|
||||||
|
<nz-tabset [nzTabBarExtraContent]="extraTemplate" *ngIf="tabs.length>0">
|
||||||
|
|
||||||
|
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)">
|
||||||
|
</nz-tab>
|
||||||
|
</nz-tabset>
|
||||||
|
<!-- 数据列表 -->
|
||||||
|
<st #st [scroll]="{x:'1200px'}" [data]="service.$api_order_reporting_page" [columns]="columns"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10,20, 50, 100] }" [loading]="false">
|
||||||
|
<ng-template st-row="orderSn" let-item let-index="index">
|
||||||
|
<a (click)="view(item)">{{item.billCode}}</a>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="freightDetails" let-item>
|
||||||
|
<div *ngFor="let item of item.freightDetails">
|
||||||
|
<div>{{item.expenseName}}:{{item.price | currency}} </div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="loadingPlace" let-item let-index="index">
|
||||||
|
<div *ngFor="let address of item.loadingAddressArr">{{ address }} </div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="dischargePlace" let-item let-index="index">
|
||||||
|
<div *ngFor="let address of item.unloadingAddressArr">{{ address }}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="goodsInfoVOList" let-item>
|
||||||
|
<div *ngFor="let item of item.goodsInfoVOList">
|
||||||
|
<div>货物名称 : {{item.goodsName}}</div>
|
||||||
|
<div>重量/体积 : {{item.weight}}/{{item.volume}}</div>
|
||||||
|
<div>车型/车长 :{{item.carModelLabel}}/{{item.carLengthLabel}}</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="driver" let-item>
|
||||||
|
<div> {{item.driverName}}</div>
|
||||||
|
<div>{{item.driverPhone}}</div>
|
||||||
|
<div>{{item.carNo}}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="payeeName" let-item>
|
||||||
|
<div>{{item.payeeName}}</div>
|
||||||
|
<div>{{item.payeePhone}}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="transportInfo" let-item>
|
||||||
|
<div>创建时间:{{item.createTime}}</div>
|
||||||
|
<div>装货时间:{{item.loadTime}}</div>
|
||||||
|
<div>卸货时间:{{item.unloadTime}}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="billComplianceVOS" let-item>
|
||||||
|
<div *ngFor="let item of item?.billComplianceVOS">{{item?.complianceName}}</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="serviceType" let-item>
|
||||||
|
<div>{{item?.billTypeLabel}} ({{item?.serviceTypeLabel}}) </div>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</nz-card>
|
||||||
|
<ng-template #extraTemplate>
|
||||||
|
<div class="d-flex align-items-center ">
|
||||||
|
<div class="mr-md">
|
||||||
|
已选择
|
||||||
|
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
|
||||||
|
</div>
|
||||||
|
<button nz-button nzType="primary" (click)="upload()">上传</button>
|
||||||
|
<button nz-button nzType="primary" (click)="recall({})">撤回</button>
|
||||||
|
<button nz-button nzType="primary" (click)="uploadSetting()">上传设置</button>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { DatatableOrderReportingComponent } from './order-reporting.component';
|
||||||
|
|
||||||
|
describe('DatatableOrderReportingComponent', () => {
|
||||||
|
let component: DatatableOrderReportingComponent;
|
||||||
|
let fixture: ComponentFixture<DatatableOrderReportingComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ DatatableOrderReportingComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(DatatableOrderReportingComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,416 @@
|
|||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { Router, ActivatedRoute } from '@angular/router';
|
||||||
|
import { STColumn, STComponent, STData } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
import { ShipperBaseService } from '@shared';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { ReportingService } from '../../services/reporting.service';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-datatable-order-reporting',
|
||||||
|
templateUrl: './order-reporting.component.html',
|
||||||
|
})
|
||||||
|
export class DatatableOrderReportingComponent implements OnInit {
|
||||||
|
_$expand = false;
|
||||||
|
ui!: SFUISchema;
|
||||||
|
schema!: SFSchema;
|
||||||
|
columns!: STColumn[];
|
||||||
|
@ViewChild('st', { static: false }) st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
tabType!: string;
|
||||||
|
tabs: any[] = [
|
||||||
|
{ name: '待上传', value: '1' },
|
||||||
|
{ name: '上传中', value: '2' },
|
||||||
|
{ name: '已上传', value: '3' },
|
||||||
|
{ name: '异常', value: '4' },
|
||||||
|
{ name: '全部', value: '' }
|
||||||
|
];
|
||||||
|
selectedIndex = ''; //选择的项目
|
||||||
|
serviceTel = '';
|
||||||
|
constructor(
|
||||||
|
public service: ReportingService,
|
||||||
|
private router: Router,
|
||||||
|
private ar: ActivatedRoute,
|
||||||
|
private modal: NzModalService,
|
||||||
|
public shipperSrv: ShipperBaseService
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询字段个数
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
const params = Object.assign({}, this.sf?.value || {}, {
|
||||||
|
representationsStatus: this.selectedIndex,
|
||||||
|
});
|
||||||
|
delete params._$expand;
|
||||||
|
return { ...params };
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选中行
|
||||||
|
*/
|
||||||
|
get selectedRows() {
|
||||||
|
return this.st?.list.filter((item: any) => item.checked) || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 伸缩查询条件
|
||||||
|
*/
|
||||||
|
expandToggle() {
|
||||||
|
this._$expand = !this._$expand;
|
||||||
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF() {
|
||||||
|
this.sf.reset();
|
||||||
|
this._$expand = false;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 程序初始化入口
|
||||||
|
*/
|
||||||
|
ngOnInit() {
|
||||||
|
this.initSF();
|
||||||
|
this.initST();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化查询表单
|
||||||
|
*/
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
billCode: { title: '订单号', type: 'string', ui: { placeholder: '请输入' } },
|
||||||
|
resourceCode: {
|
||||||
|
type: 'string',
|
||||||
|
title: '运单号',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
enterpriseInfoId: {
|
||||||
|
title: '网络货运人',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请选择',
|
||||||
|
widget: 'select',
|
||||||
|
asyncData: () => this.shipperSrv.getNetworkFreightForwarder({}, false),
|
||||||
|
|
||||||
|
allowClear: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
externalResourceCode: {
|
||||||
|
title: '货主',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
driverName: {
|
||||||
|
title: '承运司机',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入司机姓名/手机号', visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
carNo: {
|
||||||
|
title: '车牌号',
|
||||||
|
type: 'string',
|
||||||
|
maxLength: 9,
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
serviceType: {
|
||||||
|
title: '上传状态',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请选择',
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'service:type' },
|
||||||
|
containsAllLabel: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
serviceType1: {
|
||||||
|
title: '本地校验',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请选择',
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'service:type' },
|
||||||
|
containsAllLabel: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
createTime: {
|
||||||
|
title: '上传时间',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'sl-from-to',
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
} as SFDateWidgetSchema,
|
||||||
|
},
|
||||||
|
createTime1: {
|
||||||
|
title: '运单生成时间',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'sl-from-to',
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
} as SFDateWidgetSchema,
|
||||||
|
},
|
||||||
|
createTime2: {
|
||||||
|
title: '发货时间',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'sl-from-to',
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
} as SFDateWidgetSchema,
|
||||||
|
},
|
||||||
|
createTime3: {
|
||||||
|
title: '收货时间',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'sl-from-to',
|
||||||
|
type: 'date',
|
||||||
|
format: 'yyyy-MM-dd',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
} as SFDateWidgetSchema,
|
||||||
|
},
|
||||||
|
|
||||||
|
loadingPlace: {
|
||||||
|
title: '车辆轨迹',
|
||||||
|
type: 'string',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '有', value: '1' },
|
||||||
|
{ label: '无', value: '0' }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
placeholder: '请选择',
|
||||||
|
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
loadingPlace1: {
|
||||||
|
title: '司机轨迹',
|
||||||
|
type: 'string',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '有', value: '1' },
|
||||||
|
{ label: '无', value: '0' }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
placeholder: '请选择',
|
||||||
|
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.ui = {
|
||||||
|
'*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 }, enter: () => this.search() },
|
||||||
|
$time: { grid: { span: 24 } },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化数据列表
|
||||||
|
*/
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
{ title: '', type: 'checkbox', className: 'text-center', width: '80px', },
|
||||||
|
{ title: '订单状态', index: 'name', className: 'text-center', width: '120px', },
|
||||||
|
{ title: '司机状态', index: 'name', className: 'text-center', width: '120px', },
|
||||||
|
{ title: '车辆状态', index: 'name', className: 'text-center', width: '120px', },
|
||||||
|
{ title: '本地校验', render: 'orderSn', className: 'text-center', width: '180px', },
|
||||||
|
{
|
||||||
|
title: '订单号',
|
||||||
|
render: 'billComplianceVOS',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '150px',
|
||||||
|
},
|
||||||
|
{ title: '运单号', render: 'freightDetails', className: 'text-center', width: '150px', },
|
||||||
|
|
||||||
|
{
|
||||||
|
title: '网络货运人',
|
||||||
|
render: 'serviceType',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '120px',
|
||||||
|
},
|
||||||
|
{ title: '统一社会信用代码', index: 'loadingPlace', render: 'loadingPlace', className: 'text-center', width: '300px' },
|
||||||
|
{ title: '业务类型', index: 'dischargePlace', render: 'dischargePlace', className: 'text-center', width: '300px' },
|
||||||
|
{ title: '运单生成时间', render: 'goodsInfoVOList', className: 'text-center', width: '200px' },
|
||||||
|
{ title: '发货时间', render: 'driver', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '收货时间', render: 'payeeName', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '托运人名称', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{ title: '托运人统一社会信用代码', index: 'loadingPlace', render: 'loadingPlace', className: 'text-center', width: '300px' },
|
||||||
|
{ title: '装货地址', index: 'dischargePlace', render: 'dischargePlace', className: 'text-center', width: '300px' },
|
||||||
|
{ title: '运单生成时间', render: 'goodsInfoVOList', className: 'text-center', width: '200px' },
|
||||||
|
{ title: '收货方名称', render: 'driver', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '收货地址', render: 'payeeName', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '运费金额', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{ title: '车牌号', render: 'payeeName', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '车牌颜色', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{ title: '司机姓名', render: 'payeeName', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '司机手机号码', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{ title: '司机身份证号', render: 'payeeName', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '货物信息', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{ title: '实际承运人名称', render: 'payeeName', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '实际承运人证件号码', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{ title: '实际承运人道路运输许可证号', render: 'payeeName', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '车辆轨迹', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{ title: '司机轨迹', render: 'payeeName', className: 'text-center', width: '150px' },
|
||||||
|
{ title: '上传次数', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{ title: '上传时间', render: 'transportInfo', className: 'text-center', width: '250px' },
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
width: '200px',
|
||||||
|
className: 'text-center',
|
||||||
|
buttons: [
|
||||||
|
// { text: '编辑', click: (_record: any) => this.appeal(_record) },
|
||||||
|
{
|
||||||
|
text: '申诉',
|
||||||
|
// click: (record) => this.appeal(record),
|
||||||
|
iif: (_record) => _record.representationsStatus === '1',
|
||||||
|
acl: { 'ability': ['RiskOrder-Appeal'] }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '撤销申诉',
|
||||||
|
pop: {
|
||||||
|
title: '是否确定立即撤销申诉?',
|
||||||
|
okType: 'danger',
|
||||||
|
},
|
||||||
|
click: (record) => this.recall(record),
|
||||||
|
iif: (_record) => _record.representationsStatus === '2',
|
||||||
|
acl: { 'ability': ['RiskOrder-CancleAppeal'] }
|
||||||
|
},
|
||||||
|
{ text: '详情', click: (_record: any) => this.view(_record), acl: { 'ability': ['RiskOrder-Detail'] } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除单个实例
|
||||||
|
* @param record 记录实例
|
||||||
|
*/
|
||||||
|
recall(record: STData) {
|
||||||
|
this.service.request(this.service.$api_recall_reporting, { id: record?.id }).subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
this.search({ representationsStatus: '' });
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
selectChange(item: any) {
|
||||||
|
this.selectedIndex = item?.representationsStatus || '';
|
||||||
|
setTimeout(() => {
|
||||||
|
this.st.load(1);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查看当行数据
|
||||||
|
*/
|
||||||
|
view(record: STData) {
|
||||||
|
// this.router.navigate(['../view', record.uuid], { relativeTo: this.ar });
|
||||||
|
this.router.navigate(['../detail'], {
|
||||||
|
queryParams: {
|
||||||
|
id: record.id,
|
||||||
|
},
|
||||||
|
relativeTo: this.ar
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// appeal(item: any) {
|
||||||
|
// const modalRef = this.modal.create({
|
||||||
|
// nzTitle: '申诉',
|
||||||
|
// nzWidth: '40%',
|
||||||
|
// nzContent: CtcAppealComponent,
|
||||||
|
// nzComponentParams: {
|
||||||
|
// i: item,
|
||||||
|
// status: 'add'
|
||||||
|
// },
|
||||||
|
// nzFooter: null
|
||||||
|
// });
|
||||||
|
// modalRef.afterClose.subscribe(res => {
|
||||||
|
// if (res) {
|
||||||
|
// this.search({ representationsStatus: '' });
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传
|
||||||
|
*/
|
||||||
|
upload() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param params 上传设置
|
||||||
|
*/
|
||||||
|
uploadSetting() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
search(params = {}) {
|
||||||
|
this.st.load(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 异步导出
|
||||||
|
*/
|
||||||
|
export() {
|
||||||
|
this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
import { Injectable, Injector } from '@angular/core';
|
||||||
|
import { BaseService } from '@shared';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class ReportingService extends BaseService {
|
||||||
|
|
||||||
|
$api_order_reporting_page = ``; // 订单上报列表
|
||||||
|
$api_recall_reporting = ``; // 撤回
|
||||||
|
$api_async_export_order_reporting_list = ``; // 导出订单上报
|
||||||
|
constructor(public injector: Injector) {
|
||||||
|
super(injector);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -165,7 +165,9 @@ export class DriverAccountDetailComponent implements OnInit {
|
|||||||
{ title: '交易时间', index: 'createTime', type: 'date' },
|
{ title: '交易时间', index: 'createTime', type: 'date' },
|
||||||
{ title: '流水号', index: 'channelPaySn' },
|
{ title: '流水号', index: 'channelPaySn' },
|
||||||
{ title: '交易类型', index: 'tradeTypeLabel', className: 'text-center' },
|
{ title: '交易类型', index: 'tradeTypeLabel', className: 'text-center' },
|
||||||
{ title: '关联单号', index: 'businessNumber' },
|
{ title: '交易单号', index: 'businessNumber' },
|
||||||
|
{ title: '订单号', index: 'orderSn' },
|
||||||
|
{ title: '运单号', index: 'transportSn' },
|
||||||
{ title: '收支类型', index: 'incomeTypeLabel', className: 'text-center' },
|
{ title: '收支类型', index: 'incomeTypeLabel', className: 'text-center' },
|
||||||
{
|
{
|
||||||
title: '交易金额',
|
title: '交易金额',
|
||||||
@ -182,7 +184,10 @@ export class DriverAccountDetailComponent implements OnInit {
|
|||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
|
||||||
}
|
},
|
||||||
|
{ title: '付款方', index: 'payName'},
|
||||||
|
{ title: '收款方', index: 'payeeName' },
|
||||||
|
{ title: '备注', index: 'tradeContent' },
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -164,7 +164,7 @@ export class DriverAccountComponent implements OnInit {
|
|||||||
{ title: '司机姓名', width: 140, index: 'name' },
|
{ title: '司机姓名', width: 140, index: 'name' },
|
||||||
{ title: '证件号码', width: 140, index: 'idNo' },
|
{ title: '证件号码', width: 140, index: 'idNo' },
|
||||||
{ title: '手机号', width: 140, index: 'phone' },
|
{ title: '手机号', width: 140, index: 'phone' },
|
||||||
{ title: '网络货运人', width: 140, index: 'ltdName' },
|
{ title: '网络货运人', width: 180, index: 'ltdName' },
|
||||||
{ title: '银行类型', width: 120, index: 'bankTypeLabel' },
|
{ title: '银行类型', width: 120, index: 'bankTypeLabel' },
|
||||||
{ title: '虚拟账户', width: 140, index: 'virtualAccount' },
|
{ title: '虚拟账户', width: 140, index: 'virtualAccount' },
|
||||||
{
|
{
|
||||||
@ -186,13 +186,14 @@ export class DriverAccountComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '本月累计提现金额',
|
title: '本月累计提现金额',
|
||||||
index: 'withdrawBalance',
|
index: 'withdrawBalance',
|
||||||
width: 150,
|
width: 160,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.withdrawBalance }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.withdrawBalance }) }
|
||||||
},
|
},
|
||||||
{ title: '账户总余额', render: 'availableBalance', className: 'text-right', width: 180 },
|
{ title: '账户总余额', render: 'availableBalance', className: 'text-right', width: 180 },
|
||||||
{ title: '创建时间', index: 'createTime', type: 'date', width: 150 },
|
{ title: '创建时间', index: 'createTime', type: 'date', width: 150 },
|
||||||
|
{ title: '状态', index: 'stateDeletedLabel', width: 120 },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
width: 120,
|
width: 120,
|
||||||
|
|||||||
@ -190,7 +190,8 @@ export class RechargeRecordComponent implements OnInit {
|
|||||||
rmYll: item.roleId,
|
rmYll: item.roleId,
|
||||||
snglFlgCd: item.paySerialNumber2,
|
snglFlgCd: item.paySerialNumber2,
|
||||||
bussType: '06',
|
bussType: '06',
|
||||||
ltdId: item.ltdId
|
ltdId: item.ltdId,
|
||||||
|
accountType: item.accountType
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -253,7 +253,8 @@ export class TransactionFlowComponent {
|
|||||||
rmYll: item.roleId,
|
rmYll: item.roleId,
|
||||||
snglFlgCd: item.channelPaySn,
|
snglFlgCd: item.channelPaySn,
|
||||||
bussType: item.tradeType === '7' ? '05' : item.tradeType === '8' ? '06' : '07',
|
bussType: item.tradeType === '7' ? '05' : item.tradeType === '8' ? '06' : '07',
|
||||||
ltdId: item.ltdId
|
ltdId: item.ltdId,
|
||||||
|
accountType: item.accountType
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -99,7 +99,8 @@ export class WithdrawalsDetailComponent implements OnInit {
|
|||||||
rmYll: this.formData.userId,
|
rmYll: this.formData.userId,
|
||||||
snglFlgCd: this.formData.coreSerNo,
|
snglFlgCd: this.formData.coreSerNo,
|
||||||
bussType: '06',
|
bussType: '06',
|
||||||
ltdId: this.formData.ltdId
|
ltdId: this.formData.ltdId,
|
||||||
|
accountType: this.formData.accountType
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -297,7 +297,8 @@ export class WithdrawalsRecordComponent {
|
|||||||
rmYll: item.userId,
|
rmYll: item.userId,
|
||||||
snglFlgCd: item.coreSerNo,
|
snglFlgCd: item.coreSerNo,
|
||||||
bussType: '06',
|
bussType: '06',
|
||||||
ltdId: item.ltdId
|
ltdId: item.ltdId,
|
||||||
|
accountType: item.accountType
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -360,7 +360,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" nzWidth="1000px" (nzOnCancel)="handleCancel()">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<div *ngIf="!modalcontent">暂无附件信息</div>
|
<div *ngIf="!modalcontent">暂无附件信息</div>
|
||||||
<div [innerHTML]="modalcontent"></div>
|
<div [innerHTML]="modalcontent"></div>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-06 20:20:26
|
* @Date : 2021-12-06 20:20:26
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-24 14:08:55
|
* @LastEditTime : 2022-03-29 11:09:00
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -45,7 +45,6 @@
|
|||||||
<sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv>
|
<sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv>
|
||||||
<sv label="录单员">{{ i?.createUserName }} /{{ i?.createUserPhone }} </sv>
|
<sv label="录单员">{{ i?.createUserName }} /{{ i?.createUserPhone }} </sv>
|
||||||
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}/{{ i?.goodsResource?.dispatchPhone }} </sv>
|
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}/{{ i?.goodsResource?.dispatchPhone }} </sv>
|
||||||
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
|
|
||||||
<sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
|
<sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
|
||||||
<sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
|
<sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
|
||||||
<sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv>
|
<sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv>
|
||||||
@ -248,7 +247,7 @@
|
|||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" nzWidth="1000px" (nzOnCancel)="handleCancel()">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<div *ngIf="!modalcontent">暂无附件信息</div>
|
<div *ngIf="!modalcontent">暂无附件信息</div>
|
||||||
<div [innerHTML]="modalcontent"></div>
|
<div [innerHTML]="modalcontent"></div>
|
||||||
|
|||||||
@ -35,7 +35,7 @@
|
|||||||
<button nz-button nzType="primary" [nzLoading]="loading" (click)="search()" acl [acl-ability]="['ORDER-BULK-search']"
|
<button nz-button nzType="primary" [nzLoading]="loading" (click)="search()" acl [acl-ability]="['ORDER-BULK-search']"
|
||||||
>查询</button
|
>查询</button
|
||||||
>
|
>
|
||||||
<button nz-button nzType="primary" [disabled]="loading">导出</button>
|
<button nz-button nzType="primary" [disabled]="loading" (click)="exprot()">导出</button>
|
||||||
<button nz-button [disabled]="loading" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="loading" (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
|||||||
@ -88,6 +88,8 @@ export class OrderManagementBulkComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
const params: any = Object.assign({}, this.sf?.value || {});
|
const params: any = Object.assign({}, this.sf?.value || {});
|
||||||
delete params._$expand;
|
delete params._$expand;
|
||||||
|
console.log(params);
|
||||||
|
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
...a,
|
...a,
|
||||||
@ -467,10 +469,10 @@ export class OrderManagementBulkComponent implements OnInit {
|
|||||||
width: '180px',
|
width: '180px',
|
||||||
className: 'text-left',
|
className: 'text-left',
|
||||||
format: (item: any) =>
|
format: (item: any) =>
|
||||||
`${item.goodsName}/
|
`${item?.goodsName}/
|
||||||
${item.goodsWeight || '0'}吨/
|
${item?.weight || '0'}吨/
|
||||||
${item.goodsVolume || '0'}方/
|
${item?.volume || '0'}方/
|
||||||
${item.goodsNumber || '0'}件`
|
${item?.goodsNumber || '0'}件`
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '运费单价',
|
title: '运费单价',
|
||||||
@ -847,4 +849,12 @@ export class OrderManagementBulkComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// 导出
|
||||||
|
exprot() {
|
||||||
|
this.service.request(this.service.$api_get_asyncExportBulkList, this.reqParams).subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('导出成功,请去下载中心下载!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -133,7 +133,7 @@ export class OrderManagementRiskComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '订单号',
|
title: '订单号',
|
||||||
ui: {
|
ui: {
|
||||||
placeholder: '最多100个单号,空号隔开'
|
placeholder: '请输入订单号'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resourceCode: {
|
resourceCode: {
|
||||||
@ -334,12 +334,13 @@ export class OrderManagementRiskComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
text: '审核',
|
text: '审核',
|
||||||
click: _record => this.audit(_record),
|
click: _record => this.audit(_record),
|
||||||
iif: item => item.auditStatus == '1' ,
|
iif: item => item.representationsStatus == '2' ,
|
||||||
acl: { ability: ['ORDER-RISK-audit'] },
|
acl: { ability: ['ORDER-RISK-audit'] },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '详情',
|
text: '详情',
|
||||||
click: _record => this.viewEvaluate(_record),
|
click: _record => this.viewEvaluate(_record),
|
||||||
|
iif: item => item.representationsStatus !== '1' ,
|
||||||
acl: { ability: ['ORDER-RISK-riskDetail'] },
|
acl: { ability: ['ORDER-RISK-riskDetail'] },
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -333,7 +333,7 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
<nz-modal [(nzVisible)]="isVisible" nzWidth="1000px" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<div *ngIf="!modalcontent">暂无附件信息</div>
|
<div *ngIf="!modalcontent">暂无附件信息</div>
|
||||||
<div [innerHTML]="modalcontent"></div>
|
<div [innerHTML]="modalcontent"></div>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-28 14:42:03
|
* @Date : 2021-12-28 14:42:03
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-21 14:43:57
|
* @LastEditTime : 2022-03-28 20:31:30
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -47,7 +47,7 @@
|
|||||||
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}/{{ i?.goodsResource?.dispatchPhone }} </sv>
|
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}/{{ i?.goodsResource?.dispatchPhone }} </sv>
|
||||||
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
|
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
|
||||||
<sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
|
<sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
|
||||||
<sv label="运单号">{{ i?.wayBillId }}</sv>
|
<sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
|
||||||
<sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv>
|
<sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -230,7 +230,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
<nz-modal [(nzVisible)]="isVisible" nzWidth="1000px" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<div *ngIf="!modalcontent">暂无附件信息</div>
|
<div *ngIf="!modalcontent">暂无附件信息</div>
|
||||||
<div [innerHTML]="modalcontent"></div>
|
<div [innerHTML]="modalcontent"></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-03-23 10:28:41
|
* @LastEditTime : 2022-03-28 11:10:20
|
||||||
* @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.
|
||||||
-->
|
-->
|
||||||
@ -209,7 +209,7 @@
|
|||||||
[acl-ability]="['ORDER-VEHICLE-batchSignWholeOrder']">
|
[acl-ability]="['ORDER-VEHICLE-batchSignWholeOrder']">
|
||||||
批量签收
|
批量签收
|
||||||
</button>
|
</button>
|
||||||
<button nz-button nzType="primary" [disabled]="loading">导出</button>
|
<button nz-button nzType="primary" [disabled]="loading" (click)="exprot()">导出</button>
|
||||||
<button nz-button nzType="primary" (click)="visible=true;" class="mr-sm">筛选</button>
|
<button nz-button nzType="primary" (click)="visible=true;" class="mr-sm">筛选</button>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -29,6 +29,7 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
isVisibleEvaluate = false;
|
isVisibleEvaluate = false;
|
||||||
isVisible = false;
|
isVisible = false;
|
||||||
loading: boolean = true;
|
loading: boolean = true;
|
||||||
|
paramsList: any;
|
||||||
changeId: any; // 主页面查看运费变更记录id - 用于运费变更记录
|
changeId: any; // 主页面查看运费变更记录id - 用于运费变更记录
|
||||||
changeViewId: any; // 查看运费变更记录id - 用于查看
|
changeViewId: any; // 查看运费变更记录id - 用于查看
|
||||||
ViewCause: any; // 变更运费查看数据
|
ViewCause: any; // 变更运费查看数据
|
||||||
@ -97,36 +98,25 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
if (this.resourceStatus) {
|
if (this.resourceStatus) {
|
||||||
a.billStatus = this.resourceStatus;
|
a.billStatus = this.resourceStatus;
|
||||||
}
|
}
|
||||||
const params: any = Object.assign({}, this.sf?.value || {});
|
const params: any = Object.assign({}, this.sf?.value || this.paramsList);
|
||||||
delete params._$expand;
|
delete params._$expand;
|
||||||
return {
|
return {
|
||||||
...a,
|
...a,
|
||||||
...params,
|
...params,
|
||||||
createTime: {
|
|
||||||
start: this.sf?.value?.createTime?.[0] || '',
|
|
||||||
end: this.sf?.value?.createTime?.[1] || ''
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
const a: any = {};
|
const a: any = {};
|
||||||
if (this.resourceStatus) {
|
if (this.resourceStatus) {
|
||||||
a.billStatus = this.resourceStatus;
|
a.billStatus = this.resourceStatus;
|
||||||
Object.assign(requestOptions.body, {
|
|
||||||
...a
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
const params: any = Object.assign({}, this.sf?.value || {});
|
const params: any = Object.assign({}, this.sf?.value || this.paramsList);
|
||||||
delete params._$expand;
|
delete params._$expand;
|
||||||
if (this.sf) {
|
this.paramsList = params
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
...params,
|
...a,
|
||||||
createTime: {
|
...this.paramsList,
|
||||||
start: this.sf?.value?.createTime?.[0] || '',
|
|
||||||
end: this.sf?.value?.createTime?.[1] || ''
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
return requestOptions;
|
return requestOptions;
|
||||||
};
|
};
|
||||||
@ -282,14 +272,19 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
containsAllLable: true
|
containsAllLable: true
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema
|
||||||
},
|
},
|
||||||
|
// createTime: {
|
||||||
|
// title: '创建时间',
|
||||||
|
// type: 'string',
|
||||||
|
// ui: {
|
||||||
|
// widget: 'date',
|
||||||
|
// mode: 'range',
|
||||||
|
// format: 'yyyy-MM-dd'
|
||||||
|
// } as SFDateWidgetSchema
|
||||||
|
// },
|
||||||
createTime: {
|
createTime: {
|
||||||
title: '创建时间',
|
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
title: '创建时间',
|
||||||
widget: 'date',
|
ui: { widget: 'sl-from-to', type: 'date', format: 'yyyy-MM-dd' } as SFDateWidgetSchema,
|
||||||
mode: 'range',
|
|
||||||
format: 'yyyy-MM-dd'
|
|
||||||
} as SFDateWidgetSchema
|
|
||||||
},
|
},
|
||||||
riskStatus: {
|
riskStatus: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@ -578,7 +573,7 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
this.resourceStatus = e;
|
this.resourceStatus = e;
|
||||||
this.initST();
|
this.initST();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.st.load(1);
|
this.st.load();
|
||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -862,4 +857,12 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// 导出
|
||||||
|
exprot() {
|
||||||
|
this.service.request(this.service.$api_get_asyncExportWholeList, this.reqParams).subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('导出成功,请去下载中心下载!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-03 15:31:52
|
* @Date : 2021-12-03 15:31:52
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-25 15:27:40
|
* @LastEditTime : 2022-03-28 11:07:48
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -176,6 +176,12 @@ export class OrderManagementService extends ShipperBaseService {
|
|||||||
$api_get_getAppDriverPosition = `/api/sdc/billShipper/getAppDriverPosition`;
|
$api_get_getAppDriverPosition = `/api/sdc/billShipper/getAppDriverPosition`;
|
||||||
// 查看申述记录
|
// 查看申述记录
|
||||||
$api_get_getOrderComplaintDetail = `/api/sdc/billOperate/getOrderComplaintDetail`;
|
$api_get_getOrderComplaintDetail = `/api/sdc/billOperate/getOrderComplaintDetail`;
|
||||||
|
|
||||||
|
|
||||||
|
// 异步导出运营后台大宗订单列表
|
||||||
|
$api_get_asyncExportBulkList = `/api/sdc/billOperate/asyncExportBulkList`;
|
||||||
|
// 异步导出运营后台整车订单列表
|
||||||
|
$api_get_asyncExportWholeList = `/api/sdc/billOperate/asyncExportWholeList`;
|
||||||
/**
|
/**
|
||||||
* 根据企业ID,获取企业历史网络货运人
|
* 根据企业ID,获取企业历史网络货运人
|
||||||
* @returns
|
* @returns
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import { Component, OnInit } from '@angular/core';
|
|||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service';
|
import { FreightAccountService } from 'src/app/routes/financial-management/services/freight-account.service';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-partner-account-management-withdrawals-detail',
|
selector: 'app-partner-account-management-withdrawals-detail',
|
||||||
templateUrl: './withdrawals-detail.component.html',
|
templateUrl: './withdrawals-detail.component.html',
|
||||||
@ -18,7 +17,7 @@ export class PartnerAccountManagementWithdralDetailComponent implements OnInit {
|
|||||||
this.loadRefundDetail(id);
|
this.loadRefundDetail(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void { }
|
ngOnInit(): void {}
|
||||||
|
|
||||||
loadRefundDetail(id: string) {
|
loadRefundDetail(id: string) {
|
||||||
this.service.request(this.service.$api_get_refund_detail, { id }).subscribe(res => {
|
this.service.request(this.service.$api_get_refund_detail, { id }).subscribe(res => {
|
||||||
@ -77,7 +76,8 @@ export class PartnerAccountManagementWithdralDetailComponent implements OnInit {
|
|||||||
rmYll: this.formData.userId,
|
rmYll: this.formData.userId,
|
||||||
snglFlgCd: this.formData.coreSerNo,
|
snglFlgCd: this.formData.coreSerNo,
|
||||||
bussType: '06',
|
bussType: '06',
|
||||||
ltdId: this.formData.ltdId
|
ltdId: this.formData.ltdId,
|
||||||
|
accountType: this.formData.accountType
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -311,7 +311,8 @@ export class PartnerAccountManagementWithdrawalsRecordComponent implements OnIni
|
|||||||
rmYll: item.userId,
|
rmYll: item.userId,
|
||||||
snglFlgCd: item.coreSerNo,
|
snglFlgCd: item.coreSerNo,
|
||||||
bussType: '06',
|
bussType: '06',
|
||||||
ltdId: item.ltdId
|
ltdId: item.ltdId,
|
||||||
|
accountType: item.accountType
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'" [formData]="i">
|
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'" [formData]="record">
|
||||||
</sf>
|
</sf>
|
||||||
|
|
||||||
<div *nzModalFooter>
|
<div *nzModalFooter>
|
||||||
|
|||||||
@ -17,7 +17,8 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
ui!: SFUISchema;
|
ui!: SFUISchema;
|
||||||
i: any;
|
i: any;
|
||||||
type: any;
|
type: any;
|
||||||
|
record:any;
|
||||||
|
currentOAItem:any;
|
||||||
constructor(
|
constructor(
|
||||||
public http: _HttpClient,
|
public http: _HttpClient,
|
||||||
private cdr: ChangeDetectorRef,
|
private cdr: ChangeDetectorRef,
|
||||||
@ -28,7 +29,14 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
|
||||||
|
this.service.request(this.service.$api_getChannelSalesInfo, {id:this.i?.id}).subscribe(res => {
|
||||||
|
if(res){
|
||||||
|
this.record = res;
|
||||||
|
}
|
||||||
this.initSF();
|
this.initSF();
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
initSF() {
|
initSF() {
|
||||||
this.schema = {
|
this.schema = {
|
||||||
@ -62,10 +70,14 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
placeholder:'请选择',
|
placeholder:'请选择',
|
||||||
asyncData: (input:string) => this.service.request(this.service.$api_fuzzyQuery,{name:input}).pipe(
|
asyncData: (input:string) => this.service.request(this.service.$api_fuzzyQuery,{name:input}).pipe(
|
||||||
map((res: any) => {
|
map((res: any) => {
|
||||||
console.log('111',res)
|
return res.map((item:any)=>{
|
||||||
return [];
|
return {label: item.empName+"/"+item.empNo, value: item.empNo, obj: item}
|
||||||
})
|
})
|
||||||
)
|
})
|
||||||
|
),
|
||||||
|
change:(item:any, org:any)=>{
|
||||||
|
this.currentOAItem = org.obj;
|
||||||
|
}
|
||||||
} as SFAutoCompleteWidgetSchema,
|
} as SFAutoCompleteWidgetSchema,
|
||||||
},
|
},
|
||||||
isAuthorization: {
|
isAuthorization: {
|
||||||
@ -89,7 +101,6 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
mode: 'multiple',
|
mode: 'multiple',
|
||||||
maxMultipleCount: 5,
|
maxMultipleCount: 5,
|
||||||
asyncData: () => {
|
asyncData: () => {
|
||||||
|
|
||||||
return this.service.request(this.service.$api_getAppRoleList).pipe(
|
return this.service.request(this.service.$api_getAppRoleList).pipe(
|
||||||
map((res: any) => {
|
map((res: any) => {
|
||||||
return res
|
return res
|
||||||
@ -134,7 +145,7 @@ export class ParterChannelSalesEditComponent implements OnInit {
|
|||||||
save() {
|
save() {
|
||||||
this.sf.validator({ emitError: true });
|
this.sf.validator({ emitError: true });
|
||||||
if(!this.sf.valid) return;
|
if(!this.sf.valid) return;
|
||||||
this.service.request(this.service.$api_save, { ...this.sf.value }).subscribe(res => {
|
this.service.request(this.service.$api_save, { ...this.sf.value, employeeVO: this.currentOAItem}).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.modalRef.destroy(true);
|
this.modalRef.destroy(true);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -98,10 +98,6 @@ export class ParterChannelSalesListComponent implements OnInit {
|
|||||||
text: '编辑',
|
text: '编辑',
|
||||||
click: (_record, _modal, _instance) => this.edit(_record),
|
click: (_record, _modal, _instance) => this.edit(_record),
|
||||||
},
|
},
|
||||||
{
|
|
||||||
text: '查看',
|
|
||||||
click: (_record, _modal, _instance) => this.view(_record),
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
text: '冻结',
|
text: '冻结',
|
||||||
click: (_record, _modal, _instance) => this.stop(_record.id),
|
click: (_record, _modal, _instance) => this.stop(_record.id),
|
||||||
@ -116,7 +112,6 @@ export class ParterChannelSalesListComponent implements OnInit {
|
|||||||
nzWidth:600,
|
nzWidth:600,
|
||||||
nzTitle: '新增',
|
nzTitle: '新增',
|
||||||
nzContent: ParterChannelSalesEditComponent,
|
nzContent: ParterChannelSalesEditComponent,
|
||||||
nzComponentParams: { type: this.spuStatus }
|
|
||||||
});
|
});
|
||||||
modalRef.afterClose.subscribe(res => {
|
modalRef.afterClose.subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
@ -131,7 +126,7 @@ export class ParterChannelSalesListComponent implements OnInit {
|
|||||||
nzWidth:600,
|
nzWidth:600,
|
||||||
nzTitle: '编辑',
|
nzTitle: '编辑',
|
||||||
nzContent: ParterChannelSalesEditComponent,
|
nzContent: ParterChannelSalesEditComponent,
|
||||||
nzComponentParams: { i: record, type: this.spuStatus }
|
nzComponentParams: { i: record }
|
||||||
});
|
});
|
||||||
modalRef.afterClose.subscribe(res => {
|
modalRef.afterClose.subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
@ -140,14 +135,7 @@ export class ParterChannelSalesListComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 编辑
|
|
||||||
view(record: STData) {
|
|
||||||
const modalRef = this.modalService.create({
|
|
||||||
nzTitle: '查看',
|
|
||||||
nzContent: ParterChannelSalesEditComponent,
|
|
||||||
nzComponentParams: { i: record }
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
stop(id: any) {
|
stop(id: any) {
|
||||||
this.modalService.confirm({
|
this.modalService.confirm({
|
||||||
|
|||||||
@ -15,6 +15,10 @@ export class ChannelSalesService extends BaseService {
|
|||||||
$api_fuzzyQuery = '/api/mdc/channelSalesManagement/fuzzyQuery';
|
$api_fuzzyQuery = '/api/mdc/channelSalesManagement/fuzzyQuery';
|
||||||
// 获取角色列表
|
// 获取角色列表
|
||||||
$api_getAppRoleList = '/api/mdc/cuc/roleInfo/getRoleList';
|
$api_getAppRoleList = '/api/mdc/cuc/roleInfo/getRoleList';
|
||||||
|
// 获取渠道销售管理详情
|
||||||
|
$api_listChannelSalesManagement = '/api/mdc/channelSalesManagement/list/listChannelSalesManagement';
|
||||||
|
// 根据渠道销售id获取渠道信息
|
||||||
|
$api_getChannelSalesInfo = '/api/mdc/channelSalesManagement/getChannelSalesInfo';
|
||||||
|
|
||||||
|
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
|
|||||||
@ -61,6 +61,7 @@ import { BannerComponentsAddComponent } from './knowledge/banner/components/add/
|
|||||||
import { PersonalPartnerDetailComponent } from './partner-list/components/personal-partner-detail/personal-partner-detail.component';
|
import { PersonalPartnerDetailComponent } from './partner-list/components/personal-partner-detail/personal-partner-detail.component';
|
||||||
import { ParterAdviceFeedbackListComponent } from './advice-feedback/components/list/list.component';
|
import { ParterAdviceFeedbackListComponent } from './advice-feedback/components/list/list.component';
|
||||||
import { ParterAdviceFeedbackDetailComponent } from './advice-feedback/components/feedback-detail/feedback-detail.component';
|
import { ParterAdviceFeedbackDetailComponent } from './advice-feedback/components/feedback-detail/feedback-detail.component';
|
||||||
|
import { ParterRebateManageMentAddPartnerListComponent } from './rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component';
|
||||||
|
|
||||||
const COMPONENTS: any[] = [
|
const COMPONENTS: any[] = [
|
||||||
PartnerBusinessStatisticsIndexComponent,
|
PartnerBusinessStatisticsIndexComponent,
|
||||||
@ -111,7 +112,8 @@ const COMPONENTS: any[] = [
|
|||||||
BannerComponentsAddComponent,
|
BannerComponentsAddComponent,
|
||||||
PersonalPartnerDetailComponent,
|
PersonalPartnerDetailComponent,
|
||||||
ParterAdviceFeedbackListComponent,
|
ParterAdviceFeedbackListComponent,
|
||||||
ParterAdviceFeedbackDetailComponent
|
ParterAdviceFeedbackDetailComponent,
|
||||||
|
ParterRebateManageMentAddPartnerListComponent
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@ -0,0 +1,30 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-03-28 14:53:52
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-03-28 17:03:21
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add-partnerlist\\add-partnerlist.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
<nz-card>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
|
<div nz-col nzSpan="24" >
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [disabled]="!sf?.valid" [loading]="false"
|
||||||
|
(formSubmit)="search()" (formReset)="resetSF()"></sf>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<nz-card class="content-box">
|
||||||
|
<st #st [data]="service.$api_get_partner_page " [columns]="columns"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false"
|
||||||
|
[scroll]="{ x: '1000' }">
|
||||||
|
</st>
|
||||||
|
<button *ngIf="selectedIndex===0" (click)="batchReply()" nz-button nzType="primary" acl
|
||||||
|
[acl-ability]="['AbnormalAppear-batchReply']">批量回复</button>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,20 @@
|
|||||||
|
:host::ng-deep{
|
||||||
|
.search-box{
|
||||||
|
.ant-card-body{
|
||||||
|
padding-bottom: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-box{
|
||||||
|
.ant-card-body{
|
||||||
|
padding-top: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.imgBox {
|
||||||
|
display: flex;
|
||||||
|
img {
|
||||||
|
width: 60px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,141 @@
|
|||||||
|
import { Component, OnInit, ViewChild, Type } from '@angular/core';
|
||||||
|
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
||||||
|
import {
|
||||||
|
SFComponent,
|
||||||
|
SFDateWidgetSchema,
|
||||||
|
SFRadioWidgetSchema,
|
||||||
|
SFSchema,
|
||||||
|
SFSchemaEnum,
|
||||||
|
SFSelectWidgetSchema,
|
||||||
|
SFUISchema
|
||||||
|
} from '@delon/form';
|
||||||
|
import { ShipperBaseService } from '@shared';
|
||||||
|
import { NzModalService, NzModalRef } from 'ng-zorro-antd/modal';
|
||||||
|
import { of } from 'rxjs';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
|
import { RebateManagementService } from '../../../services/rebate-management.service';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-add-partnerlist',
|
||||||
|
templateUrl: './add-partnerlist.component.html',
|
||||||
|
styleUrls: ['./add-partnerlist.component.less']
|
||||||
|
})
|
||||||
|
export class ParterRebateManageMentAddPartnerListComponent implements OnInit {
|
||||||
|
@ViewChild('st', { static: true })
|
||||||
|
st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
ui: SFUISchema = {};
|
||||||
|
i: any;
|
||||||
|
schema: SFSchema = {};
|
||||||
|
addSchema: SFSchema = {};
|
||||||
|
_$expand = false;
|
||||||
|
editText = '';
|
||||||
|
formData: any;
|
||||||
|
isVisible = false;
|
||||||
|
edit = false;
|
||||||
|
editId = false;
|
||||||
|
selectedIndex = 0;
|
||||||
|
|
||||||
|
columns: STColumn[] = [
|
||||||
|
{ title: '', type: 'checkbox', width: '50px', className: 'text-center' },
|
||||||
|
{
|
||||||
|
title: '合伙人名称',
|
||||||
|
index: 'enterpriseName',
|
||||||
|
width: 180,
|
||||||
|
format: item => (item.partnerType ? `${item.enterpriseName || item.contactName}` : '')
|
||||||
|
},
|
||||||
|
{ title: '联系人', index: 'contactName', width: 150, format: item => (item.partnerType ? `${item.contactName}` : '') },
|
||||||
|
{ title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 },
|
||||||
|
{ title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } },
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
width: '90px',
|
||||||
|
fixed: 'right',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '添加',
|
||||||
|
click: _record => this.add(_record),
|
||||||
|
acl: { ability: ['AbnormalAppear-reply'] }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
get reqParams() {
|
||||||
|
// signStatus固定传20 代表签约完成 signStatus: 20
|
||||||
|
let params: any = { ...this.sf?.value, };
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
|
||||||
|
get selectedRows() {
|
||||||
|
return this.st?.list.filter(item => item.checked) || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public service: RebateManagementService,
|
||||||
|
public shipperSrv: ShipperBaseService,
|
||||||
|
private modal: NzModalService,
|
||||||
|
private modals: NzModalRef
|
||||||
|
) {}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.initSF();
|
||||||
|
}
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
enterpriseName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '合伙人名称'
|
||||||
|
},
|
||||||
|
partnerType: {
|
||||||
|
type: 'string',
|
||||||
|
title: '类型',
|
||||||
|
enum: [
|
||||||
|
{ value: '', label: '全部' },
|
||||||
|
{ value: 1, label: '企业' },
|
||||||
|
{ value: 2, label: '个人' }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
visibleIf: {
|
||||||
|
expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
},
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
|
}
|
||||||
|
|
||||||
|
search() {
|
||||||
|
this.st?.load(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
selectedIndexChange(event: any) {
|
||||||
|
if (this.selectedIndex === 0) {
|
||||||
|
this.st?.load(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF() {
|
||||||
|
this.sf.reset();
|
||||||
|
}
|
||||||
|
// 回复操作
|
||||||
|
add(item: any) {
|
||||||
|
console.log(item);
|
||||||
|
this.modals.destroy(item);
|
||||||
|
}
|
||||||
|
// 批量回复操作
|
||||||
|
batchReply() {
|
||||||
|
// if (this.selectedRows.length === 0) {
|
||||||
|
// this.service.msgSrv.warning('请勾选数据!')
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
this.modals.destroy(this.selectedRows);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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-21 13:53:31
|
* @LastEditTime : 2022-03-29 10:47:02
|
||||||
* @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.
|
||||||
-->
|
-->
|
||||||
@ -14,41 +14,57 @@
|
|||||||
|
|
||||||
<!-- 数据列表 -->
|
<!-- 数据列表 -->
|
||||||
<sv-container col="1">
|
<sv-container col="1">
|
||||||
<sv label="配置名称"> <input style="max-width: 400px;" nz-input placeholder="请输入" [(ngModel)]="setValue" /></sv>
|
<sv label="配置名称"> <input style="max-width: 400px;" nz-input placeholder="请输入" [(ngModel)]="configName" /></sv>
|
||||||
<sv-title>固定结算费率配置</sv-title>
|
<sv-title>固定结算费率配置</sv-title>
|
||||||
<sv label="固定结算费率"> <nz-input-number [(ngModel)]="toFixedValue" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number> %</sv>
|
<sv label="固定结算费率"> <nz-input-number [(ngModel)]="accountingRate" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number> %</sv>
|
||||||
<sv-title>业务量和管理费比例配置</sv-title>
|
<sv-title>业务量和管理费比例配置</sv-title>
|
||||||
<sv label="选择配置类型">
|
<sv label="选择配置类型">
|
||||||
<nz-radio-group [(ngModel)]="radioValue">
|
<nz-radio-group [(ngModel)]="configType">
|
||||||
<label nz-radio nzValue="A">按全部等级配置</label>
|
<label nz-radio nzValue="1">按全部等级配置</label>
|
||||||
<label nz-radio nzValue="B">按不同等级配置</label>
|
<label nz-radio nzValue="2">按不同等级配置</label>
|
||||||
</nz-radio-group>
|
</nz-radio-group>
|
||||||
</sv>
|
</sv>
|
||||||
<sv col="1">
|
<sv col="1">
|
||||||
<app-rebate-table></app-rebate-table>
|
|
||||||
|
<app-rebate-table #table [(data)]='tabelData'></app-rebate-table>
|
||||||
</sv>
|
</sv>
|
||||||
<sv-title>关联合伙人配置</sv-title>
|
<sv-title>关联合伙人配置</sv-title>
|
||||||
<sv label="合伙人选择">
|
<sv label="合伙人选择">
|
||||||
<nz-select ngModel="lucy" style="max-width: 400px; min-width: 200px;">
|
<nz-select [(ngModel)]="partnerType" style="max-width: 400px; min-width: 200px;">
|
||||||
<nz-option nzValue="jack" nzLabel="Jack"></nz-option>
|
<nz-option nzValue="1" nzLabel="全部合伙人"></nz-option>
|
||||||
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
|
<nz-option nzValue="2" nzLabel="新注册合伙人"></nz-option>
|
||||||
|
<nz-option nzValue="3" nzLabel="自定义合伙人"></nz-option>
|
||||||
</nz-select>
|
</nz-select>
|
||||||
<span >添加</span>
|
<span style="color: #0000FF;" (click)="add()">添加</span>
|
||||||
|
<st *ngIf="partnerPeopleList?.length > 0" #st [data]="partnerPeopleList" [columns]="columns"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100] }" [loading]="false"
|
||||||
|
[scroll]="{ x: '1000' }">
|
||||||
|
</st>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="优先级" col="1">
|
<sv label="优先级" col="1">
|
||||||
<nz-select ngModel="lucy" style="max-width: 400px; min-width: 200px;">
|
<nz-select [(ngModel)]="priority" style="max-width: 400px; min-width: 200px;">
|
||||||
<nz-option nzValue="jack" nzLabel="Jack"></nz-option>
|
<nz-option nzValue=1 nzLabel="1">1</nz-option>
|
||||||
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
|
<nz-option nzValue=2 nzLabel="2">2</nz-option>
|
||||||
|
<nz-option nzValue=3 nzLabel="3">3</nz-option>
|
||||||
|
<nz-option nzValue=4 nzLabel="4">4</nz-option>
|
||||||
|
<nz-option nzValue=5 nzLabel="5">5</nz-option>
|
||||||
</nz-select>
|
</nz-select>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="规则说明" col="1">
|
<sv label="规则说明" col="1">
|
||||||
<sf #sf mode="edit" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 16 }} }"
|
<sf #sf mode="edit" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 16 }} }"
|
||||||
button="none"> </sf>
|
button="none"> </sf>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="规则说明" col="1">
|
<sv label="备注" col="1">
|
||||||
<textarea style="max-width: 400px; min-width: 200px;" rows="4" nz-input [(ngModel)]="inputValue"></textarea>
|
<textarea style="max-width: 400px; min-width: 200px;" rows="4" nz-input [(ngModel)]="remarke"></textarea>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
<div class="align-center" style="margin-top: 15px;">
|
||||||
|
<button nz-button nzType="primary" (click)="goBack()">取消</button>
|
||||||
|
<button nz-button nzType="primary" style="margin-left: 48px" (click)="save()"
|
||||||
|
acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交</button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -7,4 +7,10 @@
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.align-center {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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-03-21 13:44:34
|
* @LastEditTime : 2022-03-29 10:53:39
|
||||||
* @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.
|
||||||
*/
|
*/
|
||||||
@ -16,17 +16,28 @@ import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/fo
|
|||||||
import { processSingleSort, ShipperBaseService } from '@shared';
|
import { processSingleSort, 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';
|
||||||
|
import { ParterRebateManageMentAddPartnerListComponent } from '../add-partnerlist/add-partnerlist.component';
|
||||||
|
import { inRange } from '@delon/util';
|
||||||
@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'
|
||||||
})
|
})
|
||||||
export class ParterRebateManageMentAddComponent implements OnInit {
|
export class ParterRebateManageMentAddComponent implements OnInit {
|
||||||
setValue: string = '';
|
@ViewChild('table') table!: any;
|
||||||
toFixedValue: Number = 2;
|
tabelData: any;
|
||||||
radioValue = 'A';
|
configName: string = '';
|
||||||
|
partnerType: string = '';
|
||||||
|
remarke: string = '';
|
||||||
|
accountingRate: Number = 0;
|
||||||
|
priority: string = '';
|
||||||
|
partnerPeopleList: any;
|
||||||
|
configType = '1';
|
||||||
precision = 2;
|
precision = 2;
|
||||||
inputValue= '';
|
partnerId :Array<string> =[];
|
||||||
|
inputValue = '';
|
||||||
|
@ViewChild('st', { static: true })
|
||||||
|
st!: STComponent;
|
||||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
schema1!: SFSchema;
|
schema1!: SFSchema;
|
||||||
constructor(
|
constructor(
|
||||||
@ -34,12 +45,33 @@ 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
|
||||||
) {}
|
) {}
|
||||||
|
columns: STColumn[] = [
|
||||||
|
{
|
||||||
|
title: '合伙人名称',
|
||||||
|
index: 'enterpriseName',
|
||||||
|
width: 180,
|
||||||
|
format: item => (item.partnerType ? `${item.enterpriseName || item.contactName}` : '')
|
||||||
|
},
|
||||||
|
{ title: '联系人', index: 'contactName', width: 150, format: item => (item.partnerType ? `${item.contactName}` : '') },
|
||||||
|
{ title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 },
|
||||||
|
{ title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } },
|
||||||
|
{
|
||||||
|
title: '操作', width: '90px', fixed: 'right',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '移除',
|
||||||
|
click: _record => this.delete(_record),
|
||||||
|
acl: { ability: ['AbnormalAppear-reply'] }
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
];
|
||||||
initSF(data?: any) {
|
initSF(data?: any) {
|
||||||
this.schema1 = {
|
this.schema1 = {
|
||||||
properties: {
|
properties: {
|
||||||
content: {
|
ruleDescription: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
@ -49,12 +81,69 @@ export class ParterRebateManageMentAddComponent implements OnInit {
|
|||||||
height: 650
|
height: 650
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
default: data?.agreementContent || ''
|
// default: data?.agreementContent || ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.initSF()
|
this.initSF();
|
||||||
|
}
|
||||||
|
goBack() {
|
||||||
|
window.history.go(-1);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
*合伙人选择
|
||||||
|
*/
|
||||||
|
add(item?: any) {
|
||||||
|
const modalRef = this.modal.create({
|
||||||
|
nzTitle: '合伙人选择',
|
||||||
|
nzWidth: 1000,
|
||||||
|
nzContent: ParterRebateManageMentAddPartnerListComponent,
|
||||||
|
nzComponentParams: {
|
||||||
|
i: item,
|
||||||
|
},
|
||||||
|
nzFooter: null
|
||||||
|
});
|
||||||
|
modalRef.afterClose.subscribe((res: any) => {
|
||||||
|
this.partnerId = [];
|
||||||
|
if (res) {
|
||||||
|
console.log(Array.isArray(res));
|
||||||
|
console.log(res);
|
||||||
|
if(Array.isArray(res)) {
|
||||||
|
this.partnerPeopleList = res;
|
||||||
|
res.forEach((ele: any) => {
|
||||||
|
this.partnerId.push(ele?.id);
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.partnerPeopleList = [res];
|
||||||
|
this.partnerId.push(res?.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
delete(item: any) {
|
||||||
|
console.log(item);
|
||||||
|
}
|
||||||
|
save () {
|
||||||
|
const params = {
|
||||||
|
accountingRate: this.accountingRate,
|
||||||
|
configName: this.configName,
|
||||||
|
configType: this.configType,
|
||||||
|
rebateConfigLineDTO: this.table.data,
|
||||||
|
priority: this.priority,// 优先级
|
||||||
|
partnerId: this.partnerId.join(','),
|
||||||
|
ruleDescription: this.sf.value.ruleDescription,
|
||||||
|
remarke: this.remarke,
|
||||||
|
partnerType: this.partnerType
|
||||||
|
}
|
||||||
|
console.log(params);
|
||||||
|
this.service.request(this.service.$api_save_rebateConfig, params).subscribe((res: any) => {
|
||||||
|
if(res) {
|
||||||
|
console.log(res);
|
||||||
|
this.service.msgSrv.success('新增成功!')
|
||||||
|
this.router.navigate(['/partner/rebate/setting'])
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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-22 14:42:27
|
* @LastEditTime : 2022-03-29 10:51:52
|
||||||
* @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.
|
||||||
-->
|
-->
|
||||||
@ -47,8 +47,17 @@
|
|||||||
[loadingDelay]="500"
|
[loadingDelay]="500"
|
||||||
[loading]="service.http.loading"
|
[loading]="service.http.loading"
|
||||||
>
|
>
|
||||||
<ng-template st-row='name44' let-item let-index='index'>
|
<ng-template st-row='configType' let-item let-index='index'>
|
||||||
<div style="color: #f59a23;" (click)="feedback()">1223</div>
|
<div *ngIf="item.configType == 1">按全部等级配置</div>
|
||||||
|
<div *ngIf="item.configType == 2">按不同等级配置</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row='partnerType' let-item let-index='index'>
|
||||||
|
<div *ngIf="item.partnerType == 1">全部合伙人</div>
|
||||||
|
<div *ngIf="item.partnerType == 2">新注册合伙人</div>
|
||||||
|
<div *ngIf="item.partnerType == 3">自定义合伙人</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row='stateLocked' let-item let-index='index'>
|
||||||
|
<div >{{item?.stateLocked ? '启用' : '禁用'}}</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -69,12 +69,12 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
month: {
|
month: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '时间月份',
|
title: '配置名称',
|
||||||
format: 'month',
|
format: 'configName',
|
||||||
},
|
},
|
||||||
partnerId: {
|
stateLocked: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '合伙人名称'
|
title: '状态'
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -89,12 +89,12 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
initST() {
|
initST() {
|
||||||
this.columns = [
|
this.columns = [
|
||||||
{
|
{
|
||||||
title: '月份',
|
title: '配置名称',
|
||||||
index: '配置名称'
|
index: 'configName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '配置类型',
|
title: '配置类型',
|
||||||
index: 'configType'
|
render: 'configType'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '备注',
|
title: '备注',
|
||||||
@ -102,7 +102,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '关联合伙人范围',
|
title: '关联合伙人范围',
|
||||||
index: 'partnerType'
|
render: 'partnerType'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: '创建时间',
|
||||||
@ -118,7 +118,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '状态',
|
title: '状态',
|
||||||
index: 'stateLocked'
|
render: 'stateLocked'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
@ -132,6 +132,12 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '禁用',
|
text: '禁用',
|
||||||
|
iif: (_record) =>{ return _record.stateLocked == true},
|
||||||
|
click: _record => this.viewEvaluate(_record),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '启用',
|
||||||
|
iif: (_record) =>{ return _record.stateLocked == false},
|
||||||
click: _record => this.viewEvaluate(_record),
|
click: _record => this.viewEvaluate(_record),
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -142,10 +148,29 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
*禁用
|
*禁用
|
||||||
*/
|
*/
|
||||||
viewEvaluate(item: any) {
|
viewEvaluate(item: any) {
|
||||||
|
console.log(item.stateLocked);
|
||||||
|
let title = ''
|
||||||
|
let stateLocked: boolean;
|
||||||
|
if(item.stateLocked) {
|
||||||
|
title = '是否禁用该配置?'
|
||||||
|
stateLocked = false
|
||||||
|
} else {
|
||||||
|
title = '是否启用该配置?'
|
||||||
|
stateLocked = true
|
||||||
|
}
|
||||||
this.modal.confirm({
|
this.modal.confirm({
|
||||||
nzTitle: '是否禁用该配置?',
|
nzTitle: title,
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
|
const params = {
|
||||||
|
id: item?.id,
|
||||||
|
stateLocked: stateLocked,
|
||||||
|
}
|
||||||
|
this.service.request(this.service.$api_set_updateRebateConfig,params).subscribe((res: any) => {
|
||||||
|
if(res) {
|
||||||
|
this.service.msgSrv.success('设置成功!')
|
||||||
|
this.st.reload();
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -166,7 +191,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
configAction() {
|
configAction() {
|
||||||
this.router.navigate(['/partner/rebate/setting/add', ''])
|
this.router.navigate(['/partner/rebate/setting/add/', 1])
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 重置表单
|
* 重置表单
|
||||||
|
|||||||
@ -19,6 +19,12 @@ export class RebateManagementService extends BaseService {
|
|||||||
public $api_get_listCompliancePage = '/api/sdc/billRiskOperate/listRiskPage';
|
public $api_get_listCompliancePage = '/api/sdc/billRiskOperate/listRiskPage';
|
||||||
// 查询返佣配置表
|
// 查询返佣配置表
|
||||||
public $api_get_rebateConfig = '/api/mdc/rebateConfig/list/page';
|
public $api_get_rebateConfig = '/api/mdc/rebateConfig/list/page';
|
||||||
|
// 保存返佣配置表
|
||||||
|
public $api_save_rebateConfig = '/api/mdc/rebateConfig/save';
|
||||||
|
// 启用/禁用返佣配置
|
||||||
|
public $api_set_updateRebateConfig = '/api/mdc/rebateConfig/updateRebateConfig';
|
||||||
|
// 查询合伙人信息-分页
|
||||||
|
public $api_get_partner_page = '/api/mdc/partner/list/page';
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
super(injector);
|
super(injector);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -92,7 +92,7 @@ export class CarAddDriverComponent implements OnInit {
|
|||||||
title: '',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
offsetControl: 6,
|
offsetControl: 6,
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -108,6 +108,18 @@ export class CarAddDriverComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/certificatePhotoFrontWatermark', avatar);
|
||||||
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
|
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
|
||||||
this.checkIdCard(args.file.response.data.fullFilePath, 'front', 0);
|
this.checkIdCard(args.file.response.data.fullFilePath, 'front', 0);
|
||||||
} else {
|
} else {
|
||||||
@ -142,7 +154,7 @@ export class CarAddDriverComponent implements OnInit {
|
|||||||
title: '',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
offsetControl: 6,
|
offsetControl: 6,
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -158,6 +170,18 @@ export class CarAddDriverComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/certificatePhotoBackWatermark', avatar);
|
||||||
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath
|
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath
|
||||||
this.checkIdCard(args.file.response.data.fullFilePath, 'back', 0);
|
this.checkIdCard(args.file.response.data.fullFilePath, 'back', 0);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -119,7 +119,15 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit {
|
|||||||
nzContent: '<b>该司机还未注册,是否邀请他注册?点击"是"系统将发送邀请短信给司机</b>',
|
nzContent: '<b>该司机还未注册,是否邀请他注册?点击"是"系统将发送邀请短信给司机</b>',
|
||||||
nzOkText: '确定',
|
nzOkText: '确定',
|
||||||
nzCancelText: '取消',
|
nzCancelText: '取消',
|
||||||
nzOnOk: () => console.log('OK')
|
nzOnOk: () => {
|
||||||
|
this.sendMsg(this.sf?.value?.nameOrPhone).subscribe((res => {
|
||||||
|
if (res.code === '1') {
|
||||||
|
this.service.msgSrv.success('发送成功');
|
||||||
|
} else {
|
||||||
|
this.service.msgSrv.success('发送失败');
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@ -256,5 +264,11 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送邀请司机注册短信
|
||||||
|
*/
|
||||||
|
sendMsg(phoneNumber: string) {
|
||||||
|
return this.service.request(this.service.$api_send_msg_code, phoneNumber)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -246,7 +246,15 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
|
|||||||
nzContent: '<b>该司机还未注册,是否邀请他注册?点击"是"系统将发送邀请短信给司机</b>',
|
nzContent: '<b>该司机还未注册,是否邀请他注册?点击"是"系统将发送邀请短信给司机</b>',
|
||||||
nzOkText: '确定',
|
nzOkText: '确定',
|
||||||
nzCancelText: '取消',
|
nzCancelText: '取消',
|
||||||
nzOnOk: () => console.log('OK')
|
nzOnOk: () => {
|
||||||
|
this.sendMsg(this.sf?.value?.nameOrPhone).subscribe((res => {
|
||||||
|
if (res.code === '1') {
|
||||||
|
this.service.msgSrv.success('发送成功');
|
||||||
|
} else {
|
||||||
|
this.service.msgSrv.success('发送失败');
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@ -327,4 +335,11 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送邀请司机注册短信
|
||||||
|
*/
|
||||||
|
sendMsg(phoneNumber: string) {
|
||||||
|
return this.service.request(this.service.$api_send_msg_code, phoneNumber)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -177,17 +177,15 @@ export class SupplyManagementVehicleComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
label: '下载失败数据',
|
label: '下载失败数据',
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
|
loading: this.service.http.loading,
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
if(!result?.failNumber) {
|
if(!result?.failNumber) {
|
||||||
this.service.msgSrv.error('没有失败数据!');
|
this.service.msgSrv.error('没有失败数据!');
|
||||||
|
tipsModal.destroy();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.service.request(this.service.$api_getFailUploadGoodsOperateResource, result.ids).subscribe((res: any) => {
|
this.service.downloadFile(this.service.$api_getFailUploadGoodsOperateResource, result.ids)
|
||||||
if(res) {
|
tipsModal.destroy();
|
||||||
console.log(res);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
console.log(111);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@ -177,6 +177,8 @@ export class SupplyManagementService extends BaseService {
|
|||||||
$api_asyncExportWholeList = '/api/sdc/goodsResourceOperate/asyncExportWholeList';
|
$api_asyncExportWholeList = '/api/sdc/goodsResourceOperate/asyncExportWholeList';
|
||||||
// 根据货主ID查询合同签署属性
|
// 根据货主ID查询合同签署属性
|
||||||
public $api_getContractAtr = '/api/mdc/cuc/enterpriseInfo/cargoOwner/getContractAtr';
|
public $api_getContractAtr = '/api/mdc/cuc/enterpriseInfo/cargoOwner/getContractAtr';
|
||||||
|
// 发送邀请司机短信
|
||||||
|
$api_send_msg_code = `/api/mdc/pbc/smsSend/sendInviteDriver`;
|
||||||
|
|
||||||
getDictByKey(dictKey: string) {
|
getDictByKey(dictKey: string) {
|
||||||
const params = { dictKey: dictKey };
|
const params = { dictKey: dictKey };
|
||||||
|
|||||||
@ -205,6 +205,10 @@ export class CancellationInvoiceComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
downLoadDetail(item: any) {
|
||||||
|
this.service.exportStart({ id: item.id }, this.service.$api_export_invoic_detail);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推送发票
|
* 推送发票
|
||||||
* @param item
|
* @param item
|
||||||
@ -387,6 +391,11 @@ export class CancellationInvoiceComponent implements OnInit {
|
|||||||
queryParams: { type: 1, expressno: item.expressno, ltdId: item.shipperId }
|
queryParams: { type: 1, expressno: item.expressno, ltdId: item.shipperId }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
text: '销货清单<br>',
|
||||||
|
iif: item => item.isdetail,
|
||||||
|
click: item => this.downLoadDetail(item)
|
||||||
|
},
|
||||||
{
|
{
|
||||||
text: '手工开票<br>',
|
text: '手工开票<br>',
|
||||||
iif: item => item.sts != '3',
|
iif: item => item.sts != '3',
|
||||||
|
|||||||
@ -34,11 +34,11 @@ export class ExpressDetailModalComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '金额',
|
title: '金额',
|
||||||
index: 'vatnotax',
|
index: 'vatmoney',
|
||||||
width: 90,
|
width: 90,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatmoney }) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '税率',
|
title: '税率',
|
||||||
@ -53,7 +53,7 @@ export class ExpressDetailModalComponent implements OnInit {
|
|||||||
width: 90,
|
width: 90,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vattax }) }
|
||||||
},
|
},
|
||||||
{ title: '开票日期', index: 'invoicedate', type: 'date', width: 150, className: 'text-center' }
|
{ title: '开票日期', index: 'invoicedate', type: 'date', width: 150, className: 'text-center' }
|
||||||
];
|
];
|
||||||
|
|||||||
@ -154,13 +154,13 @@ export class InvoiceDetailComponent implements OnInit {
|
|||||||
{ title: '卸货地', index: 'loadingto', width: 220 },
|
{ title: '卸货地', index: 'loadingto', width: 220 },
|
||||||
{ title: '货物信息', index: 'goodsinfo', width: 140 },
|
{ title: '货物信息', index: 'goodsinfo', width: 140 },
|
||||||
{ title: '承运司机', index: 'driverinfo', width: 280 },
|
{ title: '承运司机', index: 'driverinfo', width: 280 },
|
||||||
{
|
// {
|
||||||
title: '税额',
|
// title: '税额',
|
||||||
index: 'billvatrate',
|
// index: 'billvatrate',
|
||||||
width: 120,
|
// width: 120,
|
||||||
className: 'text-right',
|
// className: 'text-right',
|
||||||
format: item => `${item.billvatrate ? ((item.billvatrate as number) * 100).toFixed(2) : 0}%`
|
// format: item => `${item.billvatrate ? ((item.billvatrate as number) * 100).toFixed(2) : 0}%`
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: '申请金额',
|
title: '申请金额',
|
||||||
index: 'billkpnotax',
|
index: 'billkpnotax',
|
||||||
|
|||||||
@ -55,6 +55,8 @@ export class InvoiceRequestedComponent {
|
|||||||
};
|
};
|
||||||
|
|
||||||
afterRes = (data: any[], rawData?: any) => {
|
afterRes = (data: any[], rawData?: any) => {
|
||||||
|
this.totalCallNo = 0;
|
||||||
|
this.selectedRows = [];
|
||||||
return data.map(item => ({
|
return data.map(item => ({
|
||||||
...item,
|
...item,
|
||||||
disabled: item.expressHSts
|
disabled: item.expressHSts
|
||||||
@ -436,7 +438,10 @@ export class InvoiceRequestedComponent {
|
|||||||
width: 150,
|
width: 150,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.invoicedMoney }) }
|
widget: {
|
||||||
|
type: 'currency-chy',
|
||||||
|
params: ({ record }) => ({ value: record.invoicedMoney })
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{ title: '开户行', index: 'bankName', width: 160 },
|
{ title: '开户行', index: 'bankName', width: 160 },
|
||||||
{ title: '银行账户', index: 'bankAccount', width: 140 },
|
{ title: '银行账户', index: 'bankAccount', width: 140 },
|
||||||
|
|||||||
@ -47,6 +47,8 @@ export class RequestedInvoiceModalComponent {
|
|||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('移除成功');
|
this.service.msgSrv.success('移除成功');
|
||||||
this.modal.destroy(true);
|
this.modal.destroy(true);
|
||||||
|
} else {
|
||||||
|
this.service.msgSrv.warning('移除失败');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,6 +46,8 @@ export class TicketService extends ShipperBaseService {
|
|||||||
$api_batch_push_invoic = '/api/fcc/ficoVatinvH/crmPushInvoBath';
|
$api_batch_push_invoic = '/api/fcc/ficoVatinvH/crmPushInvoBath';
|
||||||
// 发票作废
|
// 发票作废
|
||||||
$api_cancel_invoic = '/api/fcc/ficoVatinvH/inpinvHCancel';
|
$api_cancel_invoic = '/api/fcc/ficoVatinvH/inpinvHCancel';
|
||||||
|
// 运营端销票处理导出销售清单
|
||||||
|
$api_export_invoic_detail = '/api/fcc/ficoVatinvH/reportVatinvHByOperator';
|
||||||
|
|
||||||
// 获取汇总下单路径
|
// 获取汇总下单路径
|
||||||
$api_get_order_summary_path = '/api/fcc/ficoExpressH/getSummaryOrderAddress';
|
$api_get_order_summary_path = '/api/fcc/ficoExpressH/getSummaryOrderAddress';
|
||||||
@ -60,7 +62,7 @@ export class TicketService extends ShipperBaseService {
|
|||||||
$api_get_invoice_page = '/api/fcc/ficoVatinvH/list/page';
|
$api_get_invoice_page = '/api/fcc/ficoVatinvH/list/page';
|
||||||
|
|
||||||
// 更新快递信息
|
// 更新快递信息
|
||||||
$api_update_Express= '/api/fcc/ficoVatinvH/updateExpress';
|
$api_update_Express = '/api/fcc/ficoVatinvH/updateExpress';
|
||||||
|
|
||||||
// 发票作废
|
// 发票作废
|
||||||
$api_cancel_invoice = '/api/fcc/ficoVatinvH/inpinvHCancel';
|
$api_cancel_invoice = '/api/fcc/ficoVatinvH/inpinvHCancel';
|
||||||
|
|||||||
@ -23,12 +23,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
<sf #sf1 [compact]="true" [ui]="ui" [schema]="schema1" [button]="'none'" *ngIf="schema1">
|
<sf #sf1 [compact]="true" [ui]="ui2" [schema]="schema1" [button]="'none'" *ngIf="schema1">
|
||||||
|
<ng-template sf-template="roadImg" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<img height="104" src="/assets/images/drivercard.png" class="borderImg" />
|
||||||
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
<sf #sf2 [compact]="true" [ui]="ui" [schema]="schema2" [button]="'none'" *ngIf="schema2">
|
<sf #sf2 [compact]="true" [ui]="ui3" [schema]="schema2" [button]="'none'" *ngIf="schema2">
|
||||||
|
<ng-template sf-template="agreeImg" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<img height="104" src="/assets/images/jopcard.png" class="borderImg" />
|
||||||
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
<img class="drivercard" height="104" src="/assets/images/drivercard.png" />
|
|
||||||
<img class="jopcard" height="104" src="/assets/images/jopcard.png" />
|
|
||||||
<!-- <div class="example" (click)="showExample()">
|
<!-- <div class="example" (click)="showExample()">
|
||||||
查看示例
|
查看示例
|
||||||
<div class="popBox" *ngIf="showCardFlag">
|
<div class="popBox" *ngIf="showCardFlag">
|
||||||
|
|||||||
@ -29,13 +29,13 @@
|
|||||||
}
|
}
|
||||||
.drivercard{
|
.drivercard{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 710px;
|
||||||
left: 330px;
|
left: 330px;
|
||||||
border: solid 1px #ebf0fb;
|
border: solid 1px #ebf0fb;
|
||||||
}
|
}
|
||||||
.jopcard{
|
.jopcard{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 79%;
|
top: 1115px;
|
||||||
left: 330px;
|
left: 330px;
|
||||||
border: solid 1px #ebf0fb;
|
border: solid 1px #ebf0fb;
|
||||||
}
|
}
|
||||||
@ -47,5 +47,11 @@
|
|||||||
color: black;
|
color: black;
|
||||||
resize:none;
|
resize:none;
|
||||||
}
|
}
|
||||||
|
.setCustom .ant-form-item-control{
|
||||||
|
margin-left: -100px !important
|
||||||
|
}
|
||||||
|
.borderImg{
|
||||||
|
border: solid 1px #ebf0fb;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -22,6 +22,8 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
record: any = {};
|
record: any = {};
|
||||||
i: any;
|
i: any;
|
||||||
ui: SFUISchema = {};
|
ui: SFUISchema = {};
|
||||||
|
ui2: SFUISchema = {};
|
||||||
|
ui3: SFUISchema = {};
|
||||||
schema: SFSchema = {};
|
schema: SFSchema = {};
|
||||||
schema1: SFSchema = {};
|
schema1: SFSchema = {};
|
||||||
schema2: SFSchema = {};
|
schema2: SFSchema = {};
|
||||||
@ -88,7 +90,7 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
title: '',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
offsetControl: 6,
|
offsetControl: 6,
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -104,7 +106,18 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
console.log(args.file.response.data.fullFilePath);
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/certificatePhotoFrontWatermark', avatar);
|
||||||
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath;
|
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath;
|
||||||
this.checkIdCard(args.file.response.data.fullFilePath, 'front', 0);
|
this.checkIdCard(args.file.response.data.fullFilePath, 'front', 0);
|
||||||
}
|
}
|
||||||
@ -137,7 +150,7 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
title: '',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
offsetControl: 6,
|
offsetControl: 6,
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -153,6 +166,18 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/certificatePhotoBackWatermark', avatar);
|
||||||
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath;
|
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath;
|
||||||
this.checkIdCard(args.file.response.data.fullFilePath, 'back', 0);
|
this.checkIdCard(args.file.response.data.fullFilePath, 'back', 0);
|
||||||
}
|
}
|
||||||
@ -234,7 +259,7 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '驾驶证照片',
|
title: '驾驶证照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -250,6 +275,18 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf1?.setValue('/certificatePhotoWatermark', avatar);
|
||||||
this.detailData.userDriverLicenseDTO.certificatePhoto = args.file.response.data.fullFilePath;
|
this.detailData.userDriverLicenseDTO.certificatePhoto = args.file.response.data.fullFilePath;
|
||||||
this.checkDriverCard(args.file.response.data.fullFilePath, 'front', 0);
|
this.checkDriverCard(args.file.response.data.fullFilePath, 'front', 0);
|
||||||
} else {
|
} else {
|
||||||
@ -271,6 +308,14 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
// previewFile: (file: NzUploadFile) => of(file.url),
|
// previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
roadImg: {
|
||||||
|
title: '',
|
||||||
|
type: 'boolean',
|
||||||
|
// enum: [{ label: '长期', value: true }],
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
}
|
||||||
|
},
|
||||||
licenseNo: {
|
licenseNo: {
|
||||||
title: '驾驶证号',
|
title: '驾驶证号',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@ -351,7 +396,7 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
title: '',
|
title: '',
|
||||||
ui: {
|
ui: {
|
||||||
offsetControl: 6,
|
offsetControl: 6,
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -367,6 +412,18 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf2?.setValue('/certificatePhotoWatermark', avatar);
|
||||||
this.detailData.userPracticeSeniorityDTO.certificatePhoto = args.file.response.data.fullFilePath;
|
this.detailData.userPracticeSeniorityDTO.certificatePhoto = args.file.response.data.fullFilePath;
|
||||||
this.checkQualificationCertificate(args.file.response.data.fullFilePath);
|
this.checkQualificationCertificate(args.file.response.data.fullFilePath);
|
||||||
} else {
|
} else {
|
||||||
@ -385,7 +442,15 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
previewFile: (file: NzUploadFile) => of()
|
// previewFile: (file: NzUploadFile) => of()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
agreeImg: {
|
||||||
|
title: '',
|
||||||
|
type: 'boolean',
|
||||||
|
// enum: [{ label: '长期', value: true }],
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
licenseNo: {
|
licenseNo: {
|
||||||
@ -476,6 +541,40 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
grid: { span: 3 }
|
grid: { span: 3 }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this.ui2 = {
|
||||||
|
'*': {
|
||||||
|
spanLabelFixed: 180,
|
||||||
|
grid: { span: 18 },
|
||||||
|
width: 600,
|
||||||
|
},
|
||||||
|
$titleB:{
|
||||||
|
grid: { span: 24 },
|
||||||
|
},
|
||||||
|
$certificatePhotoWatermark: {
|
||||||
|
grid: { span: 12 },
|
||||||
|
},
|
||||||
|
$roadImg: {
|
||||||
|
grid: { span: 4 },
|
||||||
|
class: 'setCustom'
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.ui3 = {
|
||||||
|
'*': {
|
||||||
|
spanLabelFixed: 180,
|
||||||
|
grid: { span: 18 },
|
||||||
|
width: 600,
|
||||||
|
},
|
||||||
|
$titleC:{
|
||||||
|
grid: { span: 24 },
|
||||||
|
},
|
||||||
|
$certificatePhotoWatermark: {
|
||||||
|
grid: { span: 12 },
|
||||||
|
},
|
||||||
|
$agreeImg: {
|
||||||
|
grid: { span: 4 },
|
||||||
|
class: 'setCustom'
|
||||||
|
},
|
||||||
|
};
|
||||||
}
|
}
|
||||||
getRegionToThree() {
|
getRegionToThree() {
|
||||||
// 获取一、二、三级地区详情
|
// 获取一、二、三级地区详情
|
||||||
@ -547,7 +646,7 @@ export class CarSettleAddDriverComponent implements OnInit {
|
|||||||
if (side === 'front') {
|
if (side === 'front') {
|
||||||
// 正面
|
// 正面
|
||||||
this.sf1.setValue('/licenseNo', res.number);
|
this.sf1.setValue('/licenseNo', res.number);
|
||||||
this.sf1.setValue('/driverModel', [res.classType.toUpperCase()]);
|
this.sf1.setValue('/driverModel', [res.classType?.toUpperCase()]);
|
||||||
this.sf1.setValue('/validStartTime', res.validFrom);
|
this.sf1.setValue('/validStartTime', res.validFrom);
|
||||||
this.sf1.setValue('/validEndTime', res.validTo);
|
this.sf1.setValue('/validEndTime', res.validTo);
|
||||||
this.sf1.setValue('/signingOrganization', res.issuingAuthority);
|
this.sf1.setValue('/signingOrganization', res.issuingAuthority);
|
||||||
|
|||||||
@ -102,7 +102,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '车头照照片',
|
title: '车头照照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -118,6 +118,19 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
console.log(args);
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/carFrontPhotoWatermark', avatar);
|
||||||
this.detailData.carFrontPhoto = args.file.response.data.fullFilePath
|
this.detailData.carFrontPhoto = args.file.response.data.fullFilePath
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -129,11 +142,15 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
console.log(_fileList)
|
||||||
|
|
||||||
observer.next(isLt2M);
|
observer.next(isLt2M);
|
||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
previewFile: (file: NzUploadFile) => of(file.url),
|
// previewFile: (file: NzUploadFile) => of(
|
||||||
|
// file?.response?.data?.fullFilePath
|
||||||
|
// ),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
carNo: {
|
carNo: {
|
||||||
@ -215,7 +232,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '挂靠协议',
|
title: '挂靠协议',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -231,6 +248,18 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/carProtocalWatermark', avatar);
|
||||||
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
|
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -277,7 +306,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '行驶证首页照片',
|
title: '行驶证首页照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -293,6 +322,18 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/certificatePhotoFrontWatermark', avatar);
|
||||||
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
|
this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath
|
||||||
this.checkCarCard(args.file.response.data.fullFilePath, 'front');
|
this.checkCarCard(args.file.response.data.fullFilePath, 'front');
|
||||||
} else {
|
} else {
|
||||||
@ -311,7 +352,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
previewFile: (file: NzUploadFile) => of(file.url),
|
// previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tipsB: {
|
tipsB: {
|
||||||
@ -326,7 +367,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '行驶证副页照片',
|
title: '行驶证副页照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -342,6 +383,18 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/certificatePhotoBackWatermark', avatar);
|
||||||
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath
|
this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath
|
||||||
this.checkCarCard(args.file.response.data.fullFilePath, 'back');
|
this.checkCarCard(args.file.response.data.fullFilePath, 'back');
|
||||||
} else {
|
} else {
|
||||||
@ -360,7 +413,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
previewFile: (file: NzUploadFile) => of(file.url),
|
// previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
driverLicenseRegisterTime: {
|
driverLicenseRegisterTime: {
|
||||||
@ -444,7 +497,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
title: '道运证照片',
|
title: '道运证照片',
|
||||||
ui: {
|
ui: {
|
||||||
action: apiConf.fileUpload,
|
action: apiConf.waterFileUpload,
|
||||||
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
accept: 'image/png,image/jpeg,image/jpg,image/gif',
|
||||||
limit: 1,
|
limit: 1,
|
||||||
limitFileCount: 1,
|
limitFileCount: 1,
|
||||||
@ -460,6 +513,18 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
listType: 'picture-card',
|
listType: 'picture-card',
|
||||||
change: (args: any) => {
|
change: (args: any) => {
|
||||||
if (args.type === 'success') {
|
if (args.type === 'success') {
|
||||||
|
const avatar = [
|
||||||
|
{
|
||||||
|
uid: -1,
|
||||||
|
name: 'LOGO',
|
||||||
|
status: 'done',
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
response: {
|
||||||
|
url: args.file.response.data.fullFileWatermarkPath,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.sf?.setValue('/roadTransportPhotoWatermark', avatar);
|
||||||
this.detailData.roadTransportPhoto = args.file.response.data.fullFilePath
|
this.detailData.roadTransportPhoto = args.file.response.data.fullFilePath
|
||||||
this.checkTransCard(args.file.response.data.fullFilePath);
|
this.checkTransCard(args.file.response.data.fullFilePath);
|
||||||
} else {
|
} else {
|
||||||
@ -478,7 +543,7 @@ export class CarSettleCarauthComponent implements OnInit {
|
|||||||
observer.complete();
|
observer.complete();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
previewFile: (file: NzUploadFile) => of(file.url),
|
// previewFile: (file: NzUploadFile) => of(file.url),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
roadImg: {
|
roadImg: {
|
||||||
|
|||||||
@ -247,7 +247,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
<nz-modal [(nzVisible)]="isVisible" nzWidth="1000px" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<div *ngIf="!modalcontent">暂无附件信息</div>
|
<div *ngIf="!modalcontent">暂无附件信息</div>
|
||||||
<div [innerHTML]="modalcontent"></div>
|
<div [innerHTML]="modalcontent"></div>
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<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]="false" (click)="search()" acl [acl-ability]="['WAYBILL-BULK-search']">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="search()" acl [acl-ability]="['WAYBILL-BULK-search']">查询</button>
|
||||||
<button nz-button nzType="primary" [disabled]="false" acl [acl-ability]="['WAYBILL-BULK-export']">导出</button>
|
<button nz-button nzType="primary" [disabled]="false" acl [acl-ability]="['WAYBILL-BULK-export']" (click)="exprot()">导出</button>
|
||||||
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
|||||||
@ -372,6 +372,8 @@ export class WaybillManagementBulkComponent implements OnInit {
|
|||||||
console.log(e);
|
console.log(e);
|
||||||
if (e >= 1) {
|
if (e >= 1) {
|
||||||
this.resourceStatus = e + 1;
|
this.resourceStatus = e + 1;
|
||||||
|
} else {
|
||||||
|
this.resourceStatus = 0
|
||||||
}
|
}
|
||||||
this.initST();
|
this.initST();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@ -473,4 +475,12 @@ export class WaybillManagementBulkComponent implements OnInit {
|
|||||||
this.getGoodsSourceStatistical()
|
this.getGoodsSourceStatistical()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// 导出
|
||||||
|
exprot() {
|
||||||
|
this.service.request(this.service.$api_asyncExportBulkList, this.reqParams).subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('导出成功,请去下载中心下载!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-12-03 15:31:52
|
* @Date: 2021-12-03 15:31:52
|
||||||
* @LastEditTime : 2022-03-24 13:49:56
|
* @LastEditTime : 2022-03-29 11:10:08
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.html
|
||||||
@ -227,7 +227,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
<nz-modal [(nzVisible)]="isVisible" nzWidth="1000px" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
||||||
<ng-container *nzModalContent>
|
<ng-container *nzModalContent>
|
||||||
<div *ngIf="!modalcontent">暂无附件信息</div>
|
<div *ngIf="!modalcontent">暂无附件信息</div>
|
||||||
<div [innerHTML]="modalcontent"></div>
|
<div [innerHTML]="modalcontent"></div>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-12-03 11:10:14
|
* @Date: 2021-12-03 11:10:14
|
||||||
* @LastEditTime : 2022-03-24 17:32:49
|
* @LastEditTime : 2022-03-28 11:15:15
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle\\vehicle.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle\\vehicle.component.html
|
||||||
@ -31,7 +31,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.expend-options]="_$expand" class="text-right">
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.expend-options]="_$expand" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="false" (click)="search()" acl [acl-ability]="['WAYBILL-VEHICLE-search']">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="search()" acl [acl-ability]="['WAYBILL-VEHICLE-search']">查询</button>
|
||||||
<button nz-button nzType="primary" [disabled]="false" acl [acl-ability]="['WAYBILL-VEHICLE-export']">导出</button>
|
<button nz-button nzType="primary" [disabled]="false" acl [acl-ability]="['WAYBILL-VEHICLE-export']" (click)="exprot()">导出</button>
|
||||||
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
|||||||
@ -35,10 +35,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
compolatelQuantity: 0,
|
compolatelQuantity: 0,
|
||||||
deltQuantity: 0
|
deltQuantity: 0
|
||||||
};
|
};
|
||||||
constructor(
|
constructor(public service: WaybillManagementServe, private modal: NzModalService, public shipperservice: ShipperBaseService) {}
|
||||||
public service: WaybillManagementServe,
|
|
||||||
private modal: NzModalService,
|
|
||||||
public shipperservice: ShipperBaseService) { }
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询参数
|
* 查询参数
|
||||||
@ -55,8 +52,8 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
...params,
|
...params,
|
||||||
createTime: {
|
createTime: {
|
||||||
start: this.sf?.value?.createTime?.[0] || '',
|
start: this.sf?.value?.createTime?.[0] || '',
|
||||||
end: this.sf?.value?.createTime?.[1] || '',
|
end: this.sf?.value?.createTime?.[1] || ''
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
get selectedRows() {
|
get selectedRows() {
|
||||||
@ -103,11 +100,11 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
searchLoadingText: '搜索中...',
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
onSearch: (q: any) => {
|
onSearch: (q: any) => {
|
||||||
let str =q.replace(/^\s+|\s+$/g,"");
|
let str = q.replace(/^\s+|\s+$/g, '');
|
||||||
if (str) {
|
if (str) {
|
||||||
return this.service
|
return this.service
|
||||||
.request(this.service.$api_enterpriceList, { enterpriseName: str})
|
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||||
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||||
.toPromise();
|
.toPromise();
|
||||||
} else {
|
} else {
|
||||||
return of([]);
|
return of([]);
|
||||||
@ -116,7 +113,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
change: (q: any) => {
|
change: (q: any) => {
|
||||||
this.getRegionCode(q);
|
this.getRegionCode(q);
|
||||||
}
|
}
|
||||||
} as SFSelectWidgetSchema,
|
} as SFSelectWidgetSchema
|
||||||
},
|
},
|
||||||
enterpriseProjectId: {
|
enterpriseProjectId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@ -126,7 +123,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
placeholder: '请先选择货主',
|
placeholder: '请先选择货主',
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
_$expand: (value: boolean) => value
|
_$expand: (value: boolean) => value
|
||||||
},
|
}
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema
|
||||||
},
|
},
|
||||||
loadingPlace: {
|
loadingPlace: {
|
||||||
@ -171,8 +168,8 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
_$expand: (value: boolean) => value,
|
_$expand: (value: boolean) => value
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
paymentstatus: {
|
paymentstatus: {
|
||||||
@ -242,7 +239,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
_$expand: (value: boolean) => value
|
_$expand: (value: boolean) => value
|
||||||
}
|
}
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
type: 'object'
|
type: 'object'
|
||||||
};
|
};
|
||||||
@ -328,7 +325,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
title: '收款人',
|
title: '收款人',
|
||||||
className: 'text-left',
|
className: 'text-left',
|
||||||
width: '200px',
|
width: '200px',
|
||||||
render: 'payeeName',
|
render: 'payeeName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '装卸货时间',
|
title: '装卸货时间',
|
||||||
@ -352,13 +349,13 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
text: '确认发车',
|
text: '确认发车',
|
||||||
click: _record => this.sureDepart(_record),
|
click: _record => this.sureDepart(_record),
|
||||||
iif: item => item.wayBillStatus == '2',
|
iif: item => item.wayBillStatus == '2',
|
||||||
acl: { ability: ['WAYBILL-VEHICLE-wholeStartCarInfo'] },
|
acl: { ability: ['WAYBILL-VEHICLE-wholeStartCarInfo'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '确认到车',
|
text: '确认到车',
|
||||||
click: _record => this.sureArrive(_record),
|
click: _record => this.sureArrive(_record),
|
||||||
iif: item => item.wayBillStatus == '3',
|
iif: item => item.wayBillStatus == '3',
|
||||||
acl: { ability: ['WAYBILL-VEHICLE-wholeUnloadCarInfo'] },
|
acl: { ability: ['WAYBILL-VEHICLE-wholeUnloadCarInfo'] }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -389,7 +386,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
search() {
|
search() {
|
||||||
this.st?.load(1);
|
this.st?.load(1);
|
||||||
this.getGoodsSourceStatistical()
|
this.getGoodsSourceStatistical();
|
||||||
}
|
}
|
||||||
selectChange(e: number) {
|
selectChange(e: number) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
@ -402,7 +399,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
/**
|
/**
|
||||||
* 导入货源
|
* 导入货源
|
||||||
*/
|
*/
|
||||||
importGoodsSource() { }
|
importGoodsSource() {}
|
||||||
/**
|
/**
|
||||||
*查看评价
|
*查看评价
|
||||||
*/
|
*/
|
||||||
@ -421,7 +418,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
deltQuantity: 0
|
deltQuantity: 0
|
||||||
};
|
};
|
||||||
const params: any = Object.assign({}, this.reqParams || {});
|
const params: any = Object.assign({}, this.reqParams || {});
|
||||||
delete params.wayBillStatus
|
delete params.wayBillStatus;
|
||||||
this.service.request(this.service.$api_get_getWholeStatistics, params).subscribe(res => {
|
this.service.request(this.service.$api_get_getWholeStatistics, params).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
let totalCount = 0;
|
let totalCount = 0;
|
||||||
@ -446,9 +443,9 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
this.tabs.deltQuantity = ele?.count;
|
this.tabs.deltQuantity = ele?.count;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
totalCount += ele.count
|
totalCount += ele.count;
|
||||||
});
|
});
|
||||||
this.tabs.totalQuantity = totalCount
|
this.tabs.totalQuantity = totalCount;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -467,7 +464,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
modalRef.afterClose.subscribe((result: any) => {
|
modalRef.afterClose.subscribe((result: any) => {
|
||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
this.getGoodsSourceStatistical()
|
this.getGoodsSourceStatistical();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 确认到车
|
// 确认到车
|
||||||
@ -484,7 +481,15 @@ export class WaybillManagementVehicleComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
modalRef.afterClose.subscribe((result: any) => {
|
modalRef.afterClose.subscribe((result: any) => {
|
||||||
this.st.load(1);
|
this.st.load(1);
|
||||||
this.getGoodsSourceStatistical()
|
this.getGoodsSourceStatistical();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 导出
|
||||||
|
exprot() {
|
||||||
|
this.service.request(this.service.$api_asyncExportWholeList, this.reqParams).subscribe((res: any) => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('导出成功,请去下载中心下载!');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { WaybillManagementBulkComponent } from './../components/bulk/bulk.compon
|
|||||||
/*
|
/*
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-12-07 14:52:29
|
* @Date: 2021-12-07 14:52:29
|
||||||
* @LastEditTime : 2022-03-24 15:17:57
|
* @LastEditTime : 2022-03-28 11:13:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\services\\waybill-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\services\\waybill-management.service.ts
|
||||||
@ -61,6 +61,11 @@ export class WaybillManagementServe extends BaseService {
|
|||||||
$api_get_getAppDriverPosition = `/api/sdc/wayBillOperate/getAppDriverPosition`;
|
$api_get_getAppDriverPosition = `/api/sdc/wayBillOperate/getAppDriverPosition`;
|
||||||
// 获取货主企业列表
|
// 获取货主企业列表
|
||||||
public $api_enterpriceList = '/api/mdc/cuc/enterpriseInfo/operate/enterpriceList';
|
public $api_enterpriceList = '/api/mdc/cuc/enterpriseInfo/operate/enterpriceList';
|
||||||
|
|
||||||
|
// 异步导出运营后台大宗运单列表
|
||||||
|
public $api_asyncExportBulkList = '/api/sdc/wayBillOperate/asyncExportBulkList';
|
||||||
|
// 异步导出运营后台整车运单列表
|
||||||
|
public $api_asyncExportWholeList = '/api/sdc/wayBillOperate/asyncExportWholeList';
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
super(injector);
|
super(injector);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@ export class DictSelectComponent implements OnInit, ControlValueAccessor {
|
|||||||
@Input() containsAllLabel = true; // 是否包含全部这一选项
|
@Input() containsAllLabel = true; // 是否包含全部这一选项
|
||||||
@Input() mode: 'multiple' | 'tags' | 'default' = 'default';
|
@Input() mode: 'multiple' | 'tags' | 'default' = 'default';
|
||||||
|
|
||||||
constructor(public service: DictSelectService, public cdr: ChangeDetectorRef) {}
|
constructor(public service: DictSelectService, public cdr: ChangeDetectorRef) { }
|
||||||
|
|
||||||
writeValue(geo: string): void {
|
writeValue(geo: string): void {
|
||||||
if (geo == null) {
|
if (geo == null) {
|
||||||
@ -56,7 +56,6 @@ export class DictSelectComponent implements OnInit, ControlValueAccessor {
|
|||||||
if (this.dictList.length > 0 && this.containsAllLabel !== false) {
|
if (this.dictList.length > 0 && this.containsAllLabel !== false) {
|
||||||
const obj = { label: '全部', value: '' };
|
const obj = { label: '全部', value: '' };
|
||||||
this.dictList.unshift(obj);
|
this.dictList.unshift(obj);
|
||||||
console.log(this.dictList);
|
|
||||||
}
|
}
|
||||||
this.cdr.markForCheck();
|
this.cdr.markForCheck();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-25 20:18:52
|
* @Date : 2022-01-25 20:18:52
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-03-21 14:14:06
|
* @LastEditTime : 2022-03-29 10:34:14
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\rebate-table\\rebate-table.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\rebate-table\\rebate-table.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -37,16 +37,15 @@
|
|||||||
</td>
|
</td>
|
||||||
<td nzWidth="220px" nzAlign="center" >
|
<td nzWidth="220px" nzAlign="center" >
|
||||||
<div >
|
<div >
|
||||||
<nz-select ngModel="lucy">
|
<nz-select style="min-width: 150px;" [(ngModel)]="item.gradeConfigId" >
|
||||||
<nz-option nzValue="jack" nzLabel="Jack154654564654"></nz-option>
|
<nz-option *ngFor="let item of grage" [nzValue]="item.id" [nzLabel]="item.gradeName"></nz-option>
|
||||||
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
|
|
||||||
</nz-select>
|
</nz-select>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td nzWidth="220px" nzAlign="center" >
|
<td nzWidth="220px" nzAlign="center" >
|
||||||
<div style=" margin-left: 26%">
|
<div style=" margin-left: 26%">
|
||||||
<nz-input-group nzPrefix="=">
|
<nz-input-group nzPrefix="=">
|
||||||
<nz-input-number [(ngModel)]="item.baserebateRate" [nzMin]="0" nzSize="small"
|
<nz-input-number [(ngModel)]="item.startAmount" [nzMin]="0" nzSize="small" (ngModelChange)="changeendAmount($event,i)"
|
||||||
>
|
>
|
||||||
</nz-input-number>
|
</nz-input-number>
|
||||||
</nz-input-group>
|
</nz-input-group>
|
||||||
@ -56,7 +55,7 @@
|
|||||||
<td nzWidth="220px" nzAlign="center" >
|
<td nzWidth="220px" nzAlign="center" >
|
||||||
<div style=" margin-left: 26%">
|
<div style=" margin-left: 26%">
|
||||||
<nz-input-group nzPrefix="<">
|
<nz-input-group nzPrefix="<">
|
||||||
<nz-input-number [(ngModel)]="item.blanketrebateRate" [nzMin]="0" nzSize="small" >
|
<nz-input-number [(ngModel)]="item.endAmount" [nzMin]="0" nzSize="small" >
|
||||||
</nz-input-number>
|
</nz-input-number>
|
||||||
</nz-input-group>
|
</nz-input-group>
|
||||||
</div>
|
</div>
|
||||||
@ -64,7 +63,7 @@
|
|||||||
<td nzWidth="220px" nzAlign="center" >
|
<td nzWidth="220px" nzAlign="center" >
|
||||||
<div style=" margin-left: 26%">
|
<div style=" margin-left: 26%">
|
||||||
<nz-input-group [nzAddOnAfter]="addOnAfterTemplate2">
|
<nz-input-group [nzAddOnAfter]="addOnAfterTemplate2">
|
||||||
<nz-input-number [(ngModel)]="item.baserebateRate" [nzMin]="0" nzSize="small"
|
<nz-input-number [(ngModel)]="item.managementFeeRatio" [nzMin]="0" nzSize="small"
|
||||||
>
|
>
|
||||||
</nz-input-number>
|
</nz-input-number>
|
||||||
</nz-input-group>
|
</nz-input-group>
|
||||||
|
|||||||
@ -1,87 +1,90 @@
|
|||||||
import { debounceTime } from 'rxjs/operators';
|
import { debounceTime } from 'rxjs/operators';
|
||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, Output, ViewChild } from '@angular/core';
|
||||||
import { BaseService } from '@shared';
|
import { BaseService } from '@shared';
|
||||||
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { EventEmitter} from '@angular/core'
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-rebate-table',
|
selector: 'app-rebate-table',
|
||||||
templateUrl: './rebate-table.component.html',
|
templateUrl: './rebate-table.component.html',
|
||||||
styleUrls: ['./rebate-table.component.less']
|
styleUrls: ['./rebate-table.component.less']
|
||||||
})
|
})
|
||||||
export class RebateTableComponent implements OnInit {
|
export class RebateTableComponent implements OnInit {
|
||||||
data: any[] = [];
|
@Input() data: any =[];
|
||||||
|
@Output()
|
||||||
|
private dataChange: EventEmitter<any> = new EventEmitter();
|
||||||
|
emit() {
|
||||||
|
this.dataChange.emit(this.data)
|
||||||
|
}
|
||||||
headers: any[] = [];
|
headers: any[] = [];
|
||||||
|
gradeConfigId: string ='';
|
||||||
|
grage: any[] = [];
|
||||||
formatterDollar = (value: number): string => `${value}`;
|
formatterDollar = (value: number): string => `${value}`;
|
||||||
changeSub = new Subject<string>();
|
changeSub = new Subject<string>();
|
||||||
constructor(public service: BaseService, private cdr: ChangeDetectorRef) {}
|
constructor(public service: BaseService, private cdr: ChangeDetectorRef) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
this.data = [
|
||||||
|
{
|
||||||
|
gradeConfigId: '',
|
||||||
|
startAmount: 0,
|
||||||
|
endAmount: 0,
|
||||||
|
managementFeeRatio: 0,
|
||||||
|
}
|
||||||
|
];
|
||||||
this.loadData();
|
this.loadData();
|
||||||
this.changeEndKmAction();
|
this.changeendAmountAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
loadData() {
|
loadData() {
|
||||||
this.service.request('/api/mdc/cuc/insuranceConfig/list').subscribe(res => {
|
this.service.request('/api/mdc/partnerGradeConfig/listPartnerGradeConfig').subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.data = res;
|
this.grage = res;
|
||||||
this.cdr.detectChanges();
|
this.cdr.detectChanges();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.service.request('/api/mdc/pbc/sysConfigItem/findItemValueByItemKeys', [
|
// this.service.request('/api/mdc/pbc/sysConfigItem/findItemValueByItemKeys', [
|
||||||
"rebate.config.minrebatePrice"
|
// "rebate.config.minrebatePrice"
|
||||||
]).subscribe(res => {
|
// ]).subscribe(res => {
|
||||||
if (res) {
|
// if (res) {
|
||||||
console.log(res);
|
// console.log(res);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改结束车长
|
|
||||||
* @param event 车长
|
|
||||||
* @param i 下标
|
|
||||||
*/
|
|
||||||
changeEndLength(event: any, i: number) {
|
|
||||||
if (event <= this.headers[i].startLength) {
|
|
||||||
this.headers[i].endLength = this.headers[i].startLength + 1;
|
|
||||||
this.changeNextStartLength(event, i + 1);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.headers[i].endLength = event;
|
|
||||||
this.changeNextStartLength(event, i + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改结束公里数
|
* 修改结束公里数
|
||||||
* @param event 车长
|
* @param event 车长
|
||||||
* @param i 下标
|
* @param i 下标
|
||||||
*/
|
*/
|
||||||
changeEndKm(event: any, i: number) {
|
changeendAmount(event: any, i: number) {
|
||||||
if (event) {
|
if (event) {
|
||||||
console.log(event);
|
console.log(event);
|
||||||
|
|
||||||
this.changeSub.next(`${event},${i}`);
|
this.changeSub.next(`${event},${i}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
changeEndKmAction() {
|
changeendAmountAction() {
|
||||||
this.changeSub.pipe(debounceTime(500)).subscribe((res: string) => {
|
this.changeSub.pipe(debounceTime(500)).subscribe((res: string) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
const paras = res.split(',');
|
const paras = res.split(',');
|
||||||
const num = Number(paras[0]);
|
const num = Number(paras[0]);
|
||||||
const i = Number(paras[1]);
|
const i = Number(paras[1]);
|
||||||
|
|
||||||
if (num <= this.data[i].startKm) {
|
if (num <= this.data[i]?.startAmount) {
|
||||||
this.data[i].endKm = null;
|
console.log(this.data[i].endAmount);
|
||||||
|
this.data[i].endAmount = null;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.data[i].endKm = this.data[i].startKm + 1 ;
|
this.data[i].endAmount = this.data[i]?.startAmount + 1 ;
|
||||||
}, 0);
|
}, 0);
|
||||||
this.changeNextStartKm(this.data[i].startKm + 1, i + 1);
|
this.changeNextstartAmount(this.data[i]?.startAmount + 1, i + 1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.data[i].endKm = num;
|
this.data[i].endAmount = num;
|
||||||
this.changeNextStartKm(num, i + 1);
|
this.changeNextstartAmount(num, i + 1);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -90,14 +93,14 @@ export class RebateTableComponent implements OnInit {
|
|||||||
console.log(this.data);
|
console.log(this.data);
|
||||||
|
|
||||||
const tem = this.data[this.data?.length - 1];
|
const tem = this.data[this.data?.length - 1];
|
||||||
if (tem && tem.endKm) {
|
if (tem) {
|
||||||
this.data.push({
|
this.data.push({
|
||||||
endKm: '',
|
gradeConfigId: '',
|
||||||
startKm: tem.endKm
|
startAmount: 0,
|
||||||
|
endAmount: 0,
|
||||||
|
managementFeeRatio: 0,
|
||||||
});
|
});
|
||||||
this.data = [...this.data];
|
this.data = [...this.data];
|
||||||
} else {
|
|
||||||
this.service.msgSrv.warning('请填写完整公里数');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,32 +128,18 @@ export class RebateTableComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 遍历同步后置位车长
|
|
||||||
* @param event 车长
|
|
||||||
* @param i 下标
|
|
||||||
*/
|
|
||||||
private changeNextStartLength(event: number, i: number) {
|
|
||||||
if (this.headers[i]) {
|
|
||||||
this.headers[i].startLength = event;
|
|
||||||
if (this.headers[i].endLength <= event) {
|
|
||||||
this.headers[i].endLength = this.headers[i].startLength + 0.5;
|
|
||||||
this.changeNextStartLength(event + 0.5, i + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 遍历同步后置位公里数
|
* 遍历同步后置位公里数
|
||||||
* @param event 车长
|
* @param event 车长
|
||||||
* @param i 下标
|
* @param i 下标
|
||||||
*/
|
*/
|
||||||
private changeNextStartKm(event: number, i: number) {
|
private changeNextstartAmount(event: number, i: number) {
|
||||||
if (this.data[i]) {
|
if (this.data[i]) {
|
||||||
this.data[i].startKm = event;
|
this.data[i].startAmount = event;
|
||||||
if (this.data[i].endKm <= event) {
|
if (this.data[i].endAmount <= event) {
|
||||||
this.data[i].endKm = this.data[i].startKm + 1;
|
this.data[i].endAmount = this.data[i].startAmount + 1;
|
||||||
this.changeNextStartKm(event + 1, i + 1);
|
this.changeNextstartAmount(event + 1, i + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -297,7 +297,7 @@ export class ShipperBaseService extends BaseService {
|
|||||||
map(res => {
|
map(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
return res.map((m: any) => {
|
return res.map((m: any) => {
|
||||||
return { label: `${m.employeeVO?.empName}/${m.employeeVO?.mobile}`, value: m.id };
|
return { label: `${m.employeeVO?.empName}/${m.employeeVO?.mobile}`, value: m.userAppId };
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@ -642,7 +642,12 @@
|
|||||||
"children": [{
|
"children": [{
|
||||||
"text": "数据报表",
|
"text": "数据报表",
|
||||||
"link": "/regulatory-data/dashboard"
|
"link": "/regulatory-data/dashboard"
|
||||||
}]
|
},
|
||||||
|
{
|
||||||
|
"text": "订单上报",
|
||||||
|
"link": "/datatable/reporting/order"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]
|
}]
|
||||||
|
|||||||
Reference in New Issue
Block a user