diff --git a/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.html b/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.html new file mode 100644 index 00000000..14b57ab4 --- /dev/null +++ b/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.html @@ -0,0 +1,153 @@ + + + + + + + + +
+
+ + {{ i?.no }} + 待接单555 + + + + +
+
+ + + + +
+
+ +
+ {{ i?.owner }} + 32943898021309809423 + 3321944288191034921 + 18112345678 +
+ +
+
+
+

装卸货信息

+

装货地:广东省深圳市龙岗区怡亚通大厦

+

联系人:奥利给/13680058545

+

卸货地:广东省深圳市福田区岗厦村9巷8号405(新村)

+

联系人:花花世界/13680058545

+

发货日期:广东省深圳市福田区岗厦村9巷8号405(新村)

+

卸货日期:花花世界/13680058545

+
+
+
+
+

货物信息

+

货物名称:广东省深圳市龙岗区怡亚通大厦

+

重量/体积:广东省深圳市福田区岗厦村9巷8号405(新村)

+

车型/车长:花花世界/13680058545

+
+
+
+
+

托运信息

+

公司名称:广东省深圳市龙岗区怡亚通大厦

+

联系人:广东省深圳市福田区岗厦村9巷8号405(新村)

+
+
+
+
+

承运信息

+

司机:广东省深圳市龙岗区怡亚通大厦

+

车牌号:广东省深圳市福田区岗厦村9巷8号405(新村)

+

车型/车长/承重:{{'拖车'}} | {{'4.5米'}} | {{'15吨'}}

+
+
+
+

补充信息

+

协议附件

+

装车附件

+

卸货附件

+

回单附件

+
+
+ +
+
+

运费信息

+
+

{{400 | currency }}

+

{{400 | currency }}

+

{{400 | currency }}

+

{{400 | currency }}

+

{{400 | currency}}

+

{{400 | currency }}

+
+
+ +
+
+

{{400 | currency }}

+

未支付

+
+ +
+
+ +
+
+
+
平台支付
+ 司机运输费666 + 1000.00 + 未支付 +
+
+
+
+
货主支付
+ 司机运输费22 + 1000.00 + 未支付 +
+
+ 附加费 + 1000.00 + 未支付 +
+
+
+ + +
+ +
+
+ + +
+
+ +
+
+
+
+
+ + diff --git a/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.less b/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.less new file mode 100644 index 00000000..3cd8c1be --- /dev/null +++ b/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.less @@ -0,0 +1,36 @@ +:host{ + .btn-size{ + font-size: 14px; + } + .bdr{ + border-right: 1px solid #ccc; + } + .bdl{ + border-left: 1px solid #ccc; + } + .source-info{ + p{ + margin-bottom: .5em; + } + } + .freight-info-box{ + width: 95%; + } + .freigth-label{ + display: inline-block; + width: 50px; + text-align: right; + } + + ::ng-deep{ + .approval-status{ + .ant-steps{ + width: 70%; + margin: 0 auto; + } + } + } + .leftPadding { + padding-right: 100px; + } +} \ No newline at end of file diff --git a/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.spec.ts b/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.spec.ts new file mode 100644 index 00000000..8556cf2d --- /dev/null +++ b/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.spec.ts @@ -0,0 +1,24 @@ +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { OrderManagementBulkeDetailComponent } from './bulk-detail.component'; + +describe('OrderManagementBulkeDetailComponent', () => { + let component: OrderManagementBulkeDetailComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ OrderManagementBulkeDetailComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OrderManagementBulkeDetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.ts b/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.ts new file mode 100644 index 00000000..ba3933a7 --- /dev/null +++ b/src/app/routes/waybill-management/components/bulk-detail/bulk-detail.component.ts @@ -0,0 +1,60 @@ +/* + * @Author: your name + * @Date: 2021-12-03 15:31:52 + * @LastEditTime: 2021-12-06 20:34:08 + * @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\order-management\components\vehicle-detail\vehicle-detail.component.ts + */ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { STColumn } from '@delon/abc/st'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { SupplyManagementService } from '../../services/waybill-management.service'; +@Component({ + selector: 'app-supply-management-bulk-detail', + templateUrl: './bulk-detail.component.html', + styleUrls: ['./bulk-detail.component.less'] +}) +export class WaybillManagementBulkeDetailComponent implements OnInit { + + id = this.route.snapshot.params.id; + i: any; + logColumns: STColumn[] = [ + { title: '时间', index: 'operationUserPhone' }, + { title: '地点', index: ' createTime' }, + ]; + + constructor( + private route: ActivatedRoute, + private msgSrv: NzMessageService, + private service: SupplyManagementService, + private modalService: NzModalService + ) { + + } + + ngOnInit(): void { + this.service.http.get(`/user/${this.id}?_allow_anonymous=true&_allow_badcode=true`).subscribe(res => { + console.log(res); + this.i = res + }); + } + + + + hand() { + this.modalService.create({ + nzTitle: '', + // nzContent: OrderManagementGaodeMapComponent, + nzWidth: 1200 + }); + } + + goBack() { + window.history.go(-1); + } + +} diff --git a/src/app/routes/waybill-management/components/bulk/bulk.component.html b/src/app/routes/waybill-management/components/bulk/bulk.component.html new file mode 100644 index 00000000..ef31d45f --- /dev/null +++ b/src/app/routes/waybill-management/components/bulk/bulk.component.html @@ -0,0 +1,160 @@ + + + + + +
+ +
+ +
+ + + +
+ +
+
+ + + +
+
+
+
+ + + + + + +
+ + + + {{item.no}} + + + +
{{item.no}}
+
+ +
+ {{item.no}} +
+
+ +
+

预付:¥200.00

+

到付:¥200.00

+

油卡:¥200.00

+

回单付:¥200.00

+

小计:¥200.00

+

附加费:¥200.00

+
+
+
+
+
+ + + + + + + + + + + + + + + + + + +
+ +
元/吨
+
+
+
+ + +
变更原因:
+
拒绝原因:
+
注:
+
+ + + + +
+ + + + + +
+ 评分: +
评价内容:
+
+
+ +
+ 暂无评价内容 +
+
+
+
+ + + + +
+ +
+ +
+
\ No newline at end of file diff --git a/src/app/routes/waybill-management/components/bulk/bulk.component.less b/src/app/routes/waybill-management/components/bulk/bulk.component.less new file mode 100644 index 00000000..30444d6b --- /dev/null +++ b/src/app/routes/waybill-management/components/bulk/bulk.component.less @@ -0,0 +1,7 @@ + .left_btn { + width: 50px; + height: 32px; + padding-left: 8px; + line-height:32px; + background-color: #d7d7d7; + } \ No newline at end of file diff --git a/src/app/routes/waybill-management/components/bulk/bulk.component.spec.ts b/src/app/routes/waybill-management/components/bulk/bulk.component.spec.ts new file mode 100644 index 00000000..13642576 --- /dev/null +++ b/src/app/routes/waybill-management/components/bulk/bulk.component.spec.ts @@ -0,0 +1,40 @@ +/* + * @Author: your name + * @Date: 2021-12-06 20:03:28 + * @LastEditTime: 2021-12-06 20:03:29 + * @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\order-management\components\bulk\bulk.component.spec.ts + */ +/* + * @Author: your name + * @Date: 2021-12-06 19:39:49 + * @LastEditTime: 2021-12-06 19:41:08 + * @LastEditors: your name + * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + * @FilePath: \tms-obc-web\src\app\routes\order-management\components\bulk\bulk.component.spec.ts + */ +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { OrderManagementBulkComponent } from './bulk.component'; + +describe('OrderManagementBulkComponent', () => { + let component: OrderManagementBulkComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ OrderManagementBulkComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OrderManagementBulkComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/routes/waybill-management/components/bulk/bulk.component.ts b/src/app/routes/waybill-management/components/bulk/bulk.component.ts new file mode 100644 index 00000000..c11e48c0 --- /dev/null +++ b/src/app/routes/waybill-management/components/bulk/bulk.component.ts @@ -0,0 +1,524 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { STColumn, STComponent } from '@delon/abc/st'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; +import { ModalHelper, _HttpClient } from '@delon/theme'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { map } from 'rxjs/operators'; +import { SupplyManagementService } from '../../services/waybill-management.service'; + + +@Component({ + selector: 'app-supply-management-bulk', + templateUrl: './bulk.component.html', + styleUrls: ['./bulk.component.less'] +}) +export class WaybillManagementBulkComponent implements OnInit { + url = `/user?_allow_anonymous=true`; + ui: SFUISchema = {}; + uiView: SFUISchema = {}; + schema: SFSchema = {}; + schemaView: SFSchema = {}; + auditMany = false; + isVisibleView = false; + isVisibleEvaluate = false; + isVisible = false; + _$expand = false; + @ViewChild('st') private readonly st!: STComponent; + @ViewChild('stFloat') private readonly stFloat!: STComponent; + @ViewChild('stFloatView') private readonly stFloatView!: STComponent; + @ViewChild('sf', { static: false }) sf!: SFComponent; + @ViewChild('sfFre', { static: false }) sfFre!: SFComponent; + @ViewChild('sfView', { static: false }) sfView!: SFComponent; + columns: STColumn[] = []; + columnsFloat: STColumn[] = []; + columnsFloatView: STColumn[] = []; + demoValue: any; + datass: any = [ + { + one: '1', + two: '1', + three: '1', + id: 1 + }, + { + one: '2', + two: '2', + three: '2', + id: 2 + }, +]; + tabs = [ { + name: '全部', + type: 5, + count: 0, + }, + { + name: '待发车', + type: 5, + count: 0, + }, + { + name: '运输中', + type: 5, + count: 0, + }, + { + name: '代签收', + type: 5, + count: 0, + }, + { + name: '已完成', + type: 5, + count: 0, + }, + { + name: '已取消', + type: 5, + count: 0, + }, + ]; + constructor(public service: SupplyManagementService, private modal: NzModalService) { } + + /** + * 查询参数 + */ + get reqParams() { + return { + ...this.sf?.value, + }; + } + get selectedRows() { + return this.st?.list.filter((item) => item.checked) || []; + } + ngOnInit(): void { + this.initSF(); + this.initST(); + this.initSTFloat(); + this.initSTFloatView(); + this.initSFView(); + } + + + + /** + * 初始化查询表单 + */ + initSF() { + this.schema = { + properties: { + _$expand: { type: 'boolean', ui: { hidden: true } }, + no: { + type: 'string', + title: '运单号', + }, + no2: { + type: 'string', + title: '货源编号' + }, + no1: { + type: 'string', + title: '托运公司' + }, + no3: { + type: 'string', + title: '装货地', + ui: { + visibleIf: { + _$expand: (value: boolean) => value, + }, + } + }, + no4: { + type: 'string', + title: '卸货地', + ui: { + visibleIf: { + _$expand: (value: boolean) => value, + }, + } + }, + no7: { + type: 'string', + title: '承运司机', + ui: { + visibleIf: { + _$expand: (value: boolean) => value, + }, + } + }, + no9: { + type: 'string', + title: '车牌号', + ui: { + visibleIf: { + _$expand: (value: boolean) => value, + }, + } + }, + no10: { + type: 'string', + title: '收款人', + ui: { + visibleIf: { + _$expand: (value: boolean) => value, + }, + } + }, + sex: { + title: '支付状态', + type: 'string', + default: 0, + enum: [ + { label: '未知', value: 0 }, + { label: '男', value: 1 }, + { label: '女', value: 2 }, + { label: '保密', value: 3 }, + ], + ui: { + widget: 'select', + visibleIf: { + _$expand: (value: boolean) => value, + }, + } as SFSelectWidgetSchema, + }, + createTime: { + title: '创建时间', + type: 'string', + ui: { + widget: 'date', + mode: 'range', + format: 'yyyy-MM-dd', + visibleIf: { + _$expand: (value: boolean) => value, + }, + } as SFDateWidgetSchema, + }, + appId: { + type: 'string', + title: '是否风险单', + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + _$expand: (value: boolean) => value, + }, + allowClear: true, + asyncData: () => this.getCatalogueMember(), + }, + }, + }, + type: 'object', + }; + this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } }; + } + /** + * 初始化查询表单 + */ + initSFView() { + this.schemaView = { + properties: { + no: { + type: 'string', + title: '运费单价', + ui: { + widget: 'custom', + } + }, + sex: { + title: '', + type: 'string', + default: 0, + enum: [ + { label: '保留小数', value: 0 }, + { label: '男', value: 1 }, + { label: '女', value: 2 }, + { label: '保密', value: 3 }, + ], + ui: { + widget: 'select', + } as SFSelectWidgetSchema, + }, + appId: { + type: 'string', + title: '结算重量', + ui: { + widget: 'select', + placeholder: '请选择', + allowClear: true, + asyncData: () => this.getCatalogueMember(), + }, + }, + }, + type: 'object', + }; + this.uiView = { '*': { spanLabelFixed: 80, grid: { span: 12, gutter: 4 } } }; + } + + /** + * 初始化数据列表 + */ + initST() { + this.columns = [ + { title: '', type: 'checkbox', width: '50px', className: 'text-center' }, + { + title: '运单号', + width: '100px', + className: 'text-center', + render: 'goodsId' + }, + { + title: '货源编号', + width: '100px', + className: 'text-center', + }, + { title: '托运公司', index: 'externalSn', width: '120px', className: 'text-center' }, + { title: '装货地', index: 'linkUrl', width: '120px', className: 'text-center' }, + { + title: '卸货地', + className: 'text-center', + width: '120px', + }, + { + title: '货物名称', + className: 'text-center', + width: '120px', + }, + { + title: '承运司机', + className: 'text-center', + width: '120px', + }, + { + title: '车牌号', + className: 'text-center', + width: '120px', + }, + { + title: '运费单价', + className: 'text-center', + width: '120px', + }, + { + title: '接单重量', + className: 'text-center', + width: '120px', + }, + { + title: '运费变更记录', + className: 'text-center', + width: '120px', + render: 'feiong' + }, + { + title: '结算重量', + className: 'text-center', + width: '120px', + }, + { + title: '成交金额', + className: 'text-center', + width: '120px', + render: 'enStatusStr27878' + }, + { + title: '收款人', + className: 'text-center', + width: '120px', + + }, + { + title: '支付状态', + className: 'text-center', + width: '120px', + }, + { + title: '创建时间', + className: 'text-center', + index: 'enStatusStr3', + type: 'badge', + width: '100px', + badge: { + 正常: { text: '正常', color: 'success' }, + 冻结: { text: '冻结', color: 'warning' }, + 废弃: { text: '废弃', color: 'default' }, + }, + }, + { + title: '异常原因', + className: 'text-center', + index: 'enStatusStr3', + width: '100px', + }, + { + title: '运单状态', + className: 'text-center', + index: 'enStatusStr3', + type: 'badge', + width: '100px', + badge: { + 正常: { text: '正常', color: 'success' }, + 冻结: { text: '冻结', color: 'warning' }, + 废弃: { text: '废弃', color: 'default' }, + }, + }, + { + title: '操作', + fixed: 'right', + width: '200px', + className: 'text-left', + buttons: [ + { + text: '查看评价', + click: (_record) => this.viewEvaluate(_record), + }, + ], + }, + ]; + } + initSTFloat() { + this.columnsFloat = [ + { + title: '序号', + className: 'text-center', + index: 'one', + }, + { + title: '操作时间', + className: 'text-center', + index: 'two', + }, + { + title: '操作人', + className: 'text-center', + index: 'three', + }, + { title: '状态', index: 'externalSn', className: 'text-center' }, + { + title: '操作', + fixed: 'right', + className: 'text-left', + buttons: [ + { + text: '查看', + click: (_record) => this.FloatView(_record), + }, + { + text: '撤销', + click: (_record) => this.audit(_record), + }, + ], + }, + ]; + } + initSTFloatView() { + this.columnsFloatView = [ + { + title: '费用名称', + width: '100px', + className: 'text-center', + render: 'goodsId' + }, + { + title: '变更前', + width: '100px', + className: 'text-center', + }, + { title: '变更值', index: 'externalSn', width: '120px', className: 'text-center' }, + { title: '变更后', index: 'externalSn', width: '120px', className: 'text-center' } + ]; + } + /** + * 查询字段个数 + */ + get queryFieldCount(): number { + return Object.keys(this.schema?.properties || {}).length; + } + /** + * 伸缩查询条件 + */ + expandToggle(): void { + this._$expand = !this._$expand; + this.sf?.setValue('/_$expand', this._$expand); + } + tabChange(item: any) { + console.log(item) + } + /** + * 重置表单 + */ + resetSF(): void { + this.sf.reset(); + this._$expand = false; + } + + + + // 获取录单员 + getCatalogueMember() { + const params = { + }; + return this.service.request(this.service.$api_get_catalogue_member, params, 'GET').pipe( + map((res) => { + if (res) { + console.log(res) + } + }), + ); + } + + selectChange(e: number) { + console.log(e); + } + /** + * 导入货源 + */ + importGoodsSource() { + + } + audit(item: any) { + console.log(item) + } + + /* + * 审核关闭弹窗 + view: 1 + 浮动费用: 0 + 查看评价: 3 + */ + handleCancel(type: string) { + console.log(type) + if(type === '0') { + this.isVisible = false + } else if(type === '1') { + console.log(type) + this.isVisibleView = false + } else if(type === '2') { + console.log(type) + this.isVisibleEvaluate = false + } + } + /** + * 审核通过按钮 + */ + handleOK() { + + } + OpenPrice() { + this.isVisible = true + } + /** + * 浮动费用查看 + */ + FloatView(item: any) { + console.log(item) + this.isVisibleView = true + } + /** + *查看评价 + */ + viewEvaluate(item: any) { + console.log(item) + this.isVisibleEvaluate = true + } +} diff --git a/src/app/routes/waybill-management/waybill-management-routing.module.ts b/src/app/routes/waybill-management/waybill-management-routing.module.ts index 2280bf54..5f1c9a6e 100644 --- a/src/app/routes/waybill-management/waybill-management-routing.module.ts +++ b/src/app/routes/waybill-management/waybill-management-routing.module.ts @@ -8,12 +8,16 @@ */ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; +import { WaybillManagementBulkeDetailComponent } from './components/bulk-detail/bulk-detail.component'; +import { WaybillManagementBulkComponent } from './components/bulk/bulk.component'; import { WaybillManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component'; import { WaybillManagementVehicleComponent } from './components/vehicle/vehicle.component'; const routes: Routes = [ { path: 'vehicle', component: WaybillManagementVehicleComponent }, { path: 'vehicle-detail/:id', component: WaybillManagementVehicleDetailComponent }, + { path: 'bulk', component: WaybillManagementBulkComponent }, + { path: 'bulk-detail/:id', component: WaybillManagementBulkeDetailComponent }, ] @NgModule({ imports: [RouterModule.forChild(routes)], diff --git a/src/app/routes/waybill-management/waybill-management.module.ts b/src/app/routes/waybill-management/waybill-management.module.ts index 568fdadc..2e96cef6 100644 --- a/src/app/routes/waybill-management/waybill-management.module.ts +++ b/src/app/routes/waybill-management/waybill-management.module.ts @@ -1,13 +1,15 @@ /* * @Author: your name * @Date: 2021-12-03 15:31:52 - * @LastEditTime: 2021-12-07 14:57:09 + * @LastEditTime: 2021-12-07 15:20:01 * @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\order-management\order-management.module.ts */ import { NgModule, Type } from '@angular/core'; import { SharedModule } from '@shared'; +import { WaybillManagementBulkeDetailComponent } from './components/bulk-detail/bulk-detail.component'; +import { WaybillManagementBulkComponent } from './components/bulk/bulk.component'; import { WaybillManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component'; @@ -15,7 +17,9 @@ import { WaybillManagementVehicleComponent } from './components/vehicle/vehicle. import { WaybillManagementRoutingModule } from './waybill-management-routing.module'; const COMPONENTS: Type[] = [ WaybillManagementVehicleComponent, - WaybillManagementVehicleDetailComponent + WaybillManagementVehicleDetailComponent, + WaybillManagementBulkComponent, + WaybillManagementBulkeDetailComponent ]; @NgModule({ diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 512cc7cd..e5b4fb6d 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -260,12 +260,12 @@ }, { "text": "大宗运单", - "link": "/waybill-management/vehicle" + "link": "/waybill-management/bulk" }, { "hide": true, "text": "大宗运单详情", - "link": "/waybill-management/vehicle-detail/:id" + "link": "/waybill-management/bulk-detail/:id" } ] }, diff --git a/src/index.html b/src/index.html index 7330ae04..813be1c5 100644 --- a/src/index.html +++ b/src/index.html @@ -1,7 +1,7 @@