车队长列表

This commit is contained in:
wangshiming
2021-11-30 20:38:56 +08:00
parent b1814a722f
commit 4d0627ff35
18 changed files with 623 additions and 2228 deletions

View File

@ -0,0 +1,83 @@
<!--
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-11-30 17:38:59
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\list.component.html
-->
<!-- 页头 -->
<page-header-wrapper [title]="'司机列表'"></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]="service.http.loading" -->
<!-- 查询字段大于3个时根据展开状态调整布局 -->
<ng-container *ngIf="queryFieldCount > 4">
<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" [nzLoading]="service.http.loading" (click)="st?.load(1)">导出</button>
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</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>
</ng-container>
</div>
</nz-card>
<nz-card>
<!-- 数据列表 -->
<!-- [data]="service.$api_get_supplier_page" -->
<st
#st
[bordered]="true"
[columns]="columns"
[data]='datalist'
[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] }"
[loadingDelay]="500"
[loading]="service.http.loading"
>
<ng-template st-row="enterpriseName" let-item let-index="index">
<div nz-tooltip [nzTooltipTitle]="item.enterpriseName">
<div
style="display: inline-block; max-width: 280px; margin: 0 auto; overflow: hidden; white-space: nowrap; text-overflow: ellipsis"
>
{{ item.enterpriseName }}
</div>
</div>
</ng-template>
<ng-template st-row="contactsPhone" let-item let-index="index">
<div
style="color: #52c41a;" (click)="daoyun(item)"
>
{{ item.contactsPhone }}
</div>
</ng-template>
<ng-template st-row="stateCol" let-item let-index="index">
<nz-tag *ngIf="item.stateLocked" nzColor="error">冻结</nz-tag>
<nz-tag *elseBlock nzColor="success">正常</nz-tag>
</ng-template>
</st>
</nz-card>

View File

@ -0,0 +1,31 @@
/*
* @Author: your name
* @Date: 2021-11-30 16:56:15
* @LastEditTime: 2021-11-30 20:36:30
* @LastEditors: Please set LastEditors
* @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.component.spec.ts
*/
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { UserCenterComponentsDriverCaptainComponent } from './captain.component';
describe('UserCenterComponentsDriverCaptainComponent', () => {
let component: UserCenterComponentsDriverCaptainComponent;
let fixture: ComponentFixture<UserCenterComponentsDriverCaptainComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [UserCenterComponentsDriverCaptainComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(UserCenterComponentsDriverCaptainComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,247 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal';
import { UsermanageService } from '../../../services/usercenter.service';
@Component({
selector: 'app-usercenter-components-driver-captain',
templateUrl: './captain.component.html',
})
export class UserCenterComponentsDriverCaptainComponent implements OnInit {
_$expand = false;
url = `/rule?_allow_anonymous=true`;
ui!: SFUISchema;
schema!: SFSchema;
columns!: STColumn[];
datalist = [
{
storeName: '企业名称',
contactsName: '152746565',
enterpriseName: '湖南',
unifiedSocialCreditCode: '45454',
contactsPhone: '*97889461561',
effectiveDateStr: '废弃eww',
enStatusStr2: '正常',
enStatusStr3: '正常',
unifiedSocialCreditCode3: '常用服务',
unifiedSocialCreditCode2: '正常',
tenantId: 1
},
{
storeName: '企业名称',
contactsName: '152746565',
enterpriseName: '湖南',
unifiedSocialCreditCode: '45454',
contactsPhone: '*97889461561',
effectiveDateStr: '废弃eww',
enStatusStr2: '正常',
enStatusStr3: '正常',
unifiedSocialCreditCode3: '常用服务',
unifiedSocialCreditCode2: '正常',
tenantId: 2
},
]
@ViewChild('st', { static: false }) st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
constructor(public service: UsermanageService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute) {}
/**
* 查询字段个数navigate
*/
get queryFieldCount(): number {
return Object.keys(this.schema?.properties || {}).length;
}
/**
* 查询参数
*/
get reqParams() {
const params: any = {
...(this.sf && this.sf.value),
};
if (this.sf?.value.effectiveDate) {
params.effectiveDateStart = this.sf?.value.effectiveDate[0];
params.effectiveDateEnd = this.sf?.value.effectiveDate[1];
}
delete params.effectiveDate;
delete params.expand;
return params;
}
get selectedRows() {
return this.st?.list.filter((item) => item.checked) || [];
}
ngOnInit() {
this.initSF();
this.initST();
this.ar.url.subscribe((params) => {
this.st?.load(1);
});
}
dataProcess(data: STData[]): STData[] {
return data.map((i, index) => {
i.showSortFlag = false;
return i;
});
}
initSF() {
this.schema = {
properties: {
expand: {
type: 'boolean',
ui: {
hidden: true,
},
},
storeName: { title: '司机姓名', type: 'string', ui: { showRequired: false } },
phone: {
title: '手机号',
type: 'string',
format: 'mobile',
maxLength: 11,
ui: {
placeholder: '请输入手机号',
},
},
enStatus: {
type: 'string',
title: '实名状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
},
},
enStatus2: {
type: 'string',
title: '驾驶证状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
},
},
enStatus23: {
type: 'string',
title: '从业资格证状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
},
},
phone2: {
title: '业务员手机号',
type: 'string',
format: 'mobile',
maxLength: 11,
ui: {
placeholder: '请输入手机号',
},
},
},
};
this.ui = { '*': { spanLabelFixed: 180, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
}
initST() {
this.columns = [
// { title: '', type: 'checkbox', className: 'text-center' },
{ title: '司机姓名', className: 'text-center', index: 'storeName' },
{ title: '手机号', className: 'text-center', index: 'contactsName' },
{ title: '承运总单量', className: 'text-center', render: 'enterpriseName' },
{ title: '当前车辆', className: 'text-center', index: 'unifiedSocialCreditCode' },
{ title: '实名认证状态', className: 'text-center', index: 'effectiveDateStr',
type: 'badge',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '驾驶证状态',
className: 'text-center',
index: 'enStatusStr2',
type: 'badge',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '从业资格证状态',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{ title: '推广业务员', className: 'text-center', index: 'unifiedSocialCreditCode2' },
{ title: '注册时间', className: 'text-center', index: 'unifiedSocialCreditCode3' },
{
title: '操作',
width: '170px',
className: 'text-center',
buttons: [
{
text: '查看',
click: (item) => {
this.router.navigate(['./detail', item.tenantId], { relativeTo: this.ar });
// this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } });
},
},
],
},
];
}
daoyun(item: any) {
this.router.navigate(['./view', item.tenantId], { 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;
}
}

View File

@ -1,6 +1,6 @@
<ng-container >
<!-- 页头 -->
<page-header-wrapper [logo]="logo" [action]="action" [content]="content">
<page-header-wrapper [logo]="logo" [title]="'司机详情'" [action]="action" [content]="content">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
@ -11,13 +11,13 @@
<img [src]="detailData?.shoppFeignVO?.logoUrl" />
<div style="flex: 1">
<div style="display: flex;">
<p style="padding-right: 80px; width: 400px;">深圳市xxxx科技有限公司{{ detailData?.shoppFeignVO?.publicity }}</p>
<nz-badge nzStatus="success" nzText="正常" *ngIf="detailData?.status === 0"></nz-badge>
<p style="padding-right: 80px; width: 400px;">张司机{{ detailData?.shoppFeignVO?.publicity }}</p>
<nz-badge nzStatus="success" nzText="正常" ></nz-badge>
<nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.status === 1"></nz-badge>
<nz-badge nzStatus="warning" nzText="废弃" *ngIf="detailData?.status === 2"></nz-badge>
</div>
<div style="display: flex;">
<p style="padding-right: 80px; width: 400px;">4545456655645{{ detailData?.shoppFeignVO?.introduction }}</p>
<p style="padding-right: 80px; width: 400px;">手机号1452454545{{ detailData?.shoppFeignVO?.introduction }}</p>
<p >认证时间2021-09-02 12.53.32</p>
</div>
<div>
@ -47,28 +47,6 @@
nzPopconfirmPlacement="bottomRight"
>
冻结
</button>
<button
[nzLoading]="service.http.loading"
nz-button
nzDanger
nz-popconfirm
[nzPopconfirmTitle]="Payfrozen"
(nzOnConfirm)="PayOrResume(0)"
nzPopconfirmPlacement="bottomRight"
>
开通支付权限
</button>
<button
[nzLoading]="service.http.loading"
nz-button
nzDanger
nz-popconfirm
[nzPopconfirmTitle]="Payenable"
(nzOnConfirm)="PayOrResume(1)"
nzPopconfirmPlacement="bottomRight"
>
关闭支付权限
</button>
</div>
</div>
@ -124,166 +102,173 @@
</div>
</div>
</ng-template>
<ng-template #Payenable>
<div class="ant-popover-message">
<i nz-icon="" nztheme="fill" class="anticon anticon-exclamation-circle ng-star-inserted">
<svg
viewBox="64 64 896 896"
focusable="false"
fill="currentColor"
width="1em"
height="1em"
class="ng-tns-c358-1487"
data-icon="exclamation-circle"
aria-hidden="true"
>
<path
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"
></path>
</svg>
</i>
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定关闭该企业支付权限吗?</div>
<div class="ant-popover-message-title ng-star-inserted">
停用后,该企业将被限制使用支付功能,请谨慎操作
</div>
</div>
</ng-template>
<ng-template #Payfrozen>
<div class="ant-popover-message">
<i nz-icon="" nztheme="fill" class="anticon anticon-exclamation-circle ng-star-inserted">
<svg
viewBox="64 64 896 896"
focusable="false"
fill="currentColor"
width="1em"
height="1em"
class="ng-tns-c358-1487"
data-icon="exclamation-circle"
aria-hidden="true"
>
<path
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"
></path>
</svg>
</i>
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定开通该企业支付权限吗?</div>
<div class="ant-popover-message-title ng-star-inserted">
启用后,该企业将恢复正常支付功能,请再次确认
</div>
</div>
</ng-template>
</page-header-wrapper>
<nz-card>
<sv-container col="3">
<sv-title>联系信息</sv-title>
<sv label="联系人">
<sv-container col="2">
<sv-title>实名认证信息</sv-title>
<sv label="姓名">
{{ detailData?.contactsName }}
</sv>
<sv label="联系人手机号">
<sv label="身份证号">
{{ detailData?.contactsPhone }}
</sv>
<sv label="联系人身份证号">
{{ detailData?.contactsPhone }}
</sv>
<sv label="企业授权函">
<!-- <app-imagelist [imgList]="detailData?.enterpriseQualificationCertificate"></app-imagelist> -->
</sv>
</sv-container>
<sv-container col="1">
<sv label="企业授权函">
<!-- <app-imagelist [imgList]="detailData?.enterpriseQualificationCertificate"></app-imagelist> -->
<div style="display: flex;">
<div style=" position: relative;
top: -65%;
left: 75%;">
<button nz-button nzType="default" nzDanger (click)="auditPass()">审核通过</button>
<button nz-button nzType="default" nzDanger (click)="auditNo()">驳回审核</button>
</div>
</div>
</sv>
</sv-container>
<nz-divider></nz-divider>
<sv-container col="3" class="mt16">
<sv-title>公司基本信息</sv-title>
<sv label="公司名称">
<sv-title>驾驶证信息</sv-title>
<sv label="驾驶证号">
{{ detailData?.enterpriseName }}
</sv>
<sv label="统一社会信用代码">
<sv label="准驾车型">
{{ detailData?.unifiedSocialCreditCode }}
</sv>
<sv label="公司类型">
<sv label="有效期起">
{{ detailData?.enterpriseType }}
</sv>
<sv label="注册资本">
</sv-container>
<sv-container col="2" class="mt16">
<sv label="有效期至">
{{ detailData?.registrationCapital }}
<span *ngIf="detailData?.registrationCapital">万元</span>
</sv>
<sv label="成立日期">
<sv label="驾驶证签发机关">
{{ detailData?.enterpriseRegistrationTime }}
</sv>
<sv label="营业期限">
<div *ngIf="!!detailData?.operatingStartTime && !!detailData?.operatingEndTime">
{{ detailData?.operatingStartTime }} 至 {{ detailData?.operatingEndTime }}
</div>
<div *ngIf="!detailData?.operatingStartTime && !detailData?.operatingEndTime">长期</div>
<div *ngIf="!!detailData?.operatingStartTime && !detailData?.operatingEndTime">{{ detailData?.operatingStartTime }} 至 长期</div>
</sv>
</sv-container>
<sv-container col="2" class="mt16">
<sv label="公司所在地" col="3">
{{ detailData?.enterpriseAddressCodeStr }}
</sv>
<sv label="公司详细地址">
{{ detailData?.enterpriseAddress }}
</sv>
</sv-container>
<sv-container col="2" class="mt16">
<sv label="公司实际经营所在地" col="3">
{{ detailData?.enterpriseAddressCodeStr }}
</sv>
<sv label="公司实际经营详细地址">
{{ detailData?.enterpriseAddress }}
</sv>
</sv-container>
<sv-container col="2" class="mt16">
<sv label="公司电话" col="3">
{{ detailData?.enterpriseAddressCodeStr }}
</sv>
<sv label="公司邮箱">
{{ detailData?.enterpriseAddress }}
</sv>
</sv-container>
<sv-container col="1" class="mt16">
<sv label="经营范围">
{{ detailData?.businessScope }}
</sv>
<sv label="营业执照">
<sv label="驾驶证照片">
<!-- <app-imagelist [imgList]="detailData?.enterpriseQualificationCertificate"></app-imagelist> -->
</sv>
</sv-container>
<sv-container col="3" class="mt16">
<sv-title>从业资格证信息</sv-title>
<sv label="从业资格证号">
{{ detailData?.businessScope }}
</sv>
<sv label="发证日期">
{{ detailData?.businessScope }}
</sv>
<sv label="有效期至">
{{ detailData?.businessScope }}
</sv>
</sv-container>
<sv-container col="1">
<sv label="从业资格证照片">
<!-- <app-imagelist [imgList]="detailData?.enterpriseQualificationCertificate"></app-imagelist> -->
<div style="display: flex;">
<div style="position: relative;
top: -65%;
left: 75%;">
<button nz-button nzType="default" nzDanger (click)="auditPass()">审核通过</button>
<button nz-button nzType="default" nzDanger (click)="auditNo()">驳回审核</button>
<button nz-button nzType="default" nzDanger (click)="auditNo()">修改</button>
</div>
</div>
</sv>
</sv-container>
<nz-divider></nz-divider>
<sv-container col="3" class="mt16">
<sv-title>法人信息</sv-title>
<sv label="法定代表人">
<sv-title>载具信息</sv-title>
<sv label="车牌号">
{{ detailData?.name }}
</sv>
<sv label="身份证号">
<sv label="车牌颜色">
{{ detailData?.certificateNumber }}
</sv>
<sv label="身份证有效期">
{{ detailData?.validStartTime }} -
{{ detailData?.validEndTime ? detailData?.validEndTime : '长期' }}
<sv label="车型">
{{ detailData?.validStartTime }}
</sv>
<sv label="身份证照" col="1">
<sv label="车长">
{{ detailData?.validStartTime }}
</sv>
<sv label="是否为当前车辆">
{{ detailData?.validStartTime }}
</sv>
<sv label="自有载具">
{{ detailData?.validStartTime }}
</sv>
<sv label="行驶证照片" col="1">
<!-- <app-imagelist [imgList]="detailData?.certificatePhoto"></app-imagelist> -->
</sv>
<sv label="道路运输证照片" col="1">
<!-- <app-imagelist [imgList]="detailData?.certificatePhoto"></app-imagelist> -->
</sv>
<sv label="车头照" col="1">
<!-- <app-imagelist [imgList]="detailData?.certificatePhoto"></app-imagelist> -->
</sv>
</sv-container>
<nz-divider></nz-divider>
<sv-container col="3" class="mt16">
<sv-title>银行结算信息</sv-title>
<sv label="开户名称">
<sv label="开户银行">
{{ detailData?.name }}
</sv>
<sv label="开户账户">
<sv label="银行卡号">
{{ detailData?.certificateNumber }}
</sv>
<sv label="开户支行">
{{ detailData?.validStartTime }}
</sv>
</sv-container>
<nz-divider></nz-divider>
<sv-container col="3" class="mt16">
<sv-title>服务评级</sv-title>
<sv label="服务评级">
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
</sv>
<sv label="运输效率">
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
</sv>
<sv label="运输安全">
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
</sv>
<sv label="服务质量">
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
</sv>
<sv label="客户满意度">
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
</sv>
<sv label="车辆整洁程度">
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
</sv>
</sv-container>
<div style="float: right;">
<button nz-button nzType="default" nzDanger (click)="auditNo()">修改</button>
</div>
</nz-card>
</ng-container>
<nz-modal [(nzVisible)]="isVisible" nzTitle="类型" (nzOnOk)="handleOK('suppliersType')">
<sf #sf1 [schema]="schema1" [ui]="ui" [compact]="false" [button]="'none'" [formData]="suppliersData"></sf>
<div *nzModalFooter>
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="审核通过" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('suppliersType')">
<ng-container *nzModalContent>
<sf #sf [schema]="schema" [ui]="ui" [compact]="false" [button]="'none'" [formData]="suppliersData"></sf>
</ng-container>
<ng-template #nzModalFooter>
<button nz-button nzType="default" (click)="handleCancel('suppliersType')">取消</button>
<button nz-button nzType="primary" (click)="handleOK('suppliersType')" [disabled]="!sf1.valid">确认</button>
</div>
<button nz-button nzType="primary" (click)="handleOK()" [disabled]="">确认</button>
</ng-template>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleNo" [nzFooter]="nzModalFooter2" nzTitle="审核驳回" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('suppliersTypeNo')">
<ng-container *nzModalContent>
<sf #sf2 [schema]="schema2" [ui]="ui2" [compact]="false" [button]="'none'" [formData]="suppliersData"></sf>
</ng-container>
<ng-template #nzModalFooter2>
<button nz-button nzType="default" (click)="handleCancel('suppliersTypeNo')">取消</button>
<button nz-button nzType="primary" (click)="handleOK()" [disabled]="">确认</button>
</ng-template>
</nz-modal>

View File

@ -7,20 +7,20 @@
* @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\detail\detail.component.spec.ts
*/
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { FreightComponentsListDetailComponent } from './detail.component';
import { UserCenterComponentsDriverDetailComponent } from './detail.component';
describe('FreightComponentsListDetailComponent', () => {
let component: FreightComponentsListDetailComponent;
let fixture: ComponentFixture<FreightComponentsListDetailComponent>;
describe('UserCenterComponentsDriverDetailComponent', () => {
let component: UserCenterComponentsDriverDetailComponent;
let fixture: ComponentFixture<UserCenterComponentsDriverDetailComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [FreightComponentsListDetailComponent],
declarations: [UserCenterComponentsDriverDetailComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(FreightComponentsListDetailComponent);
fixture = TestBed.createComponent(UserCenterComponentsDriverDetailComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

View File

@ -1,30 +1,33 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFTagWidgetSchema, SFTextWidgetSchema, SFUISchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { UsermanageService } from '../../../../services/usercenter.service';
import { UsermanageService } from '../../../services/usercenter.service';
@Component({
selector: 'app-supplier-components-list-view',
selector: 'app-usercenter-components-driver-detail',
templateUrl: './detail.component.html',
styleUrls: ['./detail.component.less'],
})
export class FreightComponentsListDetailComponent implements OnInit {
export class UserCenterComponentsDriverDetailComponent implements OnInit {
i: any;
url = `/rule?_allow_anonymous=true`;
@ViewChild('st', { static: false }) st!: STComponent;
detailData: any;
isShow = false;
isVisible = false;
isVisibleNo = false;
modalTitle = '有效期';
modalName = '';
ui!: SFUISchema;
schema!: SFSchema;
ui2!: SFUISchema;
schema2!: SFSchema;
@ViewChild('sf', { static: false }) sf!: SFComponent;
schema1!: SFSchema;
@ViewChild('sf1', { static: false }) sf1!: SFComponent;
@ViewChild('sf2', { static: false }) sf2!: SFComponent;
validData: any = ['suppliersType'];
suppliersData: any = {};
@ -41,7 +44,7 @@ export class FreightComponentsListDetailComponent implements OnInit {
console.log(this.route.snapshot);
// this.initData();
this.initSF();
this.initSF1();
this.initSFNo();
// this.launchSign();
}
/**
@ -65,44 +68,36 @@ export class FreightComponentsListDetailComponent implements OnInit {
};
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
}
initSF1() {
this.schema1 = {
initSFNo() {
this.schema2 = {
properties: {
_$expand: { type: 'boolean', ui: { hidden: true } },
suppliersType: {
'姓名': { type: 'number', ui: { widget: 'text', defaultText: '深圳市星链供应链云科技有限公' } as SFTextWidgetSchema },
roleDescription: {
title: '备注',
type: 'string',
title: '类型',
maxLength: 30,
ui: {
placeholder: '请输入地址',
widget: 'textarea',
},
},
like: {
type: 'number',
title: '可选理由',
enum: [
{ label: '非外部供应商', value: 0 },
{ label: '外部供应商', value: 1 },
{ value: 1, label: '电影' },
{ value: 2, label: '书' },
{ value: 3, label: '旅行' },
],
default: '',
ui: {
widget: 'select',
change: (args: any) => {
console.log(args, 'args');
this.suppliersData.suppliersType = args;
if (args === 1) {
this.validData = ['suppliersType', 'externalSuppliersId'];
} else {
this.validData = ['suppliersType'];
this.suppliersData.externalSuppliersId = '';
}
this.initSF1();
widget: 'tag',
} as SFTagWidgetSchema,
default: [1, 2],
},
},
},
externalSuppliersId: {
title: '外部供应商id',
type: 'string',
default: '',
ui: {
visibleIf: { suppliersType: (value: any) => value === 1 },
},
},
},
required: this.validData,
required: ['roleDescription'],
};
this.ui2 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
}
showModal(name: any) {
this.modalName = name;
@ -221,35 +216,45 @@ export class FreightComponentsListDetailComponent implements OnInit {
}
handleCancel(name: any) {
if (name === 'effectiveDate') {
this.isShow = false;
if (name === 'suppliersTypeNo') {
this.isVisibleNo = false;
} else {
this.isVisible = false;
}
}
handleOK(name: any) {
handleOK() {
const params: any = {
tenantId: this.route.snapshot.params.id,
// tenantId: this.route.snapshot.queryParams.tenantId,
};
if (name === 'effectiveDate') {
params.effectiveDate = this.sf?.value?.effectiveDate;
} else {
Object.assign(params, this.sf1?.value);
// if (name === 'effectiveDate') {
// params.effectiveDate = this.sf?.value?.effectiveDate;
// } else {
// Object.assign(params, this.sf1?.value);
// }
// this.service.http.post(this.service.$api_set_freezeOrResume, params).subscribe((res) => {
// if (res.data === true) {
// this.service.msgSrv.success(`编辑成功!`);
// this.ngOnInit();
// } else {
// this.service.msgSrv.error(res.msg || '编辑失败!');
// }
// if (name === 'effectiveDate') {
// this.isShow = false;
// } else {
// this.isVisible = false;
// }
// });
}
this.service.http.post(this.service.$api_set_freezeOrResume, params).subscribe((res) => {
if (res.data === true) {
this.service.msgSrv.success(`编辑成功!`);
this.ngOnInit();
} else {
this.service.msgSrv.error(res.msg || '编辑失败!');
auditPass() {
this.isVisible = true
}
if (name === 'effectiveDate') {
this.isShow = false;
} else {
this.isVisible = false;
auditNo() {
this.isVisibleNo = true
}
});
ratify() {
}
}

View File

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-11-30 17:18:22
* @LastEditTime: 2021-11-30 17:38:59
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\list.component.html
@ -33,7 +33,6 @@
<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" [nzLoading]="service.http.loading" (click)="creat()">新建</button>
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">导出</button>
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button>

View File

@ -96,24 +96,19 @@ export class UserCenterComponentsDriverComponent implements OnInit {
hidden: true,
},
},
storeName: { title: '企业名称', type: 'string', ui: { showRequired: false } },
contactsName: {
title: '联系人',
storeName: { title: '司机姓名', type: 'string', ui: { showRequired: false } },
phone: {
title: '手机号',
type: 'string',
format: 'mobile',
maxLength: 11,
ui: {
showRequired: false,
},
},
unifiedSocialCreditCode: {
title: '税源地',
type: 'string',
ui: {
showRequired: false,
placeholder: '请输入手机号',
},
},
enStatus: {
type: 'string',
title: '货主状态',
title: '实名状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
@ -130,7 +125,7 @@ export class UserCenterComponentsDriverComponent implements OnInit {
},
enStatus2: {
type: 'string',
title: 'CRM审核状态',
title: '驾驶证状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
@ -145,22 +140,46 @@ export class UserCenterComponentsDriverComponent implements OnInit {
},
},
},
enStatus23: {
type: 'string',
title: '从业资格证状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
},
},
phone2: {
title: '业务员手机号',
type: 'string',
format: 'mobile',
maxLength: 11,
ui: {
placeholder: '请输入手机号',
},
},
},
};
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
this.ui = { '*': { spanLabelFixed: 180, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
}
initST() {
this.columns = [
// { title: '', type: 'checkbox', className: 'text-center' },
{ title: '企业名称', className: 'text-center', index: 'storeName' },
{ title: '联系人', className: 'text-center', index: 'contactsName' },
{ title: '税源地', className: 'text-center', render: 'enterpriseName' },
{ title: '累计运单金额', className: 'text-center', index: 'unifiedSocialCreditCode' },
{ title: '道运证', className: 'text-center', index: 'contactsPhone',
render: 'contactsPhone'
},
{ title: '企业状态', className: 'text-center', index: 'effectiveDateStr',
{ title: '司机姓名', className: 'text-center', index: 'storeName' },
{ title: '手机号', className: 'text-center', index: 'contactsName' },
{ title: '承运总单量', className: 'text-center', render: 'enterpriseName' },
{ title: '当前车辆', className: 'text-center', index: 'unifiedSocialCreditCode' },
{ title: '实名认证状态', className: 'text-center', index: 'effectiveDateStr',
type: 'badge',
badge: {
: { text: '正常', color: 'success' },
@ -169,7 +188,7 @@ export class UserCenterComponentsDriverComponent implements OnInit {
},
},
{
title: 'CRM审核状态',
title: '驾驶证状态',
className: 'text-center',
index: 'enStatusStr2',
type: 'badge',
@ -180,7 +199,7 @@ export class UserCenterComponentsDriverComponent implements OnInit {
},
},
{
title: '代收权限',
title: '从业资格证状态',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
@ -190,8 +209,8 @@ export class UserCenterComponentsDriverComponent implements OnInit {
: { text: '废弃', color: 'default' },
},
},
{ title: '常用服务', className: 'text-center', index: 'unifiedSocialCreditCode3' },
{ title: '推广业务员', className: 'text-center', index: 'unifiedSocialCreditCode2' },
{ title: '注册时间', className: 'text-center', index: 'unifiedSocialCreditCode3' },
{
title: '操作',
width: '170px',

View File

@ -1,109 +0,0 @@
<page-header-wrapper [title]="'企业认证'"></page-header-wrapper>
<nz-card>
<ng-container>
<sf #sf1 [compact]="true" [ui]="ui" [schema]="schema1" [button]="'none'" [formData]="infoData1">
<ng-template sf-template="title1" let-me let-ui="ui" let-schema="schema">
<div class="form-title">营业执照基本信息</div>
</ng-template>
<ng-template sf-template="title2" let-me let-ui="ui" let-schema="schema">
<div class="form-title" style="margin-top: 40px">营业执照法人信息</div>
</ng-template>
<ng-template sf-template="tips" let-me let-ui="ui" let-schema="schema">
<div class="pr">
请上传营业执照原件的高清照片,若上传复印件,则需加盖公司印章;
<div>上传后系统会自动识别并填写</div>
</div>
</ng-template>
<ng-template sf-template="unit" let-me let-ui="ui" let-schema="schema">
<div class="pr">万元</div>
</ng-template>
<ng-template sf-template="tipsC" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<div>请上传身份证原件的高清照片,若上传复印件,则需申请人签字;</div>
<div>上传后系统会自动识别并填写</div>
</div>
</ng-template>
<ng-template sf-template="tipsA" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<dl class="tips">
<dt>正面照(人像面)</dt>
<dd>示例</dd>
</dl>
<div class="pa"><img width="190" src="/assets/images/eg01.png" /></div>
</div>
</ng-template>
<ng-template sf-template="tipsB" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<dl class="tips">
<dt>背面照(国徽面)</dt>
<dd>示例</dd>
</dl>
<div class="pa"><img width="190" src="/assets/images/eg02.png" /></div>
</div>
</ng-template>
</sf>
<sf #sf [compact]="true" [ui]="ui" [schema]="schema" [button]="'none'" [formData]="infoData">
<ng-template sf-template="title1" let-me let-ui="ui" let-schema="schema">
<div class="form-title">公司其他补充信息</div>
</ng-template>
<ng-template sf-template="title99" let-me let-ui="ui" let-schema="schema">
<div class="form-title">企业管理员信息</div>
</ng-template>
<ng-template sf-template="tipsD" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<div>请上传该企业授权您成为本系统企业管理员的文件的高清照片,需加盖公司印章</div>
<div>上传后系统会自动识别并填写</div>
<div></div>
</div>
</ng-template>
<ng-template sf-template="tipsE" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<dl class="tips">
<dt></dt>
<dd>示例</dd>
</dl>
<div class="pa"><img width="190" src="/assets/images/eg02.png" /></div>
</div>
</ng-template>
<ng-template sf-template="telephone" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<div>{{ telephone }} <span>默认当前登录账号绑定的手机号</span></div>
</div>
</ng-template>
<ng-template sf-template="tips" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<div>请上传身份证原件的高清照片,若上传复印件,则需申请人签字;</div>
<div>上传后系统会自动识别并填写</div>
</div>
</ng-template>
<ng-template sf-template="tipsA" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<dl class="tips">
<dt>正面照(人像面)</dt>
<dd>示例</dd>
</dl>
<div class="pa"><img width="190" src="/assets/images/eg01.png" /></div>
</div>
</ng-template>
<ng-template sf-template="tipsB" let-me let-ui="ui" let-schema="schema">
<div class="pr">
<dl class="tips">
<dt>背面照(国徽面)</dt>
<dd>示例</dd>
</dl>
<div class="pa"><img width="190" src="/assets/images/eg02.png" /></div>
</div>
</ng-template>
</sf>
<div style="padding-left: 379px">
<button nz-button type="button" nzType="primary" (click)="submitForm()" >确认新增</button>
<button nz-button (click)="goBack()">返回</button>
</div>
</ng-container>
</nz-card>

View File

@ -1,109 +0,0 @@
:host {
::ng-deep {
nz-card {
.page-title {
margin-bottom: 39px;
color : #333;
font-weight : 500;
font-size : 20px;
line-height : 28px;
text-align : center;
}
.step-title {
display: block;
width : 800px !important;
margin : 0 auto;
}
.myForm {
width : 680px;
margin: 5rem auto;
}
.steps-content {
min-height: 250px;
}
.btn-submit {
margin-top: 16px;
}
.pr {
position: relative;
}
.pa {
position: absolute;
top : 35px;
left : 150px;
}
.tips {
display : flex;
margin-bottom: 0;
color : #333;
dt {
width: 150px;
}
dd {
width : 190px;
margin-bottom: 0;
text-align : center;
}
}
.form-title {
margin-bottom: 10px;
padding-left : 8px;
color : #333;
font-weight : 700;
font-size : 18px;
line-height : 20px;
border-left : solid 3px #1890ff;
}
.form-content {
padding: 48px 32px;
}
.apply-sv {
margin : 16px 0;
padding : 20px;
background : #f8f8f8;
border-radius: 2px;
}
.result-date {
font-size: 12px;
}
.result-tips {
color : #ff4d4f;
font-size: 14px;
}
.sv-img {
display : inline-block;
width : 104px;
height : 104px;
margin-right : 20px;
padding : 8px;
background : #fff;
border : 1px solid rgba(0, 0, 0, 0.15);
border-radius: 2px;
img {
width : 100%;
height: 100%;
}
}
}
.ant-row {
margin-left: 100px;
}
}
}

View File

@ -1,49 +0,0 @@
<!--
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-11-29 17:07:37
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\view\view.component.html
-->
<ng-container >
<!-- 页头 -->
<page-header-wrapper [logo]="logo" [content]="content">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
<ng-template #content>
<div class="user-info">
<img [src]="detailData?.shoppFeignVO?.logoUrl" />
<div style="flex: 1">
<div style="display: flex;">
<p style="padding-right: 80px; width: 400px;">深圳市xxxx科技有限公司{{ detailData?.shoppFeignVO?.publicity }}</p>
<nz-badge nzStatus="success" nzText="正常" *ngIf="detailData?.status === 0"></nz-badge>
<nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.status === 1"></nz-badge>
<nz-badge nzStatus="warning" nzText="废弃" *ngIf="detailData?.status === 2"></nz-badge>
</div>
<div style="display: flex;">
<p style="padding-right: 80px; width: 400px;">4545456655645{{ detailData?.shoppFeignVO?.introduction }}</p>
<p >认证时间2021-09-02 12.53.32</p>
</div>
<div>
服务评级:<nz-rate [ngModel]="2" nzDisabled></nz-rate>
</div>
</div>
</div>
</ng-template>
</page-header-wrapper>
<nz-card>
<h1 style="font-weight: 700; font-size: 16px; margin-left: '15%';">道路运输经营许可证</h1>
<sf #sf [compact]="false" [ui]="ui" [schema]="schema" [button]="'none'" [formData]="detailData?.effectiveDate"></sf>
<div style="display: flex; justify-content: center; align-items: center;">
<button nz-button nzType="default" (click)="handleCancel('suppliersType')">取消</button>
<button nz-button nzType="primary" (click)="handleOK('suppliersType')" [disabled]="!sf.valid">确认</button>
</div>
</nz-card>
</ng-container>

View File

@ -1,46 +0,0 @@
@import '~@delon/theme/index';
:host {
::ng-deep {
.ant-steps-dot {
.ant-steps-item-content {
width: 200px;
}
.ant-steps-item-icon {
margin-left: 96px;
}
.ant-steps-item-tail::after {
margin-left: 40px;
}
}
.success {
color: @success-color;
}
.warning {
color: @warning-color;
}
.error {
color: @error-color;
}
}
.mt16 {
margin-top: 16px;
}
.user-info {
display: flex;
font-size: 16px;
.enterprise-name {
margin-right: 15px;
}
img {
width: 64px;
height: 64px;
margin-right: 15px;
border-radius: 50%;
}
.user-info-des {
margin-bottom: 5px;
}
}
}

View File

@ -1,23 +0,0 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { FreightComponentsListViewComponent } from './view.component';
describe('FreightComponentsListViewComponent', () => {
let component: FreightComponentsListViewComponent;
let fixture: ComponentFixture<FreightComponentsListViewComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [FreightComponentsListViewComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(FreightComponentsListViewComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,257 +0,0 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { STColumn, STComponent } from '@delon/abc/st';
import { ModalHelper, _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { UsermanageService } from '../../../../services/usercenter.service';
import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema, SFUploadWidgetSchema } from '@delon/form';
import { Observable, Observer } from 'rxjs';
@Component({
selector: 'app-Freight-components-list-view',
templateUrl: './view.component.html',
styleUrls: ['./view.component.less'],
})
export class FreightComponentsListViewComponent implements OnInit {
i: any;
url = `/rule?_allow_anonymous=true`;
@ViewChild('st', { static: false }) st!: STComponent;
detailData: any = {
status: 0
};
isShow = false;
isVisible = false;
modalTitle = '有效期';
modalName = '';
ui!: SFUISchema;
schema!: SFSchema;
@ViewChild('sf', { static: false }) sf!: SFComponent;
@ViewChild('sf1', { static: false }) sf1!: SFComponent;
validData: any = ['FreightsType'];
FreightsData: any = {};
constructor(
private http: _HttpClient,
private modal: ModalHelper,
public service: UsermanageService,
private route: ActivatedRoute,
private modalHelper: ModalHelper,
private msgSrv: NzMessageService,
) {}
ngOnInit() {
console.log(this.route.snapshot);
this.initData();
this.initSF();
// this.launchSign();
}
/**
* 初始化查询表单
*/
initSF() {
this.schema = {
properties: {
name: {
title: '许可证号',
type: 'string',
maxLength: 20,
ui: {
placeholder: '请输入角色名称',
},
},
phone: {
title: '业户名称',
type: 'string',
maxLength: 20,
ui: {
placeholder: '请输入业户名称',
},
},
roleDescription: {
title: '地址',
type: 'string',
maxLength: 30,
ui: {
placeholder: '请输入地址',
widget: 'textarea',
},
},
effectiveDate: {
title: '发证日期',
type: 'string',
ui: {
widget: 'date',
format: 'yyyy-MM-dd 00:00:00',
// hidden: this.modalName === 'effectiveDate' ? false : true,
} as SFDateWidgetSchema,
},
phone3: {
title: '有效期',
type: 'string',
ui: {
placeholder: '请输入业户名称',
},
},
phone4: {
title: '有效期截止',
type: 'string',
ui: {
placeholder: '请输入业户名称',
},
},
phone5: {
title: '经营范围',
type: 'string',
ui: {
placeholder: '请输入业户名称',
},
},
avatar: {
type: 'string',
title: '证照',
ui: {
// action: environment.UPLOAD_URL,
fileType: 'image/png,image/jpeg,image/jpg,image/png,image/gif,image/bmp',
limit: 1,
limitFileCount: 1,
resReName: 'url',
urlReName: 'url',
widget: 'upload',
descriptionI18n: '图片支持jpg、jpeg、png、gif格式大小不超过5M',
data: {
// appId: environment.appId,
},
name: 'multipartFile',
multiple: false,
listType: 'picture-card',
change: (args) => {
if (args.type === 'success') {
const avatar = [
{
uid: -1,
name: 'LOGO',
status: 'done',
url: args.fileList[0].response.url,
response: {
url: args.fileList[0].response.url,
},
},
];
this.sf?.setValue('/avatar', avatar);
}
},
beforeUpload: (file: any, _fileList) => {
return new Observable((observer: Observer<boolean>) => {
const isLt2M = file.size / 1024 / 1024 < 5;
if (!isLt2M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt2M);
observer.complete();
});
},
} as SFUploadWidgetSchema,
},
},
required: ['name', 'phone'],
};
this.ui = { '*': { spanLabelFixed: 200, grid: {offset:4, span: 12 } } };
}
showModal(name: any) {
this.modalName = name;
if (name === 'effectiveDate') {
this.isShow = true;
} else {
this.isVisible = true;
}
}
async initData() {
console.log(this.route.snapshot, 'this.route.snapshot');
const params = {
tenantId: this.route.snapshot.params.id,
};
}
/**
* 根据地区code查询地区详情
* @param code 地区代码
*/
async getRegionFullName(code: any) {
const params = {
regionCode: code,
};
const res = await this.service.asyncRequest(this.service.$api_get_region_detailByCode, params, 'POST', true);
// if (res && res.regionFullName) {
// const arr = res.regionFullName.split(',');
// res.regionFullName = arr.reverse().join('-');
// }
return res && res.regionFullName;
}
add() {
// this.modal
// .createStatic(FormEditComponent, { i: { id: 0 } })
// .subscribe(() => this.st.reload());
}
goBack() {
window.history.go(-1);
}
/**
* 冻结
*/
freezeOrResume(type: number) {
this.service.http
.post(this.service.$api_set_freezeOrResume, {
tenantId: this.route.snapshot.params.id,
// tenantId: this.route.snapshot.queryParams.tenantId,
status: type,
})
.subscribe((res) => {
if (res.data === true) {
if (type === 0) {
this.service.msgSrv.success(`启用成功!`);
} else if (type === 1) {
this.service.msgSrv.success(`冻结成功!`);
}
this.ngOnInit();
} else {
this.service.msgSrv.error(res.msg || '操作失败!');
}
});
}
handleCancel(name: any) {
if (name === 'effectiveDate') {
this.isShow = false;
} else {
this.isVisible = false;
}
}
handleOK(name: any) {
const params: any = {
tenantId: this.route.snapshot.params.id,
// tenantId: this.route.snapshot.queryParams.tenantId,
};
if (name === 'effectiveDate') {
params.effectiveDate = this.sf?.value?.effectiveDate;
} else {
Object.assign(params, this.sf1?.value);
}
this.service.http.post(this.service.$api_set_freezeOrResume, params).subscribe((res) => {
if (res.data === true) {
this.service.msgSrv.success(`编辑成功!`);
this.ngOnInit();
} else {
this.service.msgSrv.error(res.msg || '编辑失败!');
}
if (name === 'effectiveDate') {
this.isShow = false;
} else {
this.isVisible = false;
}
});
}
}

View File

@ -1,13 +1,15 @@
/*
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-11-30 17:00:50
* @LastEditTime: 2021-11-30 20:36:06
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\usercenter-routing.module.ts
*/
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { UserCenterComponentsDriverCaptainComponent } from './components/driver/captain/captain.component';
import { UserCenterComponentsDriverDetailComponent } from './components/driver/detail/detail.component';
import { UserCenterComponentsDriverComponent } from './components/driver/driver.component';
import { FreightComponentsEnterpriseAuditComponent } from './components/freight/enterprise-audit/enterprise-audit.component';
import { FreightComponentsEnterpriseAuditViewComponent } from './components/freight/enterprise-audit/view/view.component';
@ -31,6 +33,8 @@ const routes: Routes = [
{ path: 'freight/user', component: FreightComponentsUserComponent },
{ path: 'freight/user/view/:id', component: FreightComponentsUserDetailComponent },
{ path: 'driver', component: UserCenterComponentsDriverComponent },
{ path: 'driver/detail/:id', component: UserCenterComponentsDriverDetailComponent },
{ path: 'driver/captain', component: UserCenterComponentsDriverCaptainComponent },
];
@NgModule({

View File

@ -1,13 +1,15 @@
/*
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-11-30 17:00:19
* @LastEditTime: 2021-11-30 20:35:42
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\usercenter.module.ts
*/
import { NgModule } from '@angular/core';
import { SharedModule } from '@shared';
import { UserCenterComponentsDriverCaptainComponent } from './components/driver/captain/captain.component';
import { UserCenterComponentsDriverDetailComponent } from './components/driver/detail/detail.component';
import { UserCenterComponentsDriverComponent } from './components/driver/driver.component';
import { FreightComponentsEnterpriseAuditComponent } from './components/freight/enterprise-audit/enterprise-audit.component';
import { FreightComponentsEnterpriseAuditViewComponent } from './components/freight/enterprise-audit/view/view.component';
@ -28,7 +30,9 @@ const COMPONENTS = [
FreightComponentsEnterpriseAuditViewComponent,
FreightComponentsUserComponent,
FreightComponentsUserDetailComponent,
UserCenterComponentsDriverComponent
UserCenterComponentsDriverComponent,
UserCenterComponentsDriverDetailComponent,
UserCenterComponentsDriverCaptainComponent
];
@NgModule({

View File

@ -86,6 +86,17 @@
"text": "司机列表",
"icon": "anticon anticon-dashboard",
"link": "/usercenter/driver"
},
{
"text": "司机详情",
"hide": true,
"icon": "anticon anticon-dashboard",
"link": "/usercenter/driver/detail/:id"
},
{
"text": "车队长列表",
"icon": "anticon anticon-dashboard",
"link": "/usercenter/driver/captain"
}
]
}]