TaskList.vue 1.2 KB

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