TaskList.vue 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <div class="table-container" id="taskListTable" style="padding: 5px">
  3. <GeneralTable
  4. :data="taskList"
  5. :loading="loading"
  6. @row-click="openDrawer"
  7. />
  8. </div>
  9. <RequriementDrawer
  10. ref="drawer"
  11. v-bind="requirementInDrawer"
  12. :commits="commits"
  13. @requirement-update="fetch"
  14. :showSons="false"
  15. ></RequriementDrawer>
  16. </template>
  17. <script>
  18. import { RequirementAPI } from '@/api';
  19. import GeneralTable from '@/components/GeneralTable.vue';
  20. import RequriementDrawer from '@/components/RequirementDrawer.vue';
  21. export default {
  22. components: { GeneralTable, RequriementDrawer },
  23. data() {
  24. return {
  25. loading: false,
  26. taskList: [],
  27. requirementInDrawer: {},
  28. stateOptions: [{ value: '已完成' }, { value: '进行中' }, { value: '已创建' }],
  29. priorityOptions: [{ value: 0, label: '紧急' }, { value: 1, label: '宽松' }, { value: 2, label: '一般' }],
  30. commits: [],
  31. };
  32. },
  33. mounted() {
  34. this.fetch();
  35. },
  36. methods: {
  37. async fetch() {
  38. this.loading = true;
  39. this.taskList = await RequirementAPI.getTasksByProjectId(this.$store.state.workspace.currentProjectId);
  40. this.loading = false;
  41. },
  42. async openDrawer(row) {
  43. this.requirementInDrawer = row;
  44. this.commits = await RequirementAPI.getTaskRecordCommitHistory(row.id);
  45. this.$refs.drawer.show();
  46. },
  47. },
  48. };
  49. </script>
  50. <style scoped>
  51. .table-container {
  52. margin: 50px 100px;
  53. }
  54. </style>