Compare commits

...

2 Commits

Author SHA1 Message Date
wangyx 6573f2ff59 优化 1 month ago
wangyx 121db33bf3 无房屋选不了 1 month ago
  1. 151
      pagesA/sdPage/dfReport.vue
  2. 168
      pagesA/sdPage/sfReport.vue

151
pagesA/sdPage/dfReport.vue

@ -52,11 +52,7 @@
:value="multiIndex"
:range="multiArray"
>
<view class="uni-input">{{
multiArray[0][multiIndex[0]] +
multiArray[1][multiIndex[1]] +
multiArray[2][multiIndex[2]]
}}</view>
<view class="uni-input">{{pickerDisplay}}</view>
</picker>
</view>
<view v-else @click="handleShowToast" style="color: #cbcbcb"
@ -85,9 +81,9 @@
>
<text>电表号</text>
</view>
<u-input
<u--input
v-model="item.electricMeterNumber"
type="digit"
type="text"
placeholder="请输入电表号"
border="none"
:disabled="item.isSystemElectricMeterNumber"
@ -278,6 +274,14 @@ export default {
this.getTree();
// this.initMeterReadingTime();
},
computed: {
pickerDisplay() {
const a = this.multiArray?.[0]?.[this.multiIndex?.[0]] || ''
const b = this.multiArray?.[1]?.[this.multiIndex?.[1]] || ''
const c = (this.multiArray?.[2]?.length > 0) ? (this.multiArray[2][this.multiIndex?.[2]] || '') : ''
return [a, b, c].filter(Boolean).join('')
}
},
methods: {
//
initMeterReadingTime() {
@ -388,10 +392,12 @@ export default {
const houseArray = await this.getListByParentId("4", unitArray[0].id);
//
if (!houseArray || houseArray.length === 0) {
console.warn("未获取到户信息");
return;
}
// if (!houseArray || houseArray.length === 0) {
// console.warn("");
// return;
// }
if(houseArray.length > 0 && houseArray[0]){
this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id;
@ -407,7 +413,11 @@ export default {
// fileList: [],
// });
// }
this.multiArray = [buildingNames, unitNames, houseNames];
this.multiArray = [buildingNames, unitNames, houseNames];
}else {
this.houseOptions = [];
this.multiArray = [buildingNames, unitNames, []];
}
if (this.energyMeterConfig == 1) {
this.getHouseInfoBy(this.blockForm.houseId);
} else if (this.energyMeterConfig == 2) {
@ -436,91 +446,66 @@ export default {
uni.showToast({ title: "请选择乐业社区", icon: "none" });
},
async bindMultiPickerColumnChange(e) {
if (!this.multiArray[0].length) return;
this.multiIndex[e.detail.column] = e.detail.value;
switch (e.detail.column) {
case 0:
{
const unitArray = await this.getListByParentId(
"3",
this.buildingOptions[e.detail.value].id
);
if (!this.multiArray[0].length) return
//
if (!unitArray || unitArray.length === 0) {
console.warn("未获取到单元信息");
return;
}
this.unitOptions = unitArray;
const unitNames = unitArray.map((item) => item.name);
this.blockForm.unitId = unitArray[0].id;
// 450 splice
this.multiIndex.splice(e.detail.column, 1, e.detail.value)
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;
this.blockForm.roomId = houseArray[0].roomId;
this.multiArray[1] = unitNames;
this.multiArray[2] = houseNames;
} //1
this.multiIndex.splice(1, 1, 0);
this.multiIndex.splice(2, 1, 0);
break;
case 1:
{
const houseArray = await this.getListByParentId(
"4",
this.unitOptions[e.detail.value].id
);
switch (e.detail.column) {
case 0: {
const unitArray = await this.getListByParentId('3', this.buildingOptions[e.detail.value].id)
if (!unitArray || unitArray.length === 0) return
this.unitOptions = unitArray
const unitNames = unitArray.map(item => item.name)
this.blockForm.unitId = unitArray[0].id
//
if (!houseArray || houseArray.length === 0) {
console.warn("未获取到户信息");
return;
}
const houseArray = await this.getListByParentId('4', unitArray[0].id)
if (!houseArray || houseArray.length === 0) return
this.houseOptions = houseArray
const houseNames = houseArray.map(item => item.name)
this.blockForm.houseId = houseArray[0].id
this.blockForm.roomId = houseArray[0].roomId
this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id;
this.blockForm.roomId = houseArray[0].roomId;
this.multiArray[2] = houseNames;
} //2
this.multiIndex.splice(2, 1, 0);
// 485/486 $set
this.$set(this.multiArray, 1, unitNames)
this.$set(this.multiArray, 2, houseNames)
//
this.multiIndex.splice(1, 1, 0)
this.multiIndex.splice(2, 1, 0)
break
}
case 1: {
const houseArray = await this.getListByParentId('4', this.unitOptions[e.detail.value].id)
if (!houseArray || houseArray.length === 0) return
this.houseOptions = houseArray
const houseNames = houseArray.map(item => item.name)
this.blockForm.houseId = houseArray[0].id
this.blockForm.roomId = houseArray[0].roomId
break;
// 508 $set
this.$set(this.multiArray, 2, houseNames)
//
this.multiIndex.splice(2, 1, 0)
break
}
case 2: {
this.blockForm.houseId = this.houseOptions[e.detail.value].id;
this.blockForm.roomId = this.houseOptions[e.detail.value].roomId;
this.waterMeterConfig =
this.houseOptions[e.detail.value].waterMeterConfig;
this.energyMeterConfig =
this.houseOptions[e.detail.value].energyMeterConfig;
// splice
this.multiIndex.splice(2, 1, e.detail.value)
this.blockForm.houseId = this.houseOptions[e.detail.value].id
this.blockForm.roomId = this.houseOptions[e.detail.value].roomId
this.waterMeterConfig = this.houseOptions[e.detail.value].waterMeterConfig
this.energyMeterConfig = this.houseOptions[e.detail.value].energyMeterConfig
break
}
}
//
if (this.energyMeterConfig && this.blockForm.houseId) {
if (this.energyMeterConfig == 1) {
this.getHouseInfoBy(this.blockForm.houseId);
this.getHouseInfoBy(this.blockForm.houseId)
} else if (this.energyMeterConfig == 2) {
this.getRoomByHouseId(this.blockForm.houseId);
this.getRoomByHouseId(this.blockForm.houseId)
}
}
this.$forceUpdate();
},
onDelete(event, index) {
if (this.form[index] && Array.isArray(this.form[index].fileList)) {

168
pagesA/sdPage/sfReport.vue

@ -52,11 +52,7 @@
:value="multiIndex"
:range="multiArray"
>
<view class="uni-input">{{
multiArray[0][multiIndex[0]] +
multiArray[1][multiIndex[1]] +
multiArray[2][multiIndex[2]]
}}</view>
<view class="uni-input">{{pickerDisplay}}</view>
</picker>
</view>
<view v-else @click="handleShowToast" style="color: #cbcbcb"
@ -80,9 +76,9 @@
>
<text>水表号</text>
</view>
<u-input
<u--input
v-model="item.waterMeterNumber"
type="digit"
type="text"
placeholder="请输入水表号"
border="none"
:disabled="item.isSystemWaterMeterNumber"
@ -260,6 +256,14 @@ export default {
immediate: true,
},
},
computed: {
pickerDisplay() {
const a = this.multiArray?.[0]?.[this.multiIndex?.[0]] || ''
const b = this.multiArray?.[1]?.[this.multiIndex?.[1]] || ''
const c = (this.multiArray?.[2]?.length > 0) ? (this.multiArray[2][this.multiIndex?.[2]] || '') : ''
return [a, b, c].filter(Boolean).join('')
}
},
onLoad() {
this.getTree();
},
@ -330,13 +334,13 @@ export default {
//
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);
// if (!houseArray || houseArray.length === 0) {
// console.warn("");
// return;
// }
if(houseArray.length > 0 && houseArray[0]){
this.houseOptions = houseArray;
const houseNames = houseArray.map((item) => item.name);
this.blockForm.houseId = houseArray[0].id;
this.waterMeterConfig = houseArray[0].waterMeterConfig;
@ -344,6 +348,13 @@ export default {
let house = houseArray[0];
this.multiArray = [buildingNames, unitNames, houseNames];
}else {
this.houseOptions = [];
this.multiArray = [buildingNames, unitNames, []];
}
console.log(this.multiArray,"this.multiArray11");
if (this.waterMeterConfig == 1) {
this.getHouseInfoBy(this.blockForm.houseId);
} else if (this.waterMeterConfig == 2) {
@ -371,89 +382,71 @@ export default {
}
},
handleShowToast() {
console.log(this.multiArray,"this.multiArray");
uni.showToast({ title: "请选择乐业社区", icon: "none" });
},
async bindMultiPickerColumnChange(e) {
if (!this.multiArray[0].length) return;
this.multiIndex[e.detail.column] = e.detail.value;
if (!this.multiArray[0].length) return
// splice this.multiIndex[e.detail.column] = e.detail.value
this.multiIndex.splice(e.detail.column, 1, e.detail.value)
switch (e.detail.column) {
case 0:
{
const unitArray = await this.getListByParentId(
"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;
case 0: {
const unitArray = await this.getListByParentId('3', this.buildingOptions[e.detail.value].id)
if (!unitArray || unitArray.length === 0) 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;
this.blockForm.roomId = houseArray[0].roomId;
this.multiArray[1] = unitNames;
this.multiArray[2] = houseNames;
}
this.multiIndex.splice(1, 1, 0);
this.multiIndex.splice(2, 1, 0);
break;
case 1:
{
const houseArray = await this.getListByParentId(
"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;
this.blockForm.roomId = houseArray[0].roomId;
this.multiArray[2] = houseNames;
}
this.multiIndex.splice(2, 1, 0);
break;
const houseArray = await this.getListByParentId('4', unitArray[0].id)
if (!houseArray || houseArray.length === 0) return
this.houseOptions = houseArray
const houseNames = houseArray.map(item => item.name)
this.blockForm.houseId = houseArray[0].id
this.blockForm.roomId = houseArray[0].roomId
//
this.$set(this.multiArray, 1, unitNames)
this.$set(this.multiArray, 2, houseNames)
//
this.multiIndex.splice(1, 1, 0)
this.multiIndex.splice(2, 1, 0)
break
}
case 1: {
const houseArray = await this.getListByParentId('4', this.unitOptions[e.detail.value].id)
if (!houseArray || houseArray.length === 0) return
this.houseOptions = houseArray
const houseNames = houseArray.map(item => item.name)
this.blockForm.houseId = houseArray[0].id
this.blockForm.roomId = houseArray[0].roomId
this.$set(this.multiArray, 2, houseNames)
//
this.multiIndex.splice(2, 1, 0)
break
}
case 2: {
this.blockForm.houseId = this.houseOptions[e.detail.value].id;
this.blockForm.roomId = this.houseOptions[e.detail.value].roomId;
this.waterMeterConfig =
this.houseOptions[e.detail.value].waterMeterConfig;
// splice
this.blockForm.houseId = this.houseOptions[e.detail.value].id
this.blockForm.roomId = this.houseOptions[e.detail.value].roomId
this.waterMeterConfig = this.houseOptions[e.detail.value].waterMeterConfig
break
}
}
//
//
if (this.waterMeterConfig && this.blockForm.houseId) {
if (this.waterMeterConfig == 1) {
this.getHouseInfoBy(this.blockForm.houseId);
this.getHouseInfoBy(this.blockForm.houseId)
} else if (this.waterMeterConfig == 2) {
this.getRoomByHouseId(this.blockForm.houseId);
this.getRoomByHouseId(this.blockForm.houseId)
}
}
this.$forceUpdate();
},
//
oversize(e) {
@ -575,16 +568,19 @@ export default {
(m) => String(m.roomId) === String(item.id)
);
if (meter) {
const hasMeterNum = !!(meter.meterNumber && meter.meterNumber.trim() !== '');
return {
...item,
lastMeterReading: meter.thisMeterReading || 0,
waterMeterNumber: meter.meterNumber || "",
isSystemWaterMeterNumber: !!(meter.meterNumber && meter.meterNumber.trim() !== ''),
waterMeterNumber: meter.meterNumber || '',
isSystemWaterMeterNumber: hasMeterNum, //
meterReadingTime: item.meterReadingTime || this.formatDateTime(new Date()), //
};
}
return item;
});
console.log(this.form,"this.form11");
}
},
//

Loading…
Cancel
Save