This commit is contained in:
weiyu
2022-05-07 11:31:59 +08:00
parent 26fbbb9330
commit 3229f82754
4 changed files with 296 additions and 240 deletions

View File

@ -106,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)">
@ -135,19 +135,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 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>

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 }
} }
}; };