diff --git a/proxy.conf.js b/proxy.conf.js index 10071e14..67c15ee2 100644 --- a/proxy.conf.js +++ b/proxy.conf.js @@ -20,7 +20,7 @@ module.exports = { // } '//api': { target: { - host: 'tms-api-dev.eascs.com', + host: 'tms-api-test.eascs.com', protocol: 'https:', port: 443 }, diff --git a/src/app/routes/financial-management/components/advance-collection/advance-collection.component.ts b/src/app/routes/financial-management/components/advance-collection/advance-collection.component.ts index 3556e2d5..57a658a1 100644 --- a/src/app/routes/financial-management/components/advance-collection/advance-collection.component.ts +++ b/src/app/routes/financial-management/components/advance-collection/advance-collection.component.ts @@ -84,9 +84,11 @@ export class AdvanceCollectionComponent { title: '付款人', ui: { widget: 'select', - placeholder: '请选择', + serverSearch: true, + searchDebounceTime: 300, + searchLoadingText: '搜索中...', allowClear: true, - asyncData: () => this.service.getCRM() + onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }) } }, brmtype: { diff --git a/src/app/routes/financial-management/components/receipt-order/receipt-order.component.ts b/src/app/routes/financial-management/components/receipt-order/receipt-order.component.ts index c356eb36..820d90b9 100644 --- a/src/app/routes/financial-management/components/receipt-order/receipt-order.component.ts +++ b/src/app/routes/financial-management/components/receipt-order/receipt-order.component.ts @@ -151,9 +151,11 @@ export class ReceiptOrderComponent implements OnInit { title: '付款人', ui: { widget: 'select', - placeholder: '请选择', + serverSearch: true, + searchDebounceTime: 300, + searchLoadingText: '搜索中...', allowClear: true, - asyncData: () => this.service.getCRM(), + onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), visibleIf: { expand: (value: boolean) => value } diff --git a/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts b/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts index 590aa5fe..f0fb02d9 100644 --- a/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts +++ b/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts @@ -158,9 +158,11 @@ export class ReceivableOrderComponent implements OnInit { title: '付款人', ui: { widget: 'select', - placeholder: '请选择', + serverSearch: true, + searchDebounceTime: 300, + searchLoadingText: '搜索中...', allowClear: true, - asyncData: () => this.service.getCRM(), + onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), visibleIf: { expand: (value: boolean) => value } diff --git a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html index 4df4ab9b..bd95c61e 100644 --- a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html +++ b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.html @@ -1,4 +1,10 @@ - + + + + + diff --git a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts index 8ad008d2..14efa97f 100644 --- a/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts +++ b/src/app/routes/partner/partner-list/components/add-etp-partner/add-etp-partner.component.ts @@ -11,7 +11,7 @@ import { } from '@delon/form'; import { NzTreeNode } from 'ng-zorro-antd/tree'; import { NzUploadFile } from 'ng-zorro-antd/upload'; -import { of } from 'rxjs'; +import { of, Subscription } from 'rxjs'; import { map } from 'rxjs/operators'; import { PartnerListService } from '../../services/partner-list.service'; @@ -64,6 +64,9 @@ export class AddEtpPartnerComponent { } }; + getIdentityInfoSub = new Subscription(); + loadingIdentityInfoSub = false; + constructor(public service: PartnerListService) {} submitForm() { @@ -426,7 +429,28 @@ export class AddEtpPartnerComponent { ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入企业管理员手机号', - errors: { required: '请输入企业管理员手机号', format: '手机号格式错误' } + errors: { required: '请输入企业管理员手机号', format: '手机号格式错误' }, + change: (mobile: any) => { + // 根据手机号获取实名信息 + if (mobile?.length === 11) { + if (this.loadingIdentityInfoSub) { + this.getIdentityInfoSub.unsubscribe(); + } + this.loadingIdentityInfoSub = true; + this.getIdentityInfoSub = this.service.request(this.service.$api_get_identityInfo_by_mobile, { mobile }).subscribe( + res => { + if (res) { + this.setInfo(res); + this.sf.setValue('/adminUserInfo/id', res.id); + this.sf.setValue('/adminUserInfo/userId', res.userId); + } + this.loadingIdentityInfoSub = false; + }, + _ => {}, + () => (this.loadingIdentityInfoSub = false) + ); + } + } } }, // 企业管理员信息 @@ -441,6 +465,8 @@ export class AddEtpPartnerComponent { }, default: true }, + id: { title: '', type: 'string', ui: { hidden: true } }, + userId: { title: '', type: 'string', ui: { hidden: true } }, certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, certificatePhotoFrontWatermark: { @@ -589,4 +615,52 @@ export class AddEtpPartnerComponent { ] }; } + + private setInfo(info: any) { + if (info.name) { + this.sf.setValue('/adminUserInfo/name', info.name); + } + if (info.certificatePhotoFront) { + this.sf.setValue('/adminUserInfo/certificatePhotoFront', info.certificatePhotoFront); + } + if (info.certificatePhotoFrontWatermark) { + console.log(this.sf.getProperty('/adminUserInfo/certificatePhotoFrontWatermark')); + + this.sf.setValue('/adminUserInfo/certificatePhotoFrontWatermark', [ + { + uid: -1, + name: '文件', + status: 'done', + url: info.certificatePhotoFrontWatermark, + response: info.certificatePhotoFrontWatermark + } + ]); + } + if (info.certificatePhotoBack) { + this.sf.setValue('/adminUserInfo/certificatePhotoBack', info.certificatePhotoBack); + } + if (info.certificatePhotoBackWatermark) { + this.sf.setValue('/adminUserInfo/certificatePhotoBackWatermark', [ + { + uid: -1, + name: '文件', + status: 'done', + url: info.certificatePhotoBackWatermark, + response: info.certificatePhotoBackWatermark + } + ]); + } + if (info.certificateNumber) { + this.sf.setValue('/adminUserInfo/certificateNumber', info.certificateNumber); + } + if (info.validStartTime) { + this.sf.setValue('/adminUserInfo/validStartTime', info.validStartTime); + } + if (info.validEndTime) { + this.sf.setValue('/adminUserInfo/validEndTime', info.validEndTime); + this.sf.setValue('/adminUserInfo/_isLoingDate', false); + } else { + this.sf.setValue('/adminUserInfo/_isLoingDate', true); + } + } } diff --git a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html index cb94b51b..7a071adc 100644 --- a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html +++ b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.html @@ -1,4 +1,10 @@ - + + + + + @@ -36,7 +42,8 @@
- +
-
+
\ No newline at end of file diff --git a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts index eca02366..d21416e3 100644 --- a/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts +++ b/src/app/routes/partner/partner-list/components/add-personal-partner/add-personal-partner.component.ts @@ -12,7 +12,7 @@ import { } from '@delon/form'; import { NzTreeNode } from 'ng-zorro-antd/tree'; import { NzUploadFile } from 'ng-zorro-antd/upload'; -import { of } from 'rxjs'; +import { of, Subscription } from 'rxjs'; import { map } from 'rxjs/operators'; import { PartnerListService } from '../../services/partner-list.service'; @@ -65,6 +65,9 @@ export class AddPersonalPartnerComponent { } }; + getIdentityInfoSub = new Subscription(); + loadingIdentityInfoSub = false; + constructor(private router: Router, public service: PartnerListService) {} submitForm() { @@ -156,7 +159,28 @@ export class AddPersonalPartnerComponent { ui: { grid: { xxl: 13, xl: 18, lg: 24, md: 24 }, placeholder: '请输入手机号', - errors: { required: '请输入手机号', format: '手机号格式错误' } + errors: { required: '请输入手机号', format: '手机号格式错误' }, + change: (mobile: any) => { + // 根据手机号获取实名信息 + if (mobile?.length === 11) { + if (this.loadingIdentityInfoSub) { + this.getIdentityInfoSub.unsubscribe(); + } + this.loadingIdentityInfoSub = true; + this.getIdentityInfoSub = this.service.request(this.service.$api_get_identityInfo_by_mobile, { mobile }).subscribe( + res => { + if (res) { + this.setInfo(res); + this.sf.setValue('/adminUserInfo/id', res.id); + this.sf.setValue('/adminUserInfo/userId', res.userId); + } + this.loadingIdentityInfoSub = false; + }, + _ => {}, + () => (this.loadingIdentityInfoSub = false) + ); + } + } } }, // 合伙人信息 @@ -172,6 +196,8 @@ export class AddPersonalPartnerComponent { default: true }, certificatePhotoFront: { title: '', type: 'string', ui: { hidden: true } }, + id: { title: '', type: 'string', ui: { hidden: true } }, + userId: { title: '', type: 'string', ui: { hidden: true } }, certificatePhotoBack: { title: '', type: 'string', ui: { hidden: true } }, certificateType: { title: '', type: 'string', ui: { hidden: true }, default: 0 }, certificatePhotoFrontWatermark: { @@ -311,4 +337,52 @@ export class AddPersonalPartnerComponent { required: ['cityCodesList', 'invitationCode'] }; } + + private setInfo(info: any) { + if (info.name) { + this.sf.setValue('/adminUserInfo/name', info.name); + } + if (info.certificatePhotoFront) { + this.sf.setValue('/adminUserInfo/certificatePhotoFront', info.certificatePhotoFront); + } + if (info.certificatePhotoFrontWatermark) { + console.log(this.sf.getProperty('/adminUserInfo/certificatePhotoFrontWatermark')); + + this.sf.setValue('/adminUserInfo/certificatePhotoFrontWatermark', [ + { + uid: -1, + name: '文件', + status: 'done', + url: info.certificatePhotoFrontWatermark, + response: info.certificatePhotoFrontWatermark + } + ]); + } + if (info.certificatePhotoBack) { + this.sf.setValue('/adminUserInfo/certificatePhotoBack', info.certificatePhotoBack); + } + if (info.certificatePhotoBackWatermark) { + this.sf.setValue('/adminUserInfo/certificatePhotoBackWatermark', [ + { + uid: -1, + name: '文件', + status: 'done', + url: info.certificatePhotoBackWatermark, + response: info.certificatePhotoBackWatermark + } + ]); + } + if (info.certificateNumber) { + this.sf.setValue('/adminUserInfo/certificateNumber', info.certificateNumber); + } + if (info.validStartTime) { + this.sf.setValue('/adminUserInfo/validStartTime', info.validStartTime); + } + if (info.validEndTime) { + this.sf.setValue('/adminUserInfo/validEndTime', info.validEndTime); + this.sf.setValue('/adminUserInfo/_isLoingDate', false); + } else { + this.sf.setValue('/adminUserInfo/_isLoingDate', true); + } + } } diff --git a/src/app/routes/partner/partner-list/components/index/partner-list.component.ts b/src/app/routes/partner/partner-list/components/index/partner-list.component.ts index 68703251..2e47723a 100644 --- a/src/app/routes/partner/partner-list/components/index/partner-list.component.ts +++ b/src/app/routes/partner/partner-list/components/index/partner-list.component.ts @@ -367,12 +367,12 @@ export class PartnerListComponent { }, { title: '付款编码', index: 'payCode', width: 160 }, { title: '邀请码', index: 'invitationCode', className: 'text-center', width: 130 }, - { title: '企业管理员', index: 'contactName', width: 150 }, + { title: '企业管理员', index: 'contactName', width: 150, format: item => (item.partnerType ? `${item.contactName}` : '') }, { title: '手机号', index: 'contactMobile', className: 'text-center', width: 150 }, { title: '类型', index: 'partnerType', className: 'text-center', width: 130, type: 'enum', enum: { 1: '企业', 2: '个人' } }, { title: '注册渠道', index: 'source', type: 'enum', enum: { 1: '合伙人注册', 2: '平台添加' }, width: 130 }, { title: '注册时间', index: 'createTime', className: 'text-center', width: 170 }, - { title: '渠道销售', index: 'channelId', width: 170 }, + { title: '渠道销售', index: 'channelIdLabel', width: 170 }, { title: '返佣模板', index: 'templateName', width: 150 }, { title: '认证审核状态', @@ -380,7 +380,7 @@ export class PartnerListComponent { width: 150, type: 'badge', badge: { - 0: { text: '草稿', color: 'default' }, + '-1': { text: '未提交', color: 'default' }, 10: { text: '待审核', color: 'processing' }, 20: { text: '审核通过', color: 'success' }, 30: { text: '驳回', color: 'error' } @@ -428,7 +428,12 @@ export class PartnerListComponent { buttons: [ { type: 'divider' }, { - text: '详情', + text: '审核', + iif: item => item.id && item.approvalStatus === 10, + click: item => this.auditPartner(item) + }, + { + text: '详情
', iif: item => item.id, click: item => { if (item.partnerType === 1) { @@ -438,11 +443,6 @@ export class PartnerListComponent { } } }, - { - text: '审核
', - iif: item => item.id, - click: item => this.auditPartner(item) - }, { text: '修改返佣模板', iif: item => item.id, diff --git a/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.html b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.html index 98adf913..c4abbd48 100644 --- a/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.html +++ b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.html @@ -40,7 +40,7 @@ - + @@ -87,8 +87,9 @@ [nzBorderless]="!isEdit" [placeholder]="isEdit ? '' : '-'" /> - + + {{detailData.adminUserInfo.mobile}} 保存 - + diff --git a/src/app/routes/partner/partner-list/services/partner-list.service.ts b/src/app/routes/partner/partner-list/services/partner-list.service.ts index 1abc97f9..5a00d758 100644 --- a/src/app/routes/partner/partner-list/services/partner-list.service.ts +++ b/src/app/routes/partner/partner-list/services/partner-list.service.ts @@ -33,6 +33,8 @@ export class PartnerListService extends ShipperBaseService { $api_get_enterprice_rel_list = '/api/mdc/EnterpriseRelLog/list'; // 校验合伙人是否可修改渠道销售 true:可以修改 false:不可以修改 $api_check_partenr_change_channel = '/api/mdc/partner/updateChannelCheck'; + // 根据手机号查询实名信息 + $api_get_identityInfo_by_mobile= '/api/mdc/cuc/identityInfo/getByMobile'; // 渠道销售修改详情 $api_get_partner_change_list = '/api/mdc/partnerChannelRelLog/partnerChannelUpdateDetaiList'; // 冻结/启用企业业 diff --git a/src/app/routes/ticket-management/components/cancellation-invoice/cancellation-invoice.component.ts b/src/app/routes/ticket-management/components/cancellation-invoice/cancellation-invoice.component.ts index e2e9009e..c9183bf2 100644 --- a/src/app/routes/ticket-management/components/cancellation-invoice/cancellation-invoice.component.ts +++ b/src/app/routes/ticket-management/components/cancellation-invoice/cancellation-invoice.component.ts @@ -2,9 +2,11 @@ import { CurrencyPipe } from '@angular/common'; import { Component, OnInit, ViewChild } from '@angular/core'; import { Router } from '@angular/router'; import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; -import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema } from '@delon/form'; +import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema, SFSchemaEnum } from '@delon/form'; import { dateTimePickerUtil } from '@delon/util'; import { NzModalService } from 'ng-zorro-antd/modal'; +import { of } from 'rxjs'; +import { map } from 'rxjs/operators'; import { TicketService } from '../../services/ticket.service'; import { RequestedInvoiceModalComponent } from '../invoice-requested/requested-invoice-modal/requested-invoice-modal.component'; import { PushInvoiceComponent } from './push-invoice/push-invoice.component'; @@ -257,13 +259,16 @@ export class CancellationInvoiceComponent implements OnInit { placeholder: '请输入' } }, - receiveName2: { + arto: { type: 'string', title: '购买人', - enum: [{ label: '全部', value: '全部' }], ui: { widget: 'select', - placeholder: '请选择' + serverSearch: true, + searchDebounceTime: 300, + searchLoadingText: '搜索中...', + allowClear: true, + onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }) } }, ltdId: { diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.html b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.html index 3a5ab163..14f0808f 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.html +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.html @@ -19,13 +19,13 @@ {{headerInfo?.vatinvHNum}} / {{headerInfo?.vatinvBillNum}} - {{headerInfo?.vatinvHAmount}} / {{headerInfo?.vatinvHNumAmount}} + {{headerInfo?.vatinvHAmount |currency}} / {{headerInfo?.vatinvHNumAmount |currency}} {{headerInfo?.vatinvHNum}} - {{headerInfo?.reciname}} + {{headerInfo?.reciname}} {{headerInfo?.provinceName}}{{headerInfo?.cityName}}{{headerInfo?.areaName}}{{headerInfo?.reciaddr}} @@ -101,13 +101,13 @@ 已选择 {{ selectedRows.length }} 条数据   开票金额总计 {{ - totalCallNo }} + totalCallNo |currency }} 清空 - {{ item.billHCode }} diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts index 45af1277..0da10fe3 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts @@ -244,7 +244,7 @@ export class InvoiceRequestedComponent { requestedInvoiceAction(item: any) { const modal = this.nzModalService.create({ - nzTitle: '开票', + nzTitle: '开票受理', nzContent: RequestedInvoiceModalComponent, nzWidth: 1200, nzComponentParams: { @@ -385,12 +385,14 @@ export class InvoiceRequestedComponent { title: '货主名称', ui: { widget: 'select', - placeholder: '请选择', + serverSearch: true, + searchDebounceTime: 300, + searchLoadingText: '搜索中...', allowClear: true, + onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), visibleIf: { expand: (value: boolean) => value - }, - asyncData: () => this.service.getCRM() + } } } } diff --git a/src/app/routes/ticket-management/components/invoice-requested/requested-detail/requested-detail.component.html b/src/app/routes/ticket-management/components/invoice-requested/requested-detail/requested-detail.component.html index 40730c41..737e5eef 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/requested-detail/requested-detail.component.html +++ b/src/app/routes/ticket-management/components/invoice-requested/requested-detail/requested-detail.component.html @@ -38,7 +38,7 @@ {{headerInfo?.ordlines}} - {{headerInfo?.vatinvHNumAmount}} + {{headerInfo?.vatinvHNumAmount | currency}} {{headerInfo?.vatnameLabel}} diff --git a/src/app/routes/ticket-management/components/invoice-requested/requested-detail/requested-detail.component.ts b/src/app/routes/ticket-management/components/invoice-requested/requested-detail/requested-detail.component.ts index 8fa4924e..675783d0 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/requested-detail/requested-detail.component.ts +++ b/src/app/routes/ticket-management/components/invoice-requested/requested-detail/requested-detail.component.ts @@ -32,7 +32,6 @@ export class RequestedDetailComponent implements OnInit { initData() { if(this.id) { this.service.request(this.service.$api_get_invoice_requested_header_detail, { id: this.id }).subscribe(res => { - console.log(res); if (res) { this.headerInfo = res; } @@ -40,7 +39,6 @@ export class RequestedDetailComponent implements OnInit { } if(this.Id) { this.service.request(this.service.$api_get_invoice_requested_header_detail, { id: this.Id }).subscribe(res => { - console.log(res); if (res) { this.headerInfo = res; } diff --git a/src/app/shared/services/business/shipper-base.service.ts b/src/app/shared/services/business/shipper-base.service.ts index 381791a4..045ca354 100644 --- a/src/app/shared/services/business/shipper-base.service.ts +++ b/src/app/shared/services/business/shipper-base.service.ts @@ -23,6 +23,9 @@ export class ShipperBaseService extends BaseService { $api_get_rebate_config = `/api/mdc/rebateConfig/list/listRebateConfig`; // 获取渠道销售管理集合 $api_get_channel = `/api/mdc/channelSalesManagement/list/listChannelSalesManagement`; + + // 获取货主企业列表 + public $api_enterpriceList = '/api/mdc/cuc/enterpriseInfo/operate/enterpriceList'; constructor(public injector: Injector) { super(injector); } @@ -166,6 +169,33 @@ export class ShipperBaseService extends BaseService { ); } + /** + * 获取货主企业列表 + * @returns + */ + getEnterpriceList(params = { enterpriseName: '' }, containerAll = false) { + let str = params.enterpriseName.replace(/^\s+|\s+$/g, ''); + if (str) { + return this.request(this.$api_enterpriceList, params).pipe( + map((res: any) => { + if (!res) { + return []; + } + const list = res.map((item: any) => { + return { label: item.enterpriseName, value: item.id }; + }); + const obj = []; + if (containerAll) { + obj.push({ label: '全部', value: '' }); + } + return [...obj, ...list]; + }) + ).toPromise();; + } else { + return of([]); + } + } + /** * 获取结算客户 * @returns