潘志宝
2025-02-05 3e5f6c444a32a66a6111aacd3a4c5212c32bdf9e
src/views/data/point/index.vue
@@ -26,6 +26,21 @@
          class="!w-200px"
        />
      </el-form-item>
      <el-form-item label="测点类型" prop="pointType">
        <el-select
          v-model="queryParams.pointType"
          placeholder="请选择"
          clearable
          class="!w-240px"
        >
          <el-option
            v-for="dict in getStrDictOptions(DICT_TYPE.DATA_POINT_TYPE)"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="测点Tag" prop="tagNo">
        <el-input
          v-model="queryParams.tagNo"
@@ -34,6 +49,21 @@
          @keyup.enter="handleQuery"
          class="!w-200px"
        />
      </el-form-item>
      <el-form-item label="采集质量" prop="collectQuality">
        <el-select
          v-model="queryParams.collectQuality"
          placeholder="请选择"
          clearable
          class="!w-240px"
        >
          <el-option
            v-for="dict in getStrDictOptions(DICT_TYPE.DATA_QUALITY)"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
          />
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button @click="handleQuery">
@@ -116,8 +146,7 @@
      <el-table-column label="数据源类型" align="center" prop="sourceType" min-width="100"/>
      <el-table-column label="数据源名称" align="center" prop="sourceName" min-width="100"/>
      <el-table-column label="测点Tag" header-align="center" align="left" prop="tagNo" min-width="150"/>
      <el-table-column label="采集值" header-align="center" align="center" prop="collectValue" min-width="150"/>
      <el-table-column label="采集质量" header-align="center" align="center" prop="collectQuality" min-width="150">
      <el-table-column label="采集质量" header-align="center" align="center" prop="collectQuality" width="100">
        <template #default="scope">
          <el-tag v-if="scope.row.collectQuality === 'Good'" size="small" type="success">{{scope.row.collectQuality}}</el-tag>
          <el-tag v-if="scope.row.collectQuality === 'Bad'" size="small" type="danger">{{scope.row.collectQuality}}</el-tag>
@@ -131,7 +160,7 @@
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" min-width="130" fixed="right" width="120">
      <el-table-column label="操作"  align="center" min-width="130" fixed="right" width="140">
        <template #default="scope">
          <el-button
            link
@@ -142,7 +171,7 @@
          >
            编辑
          </el-button>
          <el-button link size="mini" type="primary" @click="chartHandle(scope.row)">数据</el-button>
          <el-button link size="mini" type="primary" @click="chartHandle(scope.row)">历史值</el-button>
          <el-button
            link
            size="mini"
@@ -152,6 +181,7 @@
          >
            删除
          </el-button>
          <el-button link size="mini" type="primary" @click="pointValueHandle(scope.row)">当前值</el-button>
        </template>
      </el-table-column>
    </el-table>
@@ -167,19 +197,23 @@
  <!-- 表单弹窗:添加/修改 -->
  <DaPointForm ref="formRef" @success="getList" />
  <!-- 历史值 -->
  <DaPointChart ref="chartView" />
  <!-- 用户导入对话框 -->
  <!-- 当前值 -->
  <DaPointValue ref="pointValue" />
  <!-- 测点导入对话框 -->
  <PointImportForm ref="importFormRef" @success="getList" />
</template>
<script lang="ts" setup>
import * as DaPoint from '@/api/data/da/point'
import {ref, reactive} from "vue";
import download from "@/utils/download";
import {DICT_TYPE, getDictOptions} from "@/utils/dict";
import {DICT_TYPE, getDictOptions, getIntDictOptions, getStrDictOptions} from "@/utils/dict";
import DaPointForm from './DaPointForm.vue'
import DaPointChart from './DaPointChart.vue'
import * as UserApi from "@/api/system/user";
import DaPointValue from './DaPointValue.vue'
import PointImportForm from './PointImportForm.vue'
defineOptions({name: 'DataPoint'})
@@ -195,7 +229,9 @@
    pageSize: 10,
    pointNo: undefined,
    pointName: undefined,
    pointType: undefined,
    tagNo: undefined,
    collectQuality: undefined,
  })
  const queryFormRef = ref() // 搜索的表单
@@ -217,11 +253,17 @@
    getList()
  }
  /** 查看数据操作 */
  /** 查看历史值操作 */
  const chartView  = ref()
  const chartHandle = (raw: object) => {
    chartView.value.open(raw)
  }
/** 查看当前值操作 */
const pointValue  = ref()
const pointValueHandle = (raw: object) => {
  pointValue.value.open(raw)
}
  /** 重置按钮操作 */
  const resetQuery = () => {
@@ -280,9 +322,8 @@
    let ids = dataListSelections.map(item => {
      return item.id
    })
    // 启用的二次确认
    await message.enableConfirm(ids)
    // 二次确认
    await message.confirm('确认要开启所选测点?')
    await DaPoint.enable(ids)
    message.success(t('common.enableSuccess'))
    await getList()
@@ -292,9 +333,8 @@
    let ids = dataListSelections.map(item => {
      return item.id
    })
    // 启用的二次确认
    await message.disableConfirm(ids,)
    // 二次确认
    await message.confirm('确认要禁用所选测点?')
    await DaPoint.disable(ids)
    message.success(t('common.disableSuccess'))
    await getList()