index.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <script setup>
  2. import { ref, onMounted } from 'vue';
  3. import request from "@/utils/request.js";
  4. import { ElMessage, ElTable, ElTableColumn, ElPagination } from "element-plus";
  5. import {useRouter} from "vue-router";
  6. const tableData = ref([]);
  7. const total = ref(0);
  8. const currentPage = ref(1);
  9. const pageSize = ref(10);
  10. const router = useRouter();
  11. const getList = async (page = 1, size = 10) => {
  12. try {
  13. const res = await request('basicData/xcrEBaseinfo/getCreditScoreListDetails', {
  14. params: {
  15. pageNum: page,
  16. pageSize: size,
  17. }
  18. });
  19. if (res.code !== 200) {
  20. ElMessage.error(res.msg);
  21. return;
  22. }
  23. tableData.value = res.data.result;
  24. total.value = res.data.totalSize;
  25. } catch (error) {
  26. ElMessage.error('获取数据失败');
  27. console.error(error);
  28. }
  29. };
  30. const handleSizeChange = (val) => {
  31. pageSize.value = val;
  32. getList(currentPage.value, val);
  33. };
  34. const handleCurrentChange = (val) => {
  35. currentPage.value = val;
  36. getList(val, pageSize.value);
  37. };
  38. const checkDetail = (row)=>{
  39. router.push({
  40. path:'/qyxypj/zxxddf',
  41. query:{
  42. row:JSON.stringify(row)
  43. }
  44. })
  45. }
  46. onMounted(() => {
  47. getList();
  48. });
  49. </script>
  50. <template>
  51. <div class="p-4">
  52. <el-table :data="tableData" border stripe hover class="w-full">
  53. <el-table-column prop="enterpriseName" label="企业名称">
  54. <template #default="scope">
  55. <el-link class="text-blue" @click="checkDetail(scope.row)">{{ scope.row.enterpriseName }}</el-link>
  56. </template>
  57. </el-table-column>
  58. <el-table-column prop="uniCode" label="统一社会信用代码" />
  59. <el-table-column prop="grade" label="等级" width="150" />
  60. <el-table-column prop="total" label="总分" width="150">
  61. <template #default="scope">
  62. {{ scope.row.total.toFixed(2) }}
  63. </template>
  64. </el-table-column>
  65. <el-table-column prop="administrativePenaltyScore" label="行政处罚分数" width="150" />
  66. <el-table-column prop="enterpriseCompetitivenessScore" label="企业竞争力分数" />
  67. <el-table-column prop="referenceCreditRatingScore" label="参考信用评级分数" />
  68. </el-table>
  69. <div class="flex justify-center mt-4">
  70. <el-pagination
  71. v-model:current-page="currentPage"
  72. v-model:page-size="pageSize"
  73. :page-sizes="[10, 20, 50, 100]"
  74. layout="total, sizes, prev, pager, next, jumper"
  75. :total="total"
  76. @size-change="handleSizeChange"
  77. @current-change="handleCurrentChange"
  78. />
  79. </div>
  80. </div>
  81. </template>