erp系统抄表管理

<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>

 

posted @ 2023-12-10 17:40  花伤错零  阅读(24)  评论(0)    收藏  举报