diff --git a/package-lock.json b/package-lock.json index 93e9c26a..a65bf493 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "tms-obc-web", - "version": "0.0.0", + "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/app/routes/datatable/components/dataindex/dataindex.component.html b/src/app/routes/datatable/components/dataindex/dataindex.component.html index f1f4a0b5..cdeed077 100644 --- a/src/app/routes/datatable/components/dataindex/dataindex.component.html +++ b/src/app/routes/datatable/components/dataindex/dataindex.component.html @@ -43,12 +43,12 @@
-
+
-
+
@@ -57,7 +57,7 @@
-
+
+
diff --git a/src/app/routes/datatable/components/dataindex/dataindex.component.ts b/src/app/routes/datatable/components/dataindex/dataindex.component.ts index 62bd3816..168dc88f 100644 --- a/src/app/routes/datatable/components/dataindex/dataindex.component.ts +++ b/src/app/routes/datatable/components/dataindex/dataindex.component.ts @@ -9,6 +9,8 @@ import { G2TimelineClickItem, G2TimelineData } from '@delon/chart/timeline'; import { CurrencyPipe } from '@angular/common'; import { LOGS } from '_mock'; import { G2CustomComponent } from '@delon/chart/custom'; +import { G2BarData } from '@delon/chart/bar'; +import { GeometryLabelCfg } from '@antv/g2/lib/interface'; @Component({ selector: 'app-datatable-dataindex', @@ -20,6 +22,7 @@ export class DatatableDataindexComponent implements OnInit { @ViewChild('g2custom', { static: false }) g2custom!: G2CustomComponent; @ViewChild('RegionalPerforman', { static: false }) RegionalPerforman!: G2CustomComponent; @ViewChild('BillDirectProportion', { static: false }) BillDirectProportion!: G2CustomComponent; + @ViewChild('SaleProportion', { static: false }) SaleProportion!: G2CustomComponent; salesData: any[] = []; totalAdvanceDeposit: { totalAmount: string; list: G2MiniAreaData[] } = { totalAmount: '0', list: this.genData() }; @@ -94,6 +97,7 @@ export class DatatableDataindexComponent implements OnInit { this.service.request(this.service.$api_get_bill_payment_amount).subscribe(res => { if (res) { this.salesData = this.formatBarData(res); + this.initBiaxialChart(this.SaleProportion['el'].nativeElement as any, this.salesData); } }); } @@ -267,6 +271,11 @@ export class DatatableDataindexComponent implements OnInit { } } + /** + * 构建大区业绩完成情况柱折双轴图 + * @param el + * @param data + */ private initRegionalPerformanceChart(el: HTMLElement, data: DataPerformanceTrendVO[]) { const chart = new Chart({ container: el, @@ -319,6 +328,65 @@ export class DatatableDataindexComponent implements OnInit { chart.render(); } + /** + * 构建业绩完成情况柱折双轴图 + * @param el + * @param data + */ + private initBiaxialChart(el: HTMLElement, data: any[]) { + const chart = new Chart({ + container: el, + autoFit: true, + height: 400 + }); + chart.data(data); + // 设置坐标轴 + chart.scale({ + pre: { alias: '同期业绩完成率', min: 0, max: 1, formatter: val => val * 100 + '%' }, + pre2: { alias: '业绩完成率', min: 0, max: 1, formatter: val => val * 100 + '%' }, + quantity: { alias: '业绩量 (万)', min: 0, max: 1000000 } + }); + // 设置 + chart.legend({ + custom: true, + items: [ + { value: 'quantity', name: '业绩量 (万)', marker: { symbol: 'hyphen', style: { stroke: '#3182bd', r: 15, lineWidth: 5 } } }, + { value: 'pre2', name: '业绩完成率', marker: { symbol: 'hyphen', style: { stroke: '#fdae6b', r: 15, lineWidth: 5 } } }, + { value: 'pre', name: '同期业绩完成率', marker: { symbol: 'hyphen', style: { stroke: '#ff4d4f', r: 15, lineWidth: 5 } } } + ] + }); + chart.axis('pre', { + grid: null, + title: null, + label: { + formatter: val => +val * 100 + '%' + } + }); + chart.axis('pre2', false); + chart.tooltip({ + shared: true + }); + chart.interval().position('time*quantity').label('quantity').color('#3182bd'); + chart + .line() + .position('time*pre') + .label('pre', val => ({ content: (val * 100).toFixed(0) + '%' })) + .color('#ff4d4f') + .size(3); + chart.point().position('time*pre').color('#ff4d4f').size(3).shape('circle'); + chart + .line() + .position('time*pre2') + .label('pre2', val => ({ content: (val * 100).toFixed(0) + '%' })) + .color('#fdae6b') + .size(3); + chart.point().position('time*pre2').color('#fdae6b').size(3).shape('circle'); + + chart.interaction('active-region'); + chart.removeInteraction('legend-filter'); // 自定义图例,移除默认的分类图例筛选交互 + chart.render(); + } + private formatMiniAreaData(data: DataTotalVO) { return { totalAmount: `${this.currency.transform(data.totalAmount || 0)}万`, @@ -329,6 +397,11 @@ export class DatatableDataindexComponent implements OnInit { }; } + /** + * 初始化饼图数据格式 + * @param data + * @returns + */ private formatCoordinateData(data: DataBillTypeProportion[]): any[] { const total = data.map(item => item.quantity).reduce((pre, next) => pre + next); const rs: any[] = []; @@ -344,9 +417,11 @@ export class DatatableDataindexComponent implements OnInit { private formatBarData(data: DataPerformanceTrendVO[]): any[] { return data.map(item => ({ - x: item.time, - y: item.quantity, - color: '#f50' + time: item.time, + quantity: item.quantity, + color: undefined, + pre: Math.floor(Math.random() * 100) / 100, + pre2: Math.floor(Math.random() * 100) / 100 })); } @@ -356,7 +431,7 @@ export class DatatableDataindexComponent implements OnInit { for (let i = 0; i < 20; i += 1) { res.push({ x: format(new Date(beginDay + 1000 * 60 * 60 * 24 * i), 'yyyy-MM-dd'), - y: Math.floor(Math.random() * 100) + 10 + y: Math.floor(Math.random() * 1) }); } return res; diff --git a/src/app/routes/financial-management/components/driver-account/driver-account-detail/driver-account-detail.component.html b/src/app/routes/financial-management/components/driver-account/driver-account-detail/driver-account-detail.component.html index 3bef51eb..2c6762b8 100644 --- a/src/app/routes/financial-management/components/driver-account/driver-account-detail/driver-account-detail.component.html +++ b/src/app/routes/financial-management/components/driver-account/driver-account-detail/driver-account-detail.component.html @@ -1,4 +1,4 @@ - +
+ (click)="st?.load(1);">查询
-
+
@@ -16,7 +16,7 @@ - +
diff --git a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts index c91b3e29..b35e8a87 100644 --- a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts +++ b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts @@ -140,39 +140,41 @@ export class WithdrawalsDetailComponent implements OnInit { hidden: true } }, - billHCode: { + orderPaymentCode: { type: 'string', title: '支付编号', ui: { placeholder: '请输入' } }, - billHCod1e: { + billCode: { type: 'string', title: '订单号', ui: { placeholder: '请输入' } }, - billHCo1de: { + resourceCode: { type: 'string', title: '货源编号', ui: { placeholder: '请输入' } }, - billHC1ode: { + serviceType: { type: 'string', title: '服务类型', ui: { - widget: 'select', + widget: 'dict-select', + params: { dictKey: 'service:type' }, placeholder: '请选择', visibleIf: { expand: (value: boolean) => value } - } + }, + default: '' }, - billHCo11de: { + driverName: { type: 'string', title: '承运司机', ui: { @@ -182,7 +184,7 @@ export class WithdrawalsDetailComponent implements OnInit { } } }, - billHCo111de: { + driverLicensePlate: { type: 'string', title: '车牌号', ui: { @@ -192,7 +194,7 @@ export class WithdrawalsDetailComponent implements OnInit { } } }, - billHC1o11de: { + captain: { type: 'string', title: '收款人', ui: { @@ -202,9 +204,14 @@ export class WithdrawalsDetailComponent implements OnInit { } } }, - billHC1o111de: { + isCaptain: { type: 'string', title: '车队长收款', + enum: [ + {label: '全部', value: ''}, + {label: '是', value: '1'}, + {label: '否', value: '2'} + ], ui: { widget: 'select', placeholder: '请选择', diff --git a/src/app/routes/order-management/components/bulk-detail-change/bulk-detail-change.component.html b/src/app/routes/order-management/components/bulk-detail-change/bulk-detail-change.component.html index edfb57a6..b5a9f198 100644 --- a/src/app/routes/order-management/components/bulk-detail-change/bulk-detail-change.component.html +++ b/src/app/routes/order-management/components/bulk-detail-change/bulk-detail-change.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2021-12-24 16:58:02 * @LastEditors : Shiming - * @LastEditTime : 2022-04-15 09:58:12 + * @LastEditTime : 2022-04-21 15:33:31 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail-change\\bulk-detail-change.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -282,8 +282,8 @@ - -

| 轨迹信息

+ +

| 轨迹信息

diff --git a/src/app/routes/order-management/components/bulk-detail/bulk-detail.component.html b/src/app/routes/order-management/components/bulk-detail/bulk-detail.component.html index e7e55124..1e7e4c8f 100644 --- a/src/app/routes/order-management/components/bulk-detail/bulk-detail.component.html +++ b/src/app/routes/order-management/components/bulk-detail/bulk-detail.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2021-12-06 20:20:26 * @LastEditors : Shiming - * @LastEditTime : 2022-04-15 09:58:13 + * @LastEditTime : 2022-04-21 15:33:15 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -204,8 +204,8 @@ - -

| 轨迹信息

+ +

| 轨迹信息

@@ -230,7 +230,7 @@
如果您的运单没有问题,可以提出申诉,并提供相关资料,我们将24小时内审核反馈
    -
  • 系统识别:{{item?.complianceTypeName}}
  • +
  • 系统识别:{{item?.complianceName}}
  • {{item?.determineDetails}}
diff --git a/src/app/routes/order-management/components/receipts-audit/receipts-audit.component.ts b/src/app/routes/order-management/components/receipts-audit/receipts-audit.component.ts index 5588a7b0..c3ddd93f 100644 --- a/src/app/routes/order-management/components/receipts-audit/receipts-audit.component.ts +++ b/src/app/routes/order-management/components/receipts-audit/receipts-audit.component.ts @@ -397,25 +397,25 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { { text: '生成电子单据', click: _record => this.generate(_record, 2), - iif: item => !item?.loadingElectronicsLadingBillFilePath, + iif: item => !item?.loadingElectronicsLadingBillFilePath || !item?.unloadingElectronicsLadingBillFilePath, acl: { ability: ['ORDER-RECEIPTS-electronicBillingOne'] }, }, { text: '通过', click: _record => this.sign(_record), - iif: item => !item?.loadingElectronicsLadingBillFilePath, + iif: item => !item?.loadingElectronicsLadingBillFilePath || !item?.unloadingElectronicsLadingBillFilePath, acl: { ability: ['ORDER-RECEIPTS-billAuditPassBatch'] }, }, { text: '修改', click: _record => this.modification(_record), - iif: item => !item?.loadingElectronicsLadingBillFilePath, + iif: item => !item?.loadingElectronicsLadingBillFilePath || !item?.unloadingElectronicsLadingBillFilePath, acl: { ability: ['ORDER-RECEIPTS-updateBillExamine'] }, }, { text: '查看凭证', click: _record => this.generate(_record, 3), - iif: item => item?.loadingElectronicsLadingBillFilePath, + iif: item => item?.loadingElectronicsLadingBillFilePath && item?.unloadingElectronicsLadingBillFilePath, acl: { ability: ['ORDER-RECEIPTS-view'] }, }, ] diff --git a/src/app/routes/order-management/components/vehicle-detail-change/vehicle-detail-change.component.html b/src/app/routes/order-management/components/vehicle-detail-change/vehicle-detail-change.component.html index aa888e78..4cd328fd 100644 --- a/src/app/routes/order-management/components/vehicle-detail-change/vehicle-detail-change.component.html +++ b/src/app/routes/order-management/components/vehicle-detail-change/vehicle-detail-change.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2021-12-23 13:39:58 * @LastEditors : Shiming - * @LastEditTime : 2022-04-15 10:07:20 + * @LastEditTime : 2022-04-21 15:33:42 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail-change\\vehicle-detail-change.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -316,8 +316,8 @@
- -

| 轨迹信息

+ +

| 轨迹信息

diff --git a/src/app/routes/order-management/components/vehicle-detail/vehicle-detail.component.html b/src/app/routes/order-management/components/vehicle-detail/vehicle-detail.component.html index a06a10ec..77591f60 100644 --- a/src/app/routes/order-management/components/vehicle-detail/vehicle-detail.component.html +++ b/src/app/routes/order-management/components/vehicle-detail/vehicle-detail.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2021-12-28 14:42:03 * @LastEditors : Shiming - * @LastEditTime : 2022-04-15 09:56:50 + * @LastEditTime : 2022-04-21 17:03:50 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -205,8 +205,8 @@ - -

| 轨迹信息

+ +

| 轨迹信息

@@ -229,7 +229,7 @@
您的订单可能存在交易风险,请及时提交申诉材料,提交成功后,平台将及时完成审核并通知您!
如果您的运单没有问题,可以提出申诉,并提供相关资料,我们将24小时内审核反馈
    -
  • 系统识别:{{ item?.complianceTypeName }}
  • +
  • 系统识别:{{ item?.complianceName }}
  • {{ item?.determineDetails }}
diff --git a/src/app/routes/order-management/modal/audit/voucher-view/voucher-view.component.html b/src/app/routes/order-management/modal/audit/voucher-view/voucher-view.component.html index fe3fd680..9133fdfa 100644 --- a/src/app/routes/order-management/modal/audit/voucher-view/voucher-view.component.html +++ b/src/app/routes/order-management/modal/audit/voucher-view/voucher-view.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2021-12-15 13:17:42 * @LastEditors : Shiming - * @LastEditTime : 2022-04-01 15:48:01 + * @LastEditTime : 2022-04-21 14:41:44 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\audit\\voucher-view\\voucher-view.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -12,11 +12,13 @@
-
电子装货单
+
电子装货单 + {{datas?.loadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}} +
-
电子卸货单
+
电子卸货单 {{datas?.unloadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}}
diff --git a/src/app/routes/order-management/modal/audit/voucher-view/voucher-view.component.ts b/src/app/routes/order-management/modal/audit/voucher-view/voucher-view.component.ts index ed607da7..3bc73604 100644 --- a/src/app/routes/order-management/modal/audit/voucher-view/voucher-view.component.ts +++ b/src/app/routes/order-management/modal/audit/voucher-view/voucher-view.component.ts @@ -1,4 +1,3 @@ - import { Component, OnInit, ViewChild } from '@angular/core'; import { DatePipe } from '@angular/common'; import { @@ -16,7 +15,7 @@ import { import { apiConf } from '@conf/api.conf'; import { _HttpClient } from '@delon/theme'; import { NzMessageService } from 'ng-zorro-antd/message'; -import { NzModalRef } from 'ng-zorro-antd/modal'; +import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; import { Observable, Observer } from 'rxjs'; import { EAEnvironmentService } from '@shared'; import { OrderManagementService } from '../../../services/order-management.service'; @@ -29,7 +28,6 @@ import format from 'date-fns/format'; providers: [DatePipe] }) export class orderManagementVoucherViewComponent implements OnInit { - record: any = {}; i: any; loadPDF: string = ''; formData: any; @@ -42,20 +40,26 @@ export class orderManagementVoucherViewComponent implements OnInit { @ViewChild('sf', { static: false }) sf!: SFComponent; schema: SFSchema = {}; ui: SFUISchema = {}; - constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient, public service: OrderManagementService, private datePipe: DatePipe, private envSrv: EAEnvironmentService,) { } + constructor( + private modal: NzModalRef, + private msgSrv: NzMessageService, + public http: _HttpClient, + public service: OrderManagementService, + private datePipe: DatePipe, + private envSrv: EAEnvironmentService, + private modalService: NzModalService + ) {} ngOnInit(): void { - // console.log(this.i) - this.initData() + console.log(this.i); + this.initData(); this.i.time = this.i.loadingTime; this.initSF(); } initSF() { - console.log(this.Status) + console.log(this.Status); if (this.Status == 1) { - this.schema = { - properties: { loadingLadingBillFilePath: { type: 'string', @@ -72,9 +76,9 @@ export class orderManagementVoucherViewComponent implements OnInit { data: { appId: this.envSrv.env.appId, content: [ - `上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`, - `上传位置:${this.record?.loadingAddressArr[0]}`, - `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`, + `上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`, + `上传位置:${this.i?.loadingAddressArr[0]}`, + `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}` ], position: '2', fontSize: '100' @@ -99,8 +103,8 @@ export class orderManagementVoucherViewComponent implements OnInit { }); }, multiple: false, - listType: 'picture-card', - } as SFUploadWidgetSchema, + listType: 'picture-card' + } as SFUploadWidgetSchema }, loadingPeopleVehiclesGoodsFilePath: { type: 'string', @@ -117,9 +121,9 @@ export class orderManagementVoucherViewComponent implements OnInit { data: { appId: this.envSrv.env.appId, content: [ - `上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`, - `上传位置:${this.record?.loadingAddressArr[0]}`, - `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`, + `上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`, + `上传位置:${this.i?.loadingAddressArr[0]}`, + `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}` ], position: '2', fontSize: '100' @@ -144,16 +148,16 @@ export class orderManagementVoucherViewComponent implements OnInit { }); }, multiple: false, - listType: 'picture-card', - } as SFUploadWidgetSchema, + listType: 'picture-card' + } as SFUploadWidgetSchema }, no4: { type: 'string', title: '', ui: { - widget: 'text', + widget: 'text' }, - default: '单张大小不超过5M,支持.jpg、.jpeg和 .png格式', + default: '单张大小不超过5M,支持.jpg、.jpeg和 .png格式' }, unloadingLadingBillFilePath: { type: 'string', @@ -170,9 +174,9 @@ export class orderManagementVoucherViewComponent implements OnInit { data: { appId: this.envSrv.env.appId, content: [ - `上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`, - `上传位置:${this.record?.unloadingAddressArr[0]}`, - `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`, + `上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`, + `上传位置:${this.i?.unloadingAddressArr[0]}`, + `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}` ], position: '2', fontSize: '100' @@ -197,8 +201,8 @@ export class orderManagementVoucherViewComponent implements OnInit { }); }, multiple: false, - listType: 'picture-card', - } as SFUploadWidgetSchema, + listType: 'picture-card' + } as SFUploadWidgetSchema }, unloadingPeopleVehiclesGoodsFilePath: { type: 'string', @@ -215,9 +219,9 @@ export class orderManagementVoucherViewComponent implements OnInit { data: { appId: this.envSrv.env.appId, content: [ - `上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`, - `上传位置:${this.record?.unloadingAddressArr[0]}`, - `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`, + `上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`, + `上传位置:${this.i?.unloadingAddressArr[0]}`, + `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}` ], position: '2', fontSize: '100' @@ -242,11 +246,16 @@ export class orderManagementVoucherViewComponent implements OnInit { }); }, multiple: false, - listType: 'picture-card', - } as SFUploadWidgetSchema, + listType: 'picture-card' + } as SFUploadWidgetSchema } }, - required: ['loadingLadingBillFilePath', 'loadingPeopleVehiclesGoodsFilePath', 'unloadingLadingBillFilePath', 'unloadingPeopleVehiclesGoodsFilePath'] + required: [ + 'loadingLadingBillFilePath', + 'loadingPeopleVehiclesGoodsFilePath', + 'unloadingLadingBillFilePath', + 'unloadingPeopleVehiclesGoodsFilePath' + ] }; } else { this.schema = { @@ -255,8 +264,8 @@ export class orderManagementVoucherViewComponent implements OnInit { type: 'string', title: '', ui: { - widget: 'custom', - }, + widget: 'custom' + } }, loadingLadingBillFilePath: { type: 'string', @@ -274,9 +283,9 @@ export class orderManagementVoucherViewComponent implements OnInit { data: { appId: this.envSrv.env.appId, content: [ - `上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`, - `上传位置:${this.record?.loadingAddressArr[0]}`, - `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`, + `上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`, + `上传位置:${this.i?.loadingAddressArr[0]}`, + `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}` ], position: '2', fontSize: '100' @@ -301,8 +310,8 @@ export class orderManagementVoucherViewComponent implements OnInit { }); }, multiple: false, - listType: 'picture-card', - } as SFUploadWidgetSchema, + listType: 'picture-card' + } as SFUploadWidgetSchema }, loadingPeopleVehiclesGoodsFilePath: { type: 'string', @@ -320,9 +329,9 @@ export class orderManagementVoucherViewComponent implements OnInit { data: { appId: this.envSrv.env.appId, content: [ - `上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`, - `上传位置:${this.record?.loadingAddressArr[0]}`, - `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`, + `上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`, + `上传位置:${this.i?.loadingAddressArr[0]}`, + `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}` ], position: '2', fontSize: '100' @@ -347,24 +356,24 @@ export class orderManagementVoucherViewComponent implements OnInit { }); }, multiple: false, - listType: 'picture-card', - } as SFUploadWidgetSchema, + listType: 'picture-card' + } as SFUploadWidgetSchema }, no4: { type: 'string', title: '', ui: { - widget: 'text', + widget: 'text' }, - default: '单张大小不超过5M,支持.jpg、.jpeg和 .png格式', + default: '单张大小不超过5M,支持.jpg、.jpeg和 .png格式' }, no6: { type: 'string', title: '', ui: { - widget: 'custom', - }, + widget: 'custom' + } }, unloadingLadingBillFilePath: { type: 'string', @@ -382,9 +391,9 @@ export class orderManagementVoucherViewComponent implements OnInit { data: { appId: this.envSrv.env.appId, content: [ - `上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`, - `上传位置:${this.record?.unloadingAddressArr[0]}`, - `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`, + `上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`, + `上传位置:${this.i?.unloadingAddressArr[0]}`, + `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}` ], position: '2', fontSize: '100' @@ -409,8 +418,8 @@ export class orderManagementVoucherViewComponent implements OnInit { }); }, multiple: false, - listType: 'picture-card', - } as SFUploadWidgetSchema, + listType: 'picture-card' + } as SFUploadWidgetSchema }, unloadingPeopleVehiclesGoodsFilePath: { type: 'string', @@ -428,9 +437,9 @@ export class orderManagementVoucherViewComponent implements OnInit { data: { appId: this.envSrv.env.appId, content: [ - `上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`, - `上传位置:${this.record?.unloadingAddressArr[0]}`, - `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`, + `上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`, + `上传位置:${this.i?.unloadingAddressArr[0]}`, + `上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}` ], position: '2', fontSize: '100' @@ -455,11 +464,16 @@ export class orderManagementVoucherViewComponent implements OnInit { }); }, multiple: false, - listType: 'picture-card', - } as SFUploadWidgetSchema, + listType: 'picture-card' + } as SFUploadWidgetSchema } }, - required: ['loadingLadingBillFilePath', 'loadingPeopleVehiclesGoodsFilePath', 'unloadingLadingBillFilePath', 'unloadingPeopleVehiclesGoodsFilePath'] + required: [ + 'loadingLadingBillFilePath', + 'loadingPeopleVehiclesGoodsFilePath', + 'unloadingLadingBillFilePath', + 'unloadingPeopleVehiclesGoodsFilePath' + ] }; } this.ui = { @@ -470,42 +484,42 @@ export class orderManagementVoucherViewComponent implements OnInit { $unloadingLadingBillFilePath: { grid: { span: 12 } }, $unloadingPeopleVehiclesGoodsFilePath: { grid: { span: 12 } }, $loadingLadingBillFilePath: { grid: { span: 12 } }, - $loadingPeopleVehiclesGoodsFilePath: { grid: { span: 12 } }, + $loadingPeopleVehiclesGoodsFilePath: { grid: { span: 12 } } }; } save(value: any): void { if (!this.sf.valid) { - this.service.msgSrv.warning('必填项为空!') + this.service.msgSrv.warning('必填项为空!'); return; } - console.log(value) + console.log(value); const params = { id: this.i?.id, loadingLadingBillFilePath: value?.loadingLadingBillFilePath?.data?.fullFilePath, loadingPeopleVehiclesGoodsFilePath: value?.loadingPeopleVehiclesGoodsFilePath?.data?.fullFilePath, unloadingLadingBillFilePath: value?.unloadingLadingBillFilePath?.data?.fullFilePath, - unloadingPeopleVehiclesGoodsFilePath: value?.unloadingPeopleVehiclesGoodsFilePath?.data?.fullFilePath, - } - console.log(params) - this.service.request(this.service.$api_get_updateBillExamine, params).subscribe((res) => { + unloadingPeopleVehiclesGoodsFilePath: value?.unloadingPeopleVehiclesGoodsFilePath?.data?.fullFilePath + }; + console.log(params); + this.service.request(this.service.$api_get_updateBillExamine, params).subscribe(res => { if (res) { - this.service.msgSrv.success('修改成功!') + this.service.msgSrv.success('修改成功!'); this.modal.destroy(true); } - }) + }); } sure() { const params = [this.i?.id]; - this.service.downloadFile(this.service.$api_createBillTakeGoods, params) - this.service.downloadFile(this.service.$api_createBillDischargeGoods, params) - this.service.msgSrv.success('生成电子单据成功!') + this.service.downloadFile(this.service.$api_createBillTakeGoods, params); + this.service.downloadFile(this.service.$api_createBillDischargeGoods, params); + this.service.msgSrv.success('生成电子单据成功!'); this.modal.destroy(true); } // 确认到车界面信息(两个只能看的图片) initData() { - this.service.request(this.service.$api_get_getCredentials, { id: this.i?.id }).subscribe((res) => { - console.log(res) - this.datas = res + this.service.request(this.service.$api_get_getCredentials, { id: this.i?.id }).subscribe(res => { + console.log(res); + this.datas = res; if (res.unloadingLadingBillFilePath) { this.formData = { loadingLadingBillFilePath: [ @@ -515,9 +529,9 @@ export class orderManagementVoucherViewComponent implements OnInit { status: 'done', url: res.loadingLadingBillFilePath, response: { - url: res.loadingLadingBillFilePath, - }, - }, + url: res.loadingLadingBillFilePath + } + } ], loadingPeopleVehiclesGoodsFilePath: [ { @@ -526,9 +540,9 @@ export class orderManagementVoucherViewComponent implements OnInit { status: 'done', url: res.loadingPeopleVehiclesGoodsFilePath, response: { - url: res.loadingPeopleVehiclesGoodsFilePath, - }, - }, + url: res.loadingPeopleVehiclesGoodsFilePath + } + } ], unloadingLadingBillFilePath: [ { @@ -537,9 +551,9 @@ export class orderManagementVoucherViewComponent implements OnInit { status: 'done', url: res.unloadingLadingBillFilePath, response: { - url: res.unloadingLadingBillFilePath, - }, - }, + url: res.unloadingLadingBillFilePath + } + } ], unloadingPeopleVehiclesGoodsFilePath: [ { @@ -548,33 +562,112 @@ export class orderManagementVoucherViewComponent implements OnInit { status: 'done', url: res.unloadingPeopleVehiclesGoodsFilePath, response: { - url: res.unloadingPeopleVehiclesGoodsFilePath, - }, - }, - ], + url: res.unloadingPeopleVehiclesGoodsFilePath + } + } + ] }; } - }) + }); } close(): void { this.modal.destroy(true); } openlaod(value: any) { if (value === 1) { - const a = document.createElement('a'); - a.href = this.datas?.loadingElectronicsLadingBillFilePath; - document.body.appendChild(a); - console.log(document.body.contains(a)) - a.click(); //点击下载 - document.body.removeChild(a); //下载完成移除元素 + // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 + let time = 10; + setInterval(function () { + time -= 1; + }, 1000); + const modal = this.modalService.success({ + nzTitle: '电子装货单签署中!', + nzContent: ` + 请等待${time}秒后自动关闭 + ` + }); + if (!this.datas?.loadingElectronicsLadingBillFilePath) { + this.service.request(this.service.$api_createBillTakeGoods, [this.datas?.id]).subscribe(res => { + if (res) { + switch (res[0]?.esignFlowStatus) { + case 1: + case '1': + setTimeout(() => { + this.service.request(this.service.$api_getBillTakeEsignFile, [this.datas?.id]).subscribe(res => { + if (res[0]?.esignFlowStatus == '2') { + this.service.msgSrv.success('电子装货单已生效!'); + this.modal.destroy(true); + } + }); + modal.destroy(); + }, 10000); + return; + case 2: + modal.destroy(); + return; + case '13': + case 13: + this.service.msgSrv.error('签署异常!'); + modal.destroy(); + return; + } + } + }); + } else { + const a = document.createElement('a'); + a.href = this.datas?.loadingElectronicsLadingBillFilePath; + document.body.appendChild(a); + a.click(); //点击下载 + document.body.removeChild(a); //下载完成移除元素 + } } else { - const a = document.createElement('a'); - a.href = this.datas?.unloadingElectronicsLadingBillFilePath; - document.body.appendChild(a); - console.log(document.body.contains(a)) - a.click(); //点击下载 - document.body.removeChild(a); //下载完成移除元素 - } + // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 + let time = 10; + setInterval(function () { + time -= 1; + }, 1000); //反复执行函数本身 + const modal = this.modalService.success({ + nzTitle: '电子卸货单签署中!', + nzContent: ` + 请等待${time}秒后自动关闭 + ` + }); + if (!this.datas?.unloadingElectronicsLadingBillFilePath) { + this.service.request(this.service.$api_createBillDischargeGoods, [this.datas?.id]).subscribe(res => { + if (res) { + switch (res[0]?.esignFlowStatus) { + case 1: + case '1': + setTimeout(() => { + this.service.request(this.service.$api_getBillDischargeEsignFile, [this.datas?.id]).subscribe(res => { + if (res[0]?.esignFlowStatus == '2') { + this.service.msgSrv.success('电子卸货单已生效!'); + this.modal.destroy(true); + } + }); + modal.destroy(); + }, 10000); + return; + case 2: + modal.destroy(); + + return; + case '13': + case 13: + this.service.msgSrv.error('签署异常!'); + modal.destroy(); + return; + } + } + }); + } else { + const a = document.createElement('a'); + a.href = this.datas?.unloadingElectronicsLadingBillFilePath; + document.body.appendChild(a); + a.click(); //点击下载 + document.body.removeChild(a); //下载完成移除元素 + } + } } } diff --git a/src/app/routes/order-management/modal/vehicle/sure-arrive/sure-arrive.component.ts b/src/app/routes/order-management/modal/vehicle/sure-arrive/sure-arrive.component.ts index e74a8c1a..3b037b45 100644 --- a/src/app/routes/order-management/modal/vehicle/sure-arrive/sure-arrive.component.ts +++ b/src/app/routes/order-management/modal/vehicle/sure-arrive/sure-arrive.component.ts @@ -499,7 +499,7 @@ export class VehicleSureArriveComponent implements OnInit { }); } else { if (!value?.time) { - this.service.msgSrv.warning('装货时间为空!'); + this.service.msgSrv.warning('卸货时间为空!'); return; } if (!this.data?.volume) { diff --git a/src/app/routes/order-management/services/order-management.service.ts b/src/app/routes/order-management/services/order-management.service.ts index 178e640f..2c7f4a05 100644 --- a/src/app/routes/order-management/services/order-management.service.ts +++ b/src/app/routes/order-management/services/order-management.service.ts @@ -204,10 +204,21 @@ export class OrderManagementService extends ShipperBaseService { $api_abnormalWarning_asyncExport = `/api/sdc/abnormalWarning/asyncExport`; // 异步导出投诉管理导出 $api_asyncExportComplaintListDrv = `/api/sdc/complaint/operate/asyncExportComplaintListDrv`; - //操作日志 - public $api_get_log_list = `/api/mdc/pbc/operationLogRecords/getOperationLogRecordsList`; - // 查看补充协议 + //操作日志 + public $api_get_log_list = `/api/mdc/pbc/operationLogRecords/getOperationLogRecordsList`; + // 查看补充协议 public $api_getSupplementaryAgreement = `/api/sdc/billShipper/getSupplementaryAgreement`; + + + // 获取电子提货单签章附件 + public $api_getBillTakeEsignFile = `/api/sdc/billOperate/getBillTakeEsignFile`; + // 获取电子卸货单签章附件 + public $api_getBillDischargeEsignFile = `/api/sdc/billOperate/getBillDischargeEsignFile`; + + // // 生成卸货单 + // public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`; + // // 生成提货单 + // public $api_createBillTakeGoods = `/api/sdc/billOperate/createBillTakeGoods`; /** * 根据企业ID,获取企业历史网络货运人 * @returns diff --git a/src/app/routes/partner/partner-list/components/index/partner-list.component.html b/src/app/routes/partner/partner-list/components/index/partner-list.component.html index ff6f4383..b0388b2c 100644 --- a/src/app/routes/partner/partner-list/components/index/partner-list.component.html +++ b/src/app/routes/partner/partner-list/components/index/partner-list.component.html @@ -58,7 +58,7 @@ -

已选(0)

+

已选({{selectedRows?.length}})

+ [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar"> - 长期 + [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar"> + [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar"> + [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit ? 'calendar' : ''" style="width: 140px" class="calendar">
+ +
+
+ 请上传道运证照片,支持JPG、PNG格式,文件小于5M。蓝牌绿牌车辆,可不用传道运证 +
+
+
+
企业基本信息
@@ -39,8 +47,7 @@
道运证信息
- - + diff --git a/src/app/routes/sys-setting/components/network-freight/new/new.component.ts b/src/app/routes/sys-setting/components/network-freight/new/new.component.ts index 3fbe0d7e..0f1bb9ff 100644 --- a/src/app/routes/sys-setting/components/network-freight/new/new.component.ts +++ b/src/app/routes/sys-setting/components/network-freight/new/new.component.ts @@ -52,7 +52,8 @@ export class NetworkFreightNewComponent implements OnInit { sf1FormData: any = { legalPersonIdentityVO: { certificatePhotoFrontWatermark: '', - certificatePhotoBackWatermark: '' + certificatePhotoBackWatermark: '', + roadTransportPhotoWatermark: '' } }; subText = '确认新增'; @@ -85,13 +86,6 @@ export class NetworkFreightNewComponent implements OnInit { spanLabelFixed: 100, grid: { xxl: 6, xl: 6, lg: 4, md: 6 } }, - $roadTransportPhotoWatermark: { - grid: { span: 12 }, - }, - $roadImg: { - grid: { span: 4 }, - class: 'setCustom' - }, }; constructor(private router: Router, public service: SystemService, private route: ActivatedRoute) {} @@ -607,12 +601,12 @@ export class NetworkFreightNewComponent implements OnInit { }, title3: { title: '', type: 'string', ui: { widget: 'custom', offsetControl: 6 } }, roadTransportPhoto: { title: '', type: 'string', ui: { hidden: true } }, + tipsY: { title: '', type: 'string', ui: { widget: 'custom', offsetControl: 6 } }, roadTransportPhotoWatermark: { type: 'string', title: '道运证照片', ui: { ...IMAGECONFIG, - descriptionI18n: '请上传道运证照片,支持JPG、PNG格式,文件小于5M。蓝牌绿牌车辆,可不用传道运证', change: args => { if (args.type === 'success') { console.log(args); @@ -623,14 +617,6 @@ export class NetworkFreightNewComponent implements OnInit { } } as SFUploadWidgetSchema }, - // roadImg: { - // title: '', - // type: 'boolean', - // // enum: [{ label: '长期', value: true }], - // ui: { - // widget: 'custom' - // } - // }, roadTransportLicenceNo: { title: '经营许可证号', type: 'string', diff --git a/src/app/routes/sys-setting/components/role-management/edit/edit.component.ts b/src/app/routes/sys-setting/components/role-management/edit/edit.component.ts index 95aba48d..a390161f 100644 --- a/src/app/routes/sys-setting/components/role-management/edit/edit.component.ts +++ b/src/app/routes/sys-setting/components/role-management/edit/edit.component.ts @@ -64,6 +64,7 @@ export class SettingRoleEditComponent implements OnInit { const params = { id: this.params.id }; +console.log(this.params.infoUrl) this.service.request(this.params.infoUrl, params).subscribe(res => { if (res) { this.roleInfoData = res; diff --git a/src/app/routes/sys-setting/components/role-management/menu/menu.component.ts b/src/app/routes/sys-setting/components/role-management/menu/menu.component.ts index f867aee9..34a9ba11 100644 --- a/src/app/routes/sys-setting/components/role-management/menu/menu.component.ts +++ b/src/app/routes/sys-setting/components/role-management/menu/menu.component.ts @@ -57,10 +57,15 @@ export class SettingMenuComponent implements OnInit, OnChanges { }); } addAuthority(origin: { id: any; all: any }, node: { buttonInfoList: any[] }, item?: { checked: any; functionButtonId: any }) { + console.log(origin,node); + if (this.authority?.length && this.authority.filter(authItem => authItem.authorityId === origin.id).length) { // 判断此菜单权限是否已经存在权限列表中 // 当前操作菜单id存在权限列表里 this.authority.forEach(menuItem => { + console.log(menuItem); + console.log(item); + if (menuItem.authorityId === origin.id) { menuItem.buttonAuthorityIds = menuItem.buttonAuthorityIds || []; // 防止属性不存在,给属性指定数据类型 if (item) { @@ -312,6 +317,8 @@ export class SettingMenuComponent implements OnInit, OnChanges { if (res) { origin.buttonInfoList = res; origin.all = false; + console.log(origin); + // 判断此菜单下是否已有此按钮权限 this.againGetBtn(id, origin); } diff --git a/src/app/routes/tax-management/components/individual-collect/individual-collect.component.ts b/src/app/routes/tax-management/components/individual-collect/individual-collect.component.ts index 032f85fe..2503b9fe 100644 --- a/src/app/routes/tax-management/components/individual-collect/individual-collect.component.ts +++ b/src/app/routes/tax-management/components/individual-collect/individual-collect.component.ts @@ -77,23 +77,6 @@ export class TaxManagementIndividualCollectComponent implements OnInit { this.schema = { properties: { _$expand: { type: 'boolean', ui: { hidden: true } }, - declareStatus: { - title: '申报状态', - type: 'string', - enum: [ - { value: '', label: '全部' }, - { value: '0', label: '待申报' }, - { value: '1', label: '待审核' }, - { value: '2', label: '已通过' }, - { value: '3', label: '不通过' } - ], - ui: { - placeholder: '请选择', - widget: 'select', - containsAllLabel: true - }, - default: '' - }, overdueStatus: { title: '是否逾期', type: 'string', diff --git a/src/app/routes/tax-management/components/individual-income/individual-income.component.ts b/src/app/routes/tax-management/components/individual-income/individual-income.component.ts index 15583442..f6bf2ede 100644 --- a/src/app/routes/tax-management/components/individual-income/individual-income.component.ts +++ b/src/app/routes/tax-management/components/individual-income/individual-income.component.ts @@ -96,26 +96,26 @@ export class TaxManagementIndividualIncomeComponent implements OnInit { placeholder: '请输入证件号码' } }, - declareStatus: { - title: '申报状态', - type: 'string', - enum: [ - { value: '', label: '全部' }, - { value: '0', label: '待申报' }, - { value: '1', label: '待审核' }, - { value: '2', label: '已通过' }, - { value: '3', label: '不通过' } - ], - ui: { - placeholder: '请选择', - widget: 'select', - containsAllLabel: true, - visibleIf: { - _$expand: (value: boolean) => value - } - }, - default: '' - }, + // declareStatus: { + // title: '申报状态', + // type: 'string', + // enum: [ + // { value: '', label: '全部' }, + // { value: '0', label: '待申报' }, + // { value: '1', label: '待审核' }, + // { value: '2', label: '已通过' }, + // { value: '3', label: '不通过' } + // ], + // ui: { + // placeholder: '请选择', + // widget: 'select', + // containsAllLabel: true, + // visibleIf: { + // _$expand: (value: boolean) => value + // } + // }, + // default: '' + // }, // declareStatu1s: { // title: '申报结果', // type: 'string', diff --git a/src/app/routes/tax-management/components/invoice-reporting/invoice-reporting.component.html b/src/app/routes/tax-management/components/invoice-reporting/invoice-reporting.component.html index 7bd651ef..3cafec0a 100644 --- a/src/app/routes/tax-management/components/invoice-reporting/invoice-reporting.component.html +++ b/src/app/routes/tax-management/components/invoice-reporting/invoice-reporting.component.html @@ -19,67 +19,32 @@ - - - 待上传 - 已上传 - 上传中 - 上传异常 + 待上传 + 已上传 + 上传中 + 上传异常 - {{item.billCode}} + {{item.invoiceno}} - - - 校验中 - 通过 - - 不通过 - + + {{item.artoname}} - -
{{ item?.driverName }}{{ item?.driverPhone ? "/" + item?.driverPhone : '' }}
+ + {{item.billHCode}} - - -
-
- -
-
-
- -
-
- -
-
-
- -
-
- -
-
-
- -
-
- -
-
+ + 增值税专用发票
{{item?.orderAmount | currency }}
@@ -92,7 +57,7 @@ 已选择 {{ selectedRows.length }} 条数据
- - + +
diff --git a/src/app/routes/tax-management/components/invoice-reporting/invoice-reporting.component.ts b/src/app/routes/tax-management/components/invoice-reporting/invoice-reporting.component.ts index 26de04d6..304974d5 100644 --- a/src/app/routes/tax-management/components/invoice-reporting/invoice-reporting.component.ts +++ b/src/app/routes/tax-management/components/invoice-reporting/invoice-reporting.component.ts @@ -1,16 +1,10 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { STColumn, STComponent, STData } from '@delon/abc/st'; -import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; +import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; import { ShipperBaseService } from '@shared'; import { NzModalService } from 'ng-zorro-antd/modal'; -import { of } from 'rxjs'; -import { map } from 'rxjs/operators'; import { TaxManagementService } from '../../services/tax-management.service'; -import { TaxManagementInvoiceUploadSettingComponent } from './upload-setting/upload-setting.component'; -import { TaxManagementInvoiceVerifyResultComponent } from './verify-result/verify-result.component'; -// import { DatatableReportingUploadSettingComponent } from '../upload-setting/upload-setting.component'; -// import { DatatableReportingVerifyResultComponent } from '../verify-result/verify-result.component'; @Component({ selector: 'app-tax-management-invoice-reporting', @@ -27,13 +21,13 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { tabType!: string; isLoading: boolean = false; tabs: any[] = [ - { name: '待上传', value: '0' }, - { name: '上传中', value: '3' }, - { name: '已上传', value: '1' }, - { name: '异常', value: '2' }, + { name: '待上传', value: '1' }, + { name: '上传中', value: '2' }, + { name: '已上传', value: '3' }, + { name: '异常', value: '4' }, { name: '全部', value: '' } ]; - selectedIndex = '0'; //选择的项目 + selectedIndex = ''; //选择的项目 serviceTel = ''; constructor( public service: TaxManagementService, @@ -56,9 +50,7 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { * 查询参数 */ get reqParams() { - const params = Object.assign({}, this.sf?.value || {}, { - putStatus: this.selectedIndex, - }); + const params = Object.assign({}, this.sf?.value || {}); delete params._$expand; return { ...params }; } @@ -101,25 +93,25 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { this.schema = { properties: { _$expand: { type: 'boolean', ui: { hidden: true } }, - putStatus: { - title: '上传状态', - type: 'string', - default: 0, - enum: [ - { label: '全部', value: 0 }, - { label: '待上传', value: 1 }, - { label: '上传中', value: 2 }, - { label: '已上传', value: 3 }, - { label: '异常', value: 4 } - ], + // uploadSts: { + // title: '上传状态', + // type: 'string', + // default: '1', + // enum: [ + // { label: '全部', value: '' }, + // { label: '待上传', value: '1'}, + // { label: '上传中', value: '2' }, + // { label: '已上传', value: '3' }, + // { label: '异常', value: '4' } + // ], - ui: { - placeholder: '请选择', - widget: 'select', - allowClear: true - } - }, - networkTransporter: { + // ui: { + // placeholder: '请选择', + // widget: 'select', + // allowClear: true + // } + // }, + ltdId: { type: 'string', title: '网络货运人', ui: { @@ -129,7 +121,7 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { asyncData: () => this.shipperservice.getNetworkFreightForwarder() } }, - hrto: { + arto: { type: 'string', title: '购买方', ui: { @@ -139,14 +131,13 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { asyncData: () => this.service.getCRMCustomerId() } }, - billCode: { - title: '订单号', type: 'string', ui: { - placeholder: '请输入', visibleIf: { - _$expand: (value: boolean) => value - } + billHCode: { + title: '订单号', type: 'string', + ui: { + placeholder: '请输入' } }, - recentlyPutTime: { + invoicedate: { title: '开票日期', type: 'string', ui: { @@ -158,7 +149,7 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { }, } as SFDateWidgetSchema, }, - orderPayTime: { + uoloadDate: { title: '上传日期', type: 'string', ui: { @@ -170,7 +161,7 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { }, } as SFDateWidgetSchema, }, - wayBillCode: { + invoiceno: { type: 'string', title: '发票号码', ui: { @@ -180,7 +171,7 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { } }, }, - wayBillCode1: { + invoiceno2: { type: 'string', title: '发票代码', ui: { @@ -217,31 +208,31 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { initST() { this.columns = [ { title: '', type: 'checkbox', className: 'text-center', width: '60px', }, - { title: '上传状态', render: 'putStatus', className: 'text-center', width: '120px', }, - { title: '发票类型', render: 'checkStatus', className: 'text-center', width: '120px', }, + { title: '上传状态', render: 'uploadSts', className: 'text-center', width: '120px', }, + { title: '发票类型', render: 'invoiceType', className: 'text-center', width: '120px', }, { title: '发票号码', - index: 'billCode', + index: 'invoiceno', render: 'invoiceNO', className: 'text-center', width: '150px', }, - { title: '发票代码', index: 'wayBillCode', className: 'text-center', width: '150px', }, + { title: '发票代码', index: 'invoiceno2', className: 'text-center', width: '150px', }, { title: '网络货运人', - index: 'networkTransporterName', + index: 'ltdName', className: 'text-center', width: '180px', }, - { title: '购买方企业名称', index: 'loadingAddress', render: 'loadingPlace', className: 'text-center', width: '200px' }, - { title: '购买方统一社会信用代码', index: 'loadingDetailedAddress', render: 'loadingPlace', className: 'text-center', width: '200px' }, - { title: '订单号', index: 'unloadAddress', render: 'dischargePlace', className: 'text-center', width: '120px' }, - { 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: 'wayBillCreateTime', className: 'text-center', width: '200px' }, - { title: '上传日期', index: 'loadTime', className: 'text-center', width: '200px' }, + { title: '购买方企业名称', index: 'artoname', render: 'artoname', className: 'text-center', width: '200px' }, + { title: '购买方统一社会信用代码', index: 'artotaxno', className: 'text-center', width: '200px' }, + { title: '订单号', index: 'billHCode', render: 'billHCode', className: 'text-center', width: '120px' }, + { title: '货物名称', index: 'goodsinfo', className: 'text-center', width: '180px' }, + { title: '价税合计', index: 'vatmoney', className: 'text-center', width: '180px' }, + { title: '开票日期', index: 'invoicedate', className: 'text-center', width: '180px' }, + { title: '发票所属月份', index: 'invoicemonth', className: 'text-center', width: '250px' }, + { title: '发票状态', index: 'sts', className: 'text-center', width: '200px' }, + { title: '上传日期', index: 'uoloadDate', className: 'text-center', width: '200px' }, ]; } @@ -349,24 +340,6 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { }); } - // appeal(item: any) { - // const modalRef = this.modal.create({ - // nzTitle: '申诉', - // nzWidth: '40%', - // nzContent: CtcAppealComponent, - // nzComponentParams: { - // i: item, - // status: 'add' - // }, - // nzFooter: null - // }); - // modalRef.afterClose.subscribe(res => { - // if (res) { - // this.search({ representationsStatus: '' }); - // } - // }) - // } - /** * 上传 */ @@ -388,45 +361,6 @@ export class TaxManagementInvoiceReportingComponent implements OnInit { } - /** - * - * @param params 上传设置 - */ - uploadSetting() { - const modalRef = this.modal.create({ - nzTitle: '税务上传设置', - nzWidth: 600, - nzContent: TaxManagementInvoiceUploadSettingComponent, - nzComponentParams: {}, - nzFooter: null - }); - modalRef.afterClose.subscribe(res => { - if (res) { - this.st.load(); - } - }) - } - - /** - * 查看校验结果 - */ - viewResult(item: any) { - const modalRef = this.modal.create({ - nzTitle: '本地校验结果', - nzWidth: 1200, - nzContent: TaxManagementInvoiceVerifyResultComponent, - nzComponentParams: { - record: item - }, - nzFooter: null - }); - modalRef.afterClose.subscribe(res => { - if (res) { - this.st.load(); - } - }) - } - /** * 查看监管审核结果 */ diff --git a/src/app/routes/tax-management/components/invoice-reporting/upload-setting/upload-setting.component.html b/src/app/routes/tax-management/components/invoice-reporting/upload-setting/upload-setting.component.html deleted file mode 100644 index a4f5ae6e..00000000 --- a/src/app/routes/tax-management/components/invoice-reporting/upload-setting/upload-setting.component.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/src/app/routes/tax-management/components/invoice-reporting/upload-setting/upload-setting.component.ts b/src/app/routes/tax-management/components/invoice-reporting/upload-setting/upload-setting.component.ts deleted file mode 100644 index c64f9110..00000000 --- a/src/app/routes/tax-management/components/invoice-reporting/upload-setting/upload-setting.component.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { SFSchema, SFUISchema } from '@delon/form'; -import { NzModalRef } from 'ng-zorro-antd/modal'; -import { TaxManagementService } from '../../../services/tax-management.service'; - - -@Component({ - selector: 'app-datatable-invoice-upload-setting', - templateUrl: './upload-setting.component.html', -}) -export class TaxManagementInvoiceUploadSettingComponent implements OnInit { - record: any = {}; - i: any = {}; - schema!: SFSchema; - ui!: SFUISchema; - - constructor( - private modal: NzModalRef, - public service: TaxManagementService - ) { } - - ngOnInit(): void { - this.initSF(); - // this.loadData(); - } - - /** - * 初始化查询表单 - */ - initSF() { - this.schema = { - properties: { - no: { - type: 'string', - title: '订单数据', - enum: [ - { - label: '手动上传', - value: '1' - }, - { - label: '自动上传', - value: '2' - } - ], - description: '开启自动上传后,订单将在支付完成且风险单校验通过后自动上传', - ui: { - widget: 'radio', - - } - }, - owner: { - type: 'string', - title: '资金数据', - enum: [ - { - label: '手动上传', - value: '1' - }, - { - label: '自动上传', - value: '2' - } - ], - description: '开启自动上传后,订单将在支付完成且风险单校验通过后自动上传', - ui: { - widget: 'radio', - - } - }, - }, - required: ['owner', 'no'], - } - this.ui = { - '*': { - spanLabelFixed: 100, - grid: { span: 24 }, - }, - }; - } - - /** - * 获取设置数据 - */ - loadData() { - this.service.request(this.service.$api_get_upload_setting, {}).subscribe(res => { - if (res) { - this.i = res; - - } - }) - } - - /** - * 修改 - * @param value - */ - save(value: any): void { - this.service.request(this.service.$api_upload_setting_save, { ...value }).subscribe(res => { - if (res) { - this.service.msgSrv.success('保存成功'); - this.modal.close(true); - } - }) - } - - close(): void { - this.modal.destroy(); - } -} diff --git a/src/app/routes/tax-management/components/invoice-reporting/verify-result/verify-result.component.html b/src/app/routes/tax-management/components/invoice-reporting/verify-result/verify-result.component.html deleted file mode 100644 index f84ade19..00000000 --- a/src/app/routes/tax-management/components/invoice-reporting/verify-result/verify-result.component.html +++ /dev/null @@ -1,30 +0,0 @@ -
-
- - - -
-
- - -
-
{{ item.expenseName }}:{{ item.price | currency }}
-
-
-
-
-
- diff --git a/src/app/routes/tax-management/components/invoice-reporting/verify-result/verify-result.component.ts b/src/app/routes/tax-management/components/invoice-reporting/verify-result/verify-result.component.ts deleted file mode 100644 index 1442ddba..00000000 --- a/src/app/routes/tax-management/components/invoice-reporting/verify-result/verify-result.component.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; -import { Router } from '@angular/router'; -import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st'; -import { SFSchema } from '@delon/form'; -import { ModalHelper, _HttpClient } from '@delon/theme'; -import { NzModalRef } from 'ng-zorro-antd/modal'; -import { TaxManagementService } from '../../../services/tax-management.service'; - -@Component({ - selector: 'app-tax-management-Invoice-reporting-verify-result', - templateUrl: './verify-result.component.html', -}) -export class TaxManagementInvoiceVerifyResultComponent implements OnInit { - searchSchema: SFSchema = { - properties: { - no: { - type: 'string', - title: '编号' - } - } - }; - @ViewChild('st') private readonly st!: STComponent; - columns: STColumn[] = []; - record: any = {} - subjectType: string = '0'; - tabs: any[] = [ - { name: '平台信息', value: '0' }, - { name: '货主信息', value: '1' }, - { name: '司机信息', value: '2' }, - { name: '订单信息', value: '3' }, - ]; - - // get reqParams() { - // console.log(this.subjectType); - // const params ={ - // subjectId: this.record?.shipperId, - // subjectType: this.subjectType, - // } - // return params; - // } - beforeReq = (requestOptions: STRequestOptions) => {let a: string = ''; - switch (this.subjectType) { - case '0': - a = this.record?.networkTransporterId; - break - case '1': - a = this.record?.shipperId; - break - case '2': - a = this.record?.driverId; - break - case '3': - a = this.record?.wayBillId; - break - } - Object.assign(requestOptions.body, { - subjectId: a , - subjectType: this.subjectType, - }); - return requestOptions; - }; - afterRes = (data: any[], rawData?: any) => { - console.log(data) - return data.map(item => ({ - ...item, - })); - }; - constructor(public service: TaxManagementService, private modalRef: NzModalRef, public router: Router) { - } - - ngOnInit(): void { - console.log(this.record); - - this.initST(); - } - - /** - * 初始化数据列表 - */ - initST() { - this.columns = [ - { title: '序号', type: 'no', className: 'text-center', width: '60px', }, - { title: '校验字段', index: 'checkFieldName', className: 'text-center', width: '120px', }, - { - title: '是否必填', - index: 'requiredStatus', - className: 'text-center', - width: '100px', - type: 'enum', - enum: { - 0: '否', - 1: '是' - } - }, - { title: '上传值', index: 'fieldValue', className: 'text-center', width: '150px', }, - { - title: '本地校验', index: 'checkStatus', className: 'text-center', width: '100px', - type: 'enum', - enum: { - 0: '校验中', - 1: '通过', - 2: '不通过' - } - }, - { title: '错误内容', index: 'remark', className: 'text-center', width: '150px', }, - ] - } - - - add(): void { - // this.modal - // .createStatic(FormEditComponent, { i: { id: 0 } }) - // .subscribe(() => this.st.reload()); - } - - selectTab(e: any) { - setTimeout(() => { - console.log(e?.value); - - this.subjectType = e?.value; - console.log(this.subjectType); - this.st.load(1); - }) - } - - update() { - if (this.record?.billType === '1') { - window.open(location.origin + `/#/order-management/vehicle-detailChange/${this.record?.id}`) - - } else if (this.record.billType === '2') { - window.open(location.origin + `/#/order-management/bulk-detailChange/${this.record?.id}`); - } - } - close(): void { - this.modalRef.destroy(); - } - - -} diff --git a/src/app/routes/tax-management/services/tax-management.service.ts b/src/app/routes/tax-management/services/tax-management.service.ts index 5cfd0639..51f7cc45 100644 --- a/src/app/routes/tax-management/services/tax-management.service.ts +++ b/src/app/routes/tax-management/services/tax-management.service.ts @@ -56,6 +56,7 @@ export class TaxManagementService extends ShipperBaseService { $api_async_export_order_reporting_list = ``; // 导出订单上报 $api_get_upload_setting = ``; // 修改上传设置 $api_upload_setting_save = ``; // 修改上传设置 + $api_getInvoiceReport_page = '/api/sdc/invoiceUploadInfo/list/page'; constructor(public injector: Injector) { super(injector); } diff --git a/src/app/routes/tax-management/taxmanagement.module.ts b/src/app/routes/tax-management/taxmanagement.module.ts index 0c6eb02b..342b7ae6 100644 --- a/src/app/routes/tax-management/taxmanagement.module.ts +++ b/src/app/routes/tax-management/taxmanagement.module.ts @@ -14,8 +14,6 @@ import { TaxManagementIndividualCollectComponent } from './components/individual import { TaxManagementIndividualDeclareComponent } from './components/individual-declare/individual-declare.component'; import { TaxManagementIndividualIncomeComponent } from './components/individual-income/individual-income.component'; import { TaxManagementInvoiceReportingComponent } from './components/invoice-reporting/invoice-reporting.component'; -import { TaxManagementInvoiceUploadSettingComponent } from './components/invoice-reporting/upload-setting/upload-setting.component'; -import { TaxManagementInvoiceVerifyResultComponent } from './components/invoice-reporting/verify-result/verify-result.component'; import { TaxManagementOrderReportingComponent } from './components/order-reporting/order-reporting.component'; import { TaxManagementUploadSettingComponent } from './components/order-reporting/upload-setting/upload-setting.component'; import { TaxManagementOrderVerifyResultComponent } from './components/order-reporting/verify-result/verify-result.component'; @@ -29,9 +27,7 @@ const COMPONENTS: Type[] = [ TaxManagementIndividualIncomeComponent, TaxManagementIndividualCollectComponent, TaxManagementIndividualDeclareComponent, - TaxManagementInvoiceReportingComponent, - TaxManagementInvoiceUploadSettingComponent, - TaxManagementInvoiceVerifyResultComponent + TaxManagementInvoiceReportingComponent ] 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 f38bbe2b..3c2a61c2 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 @@ -404,7 +404,7 @@ export class CancellationInvoiceComponent implements OnInit { }, { text: '手工开票
', - iif: item => item.sts != '3', + iif: item => item.sts != '3' && item.sts != '4' , click: item => this.requestedAction(item) } // { diff --git a/src/app/routes/ticket-management/components/invoice-detail/invoice-detail.component.html b/src/app/routes/ticket-management/components/invoice-detail/invoice-detail.component.html index 160bf708..30583c58 100644 --- a/src/app/routes/ticket-management/components/invoice-detail/invoice-detail.component.html +++ b/src/app/routes/ticket-management/components/invoice-detail/invoice-detail.component.html @@ -108,7 +108,7 @@ {{ item.billLTypeLabel }}: {{ item.vatmoney |currency }} - vatmoney + @@ -24,10 +24,10 @@ -
diff --git a/src/app/routes/usercenter/components/freight/freight-config/freight-config.component.ts b/src/app/routes/usercenter/components/freight/freight-config/freight-config.component.ts index 1f605413..7cf9162b 100644 --- a/src/app/routes/usercenter/components/freight/freight-config/freight-config.component.ts +++ b/src/app/routes/usercenter/components/freight/freight-config/freight-config.component.ts @@ -228,25 +228,6 @@ export class FreightConfigComponent implements OnInit { asyncData: () => this.shipperservice.getNetworkFreightForwarder() } }, - goodsSurchargeRatio: { - title: '货源单费率', - type: 'string', - ui: { - placeholder: '请输入', - showRequired: false - } - }, - contractSurchargeRatio: { - title: '合同单费率', - type: 'string', - ui: { - placeholder: '请输入', - showRequired: false, - visibleIf: { - _$expand: (value: boolean) => value - } - } - }, createTime: { title: '注册时间', type: 'string', @@ -255,9 +236,6 @@ export class FreightConfigComponent implements OnInit { format: 'yyyy-MM-dd', placeholder: '请选择', nzShowTime: true, - visibleIf: { - _$expand: (value: boolean) => value - } } as SFDateWidgetSchema } } diff --git a/src/app/routes/usercenter/components/freight/list/detail/detail.component.html b/src/app/routes/usercenter/components/freight/list/detail/detail.component.html index 056ca944..cfd71b20 100644 --- a/src/app/routes/usercenter/components/freight/list/detail/detail.component.html +++ b/src/app/routes/usercenter/components/freight/list/detail/detail.component.html @@ -153,7 +153,7 @@ - + diff --git a/src/app/routes/usercenter/components/freight/user/user.component.ts b/src/app/routes/usercenter/components/freight/user/user.component.ts index 73b44001..8aee6208 100644 --- a/src/app/routes/usercenter/components/freight/user/user.component.ts +++ b/src/app/routes/usercenter/components/freight/user/user.component.ts @@ -197,6 +197,8 @@ export class FreightComponentsUserComponent implements OnInit { private initST(): STColumn[] { return [ + { title: '企业名称', className: 'text-center', index: 'enterpriseName' }, + { title: '项目名称', className: 'text-center', index: 'projectName' }, { title: '用户姓名', className: 'text-center', index: 'name' }, { title: '手机号', className: 'text-center', index: 'telephone' }, { title: '身份证件号', className: 'text-center', index: 'certificateNumber' }, diff --git a/src/app/routes/usercenter/services/usercenter.service.ts b/src/app/routes/usercenter/services/usercenter.service.ts index db00ea06..9b9c5d9f 100644 --- a/src/app/routes/usercenter/services/usercenter.service.ts +++ b/src/app/routes/usercenter/services/usercenter.service.ts @@ -48,7 +48,7 @@ export class UsermanageService extends ShipperBaseService { $api_update_enter_newowork_batch = '/api/mdc/cuc/enterpriseInfo/operate/updatnNetworkTransporter'; // 货主员工列表(运营后台) - $api_get_user_list = '/api/mdc/cuc/userApp/getShipperUserList'; + $api_get_user_list = '/api/mdc/cuc/userApp/getShipperUserInfoList'; // 冻结或恢复员工 $api_lock_staff = '/api/mdc/cuc/userApp/freezeOrResumeStaff'; // 冻结或恢复应用用户 diff --git a/src/app/routes/vehicle/components/audit/audit.component.html b/src/app/routes/vehicle/components/audit/audit.component.html index 2b2bfb44..34452531 100644 --- a/src/app/routes/vehicle/components/audit/audit.component.html +++ b/src/app/routes/vehicle/components/audit/audit.component.html @@ -1,7 +1,7 @@ + this.updateEvaluate(_record), - iif: item => item.auditStatusEnum == -1 } ] } diff --git a/src/app/routes/waybill-management/components/vehicle/vehicle.component.html b/src/app/routes/waybill-management/components/vehicle/vehicle.component.html index 709cbfcd..9561f324 100644 --- a/src/app/routes/waybill-management/components/vehicle/vehicle.component.html +++ b/src/app/routes/waybill-management/components/vehicle/vehicle.component.html @@ -1,7 +1,7 @@ + +
+ + + +
上传
+
+
+ +
+
+

支持 + + {{item}}, + + 格式,文件小于{{item.remark?.size || 2}}M(建议尺寸 + {{item.remark?.width || 750}}px * {{item.remark?.height|| 1622}}px)。 + 查看示例 +

+
+
+ + + + diff --git a/src/app/shared/components/dynamic-setting/dynamic-setting-h5/dynamic-setting-h5.component.ts b/src/app/shared/components/dynamic-setting/dynamic-setting-h5/dynamic-setting-h5.component.ts index 14ba8893..544ca3bc 100644 --- a/src/app/shared/components/dynamic-setting/dynamic-setting-h5/dynamic-setting-h5.component.ts +++ b/src/app/shared/components/dynamic-setting/dynamic-setting-h5/dynamic-setting-h5.component.ts @@ -10,6 +10,9 @@ */ import { Component, OnInit, EventEmitter, Input, Output } from '@angular/core'; import { BaseService } from '@shared'; +import { NzImageService } from 'ng-zorro-antd/image'; +import { NzUploadFile } from 'ng-zorro-antd/upload'; +import { of } from 'rxjs'; const JSONTYPE = new Set([5, 6, 9, 999]); @Component({ @@ -37,7 +40,7 @@ export class DynamicSettingH5Component implements OnInit { @Input() itemValue = 'itemValue'; listUrls: any; - constructor(public service: BaseService) {} + constructor(public service: BaseService, private nzImageService: NzImageService) {} ngOnInit() {} @@ -84,5 +87,17 @@ export class DynamicSettingH5Component implements OnInit { }); this.saveEvent.emit(params); } + + uploadChange(info: { file: NzUploadFile; type?: string }, item: any): void { + switch (info.type) { + case 'success': + item.itemValue = info.file.response.data.fullFilePath; + break; + } + } + + showImg(url: any) { + this.nzImageService.preview([{ src: url }]); + } } // [0]?.response?.data.fullFilePath diff --git a/src/app/shared/services/business/shipper-base.service.ts b/src/app/shared/services/business/shipper-base.service.ts index 8713292a..3a614d5b 100644 --- a/src/app/shared/services/business/shipper-base.service.ts +++ b/src/app/shared/services/business/shipper-base.service.ts @@ -343,14 +343,14 @@ export class ShipperBaseService extends BaseService { * @returns */ getChannel(params = {}, containerAll = false) { - return this.request(this.$api_get_channel, params, 'POST').pipe( + return this.request(this.$api_get_channel, params).pipe( map(res => { if (res) { const obj = []; if (containerAll) { obj.push({ label: '全部', value: '' }); } - return [...obj, ...res.map((m: any) => ({ label: `${m.employeeVO?.empName}/${m.employeeVO?.mobile}`, value: m.id }))]; + return [...obj, ...res.map((m: any) => ({ label: `${m.name}/${m.telephone}`, value: m.id }))]; } else { return []; }