<script setup>
import { ref } from 'vue'
import { Delete, Plus, View } from '@element-plus/icons-vue'
import {
selectAllElectricmeters,
selectMeterreadingsByMeterId,
deleteElectricmetersByMeterId,
insertMeterreadings,
insertElectricmeters
} from '../../api/people'
const dialogTableVisible = ref(false)
const dialogFormVisible = ref(false)
const dialogFormVisible1 = ref(false)
const meter = ref([])
const form = ref({})
const form1 = ref({})
const meterReading = ref([])
const getmeter = async () => {
const res = await selectAllElectricmeters()
meter.value = res.data.data
}
getmeter()
const seeRow = async (row) => {
const res = await selectMeterreadingsByMeterId(row.meterId)
meterReading.value = res.data.data
dialogTableVisible.value = true
}
const confirmDeleteRow = async (row) => {
await deleteElectricmetersByMeterId(row.meterId)
getmeter()
}
const showDeleteConfirm = async (row) => {
row.showDeleteConfirm = true
}
const onSubmit = async () => {
await insertElectricmeters(form.value)
form.value = {}
dialogFormVisible.value = false
getmeter()
}
const AddRow = async (row) => {
dialogFormVisible1.value = true
form.value = {}
form1.value.meterID = row.meterId
}
const onSubmit1 = async () => {
await insertMeterreadings(form1.value)
dialogFormVisible1.value = false
form1.value = {}
}
</script>
<template>
<el-button type="primary" @click="dialogFormVisible = true">
电表添加
</el-button>
<el-divider />
<el-dialog v-model="dialogFormVisible" title="电表添加">
<el-form :model="form" label-width="120px">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="电表标识符(int)">
<el-input v-model="form.meterId" />
</el-form-item>
<el-form-item label="电表号">
<el-input v-model="form.meterNumber" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col>
<el-form-item label="电表安装日期">
<el-date-picker
v-model="form.installationDate"
type="date"
placeholder="Pick a Date"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col>
<el-form-item label="电表位置">
<el-input v-model="form.location"></el-input>
</el-form-item> </el-col
></el-row>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormVisible = false">取消</el-button>
<el-button type="primary" @click="onSubmit"> 确定 </el-button>
</span>
</template>
</el-dialog>
<el-dialog v-model="dialogFormVisible1" title="抄表记录添加">
<el-form :model="form1" label-width="120px">
<el-row :gutter="10">
<el-col>
<el-form-item label="抄表日期">
<el-date-picker
v-model="form1.readingDate"
type="date"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col>
<el-form-item label="抄表数值">
<el-input v-model="form1.readingValue"></el-input>
</el-form-item> </el-col
></el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="抄表人员姓名">
<el-input v-model="form1.readerName" />
</el-form-item>
<el-form-item label="抄表人员练习方式">
<el-input v-model="form1.contactNumber" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormVisible1 = false">取消</el-button>
<el-button type="primary" @click="onSubmit1"> 确定 </el-button>
</span>
</template>
</el-dialog>
<el-dialog v-model="dialogTableVisible" title="每月抄表数值">
<el-table :data="meterReading" stripe style="width: 100%" height="360">
<el-table-column prop="readingDate" label="抄表日期" />
<el-table-column prop="readingValue" label="抄表数值" />
<el-table-column prop="readerName" label="抄表人姓名" />
<el-table-column prop="contactNumber" label="抄表人练习方式" />
</el-table>
</el-dialog>
<el-card class="box-card" title="电表基础信息表">
<el-table :data="meter" stripe style="width: 100%" height="360px">
<el-table-column prop="meterId" label="电表标识符" />
<el-table-column prop="meterNumber" label="电表号" />
<el-table-column prop="installationDate" label="电表安装日期" />
<el-table-column prop="location" label="电表位置" />
<el-table-column fixed="right" label="操作" width="360">
<template v-slot="scope">
<el-button
link
type="primary"
size="small"
@click.prevent="seeRow(scope.row)"
:icon="View"
>查看每月抄表数值</el-button
>
<el-button
link
type="primary"
size="small"
@click.prevent="AddRow(scope.row)"
:icon="Plus"
>添加抄表记录</el-button
>
<el-popover
:visible="scope.row.showDeleteConfirm"
placement="top"
:width="160"
>
<p>确定删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="small" text @click="cancelDelete(scope.row)"
>取消</el-button
>
<el-button
size="small"
type="primary"
@click="confirmDeleteRow(scope.row)"
>确认</el-button
>
</div>
<template #reference>
<el-button
link
type="primary"
size="small"
:icon="Delete"
@click="showDeleteConfirm(scope.row)"
>删除</el-button
>
</template>
</el-popover>
</template>
</el-table-column>
</el-table>
</el-card>
</template>
<style></style>