Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -168,7 +168,7 @@ export class DriverAccountComponent extends BasicTableComponent implements OnIni | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.freezeBalance }) } | ||||
|       }, | ||||
|       { | ||||
|         title: '本月累计提现金额', | ||||
|         title: '累计提现金额', | ||||
|         index: 'withdrawBalance', | ||||
|         width: 160, | ||||
|         type: 'widget', | ||||
|  | ||||
| @ -1,13 +1,49 @@ | ||||
| <h2>转移客户数:{{changeST?.total}}</h2> | ||||
| <st #changeST [data]="service.$api_get_partner_change_list" [columns]="columns.changeColumn" | ||||
|     [req]="{params:{id:id ,type:1}}" [loading]="service.http.loading" bordered size="small" | ||||
|     [page]="{ show: false }" [scroll]="{ x: '750px' }"> | ||||
| <!-- | ||||
|  * @Description  :  | ||||
|  * @Version      : 1.0 | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-04-28 20:27:08 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-05-11 14:44:15 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\partner-list\\components\\channel-log-modal\\channel-log-modal.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <div class="bbod"> | ||||
|     <h2>转移客户数:{{ changeST?.list?.length }}</h2> | ||||
| <st | ||||
|   #changeST | ||||
|   [data]="service.$api_get_partner_change_list" | ||||
|   [columns]="columns.changeColumn" | ||||
|   [req]="{ params: { id: id, type: 1 } }" | ||||
|   [res]="{ reName: { list: 'data' } }" | ||||
|   [loading]="service.http.loading" | ||||
|   bordered | ||||
|   size="small" | ||||
|   [page]="{ show: false }" | ||||
|   [scroll]="{ x: '750px' }" | ||||
| > | ||||
| <ng-template st-row="crmStatus" let-item let-index="index" let-column="column"> | ||||
|     <div *ngIf="item.crmStatus == '0'">未发起</div> | ||||
|     <div *ngIf="item.crmStatus == '10'">待审核</div> | ||||
|     <div *ngIf="item.crmStatus == '20'">审核通过</div> | ||||
|     <div *ngIf="item.crmStatus == '30'">驳回</div> | ||||
|   </ng-template> | ||||
| </st> | ||||
| <h2>不转移客户数:{{noChangeST?.total}}</h2> | ||||
| <st #noChangeST [data]="service.$api_get_partner_change_list" [columns]="columns.beChangeColumn" | ||||
|     [req]="{params:{id:id ,type:2}}" [res]="{reName: { list: 'data' }}" | ||||
|     [loading]="service.http.loading" bordered size="small" [page]="{ show: false }" [scroll]="{ x: '750px' }"> | ||||
| <h2>不转移客户数:{{ noChangeST?.list?.length }}</h2> | ||||
| <st | ||||
|   #noChangeST | ||||
|   [data]="service.$api_get_partner_change_list" | ||||
|   [columns]="columns.beChangeColumn" | ||||
|   [req]="{ params: { id: id, type: 2 } }" | ||||
|   [res]="{ reName: { list: 'data' } }" | ||||
|   [loading]="service.http.loading" | ||||
|   bordered | ||||
|   size="small" | ||||
|   [page]="{ show: false }" | ||||
|   [scroll]="{ x: '750px' }" | ||||
| > | ||||
| </st> | ||||
| <p> | ||||
|     客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。 | ||||
| </p> | ||||
|   客户转移:客户跟着上级合伙人转移一并到新渠道销售下,会同步发起CRM《客户转移》流程;不转移的,客户会与上级合伙人解绑,修改成功后,修改时间也是合伙人与客户的结算结束时间,成为原来渠道销售的直客。 | ||||
| </p> | ||||
| </div> | ||||
|  | ||||
| @ -0,0 +1,10 @@ | ||||
| /* stylelint-disable-next-line CssSyntaxError */ | ||||
| :host { | ||||
|     ::ng-deep { | ||||
|         .bbod{ | ||||
|             height: 600px; | ||||
|             overflow-y: hidden; | ||||
|         } | ||||
|    | ||||
|   } | ||||
| } | ||||
| @ -1,32 +1,48 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { STColumn } from '@delon/abc/st'; | ||||
| /* | ||||
|  * @Description  : | ||||
|  * @Version      : 1.0 | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-05-09 10:49:35 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-05-11 14:47:57 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\partner-list\\components\\channel-log-modal\\channel-log-modal.component.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { STColumn, STComponent } from '@delon/abc/st'; | ||||
| import { PartnerListService } from '../../services/partner-list.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-channel-log-modal', | ||||
|   styleUrls: ['./channel-log-modal.component.less'], | ||||
|   templateUrl: './channel-log-modal.component.html' | ||||
| }) | ||||
| export class ChannelLogModalComponent implements OnInit { | ||||
|   @ViewChild('changeST', { static: true }) changeST!: STComponent; | ||||
|   @ViewChild('noChangeST', { static: true }) noChangeST!: STComponent; | ||||
|   columns: { changeColumn: STColumn[]; beChangeColumn: STColumn[] } = this.initST(); | ||||
|   id = ''; | ||||
|   constructor(public service: PartnerListService) {} | ||||
|  | ||||
|   ngOnInit(): void {} | ||||
|   ngOnInit(): void { | ||||
|     console.log(this.changeST); | ||||
|      | ||||
|   } | ||||
|  | ||||
|   private initST(): { changeColumn: STColumn[]; beChangeColumn: STColumn[] } { | ||||
|     return { | ||||
|       changeColumn: [ | ||||
|         { title: '客户名称', index: 'payCode', width: 180 }, | ||||
|         { title: '合伙人', index: 'ltdName', width: 160 }, | ||||
|         { title: '渠道销售', index: 'payDate', className: 'text-center', width: 130 }, | ||||
|         { title: 'CRM审核状态', index: 'payDate', width: 150 }, | ||||
|         { title: '生效时间', index: 'payDate', className: 'text-center', width: 130 } | ||||
|         { title: '客户名称', index: 'enterpriseName', width: 180 }, | ||||
|         { title: '合伙人', index: 'newPartnerName', width: 160 }, | ||||
|         { title: '渠道销售', index: 'newChannelName', className: 'text-center', width: 130 }, | ||||
|         { title: 'CRM审核状态', render: 'crmStatus', width: 150 }, | ||||
|         { title: '生效时间', index: 'effectiveTime', className: 'text-center', width: 130 } | ||||
|       ], | ||||
|       beChangeColumn: [ | ||||
|         { title: '客户名称', index: 'payCode', width: 180 }, | ||||
|         { title: '合伙人', index: 'ltdName', width: 160 }, | ||||
|         { title: '渠道销售', index: 'payDate', className: 'text-center', width: 130 }, | ||||
|         { title: '生效时间', index: 'payDate', className: 'text-center', width: 130 } | ||||
|         { title: '客户名称', index: 'enterpriseName', width: 180 }, | ||||
|         { title: '合伙人', index: 'newPartnerName', width: 160 }, | ||||
|         { title: '渠道销售', index: 'newChannelName', className: 'text-center', width: 130 }, | ||||
|         { title: '生效时间', index: 'effectiveTime', className: 'text-center', width: 130 } | ||||
|       ] | ||||
|     }; | ||||
|   } | ||||
|  | ||||
| @ -1,8 +1,7 @@ | ||||
| import { Component, Input, OnInit, ViewChild } from '@angular/core'; | ||||
| import { SFComponent, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFValue } from '@delon/form'; | ||||
| import { SFComponent, SFSchema, SFValue } from '@delon/form'; | ||||
| import { ModalHelper } from '@delon/theme'; | ||||
| import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { of } from 'rxjs'; | ||||
| import { map } from 'rxjs/operators'; | ||||
| import { PartnerListService } from '../../services/partner-list.service'; | ||||
|  | ||||
| @ -25,6 +24,7 @@ export class PartnerAuditModalComponent implements OnInit { | ||||
|     console.log(this.info); | ||||
|     this.initSF(this.info); | ||||
|     // asyncData: () => this.service.getChannel(), | ||||
|  | ||||
|     if(this.info.channelId) { | ||||
|       const value = [{ | ||||
|         label: this.info.channelIdLabel, | ||||
| @ -38,26 +38,20 @@ export class PartnerAuditModalComponent implements OnInit { | ||||
|          } | ||||
|       }) | ||||
|  | ||||
|     }  | ||||
|     // else { | ||||
|     //   console.log() | ||||
|     //   this.service.getChannel().pipe(map(data => { | ||||
|     //     console.log(data); | ||||
|          | ||||
|     //   })) | ||||
|     //   this.service.getChannel().subscribe((res) => { | ||||
|     //     console.log(res); | ||||
|     //     const value :any= res; | ||||
|     //     setTimeout(() => { | ||||
|     //       if(this.sf) { | ||||
|     //         this.sf.getProperty('/channelId2')!.schema.enum = value; | ||||
|     //         this.sf.getProperty('/channelId2')!.widget.reset(value); | ||||
|     //         this.sf.setValue('/channelId2', value); | ||||
|     //        } | ||||
|     //     }) | ||||
|     //   }) | ||||
|     } else { | ||||
|       this.service.getChannel().subscribe((res) => { | ||||
|         console.log(res); | ||||
|         const value :any= res; | ||||
|         setTimeout(() => { | ||||
|           if(this.sf) { | ||||
|             this.sf.getProperty('/channelId')!.schema.enum = value; | ||||
|             this.sf.getProperty('/channelId')!.widget.reset(value); | ||||
|             this.sf.setValue('/channelId', value); | ||||
|            } | ||||
|         }) | ||||
|       }) | ||||
|      | ||||
|     // } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   initSF(user: any) { | ||||
| @ -91,36 +85,21 @@ export class PartnerAuditModalComponent implements OnInit { | ||||
|           default: this.info.isPass !== undefined ? this.info.isPass : true | ||||
|         }, | ||||
|         channelId: { | ||||
|           type: 'string', | ||||
|           title: '渠道销售', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             hidden: this.info.isPass === false, | ||||
|             serverSearch: true, | ||||
|             searchDebounceTime: 300, | ||||
|             searchLoadingText: '搜索中...', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             onSearch: (q: any) => { | ||||
|               let str = q.replace(/^\s+|\s+$/g, ''); | ||||
|               let params :any= {} | ||||
|               if (str) { | ||||
|                 console.log(+str); | ||||
|                 if(+str) { | ||||
|                   console.log('数字'); | ||||
|                   params.phoneNumber = str | ||||
|                 } else { | ||||
|                   console.log('中文'); | ||||
|                   params.name = str | ||||
|                 } | ||||
|                 return this.service | ||||
|                   .request(this.service.$api_get_channel, params) | ||||
|                   .pipe(map((res: any) => (res as any[]).map(i => ({ label: `${i.name}/${i.telephone}`, value: i.id } as SFSchemaEnum)))) | ||||
|                   .toPromise(); | ||||
|               } else { | ||||
|                 return of([]); | ||||
|               } | ||||
|             hidden: this.info.isPass === false, | ||||
|             visibleIf: { | ||||
|               status: value => value | ||||
|             }, | ||||
|           } as SFSelectWidgetSchema | ||||
|             errors: { | ||||
|               required: ' ' | ||||
|             } | ||||
|           }, | ||||
|           default: user.channelId | ||||
|         }, | ||||
|         approvalOpinion: { | ||||
|           title: '备注', | ||||
| @ -140,8 +119,10 @@ export class PartnerAuditModalComponent implements OnInit { | ||||
|           } | ||||
|         } | ||||
|       }, | ||||
|       required: [ 'approvalOpinion','channelId'] | ||||
|       required: ['channelId', 'approvalOpinion'] | ||||
|     }; | ||||
|     console.log('666'); | ||||
|      | ||||
|   } | ||||
|  | ||||
|   sure() { | ||||
|  | ||||
| @ -28,9 +28,7 @@ | ||||
|             </div> | ||||
|             <div nz-row> | ||||
|               <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 注册时间:{{ detailData?.createTime }} </div> | ||||
|               <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> | ||||
|                 所属城市:{{enterpriseDefaultCityName}} | ||||
|               </div> | ||||
|               <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> 所属城市:{{ enterpriseDefaultCityName }} </div> | ||||
|             </div> | ||||
|           </div> | ||||
|         </div> | ||||
| @ -45,14 +43,32 @@ | ||||
|               <button [disabled]="service.http.loading" nz-button nzDanger (click)="auditPartner(false)"> 驳回 </button> | ||||
|             </ng-container> | ||||
|             <ng-container *ngIf="detailData?.approvalStatus != 10"> | ||||
|               <button [disabled]="service.http.loading" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="enable" | ||||
|                 (nzOnConfirm)="freezeOrResume(0)" nzPopconfirmPlacement="bottomRight" *ngIf="detailData?.lockedStatus" | ||||
|                 acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']"> | ||||
|               <button | ||||
|                 [disabled]="service.http.loading" | ||||
|                 nz-button | ||||
|                 nzDanger | ||||
|                 nz-popconfirm | ||||
|                 [nzPopconfirmTitle]="enable" | ||||
|                 (nzOnConfirm)="freezeOrResume(0)" | ||||
|                 nzPopconfirmPlacement="bottomRight" | ||||
|                 *ngIf="detailData?.lockedStatus" | ||||
|                 acl | ||||
|                 [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']" | ||||
|               > | ||||
|                 启用 | ||||
|               </button> | ||||
|               <button [disabled]="service.http.loading" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen" | ||||
|                 (nzOnConfirm)="freezeOrResume(1)" nzPopconfirmPlacement="bottomRight" *ngIf="!detailData?.lockedStatus" | ||||
|                 acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']"> | ||||
|               <button | ||||
|                 [disabled]="service.http.loading" | ||||
|                 nz-button | ||||
|                 nzDanger | ||||
|                 nz-popconfirm | ||||
|                 [nzPopconfirmTitle]="frozen" | ||||
|                 (nzOnConfirm)="freezeOrResume(1)" | ||||
|                 nzPopconfirmPlacement="bottomRight" | ||||
|                 *ngIf="!detailData?.lockedStatus" | ||||
|                 acl | ||||
|                 [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']" | ||||
|               > | ||||
|                 冻结 | ||||
|               </button> | ||||
|             </ng-container> | ||||
| @ -64,17 +80,24 @@ | ||||
|   </ng-template> | ||||
|  | ||||
|   <ng-template #frozen> | ||||
|     <ng-container *ngTemplateOutlet=" | ||||
|     <ng-container | ||||
|       *ngTemplateOutlet=" | ||||
|         PopconfirmTempalte; | ||||
|         context: { title: '确定冻结该合伙人吗?', content: '停用后,该合伙人将被限制使用,不限于访问受限、邀请客户、佣金收益等,请谨慎操作' } | ||||
|       "> | ||||
|         context: { | ||||
|           title: '确定冻结该合伙人吗?', | ||||
|           content: '停用后,该合伙人将被限制使用,不限于访问受限、邀请客户、佣金收益等,请谨慎操作' | ||||
|         } | ||||
|       " | ||||
|     > | ||||
|     </ng-container> | ||||
|   </ng-template> | ||||
|   <ng-template #enable> | ||||
|     <ng-container *ngTemplateOutlet=" | ||||
|     <ng-container | ||||
|       *ngTemplateOutlet=" | ||||
|         PopconfirmTempalte; | ||||
|         context: { title: '确定启用该合伙人吗?', content: '启用后,该该合伙人将恢复正常使用功能,请再次确认' } | ||||
|       "> | ||||
|       " | ||||
|     > | ||||
|     </ng-container> | ||||
|   </ng-template> | ||||
| </page-header-wrapper> | ||||
| @ -83,21 +106,34 @@ | ||||
|   <sv-container col="3"> | ||||
|     <sv-title>企业管理员信息</sv-title> | ||||
|     <sv label="姓名"> | ||||
|       <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.name" [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> | ||||
|       <input | ||||
|         nz-input | ||||
|         type="text" | ||||
|         [(ngModel)]="detailData.adminUserInfo.name" | ||||
|         [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit ? '' : '-'" | ||||
|       /> | ||||
|     </sv> | ||||
|     <sv label="手机号"> | ||||
|       <!-- <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.mobile" [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> --> | ||||
|         {{detailData.adminUserInfo.mobile}} | ||||
|       {{ detailData.adminUserInfo.mobile }} | ||||
|     </sv> | ||||
|     <sv label="身份证号"> | ||||
|       <input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> | ||||
|       <input | ||||
|         nz-input | ||||
|         type="text" | ||||
|         [(ngModel)]="detailData.adminUserInfo.certificateNumber" | ||||
|         [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit ? '' : '-'" | ||||
|       /> | ||||
|     </sv> | ||||
|     <sv label="身份证照" col="2"> | ||||
|       <div class="d-flex"> | ||||
|         <ng-container *ngTemplateOutlet=" | ||||
|         <ng-container | ||||
|           *ngTemplateOutlet=" | ||||
|             uploadTemplate; | ||||
|             context: { | ||||
|               data: detailData?.adminUserInfo, | ||||
| @ -106,9 +142,11 @@ | ||||
|               key2: 'certificatePhotoFront', | ||||
|               hover: 'certificateBackFront' | ||||
|             } | ||||
|           "> | ||||
|           " | ||||
|         > | ||||
|         </ng-container> | ||||
|         <ng-container *ngTemplateOutlet=" | ||||
|         <ng-container | ||||
|           *ngTemplateOutlet=" | ||||
|             uploadTemplate; | ||||
|             context: { | ||||
|               data: detailData?.adminUserInfo, | ||||
| @ -117,25 +155,44 @@ | ||||
|               key2: 'certificatePhotoBack', | ||||
|               hover: 'certificateBack' | ||||
|             } | ||||
|           "> | ||||
|           " | ||||
|         > | ||||
|         </ng-container> | ||||
|       </div> | ||||
|     </sv> | ||||
|     <sv label="身份证有效期" col="1"> | ||||
|       <nz-date-picker [(ngModel)]="detailData.adminUserInfo.validStartTime" [nzDisabled]="!isEdit" nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar"> | ||||
|       <nz-date-picker | ||||
|         [(ngModel)]="detailData.adminUserInfo.validStartTime" | ||||
|         [nzDisabled]="!isEdit" | ||||
|         nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||
|         style="width: 140px" | ||||
|         class="calendar" | ||||
|       > | ||||
|       </nz-date-picker> | ||||
|       - | ||||
|       <ng-container | ||||
|         *ngIf="!isEdit && !detailData?.adminUserInfo.validEndTime && detailData?.adminUserInfo.validStartTime"> | ||||
|       <ng-container *ngIf="!isEdit && !detailData?.adminUserInfo.validEndTime && detailData?.adminUserInfo.validStartTime"> | ||||
|         <label style="padding-left: 11px">长期</label> | ||||
|       </ng-container> | ||||
|       <nz-date-picker [(ngModel)]="detailData.adminUserInfo.validEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar"> | ||||
|       <nz-date-picker | ||||
|         [(ngModel)]="detailData.adminUserInfo.validEndTime" | ||||
|         [nzDisabled]="!isEdit" | ||||
|         nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||
|         style="width: 140px" | ||||
|         class="calendar" | ||||
|       > | ||||
|       </nz-date-picker> | ||||
|       <ng-container *ngIf="isEdit"> | ||||
|         <label nz-checkbox [ngModel]="!!!detailData.adminUserInfo.validEndTime" | ||||
|           (ngModelChange)="$event ? (detailData.adminUserInfo.validEndTime = '') : ''" class="ml-sm">长期</label> | ||||
|         <label | ||||
|           nz-checkbox | ||||
|           [ngModel]="!!!detailData.adminUserInfo.validEndTime" | ||||
|           (ngModelChange)="$event ? (detailData.adminUserInfo.validEndTime = '') : ''" | ||||
|           class="ml-sm" | ||||
|           >长期</label | ||||
|         > | ||||
|       </ng-container> | ||||
|     </sv> | ||||
|   </sv-container> | ||||
| @ -144,60 +201,81 @@ | ||||
|   <sv-container col="3" class="mt16"> | ||||
|     <sv-title> | ||||
|       <label class="mr-md">企业基本信息</label> | ||||
|       <label *ngIf="detailData?.approvalStatus === 10" style="color: #1890ff"><i nz-icon nzType="info-circle" | ||||
|           nzTheme="fill" class="mr-xs"></i>待审核 | ||||
|       <label *ngIf="detailData?.approvalStatus === 10" style="color: #1890ff" | ||||
|         ><i nz-icon nzType="info-circle" nzTheme="fill" class="mr-xs"></i>待审核 | ||||
|       </label> | ||||
|       <label *ngIf="detailData?.approvalStatus === 20" style="color: #52c41a"><i nz-icon nzType="check-circle" | ||||
|           nzTheme="fill" class="mr-xs"></i>审核通过 | ||||
|       <label *ngIf="detailData?.approvalStatus === 20" style="color: #52c41a" | ||||
|         ><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 | ||||
|       </label> | ||||
|       <label *ngIf="detailData?.approvalStatus === 30" style="color: #ff4d4f"><i nz-icon nzType="close-circle" | ||||
|           nzTheme="fill" class="mr-xs"></i>驳回 驳回原因:{{ detailData?.approvalOpinion }} | ||||
|       <label *ngIf="detailData?.approvalStatus === 30" style="color: #ff4d4f" | ||||
|         ><i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 驳回原因:{{ detailData?.approvalOpinion }} | ||||
|       </label> | ||||
|       <p style="margin-bottom: 0"> | ||||
|         四要素验证: | ||||
|         <label *ngIf="detailData?.esignCheckStatus === 0" style="color: #ff4d4f"><i nz-icon nzType="info-circle" | ||||
|             nzTheme="fill" class="mr-xs"></i>不通过  驳回原因:{{ detailData?.esignCheckMsg }} | ||||
|         <label *ngIf="detailData?.esignCheckStatus === 0" style="color: #ff4d4f" | ||||
|           ><i nz-icon nzType="info-circle" nzTheme="fill" class="mr-xs"></i>不通过  驳回原因:{{ detailData?.esignCheckMsg }} | ||||
|         </label> | ||||
|         <label *ngIf="detailData?.esignCheckStatus === 1" style="color: #52c41a"><i nz-icon nzType="check-circle" | ||||
|             nzTheme="fill" class="mr-xs"></i>通过 | ||||
|         <label *ngIf="detailData?.esignCheckStatus === 1" style="color: #52c41a" | ||||
|           ><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>通过 | ||||
|         </label> | ||||
|         <label *ngIf="detailData?.esignCheckStatus === 2" style="color: #1890ff"><i nz-icon nzType="close-circle" | ||||
|             nzTheme="fill" class="mr-xs"></i>未认证:  {{detailData?.esignCheckMsg}} | ||||
|         <label *ngIf="detailData?.esignCheckStatus === 2" style="color: #1890ff" | ||||
|           ><i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>未认证:  {{ detailData?.esignCheckMsg }} | ||||
|         </label> | ||||
|       </p> | ||||
|     </sv-title> | ||||
|     <sv label="公司名称"> | ||||
|       <!-- <input nz-input type="text" [(ngModel)]="" [readonly]="!isEdit" [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit ? '' : '-'" /> --> | ||||
|       {{detailData.enterpriseName}} | ||||
|       {{ detailData.enterpriseName }} | ||||
|     </sv> | ||||
|     <sv label="统一社会信用代码"> | ||||
|       <!-- <input nz-input type="text" [(ngModel)]="detailData.unifiedSocialCreditCode" [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> --> | ||||
|       {{detailData.unifiedSocialCreditCode}} | ||||
|       {{ detailData.unifiedSocialCreditCode }} | ||||
|     </sv> | ||||
|     <sv label="营业执照" col="2"> | ||||
|       <ng-container *ngTemplateOutlet=" | ||||
|       <ng-container | ||||
|         *ngTemplateOutlet=" | ||||
|           uploadTemplate; | ||||
|           context: { data: detailData, status: isEdit, key: 'licensePhotoWatermark', key2: 'licensePhoto', hover: 'detailPhoto' } | ||||
|         "> | ||||
|         " | ||||
|       > | ||||
|       </ng-container> | ||||
|     </sv> | ||||
|  | ||||
|     <sv label="营业期限" col="1"> | ||||
|       <nz-date-picker [(ngModel)]="detailData.operatingStartTime" [nzDisabled]="!isEdit" nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 100px" class="calendar"> | ||||
|       <nz-date-picker | ||||
|         [(ngModel)]="detailData.operatingStartTime" | ||||
|         [nzDisabled]="!isEdit" | ||||
|         nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||
|         style="width: 100px" | ||||
|         class="calendar" | ||||
|       > | ||||
|       </nz-date-picker> | ||||
|       - | ||||
|       <ng-container *ngIf="!isEdit && !detailData?.operatingEndTime && detailData?.operatingStartTime"> | ||||
|         <label style="padding-left: 11px">长期</label> | ||||
|       </ng-container> | ||||
|       <nz-date-picker [(ngModel)]="detailData.operatingEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 100px" class="calendar"> | ||||
|       <nz-date-picker | ||||
|         [(ngModel)]="detailData.operatingEndTime" | ||||
|         [nzDisabled]="!isEdit" | ||||
|         nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||
|         style="width: 100px" | ||||
|         class="calendar" | ||||
|       > | ||||
|       </nz-date-picker> | ||||
|       <ng-container *ngIf="isEdit"> | ||||
|         <label nz-checkbox [ngModel]="!!!detailData.operatingEndTime" | ||||
|           (ngModelChange)="$event ? (detailData.operatingEndTime = '') : ''" class="ml-sm">长期</label> | ||||
|         <label | ||||
|           nz-checkbox | ||||
|           [ngModel]="!!!detailData.operatingEndTime" | ||||
|           (ngModelChange)="$event ? (detailData.operatingEndTime = '') : ''" | ||||
|           class="ml-sm" | ||||
|           >长期</label | ||||
|         > | ||||
|       </ng-container> | ||||
|     </sv> | ||||
|   </sv-container> | ||||
| @ -205,33 +283,63 @@ | ||||
|   <sv-container col="3" class="mt16"> | ||||
|     <sv-title>企业法人信息</sv-title> | ||||
|     <sv label="法定代表人"> | ||||
|       <input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentity.name" [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> | ||||
|       <input | ||||
|         nz-input | ||||
|         type="text" | ||||
|         [(ngModel)]="detailData.legalPersonIdentity.name" | ||||
|         [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit ? '' : '-'" | ||||
|       /> | ||||
|     </sv> | ||||
|     <sv label="身份证号码"> | ||||
|       <input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentity.certificateNumber" [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> | ||||
|       <input | ||||
|         nz-input | ||||
|         type="text" | ||||
|         [(ngModel)]="detailData.legalPersonIdentity.certificateNumber" | ||||
|         [readonly]="!isEdit" | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [placeholder]="isEdit ? '' : '-'" | ||||
|       /> | ||||
|     </sv> | ||||
|     <sv label="身份证有效期" col="1"> | ||||
|       <nz-date-picker [(ngModel)]="detailData.legalPersonIdentity.validStartTime" [nzDisabled]="!isEdit" | ||||
|         nzPlaceHolder=" " [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" | ||||
|         class="calendar"></nz-date-picker> | ||||
|       <nz-date-picker | ||||
|         [(ngModel)]="detailData.legalPersonIdentity.validStartTime" | ||||
|         [nzDisabled]="!isEdit" | ||||
|         nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||
|         style="width: 140px" | ||||
|         class="calendar" | ||||
|       ></nz-date-picker> | ||||
|       - | ||||
|       <ng-container | ||||
|         *ngIf="!isEdit && !detailData?.legalPersonIdentity?.validEndTime && detailData.legalPersonIdentity.validStartTime"> | ||||
|       <ng-container *ngIf="!isEdit && !detailData?.legalPersonIdentity?.validEndTime && detailData.legalPersonIdentity.validStartTime"> | ||||
|         <label style="padding-left: 11px">长期</label> | ||||
|       </ng-container> | ||||
|       <nz-date-picker [(ngModel)]="detailData.legalPersonIdentity.validEndTime" [nzDisabled]="!isEdit" nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar"> | ||||
|       <nz-date-picker | ||||
|         [(ngModel)]="detailData.legalPersonIdentity.validEndTime" | ||||
|         [nzDisabled]="!isEdit" | ||||
|         nzPlaceHolder=" " | ||||
|         [nzBorderless]="!isEdit" | ||||
|         [nzSuffixIcon]="isEdit ? 'calendar' : ''" | ||||
|         style="width: 140px" | ||||
|         class="calendar" | ||||
|       > | ||||
|       </nz-date-picker> | ||||
|       <ng-container *ngIf="isEdit"> | ||||
|         <label nz-checkbox [ngModel]="!!!detailData.legalPersonIdentity.validEndTime" | ||||
|           (ngModelChange)="$event ? (detailData.legalPersonIdentity.validEndTime = '') : ''" class="ml-sm">长期</label> | ||||
|         <label | ||||
|           nz-checkbox | ||||
|           [ngModel]="!!!detailData.legalPersonIdentity.validEndTime" | ||||
|           (ngModelChange)="$event ? (detailData.legalPersonIdentity.validEndTime = '') : ''" | ||||
|           class="ml-sm" | ||||
|           >长期</label | ||||
|         > | ||||
|       </ng-container> | ||||
|     </sv> | ||||
|     <sv label="身份证照" col="1"> | ||||
|       <div class="d-flex"> | ||||
|         <ng-container *ngTemplateOutlet=" | ||||
|         <ng-container | ||||
|           *ngTemplateOutlet=" | ||||
|             uploadTemplate; | ||||
|             context: { | ||||
|               data: detailData?.legalPersonIdentity, | ||||
| @ -240,9 +348,11 @@ | ||||
|               key2: 'certificatePhotoFront', | ||||
|               hover: 'legalFront' | ||||
|             } | ||||
|           "> | ||||
|           " | ||||
|         > | ||||
|         </ng-container> | ||||
|         <ng-container *ngTemplateOutlet=" | ||||
|         <ng-container | ||||
|           *ngTemplateOutlet=" | ||||
|             uploadTemplate; | ||||
|             context: { | ||||
|               data: detailData?.legalPersonIdentity, | ||||
| @ -251,16 +361,26 @@ | ||||
|               key2: 'certificatePhotoBack', | ||||
|               hover: 'legalBack' | ||||
|             } | ||||
|           "> | ||||
|           " | ||||
|         > | ||||
|         </ng-container> | ||||
|       </div> | ||||
|     </sv> | ||||
|     <sv label="所属城市"> | ||||
|       <ng-container *ngIf="isEdit; else cascaderelseTemplate"> | ||||
|         <nz-tree-select #areaTreeSelect style="width: 350px" [(ngModel)]="enterpriseAddressCode" | ||||
|           [nzDropdownStyle]="{ 'max-height': '300px' }" [nzExpandedKeys]="enterpriseDefaultAddressCode" | ||||
|           [nzNodes]="areaList" [nzAsyncData]="true" [nzCheckStrictly]="true" nzCheckable | ||||
|           (nzExpandChange)="onExpandChange($event.node)" nzDropdownClassName="area-tree-select"> | ||||
|         <nz-tree-select | ||||
|           #areaTreeSelect | ||||
|           style="width: 350px" | ||||
|           [(ngModel)]="enterpriseAddressCode" | ||||
|           [nzDropdownStyle]="{ 'max-height': '300px' }" | ||||
|           [nzExpandedKeys]="enterpriseDefaultAddressCode" | ||||
|           [nzNodes]="areaList" | ||||
|           [nzAsyncData]="true" | ||||
|           [nzCheckStrictly]="true" | ||||
|           nzCheckable | ||||
|           (nzExpandChange)="onExpandChange($event.node)" | ||||
|           nzDropdownClassName="area-tree-select" | ||||
|         > | ||||
|         </nz-tree-select> | ||||
|       </ng-container> | ||||
|       <ng-template #cascaderelseTemplate> | ||||
| @ -280,20 +400,25 @@ | ||||
| <nz-card> | ||||
|   <sv-container col="3" class="mt16"> | ||||
|     <sv-title>修改渠道销售记录</sv-title> | ||||
|     <sv label=""> | ||||
|       <st #st [data]="service.$api_get_personal_channel_list" [columns]="columns" | ||||
|         [req]="{params:{partnerId:route.snapshot.params.id}}" [loading]="service.http.loading" bordered size="small" | ||||
|         [page]="{ show: false }" [scroll]="{ x: '1200px' }"> | ||||
|       </st> | ||||
|     </sv> | ||||
|   </sv-container> | ||||
|   <st | ||||
|   #st | ||||
|   [data]="service.$api_get_personal_channel_list" | ||||
|   [columns]="columns" | ||||
|   [req]="{ params: { partnerId: route.snapshot.params.id } }" | ||||
|   [loading]="service.http.loading" | ||||
|   bordered | ||||
|   size="small" | ||||
|   [page]="{ show: false }" | ||||
|   [scroll]="{ x: '1200px' }" | ||||
| > | ||||
| </st> | ||||
| </nz-card> | ||||
|  | ||||
| <ng-template #PopconfirmTempalte let-title="title" let-content="content"> | ||||
|   <div class="ant-popover-message"> | ||||
|     <i nz-icon nzType="info-circle" nzTheme="fill"></i> | ||||
|     <div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">{{ title }} | ||||
|     </div> | ||||
|     <div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">{{ title }} </div> | ||||
|     <div class="ant-popover-message-title ng-star-inserted"> | ||||
|       {{ content }} | ||||
|     </div> | ||||
| @ -301,18 +426,36 @@ | ||||
| </ng-template> | ||||
|  | ||||
| <ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover"> | ||||
|   <nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card" | ||||
|     [nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif" | ||||
|     [nzDisabled]="!isEdit || disabledUpload" (nzChange)="changeUpload($event, data, key, key2, hover)"> | ||||
|   <nz-upload | ||||
|     class="avatar-uploader" | ||||
|     [nzAction]="uploadURl" | ||||
|     nzName="multipartFile" | ||||
|     nzListType="picture-card" | ||||
|     [nzShowUploadList]="false" | ||||
|     nzFileType="image/png,image/jpeg,image/jpg,image/gif" | ||||
|     [nzDisabled]="!isEdit || disabledUpload" | ||||
|     (nzChange)="changeUpload($event, data, key, key2, hover)" | ||||
|   > | ||||
|     <ng-container *ngIf="!data[key] && isEdit"> | ||||
|       <i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i> | ||||
|       <div class="ant-upload-text">上传</div> | ||||
|     </ng-container> | ||||
|     <div *ngIf="data[key]" (mouseover)="detailData[hover] = true" (mouseleave)="detailData[hover] = false" | ||||
|       (click)="$event.cancelBubble = true" class="image-hover"> | ||||
|     <div | ||||
|       *ngIf="data[key]" | ||||
|       (mouseover)="detailData[hover] = true" | ||||
|       (mouseleave)="detailData[hover] = false" | ||||
|       (click)="$event.cancelBubble = true" | ||||
|       class="image-hover" | ||||
|     > | ||||
|       <img nz-image [nzSrc]="data[key]" style="width: 200px; height: 160px" /> | ||||
|       <i nz-icon *ngIf="detailData[hover] && isEdit" nzType="close-circle" nzTheme="fill" class="delete-icon" | ||||
|         (click)="deleteImg(data, key, key2)"></i> | ||||
|       <i | ||||
|         nz-icon | ||||
|         *ngIf="detailData[hover] && isEdit" | ||||
|         nzType="close-circle" | ||||
|         nzTheme="fill" | ||||
|         class="delete-icon" | ||||
|         (click)="deleteImg(data, key, key2)" | ||||
|       ></i> | ||||
|     </div> | ||||
|   </nz-upload> | ||||
| </ng-template> | ||||
|  | ||||
| @ -244,23 +244,21 @@ | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <sv-container col="3" class="mt16"> | ||||
|   <sv-container > | ||||
|     <sv-title>修改渠道销售记录</sv-title> | ||||
|     <sv label=""> | ||||
|       <st | ||||
|         #st | ||||
|         [data]="service.$api_get_personal_channel_list" | ||||
|         [columns]="columns" | ||||
|         [req]="{ params: { partnerId: route.snapshot.params.id } }" | ||||
|         [loading]="service.http.loading" | ||||
|         bordered | ||||
|         size="small" | ||||
|         [page]="{ show: false }" | ||||
|         [scroll]="{ x: '1200px' }" | ||||
|       > | ||||
|       </st> | ||||
|     </sv> | ||||
|   </sv-container> | ||||
|   <st | ||||
|   #st | ||||
|   [scroll]="{x: '1200px'}" | ||||
|   [data]="service.$api_get_personal_channel_list" | ||||
|   [columns]="columns" | ||||
|   [req]="{ params: { partnerId: route.snapshot.params.id } }" | ||||
|   [loading]="service.http.loading" | ||||
|   bordered | ||||
|   size="small" | ||||
|   [page]="{ show: false }" | ||||
| > | ||||
| </st> | ||||
| </nz-card> | ||||
|  | ||||
| <ng-template #PopconfirmTempalte let-title="title" let-content="content"> | ||||
|  | ||||
| @ -94,7 +94,7 @@ export class ParterRebateManageMentSettingComponent implements OnInit { | ||||
|       }, | ||||
|       { | ||||
|         title: '创建时间', | ||||
|         index: 'enableTime', | ||||
|         index: 'createTime', | ||||
|         width: '200px' | ||||
|       }, | ||||
|       { | ||||
|  | ||||
| @ -4,8 +4,8 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-01-05 20:15:41 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-18 17:17:19 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\withdrawals-record\\withdrawals-detail\\withdrawals-detail.component.html | ||||
|  * @LastEditTime : 2022-05-11 15:06:17 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\recorded\\components\\detail\\detail.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <page-header-wrapper [title]="'入账详情'" [logo]="logo" [action]="action"> | ||||
| @ -40,7 +40,7 @@ | ||||
|       {{formData?.entryNumber}} | ||||
|     </se> | ||||
|     <se label="银行类型"> | ||||
|       {{formData?.bankName}} | ||||
|       {{formData?.bankType}} | ||||
|     </se> | ||||
|     <se label="虚拟账户"> | ||||
|       {{formData?.fictitiousAccount}} | ||||
| @ -58,7 +58,10 @@ | ||||
|       {{formData?.recordedAmount | currency}} | ||||
|     </se> | ||||
|     <se label="入账状态"> | ||||
|       {{formData?.stsLabel}} | ||||
|       <span *ngIf="formData?.sts == '1'">待审核</span> | ||||
|       <span *ngIf="formData?.sts == '2'">待复核</span> | ||||
|       <span *ngIf="formData?.sts == '3'">已入账</span> | ||||
|       <span *ngIf="formData?.sts == '4'">已驳回</span> | ||||
|     </se> | ||||
|     <se label="发票图片"> | ||||
|       <img *ngIf="formData?.invoiceUrl" nz-image width="100px" height="100px" [nzSrc]="formData?.invoiceUrl" alt="" /> | ||||
|  | ||||
| @ -29,44 +29,44 @@ export class PartnerRecordedDetailComponent implements OnInit { | ||||
|         this.formData = res; | ||||
|         // 处理流程节点数据 | ||||
|         // 流程是否结束 | ||||
|         // let isEnd = false; | ||||
|         // if (res.successTime) { | ||||
|         //   isEnd = true; | ||||
|         //   if (res.refundStatus === '3') { | ||||
|         //     this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' }); | ||||
|         //   } else { | ||||
|         //     this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' }); | ||||
|         //   } | ||||
|         // } | ||||
|         // if (res.agreeTime && res.refundStatus !== '4') { | ||||
|         //   this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' }); | ||||
|         // } | ||||
|         // if (res.agreeTime) { | ||||
|         //   if (res.refundStatus === '4') { | ||||
|         //     isEnd = true; | ||||
|         //     this.timeLineData.push({ | ||||
|         //       time: res.agreeTime, | ||||
|         //       value: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`, | ||||
|         //       color: 'red' | ||||
|         //     }); | ||||
|         //   } else { | ||||
|         //     this.timeLineData.push({ | ||||
|         //       time: res.agreeTime, | ||||
|         //       value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`, | ||||
|         //       color: 'gray' | ||||
|         //     }); | ||||
|         //   } | ||||
|         // } | ||||
|         // if (res.createTime) { | ||||
|         //   this.timeLineData.push({ | ||||
|         //     time: res.createTime, | ||||
|         //     value: `提交提现申请<br/>提现${res.amount}元至${res.bankName}(${res.bankCardNumber})<br/>操作人员:${res.userIdLabel}`, | ||||
|         //     color: 'gray' | ||||
|         //   }); | ||||
|         // } | ||||
|         // if (this.timeLineData?.length > 0 && !isEnd) { | ||||
|         //   this.timeLineData[0].color = 'green'; | ||||
|         // } | ||||
|         let isEnd = false; | ||||
|         if (res.successTime) { | ||||
|           isEnd = true; | ||||
|           if (res.refundStatus === '3') { | ||||
|             this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' }); | ||||
|           } else { | ||||
|             this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' }); | ||||
|           } | ||||
|         } | ||||
|         if (res.agreeTime && res.refundStatus !== '4') { | ||||
|           this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' }); | ||||
|         } | ||||
|         if (res.agreeTime) { | ||||
|           if (res.refundStatus === '4') { | ||||
|             isEnd = true; | ||||
|             this.timeLineData.push({ | ||||
|               time: res.agreeTime, | ||||
|               value: `拒绝提现<br/>操作人员:${res.handlerUserIdLabel}`, | ||||
|               color: 'red' | ||||
|             }); | ||||
|           } else { | ||||
|             this.timeLineData.push({ | ||||
|               time: res.agreeTime, | ||||
|               value: `审核通过<br/>操作人员:${res.handlerUserIdLabel}`, | ||||
|               color: 'gray' | ||||
|             }); | ||||
|           } | ||||
|         } | ||||
|         if (res.createTime) { | ||||
|           this.timeLineData.push({ | ||||
|             time: res.createTime, | ||||
|             value: `提交提现申请<br/>提现${res.amount}元至${res.bankName}(${res.bankCardNumber})<br/>操作人员:${res.userIdLabel}`, | ||||
|             color: 'gray' | ||||
|           }); | ||||
|         } | ||||
|         if (this.timeLineData?.length > 0 && !isEnd) { | ||||
|           this.timeLineData[0].color = 'green'; | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-04-29 17:28:23 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-05-11 10:11:53 | ||||
|  * @LastEditTime : 2022-05-11 14:25:14 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\recorded\\components\\record\\record.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -34,7 +34,7 @@ | ||||
|  | ||||
| <nz-card class="content-box" nzBordered> | ||||
|   <nz-tabset [nzTabBarExtraContent]="extraTemplate"> | ||||
|     <nz-tab nzTitle="全部" (nzClick)="changeRefundStatus()"></nz-tab> | ||||
|     <nz-tab nzTitle="全部" (nzClick)="changeRefundStatus('0')"></nz-tab> | ||||
|     <nz-tab nzTitle="待初审" (nzClick)="changeRefundStatus('1')"></nz-tab> | ||||
|     <nz-tab nzTitle="待复核" (nzClick)="changeRefundStatus('2')"></nz-tab> | ||||
|     <nz-tab nzTitle="已入账" (nzClick)="changeRefundStatus('3')"></nz-tab> | ||||
| @ -68,16 +68,22 @@ | ||||
|         {{ item.bankName }} <br /> | ||||
|         {{ item.bankCardNumber }} | ||||
|       </ng-template> | ||||
|       <ng-template st-row="sts" let-item let-index="index" let-column="column"> | ||||
|         <div *ngIf="item.sts == '0'">待初审</div> | ||||
|         <div *ngIf="item.sts == '1'">待复核</div> | ||||
|         <div *ngIf="item.sts == '2'">已入账</div> | ||||
|         <div *ngIf="item.sts == '3'">已拒绝</div> | ||||
|       </ng-template> | ||||
|     </st> | ||||
|     <div class="text-md" *ngIf="st?.list?.length !== 0"> | ||||
|       <span class="mr-md" | ||||
|         >合伙人数:<label class="text-red-dark font-weight-bold">{{ totalInfo?.invoiceAmountSum }}</label></span | ||||
|         >合伙人数:<label class="text-red-dark font-weight-bold">{{ totalInfo?.partnerNum }}</label></span | ||||
|       > | ||||
|       <span class="mr-md" | ||||
|         >入账笔数:<label class="text-red-dark font-weight-bold">{{ totalInfo?.count }}</label></span | ||||
|         >入账笔数:<label class="text-red-dark font-weight-bold">{{ totalInfo?.invoiceEntryNum }}</label></span | ||||
|       > | ||||
|       <span class="mr-md" | ||||
|         >开票金额:<label class="text-red-dark font-weight-bold">{{ totalInfo?.invoiceEntryNum }}</label></span | ||||
|         >开票金额:<label class="text-red-dark font-weight-bold">{{ totalInfo?.invoiceAmountSum }}</label></span | ||||
|       > | ||||
|       <span class="mr-md" | ||||
|         >代缴个税:<label class="text-red-dark font-weight-bold">{{ totalInfo?.taxPersonalSum }}</label></span | ||||
|  | ||||
| @ -8,7 +8,6 @@ import { FreightAccountService } from 'src/app/routes/financial-management/servi | ||||
| import Big from 'src/app/shared/utils/deal-precision'; | ||||
| import { RecordedService } from '../../services/recorded.service'; | ||||
|  | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-partner-recorded-record', | ||||
|   templateUrl: './record.component.html', | ||||
| @ -22,12 +21,12 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|   columns!: STColumn[]; | ||||
|   searchSchema!: SFSchema; | ||||
|   totalInfo: any = { | ||||
|     invoiceAmountSum: 0, | ||||
|     invoiceEntryNum: 0, | ||||
|     partnerNum: 0, | ||||
|     recordedAmountSum: 0, | ||||
|     taxPersonalSum: 0 | ||||
|   } | ||||
|     invoiceEntryNum: 0, | ||||
|     invoiceAmountSum: 0, | ||||
|     taxPersonalSum: 0, | ||||
|     recordedAmountSum: 0 | ||||
|   }; | ||||
|  | ||||
|   _$expand = false; | ||||
|  | ||||
| @ -40,16 +39,20 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|   ltdId = ''; // 网络货运人 | ||||
|   accountName = ''; // 账户名称 | ||||
|  | ||||
|  | ||||
|   constructor(public service: RecordedService, private nzModalService: NzModalService, | ||||
|     private router: Router, public ar: ActivatedRoute, public shipperSrv: ShipperBaseService) { | ||||
|   constructor( | ||||
|     public service: RecordedService, | ||||
|     private nzModalService: NzModalService, | ||||
|     private router: Router, | ||||
|     public ar: ActivatedRoute, | ||||
|     public shipperSrv: ShipperBaseService | ||||
|   ) { | ||||
|     this.ltdId = this.ar.snapshot.queryParams?.ltdId || ''; | ||||
|  | ||||
|   } | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.searchSchema = this.initSF(); | ||||
|     this.columns = this.initST(); | ||||
|     this.getSummary() | ||||
|   } | ||||
|  | ||||
|   beforeReq = (requestOptions: STRequestOptions) => { | ||||
| @ -60,7 +63,7 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|           start: this.sf?.value.createTime?.[0] || '', | ||||
|           end: this.sf?.value.createTime?.[1] || '' | ||||
|         }, | ||||
|         refundStatus: this.refundStatus || null | ||||
|         sts: this.refundStatus || '' | ||||
|       }); | ||||
|     } | ||||
|     delete requestOptions?.body?.expand; | ||||
| @ -68,7 +71,7 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|   }; | ||||
|  | ||||
|   afterRes = (data: any[], rawData?: any) => { | ||||
|     // data = data.map(node => ({ ...node, disabled: node.sts !== '0' })); | ||||
|     data = data.map(node => ({ ...node, disabled: node.sts !== '0' })); | ||||
|     return data; | ||||
|   }; | ||||
|  | ||||
| @ -81,16 +84,15 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|         const stList = this.st.list; | ||||
|         stList.forEach(item => { | ||||
|           this.selectedRows = this.selectedRows.filter((e: any) => e.id !== item.id); | ||||
|         }) | ||||
|         }); | ||||
|       } else { | ||||
|         //添加新增的行 | ||||
|         checkRows.forEach((item: any) => { | ||||
|           const newSelectedList = this.selectedRows.filter((r: any) => r.id === item.id); | ||||
|           if (newSelectedList.length === 0) { | ||||
|             this.selectedRows.push(item); | ||||
|  | ||||
|           } | ||||
|         }) | ||||
|         }); | ||||
|         // 移除取消选中的行 | ||||
|         const stList = this.st.list; | ||||
|         stList.forEach(item => { | ||||
| @ -98,17 +100,17 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|             const index = this.selectedRows.findIndex(_item => item.id === _item.id); | ||||
|             if (index !== -1) this.selectedRows.splice(index, 1); | ||||
|           } | ||||
|         }) | ||||
|         }); | ||||
|       } | ||||
|       let totalCallNo = 0; | ||||
|       this.selectedRows.forEach((item => { | ||||
|       this.selectedRows.forEach(item => { | ||||
|         totalCallNo = new Big(this.totalCallNo).plus(item?.entryAmount).parse(); | ||||
|       })); | ||||
|       }); | ||||
|       this.totalCallNo = totalCallNo; | ||||
|     } else if (e.type === 'loaded') { | ||||
|       // 页面加载时勾选 | ||||
|       (e?.loaded || []).forEach((r) => { | ||||
|         this.selectedRows.forEach((x) => { | ||||
|       (e?.loaded || []).forEach(r => { | ||||
|         this.selectedRows.forEach(x => { | ||||
|           if (x.id === r.id) { | ||||
|             r.checked = true; | ||||
|           } | ||||
| @ -117,8 +119,27 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   changeRefundStatus(status?: string) { | ||||
|     this.refundStatus = status || null; | ||||
|   changeRefundStatus(status: any) { | ||||
|     let value = ''; | ||||
|     switch (status) { | ||||
|       case '0': | ||||
|         value = ''; | ||||
|         break; | ||||
|       case '1': | ||||
|         value = '0'; | ||||
|         break; | ||||
|       case '2': | ||||
|         value = '1'; | ||||
|         break; | ||||
|       case '3': | ||||
|         value = '2'; | ||||
|         break; | ||||
|       case '4': | ||||
|         value = '3'; | ||||
|         break; | ||||
|     } | ||||
|  | ||||
|     this.refundStatus = value || null; | ||||
|     this.st.load(1); | ||||
|   } | ||||
|  | ||||
| @ -146,10 +167,14 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|               this.service.msgSrv.warning('请填写拒绝原因 '); | ||||
|               return; | ||||
|             } | ||||
|             this.audit({ ids: params, rejectReason: this.msg, sts: '3' }, () => { | ||||
|               modal.destroy(); | ||||
|               this.st.load(1); | ||||
|             }, '审核拒绝成功'); | ||||
|             this.audit( | ||||
|               { ids: params, rejectReason: this.msg, sts: '3' }, | ||||
|               () => { | ||||
|                 modal.destroy(); | ||||
|                 this.st.load(1); | ||||
|               }, | ||||
|               '审核拒绝成功' | ||||
|             ); | ||||
|             // this.service | ||||
|             //   .request(this.service.$api_disagree_recorded, { | ||||
|             //     id: params, | ||||
| @ -168,10 +193,14 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|           label: '通过', | ||||
|           type: 'primary', | ||||
|           onClick: () => { | ||||
|             this.audit({ ids: params, rejectReason: this.msg, sts: '1' }, () => { | ||||
|               modal.destroy(); | ||||
|               this.st.load(1); | ||||
|             }, '审核通过成功'); | ||||
|             this.audit( | ||||
|               { ids: params, rejectReason: this.msg, sts: '1' }, | ||||
|               () => { | ||||
|                 modal.destroy(); | ||||
|                 this.st.load(1); | ||||
|               }, | ||||
|               '审核通过成功' | ||||
|             ); | ||||
|           } | ||||
|         } | ||||
|       ] | ||||
| @ -230,22 +259,22 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         sts: { | ||||
|           type: 'string', | ||||
|           title: '入账状态', | ||||
|           default: '', | ||||
|           enum: [ | ||||
|             { label: '全部', value: '' }, | ||||
|             { label: '待初审', value: '0' }, | ||||
|             { label: '待复核', value: '1' }, | ||||
|             { label: '已入账', value: '2' }, | ||||
|             { label: '已拒绝', value: '3' }, | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择' | ||||
|           } | ||||
|         }, | ||||
|         // sts: { | ||||
|         //   type: 'string', | ||||
|         //   title: '入账状态', | ||||
|         //   default: '', | ||||
|         //   enum: [ | ||||
|         //     { label: '全部', value: '' }, | ||||
|         //     { label: '待初审', value: '0' }, | ||||
|         //     { label: '待复核', value: '1' }, | ||||
|         //     { label: '已入账', value: '2' }, | ||||
|         //     { label: '已拒绝', value: '3' }, | ||||
|         //   ], | ||||
|         //   ui: { | ||||
|         //     widget: 'select', | ||||
|         //     placeholder: '请选择' | ||||
|         //   } | ||||
|         // }, | ||||
|         ltdId: { | ||||
|           type: 'string', | ||||
|           title: '网络货运人', | ||||
| @ -254,7 +283,7 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             asyncData: () => this.shipperSrv.getNetworkFreightForwarder({}, true), | ||||
|             asyncData: () => this.shipperSrv.getNetworkFreightForwarder({}, true) | ||||
|           } | ||||
|         }, | ||||
|         submitTime: { | ||||
| @ -269,7 +298,7 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         } | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| @ -283,11 +312,11 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|       { title: '网络货运人', index: 'ltdName', width: 220, className: 'text-center' }, | ||||
|       { | ||||
|         title: '开票金额', | ||||
|         index: 'amount', | ||||
|         index: 'invoiceAmount', | ||||
|         width: 150, | ||||
|         type: 'widget', | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.invoiceAmount }) } | ||||
|       }, | ||||
|       { | ||||
|         title: '代缴个税', | ||||
| @ -295,7 +324,7 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|         width: 150, | ||||
|         type: 'widget', | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.taxPersonal }) } | ||||
|       }, | ||||
|       { | ||||
|         title: '入账金额', | ||||
| @ -303,11 +332,11 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|         width: 150, | ||||
|         type: 'widget', | ||||
|         className: 'text-right', | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.amount }) } | ||||
|         widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.entryAmount }) } | ||||
|       }, | ||||
|  | ||||
|       { title: '提交时间', index: 'submitTime', width: 180, className: 'text-center' }, | ||||
|       { title: '入账状态', index: 'stsLabel', width: 120, className: 'text-center' }, | ||||
|       { title: '入账状态', render: 'sts', width: 120, className: 'text-center' }, | ||||
|       { | ||||
|         title: '操作', | ||||
|         fixed: 'right', | ||||
| @ -336,17 +365,15 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|  * 审核 | ||||
|  */ | ||||
|    * 审核 | ||||
|    */ | ||||
|   audit(params: any, callback: Function, msg = '成功') { | ||||
|     this.service | ||||
|       .request(this.service.$api_audit_recored, { ...params }) | ||||
|       .subscribe(res => { | ||||
|         if (res) { | ||||
|           this.service.msgSrv.success(msg); | ||||
|           callback(); | ||||
|         } | ||||
|       }); | ||||
|     this.service.request(this.service.$api_audit_recored, { ...params }).subscribe(res => { | ||||
|       if (res) { | ||||
|         this.service.msgSrv.success(msg); | ||||
|         callback(); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   search() { | ||||
| @ -361,6 +388,6 @@ export class PartnerRecordedRecordComponent implements OnInit { | ||||
|       if (res) { | ||||
|         this.totalInfo = res; | ||||
|       } | ||||
|     }) | ||||
|     }); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -39,7 +39,7 @@ | ||||
|     </div> | ||||
|     <button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['TAX-COLLECT-search']" | ||||
|       (click)="openDrawer()">筛选</button> | ||||
|     <button nz-button nzDanger acl [acl-ability]="['TAX-COLLECT-export']"> 导出</button> | ||||
|     <button nz-button nzDanger (click)="exprot()"  acl [acl-ability]="['TAX-COLLECT-export']"> 导出</button> | ||||
|     <button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft"> | ||||
|       更多<i nz-icon nzType="down" nzTheme="outline"></i></button> | ||||
|     <nz-dropdown-menu #menu="nzDropdownMenu"> | ||||
|  | ||||
| @ -257,10 +257,8 @@ export class TaxManagementIndividualCollectComponent extends BasicTableComponent | ||||
|     this.st.load(1); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 异步导出 | ||||
|    */ | ||||
|   export() { | ||||
|     this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list); | ||||
|   } | ||||
|  // 导出 | ||||
|  exprot() { | ||||
|   this.service.exportStart({ ...this.sfValue, pageSize: -1 }, this.service.$api_taxSummary_export); | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -26,8 +26,15 @@ | ||||
|   </div> | ||||
|  | ||||
|   <!-- 数据列表 --> | ||||
|   <st #st [scroll]="{ x: '1200px',y:scrollY }" [data]="service.$api_get_taxDeclaration" [columns]="columns" | ||||
|     [req]="{  params: reqParams }" [page]="{  }" [loading]="false"> | ||||
|   <st | ||||
|     #st | ||||
|     [scroll]="{ x: '1200px', y: scrollY }" | ||||
|     [data]="service.$api_get_taxDeclaration" | ||||
|     [columns]="columns" | ||||
|     [req]="{ params: reqParams }" | ||||
|     [page]="{}" | ||||
|     [loading]="false" | ||||
|   > | ||||
|     <ng-template st-row="orderStatus" let-item let-index="index"> | ||||
|       <a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{ item?.billStatusLabel }}</a> | ||||
|       <span *ngIf="item?.billStatus !== '2'">{{ item?.billStatusLabel }}</span> | ||||
| @ -49,33 +56,25 @@ | ||||
|       已选择 | ||||
|       <strong class="text-red">{{ selectedRows.length }}</strong> 条数据 | ||||
|     </div> | ||||
|     <button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['TAX-DECLARE-search']" | ||||
|       (click)="openDrawer()">筛选</button> | ||||
|     <button nz-button nzDanger acl [acl-ability]="['TAX-DECLARE-export']"> 导出</button> | ||||
|     <button nz-button nzDanger [nzLoading]="service.http.loading" acl [acl-ability]="['TAX-DECLARE-search']" (click)="openDrawer()" | ||||
|       >筛选</button | ||||
|     > | ||||
|     <button nz-button nzDanger (click)="exprot()"  acl [acl-ability]="['TAX-DECLARE-export']"> 导出</button> | ||||
|     <button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft"> | ||||
|       更多<i nz-icon nzType="down" nzTheme="outline"></i></button> | ||||
|       更多<i nz-icon nzType="down" nzTheme="outline"></i | ||||
|     ></button> | ||||
|     <nz-dropdown-menu #menu="nzDropdownMenu"> | ||||
|       <ul nz-menu> | ||||
|         <li nz-menu-item (click)="upload()" acl [acl-ability]="['TAX-DECLARE-declare']"> | ||||
|           申报 | ||||
|         </li> | ||||
|         <li nz-menu-item (click)="recall()" acl [acl-ability]="['TAX-DECLARE-change']"> | ||||
|           更正 | ||||
|         </li> | ||||
|         <li nz-menu-item (click)="uploadSetting()" acl [acl-ability]="['TAX-DECLARE-threshold']"> | ||||
|           修改起征点 | ||||
|         </li> | ||||
|         <li nz-menu-item (click)="resetData()" acl [acl-ability]="['TAX-DECLARE-resetData']"> | ||||
|           更新数据 | ||||
|         </li> | ||||
|         <li nz-menu-item (click)="upload()" acl [acl-ability]="['TAX-DECLARE-declare']"> 申报 </li> | ||||
|         <li nz-menu-item (click)="recall()" acl [acl-ability]="['TAX-DECLARE-change']"> 更正 </li> | ||||
|         <li nz-menu-item (click)="uploadSetting()" acl [acl-ability]="['TAX-DECLARE-threshold']"> 修改起征点 </li> | ||||
|         <li nz-menu-item (click)="resetData()" acl [acl-ability]="['TAX-DECLARE-resetData']"> 更新数据 </li> | ||||
|       </ul> | ||||
|     </nz-dropdown-menu> | ||||
|  | ||||
|   </div> | ||||
| </ng-template> | ||||
|  | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()" | ||||
|   (nzOnCancel)="handleCancel()"> | ||||
| <nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | ||||
|   <ng-container *nzModalContent> | ||||
|     <div> 司机姓名:张三/13812345678 </div> | ||||
|     <div> 是否确认要将该司机的起征点同步调整为超过15万? </div> | ||||
| @ -84,4 +83,4 @@ | ||||
|     <button nz-button nzType="default" (click)="handleCancel()">取消</button> | ||||
|     <button nz-button nzType="primary" (click)="handleOK()">确定</button> | ||||
|   </ng-template> | ||||
| </nz-modal> | ||||
| </nz-modal> | ||||
|  | ||||
| @ -428,11 +428,9 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent | ||||
|     this.st.load(1); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 异步导出 | ||||
|    */ | ||||
|   export() { | ||||
|     this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list); | ||||
|   // 导出 | ||||
|   exprot() { | ||||
|     this.service.exportStart({ ...this.sfValue, pageSize: -1 }, this.service.$api_taxDeclaration_export); | ||||
|   } | ||||
|  | ||||
|   openWainingModal(content: string, title = '提示') { | ||||
|  | ||||
| @ -1,3 +1,13 @@ | ||||
| <!-- | ||||
|  * @Description  :  | ||||
|  * @Version      : 1.0 | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-05-06 15:31:19 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-05-11 14:54:00 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\tax-management\\components\\individual-income\\individual-income.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <!-- <page-header-wrapper [title]="''"></page-header-wrapper> | ||||
| <nz-card class="search-box"> | ||||
|   <div nz-row nzGutter="8"> | ||||
| @ -39,7 +49,7 @@ | ||||
|     </div> | ||||
|     <button nz-button nzDanger [nzLoading]="isLoading && st.loading" acl [acl-ability]="['TAX-INCOME-search']" | ||||
|       (click)="openDrawer()">筛选</button> | ||||
|     <button nz-button nzDanger acl [acl-ability]="['TAX-INCOME-export']"> 导出</button> | ||||
|     <button nz-button nzDanger     (click)="exprot()" acl [acl-ability]="['TAX-INCOME-export']"> 导出</button> | ||||
|     <button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft"> | ||||
|       更多<i nz-icon nzType="down" nzTheme="outline"></i></button> | ||||
|     <nz-dropdown-menu #menu="nzDropdownMenu"> | ||||
|  | ||||
| @ -338,12 +338,10 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent | ||||
|     this.st.load(1); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 异步导出 | ||||
|    */ | ||||
|   export() { | ||||
|     this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list); | ||||
|   } | ||||
|  // 导出 | ||||
|  exprot() { | ||||
|   this.service.exportStart({ ...this.sfValue, pageSize: -1 }, this.service.$api_taxIncome_export); | ||||
| } | ||||
|  | ||||
|   handleOK() {} | ||||
|   handleCancel() { | ||||
|  | ||||
| @ -226,7 +226,7 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im | ||||
|       { title: '卸货地详细地址', index: 'unloadDetailedAddress', className: 'text-center', width: '180px' }, | ||||
|       { title: '货主名称', index: 'shipperName', className: 'text-center', width: '180px' }, | ||||
|       { title: '货主纳税人识别号', index: 'shipperProvinceCode', className: 'text-center', width: '180px' }, | ||||
|       { title: '录单时间', index: 'recordTime', className: 'text-center', width: '250px' }, | ||||
|       { title: '录单时间', index: 'billCreateTime', className: 'text-center', width: '250px' }, | ||||
|       { title: '接单时间', index: 'wayBillCreateTime', className: 'text-center', width: '200px' }, | ||||
|       { title: '发车时间', index: 'loadTime', className: 'text-center', width: '200px' }, | ||||
|       { title: '到车时间', index: 'unloadTime', className: 'text-center', width: '150px' }, | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-27 10:30:56 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-04-19 14:19:44 | ||||
|  * @LastEditTime : 2022-05-11 14:53:31 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\tax-management\\services\\tax-management.service.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -60,6 +60,12 @@ export class TaxManagementService extends ShipperBaseService { | ||||
|   $api_getInvoiceReport_page = '/api/sdc/invoiceUploadInfo/list/page'; | ||||
|   // 发票上传列表导出 | ||||
|   $api_invoiceUpload_export = '/api/sdc/invoiceUploadInfo/reportList'; | ||||
|   // 个税明细导出接口 | ||||
|   $api_taxIncome_export = '/api/sdc/taxIncome/asyncExport'; | ||||
|   // 个税汇总导出接口 | ||||
|   $api_taxSummary_export = '/api/sdc/taxSummary/asyncExport'; | ||||
|   // 税务申报导出接口 | ||||
|   $api_taxDeclaration_export = '/api/sdc/taxDeclaration/asyncExport'; | ||||
|   // 发票上传撤回 | ||||
|   $api_invoiceUpload_withdraw = '/api/sdc/invoiceUploadInfo/withdraw'; | ||||
|   constructor(public injector: Injector) { | ||||
|  | ||||
| @ -105,7 +105,7 @@ export class InputInvoiceDetailComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             asyncData: () => this.service.getCloseAccount(), | ||||
|             asyncData: () => this.service.getCloseAccount() | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
| @ -137,15 +137,15 @@ export class InputInvoiceDetailComponent implements OnInit { | ||||
|  | ||||
|   private initST(): STColumn[] { | ||||
|     return [ | ||||
|       { title: '序号', render: 'billHCode', width: 80 }, | ||||
|       { title: '费用号', index: 'feecode', width: 100 }, | ||||
|       { title: '费用日期', index: 'feedate', type: 'date', width: 150 }, | ||||
|       { title: '序号', render: 'billHCode', width: 40, className: 'text-center' }, | ||||
|       { title: '费用号', index: 'feecode', width: 140 }, | ||||
|       { title: '费用日期', index: 'feedate', width: 150, className: 'text-center' }, | ||||
|       { title: '订单号', index: 'billHCode', width: 100 }, | ||||
|       { title: '订单日期', index: 'billTime', width: 150 }, | ||||
|       { title: '订单日期', index: 'billTime', width: 150, className: 'text-center' }, | ||||
|       { title: '结算客户', index: 'cnoName', width: 90 }, | ||||
|       { title: '费用科目', index: 'feesubname', width: 100 }, | ||||
|       { title: '收票金额', render: 'invmoney', width: 140 }, | ||||
|       { title: '收票税额', render: 'invtax', width: 100 } | ||||
|       { title: '收票金额', render: 'invmoney', width: 120, className: 'text-right' }, | ||||
|       { title: '收票税额', render: 'invtax', width: 100, className: 'text-right' } | ||||
|     ]; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -90,10 +90,10 @@ export class EditPartnerComponentsAddComponent implements OnInit { | ||||
|         remark: { | ||||
|           type: 'string', | ||||
|           title: '备注', | ||||
|           maxLength: 50, | ||||
|           ui: { | ||||
|             widget: 'textarea', | ||||
|             placeholder: '请不要超过50个字', | ||||
|             maxLength: 50, | ||||
|             autosize: { minRows: 2, maxRows: 6 } | ||||
|           } | ||||
|         }, | ||||
| @ -110,7 +110,7 @@ export class EditPartnerComponentsAddComponent implements OnInit { | ||||
|           ], | ||||
|         }, | ||||
|       }, | ||||
|       required: ['channelId', 'remark', 'effectiveNode'] | ||||
|       required: ['partnerId','settStartTime', 'remark', 'effectiveNode'] | ||||
|     }; | ||||
|     this.ui = { | ||||
|       '*': { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user