Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -95,7 +95,9 @@ export class StartupService {
|
||||
// ACL:设置权限为全量
|
||||
this.aclService.setFull(false);
|
||||
// 初始化菜单
|
||||
if(menuData){
|
||||
this.menuService.add(menuData);
|
||||
}
|
||||
// 设置页面标题的后缀
|
||||
this.titleService.default = '';
|
||||
this.titleService.suffix = appData.name;
|
||||
|
||||
@ -80,6 +80,10 @@ export class WithdrawalsRecordComponent implements OnInit {
|
||||
label: '拒绝',
|
||||
type: 'default',
|
||||
onClick: () => {
|
||||
if (!this.msg) {
|
||||
this.service.msgSrv.warning('请填写拒绝原因 ');
|
||||
return false;
|
||||
}
|
||||
this.service
|
||||
.request(this.service.$api_disagree_refund, {
|
||||
refundApplicationId: params,
|
||||
@ -92,6 +96,7 @@ export class WithdrawalsRecordComponent implements OnInit {
|
||||
this.st.load(1);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -110,6 +115,7 @@ export class WithdrawalsRecordComponent implements OnInit {
|
||||
this.st.load(1);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -258,7 +264,7 @@ export class WithdrawalsRecordComponent implements OnInit {
|
||||
{ title: '提现银行账户', render: 'bankCardNumber', width: 180 },
|
||||
{ title: '提现状态', index: 'refundStatusLabel', width: 100 },
|
||||
{ title: '银行流水号', index: 'bankSerialNumber', width: 120 },
|
||||
{ title: '核心交易流水', index: 'coreSerNo', width: 120 },
|
||||
{ title: '核心交易流水', index: 'coreSerNo', width: 130 },
|
||||
{ title: '失败原因', index: 'rejectionCause', width: 150, format: item => item.failCause || item.rejectionCause },
|
||||
{
|
||||
title: '操作',
|
||||
|
||||
@ -13,27 +13,16 @@
|
||||
<!-- 搜索表单 -->
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
|
||||
<sf
|
||||
#sf
|
||||
[schema]="schema"
|
||||
[ui]="{ '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24, gutter: 4 } } }"
|
||||
[compact]="true"
|
||||
[button]="'none'"
|
||||
></sf>
|
||||
<sf #sf [schema]="schema"
|
||||
[ui]="{ '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24, gutter: 4 } } }" [compact]="true"
|
||||
[button]="'none'"></sf>
|
||||
</div>
|
||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand" class="text-right">
|
||||
<button
|
||||
nz-button
|
||||
nzType="primary"
|
||||
[nzLoading]="service.http.loading"
|
||||
(click)="st?.load(1)"
|
||||
acl
|
||||
[acl-ability]="['USERCENTER-FREIGHT-LIST-list']"
|
||||
>查询</button
|
||||
>
|
||||
<button nz-button nzType="primary" [disabled]="service.http.loading" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-export']"
|
||||
>导出</button
|
||||
>
|
||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||
class="text-right">
|
||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)" acl
|
||||
[acl-ability]="['USERCENTER-FREIGHT-LIST-list']">查询</button>
|
||||
<button nz-button nzType="primary" [disabled]="service.http.loading" acl
|
||||
[acl-ability]="['USERCENTER-FREIGHT-LIST-export']">导出</button>
|
||||
<button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button>
|
||||
<button nz-button nzType="link" (click)="expandToggle()">
|
||||
{{ !_$expand ? '展开' : '收起' }}
|
||||
@ -43,8 +32,41 @@
|
||||
</div>
|
||||
</nz-card>
|
||||
<nz-card>
|
||||
<div class="d-flex align-items-center mb-md " style="justify-content: end;">
|
||||
<button nz-button (click)="editRoleBatch()">修改角色</button>
|
||||
<button nz-button (click)="editIWBatch()">修改网络货运人</button>
|
||||
<div class="ml-md">
|
||||
已选择
|
||||
<strong class="text-primary">{{ selectedRows.length }}</strong> 条数据
|
||||
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 数据列表 -->
|
||||
<st #st [columns]="columns" [data]='service.$api_freight_config_page' [req]="{ process: beforeReq }"
|
||||
[scroll]="{ x: '1200px' }" [loading]="service.http.loading">
|
||||
[scroll]="{ x: '1200px' }" [loading]="service.http.loading" (change)="stChange($event)">
|
||||
</st>
|
||||
</nz-card>
|
||||
|
||||
<ng-template #IWModal>
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col nzSpan="24" se-container [labelWidth]="120">
|
||||
<se [col]="1" label="网络货运人" required>
|
||||
<nz-select nzPlaceHolder="请选择" [(ngModel)]="networkTransporter">
|
||||
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of ltdId"></nz-option>
|
||||
</nz-select>
|
||||
</se>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #roleModal>
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col nzSpan="24" se-container [labelWidth]="120">
|
||||
<se [col]="1" label="企业角色" required>
|
||||
<nz-select nzPlaceHolder="请选择" [(ngModel)]="roleId">
|
||||
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of roles"></nz-option>
|
||||
</nz-select>
|
||||
</se>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
@ -1,6 +1,6 @@
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { Router, ActivatedRoute } from '@angular/router';
|
||||
import { STColumn, STComponent, STRequestOptions, STData } from '@delon/abc/st';
|
||||
import { STColumn, STComponent, STRequestOptions, STData, STChange } from '@delon/abc/st';
|
||||
import { SFUISchema, SFSchema, SFComponent, SFDateWidgetSchema } from '@delon/form';
|
||||
import { ShipperBaseService, DynamicSettingModalComponent } from '@shared';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
@ -10,34 +10,60 @@ import { UsermanageService } from '../../../services/usercenter.service';
|
||||
@Component({
|
||||
selector: 'app-freight-config',
|
||||
templateUrl: './freight-config.component.html',
|
||||
styleUrls: ['../../../../commom/less/box.less']
|
||||
styleUrls: ['../../../../commom/less/box.less', '../../../../commom/less/expend-but.less']
|
||||
})
|
||||
export class FreightConfigComponent implements OnInit {
|
||||
schema: SFSchema = this.initSF();
|
||||
columns: STColumn[] = this.initST();
|
||||
@ViewChild('st', { static: false }) st!: STComponent;
|
||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||
selectedRows: any[] = [];
|
||||
|
||||
@ViewChild('IWModal', { static: false })
|
||||
IWModal!: any;
|
||||
@ViewChild('roleModal', { static: false })
|
||||
roleModal!: any;
|
||||
ltdId: any = [];
|
||||
roles: any = [];
|
||||
networkTransporter = null;
|
||||
roleId = null;
|
||||
_$expand = false;
|
||||
constructor(public service: UsermanageService, private modal: NzModalService, public shipperservice: ShipperBaseService) {}
|
||||
|
||||
ngOnInit() {
|
||||
this.initST();
|
||||
this.loadltdId();
|
||||
this.loadRoles();
|
||||
}
|
||||
|
||||
beforeReq = (requestOptions: STRequestOptions) => {
|
||||
Object.assign(requestOptions.body, { listSource: 1 });
|
||||
if (this.sf) {
|
||||
console.log(1);
|
||||
|
||||
if (this.sf?.value) {
|
||||
Object.assign(requestOptions.body, {
|
||||
...this.sf.value
|
||||
});
|
||||
if (this.sf?.value.createTime) {
|
||||
Object.assign(requestOptions.body, {
|
||||
...this.sf.value,
|
||||
createTime: {
|
||||
start: this.sf?.value.effectiveDate[0],
|
||||
end: this.sf?.value.effectiveDate[1]
|
||||
start: this.sf?.value.createTime[0],
|
||||
end: this.sf?.value.createTime[1]
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return requestOptions;
|
||||
};
|
||||
|
||||
stChange(e: STChange): void {
|
||||
switch (e.type) {
|
||||
case 'checkbox':
|
||||
this.selectedRows = e.checkbox!;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
settingAction(item?: any) {
|
||||
const modal = this.modal.create({
|
||||
nzTitle: '配置',
|
||||
@ -48,20 +74,20 @@ export class FreightConfigComponent implements OnInit {
|
||||
businessId: item.id,
|
||||
formatTypeList: (item: any[]) => [
|
||||
...item,
|
||||
// {
|
||||
// name: '权限配置',
|
||||
// items: [
|
||||
// {
|
||||
// configType: 1,
|
||||
// itemType: 999
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
name: '费率变更记录',
|
||||
name: '权限配置',
|
||||
configType: 1,
|
||||
items: [
|
||||
{
|
||||
itemType: 999
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '费率变更记录',
|
||||
configType: 2,
|
||||
items: [
|
||||
{
|
||||
itemType: 999
|
||||
}
|
||||
]
|
||||
@ -77,6 +103,68 @@ export class FreightConfigComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
editRoleBatch() {
|
||||
if (this.selectedRows?.length <= 0) {
|
||||
this.service.msgSrv.warning('请选择企业');
|
||||
return;
|
||||
}
|
||||
this.roleId = null;
|
||||
const modal = this.modal.create({
|
||||
nzTitle: '修改角色',
|
||||
nzContent: this.roleModal,
|
||||
nzOnOk: () => {
|
||||
if (!this.roleId) {
|
||||
return false;
|
||||
}
|
||||
this.service
|
||||
.request(this.service.$api_update_enter_role_batch, {
|
||||
enterpriseIdList: this.selectedRows.map(i => i.id),
|
||||
roleId: this.roleId
|
||||
})
|
||||
.subscribe((res: Array<string>) => {
|
||||
if (res) {
|
||||
this.service.msgSrv.success('修改成功');
|
||||
this.st.load(1);
|
||||
modal.destroy();
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
editIWBatch() {
|
||||
if (this.selectedRows?.length <= 0) {
|
||||
this.service.msgSrv.warning('请选择企业');
|
||||
return;
|
||||
}
|
||||
this.networkTransporter = null;
|
||||
const modal = this.modal.create({
|
||||
nzTitle: '修改网络货运人',
|
||||
nzContent: this.IWModal,
|
||||
nzOnOk: () => {
|
||||
if (!this.networkTransporter) {
|
||||
return false;
|
||||
}
|
||||
this.service
|
||||
.request(this.service.$api_update_enter_newowork_batch, {
|
||||
enterpriseIdList: this.selectedRows.map(i => i.id),
|
||||
networkTransporterId: this.networkTransporter
|
||||
})
|
||||
.subscribe((res: Array<string>) => {
|
||||
if (res && res.length === 0) {
|
||||
this.service.msgSrv.success('修改成功');
|
||||
this.st.load(1);
|
||||
modal.destroy();
|
||||
} else {
|
||||
this.service.msgSrv.error(`企业${res?.join(',')}修改失败`);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
exportList() {
|
||||
const params = {};
|
||||
if (this.sf) {
|
||||
@ -86,6 +174,21 @@ export class FreightConfigComponent implements OnInit {
|
||||
}
|
||||
this.service.downloadFile(this.service.$api_export_enterprise, params);
|
||||
}
|
||||
loadltdId() {
|
||||
this.service.getNetworkFreightForwarder().subscribe(res => {
|
||||
if (res) {
|
||||
this.ltdId = res;
|
||||
}
|
||||
});
|
||||
}
|
||||
loadRoles() {
|
||||
this.service.getRoles({ enterpriseId: 0, projectId: 0 }).subscribe(res => {
|
||||
if (res) {
|
||||
this.roles = res;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 伸缩查询条件
|
||||
*/
|
||||
@ -139,28 +242,29 @@ export class FreightConfigComponent implements OnInit {
|
||||
showRequired: false,
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
effectiveDate: {
|
||||
createTime: {
|
||||
title: '注册时间',
|
||||
type: 'string',
|
||||
ui: {
|
||||
widget: 'date',
|
||||
mode: 'range',
|
||||
widget: 'sl-from-to-search',
|
||||
format: 'yyyy-MM-dd',
|
||||
placeholder: '请选择',
|
||||
nzShowTime: true,
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
allowClear: true,
|
||||
} as SFDateWidgetSchema,
|
||||
},
|
||||
_$expand: (value: boolean) => value
|
||||
}
|
||||
} as SFDateWidgetSchema
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
initST(): STColumn[] {
|
||||
return [
|
||||
{ title: '', index: 'key', type: 'checkbox' },
|
||||
{ title: '企业名称', className: 'text-center', index: 'enterpriseName', width: 350 },
|
||||
{ title: '网络货运人', className: 'text-center', index: 'netTranName', width: 160 },
|
||||
{
|
||||
@ -180,7 +284,7 @@ export class FreightConfigComponent implements OnInit {
|
||||
{
|
||||
title: '合同单业务量(元)',
|
||||
index: 'contractQuota',
|
||||
width: 140,
|
||||
width: 160,
|
||||
type: 'widget',
|
||||
className: 'text-right',
|
||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.contractQuota }) }
|
||||
@ -188,7 +292,7 @@ export class FreightConfigComponent implements OnInit {
|
||||
{
|
||||
title: '货源单业务量(元)',
|
||||
index: 'goodsQuota',
|
||||
width: 140,
|
||||
width: 160,
|
||||
type: 'widget',
|
||||
className: 'text-right',
|
||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.goodsQuota }) }
|
||||
@ -197,7 +301,7 @@ export class FreightConfigComponent implements OnInit {
|
||||
title: '注册时间',
|
||||
index: 'createTime',
|
||||
width: 180,
|
||||
className: 'text-right',
|
||||
className: 'text-right'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
||||
@ -123,6 +123,9 @@
|
||||
<label *ngIf="detailData?.approvalStatus===30" style="color: #ff4d4f;"><i nz-icon nzType="close-circle"
|
||||
nzTheme="fill" class="mr-xs"></i>驳回 驳回原因:{{detailData?.approvalOpinion}}
|
||||
</label>
|
||||
<label *ngIf="detailData?.isExpired===30" style="color: #fa8c16;">
|
||||
<i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期
|
||||
</label>
|
||||
<p style="margin-bottom: 0;">
|
||||
四要素验证:
|
||||
<label *ngIf="detailData?.esignCheckStatus===0" style="color: #ff4d4f;"><i nz-icon nzType="info-circle"
|
||||
@ -246,7 +249,11 @@
|
||||
</sv-container>
|
||||
<nz-divider></nz-divider>
|
||||
<sv-container col="3" class="mt16">
|
||||
<sv-title>法人信息</sv-title>
|
||||
<sv-title>法人信息
|
||||
<label *ngIf="detailData?.legalPersonIdentityVO?.isExpired===30" style="color: #fa8c16;">
|
||||
<i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期
|
||||
</label>
|
||||
</sv-title>
|
||||
<sv label="法定代表人">
|
||||
<input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.name" [readonly]="!isEdit"
|
||||
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'">
|
||||
@ -286,7 +293,11 @@
|
||||
</sv-container>
|
||||
<nz-divider></nz-divider>
|
||||
<sv-container col="3">
|
||||
<sv-title>企业管理员信息</sv-title>
|
||||
<sv-title>企业管理员信息
|
||||
<label *ngIf="detailData?.adminUserInfo?.isExpired===30" style="color: #fa8c16;">
|
||||
<i nz-icon nzType="info-circle" nzTheme="fill" class="ml-md mr-xs"></i>企业营业期限已过期
|
||||
</label>
|
||||
</sv-title>
|
||||
<sv label="姓名">
|
||||
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.name" [readonly]="!isEdit"
|
||||
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'">
|
||||
|
||||
@ -37,6 +37,10 @@ export class UsermanageService extends ShipperBaseService {
|
||||
|
||||
// 查询货主配置列表
|
||||
$api_freight_config_page = '/api/mdc/cuc/enterpriseInfo/operate/list/configPage';
|
||||
// 更新企业超级管理员权限
|
||||
$api_update_enter_role_batch = '/api/mdc/cuc/enterpriseInfo/operate/updateRole';
|
||||
// 批量更新企业网络货运人
|
||||
$api_update_enter_newowork_batch = '/api/mdc/cuc/enterpriseInfo/operate/updatnNetworkTransporter';
|
||||
|
||||
// 货主员工列表(运营后台)
|
||||
$api_get_user_list = '/api/mdc/cuc/userApp/getShipperUserList';
|
||||
|
||||
@ -3,14 +3,13 @@
|
||||
<custom-element>
|
||||
<ng-container [ngSwitch]="selectedTab?.configType">
|
||||
<ng-container *ngSwitchCase="1">
|
||||
权限配置
|
||||
<app-enter-auth [enterpriseId]="businessId"> </app-enter-auth>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchCase="2">
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchDefault>
|
||||
<app-rate-change [businessId]="businessId" [configFullKey]="configFullKey"></app-rate-change>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchDefault>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
</custom-element>
|
||||
</app-dynamic-setting-h5>
|
||||
@ -20,7 +20,14 @@ import { SEModule } from '@delon/abc/se';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { RateChangeComponent } from './rate-change/rate-change.component';
|
||||
import { STModule } from '@delon/abc/st';
|
||||
const COMPONENTS = [DynamicSettingH5Component, DynamicSettingModalComponent, FreightTableComponent, RateChangeComponent];
|
||||
import { EnterAuthComponent } from './enter-auth/enter-auth.component';
|
||||
const COMPONENTS = [
|
||||
DynamicSettingH5Component,
|
||||
DynamicSettingModalComponent,
|
||||
FreightTableComponent,
|
||||
RateChangeComponent,
|
||||
EnterAuthComponent
|
||||
];
|
||||
@NgModule({
|
||||
declarations: [...COMPONENTS],
|
||||
imports: [CommonModule, FormsModule, SHARED_ZORRO_MODULES, SEModule, STModule],
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col nzSpan="24" se-container [labelWidth]="120">
|
||||
<se [col]="1" label="企业角色" required>
|
||||
<nz-select nzPlaceHolder="请选择" [(ngModel)]="roleId" style="width: 150px;">
|
||||
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of roles"></nz-option>
|
||||
</nz-select>
|
||||
</se>
|
||||
</div>
|
||||
</div>
|
||||
<div nz-row nzGutter="8">
|
||||
<div nz-col nzSpan="24">
|
||||
<button nz-button nzSize="large" nzType="primary" (click)="saveAction()" style="float: right;"
|
||||
class="mt-md">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,52 @@
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { NzModalRef } from 'ng-zorro-antd/modal';
|
||||
import { ShipperBaseService } from 'src/app/shared/services/business/shipper-base.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-enter-auth',
|
||||
templateUrl: './enter-auth.component.html'
|
||||
})
|
||||
export class EnterAuthComponent implements OnInit {
|
||||
@Input()
|
||||
enterpriseId = '';
|
||||
@Input()
|
||||
roleId = '';
|
||||
|
||||
roles: any[] = [];
|
||||
|
||||
constructor(private service: ShipperBaseService, private modalHelp: NzModalRef) {
|
||||
this.loadRoles();
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
console.log(this.enterpriseId);
|
||||
|
||||
this.loadEnterRole();
|
||||
}
|
||||
|
||||
loadEnterRole() {
|
||||
this.service.request('/api/mdc/cuc/enterpriseInfo/operate/getRole', { enterpriseId: this.enterpriseId }).subscribe(res => {
|
||||
if (res) {
|
||||
this.roleId = res.roleId;
|
||||
}
|
||||
});
|
||||
}
|
||||
loadRoles() {
|
||||
this.service.getRoles({ enterpriseId: 0, projectId: 0 }).subscribe(res => {
|
||||
if (res) {
|
||||
this.roles = res;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
saveAction() {
|
||||
this.service
|
||||
.request('/api/mdc/cuc/enterpriseInfo/operate/updateRole', { enterpriseIdList: [this.enterpriseId], roleId: this.roleId })
|
||||
.subscribe(res => {
|
||||
if (res) {
|
||||
this.service.msgSrv.success('修改成功');
|
||||
this.modalHelp.destroy(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user