烟花爆竹批发企业仓库安全风险监测前端
zhouwx
2025-04-15 f2593d3cf80998a831d07cc94ac49e4f51b04429
src/views/firework/humiture/components/dataDialog.vue
@@ -10,17 +10,30 @@
    >
      <el-table v-loading="loading" :data="state.tableList" :border="true">
        <el-table-column label="序号" type="index" align="center" width="80" />
        <el-table-column label="探测器" prop="createTime" align="center"  />
        <el-table-column label="浓度值" prop="basicName" align="center" />
        <el-table-column label="状态" prop="tabooBasicName" align="center" />
        <el-table-column label="属性" prop="tabooBasicName" align="center" />
        <el-table-column label="时间" prop="updateBy" align="center" />
        <el-table-column label="探测器" prop="deviceName" align="center"  />
        <el-table-column label="浓度值" prop="realValue" align="center" >
          <template #default="scope">
            <div>{{scope.row.realValue}}<span v-if="state.type == '温度'">℃</span><span v-else>%RH</span></div>
          </template>
        </el-table-column>
        <el-table-column label="状态" prop="deviceWarning" align="center" >
          <template #default="scope">
            <span v-if="scope.row.deviceWarning == 0" style="color: #42b983">正常</span>
            <span v-else style="color: #ed5565">报警</span>
          </template>
        </el-table-column>
        <el-table-column label="属性"  align="center" >
          <template #default="scope">
            <span>{{state.type}}</span>
          </template>
        </el-table-column>
        <el-table-column label="时间" prop="createDate" align="center" width="120" />
      </el-table>
      <pagination
          v-show="total > 0"
          :total="total"
          v-model:page="queryParams.pageNum"
          v-model:page="queryParams.pageIndex"
          v-model:limit="queryParams.pageSize"
          @pagination="getList"
      />
@@ -29,33 +42,53 @@
</template>
<script setup>
import {reactive, ref, toRefs} from "vue";
import {getHumidity, getTemperature} from "@/api/company/warehouse";
const dialogVisible = ref(false);
const emit = defineEmits(["getList"]);
const loading = ref(false)
const state = reactive({
  type: '',
  tableList: [],
  total: 0,
  queryParams: {
    pageNum: 1,
    pageSize: 5,
    pageIndex: 1,
    pageSize: 10,
    filter: {
      deviceId: null
    }
  },
})
const { queryParams, total } = toRefs(state);
const openDialog = async (type,value) => {
  state.type = type
  state.queryParams.filter.deviceId = value.deviceId
  await getList()
  dialogVisible.value = true;
}
const getList = async () => {
  // loading.value = true
  // const res = await getAvoidInfoPage(state.queryParams)
  // if(res.code == 200){
  //   state.tableList = res.data.list
  //   state.total = res.data.total
  // }else{
  //   ElMessage.warning(res.message)
  // }
  // loading.value = false
  loading.value = true
  if(state.type == '湿度'){
    const res = await getHumidity(state.queryParams)
    if(res.code == 200){
      state.tableList = res.result.records
      state.total = res.result.total
    }else{
      ElMessage.warning(res.message)
    }
    loading.value = false
  }else {
    const res = await getTemperature(state.queryParams)
    if(res.code == 200){
      state.tableList = res.result.records
      state.total = res.result.total
    }else{
      ElMessage.warning(res.message)
    }
    loading.value = false
  }
}
const handleClose = () => {
  dialogVisible.value = false;