merge
This commit is contained in:
		| @ -76,12 +76,10 @@ | ||||
|               </div> | ||||
|               <div nz-col [nzSpan]="10">{{ infoData.phone }}</div> | ||||
|               <div nz-col [nzSpan]="10"> | ||||
|                 <span *ngIf="infoData.phone; else elsePhone" | ||||
|                   ><i nz-icon [nzType]="'check-circle'" [nzTheme]="'fill'" style="color: #52c41a"></i> 已绑定</span | ||||
|                 > | ||||
|                 <ng-template #elsePhone | ||||
|                   ><i nz-icon [nzType]="'question-circle'" [nzTheme]="'fill'" style="color: #ccc"></i> 未绑定</ng-template | ||||
|                 > | ||||
|                 <span *ngIf="infoData.phone; else elsePhone"><i nz-icon [nzType]="'check-circle'" [nzTheme]="'fill'" | ||||
|                   style="color: #52c41a"></i> 已绑定</span> | ||||
|               <ng-template #elsePhone><i nz-icon [nzType]="'question-circle'" [nzTheme]="'fill'" | ||||
|                   style="color: #ccc"></i> 未绑定</ng-template> | ||||
|               </div> | ||||
|             </div> | ||||
|           </nz-list-item-meta-title> | ||||
| @ -110,22 +108,6 @@ | ||||
|         <div class="item-btn"><a (click)="edit('password')">修改</a></div> | ||||
|       </nz-list-item> | ||||
|     </nz-list> | ||||
|     <!-- <div class="info"> | ||||
|       <nz-card style="width: 100%; margin-top: 16px" [nzBordered]="false"> | ||||
|         <nz-card-meta [nzAvatar]="avatarTemplate" [nzTitle]="infoData.nickName" [nzDescription]="content"></nz-card-meta> | ||||
|         <ng-template #avatarTemplate> | ||||
|           <nz-avatar | ||||
|             style="width: 80px; height: 80px; border: 1px solid #979797; border-radius: 100%" | ||||
|             [nzSrc]="infoData.avatar" | ||||
|           ></nz-avatar> | ||||
|         </ng-template> | ||||
|         <ng-template #content> | ||||
|           <div>用户名:{{ infoData.name }} | 手机号:{{ infoData.phone }}</div> | ||||
|           <div>性别:{{ infoData.sexName }} | 生日:{{ infoData.birthday }}</div> | ||||
|           <div>真实姓名:{{ infoData.realName }} | 身份证号码:{{ infoData.certificateNumber }}</div> | ||||
|         </ng-template> | ||||
|       </nz-card> | ||||
|       <a (click)="edit('info')" class="info-btn">修改</a> | ||||
|     </div> --> | ||||
|  | ||||
|   </nz-card> | ||||
| </div> | ||||
|  | ||||
| @ -134,11 +134,9 @@ export class AccountComponentsCenterComponent implements OnInit { | ||||
|     }; | ||||
|   } | ||||
|   getInfo() { | ||||
|     const params = { | ||||
|       // id: this.i.id, | ||||
|     }; | ||||
|     // this.service.http.post(this.service.$api_getUserInfo, params).subscribe((res) => { | ||||
|     //   this.infoData = res.data; | ||||
|     this.service.http.post(this.service.$api_get_current_user_info).subscribe((res) => { | ||||
|       console.log(res) | ||||
|       this.infoData = res.data; | ||||
|       // this.infoData.avatar = [ | ||||
|       //   { | ||||
|       //     uid: -1, | ||||
| @ -150,7 +148,7 @@ export class AccountComponentsCenterComponent implements OnInit { | ||||
|       //     }, | ||||
|       //   }, | ||||
|       // ]; | ||||
|     // }); | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   edit(tpye: string) { | ||||
| @ -200,7 +198,7 @@ export class AccountComponentsCenterComponent implements OnInit { | ||||
|  | ||||
|   formSubmit(value: any): void { | ||||
|     const params = { ...value }; | ||||
|     this.service.request(`${this.service.$api_updateUserInfo}`, params).subscribe((res) => { | ||||
|     this.service.request(`${this.service.$api_get_current_user_info}`, params).subscribe((res) => { | ||||
|       if (res === true) { | ||||
|         this.service.msgSrv.success('保存成功'); | ||||
|         this.getInfo(); | ||||
|  | ||||
| @ -105,7 +105,7 @@ export class AccountComponentsEditNameComponent implements OnInit, AfterViewInit | ||||
|     const params = { | ||||
|       // phoneNumber: phone | ||||
|     }; | ||||
|     this.service.request(this.service.$api_get_msg_code, params, 'POST', true, 'FORM').subscribe((res) => { | ||||
|     this.service.request(this.service.$api_get_current_user_info, params, 'POST', true, 'FORM').subscribe((res) => { | ||||
|       console.log(res); | ||||
|       // code==503046 弹出网易盾 | ||||
|       if (res && res.code === '1') { | ||||
| @ -138,7 +138,7 @@ export class AccountComponentsEditNameComponent implements OnInit, AfterViewInit | ||||
|     const params = { | ||||
|       // id: this.i.id, | ||||
|     }; | ||||
|     this.service.http.post(this.service.$api_get_current_user_detail, params).subscribe((res) => { | ||||
|     this.service.http.post(this.service.$api_get_current_user_info, params).subscribe((res) => { | ||||
|       // if (res) { | ||||
|       //   this.getCaptcha(res.data.phone); | ||||
|       // } | ||||
| @ -204,7 +204,7 @@ export class AccountComponentsEditNameComponent implements OnInit, AfterViewInit | ||||
|     const params = { | ||||
|       ...this.sf.value, | ||||
|     }; | ||||
|     this.service.http.post(this.service.$api_updateUserName, params).subscribe((res) => { | ||||
|     this.service.http.post(this.service.$api_get_current_user_info, params).subscribe((res) => { | ||||
|       console.log(res, 'submitForm'); | ||||
|       if (res.success) { | ||||
|         this.service.msgSrv.success(res.msg); | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| /* | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-11-02 11:12:21 | ||||
|  * @LastEditTime: 2021-11-05 10:04:26 | ||||
|  * @LastEditors: your name | ||||
|  * @LastEditTime: 2021-12-13 17:43:32 | ||||
|  * @LastEditors: Please set LastEditors | ||||
|  * @Description: In User Settings Edit | ||||
|  * @FilePath: \scm-ows-ui\src\app\routes\account\services\account.service.ts | ||||
|  */ | ||||
| @ -17,44 +17,9 @@ import { EAFileUtil } from 'src/app/shared/utils/file.util'; | ||||
|   providedIn: 'root', | ||||
| }) | ||||
| export class AccountService extends BaseService { | ||||
|   public $api_add_one!: string; | ||||
|   public $api_add_many!: string; | ||||
|   public $api_edit_one!: string; | ||||
|   public $api_edit_many!: string; | ||||
|   public $api_del_one!: string; | ||||
|   public $api_del_many!: string; | ||||
|   public $api_get_many!: string; | ||||
|   public $api_get_one!: string; | ||||
|   public $api_get_page!: string; | ||||
|   public $api_export!: string; | ||||
|   public $api_import!: string; | ||||
|   public $api_import_download_tpl!: string; | ||||
|   // 获取当前登录用户详情 | ||||
|   $api_get_current_user_detail = `/cuc/user/getUserInfo`; | ||||
|   // 获取当前登录用户基本信息 | ||||
|   $api_getUserInfo = `/cuc/user/getUserInfo`; | ||||
|   // 修改用户信息 | ||||
|   $api_updateUserInfo = `/cuc/userBasicInfo/updateUserInfo`; | ||||
|   // 凭证修改手机号 | ||||
|   $api_voucherUpdatePhone = '/cuc/userBasicInfo/forgetPassword/voucherUpdatePhone'; | ||||
|   // 凭证修改密码 | ||||
|   $api_voucherUpdatePassword = '/cuc/userBasicInfo/forgetPassword/voucherUpdatePassword'; | ||||
|   // 根据当前登录用户绑定的手机号码获取短信验证码 | ||||
|   public $api_get_msg_code = `/cuc/userBasicInfo/getLoginUserSMVerificationCode`; | ||||
|   // 验证手机号 | ||||
|   $api_verifyPhone = '/cuc/userBasicInfo/forgetPassword/verifyPhone'; | ||||
|  | ||||
|   // 获取当前登录用户详情 | ||||
|   $api_get_current_user_info = `/cuc/user/getUserInfo`; | ||||
|  | ||||
|   // 修改用户名 | ||||
|   $api_updateUserName = `/cuc/userBasicInfo/updateUserName`; | ||||
|   // 验证用户名是否已被使用 | ||||
|   $api_checkUserName = `/cuc/userBasicInfo/checkUserName`; | ||||
|  | ||||
|   // constructor(http: _HttpClient, msgSrv: NzMessageService, fileExt: EAFileUtil) { | ||||
|   //   super(http, msgSrv, fileExt); | ||||
|   // } | ||||
|   $api_get_current_user_info = `/api/mdc/cuc/user/getUserInfo`; | ||||
|   constructor(public injector: Injector) { | ||||
|     super(injector); | ||||
|   } | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 11:10:14 | ||||
|  * @LastEditTime: 2021-12-09 21:21:27 | ||||
|  * @LastEditTime: 2021-12-13 15:24:41 | ||||
|  * @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\bulk-detail\bulk-detail.component.ts | ||||
| @ -119,7 +119,7 @@ export class SupplyManagementBulkDetailComponent implements OnInit { | ||||
|   } | ||||
|     // 修改货源  | ||||
|     modification() { | ||||
|       this.router.navigate(['/supply-management/vehicle-amend', this.id], { | ||||
|       this.router.navigate(['/supply-management/bulk-amend', this.id], { | ||||
|         queryParams: { | ||||
|           sta: 3 | ||||
|         }, | ||||
| @ -127,7 +127,7 @@ export class SupplyManagementBulkDetailComponent implements OnInit { | ||||
|     } | ||||
|     //  再下一单 | ||||
|     nextOrder() { | ||||
|       this.router.navigate(['/supply-management/vehicle-amend', this.id], { | ||||
|       this.router.navigate(['/supply-management/bulk-amend', this.id], { | ||||
|         queryParams: { | ||||
|           sta: 4 | ||||
|         }, | ||||
|  | ||||
| @ -0,0 +1,229 @@ | ||||
| <page-header-wrapper [title]="PageStatus" [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> | ||||
|   <div class="card-title">货源单设置</div> | ||||
|   <sf #sf1 [schema]="schema1"  [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:-km,预计行程耗时:-小时</span></div> | ||||
|   <form nz-form [formGroup]="validateForm1" role="form"> | ||||
|     <div nz-row [nzGutter]="24"> | ||||
|       <div nz-col [nzSpan]="8"> | ||||
|         <div *ngFor="let data of startInfo; let idx = index"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入装货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input | ||||
|                     nz-input | ||||
|                     [(ngModel)]="data.detailedAddress" | ||||
|                     (click)="openMap('start', idx)" | ||||
|                     formControlName="loadAddress{{ idx }}" | ||||
|                     placeholder="请输入装货地" | ||||
|                   /> | ||||
|                 </nz-input-group> | ||||
|               </div> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入联系人信息'"> | ||||
|               <div class="align-center"> | ||||
|                 <input nz-input [(ngModel)]="data.appUserName" [ngModelOptions]="{ standalone: true }" maxlength="30" /> | ||||
|                 <input style="margin-left: 12px" nz-input [(ngModel)]="data.contractTelephone" [ngModelOptions]="{ standalone: true }" maxlength="11" /> | ||||
|               </div> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="8"> | ||||
|         <div style="display: flex; justify-content: center"> | ||||
|           <span style="padding: 24 px; font-size: 30px; color: #7d7d7d"><i nz-icon nzType="swap" nzTheme="outline"></i></span> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="8"> | ||||
|         <div *ngFor="let data of endInfo; let idx = index"> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input | ||||
|                     nz-input | ||||
|                     [(ngModel)]="data.detailedAddress" | ||||
|                     (click)="openMap('end', idx)" | ||||
|                     formControlName="unloadAddress{{ idx }}" | ||||
|                     placeholder="请输入卸货地" | ||||
|                   /> | ||||
|                 </nz-input-group> | ||||
|               </div> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|           <nz-form-item> | ||||
|             <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||
|             <nz-form-control [nzErrorTip]="'请输入联系人信息'"> | ||||
|               <div class="align-center"> | ||||
|                 <input nz-input [(ngModel)]="data.appUserName" [ngModelOptions]="{ standalone: true }" maxlength="30" /> | ||||
|                 <input style="margin-left: 12px" nz-input [(ngModel)]="data.contractTelephone" [ngModelOptions]="{ standalone: true }" maxlength="11" /> | ||||
|               </div> | ||||
|             </nz-form-control> | ||||
|           </nz-form-item> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|     <!-- <div *ngIf="npp" nz-row [nzGutter]="24" style="margin-top: 24px"> | ||||
|       <div nz-col [nzSpan]="9"> | ||||
|         <nz-form-item> | ||||
|           <nz-form-label [nzSpan]="4" nzRequired>装货时间</nz-form-label> | ||||
|           <nz-form-control [nzErrorTip]="'请输入装货时间'"> | ||||
|             <nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="createTime"  [(ngModel)]="creatTime"></nz-date-picker> | ||||
|           </nz-form-control> | ||||
|         </nz-form-item> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="8"> | ||||
|         <nz-form-item> | ||||
|           <nz-form-label [nzSpan]="9" nzRequired>卸货时间</nz-form-label> | ||||
|           <nz-form-control [nzErrorTip]="'请输入卸货时间'"> | ||||
|             <nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="modifyTime"  [(ngModel)]="modifyTime"></nz-date-picker> | ||||
|           </nz-form-control> | ||||
|         </nz-form-item> | ||||
|       </div> | ||||
|     </div> --> | ||||
|     <ng-template #endInconTemp1><i nz-icon nzType="global"></i></ng-template> | ||||
|   </form> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">货物信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="12"> | ||||
|       <sf #sf3 [schema]="schema3" [formData]="sf3data" [button]="'none'" [ui]="ui3"></sf> | ||||
|       <sf #sf4 [schema]="schema4" [formData]="sf4data" [button]="'none'" [ui]="ui4"> | ||||
|         <ng-template sf-template="weight" let-i let-ui="ui"> | ||||
|           <nz-input-group [nzAddOnAfter]="'吨'"> | ||||
|             <input | ||||
|               nz-input | ||||
|               type="number" | ||||
|               [ngModel]="i.value" | ||||
|               min="0" | ||||
|               step="0.01" | ||||
|               (ngModelChange)="i.setValue($event)" | ||||
|               placeholder="总重量,必填" | ||||
|             /> | ||||
|           </nz-input-group> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="volume" let-i let-ui="ui"> | ||||
|           <nz-input-group [nzAddOnAfter]="'方'"> | ||||
|             <input | ||||
|               nz-input | ||||
|               type="number" | ||||
|               [ngModel]="i.value" | ||||
|               min="0" | ||||
|               step="0.01" | ||||
|               (ngModelChange)="i.setValue($event)" | ||||
|               placeholder="总体积" | ||||
|             /> | ||||
|           </nz-input-group> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="number" let-i let-ui="ui"> | ||||
|           <nz-input-group [nzAddOnAfter]="'车'"> | ||||
|             <input | ||||
|               nz-input | ||||
|               type="number" | ||||
|               [ngModel]="i.value" | ||||
|               min="0" | ||||
|               step="0.01" | ||||
|               (ngModelChange)="i.setValue($event)" | ||||
|               placeholder="总车次" | ||||
|             /> | ||||
|           </nz-input-group> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">服务信息</div> | ||||
|   <div nz-row [nzGutter]="24" style="margin: 24px 0"> | ||||
|     <div nz-col [nzSpan]="10"> | ||||
|       <div class="align-center"> | ||||
|         <span style="font-weight: bolder; margin-right: 24px">购买货运险</span> | ||||
|         <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
|   <ng-template #template1>推荐投保,填写货值自动估保费,司机接单后不可退保。详见<a>《投保告知》</a></ng-template> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="12"> | ||||
|       <sf #sf5 [schema]="schema5" [formData]="sf5data" [button]="'none'" [ui]="ui5"> | ||||
|         <ng-template sf-template="goodsValue" let-i let-ui="ui"> | ||||
|           <div class="align-center"> | ||||
|             <input nz-input [ngModel]="i.value" (ngModelChange)="i.setValue($event)" /> | ||||
|             <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" | ||||
|               ><i nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i | ||||
|             ></span> | ||||
|             <ng-template #template2>注意事项:<br/> | ||||
|  | ||||
|               ①请仔细阅读《投保告知》<br/> | ||||
|                | ||||
|               ②港澳台、西藏不在投保范围内,不予承保<br/> | ||||
|                | ||||
|               ③保价费最低收费2元,请按真实货值填写,录入的所有信息必须确保真实,不如实录入的内容,不承担对应赔偿责任。</ng-template> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">补充信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="12"> | ||||
|       <sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"></sf> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="card-title">运费信息</div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="12"> | ||||
|       <sf #sf7 [schema]="schema7"  [formData]="sf7data" [button]="'none'" [ui]="ui7"> | ||||
|         <ng-template sf-template="totalFee" let-i let-ui="ui" > | ||||
|           <div *ngIf="this.PageStatus === '整车修改' || this.PageStatus === '整车下一单'">{{totalFees | currency: '¥'}}</div> | ||||
|           <div *ngIf="this.PageStatus === '大宗修改' || this.PageStatus === '大宗下一单'"> | ||||
|             <nz-input-number [(ngModel)]="totalFees" (ngModelChange)="i.setValue($event)" [nzMin]="1"  [nzStep]="0.01"></nz-input-number> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|           <div nz-row> | ||||
|             <div class="align-center"> | ||||
|               <div nz-col nzSpan="16"> | ||||
|                 <!-- <input nz-input [ngModel]="i.value" (ngModelChange)="i.setValue($event)" /> --> | ||||
|                 <nz-input-number [(ngModel)]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" [nzMax]="30" [nzStep]="1"></nz-input-number> | ||||
|               </div> | ||||
|               <div nz-col nzSpan="8"> | ||||
|                 <span>天内支付运费</span> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
|         </ng-template> | ||||
|       </sf> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card> | ||||
|   <div class="align-center"> | ||||
|     <button nz-button nzType="primary" (click)="chooseFamifiar()">指派熟车</button> | ||||
|     <button nz-button nzType="primary" style="margin-left: 48px" (click)="submit()">司机抢单</button> | ||||
|   </div> | ||||
| </nz-card> | ||||
| @ -0,0 +1,22 @@ | ||||
| .tip-font { | ||||
|   margin-left: 16px; | ||||
|   font-weight: 500; | ||||
|   font-size: 12px; | ||||
| } | ||||
|  | ||||
| .card-title { | ||||
|   margin-bottom: 24px; | ||||
|   font-weight: bold; | ||||
|   font-size: 16px; | ||||
| } | ||||
|  | ||||
| .align-center { | ||||
|   display: flex; | ||||
|   align-items: center; | ||||
|   justify-content: center; | ||||
| } | ||||
|  | ||||
| #container { | ||||
|   width: 300px; | ||||
|   height: 180px; | ||||
| } | ||||
| @ -0,0 +1,796 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { FormBuilder, FormGroup,Validators,FormControl } from '@angular/forms'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { | ||||
|   SFComponent, | ||||
|   SFNumberWidgetSchema, | ||||
|   SFSchema, | ||||
|   SFSelectWidgetSchema, | ||||
|   SFTextareaWidgetSchema, | ||||
|   SFUISchema | ||||
| } from '@delon/form'; | ||||
| import { _HttpClient } from '@delon/theme'; | ||||
| import { AmapPoiPickerComponent } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { PublishGoodsChooseFamifiarComponent } from '../choose-famifiar/choose-famifiar.component'; | ||||
| import { SupplyManagementService } from '../../services/supply-management.service'; | ||||
| import { debug } from 'console'; | ||||
| @Component({ | ||||
|   selector: 'app-publish-goods-bulk-publish', | ||||
|   templateUrl: './bulk-publish.component.html', | ||||
|   styleUrls: ['./bulk-publish.component.less'] | ||||
| }) | ||||
| export class  SupplyManagementBulkPublishComponent implements OnInit { | ||||
|   validateForm1: FormGroup; | ||||
|   newTempchecked = false; //是否存入新模板 | ||||
|   sf1data: any; // 货源单设置回显 | ||||
|   sf3data: any; // 货源单设置回显 | ||||
|   sf4data: any; // 货源单设置回显 | ||||
|   sf5data: any; // 货源单设置回显 | ||||
|   sf6data: any; // 货源单设置回显 | ||||
|   sf7data: any; // 货源单设置回显 | ||||
|   creatTime: any; // 货源单设置回显 | ||||
|   modifyTime: any; // 货源单设置回显 | ||||
|   totalFees: any; // 总数信息 | ||||
|   id = this.route.snapshot.params.id; | ||||
|   // // 单位 | ||||
|   unit1 = '吨'; | ||||
|   unit2 = '方'; | ||||
|   unit3 = '保价费金额'; | ||||
|   startInfo: any = []; | ||||
|   endInfo: any = []; | ||||
|   PageStatus = ''; | ||||
|   dataList: any; | ||||
|   constructor(private http: _HttpClient, fb: FormBuilder, private router: Router, private route: ActivatedRoute, private modalService: NzModalService, public service: SupplyManagementService) { | ||||
|     this.validateForm1 = fb.group({ | ||||
|       createTime: [null, []], | ||||
|       modifyTime: [null, []], | ||||
|       loadAddress0: [null, [Validators.required]], | ||||
|       loadName0: [null, [Validators.required]], | ||||
|       loadPhone0: [null, [Validators.required]], | ||||
|       unloadAddress0: [null, [Validators.required]], | ||||
|       unloadName0: [null, [Validators.required]], | ||||
|       unloadPhone0: [null, [Validators.required]] | ||||
|     }); | ||||
|   } | ||||
|   @ViewChild('sf1', { static: false }) sf1!: SFComponent; | ||||
|   schema1: SFSchema = {}; | ||||
|   ui1!: SFUISchema; | ||||
|  | ||||
|   @ViewChild('sf2', { static: false }) sf2!: SFComponent; | ||||
|   schema2: SFSchema = {}; | ||||
|   ui2!: SFUISchema; | ||||
|  | ||||
|   @ViewChild('sf3', { static: false }) sf3!: SFComponent; | ||||
|   schema3: SFSchema = {}; | ||||
|   ui3!: SFUISchema; | ||||
|  | ||||
|   @ViewChild('sf4', { static: false }) sf4!: SFComponent; | ||||
|   schema4: SFSchema = {}; | ||||
|   ui4!: SFUISchema; | ||||
|  | ||||
|   @ViewChild('sf5', { static: false }) sf5!: SFComponent; | ||||
|   schema5: SFSchema = {}; | ||||
|   ui5!: SFUISchema; | ||||
|  | ||||
|   @ViewChild('sf6', { static: false }) sf6!: SFComponent; | ||||
|   schema6: SFSchema = {}; | ||||
|   ui6!: SFUISchema; | ||||
|  | ||||
|   @ViewChild('sf7', { static: false }) sf7!: SFComponent; | ||||
|   schema7: SFSchema = {}; | ||||
|   ui7!: SFUISchema; | ||||
|   ngOnInit(): void { | ||||
|     if(this.route.snapshot?.queryParams?.sta === '1') { | ||||
|       console.log('修改') | ||||
|       this.PageStatus = '整车修改'; | ||||
|     } else if(this.route.snapshot?.queryParams?.sta === '2')  { | ||||
|       this.PageStatus = '整车下一单'; | ||||
|     } else if(this.route.snapshot?.queryParams?.sta === '3')  { | ||||
|       this.PageStatus = '大宗修改'; | ||||
|     } else if(this.route.snapshot?.queryParams?.sta === '4')  { | ||||
|       this.PageStatus = '大宗下一单'; | ||||
|     }  | ||||
|     this.initSF1(); | ||||
|     // this.initSF2(); | ||||
|     this.initSF3(); | ||||
|     this.initSF4(); | ||||
|     this.initSF5(); | ||||
|     this.initSF6(); | ||||
|     this.initSF7(); | ||||
|     this.initdata(); | ||||
|   } | ||||
|  | ||||
|   initSF1() { | ||||
|  | ||||
|     this.schema1 = { | ||||
|       properties: { | ||||
|         shipperAppUserName: { | ||||
|           type: 'string', | ||||
|           title: '货主', | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         enterpriseProjectId: { | ||||
|           type: 'string', | ||||
|           title: '项目', | ||||
|           enum: [ | ||||
|             { label: '项目1', value: '1' }, | ||||
|             { label: '项目2', value: '2' } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true | ||||
|             // asyncData: () => | ||||
|             //   this.service.loadChildData2('0', '2').pipe( | ||||
|             //     map((data: any) => { | ||||
|             //       return data.map((m: any) => { | ||||
|             //         return { label: m.name, value: m.id }; | ||||
|             //       }); | ||||
|             //     }), | ||||
|             //   ), | ||||
|             // change: (i) => this.updateCategory(i, '/categoryId2'), | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         enterpriseInfoName: { | ||||
|           type: 'string', | ||||
|           title: '网络货运人', | ||||
|           ui: { | ||||
|             widget: 'text' | ||||
|           }, | ||||
|         }, | ||||
|         deadlineTime: { | ||||
|           title: '截至日期', | ||||
|           type: 'string', | ||||
|           format: 'date-time', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             format: 'yyyy-MM-dd HH:mm:ss' | ||||
|           } | ||||
|         }, | ||||
|         dispatchId: { | ||||
|           type: 'string', | ||||
|           title: '调度员', | ||||
|           enum: [ | ||||
|             { label: '调度员1', value: '1' }, | ||||
|             { label: '调度员2', value: '2' } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true | ||||
|             // asyncData: () => | ||||
|             //   this.service.loadChildData2('0', '2').pipe( | ||||
|             //     map((data: any) => { | ||||
|             //       return data.map((m: any) => { | ||||
|             //         return { label: m.name, value: m.id }; | ||||
|             //       }); | ||||
|             //     }), | ||||
|             //   ), | ||||
|             // change: (i) => this.updateCategory(i, '/categoryId2'), | ||||
|           } as SFSelectWidgetSchema | ||||
|         } | ||||
|       }, | ||||
|     require: ['deadlineTime'] | ||||
|     }; | ||||
|     this.ui1 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 120, | ||||
|         grid: { span: 8 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   // initSF2() { | ||||
|   //   this.schema2 = { | ||||
|   //     properties: { | ||||
|   //       name1: { | ||||
|   //         type: 'string', | ||||
|   //         title: '发货模板', | ||||
|   //         ui: { | ||||
|   //           widget: 'custom', | ||||
|   //           placeholder: '请输入' | ||||
|   //         } | ||||
|   //       } | ||||
|   //     } | ||||
|   //   }; | ||||
|   //   this.ui2 = { | ||||
|   //     '*': { | ||||
|   //       spanLabelFixed: 90, | ||||
|   //       grid: { span: 12 } | ||||
|   //     } | ||||
|   //   }; | ||||
|   // } | ||||
|   initSF3() { | ||||
|     this.schema3 = { | ||||
|       properties: { | ||||
|         goodsName: { | ||||
|           type: 'string', | ||||
|           title: '货物名称', | ||||
|           ui: { | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'GoodsName' }, | ||||
|             placeholder: '请选择' | ||||
|           } | ||||
|         }, | ||||
|         qita: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               goodsName: value => value === '3' | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       }, | ||||
|       required: ['goodsName', ] | ||||
|     }; | ||||
|     this.ui3 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $goodsName: { | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $qita: { | ||||
|         grid: { span: 12 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|   initSF4() { | ||||
|     this.schema4 = { | ||||
|       properties: { | ||||
|         weight: { | ||||
|           type: 'string', | ||||
|           title: '货物数量', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入', | ||||
|             errors: { required: '必填项' } | ||||
|           } | ||||
|         }, | ||||
|         volume: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         number: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         maxWeight: { | ||||
|           type: 'string', | ||||
|           title: '车型/车长', | ||||
|  | ||||
|           enum: [ | ||||
|             { label: '1', value: '1' }, | ||||
|             { label: '2', value: '2' } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择车型', | ||||
|             mode: 'multiple', | ||||
|             errors: { required: '请选择车型' } | ||||
|             // asyncData: () => | ||||
|             //   this.categoryService.loadChildData2('0', '2').pipe( | ||||
|             //     map((data: any) => { | ||||
|             //       return data.map((m: any) => { | ||||
|             //         return { label: m.name, value: m.id }; | ||||
|             //       }); | ||||
|             //     }), | ||||
|             //   ), | ||||
|             // change: (i) => this.updateCategory(i, '/categoryId2'), | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         maxCube: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           enum: [ | ||||
|             { label: '1', value: '1' }, | ||||
|             { label: '2', value: '2' } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择车长', | ||||
|             mode: 'multiple', | ||||
|             errors: { required: '请选择车长' } | ||||
|             // asyncData: () => | ||||
|             //   this.categoryService.loadChildData2('0', '2').pipe( | ||||
|             //     map((data: any) => { | ||||
|             //       return data.map((m: any) => { | ||||
|             //         return { label: m.name, value: m.id }; | ||||
|             //       }); | ||||
|             //     }), | ||||
|             //   ), | ||||
|             // change: (i) => this.updateCategory(i, '/categoryId2'), | ||||
|           } as SFSelectWidgetSchema | ||||
|         } | ||||
|       }, | ||||
|       required: ['weight', 'maxWeight', 'maxCube'] | ||||
|     }; | ||||
|     this.ui4 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         grid: { span: 24 } | ||||
|       }, | ||||
|       $weight: { | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $volume: { | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $number: { | ||||
|         grid: { span: 8 } | ||||
|       }, | ||||
|       $maxWeight: { | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       $maxCube: { | ||||
|         grid: { span: 12 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   initSF5() { | ||||
|     this.schema5 = { | ||||
|       properties: { | ||||
|         goodsValue: { | ||||
|           type: 'string', | ||||
|           title: '货物价值', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
|     this.ui5 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   initSF6() { | ||||
|     this.schema6 = { | ||||
|       properties: { | ||||
|         stateReceipt: { | ||||
|           type: 'string', | ||||
|           title: '是否回单', | ||||
|           enum: [ | ||||
|             { label: '需要', value: true }, | ||||
|             { label: '不需要', value: false } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             errors: { required: '请选择' }, | ||||
|             placeholder: '请选择' | ||||
|           } | ||||
|         }, | ||||
|         receiptType: { | ||||
|           type: 'string', | ||||
|           title: '回单类型', | ||||
|           enum: [ | ||||
|             { label: '电子回单', value: 1 }, | ||||
|             { label: '纸质回单', value: 2 } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             errors: { required: '请选择' }, | ||||
|             visibleIf: { | ||||
|               stateReceipt: value => value === true | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         receiptUserId: { | ||||
|           type: 'string', | ||||
|           title: '选择地址', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请点击选择收回单地址', | ||||
|             validator: val => (this.sf6?.value?.receiptType === '2' ? [{ keyword: 'required', message: '请点击选择收回单地址' }] : []), | ||||
|             visibleIf: { | ||||
|               receiptType: value => value === '2' | ||||
|             } | ||||
|           }, | ||||
|           default: '1212' | ||||
|         }, | ||||
|         name4: { | ||||
|           type: 'string', | ||||
|           title: '联系人', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               receiptType: value => value === '2' | ||||
|             } | ||||
|           }, | ||||
|           readOnly: true | ||||
|         }, | ||||
|         name5: { | ||||
|           type: 'string', | ||||
|           title: '联系电话', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               receiptType: value => value === '2' | ||||
|             } | ||||
|           }, | ||||
|           readOnly: true | ||||
|         }, | ||||
|         name6: { | ||||
|           type: 'string', | ||||
|           title: '所在地区', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               receiptType: value => value === '2' | ||||
|             } | ||||
|           }, | ||||
|           readOnly: true | ||||
|         }, | ||||
|         receiptAddress: { | ||||
|           type: 'string', | ||||
|           title: '详细地址', | ||||
|           maxLength: 20, | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               receiptType: value => value === '2' | ||||
|             } | ||||
|           }, | ||||
|           readOnly: true | ||||
|         }, | ||||
|         remarks: { | ||||
|           type: 'string', | ||||
|           title: '备注', | ||||
|           maxLength: 200, | ||||
|           ui: { | ||||
|             widget: 'textarea', | ||||
|             placeholder: '请输入', | ||||
|             autosize: { minRows: 3, maxRows: 3 } | ||||
|           } as SFTextareaWidgetSchema | ||||
|         } | ||||
|       }, | ||||
|       required: ['stateReceipt', 'receiptType'] | ||||
|     }; | ||||
|     this.ui6 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|   changeValue() { | ||||
|     this.totalFees = Number(this.sf7?.value?.appendFee) + Number(this.sf7?.value?.oilCardPay) + Number(this.sf7?.value?.prePay) + Number(this.sf7?.value?.receiptPay) + Number(this.sf7?.value?.toPay) | ||||
|     console.log(this.totalFees) | ||||
|   } | ||||
|   initSF7() { | ||||
|     this.schema7 = { | ||||
|       properties: { | ||||
|         totalFee: { | ||||
|           type: 'string', | ||||
|           title: '总费用', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
|     this.ui7 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
|         grid: { span: 24 } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   addStartInfo(event: any) { | ||||
|     if (this.startInfo.length < 5) { | ||||
|       const controlId = this.startInfo.length; | ||||
|       this.startInfo.push({ | ||||
|         detailedAddress: '', | ||||
|         appUserName: '', | ||||
|         contractTelephone: '', | ||||
|         latitude: '', | ||||
|         longitude: '', | ||||
|         province: '', | ||||
|         city: '', | ||||
|         area: '', | ||||
|         type: 1 | ||||
|       }); | ||||
|       this.validateForm1.addControl(`loadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`loadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`loadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|     } | ||||
|   } | ||||
|   subStartInfo(event: any, index: number, id?:any) { | ||||
|     console.log(event, index, id) | ||||
|     if(id) { | ||||
|       this.service.request(this.service.$api_delete_Wholedeletebatch,  [id]).subscribe((res) => { | ||||
|         console.log(res) | ||||
|       }) | ||||
|     } | ||||
|     this.startInfo.splice(index, 1); | ||||
|     this.validateForm1.removeControl(`loadAddress${index}`); | ||||
|     this.validateForm1.removeControl(`loadName${index}`); | ||||
|     this.validateForm1.removeControl(`loadPhone${index}`); | ||||
|   } | ||||
|  | ||||
|   addEndInfo(event: any) { | ||||
|     if (this.addEndInfo.length < 5) { | ||||
|       const controlId = this.endInfo.length; | ||||
|       this.endInfo.push({ | ||||
|         detailedAddress: '', | ||||
|         appUserName: '', | ||||
|         contractTelephone: '', | ||||
|         latitude: '', | ||||
|         longitude: '', | ||||
|         province: '', | ||||
|         city: '', | ||||
|         area: '', | ||||
|         type: 2 | ||||
|       }); | ||||
|       this.validateForm1.addControl(`unloadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`unloadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`unloadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|     } | ||||
|   } | ||||
|   subEndInfo(event: any, index: number, id?:any) { | ||||
|     if(id) { | ||||
|       this.service.request(this.service.$api_delete_Wholedeletebatch,  [id]).subscribe((res) => { | ||||
|         console.log(res) | ||||
|       }) | ||||
|     } | ||||
|     console.log(event, index, id) | ||||
|     this.endInfo.splice(index, 1); | ||||
|         this.validateForm1.removeControl(`unloadAddress${index}`); | ||||
|     this.validateForm1.removeControl(`unloadName${index}`); | ||||
|     this.validateForm1.removeControl(`unloadPhone${index}`); | ||||
|   } | ||||
|  | ||||
|   //指派熟车 | ||||
|   chooseFamifiar() { | ||||
|     this.modalService.create({ | ||||
|       nzTitle: '指派熟车', | ||||
|       nzContent: PublishGoodsChooseFamifiarComponent, | ||||
|       nzWidth: 1300 | ||||
|     }); | ||||
|   } | ||||
|   submit(): void { | ||||
|     console.log('进来了') | ||||
|     console.log(this.startInfo) | ||||
|     debugger; | ||||
|     // Object.keys(this.validateForm1.controls).forEach(key => { | ||||
|     //   this.validateForm1.controls[key].markAsDirty(); | ||||
|     //   this.validateForm1.controls[key].updateValueAndValidity(); | ||||
|     // }); | ||||
|     // this.sf1.validator({ emitError: true }); | ||||
|     // this.sf3.validator({ emitError: true }); | ||||
|     // this.sf4.validator({ emitError: true }); | ||||
|     // this.sf6.validator({ emitError: true }); | ||||
|     // if (this.validateForm1.invalid || !this.sf1.valid || !this.sf3.valid || !this.sf4.valid || !this.sf6.valid) { | ||||
|     //   return; | ||||
|     // } | ||||
|     if(typeof(this.validateForm1.value.modifyTime) !== 'string' ) { | ||||
|       var c = new Date(this.validateForm1.value.modifyTime);   | ||||
|       this.validateForm1.value.modifyTime = c.getFullYear() + '-' + (c.getMonth() + 1) + '-' + c.getDate() + ' ' + c.getHours() + ':' + c.getMinutes() + ':' + c.getSeconds() | ||||
|     } | ||||
|     if(typeof(this.validateForm1.value.createTime) !== 'string' ) { | ||||
|       var c = new Date(this.validateForm1.value.createTime);   | ||||
|       this.validateForm1.value.createTime = c.getFullYear() + '-' + (c.getMonth() + 1) + '-' + c.getDate() + ' ' + c.getHours() + ':' + c.getMinutes() + ':' + c.getSeconds() | ||||
|     } | ||||
|     // if (this.validateForm1.invalid) { | ||||
|     //   return; | ||||
|     // } | ||||
|     if(this.validateForm1?.value?.createTime) { | ||||
|       this.startInfo.createTime = this.validateForm1?.value?.createTime | ||||
|       this.startInfo.modifyTime = this.validateForm1?.value?.modifyTime | ||||
|     } | ||||
|     const params: any = { | ||||
|       ...this.sf1.value, | ||||
|       ...this.sf5.value, | ||||
|       ...this.sf6.value, | ||||
|       unLoadingPlaceDTOList: [...this.startInfo, ...this.endInfo,],  | ||||
|       goodsInfoDTOList: [ | ||||
|       { | ||||
|         ...this.sf4.value, ...this.sf3.value, | ||||
|         maxWeight: this.sf4.value.maxWeight.join(','), | ||||
|         maxCube: this.sf4.value.maxCube.join(',') | ||||
|       } | ||||
|       ] | ||||
|     } | ||||
|     params.freightPrice =  this.totalFees | ||||
|     console.log(this.sf7.value) | ||||
|     console.log(params) | ||||
|     if(this.PageStatus === '大宗修改') { | ||||
|       this.requests(this.service.$api_set_bulkModify, params); | ||||
|     }  else if(this.PageStatus === '大宗下一单') { | ||||
|       this.requests(this.service.$api_set_saveAnotherBulkOrder, params); | ||||
|     } | ||||
|     | ||||
|   } | ||||
|   requests(url: any, params: any) { | ||||
|     this.service.request(url, params).subscribe((res: any) => { | ||||
|       console.log(res) | ||||
|     }) | ||||
|   } | ||||
|    // 打开地图 | ||||
|    openMap(type: string, index: number) { | ||||
|     const modalRef = this.modalService.create({ | ||||
|       nzTitle: '', | ||||
|       nzContent: AmapPoiPickerComponent, | ||||
|       nzWidth: 900, | ||||
|       nzOnOk: item => { | ||||
|         const poi = item.poi; | ||||
|         console.log(item.poi); | ||||
|         const locList = poi.location.toString().split(','); | ||||
|         switch (type) { | ||||
|           case 'start': | ||||
|             this.startInfo[index].detailedAddress = poi.district + poi.name; | ||||
|             this.startInfo[index].longitude = locList[0]; | ||||
|             this.startInfo[index].latitude = locList[1]; | ||||
|             this.startInfo[index].province = poi.cityInfo.province; | ||||
|             this.startInfo[index].city = poi.cityInfo.city; | ||||
|             this.startInfo[index].area = poi.cityInfo.district; | ||||
|             break; | ||||
|           case 'end': | ||||
|             this.endInfo[index].detailedAddress = poi.district + poi.name; | ||||
|             this.endInfo[index].longitude = locList[0]; | ||||
|             this.endInfo[index].latitude = locList[1]; | ||||
|             this.endInfo[index].province = poi.cityInfo.province; | ||||
|             this.endInfo[index].city = poi.cityInfo.city; | ||||
|             this.endInfo[index].area = poi.cityInfo.district; | ||||
|             break; | ||||
|           default: | ||||
|             break; | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|   goBack() { | ||||
|     window.history.go(-1); | ||||
|   } | ||||
|   // 初始化信息 | ||||
|   initdata() { | ||||
|       this.service.request(`${this.service.$api_get_getBulkDetail}`, {id:this.id}).subscribe((res) => { | ||||
|         this.dataR(res); | ||||
|       }) | ||||
|   } | ||||
|   asds(i: any) { | ||||
|     console.log(i) | ||||
|   } | ||||
|   // 初始化信息 | ||||
|   dataR (res: any) { | ||||
|     // this.dataList = res; | ||||
|     this.sf1data = { | ||||
|       // shipperAppUserName: res?.shipperAppUserName || '', | ||||
|       enterpriseProjectId: res?.enterpriseProjectId  || '', | ||||
|       enterpriseInfoName: res?.enterpriseInfoName  || '', | ||||
|       externalResourceCode: res?.externalResourceCode  || '', | ||||
|       dispatchId: res?.dispatchId  || '', | ||||
|       deadlineTime: res?.deadlineTime || '', | ||||
|     } | ||||
|     if(this.PageStatus === '大宗修改') { | ||||
|       this.sf1data.id = res?.id; | ||||
|     } | ||||
|     res?.unLoadingPlaceVOList.forEach((element: any) => { | ||||
|       if(element.type === 1) { | ||||
|         const controlId = this.startInfo.length; | ||||
|         if(this.PageStatus === '大宗修改') { | ||||
|           this.startInfo.push({ | ||||
|             detailedAddress: element.detailedAddress, | ||||
|             appUserName: element.appUserName, | ||||
|             contractTelephone: element.contractTelephone, | ||||
|             latitude: element.latitude, | ||||
|             longitude: element.longitude, | ||||
|             province: element.province, | ||||
|             city: element.city, | ||||
|             area: element.area, | ||||
|             type: element.type, | ||||
|             id: element.id | ||||
|           }) | ||||
|         } else { | ||||
|           this.startInfo.push({ | ||||
|             detailedAddress: element.detailedAddress, | ||||
|             appUserName: element.appUserName, | ||||
|             contractTelephone: element.contractTelephone, | ||||
|             latitude: element.latitude, | ||||
|             longitude: element.longitude, | ||||
|             province: element.province, | ||||
|             city: element.city, | ||||
|             area: element.area, | ||||
|             type: element.type, | ||||
|           }) | ||||
|         } | ||||
|         if(element.createTime) { | ||||
|           this.creatTime = element?.createTime | ||||
|           this.modifyTime = element?.modifyTime | ||||
|         } | ||||
|         this.validateForm1.addControl(`loadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|         this.validateForm1.addControl(`loadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|         this.validateForm1.addControl(`loadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|       } else if(element.type === 2) { | ||||
|         const controlId = this.endInfo.length; | ||||
|         if( this.PageStatus === '大宗修改') {  | ||||
|           this.endInfo.push({ | ||||
|             detailedAddress: element?.detailedAddress, | ||||
|             appUserName: element?.appUserName, | ||||
|             contractTelephone: element?.contractTelephone, | ||||
|             latitude: element.latitude, | ||||
|             longitude: element.longitude, | ||||
|             province: element.province, | ||||
|             city: element.city, | ||||
|             area: element.area, | ||||
|             type: element.type, | ||||
|             id: element.id | ||||
|           }) | ||||
|         } else { | ||||
|           this.endInfo.push({ | ||||
|             detailedAddress: element?.detailedAddress, | ||||
|             appUserName: element?.appUserName, | ||||
|             contractTelephone: element?.contractTelephone, | ||||
|             latitude: element.latitude, | ||||
|             longitude: element.longitude, | ||||
|             province: element.province, | ||||
|             city: element.city, | ||||
|             area: element.area, | ||||
|             type: element.type | ||||
|           }) | ||||
|         } | ||||
|         this.validateForm1.addControl(`unloadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|         this.validateForm1.addControl(`unloadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|         this.validateForm1.addControl(`unloadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|       } | ||||
|     }); | ||||
|     this.sf3data = { | ||||
|       goodsName: res?.goodsInfoVOList[0]?.goodsName || '', | ||||
|     } | ||||
|     this.sf4data = { | ||||
|       weight:  res?.goodsInfoVOList[0]?.weight   || '', | ||||
|       volume:  res?.goodsInfoVOList[0]?.volume   || '', | ||||
|       vehicleDemand:  res?.goodsInfoVOList[0]?.vehicleDemand   || '', | ||||
|       maxCube: res?.goodsInfoVOList[0]?.maxCube?.split(',') || '', | ||||
|       maxWeight: res?.goodsInfoVOList[0]?.maxWeight?.split(',') || '', | ||||
|       number:  res?.goodsInfoVOList[0]?.number   || '', | ||||
|       goodsType:  res?.goodsInfoVOList[0]?.goodsType   || '', | ||||
|       modifyTime:  res?.goodsInfoVOList[0]?.modifyTime   || '', | ||||
|       modifyUserId:  res?.goodsInfoVOList[0]?.modifyUserId   || '', | ||||
|       resourceId:  res?.goodsInfoVOList[0]?.resourceId   || '', | ||||
|       rule:  res?.goodsInfoVOList[0]?.rule   || '', | ||||
|       settlementBasis:  res?.goodsInfoVOList[0]?.settlementBasis   || '', | ||||
|  | ||||
|     } | ||||
|     if(this.PageStatus === '大宗修改') {  | ||||
|       this.sf4data.id = res?.goodsInfoVOList[0]?.id; | ||||
|      } | ||||
|     this.totalFees = res?.freightPrice || '0'; | ||||
|     this.sf5data = { | ||||
|       goodsValue: res?.goodsValue || '', | ||||
|     } | ||||
|     this.sf6data = { | ||||
|       stateReceipt: res?.supplementaryInformationVO?.stateReceipt || '', | ||||
|       receiptType: res?.supplementaryInformationVO?.receiptType || '', | ||||
|       receiptUserId: res?.supplementaryInformationVO?.receiptUserId || '', | ||||
|       remarks: res?.supplementaryInformationVO?.remarks || '' | ||||
|     }; | ||||
|     this.sf7data = { | ||||
|       prePay: res?.shippingInformationVO?.prePay || '', | ||||
|       toPay: res?.shippingInformationVO?.toPay || '', | ||||
|       oilCardPay: res?.shippingInformationVO?.oilCardPay || '', | ||||
|       receiptPay: res?.shippingInformationVO?.receiptPay || '', | ||||
|       // subtotal: res?.shippingInformationVO?.oilCardPay || '', | ||||
|       appendFee: res?.shippingInformationVO?.appendFee || '', | ||||
|       paymentDays: res?.shippingInformationVO?.paymentDays || '', | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -1,7 +1,7 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 11:10:14 | ||||
|  * @LastEditTime: 2021-12-08 16:06:57 | ||||
|  * @LastEditTime: 2021-12-13 14:51:27 | ||||
|  * @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\bulk\bulk.component.html | ||||
| @ -35,9 +35,15 @@ | ||||
|   </div> | ||||
| </nz-card> | ||||
| <nz-card> | ||||
|   <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate"> | ||||
|   <!-- <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> --> | ||||
|   <nz-tabset (nzSelectedIndexChange)="selectChange($event)"> | ||||
|     <nz-tab [nzTitle]="'全部('+tabs?.totalQuantity+')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'进行中('+tabs?.stayQuantity+')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'已完结('+tabs?.receivedQuantity+')'"></nz-tab> | ||||
|     <nz-tab [nzTitle]="'已取消('+tabs?.cancelQuantity+')'"></nz-tab> | ||||
|   </nz-tabset> | ||||
|   <div style="position: relative"> | ||||
|     <nz-alert | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { STColumn, STComponent } from '@delon/abc/st'; | ||||
| import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; | ||||
| import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||
| @ -25,33 +26,20 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|   @ViewChild('st') private readonly st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   @ViewChild('sfFre', { static: false }) sfFre!: SFComponent; | ||||
|   tabs = [  { | ||||
|     name: '全部', | ||||
|     type: 0, | ||||
|     count: 0, | ||||
|   }, | ||||
|   { | ||||
|     name: '进行中', | ||||
|     type: 1, | ||||
|     count: 0, | ||||
|   }, | ||||
|   { | ||||
|     name: '已完结', | ||||
|     type: 2, | ||||
|     count: 0, | ||||
|   }, | ||||
|   { | ||||
|     name: '已取消', | ||||
|     type: 3, | ||||
|     count: 0, | ||||
|   }, | ||||
|   ]; | ||||
|   constructor(public service: SupplyManagementService, private modal: NzModalService) { } | ||||
|  | ||||
|   tabs = { | ||||
|     totalQuantity: 0, | ||||
|     cancelQuantity: 0, | ||||
|     receivedQuantity: 0, | ||||
|     stayQuantity: 0 | ||||
|   }; | ||||
|   constructor(public service: SupplyManagementService, private modal: NzModalService, private router: Router) { } | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.initSF(); | ||||
|     this.initST(); | ||||
|     this.initSFFre(); | ||||
|     this.getGoodsSourceStatistical() | ||||
|   } | ||||
|   /** | ||||
|  * 查询参数 | ||||
| @ -103,12 +91,9 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|         settlementBasis: { | ||||
|           title: '结算依据', | ||||
|           type: 'string', | ||||
|           default: 0, | ||||
|           enum: [ | ||||
|             { label: '未知', value: 0 }, | ||||
|             { label: '男', value: 1 }, | ||||
|             { label: '女', value: 2 }, | ||||
|             { label: '保密', value: 3 }, | ||||
|             { label: '以收获为准', value: 1 }, | ||||
|             { label: '以发货为准', value: 2 }, | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
| @ -275,26 +260,31 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
|           { | ||||
|             text: '货源审核', | ||||
|             click: (_record) => this.audit(_record, 1), | ||||
|              // iif: item => item.auditStatus === 1, | ||||
|           }, | ||||
|           { | ||||
|             text: '二维码', | ||||
|             click: (_record) => this.assignedQrcode(_record), | ||||
|             // iif: item => item.auditStatus === 1 || item.auditStatus === 2, | ||||
|           }, | ||||
|           { | ||||
|             text: '修改单价', | ||||
|             click: (_record) => this.updatePrice(_record), | ||||
|             click: (_record) => this.modification(_record), | ||||
|             // iif: item => item.auditStatus === 1 || item.auditStatus === 2, | ||||
|           }, | ||||
|           { | ||||
|             text: '取消货源', | ||||
|             // click: (_record) => this.delOne(_record), | ||||
|             // iif: item => item.auditStatus === 1 || item.auditStatus === 2, | ||||
|           }, | ||||
|           { | ||||
|             text: '再下一单', | ||||
|             // click: (_record) => this.editOne(_record), | ||||
|             click: (_record) => this.nextOrder(_record), | ||||
|           }, | ||||
|           { | ||||
|             text: '重新指派', | ||||
|             // click: (_record) => this.delOne(_record), | ||||
|             // iif: item =>  item.auditStatus === 2, | ||||
|           }, | ||||
|         ], | ||||
|       }, | ||||
| @ -413,4 +403,29 @@ export class SupplyManagementBulkComponent implements OnInit { | ||||
| handleOK() { | ||||
|    | ||||
| } | ||||
|   // 修改货源  | ||||
|   modification(item: any) { | ||||
|     this.router.navigate(['/supply-management/bulk-amend', item.id], { | ||||
|       queryParams: { | ||||
|         sta: 3 | ||||
|       }, | ||||
|     }) | ||||
|   } | ||||
|   //  再下一单 | ||||
|   nextOrder(item: any) { | ||||
|     this.router.navigate(['/supply-management/bulk-amend', item.id], { | ||||
|       queryParams: { | ||||
|         sta: 4 | ||||
|       }, | ||||
|     }) | ||||
|   } | ||||
|     // 获取货源状态统计 | ||||
|     getGoodsSourceStatistical() { | ||||
|       this.service.request(this.service.$api_get_goods_resource_statistical, { resourceType: 2 }).subscribe(res => { | ||||
|         if (res) { | ||||
|           console.log(res) | ||||
|           this.tabs = res; | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| <page-header-wrapper [title]="'整车发货'" [logo]="logo"> | ||||
| <page-header-wrapper [title]="PageStatus" [logo]="logo"> | ||||
|   <ng-template #logo> | ||||
|     <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> | ||||
|       <i nz-icon nzType="left" nzTheme="outline"></i> | ||||
| @ -65,7 +65,13 @@ | ||||
|             <nz-form-control [nzErrorTip]="'请输入卸货地'"> | ||||
|               <div class="align-center"> | ||||
|                 <nz-input-group [nzSuffix]="endInconTemp1"> | ||||
|                   <input nz-input [(ngModel)]="data.detailedAddress" [ngModelOptions]="{ standalone: true }" /> | ||||
|                   <input | ||||
|                     nz-input | ||||
|                     [(ngModel)]="data.detailedAddress" | ||||
|                     (click)="openMap('end', idx)" | ||||
|                     formControlName="unloadAddress{{ idx }}" | ||||
|                     placeholder="请输入卸货地" | ||||
|                   /> | ||||
|                 </nz-input-group> | ||||
|                 <span  style="padding: 0 10px"><i nz-icon nzType="menu" nzTheme="outline" style="color: #1890ff"></i></span> | ||||
|                 <span  | ||||
| @ -95,7 +101,7 @@ | ||||
|         <nz-form-item> | ||||
|           <nz-form-label [nzSpan]="4" nzRequired>装货时间</nz-form-label> | ||||
|           <nz-form-control [nzErrorTip]="'请输入装货时间'"> | ||||
|             <nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="createTime"  [(ngModel)]="creatTime"></nz-date-picker> | ||||
|             <nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="loadingTime"  [(ngModel)]="loadingTime"></nz-date-picker> | ||||
|           </nz-form-control> | ||||
|         </nz-form-item> | ||||
|       </div> | ||||
| @ -103,7 +109,7 @@ | ||||
|         <nz-form-item> | ||||
|           <nz-form-label [nzSpan]="9" nzRequired>卸货时间</nz-form-label> | ||||
|           <nz-form-control [nzErrorTip]="'请输入卸货时间'"> | ||||
|             <nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="modifyTime"  [(ngModel)]="modifyTime"></nz-date-picker> | ||||
|             <nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="unloadingTime"  [(ngModel)]="unloadingTime"></nz-date-picker> | ||||
|           </nz-form-control> | ||||
|         </nz-form-item> | ||||
|       </div> | ||||
| @ -211,10 +217,7 @@ | ||||
|     <div nz-col nzSpan="12"> | ||||
|       <sf #sf7 [schema]="schema7"  [formData]="sf7data" [button]="'none'" [ui]="ui7"> | ||||
|         <ng-template sf-template="totalFee" let-i let-ui="ui" > | ||||
|           <div *ngIf="this.PageStatus === '整车修改' || this.PageStatus === '整车下一单'">{{totalFees | currency: '¥'}}</div> | ||||
|           <div *ngIf="this.PageStatus === '大宗修改' || this.PageStatus === '大宗下一单'"> | ||||
|             <nz-input-number [(ngModel)]="totalFees" (ngModelChange)="i.setValue($event)" [nzMin]="1"  [nzStep]="0.01"></nz-input-number> | ||||
|           </div> | ||||
|           <div>{{totalFees | currency: '¥'}}</div> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="paymentDays" let-i let-ui="ui"> | ||||
|           <div nz-row> | ||||
|  | ||||
| @ -14,6 +14,7 @@ import { AmapPoiPickerComponent } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { PublishGoodsChooseFamifiarComponent } from '../choose-famifiar/choose-famifiar.component'; | ||||
| import { SupplyManagementService } from '../../services/supply-management.service'; | ||||
| import { debug } from 'console'; | ||||
| @Component({ | ||||
|   selector: 'app-publish-goods-onecar-publish', | ||||
|   templateUrl: './onecar-publish.component.html', | ||||
| @ -29,8 +30,10 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|   sf6data: any; // 货源单设置回显 | ||||
|   sf7data: any; // 货源单设置回显 | ||||
|   creatTime: any; // 货源单设置回显 | ||||
|   modifyTime: any; // 货源单设置回显 | ||||
|   loadingTime: any; // 货源单设置回显 | ||||
|   unloadingTime: any; // 货源单设置回显 | ||||
|   totalFees: any; // 总数信息 | ||||
|   npp =false | ||||
|   id = this.route.snapshot.params.id; | ||||
|   // // 单位 | ||||
|   unit1 = '吨'; | ||||
| @ -42,8 +45,8 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|   dataList: any; | ||||
|   constructor(private http: _HttpClient, fb: FormBuilder, private router: Router, private route: ActivatedRoute, private modalService: NzModalService, public service: SupplyManagementService) { | ||||
|     this.validateForm1 = fb.group({ | ||||
|       createTime: [null, []], | ||||
|       modifyTime: [null, []], | ||||
|       loadingTime: [null, []], | ||||
|       unloadingTime: [null, []], | ||||
|     }); | ||||
|   } | ||||
|   @ViewChild('sf1', { static: false }) sf1!: SFComponent; | ||||
| @ -97,15 +100,15 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|   initSF1() { | ||||
|     this.schema1 = { | ||||
|       properties: { | ||||
|         // shipperAppUserName: { | ||||
|         //   type: 'string', | ||||
|         //   title: '货主', | ||||
|         //   maxLength: 30, | ||||
|         //   ui: { | ||||
|         //     placeholder: '请输入' | ||||
|         //   } | ||||
|         // }, | ||||
|         enterpriseProjectName: { | ||||
|         shipperAppUserName: { | ||||
|           type: 'string', | ||||
|           title: '货主', | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         enterpriseProjectId: { | ||||
|           type: 'string', | ||||
|           title: '项目', | ||||
|           enum: [ | ||||
| @ -200,24 +203,11 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|         goodsName: { | ||||
|           type: 'string', | ||||
|           title: '货物名称', | ||||
|           enum: [ | ||||
|             { label: '真实货物', value: '1' }, | ||||
|             { label: '远程货物', value: '2' }, | ||||
|             { label: '其他', value: '3' } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'GoodsName' }, | ||||
|             placeholder: '请选择' | ||||
|             // asyncData: () => | ||||
|             //   this.categoryService.loadChildData2('0', '2').pipe( | ||||
|             //     map((data: any) => { | ||||
|             //       return data.map((m: any) => { | ||||
|             //         return { label: m.name, value: m.id }; | ||||
|             //       }); | ||||
|             //     }), | ||||
|             //   ), | ||||
|             // change: (i) => this.updateCategory(i, '/categoryId2'), | ||||
|           } as SFSelectWidgetSchema | ||||
|           } | ||||
|         }, | ||||
|         qita: { | ||||
|           type: 'string', | ||||
| @ -228,7 +218,8 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|       }, | ||||
|       required: ['goodsName', ] | ||||
|     }; | ||||
|     this.ui3 = { | ||||
|       '*': { | ||||
| @ -476,7 +467,6 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     console.log(this.totalFees) | ||||
|   } | ||||
|   initSF7() { | ||||
|     if(this.PageStatus === '整车修改' || this.PageStatus === '整车下一单') { | ||||
|     this.schema7 = { | ||||
|       properties: { | ||||
|         prePay: { type: 'number', title: '预付', default: 0, ui: { prefix: '¥', change: ()=> { | ||||
| @ -492,7 +482,7 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|         receiptPay: { type: 'number', title: '回单付', default: 0, ui: { prefix: '¥',change: ()=> { | ||||
|           this.changeValue();}, | ||||
|          } as SFNumberWidgetSchema }, | ||||
|         oilCardPay2: { | ||||
|         subtotal: { | ||||
|           type: 'string', | ||||
|           title: '小计', | ||||
|           ui: { | ||||
| @ -525,22 +515,9 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|             placeholder: '请输入', | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|       }, | ||||
|       required: ['paymentDays'] | ||||
|     }; | ||||
|   } else { | ||||
|     this.schema7 = { | ||||
|       properties: { | ||||
|         totalFee: { | ||||
|           type: 'string', | ||||
|           title: '总费用', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|     this.ui7 = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 90, | ||||
| @ -576,15 +553,29 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|       }) | ||||
|     } | ||||
|     this.startInfo.splice(index, 1); | ||||
|     this.validateForm1.removeControl(`loadAddress${index}`); | ||||
|     this.validateForm1.removeControl(`loadName${index}`); | ||||
|     this.validateForm1.removeControl(`loadPhone${index}`); | ||||
|   } | ||||
|  | ||||
|   addEndInfo(event: any) { | ||||
|     if (this.addEndInfo.length < 5) { | ||||
|       const controlId = this.endInfo.length; | ||||
|       this.endInfo.push({ | ||||
|         detailedAddress: '', | ||||
|         appUserName: '', | ||||
|         contractTelephone: '', | ||||
|         latitude: '', | ||||
|         longitude: '', | ||||
|         province: '', | ||||
|         city: '', | ||||
|         area: '', | ||||
|         type: 2 | ||||
|       }); | ||||
|       this.validateForm1.addControl(`unloadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`unloadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`unloadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|     } | ||||
|   } | ||||
|   subEndInfo(event: any, index: number, id?:any) { | ||||
|     if(id) { | ||||
| @ -594,6 +585,9 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     } | ||||
|     console.log(event, index, id) | ||||
|     this.endInfo.splice(index, 1); | ||||
|         this.validateForm1.removeControl(`unloadAddress${index}`); | ||||
|     this.validateForm1.removeControl(`unloadName${index}`); | ||||
|     this.validateForm1.removeControl(`unloadPhone${index}`); | ||||
|   } | ||||
|  | ||||
|   //指派熟车 | ||||
| @ -605,57 +599,71 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     }); | ||||
|   } | ||||
|   submit(): void { | ||||
|     Object.keys(this.validateForm1.controls).forEach(key => { | ||||
|       this.validateForm1.controls[key].markAsDirty(); | ||||
|       this.validateForm1.controls[key].updateValueAndValidity(); | ||||
|     }); | ||||
|     if(typeof(this.validateForm1.value.modifyTime) !== 'string' ) { | ||||
|       var c = new Date(this.validateForm1.value.modifyTime);   | ||||
|       this.validateForm1.value.modifyTime = c.getFullYear() + '-' + (c.getMonth() + 1) + '-' + c.getDate() + ' ' + c.getHours() + ':' + c.getMinutes() + ':' + c.getSeconds() | ||||
|     console.log('进来了') | ||||
|     console.log(this.startInfo) | ||||
|     // Object.keys(this.validateForm1.controls).forEach(key => { | ||||
|     //   this.validateForm1.controls[key].markAsDirty(); | ||||
|     //   this.validateForm1.controls[key].updateValueAndValidity(); | ||||
|     // }); | ||||
|     // this.sf1.validator({ emitError: true }); | ||||
|     // this.sf3.validator({ emitError: true }); | ||||
|     // this.sf4.validator({ emitError: true }); | ||||
|     // this.sf6.validator({ emitError: true }); | ||||
|     // if (this.validateForm1.invalid || !this.sf1.valid || !this.sf3.valid || !this.sf4.valid || !this.sf6.valid) { | ||||
|     //   return; | ||||
|     // } | ||||
|     console.log(this.validateForm1.value) | ||||
|     if(typeof(this.validateForm1.value.unloadingTime) !== 'string' ) { | ||||
|       var c = new Date(this.validateForm1.value.unloadingTime);   | ||||
|       this.validateForm1.value.unloadingTime = c.getFullYear() + '-' + this.addPreZero(c.getMonth() + 1) + '-' + this.addPreZero(c.getDate()) + ' ' + this.addPreZero(c.getHours()) + ':' + this.addPreZero(c.getMinutes()) + ':' + this.addPreZero(c.getSeconds()) | ||||
|     } | ||||
|     if(typeof(this.validateForm1.value.createTime) !== 'string' ) { | ||||
|       var c = new Date(this.validateForm1.value.createTime);   | ||||
|       this.validateForm1.value.createTime = c.getFullYear() + '-' + (c.getMonth() + 1) + '-' + c.getDate() + ' ' + c.getHours() + ':' + c.getMinutes() + ':' + c.getSeconds() | ||||
|     if(typeof(this.validateForm1.value.loadingTime) !== 'string' ) { | ||||
|       var c = new Date(this.validateForm1.value.loadingTime);   | ||||
|       this.validateForm1.value.loadingTime = c.getFullYear() + '-' + this.addPreZero(c.getMonth() + 1) + '-' + this.addPreZero(c.getDate()) + ' ' + this.addPreZero(c.getHours()) + ':' + this.addPreZero(c.getMinutes()) + ':' + this.addPreZero(c.getSeconds()) | ||||
|     } | ||||
|     if (this.validateForm1.invalid) { | ||||
|       return; | ||||
|     } | ||||
|     this.startInfo.createTime = this.validateForm1.value.createTime | ||||
|     this.startInfo.modifyTime = this.validateForm1.value.modifyTime | ||||
|     // if (this.validateForm1.invalid) { | ||||
|     //   return; | ||||
|     // } | ||||
|     const params: any = { | ||||
|       ...this.sf1.value, | ||||
|       ...this.sf5.value, | ||||
|       ...this.sf6.value, | ||||
|       loadingTime: this.validateForm1?.value?.loadingTime, | ||||
|       unloadingTime: this.validateForm1?.value?.unloadingTime, | ||||
|       unLoadingPlaceDTOList: [...this.startInfo, ...this.endInfo,],  | ||||
|       goodsInfoDTOList: [ | ||||
|         {...this.sf4.value, ...this.sf3.value} | ||||
|         { | ||||
|           ...this.sf4.value, | ||||
|           ...this.sf3.value, | ||||
|           maxWeight: this.sf4.value.maxWeight.join(','), | ||||
|           maxCube: this.sf4.value.maxCube.join(',') | ||||
|         } | ||||
|       ] | ||||
|     } | ||||
|     if(this.PageStatus === '整车修改' || this.PageStatus === '整车下一单') {  | ||||
|       params.shippingInformationDTO = { | ||||
|         ...this.sf7.value, | ||||
|         totalFees: this.totalFees | ||||
|       } | ||||
|     } else { | ||||
|       params.freightPrice =  this.totalFees | ||||
|     } | ||||
|     console.log(this.sf7.value) | ||||
|     console.log(params) | ||||
|     if(this.PageStatus === '整车修改') { | ||||
|       this.requests(this.service.$api_set_WholeModify, params); | ||||
|     }  else if(this.PageStatus === '整车下一单') { | ||||
|       this.requests(this.service.$api_set_saveAnotherWholeOrder, params); | ||||
|     }  else if(this.PageStatus === '大宗修改') { | ||||
|       this.requests(this.service.$api_set_bulkModify, params); | ||||
|     }  else if(this.PageStatus === '大宗下一单') { | ||||
|       this.requests(this.service.$api_set_saveAnotherBulkOrder, params); | ||||
|     } | ||||
|     | ||||
|   } | ||||
|    addPreZero(num: any){ | ||||
|     if(num<10){ | ||||
|      return '0'+num; | ||||
|     } else { | ||||
|      return num; | ||||
|     } | ||||
|    } | ||||
|   requests(url: any, params: any) { | ||||
|     this.service.request(url, params).subscribe((res: any) => { | ||||
|       console.log(res) | ||||
|     }) | ||||
|   } | ||||
|    // 打开地图 | ||||
|    openMap(type: string, index: number) { | ||||
|     const modalRef = this.modalService.create({ | ||||
|       nzTitle: '', | ||||
| @ -663,18 +671,24 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|       nzWidth: 900, | ||||
|       nzOnOk: item => { | ||||
|         const poi = item.poi; | ||||
|         console.log(item) | ||||
|         console.log(item.poi); | ||||
|         const locList = poi.location.toString().split(','); | ||||
|         switch (type) { | ||||
|           case 'start': | ||||
|             this.startInfo[index].detailedAddress = poi.district + poi.name; | ||||
|             this.startInfo[index].longitude = locList[0]; | ||||
|             this.startInfo[index].latitude = locList[1]; | ||||
|             this.startInfo[index].province = poi.cityInfo.province; | ||||
|             this.startInfo[index].city = poi.cityInfo.city; | ||||
|             this.startInfo[index].area = poi.cityInfo.district; | ||||
|             break; | ||||
|           case 'end': | ||||
|             this.endInfo[index].detailedAddress = poi.district + poi.name; | ||||
|             this.endInfo[index].longitude = locList[0]; | ||||
|             this.endInfo[index].latitude = locList[1]; | ||||
|             this.endInfo[index].province = poi.cityInfo.province; | ||||
|             this.endInfo[index].city = poi.cityInfo.city; | ||||
|             this.endInfo[index].area = poi.cityInfo.district; | ||||
|             break; | ||||
|           default: | ||||
|             break; | ||||
| @ -687,39 +701,39 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|   } | ||||
|   // 初始化信息 | ||||
|   initdata() { | ||||
|     if(this.PageStatus === '整车修改' || this.PageStatus === '整车下一单') { | ||||
|     this.service.request(`${this.service.$api_get_getCompleteVehicleDetail}`, {id:this.id}).subscribe((res) => { | ||||
|       this.dataR(res); | ||||
|     }) | ||||
|     } else if(this.PageStatus === '大宗修改' || this.PageStatus === '大宗下一单') { | ||||
|       this.service.request(`${this.service.$api_get_getBulkDetail}`, {id:this.id}).subscribe((res) => { | ||||
|         this.dataR(res); | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
|   asds(i: any) { | ||||
|     console.log(i) | ||||
|   } | ||||
|   // const data =  | ||||
|   // 初始化信息 | ||||
|   dataR (res: any) { | ||||
|     // this.dataList = res; | ||||
|     this.sf1data = { | ||||
|       // shipperAppUserName: res?.shipperAppUserName || '', | ||||
|       enterpriseProjectName: res?.enterpriseProjectName  || '', | ||||
|       enterpriseInfoName: res?.enterpriseInfoName  || '', | ||||
|       externalResourceCode: res?.externalResourceCode  || '', | ||||
|       dispatchId: res?.dispatchId  || '', | ||||
|       // shipperAppUserName: res?.shipperAppUserName , | ||||
|       enterpriseProjectId: res?.enterpriseProjectId  , | ||||
|       enterpriseInfoName: res?.enterpriseInfoName  , | ||||
|       externalResourceCode: res?.externalResourceCode  , | ||||
|       dispatchId: res?.dispatchId  , | ||||
|     } | ||||
|     if(this.PageStatus === '整车修改' || this.PageStatus === '大宗修改') { | ||||
|     if(this.PageStatus === '整车修改') { | ||||
|       this.sf1data.id = res?.id; | ||||
|     } | ||||
|     res?.unLoadingPlaceList.forEach((element: any) => { | ||||
|     res?.unLoadingPlaceVOList.forEach((element: any) => { | ||||
|       if(element.type === 1) { | ||||
|         if(this.PageStatus === '整车修改' || this.PageStatus === '大宗修改') { | ||||
|         const controlId = this.startInfo.length; | ||||
|         if(this.PageStatus === '整车修改') { | ||||
|           this.startInfo.push({ | ||||
|             detailedAddress: element.detailedAddress, | ||||
|             appUserName: element.appUserName, | ||||
|             contractTelephone: element.contractTelephone, | ||||
|             latitude: element.latitude, | ||||
|             longitude: element.longitude, | ||||
|             province: element.province, | ||||
|             city: element.city, | ||||
|             area: element.area, | ||||
|             type: element.type, | ||||
|             id: element.id | ||||
|           }) | ||||
| @ -728,19 +742,30 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|             detailedAddress: element.detailedAddress, | ||||
|             appUserName: element.appUserName, | ||||
|             contractTelephone: element.contractTelephone, | ||||
|             latitude: element.latitude, | ||||
|             longitude: element.longitude, | ||||
|             province: element.province, | ||||
|             city: element.city, | ||||
|             area: element.area, | ||||
|             type: element.type, | ||||
|           }) | ||||
|         } | ||||
|         if(element.createTime) { | ||||
|           this.creatTime = element?.createTime | ||||
|           this.modifyTime = element?.modifyTime | ||||
|         } | ||||
|         | ||||
|         this.validateForm1.addControl(`loadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|         this.validateForm1.addControl(`loadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|         this.validateForm1.addControl(`loadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|       } else if(element.type === 2) { | ||||
|         if(this.PageStatus === '整车修改' || this.PageStatus === '大宗修改') {  | ||||
|         const controlId = this.endInfo.length; | ||||
|         if(this.PageStatus === '整车修改') {  | ||||
|           this.endInfo.push({ | ||||
|             detailedAddress: element?.detailedAddress, | ||||
|             appUserName: element?.appUserName, | ||||
|             contractTelephone: element?.contractTelephone, | ||||
|             latitude: element.latitude, | ||||
|             longitude: element.longitude, | ||||
|             province: element.province, | ||||
|             city: element.city, | ||||
|             area: element.area, | ||||
|             type: element.type, | ||||
|             id: element.id | ||||
|           }) | ||||
| @ -749,58 +774,64 @@ export class  SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|             detailedAddress: element?.detailedAddress, | ||||
|             appUserName: element?.appUserName, | ||||
|             contractTelephone: element?.contractTelephone, | ||||
|             latitude: element.latitude, | ||||
|             longitude: element.longitude, | ||||
|             province: element.province, | ||||
|             city: element.city, | ||||
|             area: element.area, | ||||
|             type: element.type | ||||
|           }) | ||||
|         } | ||||
|        | ||||
|         this.validateForm1.addControl(`unloadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|         this.validateForm1.addControl(`unloadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|         this.validateForm1.addControl(`unloadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|       } | ||||
|     }); | ||||
|  | ||||
|     this.sf3data = { | ||||
|       goodsName: res?.goodsInfoList[0]?.goodsName || '', | ||||
|       goodsName: res?.goodsInfoVOList[0]?.goodsName , | ||||
|     } | ||||
|     this.sf4data = { | ||||
|       weight:  res?.goodsInfoList[0]?.weight   || '', | ||||
|       volume:  res?.goodsInfoList[0]?.volume   || '', | ||||
|       vehicleDemand:  res?.goodsInfoList[0]?.vehicleDemand   || '', | ||||
|       maxCube:  res?.goodsInfoList[0]?.maxCube   || '', | ||||
|       maxWeight:  res?.goodsInfoList[0]?.maxWeight   || '', | ||||
|       number:  res?.goodsInfoList[0]?.number   || '', | ||||
|       freightPrice:  res?.goodsInfoList[0]?.freightPrice   || '', | ||||
|       freightType:  res?.goodsInfoList[0]?.freightType   || '', | ||||
|       goodsType:  res?.goodsInfoList[0]?.goodsType   || '', | ||||
|       modifyTime:  res?.goodsInfoList[0]?.modifyTime   || '', | ||||
|       modifyUserId:  res?.goodsInfoList[0]?.modifyUserId   || '', | ||||
|       resourceId:  res?.goodsInfoList[0]?.resourceId   || '', | ||||
|       rule:  res?.goodsInfoList[0]?.rule   || '', | ||||
|       settlementBasis:  res?.goodsInfoList[0]?.settlementBasis   || '', | ||||
|  | ||||
|       weight:  res?.goodsInfoVOList[0]?.weight   , | ||||
|       volume:  res?.goodsInfoVOList[0]?.volume   , | ||||
|       vehicleDemand:  res?.goodsInfoVOList[0]?.vehicleDemand   , | ||||
|       maxCube: res?.goodsInfoVOList[0]?.maxCube?.split(',') , | ||||
|       maxWeight: res?.goodsInfoVOList[0]?.maxWeight?.split(',') , | ||||
|       number:  res?.goodsInfoVOList[0]?.number   , | ||||
|       goodsType:  res?.goodsInfoVOList[0]?.goodsType   , | ||||
|       modifyUserId:  res?.goodsInfoVOList[0]?.modifyUserId   , | ||||
|       resourceId:  res?.goodsInfoVOList[0]?.resourceId   , | ||||
|       rule:  res?.goodsInfoVOList[0]?.rule   , | ||||
|       settlementBasis:  res?.goodsInfoVOList[0]?.settlementBasis   , | ||||
|     } | ||||
|     if(this.PageStatus === '整车修改' || this.PageStatus === '大宗修改') {  | ||||
|       this.sf4data.id = res?.goodsInfoList[0]?.id; | ||||
|     if(res?.loadingTime) { | ||||
|       this.loadingTime = res?.loadingTime; | ||||
|     } | ||||
|     if(res?.unloadingTime) { | ||||
|       this.unloadingTime = res?.unloadingTime; | ||||
|     } | ||||
|     if(this.PageStatus === '整车修改' ) {  | ||||
|       this.sf4data.id = res?.goodsInfoVOList[0]?.id; | ||||
|      } | ||||
|     if(this.PageStatus === '大宗下一单' || this.PageStatus === '大宗修改') { | ||||
|        this.totalFees = res?.freightPrice || '0'; | ||||
|      } else { | ||||
|     this.totalFees = res?.shippingInformationVO?.totalFee || '0'; | ||||
|      } | ||||
|     this.sf5data = { | ||||
|       goodsValue: res?.goodsValue || '', | ||||
|       goodsValue: res?.goodsValue , | ||||
|     } | ||||
|     console.log(res?.stateReceipt) | ||||
|     this.sf6data = { | ||||
|       stateReceipt: res?.supplementaryInformationVO?.stateReceipt || '', | ||||
|       remarks: res?.supplementaryInformationVO?.remarks || '', | ||||
|       stateReceipt: res?.stateReceipt, | ||||
|       receiptType: res?.receiptType , | ||||
|       receiptUserId: res?.receiptUserId , | ||||
|       remarks: res?.remarks  | ||||
|     } | ||||
|     this.sf7data = { | ||||
|       prePay: res?.shippingInformationVO?.prePay || '', | ||||
|       toPay: res?.shippingInformationVO?.toPay || '', | ||||
|       oilCardPay: res?.shippingInformationVO?.oilCardPay || '', | ||||
|       receiptPay: res?.shippingInformationVO?.receiptPay || '', | ||||
|       // oilCardPay2: res?.shippingInformationVO?.oilCardPay || '', | ||||
|       appendFee: res?.shippingInformationVO?.appendFee || '', | ||||
|       paymentDays: res?.shippingInformationVO?.paymentDays || '', | ||||
|     } | ||||
|     if(this.PageStatus === '整车修改' || this.PageStatus === '大宗修改') {  | ||||
|  | ||||
|       prePay: res?.shippingInformationVO?.prePay , | ||||
|       toPay: res?.shippingInformationVO?.toPay , | ||||
|       oilCardPay: res?.shippingInformationVO?.oilCardPay , | ||||
|       receiptPay: res?.shippingInformationVO?.receiptPay , | ||||
|       // subtotal: res?.shippingInformationVO?.oilCardPay , | ||||
|       appendFee: res?.shippingInformationVO?.appendFee , | ||||
|       paymentDays: res?.shippingInformationVO?.paymentDays , | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 11:10:14 | ||||
|  * @LastEditTime: 2021-12-09 10:59:41 | ||||
|  * @LastEditTime: 2021-12-13 14:52:49 | ||||
|  * @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 | ||||
| @ -36,10 +36,17 @@ | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <nz-tabset (nzSelectedIndexChange)="selectChange($event)" [nzTabBarExtraContent]="extraTemplate"> | ||||
|   <!-- <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> | ||||
|   </nz-tabset> --> | ||||
|   <nz-tabset (nzSelectedIndexChange)="selectChange($event)"  | ||||
|   [nzTabBarExtraContent]="extraTemplate"> | ||||
|   <nz-tab [nzTitle]="'全部('+tabs?.totalQuantity+')'"></nz-tab> | ||||
|   <nz-tab [nzTitle]="'待接单('+tabs?.stayQuantity+')'"></nz-tab> | ||||
|   <nz-tab [nzTitle]="'已接单('+tabs?.receivedQuantity+')'"></nz-tab> | ||||
|   <nz-tab [nzTitle]="'已取消('+tabs?.cancelQuantity+')'"></nz-tab> | ||||
| </nz-tabset> | ||||
|   <div style="margin-top: 15px;"> | ||||
|       <!-- 选中提示框 --> | ||||
| <div style="position: relative"> | ||||
| @ -68,16 +75,8 @@ size="small" | ||||
|         <a [routerLink]="'/supply-management/vehicle-detail/'+item.id">{{item.resourceCode}}</a> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="vehicleDemand" let-item let-index="index"> | ||||
|       | ||||
|         <div *ngFor="let i of item?.vehicleDemand"> | ||||
|           <span>{{item?.vehicleDemand.i}}66{{i}}</span> | ||||
|         </div> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="LoadingAddressArr" let-item let-index="index"> | ||||
|         <div *ngFor="let i of item?.LoadingAddressArr"> | ||||
|           <span>{{i?.maxCube}}</span> | ||||
|           <span>{{i?.maxWeight}}</span> | ||||
|         </div> | ||||
|           <div>车型: {{item?.vehicleDemand?.maxWeight}}</div> | ||||
|           <div class="error">车长: {{item?.vehicleDemand?.maxCube}} 米</div> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="serviceType" let-item let-index="index"> | ||||
|           <span *ngIf="item?.serviceType === 1 || item?.serviceType === '1'">抢单</span> | ||||
|  | ||||
| @ -27,27 +27,12 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   @ViewChild('sfFre', { static: false }) sfFre!: SFComponent; | ||||
|   columns: STColumn[] = []; | ||||
|   tabs = [  { | ||||
|     name: '全部', | ||||
|     type: 0, | ||||
|     count: 0, | ||||
|   }, | ||||
|   { | ||||
|     name: '待接单', | ||||
|     type: 1, | ||||
|     count: 0, | ||||
|   }, | ||||
|   { | ||||
|     name: '已接单', | ||||
|     type: 2, | ||||
|     count: 0, | ||||
|   }, | ||||
|   { | ||||
|     name: '已取消', | ||||
|     type: 3, | ||||
|     count: 0, | ||||
|   }, | ||||
|   ]; | ||||
|   tabs = { | ||||
|     totalQuantity: 0, | ||||
|     cancelQuantity: 0, | ||||
|     receivedQuantity: 0, | ||||
|     stayQuantity: 0 | ||||
|   }; | ||||
|   resourceStatus: any; | ||||
|   constructor(public service: SupplyManagementService, private modal: NzModalService, private router: Router,private ar: ActivatedRoute) { } | ||||
|  | ||||
| @ -71,6 +56,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|     this.initSF(); | ||||
|     this.initST(); | ||||
|     this.initSFFre(); | ||||
|     this.getGoodsSourceStatistical(); | ||||
|   } | ||||
|  | ||||
|  | ||||
| @ -101,12 +87,10 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|         goodsName: { | ||||
|           type: 'string', | ||||
|           title: '货物名称', | ||||
|           enum: [ | ||||
|             { label: '普货', value: 1 }, | ||||
|             { label: '指派', value: 2 }, | ||||
|           ], | ||||
|         | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|               widget: 'dict-select', | ||||
|               params: { dictKey: 'GoodsName' }, | ||||
|             placeholder: '请选择', | ||||
|           } as SFSelectWidgetSchema, | ||||
|         }, | ||||
| @ -233,7 +217,6 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|       }, | ||||
|       { | ||||
|         title: '用车需求', | ||||
|         index: 'vehicleDemand', | ||||
|         className: 'text-center', | ||||
|         width: '120px', | ||||
|         render: 'vehicleDemand' | ||||
| @ -455,4 +438,13 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|       }, | ||||
|     }) | ||||
|   } | ||||
|      // 获取货源状态统计 | ||||
|      getGoodsSourceStatistical() { | ||||
|       this.service.request(this.service.$api_get_goods_resource_statistical, { resourceType: 1 }).subscribe(res => { | ||||
|         if (res) { | ||||
|           console.log(res) | ||||
|           this.tabs = res; | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 11:10:14 | ||||
|  * @LastEditTime: 2021-12-10 15:03:10 | ||||
|  * @LastEditTime: 2021-12-13 15:39:52 | ||||
|  * @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\services\supply-management.service.ts | ||||
| @ -18,9 +18,9 @@ export class SupplyManagementService extends BaseService { | ||||
|   // 大宗获取货源表详情 | ||||
|   $api_get_getBulkDetail = `/api/sdc/goodsResourceOperate/getBulkDetail`; | ||||
|   // 查询运营后台大宗货源列表 | ||||
|   $api_get_bulkPage_list = `/api/sdc/goodsResourceOperate/list/bulkPage`; | ||||
|   $api_get_bulkPage_list = `/api/sdc/goodsResourceOperate/listBulkPage`; | ||||
|   // 查询运营后台整车货源列表 | ||||
|   $api_get_wholePage_list = `/api/sdc/goodsResourceOperate/list/wholePage`; | ||||
|   $api_get_wholePage_list = `/api/sdc/goodsResourceOperate/listWholePage`; | ||||
|   // 整车再下一单 | ||||
|   $api_set_saveAnotherWholeOrder = `/api/sdc/goodsResourceOperate/saveAnotherWholeOrder`; | ||||
|   // 大宗再下一单 | ||||
| @ -36,6 +36,7 @@ export class SupplyManagementService extends BaseService { | ||||
|   $api_get_catalogue_member = `/user?_allow_anonymous=true`; | ||||
|   $api_get_listModifyPrice = `/api/sdc/goodsInfo/listModifyPrice`; | ||||
|   $api_update_price = `/api/sdc/goodsInfo/modifyPrice`; // 根据货物ID修改单价 | ||||
|   $api_get_goods_resource_statistical = `/api/sdc/goodsResourceOperate/StatisticalStatus`; // 统计整车、大宗货源状态数量 | ||||
|   constructor(public injector: Injector) { | ||||
|     super(injector) | ||||
|   } | ||||
|  | ||||
| @ -15,6 +15,7 @@ import { SupplyManagementBulkDetailComponent } from './components/bulk-detail/bu | ||||
| import { SupplyManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component'; | ||||
| import { SupplyManagementAddDriversComponent } from './components/add-drivers/add-drivers.component'; | ||||
| import { SupplyManagementOnecarPublishComponent } from './components/onecar-publish/onecar-publish.component'; | ||||
| import { SupplyManagementBulkPublishComponent } from './components/bulk-publish/bulk-publish.component'; | ||||
|  | ||||
| const routes: Routes = [ | ||||
|   { path: 'index', component: SupplyManagementIndexComponent }, | ||||
| @ -22,6 +23,7 @@ const routes: Routes = [ | ||||
|   { path: 'vehicle-detail/:id', component: SupplyManagementVehicleDetailComponent }, | ||||
|   { path: 'add-drivers', component: SupplyManagementAddDriversComponent }, | ||||
|   { path: 'vehicle-amend/:id', component: SupplyManagementOnecarPublishComponent }, | ||||
|   { path: 'bulk-amend/:id', component: SupplyManagementBulkPublishComponent }, | ||||
| ]; | ||||
|  | ||||
| @NgModule({ | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 11:10:14 | ||||
|  * @LastEditTime: 2021-12-06 13:41:42 | ||||
|  * @LastEditTime: 2021-12-13 15:23:25 | ||||
|  * @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\supply-management.module.ts | ||||
| @ -25,6 +25,7 @@ import { GaodeMapComponent } from './components/gaode-map/gaode-map.component'; | ||||
| import { PublishGoodsChooseFamifiarComponent } from './components/choose-famifiar/choose-famifiar.component'; | ||||
| import { PublishchooseFamifiarSetCaptainComponent } from './components/choose-famifiar/set-captain/set-captain.component'; | ||||
| import { PublishchooseFamifiarAddComponent } from './components/choose-famifiar/add/add.component'; | ||||
| import { SupplyManagementBulkPublishComponent } from './components/bulk-publish/bulk-publish.component'; | ||||
|  | ||||
| const COMPONENTS: Type<void>[] = [ | ||||
|   SupplyManagementIndexComponent, | ||||
| @ -42,7 +43,9 @@ const COMPONENTS: Type<void>[] = [ | ||||
|   GaodeMapComponent, | ||||
|   PublishGoodsChooseFamifiarComponent, | ||||
|   PublishchooseFamifiarSetCaptainComponent, | ||||
|   PublishchooseFamifiarAddComponent | ||||
|   PublishchooseFamifiarAddComponent, | ||||
|   SupplyManagementBulkPublishComponent, | ||||
|    | ||||
| ]; | ||||
|  | ||||
| @NgModule({ | ||||
|  | ||||
| @ -1,3 +1,11 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-13 10:47:28 | ||||
|  * @LastEditTime: 2021-12-13 11:24:23 | ||||
|  * @LastEditors: Please set LastEditors | ||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||||
|  * @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\user\user.component.html | ||||
| --> | ||||
| <!-- 页头 --> | ||||
| <page-header-wrapper [title]="'员工列表'"></page-header-wrapper> | ||||
| <nz-card> | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| /* | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-11-29 15:22:34 | ||||
|  * @LastEditTime: 2021-11-29 15:43:42 | ||||
|  * @LastEditors: your name | ||||
|  * @LastEditTime: 2021-12-13 11:25:12 | ||||
|  * @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 | ||||
|  */ | ||||
| @ -74,8 +74,6 @@ export class UsermanageService extends BaseService { | ||||
|   // 保存企业信息表 | ||||
|   $api_save_enterprise_admin = '/api/mdc/cuc/enterpriseInfo/operate/save'; | ||||
|  | ||||
|  | ||||
|  | ||||
|   // 根据地区code查询列表 | ||||
|   $api_get_region_by_code = '/api/mdc/pbc/region/getRegionByCode'; | ||||
|  | ||||
|  | ||||
| @ -72,26 +72,18 @@ export class VehicleComponentsAuditComponent implements OnInit { | ||||
|         carNoColor: { | ||||
|           type: 'string', | ||||
|           title: '车牌颜色', | ||||
|           enum: [ | ||||
|             { label: '全部', value: '' }, | ||||
|             { label: '正常', value: 0 }, | ||||
|             { label: '冻结', value: 1 }, | ||||
|             { label: '废弃', value: 2 }, | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|           }, | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'CarColor' }, | ||||
|           } | ||||
|         }, | ||||
|         isSelf: { | ||||
|           type: 'string', | ||||
|           title: '是否挂靠', | ||||
|           enum: [ | ||||
|             { label: '否', value: 0 }, | ||||
|             { label: '是', value: 1 }, | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|           }, | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'Whether' }, | ||||
|           } | ||||
|         }, | ||||
|         saveUser: { | ||||
|           type: 'string', | ||||
|  | ||||
| @ -94,15 +94,9 @@ export class VehicleComponentsListComponent implements OnInit { | ||||
|         carNoColor: { | ||||
|           type: 'string', | ||||
|           title: '车牌颜色', | ||||
|           enum: [ | ||||
|             { label: '全部', value: '' }, | ||||
|             { label: '正常', value: 0 }, | ||||
|             { label: '冻结', value: 1 }, | ||||
|             { label: '废弃', value: 2 }, | ||||
|           ], | ||||
|           default: '', | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'CarColor' }, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value, | ||||
|             }, | ||||
|  | ||||
| @ -1,6 +1,19 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-07 14:19:25 | ||||
|  * @LastEditTime: 2021-12-13 11:02:14 | ||||
|  * @LastEditors: your name | ||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||||
|  * @FilePath: \tms-obc-web\src\app\shared\components\amap\amap-poi-picker\amap-poi-picker.component.html | ||||
| --> | ||||
| <div nz-row class="mb-xl"> | ||||
|     <div nz-col nzSpan="8"> | ||||
|       <input id="pickerInput" [(ngModel)]="addressInput" placeholder="请输入地址" /> | ||||
|     </div> | ||||
| </div> | ||||
| <div class="map-container" id="container" tabindex="0" style="width: 800px; height: 500px"></div> | ||||
|   </div> | ||||
|   <div class="map-container" id="container" tabindex="0" style="width: 800px; height: 500px"></div> | ||||
|   <div *nzModalFooter> | ||||
|     <button nz-button nzType="default" (click)="cancel()">取消</button> | ||||
|     <button nz-button nzType="primary" (click)="sure()">确定</button> | ||||
|   </div> | ||||
|    | ||||
| @ -1,7 +1,8 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { throwError } from 'rxjs'; | ||||
| import AMapLoader from '@amap/amap-jsapi-loader'; | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { amapConf } from '@conf/amap.config'; | ||||
| import { NzModalRef } from 'ng-zorro-antd/modal'; | ||||
| import { throwError } from 'rxjs'; | ||||
| declare var AMap: any; | ||||
| declare var AMapUI: any; | ||||
| declare var Loca: any; | ||||
| @ -14,15 +15,15 @@ const CONFIG = amapConf; | ||||
|   styleUrls: ['./amap-poi-picker.component.less'] | ||||
| }) | ||||
| export class AmapPoiPickerComponent implements OnInit { | ||||
|   @ViewChild('modal') | ||||
|   modal: any; | ||||
|   // @ViewChild('modal') | ||||
|   // modal: any; | ||||
|   addressInput: any; | ||||
|  | ||||
|   aMap: any; | ||||
|  | ||||
|   poi: any; | ||||
|  | ||||
|   constructor() {} | ||||
|   constructor(private modalRef: NzModalRef) {} | ||||
|   ngOnInit(): void { | ||||
|     this.mapInit(); | ||||
|     // this.PoiPicker(); | ||||
| @ -79,6 +80,7 @@ export class AmapPoiPickerComponent implements OnInit { | ||||
|       }); | ||||
|   } | ||||
|  | ||||
|   //POI选点 | ||||
|   poiPickerReady(poiPicker: any) { | ||||
|     (window as any).poiPicker = poiPicker; | ||||
|     const map = this.aMap; | ||||
| @ -99,7 +101,6 @@ export class AmapPoiPickerComponent implements OnInit { | ||||
|     poiPicker.on('poiPicked', (poiResult: any) => { | ||||
|       const source = poiResult.source, | ||||
|         poi = poiResult.item; | ||||
|       console.log(poi); | ||||
|       this.poi = poi; | ||||
|       marker.setMap(map); | ||||
|       infoWindow.setMap(map); | ||||
| @ -107,18 +108,29 @@ export class AmapPoiPickerComponent implements OnInit { | ||||
|       marker.setPosition(poi.location); | ||||
|       infoWindow.setPosition(poi.location); | ||||
|  | ||||
|       infoWindow.setContent('地址: <pre>' + poi.name + '</pre>'); | ||||
|       infoWindow.setContent(`地址: <pre>${poi.name}</pre>`); | ||||
|       infoWindow.open(map, marker.getPosition()); | ||||
|  | ||||
|       map.setCenter(marker.getPosition()); | ||||
|       //获取行政区信息 | ||||
|       map.getCity(function (info: any) { | ||||
|         poi.cityInfo = info; | ||||
|       }); | ||||
|     }); | ||||
|  | ||||
|     poiPicker.onCityReady(function () { | ||||
|       poiPicker.suggest('美食'); | ||||
|     }); | ||||
|     // poiPicker.onCityReady(function () { | ||||
|     //   poiPicker.suggest('美食'); | ||||
|     // }); | ||||
|   } | ||||
|  | ||||
|   closeInfoWindow() { | ||||
|     this.aMap.clearInfoWindow(); | ||||
|   } | ||||
|  | ||||
|   sure() { | ||||
|     this.modalRef.destroy(); | ||||
|   } | ||||
|   cancel() { | ||||
|     this.modalRef.destroy(); | ||||
|   } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user