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

This commit is contained in:
wangshiming
2022-04-20 10:00:21 +08:00
13 changed files with 844 additions and 617 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "tms-obc-web", "name": "tms-obc-web",
"version": "0.0.0", "version": "1.0.0",
"description": "运营后台-WEB", "description": "运营后台-WEB",
"author": "cipchk <cipchk@qq.com>", "author": "cipchk <cipchk@qq.com>",
"repository": { "repository": {

View File

@ -8,9 +8,9 @@
</div> </div>
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand"> <div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()" <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()"
acl [acl-ability]="['RiskOrder-Search']">查询</button> acl [acl-ability]="['FUND-REPORTING-search']">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="export()">导出</button> <button nz-button (click)="export()" acl [acl-ability]="['FUND-REPORTING-export']">导出</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
@ -33,7 +33,8 @@
<span [ngClass]="{'text-red-dark':item?.uploadStatus === '4'}">{{item?.uploadStatusLabel}}</span> <span [ngClass]="{'text-red-dark':item?.uploadStatus === '4'}">{{item?.uploadStatusLabel}}</span>
</ng-template> </ng-template>
<ng-template st-row="verifyStatus" let-item> <ng-template st-row="verifyStatus" let-item>
<a (click)="viewResult(item)" *ngIf="item?.verifyStatus === '2'">{{item?.verifyStatusLabel}}</a> <a (click)="viewResult(item)" acl [acl-ability]="['FUND-REPORTING-view-verify-data']"
*ngIf="item?.verifyStatus === '2'">{{item?.verifyStatusLabel}}</a>
<span *ngIf="item?.verifyStatus !== '2'">{{item?.verifyStatusLabel}}</span> <span *ngIf="item?.verifyStatus !== '2'">{{item?.verifyStatusLabel}}</span>
</ng-template> </ng-template>
<ng-template st-row="orderCode" let-item> <ng-template st-row="orderCode" let-item>
@ -56,8 +57,9 @@
已选择 已选择
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据 <strong class="text-red">{{ selectedRows.length }}</strong> 条数据
</div> </div>
<button nz-button nzType="primary" (click)="upload()">上传</button> <button nz-button nzType="primary" (click)="upload()" acl [acl-ability]="['FUND-REPORTING-upload']">上传</button>
<button nz-button nzType="primary" (click)="recall()">撤回</button> <button nz-button nzType="primary" (click)="recall()" acl [acl-ability]="['FUND-REPORTING-recall']">撤回</button>
<button nz-button nzType="primary" (click)="updateData()">更新数据</button> <button nz-button nzType="primary" (click)="updateData()" acl
[acl-ability]="['FUND-REPORTING-upload-data']">更新数据</button>
</div> </div>
</ng-template> </ng-template>

View File

@ -9,9 +9,9 @@
</div> </div>
<div [class.text-right]="true"> <div [class.text-right]="true">
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()" <button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()"
acl [acl-ability]="['RiskOrder-Search']">查询</button> acl [acl-ability]="['ORDER-REPORTING-search']">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="export()">导出</button> <button nz-button (click)="export()" acl [acl-ability]="['ORDER-REPORTING-export']">导出</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
@ -45,7 +45,8 @@
</ng-template> </ng-template>
<ng-template st-row="checkStatus" let-item let-index="index"> <ng-template st-row="checkStatus" let-item let-index="index">
<a *ngIf="item?.checkStatus === '2'" (click)="viewResult(item)">{{filterCheckStatus(item?.checkStatus)}}</a> <a *ngIf="item?.checkStatus === '2'" acl [acl-ability]="['ORDER-REPORTING-view-upload-data']"
(click)="viewResult(item)">{{filterCheckStatus(item?.checkStatus)}}</a>
<span *ngIf="item?.checkStatus !== '2'">{{filterCheckStatus(item?.checkStatus)}}</span> <span *ngIf="item?.checkStatus !== '2'">{{filterCheckStatus(item?.checkStatus)}}</span>
</ng-template> </ng-template>
@ -79,9 +80,11 @@
已选择 已选择
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据 <strong class="text-red">{{ selectedRows.length }}</strong> 条数据
</div> </div>
<button nz-button nzType="primary" (click)="upload()">上传</button> <button nz-button nzType="primary" (click)="upload()" acl [acl-ability]="['ORDER-REPORTING-upload']">上传</button>
<button nz-button nzType="primary" (click)="recall()">撤回</button> <button nz-button nzType="primary" (click)="recall()" acl [acl-ability]="['ORDER-REPORTING-recall']">撤回</button>
<button nz-button nzType="primary" (click)="updateData()">更新数据</button> <button nz-button nzType="primary" (click)="updateData()" acl
<button nz-button nzType="primary" (click)="uploadSetting()">上传设置</button> [acl-ability]="['ORDER-REPORTING-update-data']">更新数据</button>
<button nz-button nzType="primary" (click)="uploadSetting()" acl
[acl-ability]="['ORDER-REPORTING-search']">上传设置</button>
</div> </div>
</ng-template> </ng-template>

View File

@ -3,6 +3,6 @@
<div class="modal-footer"> <div class="modal-footer">
<button nz-button type="button" (click)="close()">取消</button> <button nz-button type="button" (click)="close()">取消</button>
<button nz-button type="submit" nzType="primary" (click)="save(sf.value)" [disabled]="!sf.valid" <button nz-button type="submit" nzType="primary" (click)="save(sf.value)" [disabled]="!sf.valid"
[nzLoading]="service.http.loading">修改</button> [nzLoading]="service.http.loading" acl [acl-ability]="['ORDER-REPORTING-upload-setting-edit']">修改</button>
</div> </div>
</sf> </sf>

View File

@ -56,7 +56,7 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
listImagUrls: any[] = []; // 货源单设置回显 listImagUrls: any[] = []; // 货源单设置回显
dirvingMessage = []; dirvingMessage = [];
modalcontent: any; modalcontent: any;
modalTitle:string = ''; modalTitle: string = '';
imges: any; imges: any;
totalObj: any; totalObj: any;
attObj: any; attObj: any;
@ -135,7 +135,7 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
// readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3', // readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif', fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -143,7 +143,14 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`,
`上传位置:${this.i?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -174,7 +181,7 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
// readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3', // readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif', fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -182,7 +189,14 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`,
`上传位置:${this.i?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -221,7 +235,7 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
// readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3', // readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif', fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -229,7 +243,14 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`,
`上传位置:${this.i?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -260,7 +281,7 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
// readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3', // readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif', fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -268,7 +289,14 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`,
`上传位置:${this.i?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -589,44 +617,44 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
nzContent: AmapPoiPickerComponent, nzContent: AmapPoiPickerComponent,
nzWidth: 900, nzWidth: 900,
nzOnOk: item => { nzOnOk: item => {
if(item?.poi) { if (item?.poi) {
const poi = item.poi; const poi = item.poi;
const locList = poi.pois; const locList = poi.pois;
switch (type) { switch (type) {
case 'start': case 'start':
this.startInfo[index].detailedAddress = poi.formattedAddress; this.startInfo[index].detailedAddress = poi.formattedAddress;
this.startInfo[index].longitude = locList[0]; this.startInfo[index].longitude = locList[0];
this.startInfo[index].latitude = locList[1]; this.startInfo[index].latitude = locList[1];
this.startInfo[index].province = poi.addressComponent.province; this.startInfo[index].province = poi.addressComponent.province;
this.startInfo[index].city = poi.addressComponent.city; this.startInfo[index].city = poi.addressComponent.city;
this.startInfo[index].area = poi.addressComponent.district; this.startInfo[index].area = poi.addressComponent.district;
this.startInfo[index].address = poi.formattedAddress; this.startInfo[index].address = poi.formattedAddress;
break; break;
case 'end': case 'end':
this.endInfo[index].detailedAddress = poi.formattedAddress; this.endInfo[index].detailedAddress = poi.formattedAddress;
this.endInfo[index].longitude = locList[0]; this.endInfo[index].longitude = locList[0];
this.endInfo[index].latitude = locList[1]; this.endInfo[index].latitude = locList[1];
this.endInfo[index].province = poi.addressComponent.province; this.endInfo[index].province = poi.addressComponent.province;
this.endInfo[index].city = poi.addressComponent.city; this.endInfo[index].city = poi.addressComponent.city;
this.endInfo[index].area = poi.addressComponent.district; this.endInfo[index].area = poi.addressComponent.district;
this.endInfo[index].address = poi.formattedAddress; this.endInfo[index].address = poi.formattedAddress;
break; break;
default: default:
break; break;
} }
if (this.startInfo[0]?.area && this.endInfo[0]?.area) { if (this.startInfo[0]?.area && this.endInfo[0]?.area) {
this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe((res: any) => { this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe((res: any) => {
this.totalDistance = res?.distance; this.totalDistance = res?.distance;
this.totalTime = res?.time; this.totalTime = res?.time;
}); });
}
return true
} else {
this.service.msgSrv.warning('请重新手动选择地址!')
return false
} }
return true
} else {
this.service.msgSrv.warning('请重新手动选择地址!')
return false
} }
}
}); });
} }
initSF3() { initSF3() {
@ -916,11 +944,11 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit {
}); });
}; };
agreement(value: any) { agreement(value: any) {
if(value ==='1'){ if (value === '1') {
this.modalTitle = '附件信息'; this.modalTitle = '附件信息';
this.modalcontent = this.i?.contractContent?.contractContent; this.modalcontent = this.i?.contractContent?.contractContent;
}else if(value === '2'){ } else if (value === '2') {
this.modalTitle = '补充协议'; this.modalTitle = '补充协议';
this.modalcontent = this.i?.supplementContent?.contractContent; this.modalcontent = this.i?.supplementContent?.contractContent;
} }

View File

@ -55,7 +55,7 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
billExpenses: any[] = []; //运费信息表格信息 billExpenses: any[] = []; //运费信息表格信息
dirvingMessage = []; dirvingMessage = [];
modalcontent: any; modalcontent: any;
modalTitle:string = ''; modalTitle: string = '';
attObj: any; attObj: any;
totalObj: any; totalObj: any;
approvalLsit: any; approvalLsit: any;
@ -126,7 +126,7 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
// readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3', // readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif', fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -134,7 +134,14 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`,
`上传位置:${this.i?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -165,7 +172,7 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
// readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3', // readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif', fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -173,7 +180,14 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`,
`上传位置:${this.i?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -212,7 +226,7 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
// readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3', // readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif', fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -220,7 +234,14 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`,
`上传位置:${this.i?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -251,7 +272,7 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
// readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3', // readOnly: this.i.billStatus !== '4' || this.i.billStatus !== '3',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif', fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -259,7 +280,14 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.i?.driverName}(${this.i?.driverTelephone})`,
`上传位置:${this.i?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -391,52 +419,52 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
} }
}); });
// 对装货凭证进行初始化 // 对装货凭证进行初始化
this.formData = { this.formData = {
loadingLadingBillFilePath: [ loadingLadingBillFilePath: [
{ {
uid: 'logo', uid: 'logo',
name: 'LOGO', name: 'LOGO',
status: 'done', status: 'done',
url: res?.loadingLadingBillFilePath, url: res?.loadingLadingBillFilePath,
response: { response: {
url: res?.loadingLadingBillFilePath url: res?.loadingLadingBillFilePath
}
} }
], }
loadingPeopleVehiclesGoodsFilePath: [ ],
{ loadingPeopleVehiclesGoodsFilePath: [
uid: 'logo', {
name: 'LOGO', uid: 'logo',
status: 'done', name: 'LOGO',
status: 'done',
url: res?.loadingPeopleVehiclesGoodsFilePath,
response: {
url: res?.loadingPeopleVehiclesGoodsFilePath, url: res?.loadingPeopleVehiclesGoodsFilePath,
response: {
url: res?.loadingPeopleVehiclesGoodsFilePath,
}
} }
], }
unloadingLadingBillFilePath: [ ],
{ unloadingLadingBillFilePath: [
uid: 'logo', {
name: 'LOGO', uid: 'logo',
status: 'done', name: 'LOGO',
url: res?.unloadingLadingBillFilePath, status: 'done',
response: { url: res?.unloadingLadingBillFilePath,
url: res?.unloadingLadingBillFilePath response: {
} url: res?.unloadingLadingBillFilePath
} }
], }
unloadingPeopleVehiclesGoodsFilePath: [ ],
{ unloadingPeopleVehiclesGoodsFilePath: [
uid: 'logo', {
name: 'LOGO', uid: 'logo',
status: 'done', name: 'LOGO',
url: res?.unloadingPeopleVehiclesGoodsFilePath, status: 'done',
response: { url: res?.unloadingPeopleVehiclesGoodsFilePath,
url: res?.unloadingPeopleVehiclesGoodsFilePath response: {
} url: res?.unloadingPeopleVehiclesGoodsFilePath
} }
] }
}; ]
};
// 发车时间到车时间初始化 // 发车时间到车时间初始化
this.loadTime = res?.loadTime; this.loadTime = res?.loadTime;
this.unloadTime = res?.unloadTime; this.unloadTime = res?.unloadTime;
@ -560,43 +588,43 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
nzContent: AmapPoiPickerComponent, nzContent: AmapPoiPickerComponent,
nzWidth: 900, nzWidth: 900,
nzOnOk: item => { nzOnOk: item => {
if(item?.poi) { if (item?.poi) {
const poi = item.poi; const poi = item.poi;
const locList = poi.pois; const locList = poi.pois;
switch (type) { switch (type) {
case 'start': case 'start':
this.startInfo[index].detailedAddress = poi.formattedAddress; this.startInfo[index].detailedAddress = poi.formattedAddress;
this.startInfo[index].longitude = locList[0]; this.startInfo[index].longitude = locList[0];
this.startInfo[index].latitude = locList[1]; this.startInfo[index].latitude = locList[1];
this.startInfo[index].province = poi.addressComponent.province; this.startInfo[index].province = poi.addressComponent.province;
this.startInfo[index].city = poi.addressComponent.city; this.startInfo[index].city = poi.addressComponent.city;
this.startInfo[index].area = poi.addressComponent.district; this.startInfo[index].area = poi.addressComponent.district;
this.startInfo[index].address = poi.formattedAddress; this.startInfo[index].address = poi.formattedAddress;
break; break;
case 'end': case 'end':
this.endInfo[index].detailedAddress = poi.formattedAddress; this.endInfo[index].detailedAddress = poi.formattedAddress;
this.endInfo[index].longitude = locList[0]; this.endInfo[index].longitude = locList[0];
this.endInfo[index].latitude = locList[1]; this.endInfo[index].latitude = locList[1];
this.endInfo[index].province = poi.addressComponent.province; this.endInfo[index].province = poi.addressComponent.province;
this.endInfo[index].city = poi.addressComponent.city; this.endInfo[index].city = poi.addressComponent.city;
this.endInfo[index].area = poi.addressComponent.district; this.endInfo[index].area = poi.addressComponent.district;
this.endInfo[index].address = poi.formattedAddress; this.endInfo[index].address = poi.formattedAddress;
break; break;
default: default:
break; break;
} }
if (this.startInfo[0]?.area && this.endInfo[0]?.area) { if (this.startInfo[0]?.area && this.endInfo[0]?.area) {
this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe((res: any) => { this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe((res: any) => {
this.totalDistance = res?.distance; this.totalDistance = res?.distance;
this.totalTime = res?.time; this.totalTime = res?.time;
}); });
}
return true
} else {
this.service.msgSrv.warning('请重新手动选择地址!')
return false
} }
return true
} else {
this.service.msgSrv.warning('请重新手动选择地址!')
return false
}
} }
}); });
} }
@ -855,11 +883,11 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
}); });
}; };
agreement(value: any) { agreement(value: any) {
if(value ==='1'){ if (value === '1') {
this.modalTitle = '附件信息'; this.modalTitle = '附件信息';
this.modalcontent = this.i?.contractContent?.contractContent; this.modalcontent = this.i?.contractContent?.contractContent;
}else if(value === '2'){ } else if (value === '2') {
this.modalTitle = '补充协议'; this.modalTitle = '补充协议';
this.modalcontent = this.i?.supplementContent?.contractContent; this.modalcontent = this.i?.supplementContent?.contractContent;
} }

View File

@ -20,6 +20,7 @@ import { NzModalRef } from 'ng-zorro-antd/modal';
import { Observable, Observer } from 'rxjs'; import { Observable, Observer } from 'rxjs';
import { EAEnvironmentService } from '@shared'; import { EAEnvironmentService } from '@shared';
import { OrderManagementService } from '../../../services/order-management.service'; import { OrderManagementService } from '../../../services/order-management.service';
import format from 'date-fns/format';
@Component({ @Component({
selector: 'app-order-management-voucher-view', selector: 'app-order-management-voucher-view',
@ -34,14 +35,14 @@ export class orderManagementVoucherViewComponent implements OnInit {
formData: any; formData: any;
datas: any; datas: any;
Status: any; Status: any;
data: any ={ data: any = {
weight: 0, weight: 0,
volume: 0 volume: 0
}; };
@ViewChild('sf', { static: false }) sf!: SFComponent; @ViewChild('sf', { static: false }) sf!: SFComponent;
schema: SFSchema = {}; schema: SFSchema = {};
ui: SFUISchema = {}; ui: SFUISchema = {};
constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient, public service: OrderManagementService,private datePipe: DatePipe,private envSrv: EAEnvironmentService, ) {} constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient, public service: OrderManagementService, private datePipe: DatePipe, private envSrv: EAEnvironmentService,) { }
ngOnInit(): void { ngOnInit(): void {
// console.log(this.i) // console.log(this.i)
@ -51,406 +52,462 @@ export class orderManagementVoucherViewComponent implements OnInit {
} }
initSF() { initSF() {
console.log(this.Status) console.log(this.Status)
if(this.Status == 1) { if (this.Status == 1) {
this.schema = { this.schema = {
properties: {
loadingLadingBillFilePath: {
type: 'string',
title: '装货凭证',
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
loadingPeopleVehiclesGoodsFilePath: {
type: 'string',
title: '',
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
no4: {
type: 'string',
title: '',
ui: {
widget: 'text',
},
default: '单张大小不超过5M支持.jpg、.jpeg和 .png格式',
},
unloadingLadingBillFilePath: {
type: 'string',
title: '卸货凭证',
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
unloadingPeopleVehiclesGoodsFilePath: {
type: 'string',
title: '',
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
}
},
required: ['loadingLadingBillFilePath', 'loadingPeopleVehiclesGoodsFilePath','unloadingLadingBillFilePath','unloadingPeopleVehiclesGoodsFilePath' ]
};
}else {
this.schema = {
properties: {
no0: {
type: 'string',
title: '',
ui: {
widget: 'custom',
},
},
loadingLadingBillFilePath: {
type: 'string',
title: '装货凭证',
readOnly: true,
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
loadingPeopleVehiclesGoodsFilePath: {
type: 'string',
title: '',
readOnly: true,
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
no4: { properties: {
type: 'string', loadingLadingBillFilePath: {
title: '', type: 'string',
ui: { title: '装货凭证',
widget: 'text', ui: {
}, widget: 'upload',
default: '单张大小不超过5M支持.jpg、.jpeg和 .png格式', action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
loadingPeopleVehiclesGoodsFilePath: {
type: 'string',
title: '',
ui: {
widget: 'upload',
action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
no4: {
type: 'string',
title: '',
ui: {
widget: 'text',
},
default: '单张大小不超过5M支持.jpg、.jpeg和 .png格式',
},
unloadingLadingBillFilePath: {
type: 'string',
title: '卸货凭证',
ui: {
widget: 'upload',
action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
unloadingPeopleVehiclesGoodsFilePath: {
type: 'string',
title: '',
ui: {
widget: 'upload',
action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
}
}, },
no6: { required: ['loadingLadingBillFilePath', 'loadingPeopleVehiclesGoodsFilePath', 'unloadingLadingBillFilePath', 'unloadingPeopleVehiclesGoodsFilePath']
type: 'string', };
title: '', } else {
ui: { this.schema = {
widget: 'custom', properties: {
}, no0: {
type: 'string',
title: '',
ui: {
widget: 'custom',
},
},
loadingLadingBillFilePath: {
type: 'string',
title: '装货凭证',
readOnly: true,
ui: {
widget: 'upload',
action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
loadingPeopleVehiclesGoodsFilePath: {
type: 'string',
title: '',
readOnly: true,
ui: {
widget: 'upload',
action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
no4: {
type: 'string',
title: '',
ui: {
widget: 'text',
},
default: '单张大小不超过5M支持.jpg、.jpeg和 .png格式',
},
no6: {
type: 'string',
title: '',
ui: {
widget: 'custom',
},
},
unloadingLadingBillFilePath: {
type: 'string',
title: '卸货凭证',
readOnly: true,
ui: {
widget: 'upload',
action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
unloadingPeopleVehiclesGoodsFilePath: {
type: 'string',
title: '',
readOnly: true,
ui: {
widget: 'upload',
action: apiConf.waterFileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
}
}, },
unloadingLadingBillFilePath: { required: ['loadingLadingBillFilePath', 'loadingPeopleVehiclesGoodsFilePath', 'unloadingLadingBillFilePath', 'unloadingPeopleVehiclesGoodsFilePath']
type: 'string', };
title: '卸货凭证', }
readOnly: true,
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
},
unloadingPeopleVehiclesGoodsFilePath: {
type: 'string',
title: '',
readOnly: true,
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
} as SFUploadWidgetSchema,
}
},
required: ['loadingLadingBillFilePath', 'loadingPeopleVehiclesGoodsFilePath','unloadingLadingBillFilePath','unloadingPeopleVehiclesGoodsFilePath' ]
};
}
this.ui = { this.ui = {
'*': { '*': {
spanLabelFixed: 100, spanLabelFixed: 100,
grid: { span: 20 } grid: { span: 20 }
}, },
$unloadingLadingBillFilePath: { grid: { span: 12} }, $unloadingLadingBillFilePath: { grid: { span: 12 } },
$unloadingPeopleVehiclesGoodsFilePath: { grid: { span: 12} }, $unloadingPeopleVehiclesGoodsFilePath: { grid: { span: 12 } },
$loadingLadingBillFilePath: { grid: { span: 12} }, $loadingLadingBillFilePath: { grid: { span: 12 } },
$loadingPeopleVehiclesGoodsFilePath: { grid: { span: 12} }, $loadingPeopleVehiclesGoodsFilePath: { grid: { span: 12 } },
}; };
} }
save(value: any): void { save(value: any): void {
if(!this.sf.valid) { if (!this.sf.valid) {
this.service.msgSrv.warning('必填项为空!') this.service.msgSrv.warning('必填项为空!')
return; return;
} }
console.log(value) console.log(value)
const params = { const params = {
id: this.i?.id, id: this.i?.id,
loadingLadingBillFilePath: value?.loadingLadingBillFilePath?.data?.fullFilePath, loadingLadingBillFilePath: value?.loadingLadingBillFilePath?.data?.fullFilePath,
loadingPeopleVehiclesGoodsFilePath: value?.loadingPeopleVehiclesGoodsFilePath?.data?.fullFilePath, loadingPeopleVehiclesGoodsFilePath: value?.loadingPeopleVehiclesGoodsFilePath?.data?.fullFilePath,
unloadingLadingBillFilePath: value?.unloadingLadingBillFilePath?.data?.fullFilePath, unloadingLadingBillFilePath: value?.unloadingLadingBillFilePath?.data?.fullFilePath,
unloadingPeopleVehiclesGoodsFilePath: value?.unloadingPeopleVehiclesGoodsFilePath?.data?.fullFilePath, unloadingPeopleVehiclesGoodsFilePath: value?.unloadingPeopleVehiclesGoodsFilePath?.data?.fullFilePath,
}
console.log(params)
this.service.request(this.service.$api_get_updateBillExamine, params).subscribe((res) => {
if (res) {
this.service.msgSrv.success('修改成功!')
this.modal.destroy(true);
} }
console.log(params) })
this.service.request(this.service.$api_get_updateBillExamine, params).subscribe((res) => {
if(res) {
this.service.msgSrv.success('修改成功!')
this.modal.destroy(true);
}
})
} }
sure() { sure() {
const params = [this.i?.id]; const params = [this.i?.id];
this.service.downloadFile(this.service.$api_createBillTakeGoods,params) this.service.downloadFile(this.service.$api_createBillTakeGoods, params)
this.service.downloadFile(this.service.$api_createBillDischargeGoods,params) this.service.downloadFile(this.service.$api_createBillDischargeGoods, params)
this.service.msgSrv.success('生成电子单据成功!') this.service.msgSrv.success('生成电子单据成功!')
this.modal.destroy(true); this.modal.destroy(true);
} }
// 确认到车界面信息(两个只能看的图片) // 确认到车界面信息(两个只能看的图片)
initData() { initData() {
this.service.request(this.service.$api_get_getCredentials, { id : this.i?.id}).subscribe((res) => { this.service.request(this.service.$api_get_getCredentials, { id: this.i?.id }).subscribe((res) => {
console.log(res) console.log(res)
this.datas = res this.datas = res
if (res.unloadingLadingBillFilePath) { if (res.unloadingLadingBillFilePath) {
this.formData = { this.formData = {
loadingLadingBillFilePath: [ loadingLadingBillFilePath: [
{ {
uid: 'logo', uid: 'logo',
@ -461,30 +518,30 @@ export class orderManagementVoucherViewComponent implements OnInit {
url: res.loadingLadingBillFilePath, url: res.loadingLadingBillFilePath,
}, },
}, },
], ],
loadingPeopleVehiclesGoodsFilePath: [ loadingPeopleVehiclesGoodsFilePath: [
{ {
uid: 'logo', uid: 'logo',
name: 'LOGO', name: 'LOGO',
status: 'done', status: 'done',
url: res.loadingPeopleVehiclesGoodsFilePath, url: res.loadingPeopleVehiclesGoodsFilePath,
response: { response: {
url: res.loadingPeopleVehiclesGoodsFilePath, url: res.loadingPeopleVehiclesGoodsFilePath,
}, },
}, },
], ],
unloadingLadingBillFilePath: [ unloadingLadingBillFilePath: [
{ {
uid: 'logo', uid: 'logo',
name: 'LOGO', name: 'LOGO',
status: 'done', status: 'done',
url: res.unloadingLadingBillFilePath, url: res.unloadingLadingBillFilePath,
response: { response: {
url: res.unloadingLadingBillFilePath, url: res.unloadingLadingBillFilePath,
}, },
}, },
], ],
unloadingPeopleVehiclesGoodsFilePath: [ unloadingPeopleVehiclesGoodsFilePath: [
{ {
uid: 'logo', uid: 'logo',
name: 'LOGO', name: 'LOGO',
@ -494,7 +551,7 @@ export class orderManagementVoucherViewComponent implements OnInit {
url: res.unloadingPeopleVehiclesGoodsFilePath, url: res.unloadingPeopleVehiclesGoodsFilePath,
}, },
}, },
], ],
}; };
} }
}) })
@ -503,7 +560,7 @@ export class orderManagementVoucherViewComponent implements OnInit {
this.modal.destroy(true); this.modal.destroy(true);
} }
openlaod(value: any) { openlaod(value: any) {
if(value === 1) { if (value === 1) {
const a = document.createElement('a'); const a = document.createElement('a');
a.href = this.datas?.loadingElectronicsLadingBillFilePath; a.href = this.datas?.loadingElectronicsLadingBillFilePath;
document.body.appendChild(a); document.body.appendChild(a);
@ -518,6 +575,6 @@ export class orderManagementVoucherViewComponent implements OnInit {
a.click(); //点击下载 a.click(); //点击下载
document.body.removeChild(a); //下载完成移除元素 document.body.removeChild(a); //下载完成移除元素
} }
} }
} }

View File

@ -1,24 +1,17 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { DatePipe } from '@angular/common'; import { DatePipe } from '@angular/common';
import { Component, OnInit, ViewChild } from '@angular/core';
import { apiConf } from '@conf/api.conf';
import { import {
SFComponent, SFComponent, SFSchema, SFUISchema,
SFCustomWidgetSchema,
SFDateWidgetSchema,
SFNumberWidgetSchema,
SFRadioWidgetSchema,
SFSchema,
SFSelectWidgetSchema,
SFTextareaWidgetSchema,
SFUISchema,
SFUploadWidgetSchema SFUploadWidgetSchema
} from '@delon/form'; } from '@delon/form';
import { apiConf } from '@conf/api.conf';
import { _HttpClient } from '@delon/theme'; import { _HttpClient } from '@delon/theme';
import { EAEnvironmentService } from '@shared';
import format from 'date-fns/format';
import { NzMessageService } from 'ng-zorro-antd/message'; import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalRef } from 'ng-zorro-antd/modal'; import { NzModalRef } from 'ng-zorro-antd/modal';
import { WaybillManagementServe } from 'src/app/routes/waybill-management/services/waybill-management.service';
import { Observable, Observer } from 'rxjs'; import { Observable, Observer } from 'rxjs';
import { EAEnvironmentService } from '@shared'; import { WaybillManagementServe } from 'src/app/routes/waybill-management/services/waybill-management.service';
@Component({ @Component({
selector: 'app-order-management-vehicle-sure-arrive', selector: 'app-order-management-vehicle-sure-arrive',
@ -45,7 +38,7 @@ export class VehicleSureArriveComponent implements OnInit {
public service: WaybillManagementServe, public service: WaybillManagementServe,
private datePipe: DatePipe, private datePipe: DatePipe,
private envSrv: EAEnvironmentService private envSrv: EAEnvironmentService
) {} ) { }
ngOnInit(): void { ngOnInit(): void {
console.log(this.i); console.log(this.i);
@ -67,7 +60,7 @@ export class VehicleSureArriveComponent implements OnInit {
title: '装货凭证', title: '装货凭证',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -75,7 +68,14 @@ export class VehicleSureArriveComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -105,7 +105,7 @@ export class VehicleSureArriveComponent implements OnInit {
title: '', title: '',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -113,7 +113,14 @@ export class VehicleSureArriveComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -151,7 +158,7 @@ export class VehicleSureArriveComponent implements OnInit {
title: '卸货凭证', title: '卸货凭证',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -159,7 +166,14 @@ export class VehicleSureArriveComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -189,7 +203,7 @@ export class VehicleSureArriveComponent implements OnInit {
title: '', title: '',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -197,7 +211,14 @@ export class VehicleSureArriveComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -252,7 +273,7 @@ export class VehicleSureArriveComponent implements OnInit {
title: '装货凭证', title: '装货凭证',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -260,7 +281,14 @@ export class VehicleSureArriveComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -290,7 +318,7 @@ export class VehicleSureArriveComponent implements OnInit {
title: '', title: '',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -298,7 +326,14 @@ export class VehicleSureArriveComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -336,7 +371,7 @@ export class VehicleSureArriveComponent implements OnInit {
title: '卸货凭证', title: '卸货凭证',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -344,7 +379,14 @@ export class VehicleSureArriveComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -374,7 +416,7 @@ export class VehicleSureArriveComponent implements OnInit {
title: '', title: '',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -382,7 +424,14 @@ export class VehicleSureArriveComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.unloadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -426,7 +475,7 @@ export class VehicleSureArriveComponent implements OnInit {
console.log(this.Status); console.log(this.Status);
console.log(value?.imgUrl3?.data?.fullFilePath); console.log(value?.imgUrl3?.data?.fullFilePath);
console.log(value?.imgUrl3?.url); console.log(value?.imgUrl3?.url);
if (this.Status === 1) { if (this.Status === 1) {
if (!value.time) { if (!value.time) {
this.service.msgSrv.warning('卸货时间为空!'); this.service.msgSrv.warning('卸货时间为空!');
@ -442,7 +491,7 @@ export class VehicleSureArriveComponent implements OnInit {
}; };
params.time = this.datePipe.transform(value.time, 'yyyy-MM-dd HH:mm:ss '); params.time = this.datePipe.transform(value.time, 'yyyy-MM-dd HH:mm:ss ');
console.log(params); console.log(params);
this.service.request(this.service.$api_get_insertWholeUnloadCarInfo, params).subscribe(res => { this.service.request(this.service.$api_get_insertWholeUnloadCarInfo, params).subscribe(res => {
if (res) { if (res) {
this.service.msgSrv.success('确认到车成功!'); this.service.msgSrv.success('确认到车成功!');

View File

@ -1,24 +1,17 @@
import { DatePipe } from '@angular/common';
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { apiConf } from '@conf/api.conf';
import { import {
SFComponent, SFComponent, SFSchema, SFUISchema,
SFCustomWidgetSchema,
SFDateWidgetSchema,
SFNumberWidgetSchema,
SFRadioWidgetSchema,
SFSchema,
SFSelectWidgetSchema,
SFTextareaWidgetSchema,
SFUISchema,
SFUploadWidgetSchema SFUploadWidgetSchema
} from '@delon/form'; } from '@delon/form';
import { apiConf } from '@conf/api.conf';
import { _HttpClient } from '@delon/theme'; import { _HttpClient } from '@delon/theme';
import { EAEnvironmentService } from '@shared';
import { NzMessageService } from 'ng-zorro-antd/message'; import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalRef } from 'ng-zorro-antd/modal'; import { NzModalRef } from 'ng-zorro-antd/modal';
import { Observable, Observer } from 'rxjs'; import { Observable, Observer } from 'rxjs';
import { WaybillManagementServe } from 'src/app/routes/waybill-management/services/waybill-management.service'; import { WaybillManagementServe } from 'src/app/routes/waybill-management/services/waybill-management.service';
import { EAEnvironmentService, EADateUtil } from '@shared'; import format from 'date-fns/format';
import { DatePipe } from '@angular/common';
@Component({ @Component({
selector: 'app-order-management-vehicle-sure-depart', selector: 'app-order-management-vehicle-sure-depart',
@ -44,7 +37,7 @@ export class VehicleSureDepartComponent implements OnInit {
public service: WaybillManagementServe, public service: WaybillManagementServe,
private envSrv: EAEnvironmentService, private envSrv: EAEnvironmentService,
private datePipe: DatePipe private datePipe: DatePipe
) {} ) { }
ngOnInit(): void { ngOnInit(): void {
this.initSF(); this.initSF();
@ -82,7 +75,14 @@ export class VehicleSureDepartComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -112,7 +112,7 @@ export class VehicleSureDepartComponent implements OnInit {
title: '', title: '',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -120,7 +120,14 @@ export class VehicleSureDepartComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -183,7 +190,7 @@ export class VehicleSureDepartComponent implements OnInit {
title: '装货凭证', title: '装货凭证',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -191,7 +198,14 @@ export class VehicleSureDepartComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单', descriptionI18n: '提货单',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {
@ -221,7 +235,7 @@ export class VehicleSureDepartComponent implements OnInit {
title: '', title: '',
ui: { ui: {
widget: 'upload', widget: 'upload',
action: apiConf.fileUpload, action: apiConf.waterFileUpload,
accept: 'image/png,image/jpeg,image/jpg,image/gif', accept: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1, limit: 1,
limitFileCount: 1, limitFileCount: 1,
@ -229,7 +243,14 @@ export class VehicleSureDepartComponent implements OnInit {
urlReName: 'data.fullFileWatermarkPath', urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片', descriptionI18n: '人车货照片',
data: { data: {
appId: this.envSrv.env.appId appId: this.envSrv.env.appId,
content: [
`上传用户:${this.record?.driverName}(${this.record?.driverTelephone})`,
`上传位置:${this.record?.loadingAddressArr[0]}`,
`上传时间:${format(new Date(), 'yyyy-MM-dd HH:mm:ss')}`,
],
position: '2',
fontSize: '100'
}, },
name: 'multipartFile', name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => { beforeUpload: (file: any, fileList: any) => {

View File

@ -282,7 +282,16 @@ export class InvoiceRequestedComponent {
if (res?.reconciliationUrl) { if (res?.reconciliationUrl) {
this.service.reviewPDF(res.reconciliationUrl); this.service.reviewPDF(res.reconciliationUrl);
} else { } else {
this.service.msgSrv.warning('获取对账单失败'); this.service
.request(this.service.$api_download_Reconciliatio_pdf, { vatappHId: item.id, esignFlowId: res.esignFlowId })
.subscribe(rs => {
if (rs?.reconciliationUrl) {
this.service.reviewPDF(rs.reconciliationUrl);
} else {
// this.service.msgSrv.warning('获取对账单失败');
}
});
// this.service.msgSrv.warning('获取对账单失败');
} }
}); });
} }

View File

@ -132,6 +132,8 @@ export class TicketService extends ShipperBaseService {
$api_get_express_routes = '/api/fcc/ficoExpressH/searchRoutes'; $api_get_express_routes = '/api/fcc/ficoExpressH/searchRoutes';
// 下载对账单文件 // 下载对账单文件
$api_downloadPdf = '/api/fcc/ficoVatappBill/downloadPdf'; $api_downloadPdf = '/api/fcc/ficoVatappBill/downloadPdf';
// 对账单文件下载
$api_download_Reconciliatio_pdf = '/api/fcc/ficoVatappBill/downloadReconciliationPdf';
// 根据地区code查询列表 // 根据地区code查询列表
$api_get_region_by_code = '/api/mdc/pbc/region/getRegionByCode'; $api_get_region_by_code = '/api/mdc/pbc/region/getRegionByCode';

View File

@ -1,4 +1,5 @@
import { Component, OnInit, ViewChild, Type } from '@angular/core'; import { Component, OnInit, ViewChild, Type } from '@angular/core';
import { Router } from '@angular/router';
import { STComponent, STColumn, STChange } from '@delon/abc/st'; import { STComponent, STColumn, STChange } from '@delon/abc/st';
import { import {
SFComponent, SFComponent,
@ -57,7 +58,14 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
click: item => this.reviewDetailAction(item) click: item => this.reviewDetailAction(item)
}, },
{ title: '异常类型', index: 'exceptionTypeLabel', width: '180px', className: 'text-left' }, { title: '异常类型', index: 'exceptionTypeLabel', width: '180px', className: 'text-left' },
{ title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' }, {
title: '关联运单号',
index: 'wayBillCode',
width: '180px',
className: 'text-left',
type: 'link',
click: item => this.routeToBill(item)
},
{ title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '250px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '250px', className: 'text-left' },
{ title: '装货地', index: 'loadingAddressArr', width: '220px', className: 'text-left' }, { title: '装货地', index: 'loadingAddressArr', width: '220px', className: 'text-left' },
@ -84,7 +92,14 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
click: item => this.reviewDetailAction(item) click: item => this.reviewDetailAction(item)
}, },
{ title: '异常类型', index: 'exceptionTypeLabel', width: '180px', className: 'text-left' }, { title: '异常类型', index: 'exceptionTypeLabel', width: '180px', className: 'text-left' },
{ title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' }, {
title: '关联运单号',
index: 'wayBillCode',
width: '180px',
className: 'text-left',
type: 'link',
click: item => this.routeToBill(item)
},
{ title: '网络货运人', index: 'enterpriseInfoName', width: '180px', className: 'text-left' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '180px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '180px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '180px', className: 'text-left' },
{ title: '装货地', index: 'loadingAddressArr', width: '180px', className: 'text-left' }, { title: '装货地', index: 'loadingAddressArr', width: '180px', className: 'text-left' },
@ -121,7 +136,12 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
} }
itemInfo: any = {}; itemInfo: any = {};
replyContent = ''; replyContent = '';
constructor(public service: WaybillManagementServe, private nzModalService: NzModalService, public shipperSrv: ShipperBaseService) {} constructor(
public service: WaybillManagementServe,
private nzModalService: NzModalService,
public shipperSrv: ShipperBaseService,
private router: Router
) {}
ngOnInit(): void { ngOnInit(): void {
this.initSF(); this.initSF();
@ -144,7 +164,7 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
reviewDetailAction(item: any) { reviewDetailAction(item: any) {
this.itemInfo = {}; this.itemInfo = {};
this.service.request(this.service.$api_get_listOperate_detail, { id: item.id }).subscribe(res => { this.service.request(`${this.service.$api_get_listOperate_detail}${item.id}`, {}, 'GET').subscribe(res => {
if (res) { if (res) {
this.itemInfo = res; this.itemInfo = res;
const modal = this.nzModalService.create({ const modal = this.nzModalService.create({
@ -186,6 +206,14 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
}); });
} }
routeToBill(item: any) {
if (item.billType === '1') {
this.router.navigate([`/waybill-management/vehicle/vehicle-detail/${item.wayBillId}`]);
} else {
this.router.navigate([`/waybill-management/bulk/bulk-detail/${item.wayBillId}`]);
}
}
initSF() { initSF() {
this.schema = { this.schema = {
properties: { properties: {

View File

@ -52,7 +52,7 @@ export class WaybillManagementServe extends BaseService {
// 查询运营端异常上报 // 查询运营端异常上报
$api_get_listOperatePage = '/api/sdc/exceptionReport/listOperatePage'; $api_get_listOperatePage = '/api/sdc/exceptionReport/listOperatePage';
// 查询运营端异常上报详情 // 查询运营端异常上报详情
$api_get_listOperate_detail = '/api/sdc/exceptionReport/getOperateDetail'; $api_get_listOperate_detail = '/api/sdc/exceptionReport/operateDetail/';
// 运营端异常回复 // 运营端异常回复
$api_operate_reply = '/api/sdc/exceptionReport/operateReply'; $api_operate_reply = '/api/sdc/exceptionReport/operateReply';
// 查询运营端异常上报数据统计 // 查询运营端异常上报数据统计