Browse Source

水电表号首次输入,有值回显

815
wangyx 6 days ago
parent
commit
2e8e4109dc
  1. 237
      pagesA/sdPage/dfReport.vue
  2. 209
      pagesA/sdPage/sfReport.vue

237
pagesA/sdPage/dfReport.vue

@ -90,9 +90,9 @@
type="digit" type="digit"
placeholder="请输入电表号" placeholder="请输入电表号"
border="none" border="none"
:disabled="!!item.electricMeterNumber" :disabled="item.isSystemElectricMeterNumber"
:custom-style=" :custom-style="
item.electricMeterNumber ? 'background:#fff;color:#bbb;' : '' item.isSystemElectricMeterNumber ? 'background:#fff;color:#666;' : ''
" "
/> />
</view> </view>
@ -211,6 +211,7 @@ export default {
fileList: [], fileList: [],
remark: "", remark: "",
electricMeterNumber: "", electricMeterNumber: "",
isSystemElectricMeterNumber: false, //
}, },
// //
], ],
@ -276,6 +277,13 @@ export default {
async onPickerChange(e, type) { async onPickerChange(e, type) {
if (type == "乐业社区") { if (type == "乐业社区") {
const apartmentInfo = this.deptOptions[e.detail.value]; const apartmentInfo = this.deptOptions[e.detail.value];
//
if (!apartmentInfo) {
console.warn("未获取到社区信息");
return;
}
this.blockForm.apartmentName = apartmentInfo.deptName; this.blockForm.apartmentName = apartmentInfo.deptName;
this.blockForm.apartmentId = apartmentInfo.deptId; this.blockForm.apartmentId = apartmentInfo.deptId;
// //
@ -283,6 +291,13 @@ export default {
"2", "2",
apartmentInfo.deptId apartmentInfo.deptId
); );
//
if (!buildingArray || buildingArray.length === 0) {
console.warn("未获取到楼信息");
return;
}
this.buildingOptions = buildingArray; this.buildingOptions = buildingArray;
const buildingNames = buildingArray.map((item) => item.name); const buildingNames = buildingArray.map((item) => item.name);
@ -292,12 +307,26 @@ export default {
"3", "3",
buildingArray[0].id buildingArray[0].id
); );
//
if (!unitArray || unitArray.length === 0) {
console.warn("未获取到单元信息");
return;
}
this.unitOptions = unitArray; this.unitOptions = unitArray;
const unitNames = unitArray.map((item) => item.name); const unitNames = unitArray.map((item) => item.name);
this.blockForm.unitId = unitArray[0].id; this.blockForm.unitId = unitArray[0].id;
// //
const houseArray = await this.getListByParentId("4", unitArray[0].id); const houseArray = await this.getListByParentId("4", unitArray[0].id);
//
if (!houseArray || houseArray.length === 0) {
console.warn("未获取到户信息");
return;
}
this.houseOptions = houseArray; this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name); const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id; this.blockForm.houseId = houseArray[0].id;
@ -335,6 +364,13 @@ export default {
"3", "3",
this.buildingOptions[e.detail.value].id this.buildingOptions[e.detail.value].id
); );
//
if (!unitArray || unitArray.length === 0) {
console.warn("未获取到单元信息");
return;
}
this.unitOptions = unitArray; this.unitOptions = unitArray;
const unitNames = unitArray.map((item) => item.name); const unitNames = unitArray.map((item) => item.name);
this.blockForm.unitId = unitArray[0].id; this.blockForm.unitId = unitArray[0].id;
@ -343,6 +379,13 @@ export default {
"4", "4",
unitArray[0].id unitArray[0].id
); );
//
if (!houseArray || houseArray.length === 0) {
console.warn("未获取到户信息");
return;
}
this.houseOptions = houseArray; this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name); const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id; this.blockForm.houseId = houseArray[0].id;
@ -360,6 +403,13 @@ export default {
"4", "4",
this.unitOptions[e.detail.value].id this.unitOptions[e.detail.value].id
); );
//
if (!houseArray || houseArray.length === 0) {
console.warn("未获取到户信息");
return;
}
this.houseOptions = houseArray; this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name); const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id; this.blockForm.houseId = houseArray[0].id;
@ -378,11 +428,16 @@ export default {
this.houseOptions[e.detail.value].energyMeterConfig; this.houseOptions[e.detail.value].energyMeterConfig;
} }
} }
if (this.energyMeterConfig == 1) {
this.getHouseInfoBy(this.blockForm.houseId); //
} else if (this.energyMeterConfig == 2) { if (this.energyMeterConfig && this.blockForm.houseId) {
this.getRoomByHouseId(this.blockForm.houseId); if (this.energyMeterConfig == 1) {
this.getHouseInfoBy(this.blockForm.houseId);
} else if (this.energyMeterConfig == 2) {
this.getRoomByHouseId(this.blockForm.houseId);
}
} }
this.$forceUpdate(); this.$forceUpdate();
}, },
onDelete(event, index) { onDelete(event, index) {
@ -440,21 +495,33 @@ export default {
async getHouseInfoBy(id) { async getHouseInfoBy(id) {
const res = await getHouseInfo(id); const res = await getHouseInfo(id);
if (res.code == 200) { if (res.code == 200) {
//
if (!res.data) {
console.warn("未获取到房屋信息");
return;
}
if (this.energyMeterConfig == 1) { if (this.energyMeterConfig == 1) {
this.getRoomByHouseId(id); this.getRoomByHouseId(id);
this.form = [ this.form = [
{ {
electricMeterNumber: res.data.electricMeterNumber, electricMeterNumber: res.data.electricMeterNumber && res.data.electricMeterNumber.trim() !== '' ? res.data.electricMeterNumber : "",
isSystemElectricMeterNumber: !!(res.data.electricMeterNumber && res.data.electricMeterNumber.trim() !== ''),
}, },
]; ];
} else if (this.energyMeterConfig == 2) { } else if (this.energyMeterConfig == 2) {
this.form = this.form.map((item) => ({ this.form = this.form.map((item) => ({
...item, ...item,
electricMeterNumber: res.data.electricMeterNumber, electricMeterNumber: res.data.electricMeterNumber && res.data.electricMeterNumber.trim() !== '' ? res.data.electricMeterNumber : "",
isSystemElectricMeterNumber: !!(res.data.electricMeterNumber && res.data.electricMeterNumber.trim() !== ''),
})); }));
} }
this.getLastMeter(res.data.electricMeterNumber);
//
if (res.data.electricMeterNumber && res.data.electricMeterNumber.trim() !== '') {
this.getLastMeter(res.data.electricMeterNumber);
}
} }
}, },
// //
@ -472,11 +539,19 @@ export default {
meterNumber: item, meterNumber: item,
}; };
const res = await queryLastMeterReading(params); const res = await queryLastMeterReading(params);
// res.data
if (!res.data || !Array.isArray(res.data) || res.data.length === 0) {
console.warn("未获取到电表读数数据");
return;
}
if (this.energyMeterConfig == 1) { if (this.energyMeterConfig == 1) {
this.form = this.form.map((item) => ({ this.form = this.form.map((item) => ({
...item, ...item,
lastMeterReading: res.data[0].thisMeterReading, lastMeterReading: res.data[0].thisMeterReading || 0,
electricMeterNumber: res.data[0].meterNumber, electricMeterNumber: res.data[0].meterNumber || "",
isSystemElectricMeterNumber: !!(res.data[0].meterNumber && res.data[0].meterNumber.trim() !== ''),
})); }));
} else if (this.energyMeterConfig == 2) { } else if (this.energyMeterConfig == 2) {
this.form = this.form.map((item) => { this.form = this.form.map((item) => {
@ -488,8 +563,9 @@ export default {
if (meter) { if (meter) {
return { return {
...item, ...item,
lastMeterReading: meter.thisMeterReading, lastMeterReading: meter.thisMeterReading || 0,
electricMeterNumber: meter.meterNumber, electricMeterNumber: meter.meterNumber || "",
isSystemElectricMeterNumber: !!(meter.meterNumber && meter.meterNumber.trim() !== ''),
}; };
} }
return item; return item;
@ -499,13 +575,19 @@ export default {
async getRoomByHouseId(id) { async getRoomByHouseId(id) {
const res = await getRoomByHouseId({ houseId: id }); const res = await getRoomByHouseId({ houseId: id });
if (res.code == 200) { if (res.code == 200) {
//
if (!res.data || !Array.isArray(res.data) || res.data.length === 0) {
console.warn("未获取到房间数据");
return;
}
if (this.energyMeterConfig == 1) { if (this.energyMeterConfig == 1) {
this.form = this.form.map((item) => ({ this.form = this.form.map((item) => ({
...item, ...item,
id: res.data[0].id, id: res.data[0].id || "",
})); }));
} else if (this.energyMeterConfig == 2) { } else if (this.energyMeterConfig == 2) {
this.form = res.data; this.form = res.data;
this.getLastMeter(); this.getLastMeter();
} }
} }
@ -533,13 +615,13 @@ export default {
// }); // });
// return; // return;
// } // }
if (!item.lastMeterReading && item.lastMeterReading !== 0) { // if (!item.lastMeterReading && item.lastMeterReading !== 0) {
uni.showToast({ // uni.showToast({
title: `${i + 1}个房间请填写上次表数`, // title: `${i + 1}`,
icon: "none", // icon: "none",
}); // });
return; // return;
} // }
if (!item.thisMeterReading && item.thisMeterReading !== 0) { if (!item.thisMeterReading && item.thisMeterReading !== 0) {
uni.showToast({ uni.showToast({
title: `${i + 1}个房间请填写本次表数`, title: `${i + 1}个房间请填写本次表数`,
@ -588,42 +670,87 @@ export default {
this.submitAdd(); this.submitAdd();
}, },
async submitAdd() { async submitAdd() {
let params = this.form.map((item) => ({ // form
meterNumber: item.electricMeterNumber, if (!this.form || !Array.isArray(this.form) || this.form.length === 0) {
meterType: 1,
houseId: this.blockForm.houseId,
roomId: item.id || "",
// lastMeterReading: isNaN(parseFloat(item.lastMeterReading)) ? '' : parseFloat(item.lastMeterReading).toFixed(4),
lastMeterReading: item.lastMeterReading?item.lastMeterReading:item.thisMeterReading,
thisMeterReading: parseFloat(item.thisMeterReading).toFixed(4),
images: (item.fileList || []).map((f) => ({
url: f.url,
name: f.name,
type: f.type,
format: f.format || (f.url ? f.url.split(".").pop() : ""),
})),
remark: item.remark || "",
}));
console.log(params, "params");
const res = await submitWaterAndElectricity(params);
if (res.code == 200) {
uni.showToast({ uni.showToast({
icon: "success", title: "表单数据无效",
title: "提交成功!", icon: "none",
success: () => {
setTimeout(() => {
uni.switchTab({
url: "/pages/tabBar/work/index",
success: () => {
this.fileList = [];
},
});
}, 1500);
},
}); });
} else { return;
}
// blockForm
if (!this.blockForm.houseId) {
uni.showToast({
title: "房屋信息无效",
icon: "none",
});
return;
}
let params = this.form.map((item) => {
//
if (!item) {
console.warn("表单项数据无效:", item);
return null;
}
return {
meterNumber: item.electricMeterNumber || "",
meterType: 1,
houseId: this.blockForm.houseId,
roomId: item.id || "",
// lastMeterReading: isNaN(parseFloat(item.lastMeterReading)) ? '' : parseFloat(item.lastMeterReading).toFixed(4),
lastMeterReading: item.lastMeterReading ? item.lastMeterReading : item.thisMeterReading,
thisMeterReading: parseFloat(item.thisMeterReading || 0).toFixed(4),
images: (item.fileList || []).map((f) => ({
url: f.url || "",
name: f.name || "",
type: f.type || "",
format: f.format || (f.url ? f.url.split(".").pop() : ""),
})),
remark: item.remark || "",
};
}).filter(item => item !== null); //
//
if (params.length === 0) {
uni.showToast({
title: "没有有效的表单数据",
icon: "none",
});
return;
}
console.log(params, "params");
try {
const res = await submitWaterAndElectricity(params);
if (res.code == 200) {
uni.showToast({
icon: "success",
title: "提交成功!",
success: () => {
setTimeout(() => {
uni.switchTab({
url: "/pages/tabBar/work/index",
success: () => {
this.fileList = [];
},
});
}, 1500);
},
});
} else {
uni.showToast({
title: res.msg || "提交失败",
icon: "none",
});
}
} catch (error) {
console.error("提交失败:", error);
uni.showToast({ uni.showToast({
title: res.msg || "提交失败", title: "提交失败,请重试",
icon: "none", icon: "none",
}); });
} }

209
pagesA/sdPage/sfReport.vue

@ -85,9 +85,9 @@
type="digit" type="digit"
placeholder="请输入水表号" placeholder="请输入水表号"
border="none" border="none"
:disabled="!!item.waterMeterNumber" :disabled="item.isSystemWaterMeterNumber"
:custom-style=" :custom-style="
item.waterMeterNumber ? 'background:#fff;color:#bbb;' : '' item.isSystemWaterMeterNumber ? 'background:#fff;color:#666;' : ''
" "
/> />
</view> </view>
@ -204,6 +204,7 @@ export default {
fileList: [], fileList: [],
remark: "", remark: "",
waterMeterNumber: "", waterMeterNumber: "",
isSystemWaterMeterNumber: false, //
}, },
], // ], //
waterMeterConfig: "", waterMeterConfig: "",
@ -265,6 +266,12 @@ export default {
console.log("社区信息", apartmentInfo); console.log("社区信息", apartmentInfo);
console.log("社区信息11", this.deptOptions); console.log("社区信息11", this.deptOptions);
//
if (!apartmentInfo) {
console.warn("未获取到社区信息");
return;
}
this.blockForm.apartmentName = apartmentInfo.deptName; this.blockForm.apartmentName = apartmentInfo.deptName;
this.blockForm.apartmentId = apartmentInfo.deptId; this.blockForm.apartmentId = apartmentInfo.deptId;
// //
@ -272,6 +279,13 @@ export default {
"2", "2",
apartmentInfo.deptId apartmentInfo.deptId
); );
//
if (!buildingArray || buildingArray.length === 0) {
console.warn("未获取到楼信息");
return;
}
this.buildingOptions = buildingArray; this.buildingOptions = buildingArray;
console.log("楼信息", buildingArray); console.log("楼信息", buildingArray);
const buildingNames = buildingArray.map((item) => item.name); const buildingNames = buildingArray.map((item) => item.name);
@ -283,6 +297,13 @@ export default {
"3", "3",
buildingArray[0].id buildingArray[0].id
); );
//
if (!unitArray || unitArray.length === 0) {
console.warn("未获取到单元信息");
return;
}
this.unitOptions = unitArray; this.unitOptions = unitArray;
console.log("unitArray:", unitArray); console.log("unitArray:", unitArray);
@ -290,6 +311,13 @@ export default {
this.blockForm.unitId = unitArray[0].id; this.blockForm.unitId = unitArray[0].id;
// //
const houseArray = await this.getListByParentId("4", unitArray[0].id); const houseArray = await this.getListByParentId("4", unitArray[0].id);
//
if (!houseArray || houseArray.length === 0) {
console.warn("未获取到户信息");
return;
}
this.houseOptions = houseArray; this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name); const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id; this.blockForm.houseId = houseArray[0].id;
@ -328,6 +356,13 @@ export default {
"3", "3",
this.buildingOptions[e.detail.value].id this.buildingOptions[e.detail.value].id
); );
//
if (!unitArray || unitArray.length === 0) {
console.warn("未获取到单元信息");
return;
}
this.unitOptions = unitArray; this.unitOptions = unitArray;
const unitNames = unitArray.map((item) => item.name); const unitNames = unitArray.map((item) => item.name);
this.blockForm.unitId = unitArray[0].id; this.blockForm.unitId = unitArray[0].id;
@ -336,6 +371,13 @@ export default {
"4", "4",
unitArray[0].id unitArray[0].id
); );
//
if (!houseArray || houseArray.length === 0) {
console.warn("未获取到户信息");
return;
}
this.houseOptions = houseArray; this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name); const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id; this.blockForm.houseId = houseArray[0].id;
@ -352,6 +394,13 @@ export default {
"4", "4",
this.unitOptions[e.detail.value].id this.unitOptions[e.detail.value].id
); );
//
if (!houseArray || houseArray.length === 0) {
console.warn("未获取到户信息");
return;
}
this.houseOptions = houseArray; this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name); const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id; this.blockForm.houseId = houseArray[0].id;
@ -367,10 +416,14 @@ export default {
this.houseOptions[e.detail.value].waterMeterConfig; this.houseOptions[e.detail.value].waterMeterConfig;
} }
} }
if (this.waterMeterConfig == 1) {
this.getHouseInfoBy(this.blockForm.houseId); //
} else if (this.waterMeterConfig == 2) { if (this.waterMeterConfig && this.blockForm.houseId) {
this.getRoomByHouseId(this.blockForm.houseId); if (this.waterMeterConfig == 1) {
this.getHouseInfoBy(this.blockForm.houseId);
} else if (this.waterMeterConfig == 2) {
this.getRoomByHouseId(this.blockForm.houseId);
}
} }
this.$forceUpdate(); this.$forceUpdate();
@ -429,18 +482,25 @@ export default {
async getHouseInfoBy(id) { async getHouseInfoBy(id) {
const res = await getHouseInfo(id); const res = await getHouseInfo(id);
if (res.code == 200) { if (res.code == 200) {
//
if (!res.data) {
console.warn("未获取到房屋信息");
return;
}
if (this.waterMeterConfig == 1) { if (this.waterMeterConfig == 1) {
this.getRoomByHouseId(id); this.getRoomByHouseId(id);
this.form = [ this.form = [
{ {
waterMeterNumber: res.data.waterMeterNumber, waterMeterNumber: res.data.waterMeterNumber || "",
isSystemWaterMeterNumber: !!(res.data.waterMeterNumber && res.data.waterMeterNumber.trim() !== ''),
}, },
]; ];
} else if (this.waterMeterConfig == 2) { } else if (this.waterMeterConfig == 2) {
this.form = this.form.map((item) => ({ this.form = this.form.map((item) => ({
...item, ...item,
waterMeterNumber: res.data.waterMeterNumber, waterMeterNumber: res.data.waterMeterNumber || "",
isSystemWaterMeterNumber: !!(res.data.waterMeterNumber && res.data.waterMeterNumber.trim() !== ''),
})); }));
} }
this.getLastMeter(res.data.waterMeterNumber); this.getLastMeter(res.data.waterMeterNumber);
@ -462,11 +522,19 @@ export default {
}; };
const res = await queryLastMeterReading(params); const res = await queryLastMeterReading(params);
console.log(res.data, "res.data"); console.log(res.data, "res.data");
// res.data
if (!res.data || !Array.isArray(res.data) || res.data.length === 0) {
console.warn("未获取到水表读数数据");
return;
}
if (this.waterMeterConfig == 1) { if (this.waterMeterConfig == 1) {
this.form = this.form.map((item) => ({ this.form = this.form.map((item) => ({
...item, ...item,
lastMeterReading: res.data[0].thisMeterReading, lastMeterReading: res.data[0].thisMeterReading || 0,
waterMeterNumber: res.data[0].meterNumber, waterMeterNumber: res.data[0].meterNumber || "",
isSystemWaterMeterNumber: !!(res.data[0].meterNumber && res.data[0].meterNumber.trim() !== ''),
})); }));
console.log(this.form, "this.formgetLastMeter"); console.log(this.form, "this.formgetLastMeter");
@ -478,8 +546,9 @@ export default {
if (meter) { if (meter) {
return { return {
...item, ...item,
lastMeterReading: meter.thisMeterReading, lastMeterReading: meter.thisMeterReading || 0,
waterMeterNumber: meter.meterNumber, waterMeterNumber: meter.meterNumber || "",
isSystemWaterMeterNumber: !!(meter.meterNumber && meter.meterNumber.trim() !== ''),
}; };
} }
return item; return item;
@ -489,6 +558,12 @@ export default {
async getRoomByHouseId(id) { async getRoomByHouseId(id) {
const res = await getRoomByHouseId({ houseId: id }); const res = await getRoomByHouseId({ houseId: id });
if (res.code == 200) { if (res.code == 200) {
//
if (!res.data || !Array.isArray(res.data) || res.data.length === 0) {
console.warn("未获取到房间数据");
return;
}
if (this.waterMeterConfig == 1) { if (this.waterMeterConfig == 1) {
console.log(this.form,"this.formgetRoomByHouseId11"); console.log(this.form,"this.formgetRoomByHouseId11");
@ -496,7 +571,7 @@ export default {
this.form = this.form.map((item) => ({ this.form = this.form.map((item) => ({
...item, ...item,
id:res.data[0].id id: res.data[0].id || ""
})); }));
} else if (this.waterMeterConfig == 2) { } else if (this.waterMeterConfig == 2) {
this.form = res.data; this.form = res.data;
@ -589,41 +664,85 @@ export default {
async submitAdd() { async submitAdd() {
console.log(this.form,"this.form"); console.log(this.form,"this.form");
let params = this.form.map((item) => ({ // form
meterNumber: item.waterMeterNumber, if (!this.form || !Array.isArray(this.form) || this.form.length === 0) {
meterType: 2,
houseId: this.blockForm.houseId,
roomId: item.id || "",
// lastMeterReading: isNaN(parseFloat(item.lastMeterReading)) ? '' : parseFloat(item.lastMeterReading).toFixed(4),
lastMeterReading: item.lastMeterReading?item.lastMeterReading:item.thisMeterReading,
thisMeterReading: parseFloat(item.thisMeterReading).toFixed(4),
images: (item.fileList || []).map((f) => ({
url: f.url,
name: f.name,
type: f.type,
format: f.format || (f.url ? f.url.split(".").pop() : ""),
})),
remark: item.remark || "",
}));
const res = await submitWaterAndElectricity(params);
if (res.code == 200) {
uni.showToast({ uni.showToast({
icon: "success", title: "表单数据无效",
title: "提交成功!", icon: "none",
success: () => { });
setTimeout(() => { return;
uni.switchTab({ }
url: "/pages/tabBar/work/index",
success: () => { // blockForm
this.fileList = []; if (!this.blockForm.houseId) {
}, uni.showToast({
}); title: "房屋信息无效",
}, 1500); icon: "none",
},
}); });
} else { return;
}
let params = this.form.map((item) => {
//
if (!item) {
console.warn("表单项数据无效:", item);
return null;
}
return {
meterNumber: item.waterMeterNumber || "",
meterType: 2,
houseId: this.blockForm.houseId,
roomId: item.id || "",
// lastMeterReading: isNaN(parseFloat(item.lastMeterReading)) ? '' : parseFloat(item.lastMeterReading).toFixed(4),
lastMeterReading: item.lastMeterReading ? item.lastMeterReading : item.thisMeterReading,
thisMeterReading: parseFloat(item.thisMeterReading || 0).toFixed(4),
images: (item.fileList || []).map((f) => ({
url: f.url || "",
name: f.name || "",
type: f.type || "",
format: f.format || (f.url ? f.url.split(".").pop() : ""),
})),
remark: item.remark || "",
};
}).filter(item => item !== null); //
//
if (params.length === 0) {
uni.showToast({
title: "没有有效的表单数据",
icon: "none",
});
return;
}
try {
const res = await submitWaterAndElectricity(params);
if (res.code == 200) {
uni.showToast({
icon: "success",
title: "提交成功!",
success: () => {
setTimeout(() => {
uni.switchTab({
url: "/pages/tabBar/work/index",
success: () => {
this.fileList = [];
},
});
}, 1500);
},
});
} else {
uni.showToast({
title: res.msg || "提交失败",
icon: "none",
});
}
} catch (error) {
console.error("提交失败:", error);
uni.showToast({ uni.showToast({
title: res.msg || "提交失败", title: "提交失败,请重试",
icon: "none", icon: "none",
}); });
} }

Loading…
Cancel
Save