Merge branch 'develop'

This commit is contained in:
wangshiming
2022-05-07 15:02:55 +08:00
32 changed files with 1546 additions and 1060 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-18 09:51:21 * @Date : 2022-01-18 09:51:21
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-05-07 10:35:23 * @LastEditTime : 2022-05-07 14:49:15
* @FilePath : \\tms-obc-web\\proxy.conf.js * @FilePath : \\tms-obc-web\\proxy.conf.js
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */

View File

@ -12,6 +12,7 @@ import { environment } from '@env/environment';
const alainConfig: AlainConfig = { const alainConfig: AlainConfig = {
st: { st: {
bordered: true,
req: { method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }, req: { method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } },
res: { reName: { list: 'data.records', total: 'data.total' } }, res: { reName: { list: 'data.records', total: 'data.total' } },
page: { show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000], toTop: false }, page: { show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000], toTop: false },

View File

@ -113,8 +113,12 @@
line-height: 21px; line-height: 21px;
} }
.text-truncate { // .text-truncate {
white-space: normal; // white-space: normal;
// }
// 强制头部居中
.ant-table-container table>thead>tr>.options {
text-align: center !important;
} }
} }
} }
@ -138,4 +142,4 @@
} }
} }
.height_box{} .height_box {}

View File

@ -5,7 +5,7 @@ import { OnChanges } from '@angular/core';
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-05 11:01:55 * @Date : 2022-01-05 11:01:55
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-04-27 20:19:39 * @LastEditTime : 2022-05-07 14:28:16
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-detail\\contract-template-detail.component.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-detail\\contract-template-detail.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
@ -94,7 +94,8 @@ export class ContractManagementTemplateTextComponent implements OnInit {
{ label: '订单补充协议', value: '2' }, { label: '订单补充协议', value: '2' },
{ label: '运单合同', value: '3' }, { label: '运单合同', value: '3' },
{ label: '运单补充协议', value: '4' }, { label: '运单补充协议', value: '4' },
{ label: '委托代收合同', value: '5' } { label: '委托代收合同', value: '5' },
{ label: '权力义务转让协议', value: '10' },
]; ];
this.sf.getProperty('/contractType')!.schema.enum = this.Types; this.sf.getProperty('/contractType')!.schema.enum = this.Types;
this.sf.getProperty('/contractType')!.widget.reset(this.Types); this.sf.getProperty('/contractType')!.widget.reset(this.Types);
@ -217,7 +218,8 @@ export class ContractManagementTemplateTextComponent implements OnInit {
{ label: '订单补充协议', value: '2' }, { label: '订单补充协议', value: '2' },
{ label: '运单合同', value: '3' }, { label: '运单合同', value: '3' },
{ label: '运单补充协议', value: '4' }, { label: '运单补充协议', value: '4' },
{ label: '委托代收合同', value: '5' } { label: '委托代收合同', value: '5' },
{ label: '权力义务转让协议', value: '10' },
]; ];
setTimeout(() => { setTimeout(() => {
if (this.sf) { if (this.sf) {

View File

@ -245,7 +245,7 @@ export class ContractManagementTemplateDetailComponent implements OnInit {
this.service.request(this.service.$api_deletebatch_contractTemplate, [value.id]).subscribe(res => { this.service.request(this.service.$api_deletebatch_contractTemplate, [value.id]).subscribe(res => {
if (res) { if (res) {
this.service.msgSrv.success('删除成功!'); this.service.msgSrv.success('删除成功!');
this.st.reload(1) this.st.reload()
} }
}) })
}); });

View File

@ -45,14 +45,14 @@
</div> </div>
</div> </div>
</ng-template> </ng-template>
<!-- <div nz-row [nzGutter]="64"> <div nz-row [nzGutter]="64">
<div nz-col class="gutter-row" [nzSpan]="12"> <div nz-col class="gutter-row" [nzSpan]="12">
<app-operation-curve #curve [chartData]="chartData.lineChart"></app-operation-curve> <app-operation-curve #curve [chartData]="chartData.lineChart"></app-operation-curve>
</div> </div>
<div nz-col class="gutter-row" [nzSpan]="12"> <div nz-col class="gutter-row" [nzSpan]="12">
<app-operation-pillar #pillar [chartData]="chartData.histogram"></app-operation-pillar> <app-operation-pillar #pillar [chartData]="chartData.histogram"></app-operation-pillar>
</div> </div>
</div> --> </div>
</nz-card> </nz-card>
<app-opeationtable-pie #pie></app-opeationtable-pie> <app-opeationtable-pie #pie></app-opeationtable-pie>

View File

@ -73,9 +73,9 @@ export class DatatableOperationtableComponent implements OnInit {
} }
initPillarData(flag?: boolean){ initPillarData(flag?: boolean){
let type = 1 let type = 1
if(this.mode === 'year') { if(this.modeNext === 'year') {
type = 1 type = 1
} else if(this.mode === 'month') { } else if(this.modeNext === 'month') {
type = 2 type = 2
} }
const params: any = { const params: any = {
@ -126,7 +126,18 @@ export class DatatableOperationtableComponent implements OnInit {
// Can not select days before today and today // Can not select days before today and today
differenceInCalendarDays(current, this.today) > 0; differenceInCalendarDays(current, this.today) > 0;
exportFun() { exportFun() {
let type = 1
if(this.mode === 'year') {
type = 1
} else if(this.mode === 'month') {
type = 2
}
const params: any = {
time: this.time,
type,
enterpriseInfoId: this.enterpriseInfoId
};
this.service.exportStart({ ...params, pageSize: -1 }, this.service.$api_asyncExportOperationalReport);
} }
changeCurve(){ changeCurve(){
@ -135,9 +146,9 @@ export class DatatableOperationtableComponent implements OnInit {
} }
changeDataNext() { changeDataNext() {
if(this.mode === 'year') { if(this.modeNext === 'year') {
this.dateFormat = 'yyyy' this.dateFormat = 'yyyy'
} else if(this.mode === 'month') { } else if(this.modeNext === 'month') {
this.dateFormat = 'yyyy-MM' this.dateFormat = 'yyyy-MM'
} }
} }
@ -145,9 +156,9 @@ export class DatatableOperationtableComponent implements OnInit {
if(result === null) { if(result === null) {
return return
} }
if(this.mode === 'year') { if(this.modeNext === 'year') {
this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy') + '-01-01 00:00:00'] this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy') + '-01-01 00:00:00']
} else if(this.mode === 'month') { } else if(this.modeNext === 'month') {
this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy-MM') + '-01 00:00:00'] this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy-MM') + '-01 00:00:00']
} }
this.initPillarData(true) this.initPillarData(true)

View File

@ -1,5 +0,0 @@
:host {
.text-black {
color: #000;
}
}

View File

@ -1,24 +0,0 @@
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
import { DatatableFundReportingComponent } from './fund-reporting.component';
describe('DatatableFundReportingComponent', () => {
let component: DatatableFundReportingComponent;
let fixture: ComponentFixture<DatatableFundReportingComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [DatatableFundReportingComponent]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(DatatableFundReportingComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -107,6 +107,8 @@ export class DataService extends ShipperBaseService {
$api_total_freight = `/api/sdc/reportData/getTotalFreight`; $api_total_freight = `/api/sdc/reportData/getTotalFreight`;
// 附加费总额 // 附加费总额
$api_total_surcharge = `/api/sdc/reportData/getTotalSurcharge`; $api_total_surcharge = `/api/sdc/reportData/getTotalSurcharge`;
// 运营导出
$api_asyncExportOperationalReport = `/api/sdc/report/asyncExportOperationalReport`;

View File

@ -72,6 +72,16 @@ export class MenuModalComponent implements OnInit {
widget: 'radio' widget: 'radio'
} }
}, },
reuse: {
title: '是否缓存页面',
type: 'boolean',
default: this.formData.reuse || false,
enum: [true, false],
readOnly: this.isDisabled,
ui: {
widget: 'radio'
}
},
link: { link: {
title: '菜单路由', title: '菜单路由',
type: 'string', type: 'string',

View File

@ -290,7 +290,7 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements
placeholder: '请选择', placeholder: '请选择',
} }
}, },
enterpriseInfoName: { enterpriseInfoId: {
type: 'string', type: 'string',
title: '网络货运人', title: '网络货运人',
ui: { ui: {

View File

@ -297,7 +297,7 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
placeholder: '请选择' placeholder: '请选择'
} }
}, },
enterpriseInfoName: { enterpriseInfoId: {
type: 'string', type: 'string',
title: '网络货运人', title: '网络货运人',
ui: { ui: {

View File

@ -195,6 +195,5 @@ export class ParterLevelConfigListComponent implements OnInit {
*/ */
resetSF() { resetSF() {
this.sf.reset(); this.sf.reset();
this.st.load(1);
} }
} }

View File

@ -5,20 +5,22 @@
</button> </button>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <div class="custom-style">
<nz-card>
<div class="card-title">货源单设置</div> <div class="card-title">货源单设置</div>
<sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span>
</div>
<form nz-form [formGroup]="validateForm1" role="form"> <form nz-form [formGroup]="validateForm1" role="form">
<div nz-row [nzGutter]="24"> <div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data1 of startInfo; let idx = index"> <div *ngFor="let data1 of startInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>装货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货地'"> <nz-form-control [nzErrorTip]="'请输入装货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
@ -29,29 +31,31 @@
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div style="display: flex ;width: 86%"> <div nz-col [nzSpan]="20">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <div nz-row [nzGutter]="12">
<input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" maxlength="30" <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
placeholder="请输入联系人姓名" /> <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}"
name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" />
</nz-form-control> </nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'"> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input style="margin-left: 12px" nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11"
formControlName="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" />
</nz-form-control> </nz-form-control>
</div> </div>
</div>
</nz-form-item> </nz-form-item>
</div> </div>
</div> </div>
<div nz-col [nzSpan]="4"> <div nz-col [nzSpan]="4">
<div style="display: flex; justify-content: center"> <div class="icon-wrap">
<span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> <span class="swap-icon" (click)="swapAddress()"></span>
</div> </div>
</div> </div>
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data2 of endInfo; let idx = index"> <div *ngFor="let data2 of endInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>卸货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入卸货地'"> <nz-form-control [nzErrorTip]="'请输入卸货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
@ -62,26 +66,29 @@
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div style="display: flex;width: 86%"> <div nz-col [nzSpan]="20">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}"
placeholder="请输入联系人姓名" /> name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" />
</nz-form-control> </nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'"> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input style="margin-left: 12px" nz-input [(ngModel)]="data2.contractTelephone" <input nz-input [(ngModel)]="data2.contractTelephone"
formControlName="unloadPhone{{ idx }}" maxlength="11" placeholder="请输入联系人电话" /> formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11"
placeholder="请输入联系人电话" />
</nz-form-control> </nz-form-control>
</div> </div>
</div>
</nz-form-item> </nz-form-item>
</div> </div>
</div> </div>
</div> </div>
<ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template>
</form> </form>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">货物信息</div> <div class="card-title">货物信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="24"> <div nz-col nzSpan="24">
@ -90,7 +97,7 @@
<nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert>
</ng-template> </ng-template>
<ng-template #tpl> <ng-template #tpl>
<span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
</span> </span>
</ng-template> </ng-template>
@ -99,7 +106,7 @@
<ng-template sf-template="freightPrice" let-i let-ui="ui"> <ng-template sf-template="freightPrice" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> <nz-input-group [nzAddOnAfter]="addOnAfterTemplate">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
<ng-template #addOnAfterTemplate> <ng-template #addOnAfterTemplate>
<nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)"> <nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)">
@ -115,8 +122,8 @@
<nz-option nzLabel="抹除小数" nzValue="2"></nz-option> <nz-option nzLabel="抹除小数" nzValue="2"></nz-option>
<nz-option nzLabel="抹除个数" nzValue="3"></nz-option> <nz-option nzLabel="抹除个数" nzValue="3"></nz-option>
</nz-select> </nz-select>
<span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"><i nz-icon <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"><i
nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i></span> nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i></span>
<ng-template #template2> <ng-template #template2>
<p>例如 付司机运费 = 重量*单价 = 999.99</p> <p>例如 付司机运费 = 重量*单价 = 999.99</p>
<p>保留小数,即 999.99</p> <p>保留小数,即 999.99</p>
@ -128,39 +135,39 @@
<ng-template sf-template="weight" let-i let-ui="ui"> <ng-template sf-template="weight" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总重量,必填" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" <nz-input-number placeholder="总重量,必填" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number> style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="volume" let-i let-ui="ui"> <ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" <nz-input-number placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number> style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="number" let-i let-ui="ui"> <ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" <nz-input-number placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number> style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">补充信息</div> <div class="card-title">补充信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="12"> <div nz-col nzSpan="24">
<sf #sf7 [schema]="schema7" [formData]="sf7data" [button]="'none'" [ui]="ui7"> <sf #sf7 [schema]="schema7" [formData]="sf7data" [button]="'none'" [ui]="ui7">
<ng-template sf-template="paymentDays" let-i let-ui="ui"> <ng-template sf-template="paymentDays" let-i let-ui="ui">
<div nz-row> <div nz-row>
<div class="align-center"> <div class="align-center">
<div nz-col nzSpan="12"> <div nz-col nzSpan="14">
<nz-input-number [(ngModel)]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" [nzMax]="30" <nz-input-number [(ngModel)]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" [nzMax]="30"
[nzStep]="1"></nz-input-number> [nzStep]="1"></nz-input-number>
</div> </div>
<div nz-col nzSpan="12"> <div nz-col nzSpan="10">
<span>&nbsp;天内支付运费</span> <span>&nbsp;天内支付运费</span>
</div> </div>
</div> </div>
@ -169,15 +176,16 @@
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card class="btn-wrap">
<div class="align-center"> <div class="align-center">
<button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl <button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER- QRCode']">生成二维码</button> [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER- QRCode']">生成二维码</button>
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('assign')" acl <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('assign')" acl
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkDesignate']">指派熟车</button> [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkDesignate']">指派熟车</button>
<!-- <button nz-button nzType="primary" (click)="choose()">取消</button> --> <!-- <button nz-button nzType="primary" (click)="choose()">取消</button> -->
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" acl <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" acl
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkAnotherOrder']">司机抢单</button> [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkAnotherOrder']">司机抢单</button>
</div> </div>
</nz-card> </nz-card>
</div>

View File

@ -11,10 +11,10 @@
.sf3 { .sf3 {
.goods_Tips_item { .goods_Tips_item {
.goods_tips { .goods_tips {
width: calc(50% - 45px); width: calc(50% - 57px);
.ant-alert { .ant-alert {
padding: 0 0 0 2px; margin-bottom: 5px;
} }
} }
@ -79,3 +79,100 @@ input[type='number']::-webkit-outer-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
} }
.custom-style {
::ng-deep {
.ant-card {
margin-bottom: 0;
}
.ant-card-body {
padding-bottom: 0;
}
.ant-card-bordered {
border: 0 none;
}
.card-title {
display: flex;
align-items: center;
>span {
margin-left: 8px;
font-size: 14px;
em {
font-style: normal;
color: #E60012;
}
}
&::before {
content: '';
display: inline-block;
width: 2px;
height: 16px;
margin-right: 10px;
background: #E60012;
}
}
.ant-btn-dangerous {
border-radius: 4px;
color: #CF3834;
border-color: rgba(207, 56, 52, 0.5);
}
.icon-wrap {
display: flex;
justify-content: center;
height: 100%;
}
.swap-icon {
background: url('/assets/images/frame.png') no-repeat 50% 50%;
cursor: pointer;
}
.ant-input-affix-wrapper,
.ant-input,
.ant-picker,
.ant-select-selector,
.ant-input-number-input,
.ant-input-number {
border-radius: 4px ;
}
.ant-input-group-addon {
border-radius: 0 4px 4px 0;
}
.align-center {
.ant-btn {
height: 40px;
padding: 0 23px;
font-size: 16px;
border-radius: 3px;
}
}
.ant-select-arrow {
transform: scaleX(1.5) translateY(2px);
color: rgb(153,153,153);
font-size: 8px;
}
.ant-picker-suffix {
color: #333;
}
.btn-wrap {
margin-top: 20px;
padding-bottom: 20px;
}
.ant-alert {
padding: 6px 16px;
border-radius: 2px;
font-size: 14px;
}
.fc {
color: #f5222d;
}
}
}

View File

@ -203,7 +203,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
this.ui1 = { this.ui1 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
} }
}; };
} }
@ -223,7 +223,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
}, },
goodsTypeId: { goodsTypeId: {
type: 'string', type: 'string',
title: '货物名称', title: '货物类型',
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
@ -255,7 +255,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
errors: { required: '请填写货物名称' }, errors: { required: '请填写货物类型' },
change: (value: any, data: any) => { change: (value: any, data: any) => {
this.sf3.setValue('/goodsName', data.label); this.sf3.setValue('/goodsName', data.label);
}, },
@ -279,7 +279,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
title: '', title: '',
maxLength: 20, maxLength: 20,
ui: { ui: {
errors: { required: '请填写货物名称' }, errors: { required: '请填写货物类型' },
visibleIf: { visibleIf: {
goodsTypeName: (value: any) => value && value === '其它' goodsTypeName: (value: any) => value && value === '其它'
}, },
@ -293,9 +293,12 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
}; };
this.ui3 = { this.ui3 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 12 }
}, },
$goodsNameId: {
spanLabelFixed: 10
},
$goodsTips: { $goodsTips: {
grid: { span: 24 } grid: { span: 24 }
} }
@ -406,33 +409,37 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
}; };
this.ui4 = { this.ui4 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 24 } grid: { span: 12 }
}, },
$freightPrice: { $freightPrice: {
grid: { span: 8 } grid: { span: 8 }
}, },
$rule: { $rule: {
spanLabelFixed: 10,
grid: { span: 8 } grid: { span: 8 }
}, },
$settlementBasis: { $settlementBasis: {
spanLabelFixed: 10,
grid: { span: 8 } grid: { span: 8 }
}, },
$weight: { $weight: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } grid: { span: 4 }
}, },
$volume: { $volume: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } spanLabelFixed: 10,
grid: { span: 4 }
}, },
$number: { $number: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } spanLabelFixed: 10,
grid: { span: 4 }
}, },
$carModel: { $carModel: {
spanLabelFixed: 120, grid: { span: 6 }
grid: { span: 8 }
}, },
$carLength: { $carLength: {
grid: { span: 8 } spanLabelFixed: 10,
grid: { span: 6 }
} }
}; };
} }
@ -522,7 +529,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
ui: { ui: {
widget: 'textarea', widget: 'textarea',
placeholder: '请输入', placeholder: '请输入',
autosize: { minRows: 3, maxRows: 3 } autosize: { minRows: 1, maxRows: 1 }
} as SFTextareaWidgetSchema } as SFTextareaWidgetSchema
} }
}, },
@ -538,7 +545,10 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
}; };
this.ui7 = { this.ui7 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 8 }
},
$remarks: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };
@ -1152,7 +1162,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => { this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
if (res === false) { if (res === false) {
const modalRef = this.modalService.error({ const modalRef = this.modalService.error({
nzTitle: '货物名称含有违禁词,请重新输入!', nzTitle: '货物类型含有违禁词,请重新输入!',
}); });
modalRef.afterClose.subscribe(result => { modalRef.afterClose.subscribe(result => {
// this.sf3.setValue('/goodsName1', null); // this.sf3.setValue('/goodsName1', null);

View File

@ -5,127 +5,93 @@
</button> </button>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <div class="custom-style">
<nz-card>
<div class="card-title">货源单设置</div> <div class="card-title">货源单设置</div>
<sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data">
<ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template>
</sf> </sf>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span>
> </div>
<form #ngForm="ngForm" nz-form role="form"> <form #ngForm="ngForm" nz-form role="form">
<div nz-row [nzGutter]="24"> <div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data1 of startInfo; let idx = index"> <div *ngFor="let data1 of startInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>装货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货地'"> <nz-form-control [nzErrorTip]="'请输入装货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
<input <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)"
nz-input name="startDetailedAddress{{ idx }}" placeholder="请输入装货地" required readonly="true" />
[(ngModel)]="data1.detailedAddress"
(click)="openMap('start', idx)"
name="startDetailedAddress{{ idx }}"
placeholder="请输入装货地"
required
readonly="true"
/>
</nz-input-group> </nz-input-group>
</div> </div>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item > <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div style="display: flex;width: 86%"> <div nz-col [nzSpan]="20">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <div nz-row [nzGutter]="12">
<input <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
nz-input <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}"
[(ngModel)]="data1.appUserName" name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" />
name="startAppUserName{{ idx }}"
maxlength="30"
placeholder="请输入联系人姓名"
required
/>
</nz-form-control> </nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'"> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11"
style="margin-left: 12px" formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" />
nz-input
[(ngModel)]="data1.contractTelephone"
maxlength="11"
name="startContractTelephone{{ idx }}"
placeholder="请输入联系人电话"
required
/>
</nz-form-control> </nz-form-control>
</div> </div>
</div>
</nz-form-item> </nz-form-item>
</div> </div>
</div> </div>
<div nz-col [nzSpan]="4"> <div nz-col [nzSpan]="4">
<div style="display: flex; justify-content: center"> <div class="icon-wrap">
<span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" <span class="swap-icon" (click)="swapAddress()"></span>
nzTheme="outline"></i></span>
</div> </div>
</div> </div>
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data2 of endInfo; let idx = index"> <div *ngFor="let data2 of endInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>卸货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入卸货地'"> <nz-form-control [nzErrorTip]="'请输入卸货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
<input <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)"
nz-input name="endDetailedAddress{{ idx }}" placeholder="请输入卸货地" required readonly="true" />
[(ngModel)]="data2.detailedAddress"
(click)="openMap('end', idx)"
name="endDetailedAddress{{ idx }}"
placeholder="请输入卸货地"
required
readonly="true"
/>
</nz-input-group> </nz-input-group>
</div> </div>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div style="display: flex;width: 86%"> <div nz-col [nzSpan]="20">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <div nz-row [nzGutter]="12">
<input <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
nz-input <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}"
[(ngModel)]="data2.appUserName" name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" />
maxlength="30"
name="endAppUserName{{ idx }}"
placeholder="请输入联系人姓名"
required
/>
</nz-form-control> </nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'"> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input <input nz-input [(ngModel)]="data2.contractTelephone"
style="margin-left: 12px" formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11"
nz-input placeholder="请输入联系人电话" />
[(ngModel)]="data2.contractTelephone"
name="endUnloadPhone{{ idx }}"
maxlength="11"
placeholder="请输入联系人电话"
required
/>
</nz-form-control> </nz-form-control>
</div> </div>
</div>
</nz-form-item> </nz-form-item>
</div> </div>
</div> </div>
</div> </div>
<ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template>
</form> </form>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">货物信息</div> <div class="card-title">货物信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="24"> <div nz-col nzSpan="24">
@ -133,12 +99,13 @@
<sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data">
<ng-template sf-template="freightPrice" let-i let-ui="ui"> <ng-template sf-template="freightPrice" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> <nz-input-group [nzAddOnAfter]="addOnAfterTemplate">
<nz-input-number [nzMax]="99999" [nzMin] ="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
<ng-template #addOnAfterTemplate> <ng-template #addOnAfterTemplate>
<nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)"> <nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)">
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"> </nz-option> <nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions">
</nz-option>
</nz-select> </nz-select>
</ng-template> </ng-template>
</ng-template> </ng-template>
@ -149,9 +116,8 @@
<nz-option nzLabel="抹除小数" nzValue="2"></nz-option> <nz-option nzLabel="抹除小数" nzValue="2"></nz-option>
<nz-option nzLabel="抹除个数" nzValue="3"></nz-option> <nz-option nzLabel="抹除个数" nzValue="3"></nz-option>
</nz-select> </nz-select>
<span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom" <span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"><i
><i nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i></span>
></span>
<ng-template #template2> <ng-template #template2>
<p>例如 付司机运费 = 重量*单价 = 999.99</p> <p>例如 付司机运费 = 重量*单价 = 999.99</p>
<p>保留小数,即 999.99</p> <p>保留小数,即 999.99</p>
@ -162,61 +128,40 @@
</ng-template> </ng-template>
<ng-template sf-template="weight" let-i let-ui="ui"> <ng-template sf-template="weight" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number <nz-input-number placeholder="总重量,必填" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
placeholder="总重量,必填" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
[ngModel]="i.value"
(ngModelChange)="i.setValue($event)"
[nzMin]="1"
style="width: 100%"
></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="volume" let-i let-ui="ui"> <ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number <nz-input-number placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
placeholder="总体积" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
[ngModel]="i.value"
(ngModelChange)="i.setValue($event)"
[nzMin]="1"
style="width: 100%"
></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="number" let-i let-ui="ui"> <ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number <nz-input-number placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
placeholder="总车次" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
[ngModel]="i.value"
(ngModelChange)="i.setValue($event)"
[nzMin]="1"
style="width: 100%"
></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">补充信息</div> <div class="card-title">补充信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="12"> <div nz-col nzSpan="24">
<sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data">
<ng-template sf-template="paymentDays" let-i let-ui="ui"> <ng-template sf-template="paymentDays" let-i let-ui="ui">
<div nz-row> <div nz-row>
<div class="align-center" > <div class="align-center">
<div nz-col nzSpan="12"> <div nz-col nzSpan="14">
<nz-input-number <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1"
[ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30"></nz-input-number>
[nzMin]="1"
[nzMax]="30"
[nzStep]="1"
(ngModelChange)="i.setValue($event)"
nzPlaceHolder="请输入1-30"
></nz-input-number>
</div> </div>
<div nz-col nzSpan="12"> <div nz-col nzSpan="10">
<span>&nbsp;天内支付运费</span> <span>&nbsp;天内支付运费</span>
</div> </div>
</div> </div>
@ -225,13 +170,17 @@
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card class="btn-wrap">
<div class="align-center"> <div class="align-center">
<!-- <button nz-button nzType="primary" (click)="choose()">取消</button> --> <!-- <button nz-button nzType="primary" (click)="choose()">取消</button> -->
<button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl [acl-ability]="['SUPPLY-BULK-RELEASE-QRCode ']">生成二维码</button> <button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('assign')" acl [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulkAssign']">指派熟车</button> [acl-ability]="['SUPPLY-BULK-RELEASE-QRCode ']">生成二维码</button>
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" acl [acl-ability]="['SUPPLY-BULK-RELEASE-consignBulk']">司机抢单</button> <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('assign')" acl
[acl-ability]="['SUPPLY-BULK-RELEASE-consignBulkAssign']">指派熟车</button>
<button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" acl
[acl-ability]="['SUPPLY-BULK-RELEASE-consignBulk']">司机抢单</button>
</div> </div>
</nz-card> </nz-card>
</div>

View File

@ -46,3 +46,100 @@ input[type='number']::-webkit-outer-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
} }
.custom-style {
::ng-deep {
.ant-card {
margin-bottom: 0;
}
.ant-card-body {
padding-bottom: 0;
}
.ant-card-bordered {
border: 0 none;
}
.card-title {
display: flex;
align-items: center;
>span {
margin-left: 8px;
font-size: 14px;
em {
font-style: normal;
color: #E60012;
}
}
&::before {
content: '';
display: inline-block;
width: 2px;
height: 16px;
margin-right: 10px;
background: #E60012;
}
}
.ant-btn-dangerous {
border-radius: 4px;
color: #CF3834;
border-color: rgba(207, 56, 52, 0.5);
}
.icon-wrap {
display: flex;
justify-content: center;
height: 100%;
}
.swap-icon {
background: url('/assets/images/frame.png') no-repeat 50% 50%;
cursor: pointer;
}
.ant-input-affix-wrapper,
.ant-input,
.ant-picker,
.ant-select-selector,
.ant-input-number-input,
.ant-input-number {
border-radius: 4px ;
}
.ant-input-group-addon {
border-radius: 0 4px 4px 0;
}
.align-center {
.ant-btn {
height: 40px;
padding: 0 23px;
font-size: 16px;
border-radius: 3px;
}
}
.ant-select-arrow {
transform: scaleX(1.5) translateY(2px);
color: rgb(153,153,153);
font-size: 8px;
}
.ant-picker-suffix {
color: #333;
}
.btn-wrap {
margin-top: 20px;
padding-bottom: 20px;
}
.ant-alert {
padding: 6px 16px;
border-radius: 2px;
font-size: 14px;
}
.fc {
color: #f5222d;
}
}
}

View File

@ -223,11 +223,8 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
}; };
this.ui1 = { this.ui1 = {
'*': { '*': {
spanLabelFixed: 110, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
},
$enterpriseInfoName: {
grid: { span: 24 }
} }
}; };
} }
@ -303,8 +300,14 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
}; };
this.ui3 = { this.ui3 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 12 }
},
$goodsNameId: {
spanLabelFixed: 10
},
$goodsTips: {
grid: { span: 24 }
} }
}; };
} }
@ -411,33 +414,37 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
}; };
this.ui4 = { this.ui4 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 24 } grid: { span: 12 }
}, },
$freightPrice: { $freightPrice: {
grid: { span: 8 } grid: { span: 8 }
}, },
$rule: { $rule: {
spanLabelFixed: 10,
grid: { span: 8 } grid: { span: 8 }
}, },
$settlementBasis: { $settlementBasis: {
spanLabelFixed: 10,
grid: { span: 8 } grid: { span: 8 }
}, },
$weight: { $weight: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } grid: { span: 4 }
}, },
$volume: { $volume: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } spanLabelFixed: 10,
grid: { span: 4 }
}, },
$number: { $number: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } spanLabelFixed: 10,
grid: { span: 4 }
}, },
$carModel: { $carModel: {
spanLabelFixed: 120, grid: { span: 6 }
grid: { span: 8 }
}, },
$carLength: { $carLength: {
grid: { span: 8 } spanLabelFixed: 10,
grid: { span: 6 }
} }
}; };
} }
@ -527,7 +534,7 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
ui: { ui: {
widget: 'textarea', widget: 'textarea',
placeholder: '请输入', placeholder: '请输入',
autosize: { minRows: 3, maxRows: 3 } autosize: { minRows: 1, maxRows: 1 }
} as SFTextareaWidgetSchema } as SFTextareaWidgetSchema
} }
}, },
@ -535,7 +542,10 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit {
}; };
this.ui6 = { this.ui6 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 8 }
},
$remarks: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };

View File

@ -5,51 +5,55 @@
</button> </button>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <div class="custom-style">
<nz-card>
<div class="card-title">货源单设置</div> <div class="card-title">货源单设置</div>
<sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span>
</div>
<form nz-form [formGroup]="validateForm1" role="form"> <form nz-form [formGroup]="validateForm1" role="form">
<div nz-row [nzGutter]="24"> <div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data1 of startInfo; let idx = index"> <div *ngFor="let data1 of startInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>装货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货地'"> <nz-form-control [nzErrorTip]="'请输入装货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
<input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)"
formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" />
</nz-input-group> </nz-input-group>
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline"
style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> style="color: #1890ff" (click)="subStartInfo($event, idx)"></i></span>
<span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle"
nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> -->
</div> </div>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div style="display: flex; width: 80.7%"> <div nz-col [nzSpan]="20">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}"
name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" />
</nz-form-control> </nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'"> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input style="margin-left: 12px" nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11"
formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" />
</nz-form-control> </nz-form-control>
</div> </div>
</div>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-row> <div nz-row>
<div nz-col [nzSpan]="4"></div> <div nz-col [nzSpan]="4"></div>
<div style="display: flex; justify-content: center"> <div style="display: flex; justify-content: center">
<button nz-button nzType="primary" (click)="addStartInfo()"> <button nz-button (click)="addStartInfo()" nzDanger>
<i nz-icon nzType="plus"></i> <i nz-icon nzType="plus"></i>
添加装货地 添加装货地
</button> </button>
@ -57,14 +61,14 @@
</div> </div>
</div> </div>
<div nz-col [nzSpan]="4"> <div nz-col [nzSpan]="4">
<div style="display: flex; justify-content: center"> <div class="icon-wrap">
<span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> <span class="swap-icon" (click)="swapAddress()"></span>
</div> </div>
</div> </div>
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data2 of endInfo; let idx = index"> <div *ngFor="let data2 of endInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>卸货地</nz-form-label> <nz-form-label nzRequired [nzSpan]="4">卸货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入卸货地'"> <nz-form-control [nzErrorTip]="'请输入卸货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
@ -72,32 +76,34 @@
formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}" formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}"
readonly="true" /> readonly="true" />
</nz-input-group> </nz-input-group>
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline"
style="color: #d9001b" (click)="subEndInfo($event, idx)"></i></span> style="color: #1890ff" (click)="subEndInfo($event, idx)"></i></span>
<span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle"
nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> -->
</div> </div>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div style="display: flex; width: 80.7%"> <div nz-col [nzSpan]="20">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}"
name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" /> name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" />
</nz-form-control> </nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'"> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input style="margin-left: 12px" nz-input [(ngModel)]="data2.contractTelephone" <input nz-input [(ngModel)]="data2.contractTelephone"
formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11" formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11"
placeholder="请输入联系人电话" /> placeholder="请输入联系人电话" />
</nz-form-control> </nz-form-control>
</div> </div>
</div>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-row> <div nz-row>
<div nz-col [nzSpan]="4"></div> <div nz-col [nzSpan]="4"></div>
<div style="display: flex; justify-content: center"> <div style="display: flex; justify-content: center">
<button nz-button nzType="primary" (click)="addEndInfo()"> <button nz-button (click)="addEndInfo()" nzDanger>
<i nz-icon nzType="plus"></i> <i nz-icon nzType="plus"></i>
添加卸货地 添加卸货地
</button> </button>
@ -108,17 +114,17 @@
<div nz-row [nzGutter]="24" style="margin-top: 24px"> <div nz-row [nzGutter]="24" style="margin-top: 24px">
<div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> <div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>装货时间</nz-form-label> <nz-form-label nzRequired [nzSpan]="4">装货时间</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货时间'"> <nz-form-control [nzErrorTip]="'请输入装货时间'">
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" formControlName="loadingTime" <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前"
[nzDisabledDate]="disabledDateStart"></nz-date-picker> formControlName="loadingTime" [nzDisabledDate]="disabledDateStart"></nz-date-picker>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-col nzXs="20" nzSm="16" nzMd="12" nzLg="8" nzXl="4"></div> <div nz-col nzXs="20" nzSm="16" nzMd="12" nzLg="8" nzXl="4"></div>
<div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> <div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>卸货时间</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>卸货时间</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入卸货时间'"> <nz-form-control [nzErrorTip]="'请输入卸货时间'">
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前"
formControlName="unloadingTime"></nz-date-picker> formControlName="unloadingTime"></nz-date-picker>
@ -128,18 +134,18 @@
</div> </div>
<ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template>
</form> </form>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">货物信息</div> <div class="card-title">货物信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="16"> <div nz-col nzSpan="24">
<sf #sf3 [schema]="schema3" class="sf3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data">
<ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> <ng-template sf-template="goodsTips" let-i let-ui="ui">
<nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert>
</ng-template> </ng-template>
<ng-template #tpl> <ng-template #tpl>
<span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
</span> </span>
</ng-template> </ng-template>
@ -150,19 +156,19 @@
<ng-template sf-template="weight" let-i let-ui="ui"> <ng-template sf-template="weight" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%; border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="volume" let-i let-ui="ui"> <ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value" <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="number" let-i let-ui="ui"> <ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value" <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="goodsValue" let-i let-ui="ui"> <ng-template sf-template="goodsValue" let-i let-ui="ui">
@ -173,12 +179,12 @@
</div> </div>
</ng-template> </ng-template>
</sf> </sf>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">服务信息</div> <div class="card-title">服务信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="16"> <div nz-col nzSpan="24">
<sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data"> <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
<ng-template sf-template="type1" let-i let-ui="ui"> <ng-template sf-template="type1" let-i let-ui="ui">
<label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+10</span>&nbsp;&nbsp; <label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+10</span>&nbsp;&nbsp;
@ -199,22 +205,22 @@
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">补充信息</div> <div class="card-title">补充信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="9"> <div nz-col nzSpan="24">
<sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"> </sf> <sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">运费信息</div> <div class="card-title">运费信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="8"> <div nz-col nzSpan="24">
<sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data">
<ng-template sf-template="prePay" let-i let-ui="ui"> <ng-template sf-template="prePay" let-i let-ui="ui">
<nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2"
@ -240,12 +246,12 @@
<ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template> <ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template>
<ng-template sf-template="paymentDays" let-i let-ui="ui"> <ng-template sf-template="paymentDays" let-i let-ui="ui">
<div nz-row class="align-center"> <div nz-row class="align-center">
<div nz-col nzSpan="16"> <div nz-col nzSpan="6">
<nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1"
(ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0"
[nzPrecisionMode]="'cut'"></nz-input-number> [nzPrecisionMode]="'cut'"></nz-input-number>
</div> </div>
<div nz-col nzSpan="8"> <div nz-col nzSpan="18">
<span>&nbsp;天内支付运费</span> <span>&nbsp;天内支付运费</span>
</div> </div>
</div> </div>
@ -253,16 +259,17 @@
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card class="btn-wrap">
<div class="align-center"> <div class="align-center">
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="goBack()">取消</button> <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="goBack()">取消</button>
<button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px" <button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 24px"
(click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button> (click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button>
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button> [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button>
<button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px" <button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 24px"
(click)="submitConfirm('publish')" acl (click)="submitConfirm('publish')" acl
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button> [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button>
</div> </div>
</nz-card> </nz-card>
</div>

View File

@ -5,16 +5,16 @@
} }
nz-date-picker { nz-date-picker {
width: 94.3%; width: 100%;
} }
.sf3 { .sf3 {
.goods_Tips_item { .goods_Tips_item {
.goods_tips { .goods_tips {
width: calc(50% - 45px); width: calc(50% - 57px);
.ant-alert { .ant-alert {
padding: 0 0 0 2px; margin-bottom: 5px;
} }
} }
@ -84,3 +84,99 @@ input[type='number']::-webkit-outer-spin-button {
margin-left: 10px; margin-left: 10px;
color: aqua; color: aqua;
} }
.custom-style {
::ng-deep {
.ant-card {
margin-bottom: 0;
}
.ant-card-body {
padding-bottom: 0;
}
.ant-card-bordered {
border: 0 none;
}
.card-title {
display: flex;
align-items: center;
>span {
margin-left: 8px;
font-size: 14px;
em {
font-style: normal;
color: #E60012;
}
}
&::before {
content: '';
display: inline-block;
width: 2px;
height: 16px;
margin-right: 10px;
background: #E60012;
}
}
.ant-btn-dangerous {
border-radius: 4px;
color: #CF3834;
border-color: rgba(207, 56, 52, 0.5);
}
.icon-wrap {
display: flex;
justify-content: center;
height: 100%;
}
.swap-icon {
background: url('/assets/images/frame.png') no-repeat 50% 50%;
cursor: pointer;
}
.ant-input-affix-wrapper,
.ant-input,
.ant-picker,
.ant-select-selector,
.ant-input-number-input,
.ant-input-number {
border-radius: 4px ;
}
.ant-input-group-addon {
border-radius: 0 4px 4px 0;
}
.align-center {
.ant-btn {
height: 40px;
padding: 0 23px;
font-size: 16px;
border-radius: 3px;
}
}
.ant-select-arrow {
transform: scaleX(1.5) translateY(2px);
color: rgb(153,153,153);
font-size: 8px;
}
.ant-picker-suffix {
color: #333;
}
.btn-wrap {
margin-top: 20px;
padding-bottom: 20px;
}
.ant-alert {
padding: 6px 16px;
border-radius: 2px;
font-size: 14px;
}
.fc {
color: #f5222d;
}
}
}

View File

@ -246,16 +246,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.ui1 = { this.ui1 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
}, },
$enterpriseInfoName: { $enterpriseInfoName: {
grid: { span: 12 } grid: { span: 8 }
},
$shipperAppUserId: {
grid: { span: 12 }
},
$enterpriseProjectId: {
grid: { span: 12 }
} }
}; };
} }
@ -275,7 +269,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}, },
goodsTypeId: { goodsTypeId: {
type: 'string', type: 'string',
title: '货物名称', title: '货物类型',
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
@ -307,7 +301,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
errors: { required: '请填写货物名称' }, errors: { required: '请填写货物类型' },
change: (_value: any, data: any) => { change: (_value: any, data: any) => {
this.sf3.setValue('/goodsName', data.label); this.sf3.setValue('/goodsName', data.label);
}, },
@ -331,7 +325,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
title: '', title: '',
maxLength: 20, maxLength: 20,
ui: { ui: {
errors: { required: '请填写货物名称' }, errors: { required: '请填写货物类型' },
visibleIf: { visibleIf: {
goodsTypeName: (value: any) => value && value === '其它' goodsTypeName: (value: any) => value && value === '其它'
}, },
@ -345,9 +339,12 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}; };
this.ui3 = { this.ui3 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 12 }
}, },
$goodsNameId: {
spanLabelFixed: 10
},
$goodsTips: { $goodsTips: {
grid: { span: 24 } grid: { span: 24 }
} }
@ -416,14 +413,14 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
} }
} }
}, },
hidenField: { // hidenField: {
type: 'string', // type: 'string',
title: '', // title: '',
default: ' ', // default: ' ',
ui: { // ui: {
widget: 'text' // widget: 'text'
} // }
}, // },
insurancePackagedGoods: { insurancePackagedGoods: {
type: 'string', type: 'string',
title: '货物包装', title: '货物包装',
@ -460,7 +457,25 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.ui4 = { this.ui4 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 8 } grid: { span: 12 }
},
$weight: {
grid: { span: 4 }
},
$volume: {
spanLabelFixed: 10,
grid: { span: 4 }
},
$number: {
spanLabelFixed: 10,
grid: { span: 4 }
},
$carModel: {
grid: { span: 6 }
},
$carLength: {
spanLabelFixed: 10,
grid: { span: 6 }
} }
}; };
} }
@ -545,16 +560,16 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.ui5 = { this.ui5 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
}, },
$type1: { $type1: {
grid: { span: 24 } grid: { span: 8 }
}, },
$type2: { $type2: {
grid: { span: 24 } grid: { span: 8 }
}, },
$freeInsurance1: { $freeInsurance1: {
grid: { span: 24 } grid: { span: 24}
}, },
$freeInsurance2: { $freeInsurance2: {
grid: { span: 24 } grid: { span: 24 }
@ -656,7 +671,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
ui: { ui: {
widget: 'textarea', widget: 'textarea',
placeholder: '请输入', placeholder: '请输入',
autosize: { minRows: 3, maxRows: 3 } autosize: { minRows: 1, maxRows: 1 }
} as SFTextareaWidgetSchema } as SFTextareaWidgetSchema
} }
}, },
@ -664,7 +679,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}; };
this.ui6 = { this.ui6 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 125,
grid: { span: 8 }
},
$remarks: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };
@ -705,6 +723,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.ui7 = { this.ui7 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 8 }
},
$paymentDays: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };
@ -1489,7 +1510,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => { this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
if (res === false) { if (res === false) {
const modalRef = this.modalService.error({ const modalRef = this.modalService.error({
nzTitle: '货物名称含有违禁词,请重新输入!', nzTitle: '货物类型含有违禁词,请重新输入!',
}); });
modalRef.afterClose.subscribe(result => { modalRef.afterClose.subscribe(result => {
// this.sf3.setValue('/goodsName1', null); // this.sf3.setValue('/goodsName1', null);

View File

@ -5,68 +5,71 @@
</button> </button>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <div class="custom-style">
<nz-card>
<div class="card-title">货源单设置</div> <div class="card-title">货源单设置</div>
<sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data">
<ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template>
</sf> </sf>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime
}}小时</em></span>
</div>
<form nz-form [formGroup]="validateForm1" role="form"> <form nz-form [formGroup]="validateForm1" role="form">
<div nz-row [nzGutter]="24"> <div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data1 of startInfo; let idx = index"> <div *ngFor="let data1 of startInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>装货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货地'"> <nz-form-control [nzErrorTip]="'请输入装货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
<input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)"
formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" />
</nz-input-group> </nz-input-group>
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline"
style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> style="color: #1890ff" (click)="subStartInfo($event, idx)"></i></span>
<span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle"
nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> -->
</div> </div>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div style="display: flex; width: 80.7%"> <div nz-col [nzSpan]="20">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}"
name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" />
</nz-form-control> </nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'"> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input style="margin-left: 12px" nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11"
formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" />
</nz-form-control> </nz-form-control>
</div> </div>
</div>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-row> <div nz-row>
<div nz-col [nzSpan]="4"></div> <div nz-col [nzSpan]="4"></div>
<div style="display: flex; justify-content: center"> <button nz-button (click)="addStartInfo()" nzDanger>
<button nz-button nzType="primary" (click)="addStartInfo()">
<i nz-icon nzType="plus"></i> <i nz-icon nzType="plus"></i>
添加装货地 添加装货地
</button> </button>
</div> </div>
</div> </div>
</div>
<div nz-col [nzSpan]="4"> <div nz-col [nzSpan]="4">
<div style="display: flex; justify-content: center"> <div class="icon-wrap">
<span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> <span class="swap-icon" (click)="swapAddress()"></span>
</div> </div>
</div> </div>
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data2 of endInfo; let idx = index"> <div *ngFor="let data2 of endInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>卸货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入卸货地'"> <nz-form-control [nzErrorTip]="'请输入卸货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
@ -75,52 +78,52 @@
readonly="true" /> readonly="true" />
</nz-input-group> </nz-input-group>
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline"
style="color: #d9001b" (click)="subEndInfo($event, idx)"></i></span> style="color: #1890ff" (click)="subEndInfo($event, idx)"></i></span>
<span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle"
nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> -->
</div> </div>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div style="display: flex; width: 80.7%"> <div nz-col [nzSpan]="20">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}"
name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" /> name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" />
</nz-form-control> </nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'"> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input style="margin-left: 12px" nz-input [(ngModel)]="data2.contractTelephone" <input nz-input [(ngModel)]="data2.contractTelephone"
formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11" formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11"
placeholder="请输入联系人电话" /> placeholder="请输入联系人电话" />
</nz-form-control> </nz-form-control>
</div> </div>
</div>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-row> <div nz-row>
<div nz-col [nzSpan]="4"></div> <div nz-col [nzSpan]="4"></div>
<div style="display: flex; justify-content: center"> <button nz-button (click)="addEndInfo()" nzDanger>
<button nz-button nzType="primary" (click)="addEndInfo()">
<i nz-icon nzType="plus"></i> <i nz-icon nzType="plus"></i>
添加卸货地 添加卸货地
</button> </button>
</div> </div>
</div> </div>
</div> </div>
</div>
<div nz-row [nzGutter]="24" style="margin-top: 24px"> <div nz-row [nzGutter]="24" style="margin-top: 24px">
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>装货时间</nz-form-label> <nz-form-label nzRequired [nzSpan]="4">装货时间</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货时间'"> <nz-form-control [nzErrorTip]="'请输入装货时间'">
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" formControlName="loadingTime" <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前"
[nzDisabledDate]="disabledDateStart"></nz-date-picker> formControlName="loadingTime" [nzDisabledDate]="disabledDateStart"></nz-date-picker>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-col [nzSpan]="4"></div> <div nz-col [nzSpan]="4"></div>
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>卸货时间</nz-form-label> <nz-form-label nzRequired [nzSpan]="4">卸货时间</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入卸货时间'"> <nz-form-control [nzErrorTip]="'请输入卸货时间'">
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前"
formControlName="unloadingTime"></nz-date-picker> formControlName="unloadingTime"></nz-date-picker>
@ -130,18 +133,18 @@
</div> </div>
<ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template>
</form> </form>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">货物信息</div> <div class="card-title">货物信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="16"> <div nz-col nzSpan="24">
<sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data">
<ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> <ng-template sf-template="goodsTips" let-i let-ui="ui">
<nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert>
</ng-template> </ng-template>
<ng-template #tpl> <ng-template #tpl>
<span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
</span> </span>
</ng-template> </ng-template>
@ -152,19 +155,19 @@
<ng-template sf-template="weight" let-i let-ui="ui"> <ng-template sf-template="weight" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="volume" let-i let-ui="ui"> <ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value" <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="number" let-i let-ui="ui"> <ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''"> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value" <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group> </nz-input-group>
</ng-template> </ng-template>
<ng-template sf-template="goodsValue" let-i let-ui="ui"> <ng-template sf-template="goodsValue" let-i let-ui="ui">
@ -175,12 +178,12 @@
</div> </div>
</ng-template> </ng-template>
</sf> </sf>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">服务信息</div> <div class="card-title">服务信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="16"> <div nz-col nzSpan="24">
<sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data"> <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
<ng-template sf-template="type1" let-i let-ui="ui"> <ng-template sf-template="type1" let-i let-ui="ui">
<label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+10</span>&nbsp;&nbsp; <label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+10</span>&nbsp;&nbsp;
@ -201,21 +204,21 @@
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">补充信息</div> <div class="card-title">补充信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="12"> <div nz-col nzSpan="24">
<sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data">
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card>
<div class="card-title">运费信息</div> <div class="card-title">运费信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="8"> <div nz-col nzSpan="24">
<sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data">
<ng-template sf-template="prePay" let-i let-ui="ui"> <ng-template sf-template="prePay" let-i let-ui="ui">
<nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2"
@ -241,12 +244,12 @@
<ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template> <ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template>
<ng-template sf-template="paymentDays" let-i let-ui="ui"> <ng-template sf-template="paymentDays" let-i let-ui="ui">
<div nz-row class="align-center"> <div nz-row class="align-center">
<div nz-col nzSpan="16"> <div nz-col nzSpan="6">
<nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1"
(ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0"
[nzPrecisionMode]="'cut'"></nz-input-number> [nzPrecisionMode]="'cut'"></nz-input-number>
</div> </div>
<div nz-col nzSpan="8"> <div nz-col nzSpan="18">
<span>&nbsp;天内支付运费</span> <span>&nbsp;天内支付运费</span>
</div> </div>
</div> </div>
@ -254,12 +257,13 @@
</sf> </sf>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card> <nz-card class="btn-wrap">
<div class="align-center"> <div class="align-center">
<button nz-button nzType="primary" (click)="submitConfirm('assign')" acl <button nz-button nzType="primary" (click)="submitConfirm('assign')" acl
[acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button> [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button>
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')"
*ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button> *ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button>
</div> </div>
</nz-card> </nz-card>
</div>

View File

@ -5,16 +5,16 @@
} }
nz-date-picker { nz-date-picker {
width: 94.3%; width: 100%;
} }
.sf3 { .sf3 {
.goods_Tips_item { .goods_Tips_item {
.goods_tips { .goods_tips {
width: calc(50% - 45px); width: calc(50% - 57px);
.ant-alert { .ant-alert {
padding: 0 0 0 2px; margin-bottom: 5px;
} }
} }
@ -78,3 +78,100 @@ input[type='number']::-webkit-outer-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
} }
.custom-style {
::ng-deep {
.ant-card {
margin-bottom: 0;
}
.ant-card-body {
padding-bottom: 0;
}
.ant-card-bordered {
border: 0 none;
}
.card-title {
display: flex;
align-items: center;
>span {
margin-left: 8px;
font-size: 14px;
em {
font-style: normal;
color: #E60012;
}
}
&::before {
content: '';
display: inline-block;
width: 2px;
height: 16px;
margin-right: 10px;
background: #E60012;
}
}
.ant-btn-dangerous {
border-radius: 4px;
color: #CF3834;
border-color: rgba(207, 56, 52, 0.5);
}
.icon-wrap {
display: flex;
justify-content: center;
height: 100%;
}
.swap-icon {
background: url('/assets/images/frame.png') no-repeat 50% 50%;
cursor: pointer;
}
.ant-input-affix-wrapper,
.ant-input,
.ant-picker,
.ant-select-selector,
.ant-input-number-input,
.ant-input-number {
border-radius: 4px ;
}
.ant-input-group-addon {
border-radius: 0 4px 4px 0;
}
.align-center {
.ant-btn {
height: 40px;
padding: 0 23px;
font-size: 16px;
border-radius: 3px;
}
}
.ant-select-arrow {
transform: scaleX(1.5) translateY(2px);
color: rgb(153,153,153);
font-size: 8px;
}
.ant-picker-suffix {
color: #333;
}
.btn-wrap {
margin-top: 20px;
padding-bottom: 20px;
}
.ant-alert {
padding: 6px 16px;
border-radius: 2px;
font-size: 14px;
}
.fc {
color: #f5222d;
}
}
}

View File

@ -227,19 +227,19 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.ui1 = { this.ui1 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
}, },
$enterpriseInfoName: { $enterpriseInfoName: {
grid: { span: 12 } grid: { span: 8 }
}, },
$shipperAppUserId: { $shipperAppUserId: {
grid: { span: 12 } grid: { span: 8 }
}, },
$enterpriseProjectId: { $enterpriseProjectId: {
grid: { span: 12 } grid: { span: 8 }
}, },
$dispatchId: { $dispatchId: {
grid: { span: 12 } grid: { span: 8 }
} }
}; };
} }
@ -259,11 +259,11 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
}, },
goodsTypeId: { goodsTypeId: {
type: 'string', type: 'string',
title: '货物名称', title: '货物类型',
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
errors: { required: '请选择货物名称' }, errors: { required: '请选择货物类型' },
asyncData: () => asyncData: () =>
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe( this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
map((data: any) => { map((data: any) => {
@ -291,7 +291,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
errors: { required: '请填写货物名称' }, errors: { required: '请填写货物类型' },
change: (value: any, data: any) => { change: (value: any, data: any) => {
this.sf3.setValue('/goodsName', data.label); this.sf3.setValue('/goodsName', data.label);
}, },
@ -315,7 +315,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
title: '', title: '',
maxLength: 20, maxLength: 20,
ui: { ui: {
errors: { required: '请填写货物名称' }, errors: { required: '请填写货物类型' },
visibleIf: { visibleIf: {
goodsTypeName: (value: any) => value && value === '其它' goodsTypeName: (value: any) => value && value === '其它'
}, },
@ -332,6 +332,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 12 }
}, },
$goodsNameId: {
spanLabelFixed: 10
},
$goodsTips: { $goodsTips: {
grid: { span: 24 } grid: { span: 24 }
} }
@ -400,14 +403,14 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
} }
} }
}, },
hidenField: { // hidenField: {
type: 'string', // type: 'string',
title: '', // title: '',
default: ' ', // default: ' ',
ui: { // ui: {
widget: 'text' // widget: 'text'
} // }
}, // },
insurancePackagedGoods: { insurancePackagedGoods: {
type: 'string', type: 'string',
title: '货物包装', title: '货物包装',
@ -444,7 +447,25 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.ui4 = { this.ui4 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 8 } grid: { span: 12 }
},
$weight: {
grid: { span: 4 }
},
$volume: {
spanLabelFixed: 10,
grid: { span: 4 }
},
$number: {
spanLabelFixed: 10,
grid: { span: 4 }
},
$carModel: {
grid: { span: 6 }
},
$carLength: {
spanLabelFixed: 10,
grid: { span: 6 }
} }
}; };
} }
@ -528,16 +549,16 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.ui5 = { this.ui5 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
}, },
$type1: { $type1: {
grid: { span: 24 } grid: { span: 8 }
}, },
$type2: { $type2: {
grid: { span: 24 } grid: { span: 8 }
}, },
$freeInsurance1: { $freeInsurance1: {
grid: { span: 24 } grid: { span: 24}
}, },
$freeInsurance2: { $freeInsurance2: {
grid: { span: 24 } grid: { span: 24 }
@ -626,7 +647,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
ui: { ui: {
widget: 'textarea', widget: 'textarea',
placeholder: '请输入', placeholder: '请输入',
autosize: { minRows: 3, maxRows: 3 } autosize: { minRows: 1, maxRows: 1 }
} as SFTextareaWidgetSchema } as SFTextareaWidgetSchema
} }
}, },
@ -634,7 +655,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
}; };
this.ui6 = { this.ui6 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 125,
grid: { span: 8 }
},
$remarks: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };
@ -675,6 +699,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.ui7 = { this.ui7 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 8 }
},
$paymentDays: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };
@ -1267,7 +1294,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => { this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
if (res === false) { if (res === false) {
const modalRef = this.modalService.error({ const modalRef = this.modalService.error({
nzTitle: '货物名称含有违禁词,请重新输入!', nzTitle: '货物类型含有违禁词,请重新输入!',
}); });
modalRef.afterClose.subscribe(result => { modalRef.afterClose.subscribe(result => {
// this.sf3.setValue('/goodsName1', null); // this.sf3.setValue('/goodsName1', null);

View File

@ -31,15 +31,7 @@
</div> </div>
</div> </div>
<st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" <st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x:'1200px',y:scrollY }"> [loading]="false" [scroll]="{ x:'1200px' }">
<ng-template st-row="sts" let-item let-index="index">
<span *ngIf="item.sts === '1'">待受理</span>
<span *ngIf="item.sts === '2'">处理中</span>
<span *ngIf="item.sts === '3'">已完成</span>
<span *ngIf="item.sts === '5'">已拒绝</span>
<span *ngIf="item.sts === '6'">已撤销</span>
<span *ngIf="item.sts === '7'">已作废</span>
</ng-template>
<ng-template st-row="serviceType" let-item let-index="index"> <ng-template st-row="serviceType" let-item let-index="index">
<span>{{item.billTypeLabel + item.serviceTypeLabel}}</span> <span>{{item.billTypeLabel + item.serviceTypeLabel}}</span>
</ng-template> </ng-template>

View File

@ -246,7 +246,7 @@ export class BillingOrderComponent extends BasicTableComponent {
{ title: '卸货时间', index: 'unloadTime', type: 'date', width: '150px', className: 'text-center' }, { title: '卸货时间', index: 'unloadTime', type: 'date', width: '150px', className: 'text-center' },
{ title: '订单完成时间', index: 'orderReceivingTime', type: 'date', width: 150, className: 'text-center' }, { title: '订单完成时间', index: 'orderReceivingTime', type: 'date', width: 150, className: 'text-center' },
{ title: '支付完成时间', index: 'overallPaymentTime', type: 'date', width: 150, className: 'text-center' }, { title: '支付完成时间', index: 'overallPaymentTime', type: 'date', width: 150, className: 'text-center' },
{ title: '开票状态', index: 'sts', render: 'sts', className: 'text-center', width: 120 }, { title: '开票状态', index: 'stsLabel', className: 'text-center', width: 120 },
{ title: '申请开票时间', index: 'vatappdate', type: 'date', className: 'text-center', width: 180 }, { title: '申请开票时间', index: 'vatappdate', type: 'date', className: 'text-center', width: 180 },
{ title: '申请开票编号', index: 'vatappcode', className: 'text-center', width: 190 }, { title: '申请开票编号', index: 'vatappcode', className: 'text-center', width: 190 },
{ title: '分票编号', index: 'vatinvcode', width: '200px', className: 'text-center' }, { title: '分票编号', index: 'vatinvcode', width: '200px', className: 'text-center' },

View File

@ -26,24 +26,32 @@
<nz-card class="table-box"> <nz-card class="table-box">
<div class="header_box"> <div class="header_box">
<label class="page_title"> <label class="driver">|</label> 企业列表</label> <label class="page_title"> <label class="driver">|</label> 企业列表</label>
<div class="mr-sm"> <div class="d-flex align-items-center mr-sm">
<button nz-button nzDanger [nzLoading]="loadingList" (click)="openDrawer()" acl <div class="mr-md d-flex align-items-center">
[acl-ability]="['USERCENTER-FREIGHT-LIST-list']">筛选</button> <input nz-input placeholder="请输入企业名称" [(ngModel)]="sfValue.enterpriseName" class=" mr-sm"
style="width: 150px;height: 32PX;" />
<input nz-input placeholder="请输入管理员" [(ngModel)]="sfValue.contactName" style="width: 150px;height: 32PX;" />
</div>
<button nz-button nzDanger [nzLoading]="loadingList" (click)="search()" acl
[acl-ability]="['USERCENTER-FREIGHT-LIST-list']">查询</button>
<button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-export']"> <button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-export']">
导出</button> 导出</button>
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft"> <button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
更多<i nz-icon nzType="down" nzTheme="outline"></i></button> 更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
<nz-dropdown-menu #menu="nzDropdownMenu"> <nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu> <ul nz-menu>
<li nz-menu-item (click)="openDrawer()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-list']">
高级筛选
</li>
<li nz-menu-item (click)="creat()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-save']"> <li nz-menu-item (click)="creat()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-save']">
新增企业 新增企业
</li> </li>
<!-- <li nz-menu-item (click)="editPartner()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-partner']"> <li nz-menu-item (click)="editPartner()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-partner']">
修改合伙人 修改合伙人
</li> </li>
<li nz-menu-item (click)="editSale()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-sale']"> <li nz-menu-item (click)="editSale()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-sale']">
修改渠道销售 修改渠道销售
</li> --> </li>
</ul> </ul>
</nz-dropdown-menu> </nz-dropdown-menu>
</div> </div>
@ -52,8 +60,7 @@
<st #st [columns]="columns" [data]='service.$api_get_freight_list' [req]="{ process: beforeReq }" <st #st [columns]="columns" [data]='service.$api_get_freight_list' [req]="{ process: beforeReq }"
[res]="{ process: dataProcess }" [scroll]="{ x: '1200px',y:scrollY }" [page]=" {}" [loading]="loadingList"> [res]="{ process: dataProcess }" [scroll]="{ x: '1200px',y:scrollY }" [page]=" {}" [loading]="loadingList">
<ng-template st-row="enterpriseName" let-item let-index="index"> <ng-template st-row="score" let-item let-index="index">
<label>{{ item.enterpriseName }}</label><br>
<ng-container *ngIf="item.score!==null; else billEvaluateelseTemplate"> <ng-container *ngIf="item.score!==null; else billEvaluateelseTemplate">
<nz-rate [ngModel]="item.score" nzDisabled></nz-rate> <nz-rate [ngModel]="item.score" nzDisabled></nz-rate>
</ng-container> </ng-container>
@ -68,16 +75,35 @@
</ng-container> </ng-container>
</ng-template> </ng-template>
<ng-template st-row="contacter" let-item let-index="index"> <ng-template st-row="contacter" let-item let-index="index">
{{ item.contacter }}<br>/{{item.mobile}} <p nz-tooltip [nzTooltipTitle]="item.contacter+'/'+item.mobile" style="cursor: pointer;width: 120px;margin: 0; white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;">
{{ item.contacter }}
</p>
</ng-template>
<ng-template st-row="customerServiceIdLabel" let-item let-index="index">
<p nz-tooltip [nzTooltipTitle]="item.customerServiceIdLabel" style="cursor: pointer;width: 120px;margin: 0; white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;">
{{ item.customerServiceIdLabel }}
</p>
</ng-template> </ng-template>
<ng-template st-row="partnerName" let-item let-index="index"> <ng-template st-row="partnerName" let-item let-index="index">
{{ item.partnerName }}<br>/{{item.partnerMobile}} <p nz-tooltip [nzTooltipTitle]="item.partnerName+'/'+item.partnerMobile" style="cursor: pointer;width: 120px;margin: 0; white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;">
{{ item.partnerName }}
</p>
</ng-template> </ng-template>
<ng-template st-row="promotersTelephone" let-item let-index="index"> <ng-template st-row="promotersTelephone" let-item let-index="index">
<!-- <a acl [acl-ability]="['USERCENTER-FREIGHT-LIST-salesman']" (click)="addPromoter(item)">{{ item.channelName <!-- <a acl [acl-ability]="['USERCENTER-FREIGHT-LIST-salesman']" (click)="addPromoter(item)">{{ item.channelName
}}<br>{{ item.channelMobile }}<br>{{ item.channelMobile
|| '添加' }}</a> --> || '添加' }}</a> -->
{{ item.channelName }}<br>{{ item.channelMobile }} <p nz-tooltip [nzTooltipTitle]="item.channelName+'/'+item.channelMobile" style="cursor: pointer;width: 120px;margin: 0; white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;">
{{ item.channelName }}
</p>
</ng-template> </ng-template>
</st> </st>
</nz-card> </nz-card>

View File

@ -1,7 +1,7 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { STChange, STColumn, STColumnBadge, STComponent, STData, STRequestOptions } from '@delon/abc/st'; import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; import { SFDateWidgetSchema } from '@delon/form';
import { DynamicSettingModalComponent, SearchDrawerService, ShipperBaseService } from '@shared'; import { DynamicSettingModalComponent, SearchDrawerService, ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom'; import { BasicTableComponent } from 'src/app/routes/commom';
@ -24,6 +24,9 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
promotersTelephone = ''; promotersTelephone = '';
loadingList = true; loadingList = true;
sfValue = { enterpriseName: '', contactName: '' };
constructor( constructor(
public service: UsermanageService, public service: UsermanageService,
private modal: NzModalService, private modal: NzModalService,
@ -195,12 +198,6 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
initSF() { initSF() {
this.schema = { this.schema = {
properties: { properties: {
expand: {
type: 'boolean',
ui: {
hidden: true
}
},
enterpriseName: { enterpriseName: {
title: '企业名称', title: '企业名称',
type: 'string', type: 'string',
@ -340,7 +337,7 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
{ label: '全部', value: '' }, { label: '全部', value: '' },
{ label: '货主注册', value: 1 }, { label: '货主注册', value: 1 },
{ label: '平台添加', value: 2 }, { label: '平台添加', value: 2 },
{ label: '数据迁移', value: 4 }, { label: '数据迁移', value: 4 }
], ],
default: '', default: '',
ui: { ui: {
@ -377,24 +374,31 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
initST() { initST() {
this.columns = [ this.columns = [
{ title: '', type: 'checkbox', className: 'text-center' }, { title: '', type: 'checkbox', className: 'text-center' },
{ title: '企业名称', render: 'enterpriseName', width: 350 }, {
{ title: '统一社会信用代码', className: 'text-center', render: 'unifiedSocialCreditCode', width: 200 }, title: '企业名称',
index: 'enterpriseName',
width: 250,
type: 'link',
click: item => this.router.navigate(['./detail', item.id], { relativeTo: this.ar })
},
{ title: '企业评分', className: 'text-center', render: 'score', width: 160 },
{ {
title: '公司所在地', title: '公司所在地',
className: 'text-center',
index: 'province', index: 'province',
width: 200, width: 200,
format: item => `${item.provinceName}${item.cityName}${item.areaName}` format: item => `${item.provinceName}${item.cityName}${item.areaName}`
}, },
{ title: '管理员', render: 'contacter', width: 150 },
{ title: '统一社会信用代码', className: 'text-center', render: 'unifiedSocialCreditCode', width: 200 },
{ {
title: '企业类型', title: '企业类型',
className: 'text-center', className: 'text-center',
index: 'enterpriseType', index: 'enterpriseType',
width: 200, width: 160,
type: 'enum', type: 'enum',
enum: { 1: '物流企业', 2: '货运代理', 3: '生产型企业', 4: '贸易类企业', 5: '科技型企业', 6: '化学化工企业', 7: '其他' } enum: { 1: '物流企业', 2: '货运代理', 3: '生产型企业', 4: '贸易类企业', 5: '科技型企业', 6: '化学化工企业', 7: '其他' }
}, },
{ title: '管理员', className: 'text-center', render: 'contacter', width: 150 },
{ {
title: '常用服务', title: '常用服务',
className: 'text-center', className: 'text-center',
@ -405,7 +409,7 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
}, },
{ title: '渠道销售', className: 'text-center', render: 'promotersTelephone', width: 150 }, { title: '渠道销售', className: 'text-center', render: 'promotersTelephone', width: 150 },
{ title: '合伙人', className: 'text-center', render: 'partnerName', width: 150 }, { title: '合伙人', className: 'text-center', render: 'partnerName', width: 150 },
{ title: '客服人员', className: 'text-center', index: 'customerServiceIdLabel', width: 150 }, { title: '客服人员', className: 'text-center', render: 'customerServiceIdLabel', width: 150 },
{ title: '网络货运人', className: 'text-center', index: 'netTranName', width: 180 }, { title: '网络货运人', className: 'text-center', index: 'netTranName', width: 180 },
{ {
title: '注册渠道', title: '注册渠道',
@ -442,40 +446,41 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
}, },
{ {
title: '操作', title: '操作',
width: '200px', width: '220px',
className: 'text-center block-td', className: 'text-left options',
fixed: 'right', fixed: 'right',
buttons: [ buttons: [
{ // {
text: '查看', // text: '查看',
acl: { ability: ['USERCENTER-FREIGHT-LIST-view'] }, // acl: { ability: ['USERCENTER-FREIGHT-LIST-view'] },
click: item => { // click: item => {
this.router.navigate(['./detail', item.id], { relativeTo: this.ar }); // this.router.navigate(['./detail', item.id], { relativeTo: this.ar });
// this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } }); // // this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } });
} // }
}, // },
// { // {
// acl: { ability: ['USERCENTER-FREIGHT-LIST-basicSetting'] }, // acl: { ability: ['USERCENTER-FREIGHT-LIST-basicSetting'] },
// text: '基础设置', // text: '基础设置',
// click: item => this.settingAction(item) // click: item => this.settingAction(item)
// }, // },
{ type: 'divider' },
{ {
acl: { ability: ['USERCENTER-FREIGHT-LIST-balance'] }, acl: { ability: ['USERCENTER-FREIGHT-LIST-balance'] },
text: '资金账户', text: '资金账户',
click: item => this.showAccountDetail(item) click: item => this.showAccountDetail(item)
}, },
{ {
text: '分配客服人员', text: '分配客服<br>',
click: item => this.showService(item) click: item => this.showService(item)
}, },
// { {
// text: '修改合伙人', text: '修改合伙人',
// click: item => this.editPartner(item) click: item => this.editPartner(item)
// }, },
// { {
// text: '修改渠道销售', text: '修改渠道销售',
// click: item => this.editSale(item) click: item => this.editSale(item)
// } }
] ]
} }
]; ];

View File

@ -70,7 +70,23 @@
<div class="mb-lg"> <div class="mb-lg">
<div class="font-weight-blod text-md detail-title"> <div class="font-weight-blod text-md detail-title">
<a class="sign"></a> <a class="sign"></a>
<span>车辆基础信息</span> <p style="margin-bottom: 0">
车辆基础信息
<label *ngIf="detailData?.carInfoVerifyResult" style="color: #ff4d4f"><i nz-icon nzType="info-circle"
nzTheme="fill" class="mr-xs"></i>验证不通过:<span nz-popover [nzPopoverTitle]="titleTemplate1" [nzPopoverContent]="contentTemplate1">
查看原因
<ng-template #titleTemplate1>
原因
</ng-template>
<ng-template #contentTemplate1>
{{detailData?.carInfoVerifyResult}}
</ng-template>
</span>
</label>
<label *ngIf="!detailData?.carInfoVerifyResult" style="color: #52c41a"><i nz-icon nzType="check-circle"
nzTheme="fill" class="mr-xs"></i>验证通过
</label>
</p>
</div> </div>
<sv-container col="3" labelWidth="140"> <sv-container col="3" labelWidth="140">
<sv label="车牌颜色"> <sv label="车牌颜色">
@ -147,7 +163,23 @@
<div class="mb-lg"> <div class="mb-lg">
<div class="font-weight-blod text-md detail-title"> <div class="font-weight-blod text-md detail-title">
<a class="sign"></a> <a class="sign"></a>
<span>行驶证信息</span> <p style="margin-bottom: 0">
行驶证信息
<label *ngIf="detailData?.driverLicenseVerifyResult" style="color: #ff4d4f"><i nz-icon nzType="info-circle"
nzTheme="fill" class="mr-xs"></i>验证不通过:<span nz-popover [nzPopoverTitle]="titleTemplate2" [nzPopoverContent]="contentTemplate2">
查看原因
<ng-template #titleTemplate2>
原因
</ng-template>
<ng-template #contentTemplate2>
{{detailData?.driverLicenseVerifyResult}}
</ng-template>
</span>
</label>
<label *ngIf="!detailData?.driverLicenseVerifyResult" style="color: #52c41a"><i nz-icon nzType="check-circle"
nzTheme="fill" class="mr-xs"></i>验证通过
</label>
</p>
</div> </div>
<sv-container col="3" class="new-sv-container" labelWidth="140"> <sv-container col="3" class="new-sv-container" labelWidth="140">
<sv label="发动机号码"> <sv label="发动机号码">
@ -243,7 +275,15 @@
<p style="margin-bottom: 0"> <p style="margin-bottom: 0">
道路运输证信息 道路运输证信息
<label *ngIf="!detailData?.roadTransportVerificationStatus" style="color: #ff4d4f"><i nz-icon nzType="info-circle" <label *ngIf="!detailData?.roadTransportVerificationStatus" style="color: #ff4d4f"><i nz-icon nzType="info-circle"
nzTheme="fill" class="mr-xs"></i>验证不通过 nzTheme="fill" class="mr-xs"></i>验证不通过<span nz-popover [nzPopoverTitle]="titleTemplate3" [nzPopoverContent]="contentTemplate3">
查看原因
<ng-template #titleTemplate3>
原因
</ng-template>
<ng-template #contentTemplate3>
{{detailData?.roadTransportVerifyResult}}
</ng-template>
</span>
</label> </label>
<label *ngIf="detailData?.roadTransportVerificationStatus" style="color: #52c41a"><i nz-icon nzType="check-circle" <label *ngIf="detailData?.roadTransportVerificationStatus" style="color: #52c41a"><i nz-icon nzType="check-circle"
nzTheme="fill" class="mr-xs"></i>验证通过 nzTheme="fill" class="mr-xs"></i>验证通过

BIN
src/assets/images/frame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B