Browse Source

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

815
wangyx 5 days ago
parent
commit
2e8e4109dc
  1. 175
      pagesA/sdPage/dfReport.vue
  2. 153
      pagesA/sdPage/sfReport.vue

175
pagesA/sdPage/dfReport.vue

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

153
pagesA/sdPage/sfReport.vue

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

Loading…
Cancel
Save