61 lines
1.6 KiB
JavaScript
61 lines
1.6 KiB
JavaScript
export default OakComponent({
|
|
entity: 'address',
|
|
projection: {
|
|
id: 1,
|
|
name: 1,
|
|
phone: 1,
|
|
detail: 1,
|
|
area: {
|
|
id: 1,
|
|
name: 1,
|
|
parent: {
|
|
id: 1,
|
|
name: 1,
|
|
parent: {
|
|
id: 1,
|
|
name: 1,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
isList: false,
|
|
formData({ data: address }) {
|
|
return {
|
|
name: address?.name,
|
|
phone: address?.phone,
|
|
// areaName: `${address?.area?.parent.parent.name}${address?.area?.parent.name}${address?.area?.name}`,
|
|
// provinceName: address?.area?.parent.parent.name,
|
|
districtName: address?.area?.name,
|
|
area: address?.area,
|
|
areaText: address?.area &&
|
|
`${address?.area?.parent?.parent?.name}${address?.area?.parent?.name}${address?.area?.name}`,
|
|
detail: address?.detail,
|
|
};
|
|
},
|
|
methods: {
|
|
setValue(input) {
|
|
const { currentTarget, detail } = input;
|
|
const { dataset } = currentTarget;
|
|
const { value } = detail;
|
|
const { attr } = dataset;
|
|
this.update({
|
|
[attr]: value,
|
|
});
|
|
},
|
|
callAreaPicker() {
|
|
this.navigateTo({
|
|
url: '/pickers/area',
|
|
}, {
|
|
depth: 3,
|
|
});
|
|
},
|
|
async confirm() {
|
|
await this.execute();
|
|
this.navigateBack();
|
|
},
|
|
reset() {
|
|
this.clean();
|
|
},
|
|
},
|
|
});
|