historyAnalyse.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <el-row :gutter="20">
  3. <el-col :span="24">
  4. <el-input v-model="params.metricsName" placeholder="请输入指标名称" style="width: 200px;margin-right: 10px" size="small"/>
  5. <el-input v-model="params.objName" placeholder="请输入对象名称" style="width: 200px;margin-right: 10px" size="small" />
  6. <el-button type="primary" icon="Search" @click="getAnalysis" size="small">搜索</el-button>
  7. </el-col>
  8. </el-row>
  9. <el-table v-loading="loading" :data="analysisList" border width="100%" size="small" style="margin-top:10px">
  10. <el-table-column label="#" type="index" width="80" align="center"/>
  11. <el-table-column label="指标名称" prop="metricsName"/>
  12. <el-table-column label="运行业务对象" prop="objName"/>
  13. <el-table-column label="分析时间" prop="analyseTime"/>
  14. <el-table-column label="分析结果">
  15. <template #default="scope">
  16. <el-tag v-if="scope.row.result=='趋势恶化'" type="danger">{{scope.row.result}}</el-tag>
  17. <el-tag v-else >{{scope.row.result}}</el-tag>
  18. </template>
  19. </el-table-column>
  20. <el-table-column label="操作" width="100">
  21. <template #default="scope">
  22. <el-button type="primary" link @click="checkAnalyse(scope.row)">查看</el-button>
  23. </template>
  24. </el-table-column>
  25. </el-table>
  26. <pagination
  27. style="margin-top:10px"
  28. v-show="total>0"
  29. layout="prev, pager, next"
  30. :total="total"
  31. :background="false"
  32. v-model:page="params.pageNum"
  33. v-model:limit="params.pageSize"
  34. @pagination="getAnalysis"
  35. />
  36. <el-dialog v-model="visible" title="分析结果" width="800">
  37. <now-analyse :rows="rows"/>
  38. </el-dialog>
  39. </template>
  40. <script setup lang="ts">
  41. import {listAnalysis} from "@/api/risk/r3"
  42. import {onMounted} from "vue";
  43. import nowAnalyse from "./nowAnalyse.vue"
  44. const params = ref({
  45. riskType:1,
  46. metricsName:"",
  47. objName:"",
  48. pageNum:1,
  49. pageSize:10
  50. })
  51. const visible = ref(false)
  52. const analysisList = ref([])
  53. const total = ref(0)
  54. const loading = ref(true)
  55. const rows = ref({})
  56. onMounted(()=>{
  57. getAnalysis()
  58. })
  59. async function getAnalysis(){
  60. loading.value = true
  61. const res = await listAnalysis(params.value)
  62. analysisList.value = res.rows
  63. total.value = res.total
  64. loading.value = false
  65. }
  66. function checkAnalyse(row){
  67. rows.value = row
  68. visible.value = true
  69. }
  70. defineExpose({getAnalysis})
  71. </script>