From 77744a68b54c9663d8a555b3a14de9178be2ac7b Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Sun, 24 Apr 2022 15:28:35 +0800 Subject: [PATCH] edit --- .../invoice-detail.component.ts | 12 +++++-- .../invoice-requested-detail.component.ts | 8 +++-- .../services/business/shipper-base.service.ts | 31 +++++++++++++++++++ 3 files changed, 46 insertions(+), 5 deletions(-) diff --git a/src/app/routes/ticket-management/components/invoice-detail/invoice-detail.component.ts b/src/app/routes/ticket-management/components/invoice-detail/invoice-detail.component.ts index 766fe66f..b56088d4 100644 --- a/src/app/routes/ticket-management/components/invoice-detail/invoice-detail.component.ts +++ b/src/app/routes/ticket-management/components/invoice-detail/invoice-detail.component.ts @@ -172,9 +172,15 @@ export class InvoiceDetailComponent implements OnInit { title: '所属项目', ui: { widget: 'select', - placeholder: '请选择', + serverSearch: true, + searchDebounceTime: 300, + searchLoadingText: '搜索中...', allowClear: true, - asyncData: () => this.service.getEnterpriseProject({ id: this.ltdId }) + onSearch: (q: any) => this.service.getProjectList({ projectName: q, enterpriseId: this.headerInfo?.shipperId }) + // widget: 'select', + // placeholder: '请选择', + // allowClear: true, + // asyncData: () => this.service.getEnterpriseProject({ id: this.ltdId }) }, default: '' } @@ -303,7 +309,7 @@ export class InvoiceDetailComponent implements OnInit { width: 140, type: 'widget', className: 'text-right', - widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) } + widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.vatnotax }) } } ]; } diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.ts b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.ts index f8f08999..a8f18617 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.ts +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.ts @@ -284,10 +284,14 @@ export class InvoiceRequestedDetailComponent implements OnInit { default: '', ui: { widget: 'select', + serverSearch: true, + searchDebounceTime: 300, + searchLoadingText: '搜索中...', + allowClear: true, + onSearch: (q: any) => this.service.getProjectList({ projectName: q, enterpriseId: this.headerInfo?.shipperId }), visibleIf: { expand: (value: boolean) => value - }, - asyncData: () => this.service.getEnterpriseProject() + } } } } diff --git a/src/app/shared/services/business/shipper-base.service.ts b/src/app/shared/services/business/shipper-base.service.ts index 3a614d5b..bf46b2dd 100644 --- a/src/app/shared/services/business/shipper-base.service.ts +++ b/src/app/shared/services/business/shipper-base.service.ts @@ -26,6 +26,8 @@ export class ShipperBaseService extends BaseService { // 获取货主企业列表 public $api_enterpriceList = '/api/mdc/cuc/enterpriseInfo/operate/enterpriceList'; + // 批量获取项目信息 + public $api_get_project_list = '/api/mdc/cuc/enterpriseProject/getProjectList'; constructor(public injector: Injector) { super(injector); } @@ -247,6 +249,35 @@ export class ShipperBaseService extends BaseService { } } + /** + * 批量获取项目信息 + * @returns + */ + getProjectList(params = { projectName: '', enterpriseId: '' }, containerAll = false) { + let str = params.projectName.replace(/^\s+|\s+$/g, ''); + if (str) { + return this.request(this.$api_get_project_list, params) + .pipe( + map((res: any) => { + if (!res) { + return []; + } + const list = res.map((item: any) => { + return { label: item.projectName, value: item.id }; + }); + const obj = []; + if (containerAll) { + obj.push({ label: '全部', value: '' }); + } + return [...obj, ...list]; + }) + ) + .toPromise(); + } else { + return of([]); + } + } + /** * 获取结算客户 * @returns