departmentRankOld.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <script setup lang="ts">
  2. defineOptions({
  3. name: "departmentRank"
  4. });
  5. import rankTableDraw from "@/components/rankTable/index.vue";
  6. import seachData from "./componements/seach.vue";
  7. import { getChartsList } from "@/api/draw";
  8. import { ref, nextTick } from "vue";
  9. const rankTableRef = ref();
  10. const seachParams = ref();
  11. const lengthData = ref(0);
  12. const getPersonDimensionChartsListApi = async () => {
  13. const { code, data } = await getChartsList({
  14. ...seachParams.value,
  15. type: 1
  16. });
  17. if (code == 200) {
  18. if (data.length > 0) {
  19. lengthData.value = data.length;
  20. setTimeout(() => {
  21. nextTick(() => {
  22. rankTableRef.value.init(data, "科室", "姓名");
  23. });
  24. }, 500);
  25. }
  26. }
  27. };
  28. const init = (item, type) => {
  29. seachParams.value = item;
  30. if (Number(type)) {
  31. getPersonDimensionChartsListApi();
  32. }
  33. };
  34. </script>
  35. <template>
  36. <div class="w-full">
  37. <div class="mb-2 flex gap-2 justify-between flex-wrap">
  38. <seachData @handClick="init" />
  39. </div>
  40. <rankTableDraw v-if="lengthData > 0" ref="rankTableRef" />
  41. </div>
  42. </template>