This commit is contained in:
Taric Xin
2022-05-06 10:38:22 +08:00
parent cb14f5f6cb
commit d3ab4611ba
19 changed files with 239 additions and 407 deletions

View File

@ -15,7 +15,8 @@ const alainConfig: AlainConfig = {
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, 200, 300, 500, 1000], toTop: false },
modal: { size: 'lg' }
modal: { size: 'lg' },
ps: 20
},
sf: { button: { search: '查询' } },
pageHeader: { homeI18n: 'home', recursiveBreadcrumb: true },
@ -27,7 +28,7 @@ const alainConfig: AlainConfig = {
'https://gw.alipayobjects.com/os/lib/antv/g2/4.1.4/dist/g2.min.js',
'https://gw.alipayobjects.com/os/lib/antv/data-set/0.11.7/dist/data-set.js'
]
},
}
};
const alainModules = [AlainThemeModule.forRoot(), DelonACLModule.forRoot()];

View File

@ -4,6 +4,23 @@ import { SearchDrawerService } from '@shared';
import { fromEvent, Subscription } from 'rxjs';
import { debounceTime } from 'rxjs/operators';
/**
* 列表基础组件
* 功能:
* 1、计算列表滚动高度scrollY
* 实现:
* 1、列表组件需继承BasicTableComponent并且提供SearchDrawerService派生类
* 2、引入commom-table.less 样式文件
* 3、列表使用table-box class包裹。组件会自动减去layout-pro-header、page-header-wrapper和nz-tabs-nav标签的高度以及header_box和height_box class的高度最后减去deviationHeight的偏移高度
* 2、提供筛选抽屉并返回sf实例sf
* 实现:
* 1、列表组件需继承BasicTableComponent并且提供SearchDrawerService派生类
* 2、实例化schema及给schema赋值sf配置
* 3、重写search()方法。当筛选抽屉触发查询时会调用这个方法
* 提供:
* 1、抽屉的sf实例
* 2、sf.value的数据=>sfValue
*/
@Component({
template: ''
})

View File

@ -1,39 +1,14 @@
<!--
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime : 2022-02-16 09:58:52
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\usercenter\\components\\driver\\captain\\captain.component.html
-->
<!-- 页头 -->
<page-header-wrapper></page-header-wrapper>
<!-- <page-header-wrapper></page-header-wrapper>
<nz-card>
<!-- 搜索区 -->
<!-- 搜索表单 -->
<div nz-row nzGutter="8">
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
</div>
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
<button
nz-button
nzType="primary"
[nzLoading]="service.http.loading"
(click)="st?.load(1)"
acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-list']"
>查询</button
>
<button
nz-button
nzType="primary"
[disabled]="false"
(click)="exportList()"
acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-export']"
>导出</button
>
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)" acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-list']">查询</button>
<button nz-button nzType="primary" [disabled]="false" (click)="exportList()" acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-export']">导出</button>
<button nz-button (click)="resetSF()" [disabled]="false">重置</button>
<button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }}
@ -41,23 +16,22 @@
</button>
</div>
</div>
</nz-card>
<nz-card>
<!-- 数据列表 -->
<!-- 工具栏 -->
<div class="toolbar" style="float: right;
padding-bottom: 15px;">
<button nz-button nzType="primary" (click)="add()">添加车队长</button>
</nz-card> -->
<nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 车队长列表</label>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-list']">筛选</button>
<button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-export']">
导出</button>
<button nz-button nzType="primary" (click)="add()" acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-add']">添加车队长</button>
</div>
<st
#st
[columns]="columns"
[data]="service.$api_get_user_expand"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="false"
>
</div>
<!-- 数据列表 -->
<st #st [columns]="columns" [data]="service.$api_get_user_expand" [req]="{ params: reqParams }"
[res]="{ process: dataProcess }" [page]="{ }" [loading]="false" [scroll]="{ x: '1200px',y:scrollY }">
<ng-template st-row="promotersTelephone" let-item let-index="index">
<a (click)="addPromoter(item)" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-promoter']">
{{ item.promotersTelephone || '添加' }}

View File

@ -3,29 +3,39 @@ import { ActivatedRoute, Router } from '@angular/router';
import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
import { ModalHelper } from '@delon/theme';
import { DynamicSettingModalComponent } from '@shared';
import { DynamicSettingModalComponent, SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { UsermanageService } from '../../../services/usercenter.service';
import { CtcCaptatinAddComponent } from './add/add.component';
@Component({
selector: 'app-usercenter-components-driver-captain',
templateUrl: './captain.component.html',
styleUrls: ['./captain.component.less']
styleUrls: ['../../../../commom/less/commom-table.less']
})
export class UserCenterComponentsDriverCaptainComponent implements OnInit {
_$expand = false;
ui: SFUISchema = { '*': { spanLabelFixed: 120, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } };
export class UserCenterComponentsDriverCaptainComponent extends BasicTableComponent implements OnInit {
schema: SFSchema = this.initSF();
columns: STColumn[] = this.initST();
@ViewChild('st', { static: false }) st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
@ViewChild('promoterModal', { static: false })
promoterModal!: any;
promotersTelephone = '';
constructor(public service: UsermanageService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute, private modalHelper: ModalHelper,) {}
constructor(
public service: UsermanageService,
private modal: NzModalService,
private router: Router,
private ar: ActivatedRoute,
private modalHelper: ModalHelper,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
search() {
this.st?.load(1);
}
/**
* 查询参数
@ -98,19 +108,6 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
});
}
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
exportList() {
const params = this.reqParams;
this.service.downloadFile(this.service.$api_export_driver_cap, { ...params, pageSize: -1 });
@ -146,10 +143,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
type: 'string',
maxLength: 11,
ui: {
placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
placeholder: '请输入'
}
},
identityStatus: {
@ -163,10 +157,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value
}
widget: 'select'
}
},
source: {
@ -176,14 +167,11 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
{ label: '全部', value: '' },
{ label: '用户注册', value: 1 },
{ label: '货主添加', value: 2 },
{ label: '运营添加', value: 3 },
{ label: '运营添加', value: 3 }
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value
}
widget: 'select'
}
}
}
@ -222,7 +210,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
this.router.navigate(['/usercenter/driver/captain/detail', item.appUserId]);
},
acl: { ability: ['USERCENTER-DRIVER-CAPTAIN-view'] }
},
}
// {
// text: '基础设置',
// click: item => this.settingAction(item),

View File

@ -1,16 +1,5 @@
<!--
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime : 2022-03-09 16:04:08
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\usercenter\\components\\driver\\driver-config\\driver-config.component.html
-->
<!-- 页头 -->
<page-header-wrapper></page-header-wrapper>
<!-- <page-header-wrapper></page-header-wrapper>
<nz-card>
<!-- 搜索区 -->
<!-- 搜索表单 -->
<div nz-row nzGutter="8">
<div nz-col [nzXl]=" 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
<sf #sf [schema]="schema" [ui]="{ '*': { spanLabelFixed: 120, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }" [compact]="true" [button]="'none'"></sf>
@ -21,17 +10,22 @@
<button nz-button nzType="primary" [disabled]="false" (click)="exportList()" acl
[acl-ability]="['USERCENTER-DRIVER-CONFIG-export']">导出</button>
<button nz-button (click)="resetSF()" [disabled]="false">重置</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-card> -->
<nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 司机配置</label>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['USERCENTER-DRIVER-CONFIG-search']">筛选</button>
<button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-DRIVER-CONFIG-export']">
导出</button>
</div>
</div>
<!-- 数据列表 -->
<st #st [columns]="columns" [scroll]="{ x: '1200px' }"[data]="service.$api_configPage" [req]="{ params: reqParams }"
[loading]="false" [page]={}>
<st #st [columns]="columns" [scroll]="{ x: '1200px',y:scrollY }" [data]="service.$api_configPage" [req]="{ params: reqParams }"
[loading]="false" [page]="{}">
<ng-template st-row="monthFreightAmount" let-item let-index="index">
<div>{{item?.monthFreightAmount | currency}}</div>
</ng-template>

View File

@ -2,21 +2,23 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFSchema } from '@delon/form';
import { DynamicSettingModalComponent } from '@shared';
import { DynamicSettingModalComponent, SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { UsermanageService } from '../../../services/usercenter.service';
@Component({
selector: 'app-usercenter-components-driver-config',
templateUrl: './driver-config.component.html',
styleUrls: ['./driver-config.component.less']
styleUrls: ['../../../../commom/less/commom-table.less']
})
export class UserCenterComponentsDriverConfigComponent implements OnInit {
export class UserCenterComponentsDriverConfigComponent extends BasicTableComponent implements OnInit {
schema: SFSchema = this.initSF();
columns: STColumn[] = this.initST();
@ViewChild('st', { static: false }) st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
constructor(public service: UsermanageService, private modal: NzModalService) {}
constructor(public service: UsermanageService, private modal: NzModalService, public searchDrawerService: SearchDrawerService) {
super(searchDrawerService);
}
/**
* 查询参数
@ -33,6 +35,10 @@ export class UserCenterComponentsDriverConfigComponent implements OnInit {
ngOnInit() {}
search() {
this.st?.load(1);
}
settingAction(item?: any) {
const modal = this.modal.create({
nzTitle: '配置',

View File

@ -32,7 +32,7 @@
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['USERCENTER-FREIGHT-USER-list']"
(click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="st?.load(1)" acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-export']">
<button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-export']">
导出</button>
</div>
</ng-template>

View File

@ -1,12 +0,0 @@
:host::ng-deep {
nz-range-picker {
width: 100%;
}
.content-box {
.ant-card-body {
padding-top: 6px;
}
}
}

View File

@ -22,7 +22,11 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen
resourceStatus: any = 0;
constructor(public service: UsermanageService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute,
constructor(
public service: UsermanageService,
private modal: NzModalService,
private router: Router,
private ar: ActivatedRoute,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
@ -32,7 +36,6 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen
this.st?.load(1);
}
ngOnInit() {
this.ar.url.subscribe(params => {
this.st?.load(1);
@ -114,6 +117,16 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen
});
}
exportList() {
const params = { certificationStatus: this.resourceStatus, pageSize: -1 };
if (this.sf) {
Object.assign(params, {
...this.sf?.value
});
}
this.service.downloadFile(this.service.$api_get_user_list_export, params);
}
private initSF(): SFSchema {
return {
properties: {
@ -157,7 +170,7 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen
],
default: '',
ui: {
widget: 'select',
widget: 'select'
}
},
promotersTelephone: {
@ -165,7 +178,7 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen
type: 'string',
maxLength: 11,
ui: {
placeholder: '请输入手机号',
placeholder: '请输入手机号'
}
},
effectiveDate: {
@ -174,7 +187,7 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen
ui: {
widget: 'date',
mode: 'range',
format: 'yyyy-MM-dd',
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema
}
}
@ -212,19 +225,19 @@ export class FreightComponentsUserComponent extends BasicTableComponent implemen
click: (item: any) => {
this.router.navigate(['./view', item.appUserId], { relativeTo: this.ar });
},
acl: { ability: ['USERCENTER-FREIGHT-USER-view'] },
acl: { ability: ['USERCENTER-FREIGHT-USER-view'] }
},
{
text: '冻结',
iif: item => item.stateLocked === 0,
click: (item: any) => this.userAction(0, [item.appUserId]),
acl: { ability: ['USERCENTER-FREIGHT-USER-lock'] },
acl: { ability: ['USERCENTER-FREIGHT-USER-lock'] }
},
{
text: '启用',
iif: item => item.stateLocked === 1,
click: (item: any) => this.userAction(1, [item.appUserId]),
acl: { ability: ['USERCENTER-FREIGHT-USER-lock'] },
acl: { ability: ['USERCENTER-FREIGHT-USER-lock'] }
}
]
}

View File

@ -49,6 +49,8 @@ export class UsermanageService extends ShipperBaseService {
// 货主员工列表(运营后台)
$api_get_user_list = '/api/mdc/cuc/userApp/getShipperUserInfoList';
// 货主员工列表(运营后台)
$api_get_user_list_export = '/api/mdc/cuc/userApp/getShipperUserInfoList';
// 冻结或恢复员工
$api_lock_staff = '/api/mdc/cuc/userApp/freezeOrResumeStaff';
// 冻结或恢复应用用户

View File

@ -1,26 +1,6 @@
<!--
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime : 2022-04-20 17:06:02
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\audit\\audit.component.html
-->
<!-- 页头 -->
<page-header-wrapper></page-header-wrapper>
<!-- <page-header-wrapper></page-header-wrapper>
<nz-card>
<!-- 搜索区 -->
<!-- 搜索表单 -->
<div nz-row nzGutter="8">
<!-- 查询字段小于或等于3个时不显示伸缩按钮 -->
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
<sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [disabled]="!sf?.valid" (formSubmit)="st?.load(1)"
(formReset)="resetSF()"></sf>
</div>
<!-- [loading]="false" -->
<!-- 查询字段大于3个时根据展开状态调整布局 -->
<ng-container *ngIf="queryFieldCount > 4">
<div nz-col [nzSpan]="_$expand ? 24 : 18">
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
@ -37,10 +17,10 @@
</div>
</ng-container>
</div>
</nz-card>
<nz-card>
<!-- 数据列表 -->
<!-- [data]="service.$api_get_supplier_page" -->
</nz-card> -->
<nz-card class="table-box">
<div class="tab_header">
<label class="page_title"><label class="driver">|</label>车辆审核列表</label>
<nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzSelectedIndex]='defaultTabs'
[nzTabBarExtraContent]="extraTemplate">
<nz-tab [nzTitle]="'全部'"></nz-tab>
@ -48,10 +28,23 @@
<nz-tab [nzTitle]="'审核通过'"></nz-tab>
<nz-tab [nzTitle]="'驳回'"></nz-tab>
</nz-tabset>
<st #st [bordered]="true" [scroll]="{ x: '1200px' }" [columns]="columns" [data]='service.$api_get_userCarLicense_list'
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false">
</div>
<ng-template #extraTemplate>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['VEHICLE-AUDIT-search']"
(click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="exportFire()" acl [acl-ability]="['VEHICLE-AUDIT-export']">
导出</button>
<button nz-button nzType="primary" (click)="addModal()" acl [acl-ability]="['VEHICLE-AUDIT-add']">添加车辆</button>
</div>
</ng-template>
<!-- 数据列表 -->
<!-- [data]="service.$api_get_supplier_page" -->
<st #st [bordered]="true" [scroll]="{ x: '1200px',y:scrollY }" [columns]="columns"
[data]='service.$api_get_userCarLicense_list' [req]="{ params: reqParams }" [res]="{ process: dataProcess }"
[page]="{ }" [loading]="false">
<ng-template st-row="carLength" let-item let-index="index">
<div>{{item?.carModel}}-{{item?.carLengthLabel? item?.carLengthLabel + '米' : ''}}-{{ item?.carLoad?
item?.carLoad + '吨' : ''}}</div>
@ -70,10 +63,3 @@
</ng-template>
</st>
</nz-card>
<ng-template #extraTemplate>
<!-- 工具栏 -->
<div class="toolbar" style="float: right;
padding-bottom: 15px;">
<button nz-button nzType="primary" (click)="addModal()">添加车辆</button>
</div>
</ng-template>

View File

@ -1,31 +0,0 @@
/*
* @Author: your name
* @Date: 2021-12-01 20:05:59
* @LastEditTime: 2021-12-01 20:35:33
* @LastEditors: your name
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\vehicle\components\list\list.component.spec.ts
*/
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { VehicleComponentsListComponent } from './list.component';
describe('VehicleComponentsListComponent', () => {
let component: VehicleComponentsListComponent;
let fixture: ComponentFixture<VehicleComponentsListComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [VehicleComponentsListComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(VehicleComponentsListComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -3,37 +3,32 @@ import { ActivatedRoute, Router } from '@angular/router';
import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { ModalHelper } from '@delon/theme';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { of, Subject } from 'rxjs';
import { map } from 'rxjs/operators';
import { BasicTableComponent } from 'src/app/routes/commom';
import { VehicleService } from '../../../vehicle/services/vehicle.service';
import { CarSettleCarauthComponent } from '../list/carauth/carauth.component';
@Component({
selector: 'app-Vehicle-components-audit',
templateUrl: './audit.component.html'
templateUrl: './audit.component.html',
styleUrls: ['../../../commom/less/commom-table.less']
})
export class VehicleComponentsAuditComponent implements OnInit {
_$expand = false;
export class VehicleComponentsAuditComponent extends BasicTableComponent implements OnInit {
resourceStatus: any = 1;
defaultTabs = 1;
ui!: SFUISchema;
schema!: SFSchema;
columns!: STColumn[];
@ViewChild('st', { static: false }) st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
constructor(
public service: VehicleService,
private modal: NzModalService,
private router: Router,
private ar: ActivatedRoute,
private modalHelper: ModalHelper
) {}
/**
* 查询字段个数navigate
*/
get queryFieldCount(): number {
return Object.keys(this.schema?.properties || {}).length;
private modalHelper: ModalHelper,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
/**
@ -65,6 +60,11 @@ export class VehicleComponentsAuditComponent implements OnInit {
this.st?.load(1);
});
}
search() {
this.st?.load(1);
}
dataProcess(data: STData[]): STData[] {
return data.map((i, index) => {
i.showSortFlag = false;
@ -101,9 +101,6 @@ export class VehicleComponentsAuditComponent implements OnInit {
return of([]);
}
},
visibleIf: {
_$expand: (value: boolean) => value
}
} as SFSelectWidgetSchema
},
carNoColor: {
@ -130,12 +127,7 @@ export class VehicleComponentsAuditComponent implements OnInit {
saveUser: {
type: 'string',
title: '录入人员',
ui: {
visibleIf: {
expand: (value: boolean) => value
}
}
},
// approvalStatus: {
// type: 'string',
// title: '审核状态',
@ -170,7 +162,6 @@ export class VehicleComponentsAuditComponent implements OnInit {
// }
}
};
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
}
initST() {
@ -228,20 +219,9 @@ export class VehicleComponentsAuditComponent implements OnInit {
daoyun(item: any) {
this.router.navigate(['./view', item], { relativeTo: this.ar });
}
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
creat() {
this.router.navigate(['./new'], { relativeTo: this.ar });
}
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
// 导出
exportFire() {
let params = Object.assign({}, this.reqParams || {});

View File

@ -43,8 +43,9 @@
</div>
</sf>
<img class="drivercard borderImg" height="104" src="/assets/images/vehicle/car.png" />
</div>
<div class="modal-footer">
<button nz-button type="button" (click)="close()">关闭</button>
<button nz-button type="button" nzType="primary" (click)="submitForm()" [disabled]="!(sf?.valid && i.flag !== 'view')" [nzLoading]="service.http.loading">确定</button>
<button nz-button type="button" nzType="primary" (click)="submitForm()"
[disabled]="!(sf?.valid && i.flag !== 'view')" [nzLoading]="service.http.loading">确定</button>
</div>

View File

@ -1,73 +1,9 @@
.sfBox {
position: relative;
.example {
position: absolute;
top: 215px;
right: 265px;
color: #1890ff;
cursor: pointer;
.popBox {
position: absolute;
top: -170px;
left: -125px;
width: 300px;
padding: 20px;
text-align: center;
background: #fff;
border: solid 1px #eee;
border-radius: 6px;
box-shadow: 0 1px 5px 1px #ececec;
&::before {
position: absolute;
bottom: -5px;
left: 50%;
width: 10px;
height: 10px;
margin-left: -5px;
background: #fff;
box-shadow: 0 1px 5px 1px #ececec;
transform: rotate(45deg);
content: '';
height : 550px;
overflow: auto;
}
&::after {
position: absolute;
bottom: 0;
left: 0;
z-index: 10;
width: 100%;
height: 10px;
background: #fff;
content: '';
}
img {
max-width: 100%;
max-height: 200px;
}
}
}
.positionSet{
top: 356px;
right: 235px;
}
.positionSet01{
top: 500px;
right: 200px;
}
.positionSet02{
top: 664px;
right: 265px;
}
.positionSet03{
top: 808px;
right: 205px;
}
}
.exaA{
position: absolute;
top: 0;
left: 300px
}
.pr {
position: relative;
}
@ -93,24 +29,15 @@
text-align : center;
}
}
.drivercard {
position: absolute;
top : 0;
left : 325px;
border : solid 1px #ebf0fb;
}
.jopcard{
position: absolute;
top: 1356px;
left: 330px;
border: solid 1px #ebf0fb;
}
.agreement{
position: absolute;
top: 425px;
left: 330px;
border: solid 1px #ebf0fb;
}
:host {
::ng-deep {
.ant-input-borderless {
@ -119,11 +46,23 @@
color : black;
resize : none;
}
.setCustom .ant-form-item-control{
.setCustom {
nz-form-item {
width: auto !important;
}
.ant-form-item-control {
margin-left: -100px !important
}
}
.borderImg {
border: solid 1px #ebf0fb;
}
nz-date-picker {
width: 100%;
}
}
}

View File

@ -658,7 +658,7 @@ export class CarSettleCarauthComponent implements OnInit {
grid: { span: 12 }
},
$agreeImg: {
grid: { span: 4 },
grid: { span: 3 },
class: 'setCustom'
},
$titleB: {

View File

@ -1,16 +1,5 @@
<!--
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime : 2022-02-17 17:25:34
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\list\\list.component.html
-->
<!-- 页头 -->
<page-header-wrapper></page-header-wrapper>
<!-- <page-header-wrapper></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>
@ -27,11 +16,20 @@
</button>
</div>
</div>
</nz-card>
<nz-card>
<!-- 数据列表 -->
</nz-card> -->
<nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 车辆列表</label>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['VEHICLE-LIST-search']">筛选</button>
<button nz-button nzDanger (click)="exportFire()" acl [acl-ability]="'VEHICLE-LIST-export'">
导出</button>
</div>
</div>
<st #st [bordered]="true" [scroll]="{ x: '1200px' }" [columns]="columns" [data]="service.$api_get_operate_list"
<!-- 数据列表 -->
<st #st [bordered]="true" [scroll]="{ x: '1200px',y:scrollY }" [columns]="columns" [data]="service.$api_get_operate_list"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false">

View File

@ -1,25 +1,29 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { STColumn, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal';
import { SFSchemaEnum, SFSelectWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
import { BasicTableComponent } from 'src/app/routes/commom';
import { VehicleService } from '../../../vehicle/services/vehicle.service';
@Component({
selector: 'app-Vehicle-components-list',
templateUrl: './list.component.html'
templateUrl: './list.component.html',
styleUrls: ['../../../commom/less/commom-table.less']
})
export class VehicleComponentsListComponent implements OnInit {
_$expand = false;
ui!: SFUISchema;
schema!: SFSchema;
export class VehicleComponentsListComponent extends BasicTableComponent implements OnInit {
columns!: STColumn[];
@ViewChild('st', { static: false }) st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
constructor(public service: VehicleService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute) {}
constructor(
public service: VehicleService,
private router: Router,
private ar: ActivatedRoute,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
/**
* 查询参数
@ -37,6 +41,10 @@ export class VehicleComponentsListComponent implements OnInit {
return params;
}
search() {
this.st?.load(1);
}
ngOnInit() {
this.initSF();
this.initST();
@ -109,10 +117,7 @@ export class VehicleComponentsListComponent implements OnInit {
ui: {
widget: 'dict-select',
params: { dictKey: 'car:model' },
containsAllLabel: true,
visibleIf: {
expand: (value: boolean) => value
}
containsAllLabel: true
}
},
carLength: {
@ -121,20 +126,12 @@ export class VehicleComponentsListComponent implements OnInit {
ui: {
widget: 'dict-select',
params: { dictKey: 'car:length' },
containsAllLabel: true,
visibleIf: {
expand: (value: boolean) => value
}
containsAllLabel: true
}
},
carLoad: {
title: '载重',
type: 'string',
ui: {
visibleIf: {
expand: (value: boolean) => value
}
}
type: 'string'
},
isSelf: {
type: 'string',
@ -145,10 +142,7 @@ export class VehicleComponentsListComponent implements OnInit {
],
ui: {
widget: 'select',
allowClear: true,
visibleIf: {
expand: (value: boolean) => value
}
allowClear: true
}
},
driverLicenseStatus: {
@ -162,10 +156,7 @@ export class VehicleComponentsListComponent implements OnInit {
default: '',
ui: {
widget: 'select',
allowClear: true,
visibleIf: {
expand: (value: boolean) => value
}
allowClear: true
}
},
roadTransportStatus: {
@ -178,12 +169,9 @@ export class VehicleComponentsListComponent implements OnInit {
],
ui: {
widget: 'select',
allowClear: true,
visibleIf: {
expand: (value: boolean) => value
allowClear: true
}
}
},
// isSelfs: {
// type: 'string',
// title: '是否入网',
@ -216,7 +204,6 @@ export class VehicleComponentsListComponent implements OnInit {
// },
}
};
this.ui = { '*': { spanLabelFixed: 130, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
}
initST() {
@ -292,20 +279,9 @@ export class VehicleComponentsListComponent implements OnInit {
}
];
}
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
creat() {
this.router.navigate(['./new'], { relativeTo: this.ar });
}
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
// 导出
exportFire() {
let params = Object.assign({}, this.reqParams || {});