订单
This commit is contained in:
		| @ -0,0 +1,153 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 15:31:52 | ||||
|  * @LastEditTime: 2021-12-07 15:09:32 | ||||
|  * @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.html | ||||
| --> | ||||
| <page-header-wrapper [title]="''" [logo]="logo"> | ||||
|   <ng-template #logo> | ||||
|     <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> | ||||
|       <i nz-icon nzType="left" nzTheme="outline"></i> | ||||
|     </button> | ||||
|   </ng-template> | ||||
| </page-header-wrapper> | ||||
| <nz-card> | ||||
|   <nz-spin *ngIf="!i" class="modal-spin"></nz-spin> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="4"> | ||||
|       <sv-container class="bdr"> | ||||
|         <sv label="订单号" col="1">{{ i?.no }}</sv> | ||||
|         <sv-title class="text-center text-lg">待接单555</sv-title> | ||||
|         <sv-title> | ||||
|           <div class=""> | ||||
|             <a class="btn-size" (click)="hand()">指派车队长</a> | ||||
|             <!-- <a class="btn-size m-lg mr-lg">取消货源</a> | ||||
|             <a class="btn-size">再下一单</a> --> | ||||
|           </div> | ||||
|         </sv-title> | ||||
|       </sv-container> | ||||
|     </div> | ||||
|     <div nz-col nzSpan="16" class="approval-status"> | ||||
|       <nz-steps style="width: 80%; margin: 0 auto" [nzLabelPlacement]="'vertical'"> | ||||
|         <nz-step nzStatus="finish" nzIcon="user" [nzDescription]="i?.createAt" nzTitle="下单"></nz-step> | ||||
|         <nz-step nzStatus="finish" nzIcon="solution" nzTitle="完结"></nz-step> | ||||
|       </nz-steps> | ||||
|     </div> | ||||
|   </div> | ||||
|   <nz-divider></nz-divider> | ||||
|   <div sv-container *ngIf="i"> | ||||
|     <sv label="项目名称">{{ i?.owner }}</sv> | ||||
|     <sv label="调度员">32943898021309809423</sv> | ||||
|     <sv label="承诺付款时间">3321944288191034921</sv> | ||||
|     <sv label="服务类型">18112345678</sv> | ||||
|   </div> | ||||
|   <nz-divider></nz-divider> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="6"> | ||||
|       <div class="source-info"> | ||||
|         <h3>装卸货信息</h3> | ||||
|         <p>装货地:广东省深圳市龙岗区怡亚通大厦</p> | ||||
|         <p>联系人:奥利给/13680058545</p> | ||||
|         <p>卸货地:广东省深圳市福田区岗厦村9巷8号405(新村)</p> | ||||
|         <p>联系人:花花世界/13680058545</p> | ||||
|         <p>发货日期:广东省深圳市福田区岗厦村9巷8号405(新村)</p> | ||||
|         <p>卸货日期:花花世界/13680058545</p> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div nz-col nzSpan="5"> | ||||
|       <div class="source-info bdr bdl pl-md"> | ||||
|         <h3>货物信息</h3> | ||||
|         <p>货物名称:广东省深圳市龙岗区怡亚通大厦</p> | ||||
|         <p>重量/体积:广东省深圳市福田区岗厦村9巷8号405(新村)</p> | ||||
|         <p>车型/车长:花花世界/13680058545</p> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div nz-col nzSpan="5"> | ||||
|       <div class="source-info bdr bdl pl-md"> | ||||
|         <h3>托运信息</h3> | ||||
|         <p>公司名称:广东省深圳市龙岗区怡亚通大厦</p> | ||||
|         <p>联系人:广东省深圳市福田区岗厦村9巷8号405(新村)</p> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div nz-col nzSpan="5"> | ||||
|       <div class="source-info bdr pl-md"> | ||||
|         <h3>承运信息</h3> | ||||
|         <p>司机:广东省深圳市龙岗区怡亚通大厦</p> | ||||
|         <p>车牌号:广东省深圳市福田区岗厦村9巷8号405(新村)</p> | ||||
|         <p>车型/车长/承重:{{'拖车'}} | {{'4.5米'}} | {{'15吨'}}</p> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div class="source-info pl-md"> | ||||
|       <h3>补充信息</h3> | ||||
|       <p style="color: #1890ff;">协议附件</p> | ||||
|       <p style="color: #1890ff;"> 装车附件</p> | ||||
|       <p style="color: #1890ff;">卸货附件</p> | ||||
|       <p style="color: #1890ff;">回单附件</p> | ||||
|     </div> | ||||
|   </div> | ||||
|   <nz-divider></nz-divider> | ||||
|   <div nz-row> | ||||
|     <div class="freight-info-box"> | ||||
|       <h3>运费信息</h3> | ||||
|       <div class="text-right"> | ||||
|         <p><label class="freigth-label">收款人:</label><span>{{400 | currency }}</span></p> | ||||
|         <p><label class="freigth-label">预付:</label><span>{{400 | currency }}</span></p> | ||||
|         <p><label class="freigth-label">油卡:</label><span>{{400 | currency }}</span></p> | ||||
|         <p><label class="freigth-label">到付:</label><span>{{400 | currency }}</span></p> | ||||
|         <p><label class="freigth-label">回单付:</label><span>{{400 | currency}}</span></p> | ||||
|         <p><label class="freigth-label">附加费:</label><span>{{400 | currency }}</span></p> | ||||
|       </div> | ||||
|     </div> | ||||
|     <nz-divider></nz-divider> | ||||
|     <div class="freight-info-box" nz-row> | ||||
|       <div nz-col nzSpan="24"> | ||||
|         <h3 class="text-right"><label>总计 :</label> <span class="text-error-dark text-xl">{{400 | currency }}</span></h3> | ||||
|         <h3 class="text-right">未支付</h3> | ||||
|       </div> | ||||
|  | ||||
|     </div> | ||||
|   </div> | ||||
|   <nz-divider></nz-divider> | ||||
|   <div style="display: flex; justify-content: space-evenly;"> | ||||
|     <div> | ||||
|       <div  style="position: relative;"> | ||||
|         <div style="height: 24px; width: 90px; background-color: #68758e;position: absolute; top: -109%; left: -12%;color: #fff;text-align: center;">平台支付</div> | ||||
|         <span class="leftPadding">司机运输费666</span> | ||||
|         <span class="leftPadding">1000.00</span> | ||||
|         <span class="leftPadding">未支付</span> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div> | ||||
|       <div style="position: relative;"> | ||||
|         <div style="height: 24px; width: 90px; background-color: #68758e;position: absolute; top: -109%; left: -5%;color: #fff;text-align: center;">货主支付</div> | ||||
|         <span class="leftPadding">司机运输费22</span> | ||||
|         <span class="leftPadding">1000.00</span> | ||||
|         <span class="leftPadding">未支付</span> | ||||
|       </div> | ||||
|       <div> | ||||
|         <span class="leftPadding">附加费</span> | ||||
|         <span class="leftPadding">1000.00</span> | ||||
|         <span class="leftPadding">未支付</span> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
|   <nz-divider></nz-divider> | ||||
|    | ||||
|   <div nz-row> | ||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%;" > | ||||
|       <div nz-row >  | ||||
|         <div nz-col [nzSpan]='12'> | ||||
|     <st #st [data]="i?.auditRecordList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|     </st> | ||||
|   </div> | ||||
|   <div nz-col [nzSpan]='12'> | ||||
|      <amap-path-simplifier></amap-path-simplifier> | ||||
|    </div> | ||||
|    </div> | ||||
|     </nz-card> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
|  | ||||
| @ -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; | ||||
|     } | ||||
| } | ||||
| @ -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<OrderManagementBulkeDetailComponent>; | ||||
|  | ||||
|   beforeEach(waitForAsync(() => { | ||||
|     TestBed.configureTestingModule({ | ||||
|       declarations: [ OrderManagementBulkeDetailComponent ] | ||||
|     }) | ||||
|     .compileComponents(); | ||||
|   })); | ||||
|  | ||||
|   beforeEach(() => { | ||||
|     fixture = TestBed.createComponent(OrderManagementBulkeDetailComponent); | ||||
|     component = fixture.componentInstance; | ||||
|     fixture.detectChanges(); | ||||
|   }); | ||||
|  | ||||
|   it('should create', () => { | ||||
|     expect(component).toBeTruthy(); | ||||
|   }); | ||||
| }); | ||||
| @ -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); | ||||
|   } | ||||
|    | ||||
| } | ||||
| @ -0,0 +1,160 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 11:10:14 | ||||
|  * @LastEditTime: 2021-12-07 15:21:38 | ||||
|  * @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\supply-management\components\vehicle\vehicle.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" [loading]="service.http.loading" | ||||
|         (formSubmit)="st?.load(1)" (formReset)="resetSF()"></sf> | ||||
|     </div> | ||||
|  | ||||
|     <!-- 查询字段大于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" [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> | ||||
|   <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate" > | ||||
|     <nz-tab *ngFor="let tab of tabs; let i = index"  [nzTitle]="tab.name + ' (' + tab.count + ') '" (nzClick)="tabChange(i)"> | ||||
|     </nz-tab> | ||||
|   </nz-tabset> | ||||
|   <div style="margin-top: 15px;"> | ||||
|     <!-- [req]="{ method: 'GET', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|       [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|       [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|       [loadingDelay]="500" [loading]="service.http.loading" --> | ||||
|     <st #st [scroll]="{ x: '1200px' }" [data]="service.$api_get_catalogue_member" [columns]="columns"> | ||||
|       <ng-template st-row="goodsId" let-item let-index="index"> | ||||
|         <a [routerLink]="'/order-management/bulk-detail/'+item.id">{{item.no}}</a> | ||||
|       </ng-template> | ||||
|       <!-- <ng-template st-row="externalSn" let-item let-index="index"> | ||||
|         <span class="mr-xs">{{111111}}</span> | ||||
|         <a (click)="editEnternalSn(item)">编辑</a> | ||||
|       </ng-template> --> | ||||
|       <ng-template st-row="enStatusStr27878" let-item let-index="index"> | ||||
|         <div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="feiong" let-item let-index="index"> | ||||
|         <div style="color: aqua;" (click)="OpenPrice()"> | ||||
|           {{item.no}} | ||||
|         </div> | ||||
|       </ng-template> | ||||
|       <ng-template #contentTemplate> | ||||
|         <div> | ||||
|           <p>预付:¥200.00</p> | ||||
|           <p>到付:¥200.00</p> | ||||
|           <p>油卡:¥200.00</p> | ||||
|           <p>回单付:¥200.00</p> | ||||
|           <p>小计:¥200.00</p> | ||||
|           <p>附加费:¥200.00</p> | ||||
|         </div> | ||||
|       </ng-template> | ||||
|     </st> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisible"  [nzWidth]="600" [nzFooter]="nzModalFooter" nzTitle="浮动费用" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('0')"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <st | ||||
|     #stFloat | ||||
|     multiSort | ||||
|     size="small" | ||||
|     [bordered]="true" | ||||
|     [data]="datass" | ||||
|     [columns]="columnsFloat" | ||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|     [loadingDelay]="500" | ||||
|   > | ||||
|   </st> | ||||
|   </ng-container> | ||||
|   <ng-template #nzModalFooter> | ||||
|     <button nz-button nzType="primary" (click)="handleCancel('0')">取消</button> | ||||
|     <button nz-button nzType="default" (click)="handleOK()">确定</button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
|  | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisibleView"  [nzWidth]="600" [nzFooter]="nzModalFooterview" nzTitle="查看" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('1')"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <sf #sfView [schema]="schemaView" [ui]="uiView" [compact]="true" [button]="'none'"> | ||||
|       <ng-template sf-template="no" let-me let-ui="uiView" let-schema="schemaView"> | ||||
|        <div style="display: flex;"> | ||||
|         <nz-input-number [(ngModel)]="demoValue" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number> | ||||
|         <div class="left_btn">元/吨</div> | ||||
|        </div> | ||||
|       </ng-template> | ||||
|     </sf> | ||||
|     <st | ||||
|     #stFloatView | ||||
|     multiSort | ||||
|     size="small" | ||||
|     [bordered]="true" | ||||
|     [data]="datass" | ||||
|     [columns]="columnsFloatView" | ||||
|     [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|     [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|     [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|     [loadingDelay]="500" | ||||
|   > | ||||
|   </st> | ||||
|   <div><span>变更原因:</span></div> | ||||
|   <div><span>拒绝原因:</span></div> | ||||
|   <div><span>注:</span></div> | ||||
|   </ng-container> | ||||
|   <ng-template #nzModalFooterview> | ||||
|     <button nz-button nzType="default" (click)="handleCancel('1')">取消</button> | ||||
|     <button nz-button nzType="primary" (click)="handleOK()">确定</button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisibleEvaluate"  [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate"  (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('2')"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <nz-tabset> | ||||
|       <nz-tab nzTitle="我的评价"> | ||||
|       <div> | ||||
|         评分: <nz-rate [ngModel]="2.5" nzAllowHalf></nz-rate> | ||||
|         <div><span>评价内容:</span></div> | ||||
|       </div> | ||||
|       </nz-tab> | ||||
|       <nz-tab nzTitle="司机评价"> | ||||
|       <div> | ||||
|         暂无评价内容 | ||||
|       </div> | ||||
|       </nz-tab> | ||||
|     </nz-tabset> | ||||
|   </ng-container> | ||||
|   <ng-template #nzModalFooterEvaluate> | ||||
|     <button nz-button nzType="default" (click)="handleCancel('2')">取消</button> | ||||
|     <button nz-button nzType="primary" (click)="handleOK()">确定</button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
| <ng-template #extraTemplate> | ||||
|   <div> | ||||
|     <button  nz-button nzType="primary">导出</button> | ||||
|   </div> | ||||
| </ng-template> | ||||
| @ -0,0 +1,7 @@ | ||||
|     .left_btn { | ||||
|          width: 50px; | ||||
|         height: 32px;  | ||||
|          padding-left: 8px; | ||||
|          line-height:32px;  | ||||
|          background-color: #d7d7d7; | ||||
|     } | ||||
| @ -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<OrderManagementBulkComponent>; | ||||
|  | ||||
|   beforeEach(waitForAsync(() => { | ||||
|     TestBed.configureTestingModule({ | ||||
|       declarations: [ OrderManagementBulkComponent ] | ||||
|     }) | ||||
|     .compileComponents(); | ||||
|   })); | ||||
|  | ||||
|   beforeEach(() => { | ||||
|     fixture = TestBed.createComponent(OrderManagementBulkComponent); | ||||
|     component = fixture.componentInstance; | ||||
|     fixture.detectChanges(); | ||||
|   }); | ||||
|  | ||||
|   it('should create', () => { | ||||
|     expect(component).toBeTruthy(); | ||||
|   }); | ||||
| }); | ||||
| @ -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 | ||||
|   } | ||||
| } | ||||
| @ -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)], | ||||
|  | ||||
| @ -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<void>[] = [ | ||||
|   WaybillManagementVehicleComponent, | ||||
|   WaybillManagementVehicleDetailComponent | ||||
|   WaybillManagementVehicleDetailComponent, | ||||
|   WaybillManagementBulkComponent, | ||||
|   WaybillManagementBulkeDetailComponent | ||||
| ]; | ||||
|  | ||||
| @NgModule({ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user