Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop

This commit is contained in:
潘晓云
2022-04-28 15:13:57 +08:00
29 changed files with 288 additions and 150 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-01-18 09:51:21
* @LastEditors : Shiming
* @LastEditTime : 2022-04-27 17:26:44
* @LastEditTime : 2022-04-28 14:09:56
* @FilePath : \\tms-obc-web\\proxy.conf.js
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/

View File

@ -24,9 +24,8 @@ export class ContractManagementIndexComponent implements OnInit {
constructor(private http: _HttpClient, private modal: ModalHelper, private acl: ACLService) {
const acls = acl.data.abilities || [];
this.isShowDetail = !!acls.find(acl => acl === 'CONTRACT-INDEX-searchDetail');
this.isShowFrame = !!acls.find(acl => acl === 'CONTRACT-INDEX-listFrame');
console.log(this.isShowFrame);
this.isShowDetail =acl.data.full || !!acls.find(acl => acl === 'CONTRACT-INDEX-searchDetail');
this.isShowFrame =acl.data.full || !!acls.find(acl => acl === 'CONTRACT-INDEX-listFrame');
}

View File

@ -32,7 +32,8 @@
</label>
</div>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['FINANCIAL-RECEIPT-list']">筛选</button>
</div>
</div>

View File

@ -60,22 +60,21 @@ const routes: Routes = [
{ path: 'abnormal-gold/detail/:id', component: AbnormalGoldDetailComponent },
{ path: 'payment-record', component: PaymentRecordComponent },
{ path: 'transaction-flow', component: TransactionFlowComponent },
{ path: 'payment-order', component: PaymentOrderComponent },
{ path: 'payment-order', component: PaymentOrderComponent, data: { guard: { ability: ['FINANCIAL-PAYMENT-ORDER-list'] } } },
{ path: 'payment-order/detail/:id', component: PaymentOrderDetailComponent },
{ path: 'receipt-order', component: ReceiptOrderComponent },
{ path: 'receipt-order', component: ReceiptOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIPT-list'] } } },
{ path: 'receipt-order/detail/:id', component: ReceiptOrderDetailComponent },
{ path: 'advance-collection', component: AdvanceCollectionComponent },
{ path: 'advance-collection/detail/:id', component: AdvanceCollectionDetailComponent },
{ path: 'receivable-order', component: ReceivableOrderComponent },
{ path: 'receivable-order/detail/:id', component: ReceivableOrderDetailComponent },
{ path: 'payable-order', component: PayableOrderComponent },
{ path: 'payable-order/detail/:id', component: PayableOrderDetailComponent },
{ path: 'bank-card-management/index', component: CwcBankCardManagementIndexComponent },
{ path: 'receivable-order', component: ReceivableOrderComponent, data: { guard: { ability: ['FINANCIAL-RECEIVABLE-list'] } } },
{ path: 'receivable-order/detail/:id', component: ReceivableOrderDetailComponent, data: { guard: { ability: ['FINANCIAL-RECEIVABLE-DETAIL-view'] } } },
{ path: 'payable-order', component: PayableOrderComponent, data: { guard: { ability: ['FINANCIAL-PAYABLE-list'] } } },
{ path: 'payable-order/detail/:id', component: PayableOrderDetailComponent, data: { guard: { ability: ['FINANCIAL-PAYABLE-DETAIL-view'] } } },
{ path: 'bank-card-management/index', component: CwcBankCardManagementIndexComponent }
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class FinancialManagementRoutingModule { }
export class FinancialManagementRoutingModule {}

View File

@ -555,8 +555,8 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements
},{
text: '订单上报推送',
click: _record => this.orderReportPush(_record),
iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5')
// acl: { ability: ['VEHICLE-LIST-view'] },
iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5'),
acl: { ability: ['ORDER-BULK-push'] },
}
]
}

View File

@ -473,8 +473,8 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
{
text: '订单上报推送',
click: _record => this.orderReportPush(_record),
iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5')
// acl: { ability: ['VEHICLE-LIST-view'] },
iif: item => item.overallPaymentStatus === '2' && (item.billStatus === '4' || item.billStatus === '5'),
acl: { ability: ['ORDER-VEHICLE-push'] },
}
]
}

View File

@ -125,7 +125,7 @@ export class SupplyManagementBulkDetailComponent implements OnInit {
*/
placeOrder(record: any) {
console.log(record)
this.router.navigate(['/supply-management/bulk-amend', record.id], {
this.router.navigate(['/supply-management/bulk-next', record.id], {
queryParams: {
sta: 4
},

View File

@ -492,7 +492,7 @@ export class SupplyManagementBulkComponent extends BasicTableComponent implement
// 再下一单
nextOrder(item: any) {
this.router.navigate(['/supply-management/bulk-amend', item.id], {
this.router.navigate(['/supply-management/bulk-next', item.id], {
queryParams: {
sta: 4
}

View File

@ -25,10 +25,10 @@
<label class="page_title"> <label class="driver">|</label> 货源管理</label>
</div>
<nz-tabset [(nzSelectedIndex)]="selectedIndex" class="header_tab">
<nz-tab nzTitle="整车货源">
<nz-tab nzTitle="整车货源" *ngIf="isShowVehicle">
<app-supply-management-vehicle></app-supply-management-vehicle>
</nz-tab>
<nz-tab nzTitle="大宗货源">
<nz-tab nzTitle="大宗货源" *ngIf="isShowBulk">
<app-supply-management-bulk></app-supply-management-bulk>
</nz-tab>
</nz-tabset>

View File

@ -1,5 +1,6 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { STColumn, STComponent } from '@delon/abc/st';
import { ACLService } from '@delon/acl';
import { SFSchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme';
import { SearchDrawerService } from '@shared';
@ -12,7 +13,14 @@ import { BasicTableComponent } from 'src/app/routes/commom';
})
export class SupplyManagementIndexComponent implements OnInit {
selectedIndex = 0;
isShowVehicle = false;
isShowBulk = false;
constructor(private http: _HttpClient, private modal: ModalHelper, private acl: ACLService) {
const acls = acl.data.abilities || [];
this.isShowVehicle = acl.data.full || !!acls.find(acl => acl === 'SUPPLY-INDEX-vehicleSearch');
this.isShowBulk = acl.data.full || !!acls.find(acl => acl === 'SUPPLY-INDEX-bulkSearch');
}
ngOnInit(): void {}
}

View File

@ -260,9 +260,9 @@
<button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px"
(click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button>
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl
[acl-ability]="['SUPPLY-BULK-PLACEORDER-vehicleDesignate']">指派熟车</button>
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button>
<button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px"
(click)="submitConfirm('publish')" acl
[acl-ability]="['SUPPLY-BULK-PLACEORDER-vehicleAnotherOrder']">司机抢单</button>
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button>
</div>
</nz-card>

View File

@ -6,39 +6,6 @@
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
<ng-template #headerContent>
<div class="mb-xs" nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
</div>
<div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
<div nz-col nzSpan="10">
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
<button nz-button (click)="updateGoodsSource(i)"
*ngIf="i?.resourceStatus === '1' && i.insurancePayment !== 'Y'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
</div>
</div>
<div class="mt-sm mb-sm" nz-row>
<div>
<b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency }}</span></b>
</div>
</div>
<nz-divider></nz-divider>
<div sv-container *ngIf="i">
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
<sv label="项目">{{ i?.enterpriseProjectName }}</sv>
<sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
<sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
<sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
</div>
</ng-template>
</page-header-wrapper>
<nz-card [nzBorderless]="true" class="mb0">
<div class="mb-xs" nz-row>

View File

@ -115,18 +115,7 @@ export class SupplyManagementVehicleDetailComponent implements OnInit {
})
}
/**
*再下一单
* @param record
*/
placeOrder(record: any) {
this.router.navigate(['./pbg/onecar-publish'], {
queryParams: {
id: record?.id,
type: 'add'
}
})
}
/**
* 编辑外部货源号
* @param item st当前行对象
@ -168,7 +157,7 @@ export class SupplyManagementVehicleDetailComponent implements OnInit {
});
}
nextOrder(item: any) {
this.router.navigate(['/supply-management/vehicle-amend', item.id], {
this.router.navigate(['/supply-management/vehicle-next', item.id], {
queryParams: {
sta: 2
}

View File

@ -324,7 +324,7 @@ export class SupplyManagementVehicleComponent extends BasicTableComponent implem
});
}
nextOrder(item: any) {
this.router.navigate(['/supply-management/vehicle-amend', item.id], {
this.router.navigate(['/supply-management/vehicle-next', item.id], {
queryParams: {
sta: 2
}

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-03 11:10:14
* @LastEditors : Shiming
* @LastEditTime : 2022-02-10 14:39:00
* @LastEditTime : 2022-04-28 14:45:50
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\supply-management-routing.module.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -21,13 +21,76 @@ import { SupplyManagementReleasePublishComponent } from './components/release-pu
import { SupplyManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component';
const routes: Routes = [
{ path: 'index', component: SupplyManagementIndexComponent },
{ path: 'index/bulk-detail/:id', component: SupplyManagementBulkDetailComponent },
{ path: 'index/vehicle-detail/:id', component: SupplyManagementVehicleDetailComponent },
{
path: 'index',
component: SupplyManagementIndexComponent,
data: { guard: { ability: ['SUPPLY-INDEX-vehicleSearch', 'SUPPLY-INDEX-bulkSearch'] } }
},
{
path: 'index/bulk-detail/:id',
component: SupplyManagementBulkDetailComponent,
data: {
guard: { ability: ['SUPPLY-BULK-DETAIL-cancelSupply', 'SUPPLY-BULK-DETAIL-updatePrice', 'SUPPLY-BULK-DETAIL-bulkAnotherOrder'] }
}
},
{
path: 'index/vehicle-detail/:id',
component: SupplyManagementVehicleDetailComponent,
data: {
guard: {
ability: [
'SUPPLY-VEHICLE-DETAIL-cancelSupply',
'SUPPLY-VEHICLE-DETAIL-changeSupply',
'SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder',
'SUPPLY-VEHICLE-DETAIL-vehicleAnew'
]
}
}
},
{ path: 'add-drivers', component: SupplyManagementAddDriversComponent },
{ path: 'vehicle-amend/:id', component: SupplyManagementOnecarPublishComponent },
{ path: 'vehicle-release', component: SupplyManagementReleasePublishComponent },
{ path: 'bulk-release', component: SupplyManagementBulkReleasePublishComponent },
{
path: 'vehicle-amend/:id',
component: SupplyManagementOnecarPublishComponent,
data: {
guard: {
ability: ['SUPPLY-VEHICLE-AMEND-submitChange']
}
}
},
{
path: 'vehicle-next/:id',
component: SupplyManagementOnecarPublishComponent,
data: {
guard: {
ability: [
'SUPPLY-VEHICLE-PLACEORDER-QRCode',
'SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate',
'SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder'
]
}
}
},
{
path: 'vehicle-release',
component: SupplyManagementReleasePublishComponent,
data: {
guard: { ability: ['SUPPLY-VEHICLE-RELEASE-bulkDesignate', 'SUPPLY-VEHICLE-RELEASE-bulkDriverOrder'] }
}
},
{
path: 'bulk-release',
component: SupplyManagementBulkReleasePublishComponent,
data: {
guard: { ability: ['SUPPLY-BULK-RELEASE-consignBulkAssign', 'SUPPLY-BULK-RELEASE-consignBulk'] }
}
},
{
path: 'bulk-next/:id',
component: SupplyManagementBulkPublishComponent,
data: {
guard: { ability: ['SUPPLY-BULK-PLACEORDER-vehicleAnotherOrder', 'SUPPLY-BULK-PLACEORDER-vehicleDesignate'] }
}
},
{ path: 'bulk-amend/:id', component: SupplyManagementBulkPublishComponent }
];

View File

@ -19,7 +19,8 @@
更新时间: {{ tabItem.modifyTime }}
<a style="margin-left: 8px" target="_blank" [queryParams]="{ type: tabItem.type }"
[routerLink]="['/passport/agreement']">预览</a>
<button nz-button nzType="link" (click)="update()">修改</button>
<button nz-button nzType="link" (click)="update()" acl
[acl-ability]="['SYSTEM-AGREEMENT-CONFIG-save']">修改</button>
</div>
<div [innerHTML]="tabItem.agreementContent | safehtml"></div>
</nz-card>

View File

@ -8,15 +8,10 @@
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\components\\basic-setting\\basic-setting.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<app-dynamic-setting-h5
[tabs]="tabs"
[configList]="configList"
[selectedTab]="selectedTab"
(selectedEvent)="getConfigList($event)"
(saveEvent)="saveAction($event)"
[labelWidth]="labelWidth"
>
<app-dynamic-setting-h5 [tabs]="tabs" [configList]="configList" [selectedTab]="selectedTab"
(selectedEvent)="getConfigList($event)" (saveEvent)="saveAction($event)" [labelWidth]="labelWidth"
[isCanSave]="isCanSave">
<custom-element>
<app-parterl-config [configList]="configList"></app-parterl-config>
<app-parterl-config [configList]="configList"></app-parterl-config>
</custom-element>
</app-dynamic-setting-h5>
</app-dynamic-setting-h5>

View File

@ -9,8 +9,8 @@
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { Component, OnInit, ViewChild } from '@angular/core';
import { ACLService } from '@delon/acl';
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
import { dateTimePickerUtil } from '@delon/util';
import { SystemService } from '../../services/system.service';
const NOJSONTYPE = new Set([8, 12, 13]);
@Component({
@ -23,7 +23,10 @@ export class BasicSettingComponent implements OnInit {
selectedTab: any = null;
labelWidth = 250;
configList: any = [];
constructor(public service: SystemService) {}
isCanSave = false;
constructor(public service: SystemService, private acl: ACLService) {
this.isCanSave = !!acl.data.abilities?.find(a => a === 'SYSTEM-BASIC_SETTING-save');
}
ngOnInit() {
this.getTypeList();

View File

@ -7,7 +7,7 @@
<se label="个人提现手续费" style="margin:15px 0 0 0">
<div>
按照提现金额收取
<nz-input-number [(ngModel)]="personValue" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number>
<nz-input-number [(ngModel)]="personServe" [nzMin]="0" [nzMax]="100" [nzPrecision]="2" [nzStep]="0.01"></nz-input-number>
<span> %手续费 </span>
</div>
</se>
@ -15,7 +15,7 @@
<div>
按照提现金额收取
<nz-input-number
[(ngModel)]="enterpriseValue"
[(ngModel)]="enterpriseServe"
[nzMin]="0"
[nzMax]="100"
[nzPrecision]="2"
@ -52,12 +52,12 @@
<div nz-row nzGutter="8">
<div nz-col nzSpan="24">
<span>客户</span>
<nz-input-number style="margin: 0 10px; " [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
<nz-input-number style="margin: 0 10px; " [(ngModel)]="silenceClient" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
<span>天内没有交易订单的视为“沉默客户”</span>
</div>
<div nz-col nzSpan="24" style="margin-top: 10px;">
<span>客户</span>
<nz-input-number style="margin: 0 10px; " [(ngModel)]="personValue" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
<nz-input-number style="margin: 0 10px; " [(ngModel)]="loseClient" [nzMin]="0" [nzMax]="3000" [nzPrecision]="2" [nzStep]="0.1"></nz-input-number>
<span>天内没有交易订单的视为“流失客户”</span>
</div>
<div nz-col nzSpan="24">
@ -66,15 +66,13 @@
</div>
</nz-card>
<div class="mb-md save-btn">
<button class="ml-lg" nz-button nzSize="large" nzType="primary">保存</button>
<button class="ml-lg" nz-button nzSize="large">取消</button>
<button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="save()">保存</button>
</div>
</div>
</div>
<ng-template #auditTimes let-data="data" let-title="title">
<div *ngIf="auditTimeStatus" >
<div style="display: flex">
<nz-radio-group [(ngModel)]="everyDay" (ngModelChange)="everyDayChange(everyDay)" style="display: block">
<label nz-radio [nzValue]="1" class="mt-sm"
>每天<span *ngIf="TimeStatus" style="margin-left: 30px; color: #0200ff; cursor: pointer" (click)="addEvery()">添加时间段</span></label
@ -92,7 +90,6 @@
</div>
</div>
</div>
</div>
<div >
<nz-radio-group [(ngModel)]="MonthDay" (ngModelChange)="MonthDayChange(MonthDay)" style="display: block">
<label nz-radio [nzValue]="2" class="mt-sm"

View File

@ -4,6 +4,8 @@ import { NzUploadFile } from 'ng-zorro-antd/upload';
import { Observable, Observer, of } from 'rxjs';
import { apiConf } from '@conf/api.conf';
import { SystemService } from '../../services/system.service';
const NOJSONTYPE = new Set([8, 12, 13]);
const IMAGECONFIG = {
previewFile: (file: NzUploadFile) => of(file.url),
action: apiConf.waterFileUpload,
@ -35,13 +37,17 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
isEveryDay: false,
isEveryWeek: false
};
personValue!: number;
enterpriseValue!: number;
auditValue!: number;
auditTime!: any;
labelWidth = 250;
personServe!: number; // 个人提现手续费
enterpriseServe!: number; // 企业提现手续费
auditValue!: boolean; // 提现审核
auditTime!: any; // 审核时间
silenceClient!: number; // 沉默客户
loseClient!: number; // 流失客户
everyDay: any;
auditTimeStatus: boolean = false;
everyDay: boolean = false;
MonthDay: boolean = false;
MonthDay: any;
time: Date | null = null;
defaultOpenValue = new Date(0, 0, 0, 0, 0, 0);
tabs = [
@ -105,9 +111,32 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
// };
constructor(private service: SystemService) {}
ngOnChanges(changes: SimpleChanges): void {
ngOnChanges(changes: any): void {
if (changes.configList) {
console.log(changes.configList.currentValue);
console.log(changes.configList.currentValue[0]?.remark);
this.personServe = changes.configList.currentValue[0]?.remark.personServe, // 个人提现手续费
this.enterpriseServe= changes.configList.currentValue[0]?.remark.enterpriseServe, // 企业提现手续费
this.auditValue= changes.configList.currentValue[0]?.remark.auditValue, // 提现审核
this.auditTime= changes.configList.currentValue[0]?.remark.auditTime, // 审核时间
this.silenceClient= changes.configList.currentValue[0]?.remark.silenceClient, // 沉默客户
this.loseClient= changes.configList.currentValue[0]?.remark.loseClient // 流失客户
this.everyDayData= changes.configList.currentValue[0]?.remark.everyDayData // 流失客户
this.MonthDayData= changes.configList.currentValue[0]?.remark.MonthDayData // 流失客户
if (this.auditTime == '2') {
// 每天
this.auditTimeStatus = true;
if(this.everyDayData){
this.everyDayData = this.everyDayData
this.everyDay = 1
} else if(this.MonthDayData) {
// 每周
this.MonthDay = 2
this.MonthDayData = this.MonthDayData
this.TimeStatus =false
}
} else {
this.auditTimeStatus = false;
}
}
}
@ -136,23 +165,47 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
});
}
addMonth() {
this.MonthDayData.push({
month: [
{ label: '周一', value: '周一' },
{ label: '周二', value: '周二' },
{ label: '周', value: '周' },
{ label: '周', value: '周' },
{ label: '周', value: '周' },
{ label: '周', value: '周' },
{ label: '周', value: '周' }
],
Times: [
console.log(this.MonthDayData);
if(this.MonthDayData) {
this.MonthDayData.push({
month: [
{ label: '周', value: '周' },
{ label: '周', value: '周' },
{ label: '周', value: '周' },
{ label: '周', value: '周' },
{ label: '周', value: '周' },
{ label: '周六', value: '周六' },
{ label: '周日', value: '周日' }
],
Times: [
{
startTime: '',
endTime: ''
}
]
});
} else {
this.MonthDayData = [
{
startTime: '',
endTime: ''
month: [
{ label: '周一', value: '周一' },
{ label: '周二', value: '周二' },
{ label: '周三', value: '周三' },
{ label: '周四', value: '周四' },
{ label: '周五', value: '周五' },
{ label: '周六', value: '周六' },
{ label: '周日', value: '周日' }
],
Times: [
{
startTime: [],
endTime: []
}
]
}
]
});
];
}
}
delMonth(value: number, index: number) {
this.MonthDayData[value].Times.splice(index, 1);
@ -165,14 +218,12 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
console.log(this.MonthDayData);
}
everyDayChange(type: any): void {
console.log(type);
if (type) {
this.MonthDay = false;
this.TimeStatus = true;
}
}
MonthDayChange(type: any): void {
console.log(type);
if (type) {
this.everyDay = false;
this.TimeStatus = false;
@ -315,13 +366,63 @@ export class PartnerSystemConfigComponent implements OnInit, OnChanges {
});
};
changeAuto(value: any) {
console.log(value);
if (value == '2') {
this.auditTimeStatus = true;
} else {
this.auditTimeStatus = false;
}
}
save() {
let params : any = {
personServe: this.personServe, // 个人提现手续费
enterpriseServe: this.enterpriseServe, // 企业提现手续费
auditValue: this.auditValue, // 提现审核
auditTime: this.auditTime, // 审核时间
silenceClient: this.silenceClient, // 沉默客户
loseClient: this.loseClient // 流失客户
};
if(this.auditTime == '2') {
// 每天
console.log(this.everyDay);
console.log(this.MonthDay);
if(this.everyDay){
params.everyDayData = this.everyDayData
} else if(this.MonthDay) {
// 每周
params.MonthDayData = this.MonthDayData
}
}
const pra = Object.assign({}, ...this.configList)
pra.remark = JSON.stringify(params)
this.service.request(this.service.$api_update_config_batch, [pra]).subscribe(res => {
if (res) {
this.service.msgSrv.success('修改配置成功');
setTimeout(() => {
this.getConfigList(this.selectedTab);
}, 100);
}
});
}
getConfigList(selectedTab: any) {
this.selectedTab = selectedTab;
this.service.request(this.service.$api_get_config_by_parent_id, { id: selectedTab?.id }).subscribe((res: Array<any>) => {
if (res?.length > 0) {
res = res.map(item => ({
...item,
remark: item.remark ? JSON.parse(item.remark) : null,
itemValue: item?.itemValue ? (NOJSONTYPE.has(item?.itemType) ? item?.itemValue : JSON.parse(item?.itemValue)) : item?.itemValue,
itemData: item.itemData ? JSON.parse(item.itemData) : item.itemData
}));
const hiddenType = res.find(item => item.itemType === 7 || item.itemType === 999);
this.labelWidth = hiddenType ? 0 : 250;
this.configList = res;
} else {
this.configList = [];
}
});
}
private getImageModel(args: any, key: any) {
return [
{

View File

@ -29,26 +29,34 @@ import { SmsTemplateComponent } from './components/sms-template/sms-template.com
import { OrganizationManagementComponent } from './components/organization-management/organization-management.component';
const routes: Routes = [
{ path: 'staff-management', component: StaffManagementComponent },
{ path: 'staff-management', component: StaffManagementComponent, data: { guard: { ability: ['SYSTEM-STAFF-list'] } } },
{ path: 'role-management/user/:type', component: RoleManagementComponent },
{ path: 'role-management/freight/:type', component: RoleManagementComponent },
{ path: 'organization-management', component: OrganizationManagementComponent },
{ path: 'basic-setting', component: BasicSettingComponent },
{ path: 'organization-management', component: OrganizationManagementComponent, data: { guard: { ability: ['SYSTEM-ROLE-list'] } } },
{ path: 'basic-setting', component: BasicSettingComponent, data: { guard: { ability: ['SYSTEM-BASIC_SETTING-list'] } } },
{ path: 'note-management', component: NoTeManagementComponent },
{ path: 'basic-config', component: BasicConfigComponent },
{ path: 'audit-reason-config', component: AuditReasonConfigComponent },
{ path: 'cart-config', component: CartConfigComponent },
{ path: 'agreement-config', component: AgreementConfigComponentsBaseComponent },
{
path: 'cart-config',
component: CartConfigComponent,
data: { guard: { ability: ['SYSTEM-CART-CONFIG-modeList', 'SYSTEM-CART-CONFIG-cartLength', 'SYSTEM-CART-CONFIG-goodsList'] } }
},
{
path: 'agreement-config',
component: AgreementConfigComponentsBaseComponent,
data: { guard: { ability: ['SYSTEM-AGREEMENT-CONFIG-list'] } }
},
{ path: 'system-config', component: SystemConfigComponent },
{ path: 'goods-name-config', component: GoodsNameConfigComponent },
{ path: 'crm-management', component: CrmManagementComponent },
{ path: 'network-freight', component: NetworkFreightComponent },
{ path: 'goods-name-config', component: GoodsNameConfigComponent, data: { guard: { ability: ['SYSTEM-GOODS-NAME-CONFIG-list'] } } },
{ path: 'crm-management', component: CrmManagementComponent, data: { guard: { ability: ['SYSTEM-CRM-list'] } } },
{ path: 'network-freight', component: NetworkFreightComponent, data: { guard: { ability: ['SYSTEM-NETWORK-FREIGHT-list'] } } },
{ path: 'network-freight/new/:id', component: NetworkFreightNewComponent },
{ path: 'close-account', component: CloseAccountComponent },
// { path: 'btn-management', component: BtnManagementComponent },
{ path: 'announcement-message', component: AnnouncementMessageComponent },
{ path: 'insurance-set', component: InsuranceSetComponent },
{ path: 'sms-template', component: SmsTemplateComponent}
{ path: 'sms-template', component: SmsTemplateComponent }
];
@NgModule({

View File

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-12-03 15:23:05
* @LastEditTime : 2022-04-27 15:52:30
* @LastEditTime : 2022-04-27 20:54:10
* @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\\sys-setting.module.ts
@ -38,6 +38,7 @@ import { OrganizationManagementComponent } from './components/organization-manag
import { OrganizationModalComponent } from './components/organization-management/organization-modal/organization-modal.component';
import { ApiAuthModalComponent } from './components/organization-management/api-auth-modal/api-auth-modal.component';
import { MenuTreeComponent } from './components/organization-management/menu-tree/menu-tree.component';
import { PartnerSystemConfigComponent } from './components/config/config.component';
const COMPONENTS = [
StaffManagementComponent,
@ -58,6 +59,7 @@ const COMPONENTS = [
NoTeManagementComponent,
SmsTemplateComponent,
OrganizationManagementComponent,
PartnerSystemConfigComponent
];
const NOTROUTECOMPONENTS = [
BuyerTranspowerComponent,

View File

@ -179,8 +179,10 @@ export class InvoiceRequestedDetailComponent implements OnInit {
routeToOrder(item: any) {
if (item.billType === '1') {
this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.billHId]);
} else {
} else if (item.billType === '2'){
this.router.navigate(['/order-management/bulk/bulk-detail/' + item.billHId]);
} else if (item.billType === '3'){
this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.billHId]);
}
}

View File

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-12-23 16:50:17
* @LastEditTime : 2022-04-21 13:57:43
* @LastEditTime : 2022-04-28 13:54:14
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\requested-invoice-modal\\requested-invoice-modal.component.ts
@ -88,7 +88,7 @@ export class RequestedInvoiceModalComponent {
{ title: '订单号', index: 'billHCode', width: 150 },
{ title: '订单完成日期', index: 'billfinTime', type: 'date', width: 150 },
{ title: '所属项目', index: 'projectIdName', width: 250 },
{ title: '订单类型', index: 'billTypeName', width: 90 },
{ title: '订单类型', index: 'billTypeLabel', width: 90 },
{ title: '装货地', index: 'loadingfrom', width: 250 },
{ title: '卸货地', index: 'loadingto', width: 250 },
{ title: '货物信息', index: 'goodsinfo', width: 170 },

View File

@ -16,8 +16,8 @@
<p style="margin-bottom: 0;word-break:break-all">{{ detailData?.enterpriseName }}</p>
</div>
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
<nz-badge nzStatus="success" nzText="正常" *ngIf="detailData?.stateLocked === 0"></nz-badge>
<nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.stateLocked === 1"></nz-badge>
<nz-badge nzStatus="success" nzText="正常" *ngIf="!detailData?.stateLocked"></nz-badge>
<nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.stateLocked"></nz-badge>
</div>
</div>
<div nz-row>
@ -48,30 +48,30 @@
保存
</button>
<button [disabled]="false" nz-button nzDanger (click)="auditPass(true)"
*ngIf="detailData?.approvalStatus===10" acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']">
*ngIf="detailData?.approvalStatus===10" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']">
通过
</button>
</ng-container>
<ng-template #editButton>
<ng-container *ngIf="detailData?.approvalStatus===10">
<button [disabled]="false" nz-button nzDanger (click)="auditPass(false)" acl
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']">
[acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']">
通过
</button>
<button [disabled]="false" nz-button nzDanger (click)="auditNo()" acl
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-audit']">
[acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-pass']">
驳回
</button>
</ng-container>
<ng-container *ngIf="detailData?.approvalStatus!=10">
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="enable"
(nzOnConfirm)="freezeOrResume(0)" nzPopconfirmPlacement="bottomRight" *ngIf="detailData?.stateLocked"
acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']">
acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-lock']">
启用
</button>
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen"
(nzOnConfirm)="freezeOrResume(1)" nzPopconfirmPlacement="bottomRight" *ngIf="!detailData?.stateLocked"
acl [acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-lock']">
acl [acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-lock']">
冻结
</button>
<button [disabled]="false" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="Payfrozen"
@ -84,7 +84,7 @@
</button>
</ng-container>
<button [disabled]="false" nz-button nzDanger (click)="ratify()" acl
[acl-ability]="['USERCENTER-FREIGHT-ENTERPRISE-D-save']">
[acl-ability]="['USERCENTER-FREIGHT-LIST-DETAIL-save']">
修改
</button>
</ng-template>

View File

@ -156,7 +156,7 @@
<div class="mb-md save-btn">
<button class="ml-lg" nz-button nzSize="large" nzType="primary" (click)="saveAction()"
*ngIf="selectedTab?.configKey!=='freight' && labelWidth!==0">保存</button>
*ngIf="selectedTab?.configKey!=='freight' && labelWidth!==0 && isCanSave">保存</button>
</div>
</div>
</div>

View File

@ -28,6 +28,8 @@ export class DynamicSettingH5Component implements OnInit {
@Input()
configList: any = [];
@Input()
isCanSave = true;
@Output()
selectedEvent = new EventEmitter<any>();
@Output()

View File

@ -22,7 +22,7 @@ export * from './components/dynamic-setting';
export * from './components/singlepage-setting';
export * from './components/insurance-table/index';
export * from './components/rebate-table/index';
export * from './components/search-drawer';
export * from './components/search-drawer/index';
// Utils
export * from './utils';

View File

@ -39,8 +39,9 @@ import { PipeModule } from './pipes';
import { AccountDetailComponent } from './components/account-detail/account-detail.component';
import { CaptchaModule } from './components/captcha';
import { rebateTableModule } from './components/rebate-table';
import { SearchDrawerComponent } from './components/search-drawer/search-drawer.component';
import { SearchDrawerModule } from './components/search-drawer/search-drawer.module';
import { SearchDrawerModule } from './components/search-drawer';
// import { SearchDrawerComponent } from './components/search-drawer/search-drawer.component';
const MODULES = [
AddressModule,