DYL0109
2025-04-16 75f043dfa6660716364e66ee0b3cf99f44255686
zhitan-vue/src/views/businessconfiguration/prealarmmanage/components/collectionpointmanage/CollectionPointManage.vue
@@ -1,6 +1,6 @@
<template>
  <div class="table-box">
    <div class="form-card">
    <div class="form-card" style="padding: 16px 16px 0 16px">
      <el-form :model="queryParams" ref="queryRef" :inline="true">
        <el-form-item label="采集点名称">
          <el-input v-model="queryParams.name" placeholder="请输入采集点名称" maxlength="30" />
@@ -9,9 +9,7 @@
          <el-input v-model="queryParams.code" placeholder="请输入采集点编码" maxlength="30" />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" icon="Search" @click="getTabList">
            搜索
          </el-button>
          <el-button type="primary" icon="Search" @click="getTabList"> 搜索 </el-button>
          <el-button icon="Refresh" @click="resetQuery">重置</el-button>
        </el-form-item>
        <el-form-item>
@@ -24,28 +22,37 @@
        </el-form-item>
      </el-form>
    </div>
    <el-table v-loading="loading" row-key="indexId" :data="tableData" @selection-change="handleSelectionChange"
      height="calc(100vh - 430px)" :default-sort="{ prop: 'date', order: 'descending' }">
    <el-table
      v-loading="loading"
      row-key="indexId"
      :data="tableData"
      @selection-change="handleSelectionChange"
      height="calc(100vh - 430px)"
      :default-sort="{ prop: 'date', order: 'descending' }"
    >
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="采集点名称" align="center" prop="name" />
      <el-table-column label="采集点编码" align="center" prop="code" />
      <el-table-column label="启停状态" align="center" prop="indexCategory" />
      <el-table-column label="操作" width="150" align="center">
        <template #default="scope">
          <el-button link type="primary" @click="handleAlarm(scope.row)">
            报警
          </el-button>
          <el-button link type="primary" @click="handleAlarm(scope.row)"> 报警 </el-button>
        </template>
      </el-table-column>
    </el-table>
    <pagination v-show="queryParams.total > 0" :total="queryParams.total" v-model:page="queryParams.pageNum"
      v-model:limit="queryParams.pageSize" @pagination="getTabList" />
    <pagination
      v-show="queryParams.total > 0"
      :total="queryParams.total"
      v-model:page="queryParams.pageNum"
      v-model:limit="queryParams.pageSize"
      @pagination="getTabList"
    />
    <CollectAlarmModal ref="collectAlarmModalRef" />
  </div>
</template>
<script setup>
import CollectAlarmModal from './CollectAlarmModal.vue'
import { getSettingIndex, getStartStop, getSettingCount, updateSet } from '@/api/businessConfiguration/preAlarmManage'
import CollectAlarmModal from "./CollectAlarmModal.vue"
import { getSettingIndex, getStartStop, getSettingCount, updateSet } from "@/api/businessConfiguration/preAlarmManage"
let { proxy } = getCurrentInstance()
const data = reactive({
@@ -57,8 +64,8 @@
    pageSize: 10,
    total: 0,
  },
});
const { queryParams } = toRefs(data);
})
const { queryParams } = toRefs(data)
let ids = ref([])
let names = ref([])
let single = ref(true)
@@ -73,41 +80,40 @@
function getList(modelNode) {
  currentNode.value = modelNode
  queryParams.value.nodeId = modelNode.id
  queryParams.value.indexType = 'COLLECT',
    getTabList()
  ;(queryParams.value.indexType = "COLLECT"), getTabList()
}
function getTabList() {
  loading.value = true;
  getSettingIndex(queryParams.value).then(res => {
    tableData.value = res.data.records;
  loading.value = true
  getSettingIndex(queryParams.value).then((res) => {
    tableData.value = res.data.records
    queryParams.value.total = res.data.total
    loading.value = false;
    loading.value = false
    initStartStop()
  })
}
function resetQuery() {
  proxy.resetForm("queryRef");
  queryParams.value.code = null;
  queryParams.value.name = null;
  queryParams.value.pageNum = 1;
  queryParams.value.pageSize = 10;
  queryParams.value.total = 0;
  getTabList();
  proxy.resetForm("queryRef")
  queryParams.value.code = null
  queryParams.value.name = null
  queryParams.value.pageNum = 1
  queryParams.value.pageSize = 10
  queryParams.value.total = 0
  getTabList()
}
function initStartStop() {
  for (let i = 0; i < tableData.value.length; i++) {
    let ndy = ''
    getStartStop(tableData.value[i].indexId).then(response => {
      if (response.code == '200') {
        if (response.msg == '1') {
          tableData.value[i].indexCategory = '启动'
        } else if (response.msg == '2') {
          tableData.value[i].indexCategory = '停止'
    let ndy = ""
    getStartStop(tableData.value[i].indexId).then((response) => {
      if (response.code == "200") {
        if (response.msg == "1") {
          tableData.value[i].indexCategory = "启动"
        } else if (response.msg == "2") {
          tableData.value[i].indexCategory = "停止"
        } else {
          tableData.value[i].indexCategory = '尚未设置'
          tableData.value[i].indexCategory = "尚未设置"
        }
      } else {
        tableData.value[i].indexCategory = ''
        tableData.value[i].indexCategory = ""
      }
    })
  }
@@ -120,22 +126,22 @@
// 多选框选中数据
function handleSelectionChange(selection) {
  ids.value = selection.map(item => item.indexId)
  names.value = selection.map(item => item.name)
  ids.value = selection.map((item) => item.indexId)
  names.value = selection.map((item) => item.name)
  single.value = selection.length !== 1
  multiple.value = !selection.length
  startStopOptions.value = selection.map(item => item.indexCategory)
  codeOptions.value = selection.map(item => item.code)
  startStopOptions.value = selection.map((item) => item.indexCategory)
  codeOptions.value = selection.map((item) => item.code)
}
function handleUpdateState(flag) {
  let stateName = ''
  if (flag == '1') {
    stateName = '启动'
  let stateName = ""
  if (flag == "1") {
    stateName = "启动"
  } else {
    stateName = '停止'
    stateName = "停止"
  }
  getSettingCount(ids.value).then(response => {
  getSettingCount(ids.value).then((response) => {
    let unStartStopArrName = []
    let startStopArrIds = []
    for (let i = 0; i < response.data.length; i++) {
@@ -146,19 +152,20 @@
      }
    }
    if (unStartStopArrName.length > 0) {
      var bh = unStartStopArrName.join(',')
      proxy.$modal.confirm('选中存在未设置限值的仪器设备' + bh + ',暂无法' + stateName + '!', '警告', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).catch(function () {
      })
      var bh = unStartStopArrName.join(",")
      proxy.$modal
        .confirm("选中存在未设置限值的仪器设备" + bh + ",暂无法" + stateName + "!", "警告", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        })
        .catch(function () {})
    } else {
      if (startStopArrIds.length > 0) {
        updateSet(startStopArrIds || '', flag).then(response => {
        updateSet(startStopArrIds || "", flag).then((response) => {
          if (response.code === 200) {
            initStartStop()
            proxy.$modal.msgSuccess('成功')
            proxy.$modal.msgSuccess("成功")
          } else {
            proxy.$modal.msgError(response.msg)
          }
@@ -168,8 +175,8 @@
  })
}
defineExpose({
  getList
});
  getList,
})
</script>
<style lang='scss' scoped></style>
<style lang="scss" scoped></style>