diff --git a/src/app/routes/datatable/components/datascreen/datascreen.component.html b/src/app/routes/datatable/components/datascreen/datascreen.component.html
index 0689ce07..624e60f0 100644
--- a/src/app/routes/datatable/components/datascreen/datascreen.component.html
+++ b/src/app/routes/datatable/components/datascreen/datascreen.component.html
@@ -12,7 +12,7 @@
-
+
diff --git a/src/app/routes/datatable/components/datascreen/datascreen.component.ts b/src/app/routes/datatable/components/datascreen/datascreen.component.ts
index 876f729a..b44238ec 100644
--- a/src/app/routes/datatable/components/datascreen/datascreen.component.ts
+++ b/src/app/routes/datatable/components/datascreen/datascreen.component.ts
@@ -5,7 +5,7 @@ import { map } from 'rxjs/operators';
* @Author : Shiming
* @Date : 2022-04-06 10:57:56
* @LastEditors : Shiming
- * @LastEditTime : 2022-04-07 01:48:44
+ * @LastEditTime : 2022-04-07 09:30:20
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\components\\datascreen\\datascreen.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@@ -56,8 +56,15 @@ export class DatatableDatascreenComponent implements OnInit {
ngOnInit(): void {
this.initST()
this.initOrderST()
+ this.initData()
this.initLineData()
}
+ initData(){
+ this.service.request(this.service.$api_getAnnualTransactions).subscribe((res: any) => {
+ console.log(res);
+
+ })
+ }
initLineData(){
for (let i = 0; i < 20; i += 1) {
this.chartData.push({
diff --git a/src/app/routes/datatable/services/data.service.ts b/src/app/routes/datatable/services/data.service.ts
index 804aca12..32f2c4e0 100644
--- a/src/app/routes/datatable/services/data.service.ts
+++ b/src/app/routes/datatable/services/data.service.ts
@@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-27 10:30:56
* @LastEditors : Shiming
- * @LastEditTime : 2022-04-06 13:47:25
+ * @LastEditTime : 2022-04-07 09:30:16
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\services\\data.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@@ -66,6 +66,24 @@ export class DataService extends BaseService {
$api_statistics_totalAdd = `/api/mdc/cuc/statistics/totalAdd`;
+ // 数据大屏-本年全年交易情况
+ $api_getAnnualTransactions = `/api/sdc/reportDataLargeScreen/getAnnualTransactions`;
+ // 数据大屏-客户统计(货主,合伙人,司机,车辆)
+ $api_getCustomerStatistics = `/api/sdc/reportDataLargeScreen/getCustomerStatistics`;
+ // 数据大屏-实时货源
+ $api_getRealTimeSupply = `/api/sdc/reportDataLargeScreen/getRealTimeSupply`;
+ // 数据大屏-实时运单风控
+ $api_getRealTimeWaybillRiskControl = `/api/sdc/reportDataLargeScreen/getRealTimeWaybillRiskControl`;
+ // 数据大屏-本月发货量排名
+ $api_getShipmentRanking = `/api/sdc/reportDataLargeScreen/getShipmentRanking`;
+ // 数据大屏-今日交易情况
+ $api_getTradingToday = `/api/sdc/reportDataLargeScreen/getTradingToday`;
+ // 数据大屏-本月交易趋势
+ $api_getTradingTrend = `/api/sdc/reportDataLargeScreen/getTradingTrend`;
+ // 数据大屏-交易额(今日,本月,累计)
+ $api_getTransactionAmount = `/api/sdc/reportDataLargeScreen/getTransactionAmount`;
+
+
constructor(public injector: Injector) {
super(injector);
diff --git a/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.html b/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.html
new file mode 100644
index 00000000..5d27eff0
--- /dev/null
+++ b/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
4">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item?.driverName }}{{ item?.driverPhone ? "/" + item?.driverPhone : '' }}{{ item?.carNo ? "/" + item?.carNo : '' }}
+
+
+ {{ item?.payeeName }}{{ item?.payeePhone ? "/" + item?.payeePhone : '' }}
+
+
+
+
+ {{ item?.billStatusLabel }}
+
+
+ {{item?.billTypeLabel}}{{item?.serviceTypeLabel === item?.billTypeLabel ? '':item?.serviceTypeLabel}}
+
+
+
+
+
+
+
diff --git a/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.less b/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.less
new file mode 100644
index 00000000..149a0bc9
--- /dev/null
+++ b/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.less
@@ -0,0 +1,13 @@
+
+ :host {
+ p{
+ margin-bottom: 0
+ }
+ .left_btn {
+ width: 50px;
+ height: 32px;
+ padding-left: 8px;
+ line-height:32px;
+ background-color: #d7d7d7;
+ }
+ }
\ No newline at end of file
diff --git a/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.spec.ts b/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.spec.ts
new file mode 100644
index 00000000..c2659773
--- /dev/null
+++ b/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.spec.ts
@@ -0,0 +1,35 @@
+/*
+ * @Description :
+ * @Version : 1.0
+ * @Author : Shiming
+ * @Date : 2021-12-06 20:03:28
+ * @LastEditors : Shiming
+ * @LastEditTime : 2022-04-07 09:43:16
+ * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\abnormal-warning\\abnormal-warning.component.spec.ts
+ * Copyright (C) 2022 huzhenhong. All rights reserved.
+ */
+
+import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
+import { OrderManagementAbnormalWarningComponent } from './abnormal-warning.component';
+
+describe('OrderManagementAbnormalWarningComponent', () => {
+ let component: OrderManagementAbnormalWarningComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(waitForAsync(() => {
+ TestBed.configureTestingModule({
+ declarations: [ OrderManagementAbnormalWarningComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(OrderManagementAbnormalWarningComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.ts b/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.ts
new file mode 100644
index 00000000..d61adb85
--- /dev/null
+++ b/src/app/routes/order-management/components/abnormal-warning/abnormal-warning.component.ts
@@ -0,0 +1,294 @@
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { STColumn, STComponent } from '@delon/abc/st';
+import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
+import { ModalHelper, _HttpClient } from '@delon/theme';
+import { NzModalService } from 'ng-zorro-antd/modal';
+import { map } from 'rxjs/operators';
+import { OrderManagementService } from '../../services/order-management.service';
+import { UpdateFreightComponent } from '../../modal/bulk/update-freight/update-freight.component';
+import { ConfirReceiptComponent } from '../../modal/bulk/confir-receipt/confir-receipt.component';
+import { of } from 'rxjs';
+import { ShipperBaseService } from '@shared';
+import { Router } from '@angular/router';
+import { OneCarOrderAppealComponent } from '../../modal/audit/appeal/appeal.component';
+
+@Component({
+ selector: 'app-order-management-abnormal-warning',
+ templateUrl: './abnormal-warning.component.html',
+ styleUrls: ['./abnormal-warning.component.less']
+})
+export class OrderManagementAbnormalWarningComponent implements OnInit {
+ ui: SFUISchema = {};
+ uiView: SFUISchema = {};
+ schema: SFSchema = {};
+ schemaView: SFSchema = {};
+ changeId: any; // 主页面查看运费变更记录id - 用于运费变更记录
+ changeViewId: any; // 查看运费变更记录id - 用于查看
+ auditId: any;
+ auditIdR: any;
+ auditMany = false;
+ isVisibleView = false;
+ isVisibleEvaluate = false;
+ isVisible = false;
+ isVisibleRE = false;
+ _$expand = false;
+ @ViewChild('st') private readonly st!: STComponent;
+ @ViewChild('sf', { static: false }) sf!: SFComponent;
+ @ViewChild('sfView', { static: false }) sfView!: SFComponent;
+ @ViewChild('stFloat') private readonly stFloat!: STComponent;
+ @ViewChild('stFloatView') private readonly stFloatView!: STComponent;
+ columns: STColumn[] = [];
+ columnsFloat: STColumn[] = [];
+ columnsFloatView: STColumn[] = [];
+ ViewCause: any; // 变更运费查看数据
+ tabs = {
+ totalCount: 0,
+ qualifiedtity: 0,
+ spotQuantity: 0,
+ unstayQuantity: 0
+ };
+ constructor(
+ public service: OrderManagementService,
+ private modal: NzModalService,
+ public shipperservice: ShipperBaseService,
+ private router: Router
+ ) { }
+
+ /**
+ * 查询参数
+ */
+ get reqParams() {
+ const a: any = {};
+ const params: any = Object.assign({}, this.sf?.value || {});
+ delete params._$expand;
+ return {
+ ...a,
+ ...params,
+ warningTime: {
+ start: this.sf?.value?.warningTime?.[0] || '',
+ end: this.sf?.value?.warningTime?.[1] || ''
+ }
+ };
+ }
+ get changeParams() {
+ return {
+ id: this.changeId
+ };
+ }
+ get selectedRows() {
+ return this.st?.list.filter(item => item.checked) || [];
+ }
+ get changeViewParams() {
+ return {
+ id: this.changeViewId
+ };
+ }
+ search() {
+ this.st?.load(1);
+ }
+
+ ngOnInit(): void {
+ this.initSF();
+ this.initST();
+ }
+
+ /**
+ * 初始化查询表单
+ */
+ initSF() {
+ this.schema = {
+ properties: {
+ _$expand: { type: 'boolean', ui: { hidden: true } },
+ billCode: {
+ type: 'string',
+ title: '订单号',
+ ui: {
+ }
+ },
+ wayBillCode: {
+ type: 'string',
+ title: '运单号',
+ ui: {
+ }
+ },
+ serviceType: {
+ title: '服务类型',
+ type: 'string',
+ default: '',
+ ui: {
+ widget: 'dict-select',
+ params: { dictKey: 'service:type' },
+ containsAllLabel: true,
+ } as SFSelectWidgetSchema
+ },
+ resourceType: {
+ title: '货源类型',
+ type: 'string',
+ default: '',
+ ui: {
+ visibleIf: {
+ _$expand: (value: boolean) => value
+ },
+ widget: 'dict-select',
+ params: { dictKey: 'goodresource:type' },
+ containsAllLabel: true,
+ } as SFSelectWidgetSchema
+ },
+ shipperAppUserId: {
+ type: 'string',
+ title: '货主',
+ ui: {
+ widget: 'select',
+ serverSearch: true,
+ searchDebounceTime: 300,
+ searchLoadingText: '搜索中...',
+ allowClear: true,
+ visibleIf: {
+ _$expand: (value: boolean) => value
+ },
+ onSearch: (q: any) => {
+ let str =q.replace(/^\s+|\s+$/g,"");
+ if (str) {
+ return this.service
+ .request(this.service.$api_enterpriceList, { enterpriseName: str })
+ .pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
+ .toPromise();
+ } else {
+ return of([]);
+ }
+ },
+ } as SFSelectWidgetSchema
+ },
+ loadingPlace: {
+ type: 'string',
+ title: '装货地',
+ ui: {
+ visibleIf: {
+ _$expand: (value: boolean) => value
+ }
+ }
+ },
+ dischargePlace: {
+ type: 'string',
+ title: '卸货地',
+ ui: {
+ visibleIf: {
+ _$expand: (value: boolean) => value
+ }
+ }
+ },
+ driverName: {
+ title: '承运司机',
+ type: 'string',
+ ui: {
+ visibleIf: {
+ _$expand: (value: boolean) => value
+ }
+ }
+ },
+ carNo: {
+ title: '车牌号',
+ type: 'string',
+ ui: {
+ visibleIf: {
+ _$expand: (value: boolean) => value
+ }
+ }
+ },
+ warningTime: {
+ title: '预警时间',
+ type: 'string',
+ ui: {
+ widget: 'date',
+ mode: 'range',
+ format: 'yyyy-MM-dd',
+ allowClear: true,
+ visibleIf: {
+ _$expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ },
+ },
+ type: 'object'
+ };
+ this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
+ }
+
+ /**
+ * 初始化数据列表
+ */
+ initST() {
+ this.columns = [
+ {
+ title: '运单号',
+ width: '180px',
+ fixed: 'left',
+ className: 'text-left',
+ index: 'wayCode'
+ },
+ {
+ title: '订单号',
+ width: '180px',
+ fixed: 'left',
+ className: 'text-left',
+ index: 'billCode'
+ },
+ { title: '服务类型', index: 'serviceTypeLabel', width: '220px', className: 'text-left' },
+ { title: '货主', index: 'shipperName', width: '220px', className: 'text-left' },
+ { title: '装货地', index: 'loadingAddressArr', width: '220px', className: 'text-left' },
+ { title: '卸货地', index: 'unloadingAddressArr', width: '220px', className: 'text-left' },
+ { title: '司机', render: 'driverName', width: '180px', className: 'text-left' },
+ { title: '车牌号', index: 'carNo', width: '180px', className: 'text-left' },
+ { title: '预警类型', index: 'warningTypeLabel', width: '180px', className: 'text-left' },
+ {
+ title: '预警时间',
+ className: 'text-left',
+ width: '180px',
+ index: 'warningTime'
+ },
+ {
+ title: '位置描述',
+ className: 'text-left',
+ width: '250px',
+ render: 'goodsName'
+ },
+ {
+ title: '提醒内容',
+ className: 'text-left',
+ width: '250px',
+ index: 'warningContent',
+ },
+
+ ];
+ }
+
+ /**
+ * 查询字段个数
+ */
+ get queryFieldCount(): number {
+ return Object.keys(this.schema?.properties || {}).length;
+ }
+
+
+ /**
+ * 伸缩查询条件
+ */
+ expandToggle(): void {
+ this._$expand = !this._$expand;
+ this.sf?.setValue('/_$expand', this._$expand);
+ }
+ tabChange(item: any) { }
+ /**
+ * 重置表单
+ */
+ resetSF(): void {
+ this.sf.reset();
+ this._$expand = false;
+ }
+
+
+ // 导出
+ exprot() {
+ this.service.asyncExport(this.reqParams, this.service.$api_get_asyncExportSpotCheckList);
+ }
+}
diff --git a/src/app/routes/order-management/order-management-routing.module.ts b/src/app/routes/order-management/order-management-routing.module.ts
index aaffea78..7be4f4e5 100644
--- a/src/app/routes/order-management/order-management-routing.module.ts
+++ b/src/app/routes/order-management/order-management-routing.module.ts
@@ -4,12 +4,13 @@
* @Author : Shiming
* @Date : 2022-01-06 09:24:00
* @LastEditors : Shiming
- * @LastEditTime : 2022-02-10 11:34:03
+ * @LastEditTime : 2022-04-07 09:43:47
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\order-management-routing.module.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
+import { OrderManagementAbnormalWarningComponent } from './components/abnormal-warning/abnormal-warning.component';
import { OrderManagementBulkDetailChangeComponent } from './components/bulk-detail-change/bulk-detail-change.component';
import { OrderManagementBulkeDetailComponent } from './components/bulk-detail/bulk-detail.component';
import { OrderManagementBulkComponent } from './components/bulk/bulk.component';
@@ -36,6 +37,7 @@ const routes: Routes = [
{ path: 'complaint-detail/:id', component: OrderManagementComplaintDetailComponent },
{ path: 'receipts-audit', component: OrderManagementReceiptsAuditComponent },
{ path: 'compliance-audit', component: OrderManagementComplianceAuditComponent },
+ { path: 'abnormal-warning', component: OrderManagementAbnormalWarningComponent },
]
@NgModule({
imports: [RouterModule.forChild(routes)],
diff --git a/src/app/routes/order-management/order-management.module.ts b/src/app/routes/order-management/order-management.module.ts
index 87ceaafd..8f00a622 100644
--- a/src/app/routes/order-management/order-management.module.ts
+++ b/src/app/routes/order-management/order-management.module.ts
@@ -11,6 +11,7 @@
import { NgModule, Type } from '@angular/core';
import { SharedModule } from '@shared';
+import { OrderManagementAbnormalWarningComponent } from './components/abnormal-warning/abnormal-warning.component';
import { OrderManagementBulkDetailChangeComponent } from './components/bulk-detail-change/bulk-detail-change.component';
import { OrderManagementBulkeDetailComponent } from './components/bulk-detail/bulk-detail.component';
import { OrderManagementBulkComponent } from './components/bulk/bulk.component';
@@ -66,7 +67,8 @@ const COMPONENTS: Type[] = [
OrderManagementComplianceAuditComponent,
OneCarOrderCancelConfirmComponent,
OneCarOrderViewtrackComponent,
- OneCarOrderAppealComponent
+ OneCarOrderAppealComponent,
+ OrderManagementAbnormalWarningComponent
];
@NgModule({
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 fb03d073..f3b441f8 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-06 11:03:58
+ * @LastEditTime : 2022-04-07 09:49:44
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@@ -186,6 +186,9 @@ export class OrderManagementService extends ShipperBaseService {
// 查看申述记录
$api_get_getOrderComplaintDetail = `/api/sdc/billOperate/getOrderComplaintDetail`;
+ // 查询异常预警表
+ $api_get_abnormalWarning = `/api/sdc/abnormalWarning/list/page`;
+
// 异步导出运营后台大宗订单列表
$api_get_asyncExportBulkList = `/api/sdc/billOperate/asyncExportBulkList`;