diff --git a/proxy.conf.js b/proxy.conf.js index eb92fbd4..8fd91df6 100644 --- a/proxy.conf.js +++ b/proxy.conf.js @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-01-18 09:51:21 * @LastEditors : Shiming - * @LastEditTime : 2022-04-20 14:18:40 + * @LastEditTime : 2022-04-22 14:01:00 * @FilePath : \\tms-obc-web\\proxy.conf.js * Copyright (C) 2022 huzhenhong. All rights reserved. */ diff --git a/src/app/routes/datatable/components/dataindex/dataindex.component.html b/src/app/routes/datatable/components/dataindex/dataindex.component.html index cdeed077..1ad2da63 100644 --- a/src/app/routes/datatable/components/dataindex/dataindex.component.html +++ b/src/app/routes/datatable/components/dataindex/dataindex.component.html @@ -2,8 +2,14 @@
- + +

+ 客户预存款总额 + 完成率 32.12% +

+
@@ -12,8 +18,14 @@
- + + +

+ 业绩量总额 + 完成率 32.12% +

+
@@ -22,20 +34,30 @@
- - - + +

+ 司机应付总额 +

+
+ +
- + +

+ 附加费总额 +

+
- @@ -43,13 +65,13 @@
-
- +
+
-
- +
+ @@ -57,16 +79,17 @@
-
- +
+
-
- +
+ + diff --git a/src/app/routes/datatable/components/dataindex/dataindex.component.less b/src/app/routes/datatable/components/dataindex/dataindex.component.less index e69de29b..2292b177 100644 --- a/src/app/routes/datatable/components/dataindex/dataindex.component.less +++ b/src/app/routes/datatable/components/dataindex/dataindex.component.less @@ -0,0 +1,49 @@ +.chart_title { + font-size : 16px; + font-weight : 500; + color : #1D2129; + line-height : 24px; + background-clip : text; + -webkit-background-clip: text; + position : absolute; +} + + +.mini_area_title { + display : flex; + justify-content: space-between; + + .title { + font-size : 16px; + font-weight: 500; + color : #1D2129; + } + + .subtitle { + font-size : 14px; + font-weight: 400; + color : #575D6C; + text-align : right; + + .percent { + color: #E60012 + } + } +} + +:host::ng-deep { + .g2-card__meta-wrap { + width: 100%; + + .g2-card__total { + font-size : 28px; + font-weight: 500; + color : #1D2129; + margin-top : 8px; + } + } + + .g2-card__footer { + border: 0px; + } +} \ No newline at end of file diff --git a/src/app/routes/datatable/components/dataindex/dataindex.component.ts b/src/app/routes/datatable/components/dataindex/dataindex.component.ts index 168dc88f..5a16a165 100644 --- a/src/app/routes/datatable/components/dataindex/dataindex.component.ts +++ b/src/app/routes/datatable/components/dataindex/dataindex.component.ts @@ -82,8 +82,14 @@ export class DatatableDataindexComponent implements OnInit { // 大区业绩完成情况 this.service.request(this.service.$api_getBillAmount).subscribe((res: DataPerformanceTrendVO[]) => { if (res) { - this.regionalPerformanceCompletion = res.map(item => ({ ...item, time: new Date(item.time)?.getTime() })); - this.initRegionalPerformanceChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion); + // this.regionalPerformanceCompletion = res.map(item => ({ ...item, time: new Date(item.time)?.getTime() })); + // this.initRegionalPerformanceChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion); + this.regionalPerformanceCompletion = this.formatBarData(res); + this.initBiaxialChart(this.RegionalPerforman['el'].nativeElement as any, this.regionalPerformanceCompletion, { + y1Title: '业绩量(万)', + y2Title: '业绩完成率', + y3Title: '同期业绩完成率' + }); } }); // 订单类型比例 @@ -97,7 +103,11 @@ 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); + this.initBiaxialChart(this.SaleProportion['el'].nativeElement as any, this.salesData, { + y1Title: '业绩量(万)', + y2Title: '业绩完成率', + y3Title: '同期业绩完成率' + }); } }); } @@ -116,13 +126,13 @@ export class DatatableDataindexComponent implements OnInit { const chart = new Chart({ container: el, autoFit: true, - height: 400 + height: 380 }); // 新建一个 view 用来单独渲染Annotation const innerView = chart.createView(); chart.coordinate('theta', { - radius: 0.6, - innerRadius: 0.7 + radius: 0.65, + innerRadius: 0.6 }); chart.data(data); @@ -138,17 +148,17 @@ export class DatatableDataindexComponent implements OnInit { // 声明需要进行自定义图例字段: 'item' chart.legend('item', { - position: 'right', // 配置图例显示位置 + position: 'bottom', // 配置图例显示位置 custom: true, // 关键字段,告诉 G2,要使用自定义的图例 items: data.map((obj: any, index: any) => { return { name: obj.item, // 对应 itemName value: obj.percent, // 对应 itemValue marker: { - symbol: 'square', // marker 的形状 + symbol: 'circle', // marker 的形状 style: { r: 5, // marker 图形半径 - fill: chart.getTheme().colors10[index] // marker 颜色,使用默认颜色,同图形对应 + fill: index === 0 ? '#E60012' : '#F09896' // marker 颜色,使用默认颜色,同图形对应 } } // marker 配置 }; @@ -165,7 +175,7 @@ export class DatatableDataindexComponent implements OnInit { .interval() .adjust('stack') .position('percent') - .color('item') + .color('item', ['#E60012', '#F09896']) .style({ fillOpacity: 1, stroke: 'white', @@ -182,6 +192,14 @@ export class DatatableDataindexComponent implements OnInit { }; } } + }) + .label('percent', percent => { + return { + content: data => { + return ` ${percent * 100}%`; + }, + style: { fontSize: 14 } + }; }); innerView @@ -190,21 +208,21 @@ export class DatatableDataindexComponent implements OnInit { position: ['50%', '50%'], content: data[0].item, style: { - fontSize: 20, + fontSize: 14, fill: '#8c8c8c', textAlign: 'center' }, - offsetY: -20 + offsetY: -10 }) .text({ position: ['50%', '50%'], content: data[0].count, style: { - fontSize: 28, - fill: '#8c8c8c', + fontSize: 16, + fill: '##000', textAlign: 'center' }, - offsetY: 20 + offsetY: 10 }); innerView.render(true); @@ -242,21 +260,21 @@ export class DatatableDataindexComponent implements OnInit { position: ['50%', '50%'], content: data.item, style: { - fontSize: 20, + fontSize: 14, fill: '#8c8c8c', textAlign: 'center' }, - offsetY: -20 + offsetY: -10 }) .text({ position: ['50%', '50%'], content: data.count, style: { - fontSize: 28, - fill: '#8c8c8c', + fontSize: 16, + fill: '##000', textAlign: 'center' }, - offsetY: 20 + offsetY: 10 }); innerView.render(true); lastItem = data.item; @@ -271,6 +289,50 @@ export class DatatableDataindexComponent implements OnInit { } } + /** + * 构建面积图 + * @param el + */ + private initAreaMap(el: HTMLElement, datas: any[]): void { + const chart = new Chart({ + container: el, + autoFit: true, + height: 500 + }); + chart.data(datas); + chart.scale('Data', { + range: [0, 1], + tickCount: 10, + type: 'timeCat' + }); + chart.scale('sales', { + nice: true + }); + chart.axis('Data', false); + chart.axis('sales', false); + chart.tooltip({ + showCrosshairs: true + }); + + // chart.annotation().dataMarker({ + // position: ['2014-01', 1750], + // top: true, + // text: { + // content: '因政策调整导致销量下滑', + // style: { + // fontSize: 13 + // } + // }, + // line: { + // length: 30 + // } + // }); + + chart.line().position('Data*sales'); + chart.area().position('Data*sales'); + chart.render(); + } + /** * 构建大区业绩完成情况柱折双轴图 * @param el @@ -308,6 +370,7 @@ export class DatatableDataindexComponent implements OnInit { // 声明需要进行自定义图例字段: 'item' chart.legend({ + title: { text: '1111', spacing: 11 }, offsetY: 10, position: 'bottom', // 配置图例显示位置 custom: true, // 关键字段,告诉 G2,要使用自定义的图例 @@ -333,54 +396,60 @@ export class DatatableDataindexComponent implements OnInit { * @param el * @param data */ - private initBiaxialChart(el: HTMLElement, data: any[]) { + private initBiaxialChart( + el: HTMLElement, + data: any[], + { y1Title, y2Title, y3Title }: { y1Title: string; y2Title: string; y3Title: string } + ) { const chart = new Chart({ container: el, autoFit: true, - height: 400 + height: 380 }); 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 } + y1: { alias: y1Title, min: 0, max: 1000000 }, + y2: { alias: y2Title, min: 0, max: 1, formatter: val => (val * 100).toFixed(0) + '%' }, + y3: { alias: y3Title, min: 0, max: 1, formatter: val => (val * 100).toFixed(0) + '%' } }); // 设置 chart.legend({ custom: true, + position: 'top-right', + padding: [10, 0, 40, 0], 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 } } } + { value: 'y1', name: y1Title, marker: { symbol: 'circle', style: { fill: '#E60012', r: 5, fontSize: 13 } } }, + { value: 'y3', name: y3Title, marker: { symbol: 'circle', style: { fill: '#6CBFFF', r: 5, fontSize: 13 } } }, + { value: 'y2', name: y2Title, marker: { symbol: 'circle', style: { fill: '#50D4AB', r: 5, fontSize: 13 } } } ] }); - chart.axis('pre', { + chart.axis('y2', { grid: null, title: null, label: { - formatter: val => +val * 100 + '%' + formatter: val => val } }); - chart.axis('pre2', false); + chart.axis('y3', false); chart.tooltip({ shared: true }); - chart.interval().position('time*quantity').label('quantity').color('#3182bd'); + chart.interval().position('x*y1').color('#E60012'); chart .line() - .position('time*pre') - .label('pre', val => ({ content: (val * 100).toFixed(0) + '%' })) - .color('#ff4d4f') + .position('x*y2') + // .label('pre', val => ({ content: (val * 100).toFixed(0) + '%' })) + .color('#6CBFFF') .size(3); - chart.point().position('time*pre').color('#ff4d4f').size(3).shape('circle'); + chart.point().position('x*y2').color('#6CBFFF').size(3).shape('circle'); chart .line() - .position('time*pre2') - .label('pre2', val => ({ content: (val * 100).toFixed(0) + '%' })) - .color('#fdae6b') + .position('x*y3') + // .label('pre2', val => ({ content: (val * 100).toFixed(0) + '%' })) + .color('#50D4AB') .size(3); - chart.point().position('time*pre2').color('#fdae6b').size(3).shape('circle'); + chart.point().position('x*y3').color('#50D4AB').size(3).shape('circle'); chart.interaction('active-region'); chart.removeInteraction('legend-filter'); // 自定义图例,移除默认的分类图例筛选交互 @@ -417,11 +486,10 @@ export class DatatableDataindexComponent implements OnInit { private formatBarData(data: DataPerformanceTrendVO[]): any[] { return data.map(item => ({ - time: item.time, - quantity: item.quantity, - color: undefined, - pre: Math.floor(Math.random() * 100) / 100, - pre2: Math.floor(Math.random() * 100) / 100 + x: item.time, + y1: item.quantity, + y2: Math.floor(Math.random() * 100) / 100, + y3: Math.floor(Math.random() * 100) / 100 })); } diff --git a/src/app/routes/financial-management/components/bank-card-management/bind/bind.component.ts b/src/app/routes/financial-management/components/bank-card-management/bind/bind.component.ts index 512d5dc1..cea027a7 100644 --- a/src/app/routes/financial-management/components/bank-card-management/bind/bind.component.ts +++ b/src/app/routes/financial-management/components/bank-card-management/bind/bind.component.ts @@ -57,7 +57,7 @@ export class CwcBankCardManagementBindComponent implements OnInit { bankCardNumber: { type: 'string', title: '银行卡号', - maxLength: 21, + maxLength: 30, ui: { showRequired: true, placeholder: '请输入银行卡号', diff --git a/src/app/routes/order-management/components/bulk/bulk.component.html b/src/app/routes/order-management/components/bulk/bulk.component.html index bced8f7d..1ea7f649 100644 --- a/src/app/routes/order-management/components/bulk/bulk.component.html +++ b/src/app/routes/order-management/components/bulk/bulk.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-01-12 10:52:50 * @LastEditors : Shiming - * @LastEditTime : 2022-04-14 10:53:35 + * @LastEditTime : 2022-04-22 16:51:29 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk\\bulk.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -82,7 +82,7 @@
{{ item.settlementWeight ? item.settlementWeight + '吨/ ': ''}} {{ item.settlementVolume ? item.settlementVolume + '方 ': ''}}
-
{{ item?.payeeName }}{{ item?.payeePhone ? "/" + item?.payeePhone : '' }}
+
{{ item?.payeeName }}{{ item?.payeePhone ? "/" + item?.payeePhone : '' }}
{{ item?.createUserName }}{{ item?.createUserPhone ? "/" + item?.createUserPhone : '' }}
diff --git a/src/app/routes/order-management/components/bulk/bulk.component.ts b/src/app/routes/order-management/components/bulk/bulk.component.ts index 15ba339a..688a6796 100644 --- a/src/app/routes/order-management/components/bulk/bulk.component.ts +++ b/src/app/routes/order-management/components/bulk/bulk.component.ts @@ -509,8 +509,7 @@ export class OrderManagementBulkComponent implements OnInit { title: '车队长', className: 'text-left', width: '180px', - index: 'payeeName', - render: 'payeeName' + render: 'payeeName', }, { title: '装卸货时间', 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 c3ddd93f..d8c217a8 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 @@ -547,8 +547,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { nzContent: `确认后单据不可修改,请谨慎操作。`, nzOnOk: () => { - this.service.downloadFile(this.service.$api_createBillTakeGoods,params) - this.service.downloadFile(this.service.$api_createBillDischargeGoods,params) + this.service.downloadFile(this.service.$api_createBillEsignGoods,params) this.service.msgSrv.success('生成成功!'); this.st?.reload() // this.getGoodsSourceStatistical(); 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 77591f60..1da90e5c 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-21 17:03:50 + * @LastEditTime : 2022-04-22 16:27:43 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> diff --git a/src/app/routes/order-management/components/vehicle/vehicle.component.html b/src/app/routes/order-management/components/vehicle/vehicle.component.html index 35c07449..4780db3c 100644 --- a/src/app/routes/order-management/components/vehicle/vehicle.component.html +++ b/src/app/routes/order-management/components/vehicle/vehicle.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-01-12 10:52:50 * @LastEditors : Shiming - * @LastEditTime : 2022-04-08 11:32:46 + * @LastEditTime : 2022-04-22 16:53:07 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle\\vehicle.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -95,7 +95,7 @@
{{ item?.driverName }}{{ item?.driverPhone ? '/' + item?.driverPhone : '' }}{{ item?.carNo ? '/' + item?.carNo : '' }}

-
{{ item?.payeeName ? item?.payeeName + '/' : ''}}{{ item?.payeePhone }}
+
车队长: {{ item?.payeeName ? item?.payeeName + '/' : ''}}{{ item?.payeePhone }}
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 9133fdfa..99fd484e 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,27 +4,33 @@ * @Author : Shiming * @Date : 2021-12-15 13:17:42 * @LastEditors : Shiming - * @LastEditTime : 2022-04-21 14:41:44 + * @LastEditTime : 2022-04-22 15:27:20 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\audit\\voucher-view\\voucher-view.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. -->
- - -
-
电子装货单 + + +
+
电子装货单 + +
+
+
+ +
电子卸货单 + +
+
+
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 3bc73604..cb1704bb 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 @@ -509,11 +509,50 @@ export class orderManagementVoucherViewComponent implements OnInit { }); } 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.modal.destroy(true); + // const params = [this.i?.id]; + // this.service.downloadFile(this.service.$api_createBillTakeGoods, params); + // this.service.downloadFile(this.service.$api_createBillDischargeGoods, params); + // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 + let time = 10; + setInterval(function () { + time -= 1; + }, 1000); + const modal = this.modalService.success({ + nzTitle: '电子装货单和电子卸货单签署中!', + nzContent: ` + 请等待${time}秒后自动关闭 + ` + }); + this.service.request(this.service.$api_createBillEsignGoods, [this.datas?.id]).subscribe(res => { + if (res) { + switch (res[0]?.esignFlowStatus) { + case 1: + case '1': + setTimeout(() => { + this.service.request(this.service.$api_getBillGoodsEsignFile, [this.datas?.id]).subscribe(res => { + if (res[0]?.esignFlowStatus == '2') { + this.service.msgSrv.success('生成电子单据成功!'); + this.modal.destroy(true); + } + }); + modal.destroy(); + }, 9000); + + return; + case 2: + modal.destroy(); + return; + default: + this.service.msgSrv.error('电子卸货单签署异常!'); + modal.destroy(); + return; + } + } else { + this.service.msgSrv.error('电子卸货单签署异常!'); + modal.destroy(); + } + }); + } // 确认到车界面信息(两个只能看的图片) initData() { @@ -575,99 +614,19 @@ export class orderManagementVoucherViewComponent implements OnInit { } openlaod(value: any) { if (value === 1) { - // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 - let time = 10; - setInterval(function () { - time -= 1; - }, 1000); - const modal = this.modalService.success({ - nzTitle: '电子装货单签署中!', - nzContent: ` - 请等待${time}秒后自动关闭 - ` + this.service.request(this.service.$api_getBillTakeGoods, {id:this.datas?.id}).subscribe(res => { + if (res) { + console.log(res); + window.open(res?.contractFilePath) + } }); - 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 { - // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 - let time = 10; - setInterval(function () { - time -= 1; - }, 1000); //反复执行函数本身 - const modal = this.modalService.success({ - nzTitle: '电子卸货单签署中!', - nzContent: ` - 请等待${time}秒后自动关闭 - ` + this.service.request(this.service.$api_getBillDischargeGoods, {id:this.datas?.id}).subscribe(res => { + if (res) { + console.log(res); + window.open(res?.contractFilePath) + } }); - 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/modify-captain/modify-captain.component.ts b/src/app/routes/order-management/modal/vehicle/modify-captain/modify-captain.component.ts index 845db74c..7e3ab9d6 100644 --- a/src/app/routes/order-management/modal/vehicle/modify-captain/modify-captain.component.ts +++ b/src/app/routes/order-management/modal/vehicle/modify-captain/modify-captain.component.ts @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2021-12-30 14:45:39 * @LastEditors : Shiming - * @LastEditTime : 2022-03-24 10:28:48 + * @LastEditTime : 2022-04-22 16:31:57 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-captain\\modify-captain.component.ts * Copyright (C) 2022 huzhenhong. All rights reserved. */ @@ -44,7 +44,8 @@ export class VehicleModifyCaptainComponent implements OnInit { mobile: { type: 'string', title: '车队长手机号', - maxLength: 11 + maxLength: 11, + default: '' } }, required: ['mobile'] @@ -103,18 +104,20 @@ export class VehicleModifyCaptainComponent implements OnInit { if (res) { this.modal.destroy(); this.service.msgSrv.success('修改成功'); - } else { - this.service.msgSrv.error(res?.msg); } }); } initDate() { + let phone = this.sf?.value.mobile.replace(/^\s*|\s*$/g,"") + if(!phone) { + this.service.msgSrv.error('请输入手机号!'); + return + } const params = { fetchBank: 1, ...this.sf?.value }; this.service.request(this.service.$api_get_getCarCaptainByMobile, params).subscribe((res: any) => { - console.log(res); if (res) { this.dataList = [res]; } diff --git a/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.html b/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.html index ad50faeb..b37da5ec 100644 --- a/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.html +++ b/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.html @@ -4,13 +4,13 @@ * @Author : Shiming * @Date : 2022-02-22 13:53:29 * @LastEditors : Shiming - * @LastEditTime : 2022-03-08 15:01:14 + * @LastEditTime : 2022-04-22 16:27:40 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. -->
- + diff --git a/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.less b/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.less index ae775710..529639f7 100644 --- a/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.less +++ b/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.less @@ -1,11 +1,10 @@ +/* stylelint-disable order/properties-order */ :host { - ::ng-deep { - // .mapBox { - // iframe, canvas { - // width: 400px !important; - // } - // } - - } - - } \ No newline at end of file + .map_st2 { + position: absolute; + top: 20px; + right: 49px; + height: 350px; + width: 360px; + } +} diff --git a/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.ts b/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.ts index 0b5c1dff..30bd5b74 100644 --- a/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.ts +++ b/src/app/routes/order-management/modal/vehicle/view-track/view-track.component.ts @@ -4,21 +4,12 @@ * @Author : Shiming * @Date : 2022-02-22 13:53:29 * @LastEditors : Shiming - * @LastEditTime : 2022-03-08 16:11:58 + * @LastEditTime : 2022-04-22 16:24:06 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.ts * Copyright (C) 2022 huzhenhong. All rights reserved. */ -import { Component, OnInit, ViewChild } from '@angular/core'; -import { STColumn } from '@delon/abc/st'; -import { - SFComponent, - SFCustomWidgetSchema, - SFNumberWidgetSchema, - SFRadioWidgetSchema, - SFSchema, - SFTextareaWidgetSchema, - SFUISchema -} from '@delon/form'; +import { Component, OnInit } from '@angular/core'; +import { STColumn, STComponent } from '@delon/abc/st'; import format from 'date-fns/format'; import { _HttpClient } from '@delon/theme'; import { NzMessageService } from 'ng-zorro-antd/message'; @@ -37,9 +28,11 @@ export class OneCarOrderViewtrackComponent implements OnInit { mapList: any[] = []; //地图点位数据组 addressItems: any[] = []; //打点地址数据组 logColumns2: STColumn[] = [ - { title: '时间', index: 'parkBte' }, - { title: '地点', index: 'parkAdr' } + { title: '时间', index: 'parkBte', width: 120, className: 'text-center' }, + { title: '地点', index: 'parkAdr',width: 120,className: 'text-center' } ]; + pois: any[] = []; + constructor( private modalRef: NzModalRef, private modal: NzModalService, @@ -56,31 +49,58 @@ export class OneCarOrderViewtrackComponent implements OnInit { } // 获取车辆轨迹 getTrajectory() { - this.service.request(this.service.$api_get_getTrajectory, { id: this.i?.id }).subscribe(res => { + this.service.request(this.service.$api_get_getWholeBillDetail, { id: this.i.id }).subscribe(res => { + if (res) { + this.pois = [ + { + markerLabel: '装', + color: 'blue', + position: [res.startingPoint.longitude, res.startingPoint.latitude], + title: `发货地:${res.startingPoint.province}${res.startingPoint.city}${res.startingPoint.area || ''}${ + res.startingPoint.detailedAddress + }`, + time: '计划出发时间:' + res.loadPlanTime + }, + { + markerLabel: '卸', + color: 'red', + position: [res.endPoint.longitude, res.endPoint.latitude], + title: `卸货地:${res.endPoint.province}${res.endPoint.city}${res.endPoint.area}${res.endPoint.detailedAddress}`, + time: '计划卸货时间:' + res.unloadPlanTime + } + ]; + } + }); + this.service.request(this.service.$api_get_getTrajectory, { id: this.i.id }).subscribe(res => { if (res) { const points = res.trackArray; let list: any[] = []; points?.forEach((item: any) => { list.push({ - name: item.hgt, + name: `${item.spd}`, lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))], time: item.gtm }); }); this.mapList = list; - this.addressItems = res.parkAdr; - if (this.addressItems && this.addressItems.length > 0) { - this.addressItems.forEach(item => { + const addressItems: any[] = res.parkArray; + if (addressItems?.length > 0) { + addressItems.forEach(item => { item.parkBte = this.getLocalTime(item.parkBte); }); + this.addressItems = [...addressItems]; + } else { + this.addressItems = []; } + console.log(this.addressItems); + } }); } // 获取司机轨迹 getDriverTrajectory() { - this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.i?.id }).subscribe(res => { + this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.i.id }).subscribe(res => { if (res) { const points = res.tracks; let list: any[] = []; @@ -91,7 +111,7 @@ export class OneCarOrderViewtrackComponent implements OnInit { time: item.gtm }); }); - this.mapList = list; + this.mapList = list || []; const addressItems = [...res.tracks]; if (addressItems) { addressItems.forEach(item => { 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 2c7f4a05..087d7a70 100644 --- a/src/app/routes/order-management/services/order-management.service.ts +++ b/src/app/routes/order-management/services/order-management.service.ts @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2021-12-03 15:31:52 * @LastEditors : Shiming - * @LastEditTime : 2022-04-19 15:16:37 + * @LastEditTime : 2022-04-22 17:14:39 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts * Copyright (C) 2022 huzhenhong. All rights reserved. */ @@ -163,8 +163,8 @@ export class OrderManagementService extends ShipperBaseService { // 异常预警 public $api_getAbnormalWarningByBillId = '/api/sdc/abnormalWarning/getAbnormalWarningByBillId'; - // 生成卸货单 - public $api_createBillDischargeGoods = '/api/sdc/billOperate/createBillDischargeGoods'; + // 获取电子提/卸货单签章附件 + public $api_getBillGoodsEsignFile = '/api/sdc/billOperate/getBillGoodsEsignFile'; // 生成提货单 public $api_createBillTakeGoods = '/api/sdc/billOperate/createBillTakeGoods'; // 生成卸货单-页面展示 @@ -209,11 +209,16 @@ export class OrderManagementService extends ShipperBaseService { // 查看补充协议 public $api_getSupplementaryAgreement = `/api/sdc/billShipper/getSupplementaryAgreement`; - // 获取电子提货单签章附件 public $api_getBillTakeEsignFile = `/api/sdc/billOperate/getBillTakeEsignFile`; // 获取电子卸货单签章附件 public $api_getBillDischargeEsignFile = `/api/sdc/billOperate/getBillDischargeEsignFile`; + // 预览卸货单 + public $api_getBillDischargeGoods = `/api/sdc/billOperate/getBillDischargeGoods`; + // 预览提货单 + public $api_getBillTakeGoods = `/api/sdc/billOperate/getBillTakeGoods`; + // 生成提/卸货单 + public $api_createBillEsignGoods = `/api/sdc/billOperate/createBillEsignGoods`; // // 生成卸货单 // public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`; 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 93698e61..87ef9a27 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 @@ -25,7 +25,7 @@ export class PartnerListComponent { @ViewChild('editTemplate', { static: true }) editTemplate: any; - templateId: any; + templateId: any; templates: any[] = []; @ViewChild('editCannel', { static: true }) @@ -73,7 +73,9 @@ export class PartnerListComponent { nzFooter: null }); modal.afterClose.subscribe(res => { - modal.destroy(); + if (res) { + this.st.load(1); + } }); } diff --git a/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.ts b/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.ts index f6fbcaac..1c2c4d4f 100644 --- a/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.ts +++ b/src/app/routes/partner/partner-list/components/partner-audit-modal/partner-audit-modal.component.ts @@ -1,5 +1,6 @@ import { Component, Input, OnInit, ViewChild } from '@angular/core'; import { SFComponent, SFSchema, SFValue } from '@delon/form'; +import { ModalHelper } from '@delon/theme'; import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; import { PartnerListService } from '../../services/partner-list.service'; @@ -15,7 +16,7 @@ export class PartnerAuditModalComponent implements OnInit { info: any; schema!: SFSchema; sourcePage = ''; - constructor(private nzModalService: NzModalService, public service: PartnerListService) {} + constructor(private nzModalService: NzModalService, public service: PartnerListService, private modal: NzModalRef) {} ngOnInit(): void { this.initSF(this.info); @@ -49,7 +50,7 @@ export class PartnerAuditModalComponent implements OnInit { widget: 'radio', hidden: this.info.isPass !== undefined }, - default: true + default: this.info.isPass !== undefined ? this.info.isPass : true }, channelId: { title: '渠道销售', @@ -121,7 +122,7 @@ export class PartnerAuditModalComponent implements OnInit { .subscribe(res => { if (res) { this.service.msgSrv.success('审核成功!'); - this.close(); + this.modal.destroy(1); } }); } diff --git a/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.ts b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.ts index 80a9aa45..0df4d752 100644 --- a/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.ts +++ b/src/app/routes/partner/partner-list/components/partner-detail/partner-detail.component.ts @@ -142,6 +142,12 @@ export class PartnerDetailComponent implements OnInit, OnDestroy { nzComponentParams: { info: { ...this.detailData, isPass }, sourcePage: '合伙人审核详情' }, nzFooter: null }); + + modal.afterClose.subscribe(res => { + if (res) { + this.initData(); + } + }); } ratify() { @@ -370,7 +376,7 @@ export class PartnerDetailComponent implements OnInit, OnDestroy { buttons: [ { text: '详情', - click: (item) => this.service.showChangeDetail(item.id) + click: item => this.service.showChangeDetail(item.id) } ] } diff --git a/src/app/routes/partner/partner-list/components/personal-partner-detail/personal-partner-detail.component.ts b/src/app/routes/partner/partner-list/components/personal-partner-detail/personal-partner-detail.component.ts index ab33519c..29052c55 100644 --- a/src/app/routes/partner/partner-list/components/personal-partner-detail/personal-partner-detail.component.ts +++ b/src/app/routes/partner/partner-list/components/personal-partner-detail/personal-partner-detail.component.ts @@ -130,6 +130,12 @@ export class PersonalPartnerDetailComponent implements OnInit { }, nzFooter: null }); + + modal.afterClose.subscribe(res => { + if (res) { + this.initData(); + } + }); } ratify() { diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.html b/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.html index a537892f..5d060bcc 100644 --- a/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.html +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.html @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-03-28 14:53:52 * @LastEditors : Shiming - * @LastEditTime : 2022-03-28 17:03:21 + * @LastEditTime : 2022-04-22 10:30:33 * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add-partnerlist\\add-partnerlist.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> @@ -25,6 +25,6 @@ [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false" [scroll]="{ x: '1000' }"> - + diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.ts b/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.ts index 65ce3f8c..bf422f94 100644 --- a/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.ts +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add-partnerlist/add-partnerlist.component.ts @@ -128,7 +128,7 @@ export class ParterRebateManageMentAddPartnerListComponent implements OnInit { // 回复操作 add(item: any) { console.log(item); - this.modals.destroy(item); + this.modals.destroy([item]); } // 批量回复操作 batchReply() { diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html index 65cd23f9..8a4b1a3f 100644 --- a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.html @@ -4,38 +4,44 @@ * @Author : Shiming * @Date : 2022-02-24 20:09:49 * @LastEditors : Shiming - * @LastEditTime : 2022-03-29 10:47:02 + * @LastEditTime : 2022-04-22 14:29:23 * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html * Copyright (C) 2022 huzhenhong. All rights reserved. --> -
- -    + + 固定结算费率配置 -     % + +  % + 业务量和管理费比例配置 -    + + - -    - + + +
+ +
+ 关联合伙人配置 -    - + + + -   添加 + 添加 -    + + 1 2 @@ -52,19 +59,22 @@ 5 -    - + -    + + +
+
-
diff --git a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts index 958809db..cf090af2 100644 --- a/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts +++ b/src/app/routes/partner/rebate-management/components/rebate-setting/add/add.component.ts @@ -4,7 +4,7 @@ * @Author : Shiming * @Date : 2022-03-21 09:26:45 * @LastEditors : Shiming - * @LastEditTime : 2022-03-29 10:53:39 + * @LastEditTime : 2022-04-22 15:01:43 * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts * Copyright (C) 2022 huzhenhong. All rights reserved. */ @@ -26,12 +26,13 @@ import { inRange } from '@delon/util'; export class ParterRebateManageMentAddComponent implements OnInit { @ViewChild('table') table!: any; tabelData: any; + addStatus: boolean = false; configName: string = ''; partnerType: string = ''; remarke: string = ''; accountingRate: Number = 0; priority: string = ''; - partnerPeopleList: any; + partnerPeopleList: any = []; configType = '1'; precision = 2; partnerId :Array =[]; @@ -78,7 +79,7 @@ export class ParterRebateManageMentAddComponent implements OnInit { widget: 'tinymce', loadingTip: 'loading...', config: { - height: 650 + height: 500, } }, // default: data?.agreementContent || '' @@ -87,6 +88,7 @@ export class ParterRebateManageMentAddComponent implements OnInit { }; } ngOnInit() { + this.addStatus =false this.initSF(); } goBack() { @@ -108,22 +110,25 @@ export class ParterRebateManageMentAddComponent implements OnInit { modalRef.afterClose.subscribe((res: any) => { this.partnerId = []; if (res) { - console.log(Array.isArray(res)); - console.log(res); if(Array.isArray(res)) { - this.partnerPeopleList = res; + console.log(res); + console.log(this.partnerPeopleList); + this.partnerPeopleList = this.partnerPeopleList.concat(res); res.forEach((ele: any) => { this.partnerId.push(ele?.id); }) } else { - this.partnerPeopleList = [res]; + console.log(res); + this.partnerPeopleList = this.partnerPeopleList.concat(res); this.partnerId.push(res?.id); } } }); } delete(item: any) { - console.log(item); + this.partnerPeopleList = this.partnerPeopleList.filter((d:any, i: any) => { + return item.id != d.id + }); } save () { const params = { @@ -146,4 +151,10 @@ export class ParterRebateManageMentAddComponent implements OnInit { } }) } + changePartner(value: any) { + console.log(value); + if(value) { + this.addStatus = true + } + } } diff --git a/src/app/routes/sys-setting/services/system.service.ts b/src/app/routes/sys-setting/services/system.service.ts index 9c7e7250..33c7f6e6 100644 --- a/src/app/routes/sys-setting/services/system.service.ts +++ b/src/app/routes/sys-setting/services/system.service.ts @@ -1,7 +1,7 @@ /* * @Author: your name * @Date: 2021-12-20 17:18:43 - * @LastEditTime : 2022-04-20 16:48:26 + * @LastEditTime : 2022-04-22 14:50:25 * @LastEditors : Shiming * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\services\\system.service.ts @@ -64,7 +64,7 @@ export class SystemService extends BaseService { $api_deletebatch_crmCustomer = '/api/mdc/cuc/crmCustomer/deletebatch'; // 获取某个应用的所有菜单 - $api_getAllFunctionInfoByAppId: string = '/api/mdc/cuc/functionInfo/getAllFunctionInfoByAppIdNoHide'; + $api_getAllFunctionInfoByAppId: string = '/api/mdc/cuc/functionInfo/getAllFunctionInfoByAppId'; // 查询网络货运信息表 $api_networkTransporter_page = '/api/mdc/cuc/networkTransporter/list/page'; diff --git a/src/app/routes/usercenter/components/freight/enterprise-audit/view/view.component.html b/src/app/routes/usercenter/components/freight/enterprise-audit/view/view.component.html index 90e39e1c..fe7bd829 100644 --- a/src/app/routes/usercenter/components/freight/enterprise-audit/view/view.component.html +++ b/src/app/routes/usercenter/components/freight/enterprise-audit/view/view.component.html @@ -8,42 +8,30 @@