Files
bbq/src/app/routes/supply-management/components/onecar-publish/onecar-publish.component.ts
2021-12-08 16:32:15 +08:00

506 lines
13 KiB
TypeScript

import { Component, OnInit, ViewChild } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import {
SFComponent,
SFNumberWidgetSchema,
SFSchema,
SFSelectWidgetSchema,
SFTextareaWidgetSchema,
SFUISchema
} from '@delon/form';
import { _HttpClient } from '@delon/theme';
import { AmapPoiPickerComponent } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { PublishGoodsChooseFamifiarComponent } from '../choose-famifiar/choose-famifiar.component';
import { SupplyManagementService } from '../../services/supply-management.service';
@Component({
selector: 'app-publish-goods-onecar-publish',
templateUrl: './onecar-publish.component.html',
styleUrls: ['./onecar-publish.component.less']
})
export class SupplyManagementOnecarPublishComponent implements OnInit {
validateForm1: FormGroup;
newTempchecked = false; //是否存入新模板
id = this.route.snapshot.params.id;
// // 单位
unit1 = '吨';
unit2 = '方';
unit3 = '保价费金额';
startInfo: any[] = [
{
addresss: '深圳',
name: '张三',
phone: '18888888888'
}
];
endInfo: any[] = [
{
addresss: '深圳',
name: '张三',
phone: '18888888888'
}
];
dataList: any;
constructor(private http: _HttpClient, fb: FormBuilder, private router: Router, private route: ActivatedRoute, private modalService: NzModalService, public service: SupplyManagementService) {
this.validateForm1 = fb.group({
name1: [null, []],
name2: [null, []],
name3: [null, []]
});
}
@ViewChild('sf1', { static: false }) sf1!: SFComponent;
schema1: SFSchema = {};
ui1!: SFUISchema;
@ViewChild('sf2', { static: false }) sf2!: SFComponent;
schema2: SFSchema = {};
ui2!: SFUISchema;
@ViewChild('sf3', { static: false }) sf3!: SFComponent;
schema3: SFSchema = {};
ui3!: SFUISchema;
@ViewChild('sf4', { static: false }) sf4!: SFComponent;
schema4: SFSchema = {};
ui4!: SFUISchema;
@ViewChild('sf5', { static: false }) sf5!: SFComponent;
schema5: SFSchema = {};
ui5!: SFUISchema;
@ViewChild('sf6', { static: false }) sf6!: SFComponent;
schema6: SFSchema = {};
ui6!: SFUISchema;
@ViewChild('sf7', { static: false }) sf7!: SFComponent;
schema7: SFSchema = {};
ui7!: SFUISchema;
ngOnInit(): void {
this.initSF1();
// this.initSF2();
this.initSF3();
this.initSF4();
this.initSF5();
this.initSF6();
this.initSF7();
this.initdata();
}
initSF1() {
this.schema1 = {
properties: {
shipperAppUserNmae: {
type: 'string',
title: '货主',
maxLength: 30,
ui: {
placeholder: '请输入'
}
},
enterpriseProjectName: {
type: 'string',
title: '项目',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: {
widget: 'select',
placeholder: '请选择',
allowClear: true
// asyncData: () =>
// this.service.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
},
enterpriseInfoName: {
type: 'string',
title: '网络货运人',
ui: {
widget: 'text'
},
default: 0
},
externalResourceCode: {
type: 'string',
title: '外部货源号',
maxLength: 30,
ui: {
placeholder: '请输入'
}
},
dispatchName2: {
type: 'string',
title: '调度员',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: {
widget: 'select',
placeholder: '请选择',
allowClear: true
// asyncData: () =>
// this.service.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
}
}
};
this.ui1 = {
'*': {
spanLabelFixed: 90,
grid: { span: 8 }
}
};
}
// initSF2() {
// this.schema2 = {
// properties: {
// name1: {
// type: 'string',
// title: '发货模板',
// ui: {
// widget: 'custom',
// placeholder: '请输入'
// }
// }
// }
// };
// this.ui2 = {
// '*': {
// spanLabelFixed: 90,
// grid: { span: 12 }
// }
// };
// }
initSF3() {
this.schema3 = {
properties: {
name1: {
type: 'string',
title: '货物名称',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: {
widget: 'select',
placeholder: '请选择'
// asyncData: () =>
// this.categoryService.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
},
name2: {
type: 'string',
title: '',
ui: {
visibleIf: {
name1: value => value === '1'
}
}
}
}
};
this.ui3 = {
'*': {
spanLabelFixed: 90,
grid: { span: 12 }
},
$name1: {
grid: { span: 12 }
},
$name2: {
grid: { span: 12 }
}
};
}
initSF4() {
this.schema4 = {
properties: {
name3: {
type: 'string',
title: '重量/体积',
ui: {
widget: 'custom',
placeholder: '请输入'
}
},
name4: {
type: 'string',
title: '',
ui: {
widget: 'custom',
placeholder: '请输入'
}
},
name5: {
type: 'string',
title: '用车需求',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: {
widget: 'select',
placeholder: '请选择车型'
// asyncData: () =>
// this.categoryService.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
},
name6: {
type: 'string',
title: '',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: {
widget: 'select',
placeholder: '请选择车长'
// asyncData: () =>
// this.categoryService.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
}
}
};
this.ui4 = {
'*': {
spanLabelFixed: 90,
grid: { span: 24 }
},
$name3: {
grid: { span: 12 }
},
$name4: {
grid: { span: 12 }
},
$name5: {
grid: { span: 12 }
},
$name6: {
grid: { span: 12 }
}
};
}
initSF5() {
this.schema5 = {
properties: {
name1: {
type: 'string',
title: '货物价值',
ui: {
widget: 'custom',
placeholder: '请输入'
}
}
}
};
this.ui5 = {
'*': {
spanLabelFixed: 90,
grid: { span: 24 }
}
};
}
initSF6() {
this.schema6 = {
properties: {
name1: {
type: 'string',
title: '是否回单',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: {
widget: 'select',
placeholder: '请选择'
// asyncData: () =>
// this.categoryService.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
},
name2: {
type: 'string',
title: '备注',
ui: {
widget: 'textarea',
placeholder: '请输入',
autosize: { minRows: 3, maxRows: 3 }
} as SFTextareaWidgetSchema
}
}
};
this.ui6 = {
'*': {
spanLabelFixed: 90,
grid: { span: 24 }
}
};
}
initSF7() {
this.schema7 = {
properties: {
name1: { type: 'number', title: '预付', default: 0, ui: { prefix: '¥' } as SFNumberWidgetSchema },
name2: { type: 'number', title: '到付', default: 0, ui: { prefix: '¥' } as SFNumberWidgetSchema },
name3: { type: 'number', title: '油卡', default: 0, ui: { prefix: '¥' } as SFNumberWidgetSchema },
name4: { type: 'number', title: '回单付', default: 0, ui: { prefix: '¥' } as SFNumberWidgetSchema },
name5: {
type: 'string',
title: '小计',
ui: {
widget: 'custom',
placeholder: '请输入'
}
},
name6: {
type: 'string',
title: '附加费',
ui: {
widget: 'custom',
placeholder: '请输入'
}
},
name7: {
type: 'string',
title: '总费用',
ui: {
widget: 'custom',
placeholder: '请输入'
}
},
name8: {
type: 'string',
title: '到货后',
ui: {
widget: 'custom',
placeholder: '请输入'
}
}
}
};
this.ui7 = {
'*': {
spanLabelFixed: 90,
grid: { span: 24 }
}
};
}
addStartInfo(event: any) {
this.startInfo.push({
addresss: '',
name: '',
phone: ''
});
}
subStartInfo(event: any, index: number) {
this.startInfo.splice(index, 1);
}
addEndInfo(event: any) {
this.endInfo.push({
addresss: '',
name: '',
phone: ''
});
}
subEndInfo(event: any, index: number) {
this.endInfo.splice(index, 1);
}
//指派熟车
chooseFamifiar() {
this.modalService.create({
nzTitle: '指派熟车',
nzContent: PublishGoodsChooseFamifiarComponent,
nzWidth: 1300
});
}
submit(): void {
Object.keys(this.validateForm1.controls).forEach(key => {
this.validateForm1.controls[key].markAsDirty();
this.validateForm1.controls[key].updateValueAndValidity();
});
console.log(this.validateForm1);
if (this.validateForm1.invalid) {
return;
}
// const data = this.form.value;
// this.http.post('/register', data).subscribe(() => {
// this.router.navigateByUrl('/passport/register-result', {
// // queryParams: { email: data.mail },
// });
// });
// this.router.navigateByUrl('/passport/register-result', {
// // queryParams: { email: data.mail },
// });
}
openMap() {
this.modalService.create({
nzTitle: '',
nzContent: AmapPoiPickerComponent,
nzWidth: 848
});
}
goBack() {
window.history.go(-1);
}
// 初始化信息
initdata() {
console.log(this.id)
this.service.request(`${this.service.$api_get_getCompleteVehicleDetail}`, {id:this.id}).subscribe((res) => {
console.log(res)
this.dataList = res;
})
}
}