index.vue 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <div class="project">
  3. <MenuPage cur-key="project" />
  4. <div class="project-list">
  5. <el-table :data="list">
  6. <el-table-column label="序号" width="80" header-align="center" align="center" class-name="index-column">
  7. <template slot-scope="{ $index }">
  8. {{ cur_page_begin_index + $index }}
  9. </template>
  10. </el-table-column>
  11. <el-table-column prop="sn" label="编号" width="140" header-align="center" />
  12. <el-table-column prop="name" label="名称" width="240" header-align="center" />
  13. <el-table-column prop="create_time" label="创建时间" width="180" header-align="center" />
  14. <el-table-column prop="leader_name_desc" label="项目组长" width="260" header-align="center" />
  15. <el-table-column prop="member_name_desc" label="项目成员" header-align="center" />
  16. <el-table-column label="操作" fixed="right" width="260" header-align="center">
  17. <template slot-scope="{ row }">
  18. <span class="link" @click="projectInfoManage(row.id, true)">项目信息管理</span>
  19. <span class="link" @click="productionEditorialManage(row.id)">制作与审校管理</span>
  20. <span class="link danger">删除</span>
  21. </template>
  22. </el-table-column>
  23. </el-table>
  24. <PaginationPage ref="pagination" :total="total" @getList="queryMyProjectList_Leader" />
  25. </div>
  26. </div>
  27. </template>
  28. <script>
  29. import MenuPage from '../common/menu.vue';
  30. import PaginationPage from '@/components/PaginationPage.vue';
  31. import { PageQueryMyProjectList_Leader } from '@/api/list.js';
  32. export default {
  33. name: 'ProjectPage',
  34. components: {
  35. MenuPage,
  36. PaginationPage,
  37. },
  38. data() {
  39. return {
  40. list: [],
  41. total: 0,
  42. cur_page_begin_index: 0,
  43. };
  44. },
  45. methods: {
  46. queryMyProjectList_Leader(data) {
  47. PageQueryMyProjectList_Leader(data).then(({ total_count, cur_page_begin_index, project_list }) => {
  48. this.total = total_count;
  49. this.list = project_list;
  50. this.cur_page_begin_index = cur_page_begin_index;
  51. });
  52. },
  53. /**
  54. * 项目信息管理或查看
  55. * @param {string} id - 项目ID
  56. * @param {boolean} isManage - 是否为管理模式
  57. */
  58. projectInfoManage(id, isManage = false) {
  59. this.$router.push({ path: `/personal_workbench/project_info/${id}`, query: { isManage } });
  60. },
  61. /**
  62. * 制作与审校管理
  63. * @param {string} id - 项目ID
  64. */
  65. productionEditorialManage(id) {
  66. this.$router.push({ path: `/personal_workbench/production_editorial/${id}` });
  67. },
  68. },
  69. };
  70. </script>
  71. <style lang="scss" scoped>
  72. @use '@/styles/mixin.scss' as *;
  73. .project {
  74. @include page-base;
  75. @include table-list;
  76. }
  77. </style>