index.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <script setup>
  2. import {useRoute} from "vue-router";
  3. import {getMostDetailByUniCode} from "@/api/basicData/mostdetail";
  4. import {onMounted, ref} from "vue";
  5. import {fieldMap} from "@/views/CEEnterprise/qydfmx/map";
  6. import * as echarts from 'echarts';
  7. const chartsRef = ref(null);
  8. let route = useRoute();
  9. const data = ref(new Map);
  10. const tempData1 = ref([]);
  11. const tempData2 = ref([]);
  12. const tempData3 = ref([]);
  13. const tempData4 = ref([]);
  14. const tempData5 = ref([]);
  15. const tempData6 = ref([]);
  16. const tableData1 = ref([]);
  17. const tableData2 = ref([]);
  18. const tableData3 = ref([]);
  19. const tableData4 = ref([]);
  20. const tableData5 = ref([]);
  21. const tableData6 = ref([]);
  22. const sum1 = ref(0);
  23. const sum2 = ref(0);
  24. const sum3 = ref(10);
  25. const sum4 = ref(20);
  26. const sum5 = ref(20);
  27. const sum6 = ref(0);
  28. const init = async ()=>{
  29. const res = await getMostDetailByUniCode(route.query.unifiedSocialCreditCode);
  30. if(res.code == 200){
  31. for (const resKey in res.data) {
  32. data.value.set(fieldMap[resKey],res.data[resKey]);
  33. }
  34. }
  35. let count = 0;
  36. for (const entry of data.value) {
  37. if(count<=17){
  38. tempData1.value.push(entry);
  39. count++
  40. }else if (count<=29){
  41. tempData2.value.push(entry);
  42. count++
  43. }else if(count<=34){
  44. tempData3.value.push(entry);
  45. count++
  46. }else if (count<=74){
  47. tempData4.value.push(entry);
  48. count++
  49. }else if (count<=83){
  50. tempData5.value.push(entry);
  51. count++
  52. }else if (count<=91){
  53. tempData6.value.push(entry);
  54. count++
  55. }else {
  56. break;
  57. }
  58. }
  59. setTableDataValueAndSum(tableData1,tempData1,sum1);
  60. setTableDataValueAndSum(tableData2,tempData2,sum2);
  61. setTableDataValueAndSum(tableData3,tempData3,sum3);
  62. setTableDataValueAndSum(tableData4,tempData4,sum4);
  63. setTableDataValueAndSum(tableData5,tempData5,sum5);
  64. setTableDataValueAndSum(tableData6,tempData6,sum6);
  65. }
  66. const setTableDataValueAndSum = (tableData,tempData,sum)=>{
  67. tableData.value = tempData.value.reduce((acc, cur) => {
  68. acc[0][cur[0]] = cur[1];
  69. return acc;
  70. },[{}])
  71. for (const k in tableData.value[0]) {
  72. sum.value+=tableData.value[0][k];
  73. }
  74. }
  75. init()
  76. // onMounted(()=>{
  77. // console.log(chartsRef.value);
  78. //
  79. // const chartDom = chartsRef.value;
  80. // const myChart = echarts.init(chartDom);
  81. // let option;
  82. //
  83. // option = {
  84. // tooltip: {
  85. // formatter: '{a} <br/>{b} : {c}%'
  86. // },
  87. // series: [
  88. // {
  89. // name: '得分',
  90. // type: 'gauge',
  91. // progress: {
  92. // show: true
  93. // },
  94. // detail: {
  95. // valueAnimation: true,
  96. // formatter: '{value}'
  97. // },
  98. // data: [
  99. // {
  100. // value: route.query.total,
  101. // name: route.query.grade,
  102. // }
  103. // ]
  104. // }
  105. // ]
  106. // };
  107. //
  108. // option && myChart.setOption(option);
  109. // })
  110. </script>
  111. <template>
  112. <div>
  113. <div>企业名称:{{route.query.enterpriseName}}</div>
  114. <div>当前查询的社会统一信用代码:{{route.query.unifiedSocialCreditCode}}</div>
  115. <div>信用等级为:{{route.query.grade}}</div>
  116. <!-- <div ref="chartsRef" style="width: 400px;height: 400px"></div>-->
  117. <div>总分为:{{route.query.total}}</div>
  118. <el-table :data="tableData1" style="width: 100%">
  119. <el-table-column :label="'企业竞争力得分详细(满分30分)此项得分为:'+sum1.toFixed(2)">
  120. <el-table-column width="150" v-for="(item,index) in tempData1" :key="index" :label="item[0]">
  121. <template #default="scope">
  122. {{scope.row[item[0]]}}
  123. </template>
  124. </el-table-column>
  125. </el-table-column>
  126. </el-table>
  127. <el-table :data="tableData2" style="width: 100%">
  128. <el-table-column :label="'财务得分详细(满分10分)此项得分为:'+(sum2<=4?4:sum2).toFixed(2)">
  129. <el-table-column width="150" v-for="(item,index) in tempData2" :key="index" :label="item[0]">
  130. <template #default="scope">
  131. {{scope.row[item[0]]}}
  132. </template>
  133. </el-table-column>
  134. </el-table-column>
  135. </el-table>
  136. <el-table :data="tableData3" style="width: 100%">
  137. <el-table-column :label="'司法裁判得分详细(满分10分)此项得分为:'+sum3.toFixed(2)">
  138. <el-table-column width="150" v-for="(item,index) in tempData3" :key="index" :label="item[0]">
  139. <template #default="scope">
  140. {{scope.row[item[0]]?scope.row[item[0]]:0}}
  141. </template>
  142. </el-table-column>
  143. </el-table-column>
  144. </el-table>
  145. <el-table :data="tableData4" style="width: 100%">
  146. <el-table-column :label="'行政处罚得分详细(满分20分)此项得分为:'+sum4.toFixed(2)">
  147. <el-table-column width="150" v-for="(item,index) in tempData4" :key="index" :label="item[0]">
  148. <template #default="scope">
  149. {{scope.row[item[0]]}}
  150. </template>
  151. </el-table-column>
  152. </el-table-column>
  153. </el-table>
  154. <el-table :data="tableData5" style="width: 100%">
  155. <el-table-column :label="'行政监管、践诺履约得分详细(满分20分)此项得分为:'+sum5.toFixed(2)">
  156. <el-table-column width="150" v-for="(item,index) in tempData5" :key="index" :label="item[0]">
  157. <template #default="scope">
  158. {{scope.row[item[0]]}}
  159. </template>
  160. </el-table-column>
  161. </el-table-column>
  162. </el-table>
  163. <el-table :data="tableData6" style="width: 100%">
  164. <el-table-column :label="'参考信用评价得分详细(满分10分)此项得分为:'+sum6.toFixed(2)">
  165. <el-table-column width="150" v-for="(item,index) in tempData6" :key="index" :label="item[0]">
  166. <template #default="scope">
  167. {{scope.row[item[0]]}}
  168. </template>
  169. </el-table-column>
  170. </el-table-column>
  171. </el-table>
  172. </div>
  173. </template>
  174. <style scoped lang="scss">
  175. </style>