TaskList.vue 1.2 KB

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