From 4d0627ff359069db36e4c5fdd2839c19972debeb Mon Sep 17 00:00:00 2001 From: wangshiming Date: Tue, 30 Nov 2021 20:38:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=BD=A6=E9=98=9F=E9=95=BF=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../driver/captain/captain.component.html | 83 + .../driver/captain/captain.component.spec.ts | 31 + .../driver/captain/captain.component.ts | 247 +++ .../driver/detail/detail.component.html | 271 ++-- .../driver/detail/detail.component.spec.ts | 12 +- .../driver/detail/detail.component.ts | 117 +- .../components/driver/driver.component.html | 3 +- .../components/driver/driver.component.ts | 69 +- .../components/driver/new/new.component.html | 109 -- .../components/driver/new/new.component.less | 109 -- .../components/driver/new/new.component.ts | 1400 ----------------- .../driver/view/view.component.html | 49 - .../driver/view/view.component.less | 46 - .../driver/view/view.component.spec.ts | 23 - .../components/driver/view/view.component.ts | 257 --- .../usercenter/usercenter-routing.module.ts | 6 +- .../routes/usercenter/usercenter.module.ts | 8 +- src/assets/mocks/menu-data.json | 11 + 18 files changed, 623 insertions(+), 2228 deletions(-) create mode 100644 src/app/routes/usercenter/components/driver/captain/captain.component.html create mode 100644 src/app/routes/usercenter/components/driver/captain/captain.component.spec.ts create mode 100644 src/app/routes/usercenter/components/driver/captain/captain.component.ts delete mode 100644 src/app/routes/usercenter/components/driver/new/new.component.html delete mode 100644 src/app/routes/usercenter/components/driver/new/new.component.less delete mode 100644 src/app/routes/usercenter/components/driver/new/new.component.ts delete mode 100644 src/app/routes/usercenter/components/driver/view/view.component.html delete mode 100644 src/app/routes/usercenter/components/driver/view/view.component.less delete mode 100644 src/app/routes/usercenter/components/driver/view/view.component.spec.ts delete mode 100644 src/app/routes/usercenter/components/driver/view/view.component.ts diff --git a/src/app/routes/usercenter/components/driver/captain/captain.component.html b/src/app/routes/usercenter/components/driver/captain/captain.component.html new file mode 100644 index 00000000..76715051 --- /dev/null +++ b/src/app/routes/usercenter/components/driver/captain/captain.component.html @@ -0,0 +1,83 @@ + + + + + + +
+ +
+ + +
+ + + + +
+ +
+
+ + + + +
+
+
+
+ + + + + + +
+
+ {{ item.enterpriseName }} +
+
+
+ +
+ {{ item.contactsPhone }} +
+
+ + 冻结 + 正常 + +
+
diff --git a/src/app/routes/usercenter/components/driver/captain/captain.component.spec.ts b/src/app/routes/usercenter/components/driver/captain/captain.component.spec.ts new file mode 100644 index 00000000..8ca6e88c --- /dev/null +++ b/src/app/routes/usercenter/components/driver/captain/captain.component.spec.ts @@ -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; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [UserCenterComponentsDriverCaptainComponent], + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserCenterComponentsDriverCaptainComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/routes/usercenter/components/driver/captain/captain.component.ts b/src/app/routes/usercenter/components/driver/captain/captain.component.ts new file mode 100644 index 00000000..b1fc9c7a --- /dev/null +++ b/src/app/routes/usercenter/components/driver/captain/captain.component.ts @@ -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; + } +} diff --git a/src/app/routes/usercenter/components/driver/detail/detail.component.html b/src/app/routes/usercenter/components/driver/detail/detail.component.html index 4aafe892..89cc77e7 100644 --- a/src/app/routes/usercenter/components/driver/detail/detail.component.html +++ b/src/app/routes/usercenter/components/driver/detail/detail.component.html @@ -1,6 +1,6 @@ - + - - @@ -124,166 +102,173 @@ - -
- - - -
确定关闭该企业支付权限吗?
-
- 停用后,该企业将被限制使用支付功能,请谨慎操作 -
-
-
- -
- - - -
确定开通该企业支付权限吗?
-
- 启用后,该企业将恢复正常支付功能,请再次确认 -
-
-
- - 联系信息人 - + + 实名认证信息 + {{ detailData?.contactsName }} - - {{ detailData?.contactsPhone }} - - + {{ detailData?.contactsPhone }} + + +
+
+ + +
+
+ - 公司基本信息 - + 驾驶证信息 + {{ detailData?.enterpriseName }} - + {{ detailData?.unifiedSocialCreditCode }} - + {{ detailData?.enterpriseType }} - - {{ detailData?.registrationCapital }} - 万元 - - - {{ detailData?.enterpriseRegistrationTime }} - - -
- {{ detailData?.operatingStartTime }} 至 {{ detailData?.operatingEndTime }} -
-
长期
-
{{ detailData?.operatingStartTime }} 至 长期
-
+ - - {{ detailData?.enterpriseAddressCodeStr }} - - - {{ detailData?.enterpriseAddress }} - - - - - {{ detailData?.enterpriseAddressCodeStr }} - - - {{ detailData?.enterpriseAddress }} - - - - - {{ detailData?.enterpriseAddressCodeStr }} - - - {{ detailData?.enterpriseAddress }} - - - - + + {{ detailData?.registrationCapital }} + 万元 + + + {{ detailData?.enterpriseRegistrationTime }} + + + + + + + + 从业资格证信息 + {{ detailData?.businessScope }} - - + + {{ detailData?.businessScope }} + + + {{ detailData?.businessScope }} + + + + +
+
+ + + +
+
+
+
+ - 法人信息 - + 载具信息 + {{ detailData?.name }} - + {{ detailData?.certificateNumber }} - - {{ detailData?.validStartTime }} - - {{ detailData?.validEndTime ? detailData?.validEndTime : '长期' }} + + {{ detailData?.validStartTime }} - + + {{ detailData?.validStartTime }} + + + {{ detailData?.validStartTime }} + + + {{ detailData?.validStartTime }} + + + + + + + + 银行结算信息 - + {{ detailData?.name }} - + {{ detailData?.certificateNumber }} - - {{ detailData?.validStartTime }} - + + + 服务评级 + + + + + + + + + + + + + + + + + + + + +
+ +
+
- - -
+ + + + + + - -
+ + +
+ + + + + + + + + diff --git a/src/app/routes/usercenter/components/driver/detail/detail.component.spec.ts b/src/app/routes/usercenter/components/driver/detail/detail.component.spec.ts index 00666a0b..c2215295 100644 --- a/src/app/routes/usercenter/components/driver/detail/detail.component.spec.ts +++ b/src/app/routes/usercenter/components/driver/detail/detail.component.spec.ts @@ -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; +describe('UserCenterComponentsDriverDetailComponent', () => { + let component: UserCenterComponentsDriverDetailComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [FreightComponentsListDetailComponent], + declarations: [UserCenterComponentsDriverDetailComponent], }).compileComponents(); })); beforeEach(() => { - fixture = TestBed.createComponent(FreightComponentsListDetailComponent); + fixture = TestBed.createComponent(UserCenterComponentsDriverDetailComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/src/app/routes/usercenter/components/driver/detail/detail.component.ts b/src/app/routes/usercenter/components/driver/detail/detail.component.ts index 809f567f..400db1e1 100644 --- a/src/app/routes/usercenter/components/driver/detail/detail.component.ts +++ b/src/app/routes/usercenter/components/driver/detail/detail.component.ts @@ -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: '类型', - enum: [ - { label: '非外部供应商', value: 0 }, - { label: '外部供应商', value: 1 }, - ], - default: '', + maxLength: 30, 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(); - }, + placeholder: '请输入地址', + widget: 'textarea', }, }, - externalSuppliersId: { - title: '外部供应商id', - type: 'string', - default: '', + like: { + type: 'number', + title: '可选理由', + enum: [ + { value: 1, label: '电影' }, + { value: 2, label: '书' }, + { value: 3, label: '旅行' }, + ], ui: { - visibleIf: { suppliersType: (value: any) => value === 1 }, - }, + widget: 'tag', + } as SFTagWidgetSchema, + default: [1, 2], }, }, - 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); - } - 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; - } - }); + // 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; + // } + // }); } + auditPass() { + this.isVisible = true + } + auditNo() { + this.isVisibleNo = true + } + ratify() { + + } + } diff --git a/src/app/routes/usercenter/components/driver/driver.component.html b/src/app/routes/usercenter/components/driver/driver.component.html index fcb84ee1..76715051 100644 --- a/src/app/routes/usercenter/components/driver/driver.component.html +++ b/src/app/routes/usercenter/components/driver/driver.component.html @@ -1,7 +1,7 @@ - - - - - - - - - - - -

道路运输经营许可证

- -
- - -
-
-
- - diff --git a/src/app/routes/usercenter/components/driver/view/view.component.less b/src/app/routes/usercenter/components/driver/view/view.component.less deleted file mode 100644 index 48f605d9..00000000 --- a/src/app/routes/usercenter/components/driver/view/view.component.less +++ /dev/null @@ -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; - } - } -} diff --git a/src/app/routes/usercenter/components/driver/view/view.component.spec.ts b/src/app/routes/usercenter/components/driver/view/view.component.spec.ts deleted file mode 100644 index 6e2a7782..00000000 --- a/src/app/routes/usercenter/components/driver/view/view.component.spec.ts +++ /dev/null @@ -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; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [FreightComponentsListViewComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(FreightComponentsListViewComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/routes/usercenter/components/driver/view/view.component.ts b/src/app/routes/usercenter/components/driver/view/view.component.ts deleted file mode 100644 index f72bb40a..00000000 --- a/src/app/routes/usercenter/components/driver/view/view.component.ts +++ /dev/null @@ -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) => { - 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; - } - }); - } -} diff --git a/src/app/routes/usercenter/usercenter-routing.module.ts b/src/app/routes/usercenter/usercenter-routing.module.ts index 6fc28071..0b4a70fb 100644 --- a/src/app/routes/usercenter/usercenter-routing.module.ts +++ b/src/app/routes/usercenter/usercenter-routing.module.ts @@ -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({ diff --git a/src/app/routes/usercenter/usercenter.module.ts b/src/app/routes/usercenter/usercenter.module.ts index 197f6ff1..294a49c2 100644 --- a/src/app/routes/usercenter/usercenter.module.ts +++ b/src/app/routes/usercenter/usercenter.module.ts @@ -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({ diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index d7efcf70..e556252b 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -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" } ] }] From 741912c630877065d5b4a0cbbeeeffd5af27efef Mon Sep 17 00:00:00 2001 From: wangshiming Date: Wed, 1 Dec 2021 10:51:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=BD=A6=E9=98=9F=E9=95=BF=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/routes/routes-routing.module.ts | 5 +- .../components/carload/carload.component.html | 183 ++++++++ .../components/carload/carload.component.less | 128 ++++++ .../carload/carload.component.spec.ts | 31 ++ .../components/carload/carload.component.ts | 398 ++++++++++++++++++ .../components/list/list.component.html | 19 + .../components/list/list.component.spec.ts | 31 ++ .../components/list/list.component.ts | 22 + .../services/supply-goods.service.ts | 23 + .../supply-goods-routing.module.ts | 22 + .../supply-goods/supply-goods.module.ts | 24 ++ .../driver/captain/captain.component.html | 4 +- .../driver/captain/captain.component.ts | 89 +--- src/assets/mocks/menu-data.json | 11 + 14 files changed, 907 insertions(+), 83 deletions(-) create mode 100644 src/app/routes/supply-goods/components/carload/carload.component.html create mode 100644 src/app/routes/supply-goods/components/carload/carload.component.less create mode 100644 src/app/routes/supply-goods/components/carload/carload.component.spec.ts create mode 100644 src/app/routes/supply-goods/components/carload/carload.component.ts create mode 100644 src/app/routes/supply-goods/components/list/list.component.html create mode 100644 src/app/routes/supply-goods/components/list/list.component.spec.ts create mode 100644 src/app/routes/supply-goods/components/list/list.component.ts create mode 100644 src/app/routes/supply-goods/services/supply-goods.service.ts create mode 100644 src/app/routes/supply-goods/supply-goods-routing.module.ts create mode 100644 src/app/routes/supply-goods/supply-goods.module.ts diff --git a/src/app/routes/routes-routing.module.ts b/src/app/routes/routes-routing.module.ts index ee9104a3..2b964c24 100644 --- a/src/app/routes/routes-routing.module.ts +++ b/src/app/routes/routes-routing.module.ts @@ -1,7 +1,7 @@ /* * @Author: your name * @Date: 2021-11-29 10:20:33 - * @LastEditTime: 2021-11-29 15:38:35 + * @LastEditTime: 2021-12-01 09:53:56 * @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\routes-routing.module.ts @@ -31,7 +31,8 @@ const routes: Routes = [ path: 'usercenter', loadChildren: () => import('./usercenter/usercenter.module').then(m => m.UsercenterModule) }, - { path: 'system', loadChildren: () => import('./sys-setting/sys-setting.module').then(m => m.SysSettingModule) } + { path: 'system', loadChildren: () => import('./sys-setting/sys-setting.module').then(m => m.SysSettingModule) }, + { path: 'supplygoods', loadChildren: () => import('./supply-goods/supply-goods.module').then(m => m.SupplyGoodsModule) } ] }, // passport diff --git a/src/app/routes/supply-goods/components/carload/carload.component.html b/src/app/routes/supply-goods/components/carload/carload.component.html new file mode 100644 index 00000000..7eeedbcc --- /dev/null +++ b/src/app/routes/supply-goods/components/carload/carload.component.html @@ -0,0 +1,183 @@ + + + + +
+ +
+ + +
+ + + + +
+ +
+
+ + + + +
+
+
+
+ +
+ + +
+ + + + 共 {{ total }} 条 + + + 商品 + 订单金额 + 收件人 + 下单商家 + 状态 + 操作 + + + + + +
+
+ 订单号:{{ data.orderSn }}        下单时间:{{ + data.createTime + }}         订单类型:{{ + data.supplierType == 1 ? '普通订单' : 'GD订单' + }} +         支付方式:{{ data.payType === 1 ? '一次性付款,先货后款' : '-' + }}{{ data.payType === 2 ? '分批付款,先货后款' : '' }}         配送方式:{{ + data.deliveryTypeDesc + }} +
+
+ + + +
+
+ +
+
+

+ {{ item.goodsName }}
+ + {{ items.specName }}:{{ items.specValueName }} + +
+

数量:{{ item.goodsQuantity }}

+

+
+
+ {{ item.sendType === 1 ? '已发货' : item.sendType === 2 ? '部分发货' : '' }}
+ {{ item.returnStatusName }} +
+
+ + + + + ¥{{ data.payAmount.toFixed(2) }} + + {{ data.receiveName }}
+ {{ data.receiveMobile }} + + + {{ data.tenantName }} + + + {{ data.orderStatusStr }}{{ + data.orderStatusDesc + }}
{{ + data.payStatusDesc + }}
+ + +
+ + + + 付款审核 + + + 审核
+
+ + 修改价格 + + + 立即发货 +
+ + 立即发货 +
+ 查看详情 +
+ +
+
+ +
+ +
+
+
+
+ + + + + + + {{ item }} + + + + diff --git a/src/app/routes/supply-goods/components/carload/carload.component.less b/src/app/routes/supply-goods/components/carload/carload.component.less new file mode 100644 index 00000000..c98cff00 --- /dev/null +++ b/src/app/routes/supply-goods/components/carload/carload.component.less @@ -0,0 +1,128 @@ +.order-goods { + display: flex; + text-align: left; + .order-goods-img { + width: 80px; + height: 80px; + margin-right: 10px; + overflow: hidden; + img { + width: 100%; + } + } + .order-goods-info { + flex: 1; + } + .order-goods-state { + width: 70px; + margin-left: 10px; + line-height: 28px; + text-align: right; + } +} +h2 { + font-size: 16px; +} +p { + font-size: 14px; +} +.form, +.table { + background-color: #fff; +} +.form { + padding: 20px; +} +.select-item { + width: 180px; +} +.ant-form-item { + margin-bottom: 16px; +} +.order-line { + display: flex; + justify-content: space-between; +} + +.order-receiving { + .order-receiving-remark { + line-height: 26px; + span { + color: #1890ff; + } + input { + width: 130px; + margin-right: 6px; + padding: 0; + overflow: hidden; + color: #1890ff; + white-space: nowrap; + text-overflow: ellipsis; + background: none; + border: none; + &.have-edit { + color: #000000a6; + border: 1px solid #d9d9d9; + } + } + } +} +.order-operation { + div { + color: #1890ff; + cursor: pointer; + } + p { + margin-bottom: 10px; + } +} +.timeline { + span { + display: inline-block; + margin: 0 4px; + padding: 5px 6px; + color: #999; + background-color: #f2f2f2; + border-radius: 2px; + cursor: pointer; + } +} +.ant-table-tbody > tr.ant-table-row:hover > td { + background: #fff; +} + +.btnBox { + margin: 0 0 10px 0; +} +.searchAreaWrap { + display: flex; +} +.sfExpand { + display: block; +} +.actionBox { + margin: 0 0 0 10px; +} +.sfBox { + width: 60%; +} +.expandsfBox { + width: 100%; +} +.expandAcitonBox { + margin: 10px 0 20px 0; + text-align: right; +} +.actionAreaWrap { + margin: 0 0 20px 0; +} +.overflowText { + display: -webkit-box; + overflow: hidden; + text-align: left; + text-overflow: -o-ellipsis-lastline; + text-overflow: ellipsis; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; +} diff --git a/src/app/routes/supply-goods/components/carload/carload.component.spec.ts b/src/app/routes/supply-goods/components/carload/carload.component.spec.ts new file mode 100644 index 00000000..00b3e821 --- /dev/null +++ b/src/app/routes/supply-goods/components/carload/carload.component.spec.ts @@ -0,0 +1,31 @@ +/* + * @Description: + * @Author: wsm + * @Date: 2021-07-08 15:46:29 + * @LastEditTime: 2021-12-01 10:02:07 + * @LastEditors: Please set LastEditors + * @Reference: + */ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SupplyGoodsComponentListCarloadComponent } from './carload.component'; + +describe('SupplyGoodsComponentListCarloadComponent', () => { + let component: SupplyGoodsComponentListCarloadComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [SupplyGoodsComponentListCarloadComponent], + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SupplyGoodsComponentListCarloadComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/routes/supply-goods/components/carload/carload.component.ts b/src/app/routes/supply-goods/components/carload/carload.component.ts new file mode 100644 index 00000000..1145ae70 --- /dev/null +++ b/src/app/routes/supply-goods/components/carload/carload.component.ts @@ -0,0 +1,398 @@ +/* + * @Description: + * @Author: wsm + * @Date: 2021-07-15 09:42:57 + * @LastEditTime: 2021-12-01 10:36:54 + * @LastEditors: Please set LastEditors + * @Reference: + */ +import { AfterViewInit, Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; +import { STComponent } from '@delon/abc/st'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; +import { ModalHelper } from '@delon/theme'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { filter } from 'rxjs/operators'; + + +@Component({ + selector: 'app-supply-goods-components-list-carload', + templateUrl: './carload.component.html', + styleUrls: ['./carload.component.less'], +}) +export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterViewInit { + @ViewChild('st', { static: true }) st!: STComponent; + @ViewChild('sf', { static: false }) sf!: SFComponent; + validateForm!: FormGroup; + @ViewChild('exportTemplate') + exportTemplate!: TemplateRef; + ui: SFUISchema = {}; + mode: any = 'search'; + tabs = ['全部', '待审核', '待支付', '待发货', '待收货', '已完成']; + exportFieldList = [ + '订单号', + '下单时间', + '支付方式', + '订单金额', + '订单状态', + '下单商家', + 'SKU信息(SKUID,商品名称+规格名称,数量)', + '配送方式', + '收件人', + '收件人电话', + '收件人地址', + ]; + listData: any; + orderStatus: any = '0'; // 订单状态, 10为已提交待付款, 20为已付款待发,30为已发货待收货,50取消订单,40 已完成 + nzSelectedIndex = 0; + total = 1; + loading = false; + pageSize = 20; + pageIndex = 1; + toSendCount = 0; + addTimeStart = ''; + addTimeEnd = ''; + sfExpand = false; + _$expand = false; + + schema!: SFSchema; + payStatus: any; + constructor( + private fb: FormBuilder, + private modal: NzModalService, + private router: Router, + private ar: ActivatedRoute, + private modalHelper: ModalHelper, + ) {} + + ngOnInit(): void { + this.getList(); + this.initSF(); + this.initUI(); + } + + ngAfterViewInit() { + // this.router.events.pipe(filter((evt) => evt instanceof NavigationEnd)).subscribe(() => { + // + // }); + } + + initSF() { + this.schema = { + properties: { + expand: { + type: 'boolean', + ui: { + hidden: true, + }, + }, + storeName: { title: '企业名称', type: 'string', ui: { showRequired: false } }, + contactsName: { + title: '联系人', + type: 'string', + ui: { + showRequired: false, + }, + }, + unifiedSocialCreditCode: { + title: '税源地', + type: 'string', + ui: { + showRequired: false, + }, + }, + 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: 'CRM审核状态', + enum: [ + { label: '全部', value: '' }, + { label: '正常', value: 0 }, + { label: '冻结', value: 1 }, + { label: '废弃', value: 2 }, + ], + default: '', + ui: { + widget: 'select', + visibleIf: { + expand: (value: boolean) => value, + }, + }, + }, + }, + }; + this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } }; + } + initUI() { + this.ui = { + '*': { + spanLabelFixed: 90, + grid: { span: 8 }, + }, + }; + } + tabChange(i: number) { + this.changeIndex(i); + this.getList(); + } + changeIndex(i: number) { + if (i === 0) { + this.orderStatus = '0'; + this.payStatus = null; + } else if (i === 1) { + this.orderStatus = '5'; + this.payStatus = null; + } else if (i === 2) { + this.orderStatus = null; + this.payStatus = '10'; + } else if (i === 3) { + this.orderStatus = '20'; + this.payStatus = null; + } else if (i === 4) { + this.orderStatus = '30'; + this.payStatus = null; + } else if (i === 5) { + this.orderStatus = '40'; + this.payStatus = null; + } + this.pageIndex = 1; + } + getList(type?: string) { + // this.loading = true; + const params: any = { + pageSize: this.pageSize, + pageIndex: this.pageIndex, + ...this.sf?.value, + orderStatus: this.orderStatus, + payStatus: this.payStatus, + createTime: this.sf?.value.createTime || [], + time: {}, + }; + if (this.sf?.value?.createTime) { + delete params.createTime; + params.time.start = this.sf?.value?.createTime[0]; + params.time.end = this.sf?.value?.createTime[1]; + } + delete params.expand; + if (type === 'search') { + params.pageIndex = 1; + } + // this.service.request(this.service.$api_get_page, params).subscribe((res) => { + // this.loading = false; + // this.listData = res.orderPage.records; + // this.toSendCount = res.toSendCount; + // this.listData.forEach((element: { goodsList: { goodsSpecJson: string }[] }) => { + // element.goodsList.forEach((item: { goodsSpecJson: string }) => { + // if (item.goodsSpecJson) { + // item.goodsSpecJson = JSON.parse(item.goodsSpecJson); + // } + // }); + // }); + // this.total = res.orderPage.total; + // }); + } + + orderExport() { + // this.service.exportStart(params, this.service.$api_export); + this.modal.create({ + nzTitle: '订单导出', + nzContent: this.exportTemplate, + // nzContent: `待导出订单总数:${this.pageInfo.total}条,确定要导出吗?`, + nzOnOk: () => { + const params: any = { + pageSize: this.pageSize, + pageIndex: this.pageIndex, + ...this.sf?.value, + orderStatus: this.orderStatus, + // createTime: this.sf?.value.createTime || [], + }; + delete params.expand; + }, + }); + } + + goDetail(data: any) { + this.router.navigate(['../order-detail', data.orderSn], { relativeTo: this.ar }); + } + + // 批量发货 + deliverBelivery() { + this.router.navigate(['../order-batch-delivery'], { relativeTo: this.ar }); + } + changePageIndex(pageIndex: number) { + this.pageIndex = pageIndex; + this.getList(); + } + changePageSize(value: number) { + this.pageSize = value; + this.getList(); + } + expandToggle() { + this.sfExpand = !this.sfExpand; + this.sf?.setValue('/expand', this.sfExpand); + } + + // 修改运单 + updateLogistics(data: any) { + // 如果是多个运单 + if (data.deliveryList.length > 1) { + this.updateLogisticsList(data); + } else { + data.deliveryAddrId = data.deliveryList[0].deliveryAddrId; + data.deliveryCorpSn = data.deliveryList[0].deliveryCorpSn; + data.deliverySn = data.deliveryList[0].deliverySn; // 原物流单号 + data.expressName = data.deliveryList[0].expressName; // 原物流公司 + data.sendName = data.deliveryList[0].sendName; + data.sendMobile = data.deliveryList[0].sendMobile; + data.sendAddr = data.deliveryList[0].sendAddr; + data.orderExpressItemVOList = data.deliveryList[0].orderExpressItemVOList; // 运单对应的发货商品信息 + this.updateLogisticsPop(data); + } + } + + // 修改运单中间页List + updateLogisticsList(data: any) { + const modalRef = this.modal.create({ + nzTitle: '运单信息', + nzWidth: 1200, + // nzContent: OrderComponentsOrderLogisticsmessageComponent, + nzComponentParams: { + listData: data, + }, + nzFooter: null, + }); + modalRef.afterClose.subscribe((result) => { + if (result === true) { + this.getList(); + } + }); + } + + // 修改运单弹窗 + updateLogisticsPop(data: any) { + const modalRef = this.modal.create({ + nzTitle: '已发货商品', + nzWidth: 1200, + // nzContent: OrderComponentsOrderDeliverGoodsUpdateComponent, + nzComponentParams: { + listData: data, + }, + nzFooter: null, + }); + modalRef.afterClose.subscribe((result) => { + if (result === true) { + this.getList(); + } + }); + } + + // 立即发货 + deliverGoods(data: any) { + // const modalRef = this.modal.create({ + // nzTitle: '订单发货', + // nzWidth: 1200, + // nzContent: OrderComponentsOrderDelivergoodsComponent, + // nzComponentParams: { + // listData: data, + // }, + // nzFooter: null, + // }); + // modalRef.afterOpen.subscribe(() => {}); + // modalRef.afterClose.subscribe((result) => { + // if (result === true) { + // this.getList(); + // } + // }); + this.router.navigate(['../order-deliver-goods'], { relativeTo: this.ar }); + } + + /** + * 重置表单 + */ + resetSF() { + this.sf.reset(); + this.sfExpand = false; + } + /** + * 立即确认 + */ + deliversure(val: any) { + const modalRef = this.modal.create({ + nzTitle: '订单确认', + nzWidth: 700, + // nzContent: OrderComponentsOrderOrderlistOrderSureComponent, + nzComponentParams: { + record: val, + }, + nzFooter: null, + }); + modalRef.afterOpen.subscribe(() => {}); + modalRef.afterClose.subscribe((result) => { + if (result === true) { + this.getList(); + } + }); + } + /** + * 付款审核 + */ + paymentReview(data: any) { + const dialogData = { + ...data, + }; + // this.modalHelper.create(OrderComponentsOrderOrderlistPaymentReviewComponent, { dialogData }, { size: 900 }).subscribe((res) => { + // if (res === '2') { + // this.getList(); + // } + // }); + } + /** + * 修改价格 + */ + modifyPrice(data: any) { + const dialogData = { + ...data, + }; + // this.modalHelper.create(OrderComponentsOrderOrderlistModifyPriceComponent, { dialogData }, { size: 900 }).subscribe((res) => { + // if (res === '2') { + // this.getList(); + // } + // }); + } + /** + * 审核 + */ + orderReview(data: any) { + const dialogData = { + ...data, + }; + // this.modalHelper.create(OrderReviewComponent, { dialogData }, { size: 900 }).subscribe((res) => { + // if (res === '2') { + // this.getList(); + // } + // }); + } + /** + * 查询字段个数navigate + */ + get queryFieldCount(): number { + return Object.keys(this.schema?.properties || {}).length; + } +} diff --git a/src/app/routes/supply-goods/components/list/list.component.html b/src/app/routes/supply-goods/components/list/list.component.html new file mode 100644 index 00000000..97942916 --- /dev/null +++ b/src/app/routes/supply-goods/components/list/list.component.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/src/app/routes/supply-goods/components/list/list.component.spec.ts b/src/app/routes/supply-goods/components/list/list.component.spec.ts new file mode 100644 index 00000000..35a8977b --- /dev/null +++ b/src/app/routes/supply-goods/components/list/list.component.spec.ts @@ -0,0 +1,31 @@ +/* + * @Author: your name + * @Date: 2021-12-01 09:25:32 + * @LastEditTime: 2021-12-01 09:55:39 + * @LastEditors: your name + * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + * @FilePath: \tms-obc-web\src\app\routes\supply-goods\components\list\list.component.spec.ts + */ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SupplyGoodsComponentListComponent } from './list.component'; + +describe('SupplyGoodsComponentListComponent', () => { + let component: SupplyGoodsComponentListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [SupplyGoodsComponentListComponent], + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SupplyGoodsComponentListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/routes/supply-goods/components/list/list.component.ts b/src/app/routes/supply-goods/components/list/list.component.ts new file mode 100644 index 00000000..b950cec9 --- /dev/null +++ b/src/app/routes/supply-goods/components/list/list.component.ts @@ -0,0 +1,22 @@ +/* + * @Author: your name + * @Date: 2021-12-01 09:25:32 + * @LastEditTime: 2021-12-01 09:49:32 + * @LastEditors: your name + * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + * @FilePath: \tms-obc-web\src\app\routes\supply-goods\components\list\list.component.ts + */ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'app-supply-goods-components-list', + templateUrl: './list.component.html', +}) +export class SupplyGoodsComponentListComponent implements OnInit { + constructor(private ar: ActivatedRoute) {} + nzSelectedIndex = 0; + ngOnInit(): void { + this.nzSelectedIndex = this.ar.snapshot.queryParams.nzSelectedIndex; + } +} diff --git a/src/app/routes/supply-goods/services/supply-goods.service.ts b/src/app/routes/supply-goods/services/supply-goods.service.ts new file mode 100644 index 00000000..1eea08f1 --- /dev/null +++ b/src/app/routes/supply-goods/services/supply-goods.service.ts @@ -0,0 +1,23 @@ +/* + * @Author: your name + * @Date: 2021-11-29 15:22:34 + * @LastEditTime: 2021-12-01 10:33:33 + * @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\services\usercenter.service.ts + */ +import { Injectable, Injector } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { BaseService } from 'src/app/shared/services/core/base.service'; +import { EAFileUtil } from 'src/app/shared/utils/file.util'; + +@Injectable({ + providedIn: 'root', +}) +export class SupplyGoodsService extends BaseService { + + constructor(public injector: Injector) { + super(injector); + } +} diff --git a/src/app/routes/supply-goods/supply-goods-routing.module.ts b/src/app/routes/supply-goods/supply-goods-routing.module.ts new file mode 100644 index 00000000..4543b370 --- /dev/null +++ b/src/app/routes/supply-goods/supply-goods-routing.module.ts @@ -0,0 +1,22 @@ +/* + * @Author: your name + * @Date: 2021-11-29 15:22:34 + * @LastEditTime: 2021-12-01 09:52:45 + * @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 { SupplyGoodsComponentListComponent } from './components/list/list.component'; + + +const routes: Routes = [ + { path: 'list', component: SupplyGoodsComponentListComponent} +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class SupplyGoodsRoutingModule {} diff --git a/src/app/routes/supply-goods/supply-goods.module.ts b/src/app/routes/supply-goods/supply-goods.module.ts new file mode 100644 index 00000000..399a3c44 --- /dev/null +++ b/src/app/routes/supply-goods/supply-goods.module.ts @@ -0,0 +1,24 @@ +/* + * @Author: your name + * @Date: 2021-11-29 15:22:34 + * @LastEditTime: 2021-12-01 10:03:01 + * @LastEditors: Please set LastEditors + * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +import { NgModule } from '@angular/core'; +import { SharedModule } from '@shared'; +import { SupplyGoodsComponentListCarloadComponent } from './components/carload/carload.component'; +import { SupplyGoodsComponentListComponent } from './components/list/list.component'; + +import { SupplyGoodsRoutingModule } from './supply-goods-routing.module'; + +const COMPONENTS = [ + SupplyGoodsComponentListComponent, + SupplyGoodsComponentListCarloadComponent +]; + +@NgModule({ + imports: [SharedModule, SupplyGoodsRoutingModule], + declarations: [...COMPONENTS], +}) +export class SupplyGoodsModule {} diff --git a/src/app/routes/usercenter/components/driver/captain/captain.component.html b/src/app/routes/usercenter/components/driver/captain/captain.component.html index 76715051..bcc09f33 100644 --- a/src/app/routes/usercenter/components/driver/captain/captain.component.html +++ b/src/app/routes/usercenter/components/driver/captain/captain.component.html @@ -1,13 +1,13 @@ - + diff --git a/src/app/routes/usercenter/components/driver/captain/captain.component.ts b/src/app/routes/usercenter/components/driver/captain/captain.component.ts index b1fc9c7a..f3f2f016 100644 --- a/src/app/routes/usercenter/components/driver/captain/captain.component.ts +++ b/src/app/routes/usercenter/components/driver/captain/captain.component.ts @@ -106,57 +106,14 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { placeholder: '请输入手机号', }, }, - enStatus: { + phon747e: { + title: '银行卡号', 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, - }, + placeholder: '请输入银行卡号', }, }, + phone2: { title: '业务员手机号', type: 'string', @@ -164,12 +121,15 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { maxLength: 11, ui: { placeholder: '请输入手机号', + visibleIf: { + expand: (value: boolean) => value + } }, }, }, }; - this.ui = { '*': { spanLabelFixed: 180, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } }; + this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } }; } initST() { @@ -179,36 +139,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { { 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: 'unifiedSocialCreditCode' }, { title: '推广业务员', className: 'text-center', index: 'unifiedSocialCreditCode2' }, { title: '注册时间', className: 'text-center', index: 'unifiedSocialCreditCode3' }, { @@ -219,7 +150,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit { { text: '查看', click: (item) => { - this.router.navigate(['./detail', item.tenantId], { relativeTo: this.ar }); + this.router.navigate(['/usercenter/driver/detail', item.tenantId], { relativeTo: this.ar }); // this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } }); }, }, diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index e556252b..eabd0818 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -101,6 +101,17 @@ ] }] }, + { + "text": "货源管理", + "icon": "anticon anticon-dashboard", + "group": true, + "children": [ + { + "text": "货源管理", + "link": "/supplygoods/list" + } + ] + }, { "text": "系统设置", "icon": "anticon anticon-dashboard",