fanghuisheng 3 роки тому
батько
коміт
57ed35c262

+ 49 - 0
src/api/deviceManage/powerEquip/communicateEquip.js

@@ -0,0 +1,49 @@
+import request from '@/utils/request'
+
+//设备管理-通信设备-查询
+export function correspondDeviceList(params) {
+    return request({
+        url: '/device/correspondDeviceList',
+        method: 'GET',
+        params,
+    })
+}
+
+//设备管理-通信设备-修改
+export function correspondDeviceUpdate(params) {
+    return request({
+        url: '/device/correspondDeviceUpdate',
+        method: 'POST',
+        data: params,
+    })
+}
+
+//设备管理-通信设备-新增
+export function correspondDeviceAdd(params) {
+    return request({
+        url: '/device/correspondDeviceAdd',
+        method: 'POST',
+        data: params,
+    })
+}
+
+//设备管理-通信设备-注销
+export function correspondDeviceDel(params) {
+    return request({
+        url: '/device/correspondDeviceDel',
+        method: 'GET',
+        params,
+    })
+}
+
+
+
+
+
+
+
+
+
+
+
+

+ 6 - 4
src/api/deviceManage/powerEquip/deviceAttribute.js

@@ -41,13 +41,15 @@ export function deviceNewsDel(params) {
   })
 }
 
-export function variableList(params) {
+export function variableListone(params) {
   return request({
-    url: '/deviceAnalogVariableList/variableList',
-    method: 'GET',
-    params,
+    url: '/deviceAnalogVariableList/variableListone',
+    method: 'POST',
+    data: params,
   })
 }
 
 
 
+
+

+ 9 - 0
src/api/siteList.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+export function SiteList(params) {
+    return request({
+        url: '/site/list',
+        method: 'GET',
+        params,
+    })
+}

+ 2 - 0
src/main.js

@@ -37,3 +37,5 @@ app
   .use(ElementPlus, { locale: zhCn, size: 'small' })
   .use(Antd)
   .mount('#app')
+
+store.commit("publicSiteList");

+ 16 - 1
src/store/index.js

@@ -3,6 +3,8 @@
  * @description 导入所有 vuex 模块,自动加入namespaced:true,用于解决vuex命名冲突,请勿修改。
  */
 import { createStore } from 'vuex'
+import * as api from '@/api/siteList'
+import ElMessage from 'element-plus'
 
 const files = require.context('./modules', false, /\.js$/)
 const modules = {}
@@ -18,7 +20,7 @@ export default createStore({
   state: {
     query: null,
     siteId: 1, //公共api请求参数->siteId
-    siteList:[],//公共api站点下拉列表存储->siteId
+    siteList: [],//公共api站点下拉列表存储->siteId
     Time_Data: [], //公共api请求参数->Time_Data
     timearr: [], //公共处理开始时间和结束时间中的时间段天数 值存储
     Time_All: [], //公共时间 返回数组 -> 年月日时分秒 时间戳
@@ -35,6 +37,19 @@ export default createStore({
     // echartHeight:0,//公共ehcarts监听高度变化
   },
   mutations: {
+
+    publicSiteList(state) {
+      api
+        .SiteList({})
+        .then((requset) => {
+          if (requset.status === 'SUCCESS') {
+            state.siteList = requset.data
+          } else {
+            ElMessage.error(requset.msg)
+          }
+        })
+    },
+
     /**
      * @公共api请求参数siteId
      * @param {*}} state 

+ 9 - 7
src/views/dataManage/chainAnalysis/index.vue

@@ -2,12 +2,12 @@
   <div class="chainAnalysis">
     <div class="chainContent1">
       <div style="display: flex">
-        <el-select v-model="value" placeholder="选择站点">
+        <el-select v-model="store.state.siteId" placeholder="选择站点">
           <el-option
-            v-for="item in options"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
+            v-for="item in store.state.siteList"
+            :key="item.id"
+            :label="item.siteName"
+            :value="item.id"
           ></el-option>
         </el-select>
       </div>
@@ -57,12 +57,13 @@
         </el-radio-group>
       </div>
       <div class="chainEcharts">
-        <echarts v-for="op in options" :key="op" ></echarts>
+        <echarts v-for="op in options" :key="op"></echarts>
       </div>
     </div>
   </div>
 </template>
 <script>
+import { useStore } from 'vuex'
 import { defineComponent, ref, reactive, toRefs } from 'vue'
 import echarts from './ehcarts/index.vue'
 
@@ -71,6 +72,7 @@ export default defineComponent({
   components: { echarts },
   props: {},
   setup() {
+    const store = useStore()
     const listTabsChange = (value) => {
       console.log(value)
     }
@@ -80,6 +82,7 @@ export default defineComponent({
     })
 
     return {
+      store,
       ...toRefs(state),
       listTabPosition: ref('allValue'),
       data: [
@@ -130,7 +133,6 @@ export default defineComponent({
         label: 'label',
       },
       listTabsChange,
-
     }
   },
 })

+ 9 - 28
src/views/dataManage/sameAnalysis/index.vue

@@ -2,12 +2,12 @@
   <div class="sameAnalysis">
     <div class="sameContent1">
       <div style="display: flex">
-        <el-select v-model="value" placeholder="选择站点">
+        <el-select v-model="store.state.siteId" placeholder="选择站点">
           <el-option
-            v-for="item in options"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
+            v-for="item in store.state.siteList"
+            :key="item.id"
+            :label="item.siteName"
+            :value="item.id"
           ></el-option>
         </el-select>
       </div>
@@ -63,6 +63,7 @@
   </div>
 </template>
 <script>
+import { useStore } from 'vuex'
 import { defineComponent, ref, reactive, toRefs } from 'vue'
 import echarts from './ehcarts/index.vue'
 
@@ -71,6 +72,8 @@ export default defineComponent({
   components: { echarts },
   props: {},
   setup() {
+    const store = useStore()
+
     const listTabsChange = (value) => {
       console.log(value)
     }
@@ -80,6 +83,7 @@ export default defineComponent({
     })
 
     return {
+      store,
       ...toRefs(state),
       listTabPosition: ref('allValue'),
       data: [
@@ -102,29 +106,6 @@ export default defineComponent({
           ],
         },
       ],
-      value: ref(''),
-      options: ref([
-        {
-          value: 'Option1',
-          label: 'Option1',
-        },
-        {
-          value: 'Option2',
-          label: 'Option2',
-        },
-        {
-          value: 'Option3',
-          label: 'Option3',
-        },
-        {
-          value: 'Option4',
-          label: 'Option4',
-        },
-        {
-          value: 'Option5',
-          label: 'Option5',
-        },
-      ]),
       defaultProps: {
         children: 'children',
         label: 'label',

+ 283 - 0
src/views/deviceManage/powerEquip/communicateEquip/dialog/insert_update.vue

@@ -0,0 +1,283 @@
+<template>
+  <div class="powerdialog">
+    <el-dialog
+      :title="dialogTitle"
+      v-model="dialogVisible"
+      @close="close"
+      @open="open"
+      width="30rem"
+    >
+      <div>
+        <el-form
+          ref="formInfo"
+          :model="form"
+          class="demo-form-inline"
+          label-width="150px"
+          :rules="rules"
+        >
+          <el-form-item label="设备名称:" prop="deviceName">
+            <el-input v-model="form.deviceName"></el-input>
+          </el-form-item>
+          <el-form-item label="设备编号:" prop="deviceCode">
+            <el-input v-model="form.deviceCode"></el-input>
+          </el-form-item>
+          <el-form-item label="楼层:" prop="floor">
+            <el-input-number
+              v-model="form.floor"
+              controls-position="right"
+              :min="-10"
+              :max="100"
+            ></el-input-number>
+          </el-form-item>
+          <el-form-item label="所属站点:" prop="siteId">
+            <el-select
+              v-model="form.siteId"
+              :disabled="
+                dialogTitle !== '新增' &&
+                form.siteId != null &&
+                form.siteId != ''
+                  ? true
+                  : false
+              "
+              placeholder="请选择所属站点"
+            >
+              <el-option
+                v-for="item in siteList"
+                :key="item.value"
+                :label="item.siteName"
+                :value="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="设备安装位置:" prop="deviceAddress">
+            <el-input v-model="form.deviceAddress"></el-input>
+          </el-form-item>
+          <el-form-item label="设备类型:" prop="deviceType">
+            <el-select v-model="form.deviceType" placeholder="请选择设备类型">
+              <el-option
+                v-for="item in deviceType"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="sim卡号:" prop="sim">
+            <el-input v-model="form.sim"></el-input>
+          </el-form-item>
+
+          <div style="text-align: right">
+            <el-button @click="close">取消</el-button>
+            <el-button type="primary" @click="submitForm()">保存</el-button>
+          </div>
+        </el-form>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { useStore } from 'vuex'
+import { defineComponent, ref, watchEffect } from 'vue'
+import { ElMessage } from 'element-plus'
+import * as api from '@/api/deviceManage/powerEquip/communicateEquip'
+
+export default defineComponent({
+  name: 'Dialog',
+  props: {
+    dialogBool: Boolean,
+    dialogTitle: String,
+
+    dataList: Object,
+    deviceNumDataContent: String,
+  },
+  setup(props, context) {
+    const store = useStore()
+    const dialogVisible = ref(false)
+    const form = ref([])
+    const siteList = ref([])
+    const formInfo = ref(null)
+
+    // open(): Dialog弹窗打开之前做的事
+    const open = () => {
+      form.value = props.dataList
+      siteList.value = store.state.siteList
+    }
+
+    // close(): Dialog弹窗关闭之后做的事
+    const close = () => {
+      context.emit('show', false)
+      dialogVisible.value = false
+    }
+
+    // 保存-修改操作
+    const submitForm = () => {
+      formInfo.value.validate((valid) => {
+        if (valid) {
+          form.value.floor == 0 ? (form.value.floor = 1) : form.value.floor
+          if (props.dialogTitle == '新增') {
+            api.correspondDeviceAdd(form.value).then((requset) => {
+              if (requset.status === 'SUCCESS') {
+                ElMessage.success({
+                  message: '新增成功',
+                  type: 'success',
+                })
+                close()
+              } else {
+                ElMessage.error(requset.msg)
+              }
+            })
+          } else {
+            api.correspondDeviceUpdate(form.value).then((requset) => {
+              if (requset.status === 'SUCCESS') {
+                ElMessage.success({
+                  message: '修改成功',
+                  type: 'success',
+                })
+                close()
+              } else {
+                ElMessage.error(requset.msg)
+              }
+            })
+          }
+        } else {
+          console.log('error submit!!')
+          return false
+        }
+      })
+    }
+
+    watchEffect((fn, options) => {
+      fn, options
+      dialogVisible.value = props.dialogBool
+    })
+
+    return {
+      formInfo,
+      siteList,
+      dialogVisible,
+      form,
+      close,
+      open,
+      submitForm,
+
+      rules: {
+        deviceCode: [
+          {
+            required: true,
+            message: '设备名称不能为空',
+            trigger: 'blur',
+          },
+          {
+            min: 5,
+            max: 25,
+            message: '设备名称长度不能小于5大于25',
+            trigger: 'blur',
+          },
+        ],
+        deviceName: [
+          {
+            required: true,
+            message: '设备名称不能为空',
+            trigger: 'blur',
+          },
+          {
+            min: 5,
+            max: 25,
+            message: '设备名称长度不能小于5大于25',
+            trigger: 'blur',
+          },
+        ],
+        floor: [
+          {
+            required: true,
+            message: '楼层不能为空',
+            trigger: 'blur',
+          },
+        ],
+        siteId: [
+          {
+            required: true,
+            message: '请选择所属站点',
+            trigger: 'blur',
+          },
+        ],
+        deviceAddress: [
+          {
+            required: true,
+            message: '请输入设备安装位置',
+            trigger: 'blur',
+          },
+          {
+            min: 5,
+            max: 50,
+            message: '设备安装位置长度不能小于5大于50',
+            trigger: 'blur',
+          },
+        ],
+        deviceType: [
+          {
+            required: true,
+            message: '请选择设备类型',
+            trigger: 'blur',
+          },
+        ],
+      },
+      deviceType: ref([
+        {
+          value: 1,
+          label: '183用电设备',
+        },
+        {
+          value: 2,
+          label: '视频监控设备',
+        },
+        {
+          value: 3,
+          label: '171用电设备',
+        },
+        {
+          value: 4,
+          label: '173用电设备',
+        },
+        {
+          value: 5,
+          label: '158智能网关',
+        },
+        {
+          value: 6,
+          label: '其他',
+        },
+      ]),
+    }
+  },
+})
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped lang="scss">
+h3 {
+  margin: 40px 0 0;
+}
+ul {
+  list-style-type: none;
+  padding: 0;
+}
+a {
+  color: #42b983;
+}
+.el-form-item:not(.user-layout .el-form-item) {
+  margin: 0 auto 10px;
+}
+.fontText {
+  font-size: 10px;
+  margin-top: -5px;
+  margin-bottom: -15px;
+}
+</style>
+<style>
+.powerdialog .el-form-item--small .el-form-item__content,
+.powerdialog .el-form-item--small .el-form-item__label {
+  line-height: 40px;
+}
+</style>

+ 159 - 72
src/views/deviceManage/powerEquip/communicateEquip/index.vue

@@ -59,7 +59,7 @@
 
         <el-table-column
           prop="deviceName"
-          label="通信设备名称"
+          label="设备名称"
           width="150"
         ></el-table-column>
         <el-table-column
@@ -68,18 +68,13 @@
           width=""
         ></el-table-column>
         <el-table-column
-          prop="deviceSite"
+          prop="siteId"
           label="所属站点"
           width=""
         ></el-table-column>
         <el-table-column
-          prop="offlineTime"
-          label="上次离线时间"
-          width=""
-        ></el-table-column>
-        <el-table-column
-          prop="onlineTime"
-          label="上次在线时间"
+          prop="statusTime"
+          label="最后通信时间"
           width=""
         ></el-table-column>
         <el-table-column
@@ -93,7 +88,7 @@
           width=""
         ></el-table-column>
         <el-table-column
-          prop="deviceAdd"
+          prop="deviceAddress"
           label="设备地址"
           width=""
         ></el-table-column>
@@ -107,14 +102,21 @@
             >
               编辑
             </el-button>
-            <el-button
-              @click="Delete(scope.$index, scope.row)"
-              type="text"
-              size="small"
-              style="color: red"
+            <el-popconfirm
+              confirm-button-text="是"
+              cancel-button-text="否"
+              icon="el-icon-info"
+              icon-color="red"
+              title="确定删除?"
+              @confirm="confirmEvent(scope.row)"
+              @cancel="cancelEvent"
             >
-              删除
-            </el-button>
+              <template #reference>
+                <el-button type="text" size="small" style="color: red">
+                  删除
+                </el-button>
+              </template>
+            </el-popconfirm>
           </template>
         </el-table-column>
       </el-table>
@@ -122,82 +124,167 @@
         <el-pagination
           v-model:currentPage="currentPage"
           :page-sizes="[15, 20, 25, 30]"
-          :page-size="15"
+          :page-size="pageSize"
           layout="total, sizes, prev, pager, next, jumper"
-          :total="tableData.length"
+          :total="total"
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
           background
         ></el-pagination>
       </div>
     </div>
-    <div></div>
+    <div>
+      <insert-Update
+        :dialogBool="dialogBool"
+        :dialogTitle="dialogTitle"
+        :dataList="dataList"
+        @show="showValue"
+      ></insert-Update>
+    </div>
   </div>
 </template>
 <script>
-import { defineComponent, ref } from 'vue'
+import { useStore } from 'vuex'
+import { defineComponent, onMounted, ref } from 'vue'
+import insertUpdate from './dialog/insert_update.vue'
+
+import * as api from '@/api/deviceManage/powerEquip/communicateEquip'
+import { ElMessage } from 'element-plus'
 
 export default defineComponent({
   name: 'powerEquip',
-  components: {},
+  components: {
+    insertUpdate,
+  },
   props: {
     Height: String,
   },
-  data() {
-    return {
-      deviceNumData: [],
-      tableData: [
-        {
-          stationStatus: 0,
-          deviceName: '测试设备',
-          deviceCode: 'cssb1',
-          deviceSite: '站点1',
-          offlineTime: '2021-1-1 00:00:00',
-          onlineTime: '2021-2-1 00:00:00',
-          offlineDuration: '180天',
-          onlineDuration: '180天',
-          deviceAdd: '徐乐路208号',
-        },
-        {
-          stationStatus: 1,
-          deviceName: '测试设备',
-          deviceCode: 'cssb1',
-          deviceSite: '站点1',
-          offlineTime: '2021-1-1 00:00:00',
-          onlineTime: '2021-2-1 00:00:00',
-          offlineDuration: '180天',
-          onlineDuration: '180天',
-          deviceAdd: '徐乐路208号',
-        },
-      ],
-      activeName: 'powerEquip',
-      filterText: '',
-      currentPage: ref(15),
+  setup() {
+    const store = useStore()
+    store
+    const pageSize = ref(15)
+    const currentPage = ref(1)
+    const total = ref(0)
+    const filterText = ref('')
+    const tableData = ref([])
+    const activeName = ref('powerEquip')
+    const dialogBool = ref(false)
+    const dialogTitle = ref('')
+    const dataList = ref({})
+
+    //查询
+    function Select() {
+      api
+        .correspondDeviceList({
+          size: pageSize.value,
+          current: currentPage.value,
+        })
+        .then((requset) => {
+          if (requset.status === 'SUCCESS') {
+            total.value = requset.data.total
+            tableData.value = requset.data.records
+          } else {
+            ElMessage.error(requset.msg)
+          }
+        })
     }
-  },
-  methods: {
     //新增
-    Insert() {
-      console.log('')
-    },
-    // 表头样式设置
-    headClass() {
-      return 'background:#FAFAFA !important;color: black;'
-    },
+    const Insert = () => {
+      dialogBool.value = true
+      dialogTitle.value = '新增'
+      dataList.value = {
+        deviceCode: '',
+        deviceName: '',
+        floor: 1,
+        siteId: '',
+        deviceAddress: '',
+        deviceType: 1,
+        sim: '',
+      }
+    }
     //修改
-    Update(row) {
+    const Update = (row) => {
+      dialogBool.value = true
+      dialogTitle.value = '修改'
       console.log(row)
-    },
+      dataList.value = {
+        deviceCode: row.deviceCode,
+        deviceName: row.deviceName,
+        floor: row.floor,
+        siteId: row.siteId,
+        deviceAddress: row.deviceAddress,
+        deviceType: row.deviceType,
+        sim: row.sim,
+      }
+    }
+
+    //新增修改弹窗控制
+    const showValue = (value) => {
+      dialogBool.value = value
+      Select()
+    }
+
+    //是否删除  ---- 是
+    const confirmEvent = (row) => {
+      Delete(row)
+    }
+    //是否删除  ---- 否
+    const cancelEvent = () => {
+      console.log('cancel!')
+    }
     //删除
-    Delete(ind, row) {
-      console.log(ind, row)
-    },
-    handleSizeChange(val) {
-      console.log(`${val} items per page`)
-    },
-    handleCurrentChange(val) {
-      console.log(`current page: ${val}`)
-    },
+    const Delete = (row) => {
+      api.correspondDeviceDel({ id: row.id }).then((requset) => {
+        if (requset.status === 'SUCCESS') {
+          ElMessage.success({
+            message: '删除成功',
+            type: 'success',
+          })
+          Select()
+        } else {
+          ElMessage.error(requset.msg)
+        }
+      })
+    }
+    const handleSizeChange = (val) => {
+      pageSize.value = val
+      Select()
+    }
+    const handleCurrentChange = (val) => {
+      currentPage.value = val
+      Select()
+    }
+    // 表头样式设置
+    const headClass = () => {
+      return 'background:#FAFAFA !important;color: black;'
+    }
+
+    onMounted(() => {
+      Select()
+    })
+    return {
+      headClass,
+      handleCurrentChange,
+      handleSizeChange,
+
+      Insert,
+      Update,
+      Delete,
+      confirmEvent,
+      cancelEvent,
+      showValue,
+
+      pageSize,
+      currentPage,
+      total,
+      filterText,
+      tableData,
+      activeName,
+
+      dialogBool,
+      dialogTitle,
+      dataList,
+    }
   },
 })
 </script>

+ 33 - 18
src/views/deviceManage/powerEquip/deviceDetails.vue

@@ -116,11 +116,11 @@
     <el-pagination
       v-model:currentPage="currentPage"
       :page-sizes="[15, 20, 25, 30]"
-      :page-size="15"
+      :page-size="pageSize"
       layout="total, sizes, prev, pager, next, jumper"
-      :total="deviceNumData.length"
-      @size-change="handleSizeChange1"
-      @current-change="handleCurrentChange1"
+      :total="total"
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
       background
     ></el-pagination>
   </div>
@@ -161,6 +161,9 @@ export default defineComponent({
   setup(props, { emit }) {
     const store = useStore()
     const deviceNumData = ref([]) //列表查询值存储
+    const pageSize = ref(15) //分页
+    const currentPage = ref(1) //分页
+    const total = ref(0) //分页
 
     const cloneDialogBool = ref(false)
     const listDialogBool = ref(false)
@@ -192,13 +195,20 @@ export default defineComponent({
     }
     //查询
     function listSelect() {
-      api.deviceNewsList({ siteId: store.state.siteId }).then((requset) => {
-        if (requset.status === 'SUCCESS') {
-          deviceNumData.value = requset.data.records
-        } else {
-          ElMessage.error(requset.msg)
-        }
-      })
+      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) => {
@@ -229,11 +239,14 @@ export default defineComponent({
     onMounted(() => {
       listSelect()
     })
-    const handleSizeChange1 = (val) => {
-      console.log(`${val} items per page`)
+
+    const handleSizeChange = (val) => {
+      pageSize.value = val
+      listSelect()
     }
-    const handleCurrentChange1 = (val) => {
-      console.log(`current page: ${val}`)
+    const handleCurrentChange = (val) => {
+      currentPage.value = val
+      listSelect()
     }
     // 表头样式设置
     const headClass = () => {
@@ -249,14 +262,16 @@ export default defineComponent({
       deviceNumData, //列表查询值存储
       confirmEvent, //确定是否删除事件
       cancelEvent,
-      currentPage: ref(1),
 
       cloneDialogBool,
       DialogArray,
       listDialogBool,
 
-      handleSizeChange1,
-      handleCurrentChange1,
+      currentPage,
+      pageSize,
+      total,
+      handleSizeChange,
+      handleCurrentChange,
     }
   },
 })

+ 1 - 0
src/views/deviceManage/powerEquip/index.vue

@@ -63,6 +63,7 @@
                 prop="siteName"
                 label="站点名称"
                 width=""
+                align="center"
               ></el-table-column>
               <el-table-column
                 prop="siteAddress"

+ 39 - 28
src/views/deviceManage/powerEquip/powerDialog/listDialog.vue

@@ -16,9 +16,9 @@
         <el-radio-button label="model">模拟量</el-radio-button>
         <el-radio-button label="state">状态量</el-radio-button>
         <el-radio-button label="parameter">参数量</el-radio-button>
-        <div style="margin-left: 10px">
+        <!-- <div style="margin-left: 10px">
           <el-button icon="el-icon-plus" type="success">新增</el-button>
-        </div>
+        </div> -->
       </el-radio-group>
 
       <el-input
@@ -36,10 +36,12 @@
           listNumberData.filter(
             (data) =>
               !listInputText ||
-              data.varName
+              data.variableName
                 .toLowerCase()
                 .includes(listInputText.toLowerCase()) ||
-              data.varCoding.toLowerCase().includes(listInputText.toLowerCase())
+              data.variableCoding
+                .toLowerCase()
+                .includes(listInputText.toLowerCase())
           )
         "
         border
@@ -104,7 +106,7 @@
           label="存盘周期"
           width=""
         ></el-table-column>
-        <el-table-column label="操作" width="150">
+        <!-- <el-table-column label="操作" width="150">
           <template #default="scope">
             <el-button
               type="text"
@@ -114,16 +116,23 @@
             >
               修改
             </el-button>
-            <el-button
-              @click="listDelete(scope.$index, scope.row)"
-              type="text"
-              size="small"
-              style="color: red"
+            <el-popconfirm
+              confirm-button-text="是"
+              cancel-button-text="否"
+              icon="el-icon-info"
+              icon-color="red"
+              title="确定删除?"
+              @confirm="confirmEvent(scope.row)"
+              @cancel="cancelEvent"
             >
-              删除
-            </el-button>
+              <template #reference>
+                <el-button type="text" size="small" style="color: red">
+                  删除
+                </el-button>
+              </template>
+            </el-popconfirm>
           </template>
-        </el-table-column>
+        </el-table-column> -->
       </el-table>
 
       <div class="listPagination">
@@ -132,7 +141,7 @@
           :page-sizes="[15, 20, 25, 30]"
           :page-size="pageSize"
           layout="total, sizes, prev, pager, next, jumper"
-          :total="listNumberData.length"
+          :total="total"
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
           background
@@ -163,10 +172,10 @@ export default defineComponent({
   },
   setup(props, context) {
     const store = useStore()
-    store
 
     const pageSize = ref(15)
     const currentPage = ref(1)
+    const total = ref(0)
 
     const multipleSelection = ref([]) //变量列表弹窗复选框值存储
     const listDialog = ref(false)
@@ -193,23 +202,24 @@ export default defineComponent({
     function listSelect() {
       const array = props.DialogArray
       api
-        .variableList({
-          deviceCode: array.monitorDeviceCode,
-          screen: '',
+        .variableListone({
+          siteId: store.state.siteId,
           size: pageSize.value,
           current: currentPage.value,
-          //   dataArea:
-          //     listTabPosition.value == 'model'
-          //       ? 1
-          //       : listTabPosition.value == 'state'
-          //       ? 2
-          //       : listTabPosition.value == 'parameter'
-          //       ? 3
-          //       : 0,
+          dataArea:
+            listTabPosition.value == 'model'
+              ? 1
+              : listTabPosition.value == 'state'
+              ? 2
+              : listTabPosition.value == 'parameter'
+              ? 3
+              : 0,
+          monitoringEquipment: array.id,
         })
         .then((requset) => {
           if (requset.status === 'SUCCESS') {
             listNumberData.value = requset.data.records
+            total.value = requset.data.total
           } else {
             ElMessage.error(requset.msg)
           }
@@ -248,14 +258,15 @@ export default defineComponent({
 
       pageSize,
       currentPage,
+      total,
+      handleSizeChange,
+      handleCurrentChange,
 
       listSelectionChange, //变量列表
       listTabsChange, //变量列表tabs切换
       listDialog,
       listTitleDialog,
       listTabPosition,
-      handleSizeChange,
-      handleCurrentChange,
 
       listInputText: ref(''), //变量列表input搜索框
       multipleSelection, //变量列表弹窗复选框值存储

+ 92 - 77
src/views/deviceManage/powerEquip/videoEquip/index.vue

@@ -11,19 +11,19 @@
             <i class="el-icon-search el-input__icon"></i>
           </template>
         </el-input>
-        <el-button
+        <!-- <el-button
           class="search-button"
           icon="el-icon-plus"
           type="success"
           @click="Insert()"
           >新增</el-button
-        >
+        > -->
       </div>
 
-      <div class="videoRight">
+      <!-- <div class="videoRight">
         <el-button type="primary">导入</el-button>
         <el-button type="primary">导出</el-button>
-      </div>
+      </div> -->
     </div>
 
     <div class="videoContent">
@@ -56,44 +56,66 @@
           </template>
         </el-table-column>
 
-        <el-table-column prop="manufactor" label="视频监测设备名称" width="">
-        </el-table-column>
-        <el-table-column prop="deviceModel" label="设备编号" width="">
-        </el-table-column>
-        <el-table-column prop="deviceNum" label="所属站点" width="">
-        </el-table-column>
-        <el-table-column prop="deviceNum" label="额定电压" width="">
-        </el-table-column>
-        <el-table-column prop="deviceNum" label="额定电流" width="">
-        </el-table-column>
-        <el-table-column prop="deviceNum" label="设备数量" width="">
-        </el-table-column>
-        <el-table-column label="操作" width="150">
+        <el-table-column
+          prop="manufactor"
+          label="视频监测设备名称"
+          width=""
+        ></el-table-column>
+        <el-table-column
+          prop="deviceModel"
+          label="设备编号"
+          width=""
+        ></el-table-column>
+        <el-table-column
+          prop="deviceNum"
+          label="所属站点"
+          width=""
+        ></el-table-column>
+        <el-table-column
+          prop="deviceNum"
+          label="额定电压"
+          width=""
+        ></el-table-column>
+        <el-table-column
+          prop="deviceNum"
+          label="额定电流"
+          width=""
+        ></el-table-column>
+        <el-table-column
+          prop="deviceNum"
+          label="设备数量"
+          width=""
+        ></el-table-column>
+        <!-- <el-table-column label="操作" width="150">
           <template #default="scope">
             <el-button
               type="text"
               size="small"
               style="color: #409eff"
               @click.prevent="Update(scope.row)"
-              >编辑</el-button
             >
+              编辑
+            </el-button>
             <el-button
               @click="Delete(scope.$index, scope.row)"
               type="text"
               size="small"
               style="color: red"
-              >删除</el-button
             >
-          </template> </el-table-column
-        ><el-table-column label="视频画面" width="150">
+              删除
+            </el-button>
+          </template>
+        </el-table-column> -->
+        <el-table-column label="视频画面" width="150">
           <template #default="scope" style="text-align: center">
             <el-button
               type="text"
               size="small"
               style="color: #409eff"
               @click.prevent="LookUp(scope.$index, scope.row)"
-              >查看</el-button
             >
+              查看
+            </el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -107,8 +129,7 @@
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
           background
-        >
-        </el-pagination>
+        ></el-pagination>
       </div>
     </div>
 
@@ -116,65 +137,60 @@
   </div>
 </template>
 <script>
-import { defineComponent, ref } from "vue";
+import { defineComponent, ref } from 'vue'
 
 export default defineComponent({
-  name: "powerEquip",
+  name: 'powerEquip',
   components: {},
   props: {
-    Height:String
-  },
-  data() {
-    return {
-      deviceNumData: [],
-      tableData: [
-        {
-          stationStatus: 0,
-          manufactor: "上海永天科技股份有限公司",
-          deviceModel: "测试设备",
-          deviceNum: "8",
-        },
-        {
-          stationStatus: 1,
-          manufactor: "上海永天科技股份有限公司",
-          deviceModel: "测试设备",
-          deviceNum: "8",
-        },
-      ],
-      activeName: "powerEquip",
-      filterText: "",
-      currentPage: ref(15),
-    };
+    Height: String,
   },
-  methods: {
-    //新增
-    Insert() {
-      console.log("");
-    },
-    // 表头样式设置
-    headClass() {
-      return "background:#FAFAFA !important;color: black;";
-    },
-    //修改
-    Update(row) {
-      console.log(row);
-    },
-    //删除
-    Delete(ind, row) {
-      console.log(ind, row);
-    },
+  setup() {
+    const filterText = ref('')
+    const currentPage = ref(15)
+    const activeName = 'powerEquip'
+    const tableData = ref([
+      {
+        stationStatus: 0,
+        manufactor: '上海永天科技股份有限公司',
+        deviceModel: '测试设备',
+        deviceNum: '8',
+      },
+      {
+        stationStatus: 1,
+        manufactor: '上海永天科技股份有限公司',
+        deviceModel: '测试设备',
+        deviceNum: '8',
+      },
+    ])
+
     //查看视频画面
-    LookUp(ind, row) {
-      console.log(ind, row);
-    },
-    handleSizeChange(val) {
-      console.log(`${val} items per page`);
-    },
-    handleCurrentChange(val) {
-      console.log(`current page: ${val}`);
-    },
+    const LookUp = (ind, row) => {
+      console.log(ind, row)
+    }
+    const handleSizeChange = (val) => {
+      console.log(`${val} items per page`)
+    }
+    const handleCurrentChange = (val) => {
+      console.log(`current page: ${val}`)
+    }
+    // 表头样式设置
+    const headClass = () => {
+      return 'background:#FAFAFA !important;color: black;'
+    }
+    return {
+      headClass,
+      LookUp,
+      handleSizeChange,
+      handleCurrentChange,
+
+      filterText,
+      tableData,
+      activeName,
+      currentPage,
+    }
   },
-});
+})
 </script>
 
 <style lang="scss" scoped>
@@ -226,7 +242,6 @@ export default defineComponent({
   }
 }
 
-
 .listPagination {
   margin-top: 15px;
   float: right;