useAlgoData.ts 959 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { ref } from 'vue';
  2. import { defineStore } from 'pinia';
  3. import { queryAlgoInfoPage, AlgoDetail } from '@/api/algo/algo';
  4. export const useAlgoDataStore = defineStore('algoData', () => {
  5. const page = ref(1);
  6. const pageSize = ref(12);
  7. const total = ref(0);
  8. const keyWord = ref('');
  9. const algoList = ref<AlgoDetail[]>();
  10. // 当前选中行数据
  11. const curRow = ref<AlgoDetail>();
  12. const getAlgoDatas = () => {
  13. return queryAlgoInfoPage({
  14. pageNumber: page.value,
  15. pageSize: pageSize.value,
  16. queryParam: { name: keyWord.value },
  17. }).then((res) => {
  18. algoList.value = res.records;
  19. total.value = res.totalRow;
  20. });
  21. };
  22. const updateCurRow = async (row: AlgoDetail) => {
  23. await getAlgoDatas();
  24. curRow.value = algoList.value?.find((item) => item.id === row.id);
  25. };
  26. return {
  27. keyWord,
  28. page,
  29. pageSize,
  30. total,
  31. curRow,
  32. algoList,
  33. getAlgoDatas,
  34. updateCurRow,
  35. };
  36. });