123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284 |
- <template>
- <el-table
- :data="
- deviceNumData.filter(
- (data) =>
- !filter_Text ||
- data.monitorDeviceName
- .toLowerCase()
- .includes(filter_Text.toLowerCase()) ||
- data.monitorDeviceCode
- .toLowerCase()
- .includes(filter_Text.toLowerCase())
- )
- "
- border
- stripe
- :header-cell-style="headClass"
- :height="Height"
- >
- <el-table-column prop="status" align="center" label="状态" width="50">
- <template #default="scope">
- <el-avatar
- class="status"
- :style="
- scope.row.status == 1
- ? 'background-color:red'
- : 'background-color:#04F21C'
- "
- ></el-avatar>
- </template>
- </el-table-column>
- <el-table-column
- prop="monitorDeviceName"
- label="监控设备名称"
- align="center"
- width=""
- ></el-table-column>
- <el-table-column
- prop="monitorDeviceCode"
- label="监控设备编号"
- align="center"
- width=""
- ></el-table-column>
- <el-table-column
- prop="loopMeterAddress"
- label="回路表计地址"
- align="center"
- width=""
- ></el-table-column>
- <el-table-column
- prop="ratedVoltage"
- label="额定电压"
- align="center"
- width=""
- ></el-table-column>
- <el-table-column
- prop="ratedCurrent"
- label="额定电流"
- align="center"
- width=""
- ></el-table-column>
- <el-table-column
- prop="currentLoadRate"
- label="电流负载率门限"
- align="center"
- width=""
- ></el-table-column>
- <el-table-column
- prop="qualityAnalysis"
- label="电能质量分析"
- align="center"
- width=""
- ></el-table-column>
- <el-table-column label="操作" align="center" width="150">
- <template #default="scope">
- <el-button
- type="text"
- size="small"
- style="color: #409eff"
- @click.prevent="editRow(scope.row)"
- >
- 编辑
- </el-button>
- <el-popconfirm
- confirm-button-text="是"
- cancel-button-text="否"
- icon="el-icon-info"
- icon-color="red"
- title="确定删除?"
- @confirm="handleDelete(scope.row)"
- @cancel="cancelEvent"
- >
- <template #reference>
- <el-button type="text" size="small" style="color: red">
- 删除
- </el-button>
- </template>
- </el-popconfirm>
- </template>
- </el-table-column>
- <el-table-column label="变量" align="center" width="100">
- <template #default="scope">
- <el-button
- type="text"
- size="small"
- style="color: #409eff"
- @click.prevent="variableList(scope.row)"
- >
- 变量列表
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- <div class="listPagination1">
- <el-pagination
- v-model:currentPage="currentPage"
- :page-sizes="[15, 20, 25, 30]"
- :page-size="pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="total"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- background
- ></el-pagination>
- </div>
- <list-Dialog
- :list_Dialog="listDialogBool"
- @closeNo="closeNo"
- :DialogArray="DialogArray"
- ></list-Dialog>
- </template>
- <script>
- import { useStore } from 'vuex'
- import { defineComponent, onMounted, ref, watchEffect } from 'vue'
- import * as api from '@/api/deviceManage/powerEquip/deviceAttribute'
- import { ElMessage } from 'element-plus'
- import listDialog from './powerDialog/listDialog.vue'
- export default defineComponent({
- name: 'powerEquip',
- components: {
- listDialog,
- },
- emits: ['updateRow', 'closeNo'],
- props: {
- filter_Text: String,
- Height: String,
- refresh: Boolean,
- },
- setup(props, { emit }) {
- const store = useStore()
- const deviceNumData = ref([]) //列表查询值存储
- const pageSize = ref(15) //分页
- const currentPage = ref(1) //分页
- const total = ref(0) //分页
- const listDialogBool = ref(false)
- const DialogArray = ref([])
- //变量列表
- const variableList = (row) => {
- DialogArray.value = row
- listDialogBool.value = true
- }
- //克隆弹窗关闭
- const closeNo = (value) => {
- listDialogBool.value = value
- }
- //查询
- function listSelect() {
- api
- .deviceNewsList({
- siteId: store.state.siteId,
- size: pageSize.value,
- current: currentPage.value,
- })
- .then((requset) => {
- if (requset.status === 'SUCCESS') {
- total.value = requset.data.total
- deviceNumData.value = requset.data.records
- } else {
- ElMessage.error(requset.msg)
- }
- })
- }
-
- //删除 是否删除 ---- 是
- const handleDelete = (row) => {
- api.deviceNewsDel({ id: row.id }).then((requset) => {
- if (requset.status === 'SUCCESS') {
- ElMessage.success({
- message: '删除成功',
- type: 'success',
- })
- listSelect()
- } else {
- ElMessage.error(requset.msg)
- }
- })
- }
- //是否删除 ---- 否
- const cancelEvent = () => {
- console.log('cancel!')
- }
- //编辑
- const editRow = (row) => {
- emit('updateRow', row)
- listSelect()
- }
- watchEffect((fn, options) => {
- fn, options
- if (props.refresh == true) {
- listSelect()
- }
- })
- onMounted(() => {
- listSelect()
- })
- const handleSizeChange = (val) => {
- pageSize.value = val
- listSelect()
- }
- const handleCurrentChange = (val) => {
- currentPage.value = val
- listSelect()
- }
- // 表头样式设置
- const headClass = () => {
- return 'background:#FAFAFA !important;color: black;'
- }
- return {
- headClass,
- closeNo,
- variableList, //变量列表按钮事件
- editRow, //编辑按钮事件
- handleDelete, //删除按钮事件
- deviceNumData, //列表查询值存储
- cancelEvent,
- DialogArray,
- listDialogBool,
- currentPage,
- pageSize,
- total,
- handleSizeChange,
- handleCurrentChange,
- }
- },
- })
- </script>
- <style lang="scss" scoped>
- //弹出框内容样式
- .dialogOne {
- div:nth-child(1) {
- margin-bottom: 30px;
- }
- .content {
- margin-bottom: 20px;
- span:nth-child(1) {
- color: red;
- }
- .inputer {
- width: 150px;
- }
- }
- }
- .listPagination {
- margin-top: 15px;
- margin-bottom: -30px;
- float: right;
- }
- .listPagination1 {
- margin-top: 15px;
- float: right;
- }
- </style>
|