|
@ -72,30 +72,43 @@ |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
<scroll-view class="house-view" scroll-y="true"> |
|
|
<scroll-view class="house-view" scroll-y="true"> |
|
|
<view class="section-card"> |
|
|
<view |
|
|
|
|
|
class="section-card" |
|
|
|
|
|
v-for="(item, index) in form.waterMeters" |
|
|
|
|
|
:key="item.id || index" |
|
|
|
|
|
style="margin-bottom: 24rpx" |
|
|
|
|
|
> |
|
|
|
|
|
<view class="section-title">水表{{ index + 1 }}</view> |
|
|
<view class="meter-row"> |
|
|
<view class="meter-row"> |
|
|
<text class="meter-label">水表号</text> |
|
|
<text class="meter-label">水表号</text> |
|
|
<!-- <text>20072620</text> --> |
|
|
|
|
|
<u-input |
|
|
<u-input |
|
|
v-model="form.meterNumber" |
|
|
v-model="item.meterNumber" |
|
|
type="digit" |
|
|
type="digit" |
|
|
placeholder="请输入水表号" |
|
|
placeholder="请输入水表号" |
|
|
border="none" |
|
|
border="none" |
|
|
|
|
|
:disabled="!!item.meterNumber" |
|
|
|
|
|
:custom-style=" |
|
|
|
|
|
item.meterNumber ? 'background:#fff;color:#bbb;' : '' |
|
|
|
|
|
" |
|
|
/> |
|
|
/> |
|
|
</view> |
|
|
</view> |
|
|
<view class="meter-row"> |
|
|
<view class="meter-row"> |
|
|
<text class="meter-label">上次表数</text> |
|
|
<text class="meter-label">上次表数</text> |
|
|
<u-input |
|
|
<u-input |
|
|
v-model="form.lastMeterReading" |
|
|
v-model="item.lastMeterReading" |
|
|
type="digit" |
|
|
type="digit" |
|
|
:placeholder="`3823.1`" |
|
|
placeholder="请输入上次表数" |
|
|
border="none" |
|
|
border="none" |
|
|
|
|
|
:disabled="!!item.lastMeterReading" |
|
|
|
|
|
:custom-style=" |
|
|
|
|
|
item.meterNumber ? 'background:#fff;color:#bbb;' : '' |
|
|
|
|
|
" |
|
|
/> |
|
|
/> |
|
|
</view> |
|
|
</view> |
|
|
<view class="meter-row"> |
|
|
<view class="meter-row"> |
|
|
<text class="meter-label">本次表数</text> |
|
|
<text class="meter-label">本次表数</text> |
|
|
<u-input |
|
|
<u-input |
|
|
v-model="form.thisMeterReading" |
|
|
v-model="item.thisMeterReading" |
|
|
type="digit" |
|
|
type="digit" |
|
|
placeholder="请输入本次表数" |
|
|
placeholder="请输入本次表数" |
|
|
border="none" |
|
|
border="none" |
|
@ -109,14 +122,17 @@ |
|
|
:preview-full-image="true" |
|
|
:preview-full-image="true" |
|
|
:deletable="true" |
|
|
:deletable="true" |
|
|
:show-upload-list="true" |
|
|
:show-upload-list="true" |
|
|
:fileList="fileList" |
|
|
:fileList="item.fileList || []" |
|
|
:auto-upload="false" |
|
|
:auto-upload="false" |
|
|
accept="all" |
|
|
accept="all" |
|
|
:maxSize="10 * 1024 * 1024" |
|
|
:maxSize="10 * 1024 * 1024" |
|
|
@oversize="oversize" |
|
|
@oversize="oversize" |
|
|
@delete="onDelete" |
|
|
@delete="(e) => onDelete(e, index)" |
|
|
> |
|
|
> |
|
|
<view class="custom-upload-btn" @click.stop="chooseMedia"> |
|
|
<view |
|
|
|
|
|
class="custom-upload-btn" |
|
|
|
|
|
@click.stop="() => chooseMedia(index)" |
|
|
|
|
|
> |
|
|
<view class="icon-box"> |
|
|
<view class="icon-box"> |
|
|
<image |
|
|
<image |
|
|
class="camera-icon" |
|
|
class="camera-icon" |
|
@ -151,7 +167,6 @@ export default { |
|
|
waterMeter: 3245.1, |
|
|
waterMeter: 3245.1, |
|
|
electricMeter: 2672.6, |
|
|
electricMeter: 2672.6, |
|
|
remark: "", |
|
|
remark: "", |
|
|
fileList: [], |
|
|
|
|
|
deptNames: [], |
|
|
deptNames: [], |
|
|
deptOptions: [], |
|
|
deptOptions: [], |
|
|
|
|
|
|
|
@ -169,6 +184,7 @@ export default { |
|
|
houseId: "", |
|
|
houseId: "", |
|
|
waterMeters: [], |
|
|
waterMeters: [], |
|
|
roomId: "", |
|
|
roomId: "", |
|
|
|
|
|
fileList: [], |
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
@ -333,14 +349,23 @@ export default { |
|
|
this.getLastMeter(); |
|
|
this.getLastMeter(); |
|
|
this.$forceUpdate(); |
|
|
this.$forceUpdate(); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
onDelete(event, index) { |
|
|
onDelete(event, index) { |
|
|
// this.form.waterMeters[index].fileList.splice(event.index, 1); |
|
|
if ( |
|
|
// this.form.waterMeters[index].imageList.splice(event.index, 1); |
|
|
this.form.waterMeters[index] && |
|
|
|
|
|
Array.isArray(this.form.waterMeters[index].fileList) |
|
|
|
|
|
) { |
|
|
|
|
|
this.form.waterMeters[index].fileList.splice(event.index, 1); |
|
|
|
|
|
// this.form.waterMeters[index].imageList = this.form.waterMeters[ |
|
|
|
|
|
// index |
|
|
|
|
|
// ].fileList.map((v) => v.url); |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
chooseMedia() { |
|
|
chooseMedia(index) { |
|
|
|
|
|
if (!this.form.waterMeters[index].fileList) { |
|
|
|
|
|
this.$set(this.form.waterMeters[index], "fileList", []); |
|
|
|
|
|
} |
|
|
uni.chooseMedia({ |
|
|
uni.chooseMedia({ |
|
|
count: 10 - this.fileList.length, |
|
|
count: 10 - this.form.waterMeters[index].fileList.length, |
|
|
mediaType: ["image", "video"], |
|
|
mediaType: ["image", "video"], |
|
|
sourceType: ["album", "camera"], |
|
|
sourceType: ["album", "camera"], |
|
|
maxDuration: 60, |
|
|
maxDuration: 60, |
|
@ -359,7 +384,7 @@ export default { |
|
|
: "image"); |
|
|
: "image"); |
|
|
// 上传 |
|
|
// 上传 |
|
|
const uploadRes = await uploadImage(filePath); |
|
|
const uploadRes = await uploadImage(filePath); |
|
|
this.fileList.push({ |
|
|
this.form.waterMeters[index].fileList.push({ |
|
|
url: uploadRes.data?.url || uploadRes.url || uploadRes.path, |
|
|
url: uploadRes.data?.url || uploadRes.url || uploadRes.path, |
|
|
name: uploadRes.data?.name || uploadRes.name || "", |
|
|
name: uploadRes.data?.name || uploadRes.name || "", |
|
|
type: type, |
|
|
type: type, |
|
@ -386,6 +411,26 @@ export default { |
|
|
meterNumber: "", |
|
|
meterNumber: "", |
|
|
}; |
|
|
}; |
|
|
const res = await queryLastMeterReading(params); |
|
|
const res = await queryLastMeterReading(params); |
|
|
|
|
|
if (Array.isArray(res.data) && res.data.length > 0) { |
|
|
|
|
|
this.form.waterMeters = res.data.map((item, idx) => ({ |
|
|
|
|
|
lastMeterReading: item.thisMeterReading, |
|
|
|
|
|
meterNumber: item.meterNumber, |
|
|
|
|
|
thisMeterReading: "", |
|
|
|
|
|
fileList: [], |
|
|
|
|
|
// id: item.id || idx, |
|
|
|
|
|
})); |
|
|
|
|
|
} else { |
|
|
|
|
|
// res.data 为空时,显示一个空表单 |
|
|
|
|
|
this.form.waterMeters = [ |
|
|
|
|
|
{ |
|
|
|
|
|
lastMeterReading: "", |
|
|
|
|
|
meterNumber: "", |
|
|
|
|
|
thisMeterReading: "", |
|
|
|
|
|
fileList: [], |
|
|
|
|
|
// id: 1, |
|
|
|
|
|
}, |
|
|
|
|
|
]; |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
onSubmit() { |
|
|
onSubmit() { |
|
|
let { buildingId, unitId, houseId } = this.form; |
|
|
let { buildingId, unitId, houseId } = this.form; |
|
@ -401,40 +446,42 @@ export default { |
|
|
}, |
|
|
}, |
|
|
async submitAdd() { |
|
|
async submitAdd() { |
|
|
let params = []; |
|
|
let params = []; |
|
|
params.push({ |
|
|
this.form.waterMeters.forEach((item) => { |
|
|
meterNumber: this.form.meterNumber, |
|
|
params.push({ |
|
|
meterType: 1, |
|
|
meterNumber: item.meterNumber, |
|
|
houseId: this.form.houseId, |
|
|
meterType: 1, |
|
|
roomId: this.form.roomId, |
|
|
houseId: this.form.houseId, |
|
|
lastMeterReading: this.form.lastMeterReading, |
|
|
roomId: this.form.roomId, |
|
|
thisMeterReading: this.form.thisMeterReading, |
|
|
lastMeterReading: item.lastMeterReading, |
|
|
images: this.fileList, |
|
|
thisMeterReading: item.thisMeterReading, |
|
|
remark: this.form.remark, |
|
|
images: item.fileList, |
|
|
|
|
|
remark: this.form.remark, |
|
|
|
|
|
}); |
|
|
}); |
|
|
}); |
|
|
console.log(params, "params"); |
|
|
console.log(params, "params"); |
|
|
|
|
|
|
|
|
const res = await submitWaterAndElectricity(params); |
|
|
const res = await submitWaterAndElectricity(params); |
|
|
if (res.code == 200) { |
|
|
if (res.code == 200) { |
|
|
uni.showToast({ |
|
|
uni.showToast({ |
|
|
icon: "success", |
|
|
icon: "success", |
|
|
title: "提交成功!", |
|
|
title: "提交成功!", |
|
|
success: () => { |
|
|
success: () => { |
|
|
setTimeout(() => { |
|
|
setTimeout(() => { |
|
|
uni.switchTab({ |
|
|
uni.switchTab({ |
|
|
url: "/pages/tabBar/work/index", |
|
|
url: "/pages/tabBar/work/index", |
|
|
success: () => { |
|
|
success: () => { |
|
|
this.fileList = []; |
|
|
this.fileList = []; |
|
|
}, |
|
|
}, |
|
|
}); |
|
|
}); |
|
|
}, 1500); |
|
|
}, 1500); |
|
|
}, |
|
|
}, |
|
|
}); |
|
|
}); |
|
|
}else { |
|
|
} else { |
|
|
uni.showToast({ |
|
|
uni.showToast({ |
|
|
title: res.msg || "提交失败", |
|
|
title: res.msg || "提交失败", |
|
|
icon: "none", |
|
|
icon: "none", |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
console.log(res, "reeees"); |
|
|
console.log(res, "reeees"); |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
@ -637,4 +684,4 @@ export default { |
|
|
.dfReport .u-input__content__field-wrapper__field { |
|
|
.dfReport .u-input__content__field-wrapper__field { |
|
|
text-align: right !important; |
|
|
text-align: right !important; |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|