historyHealth.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <template>
  2. <el-table v-loading="loading" :data="hsTimeData" border style="width: 100%">
  3. <el-table-column prop="hlScoreId" label="ID" width="80"/>
  4. <el-table-column prop="hlDate" label="评分时间" />
  5. <el-table-column prop="hlScore" label="健康度得分" />
  6. <el-table-column label="操作" width="120">
  7. <template #default="scope">
  8. <el-button type="primary" link icon="Document" @click="handleDetail(scope.row)">明细</el-button>
  9. </template>
  10. </el-table-column>
  11. </el-table>
  12. <pagination
  13. v-show="total>0"
  14. :total="total"
  15. v-model:page="queryParams.pageNum"
  16. v-model:limit="queryParams.pageSize"
  17. @pagination="getHlList"
  18. />
  19. <el-dialog v-model="visible" :title="timeTitle" width="1200">
  20. <time-detail :rowData="rowData" v-if="visible"/>
  21. </el-dialog>
  22. </template>
  23. <script setup lang="ts">
  24. import {hsTimeList} from "@/api/hl/hs"
  25. import {onMounted, reactive} from "vue";
  26. import timeDetail from "./widget/timeDetail.vue"
  27. const {proxy} = getCurrentInstance()
  28. const props = defineProps(['modelId'])
  29. const hsTimeData = ref([])
  30. const total = ref(0)
  31. const loading = ref(false)
  32. const timeTitle=ref('')
  33. const visible=ref(false)
  34. const rowData = ref({})
  35. const queryParams = reactive({
  36. pageNum:1,
  37. pageSize:10,
  38. modelId:props.modelId
  39. })
  40. onMounted(()=>{
  41. getHlList()
  42. })
  43. function handleDetail(row){
  44. timeTitle.value = row.hlDate + "明细"
  45. visible.value = true
  46. rowData.value = row
  47. }
  48. async function getHlList(){
  49. loading.value = true
  50. const res = await hsTimeList(queryParams)
  51. hsTimeData.value = res.rows
  52. total.value = res.total
  53. loading.value = false
  54. }
  55. </script>
  56. <style scoped lang="scss">
  57. </style>