index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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="60" 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="340" header-align="center">
  17. <template slot-scope="{ row }">
  18. <span class="link" @click="projectInfoManage(row.id, true)">项目信息管理</span>
  19. <span class="link" @click="productionResourceManage(row.id)">项目资源管理</span>
  20. <span class="link" @click="productionEditorialManage(row.id)">制作与审校管理</span>
  21. <span class="link danger">删除</span>
  22. </template>
  23. </el-table-column>
  24. </el-table>
  25. <PaginationPage ref="pagination" :total="total" @getList="queryMyProjectList_Leader" />
  26. </div>
  27. </div>
  28. </template>
  29. <script>
  30. import MenuPage from '../common/menu.vue';
  31. import PaginationPage from '@/components/PaginationPage.vue';
  32. import { PageQueryMyProjectList_Leader } from '@/api/list.js';
  33. export default {
  34. name: 'ProjectPage',
  35. components: {
  36. MenuPage,
  37. PaginationPage,
  38. },
  39. data() {
  40. return {
  41. list: [],
  42. total: 0,
  43. cur_page_begin_index: 0,
  44. };
  45. },
  46. methods: {
  47. queryMyProjectList_Leader(data) {
  48. PageQueryMyProjectList_Leader(data).then(({ total_count, cur_page_begin_index, project_list }) => {
  49. this.total = total_count;
  50. this.list = project_list;
  51. this.cur_page_begin_index = cur_page_begin_index;
  52. });
  53. },
  54. /**
  55. * 项目信息管理或查看
  56. * @param {string} id - 项目ID
  57. * @param {boolean} isManage - 是否为管理模式
  58. */
  59. projectInfoManage(id, isManage = false) {
  60. this.$router.push({ path: `/personal_workbench/project_info/${id}`, query: { isManage } });
  61. },
  62. /**
  63. * 制作与审校管理
  64. * @param {string} id - 项目ID
  65. */
  66. productionEditorialManage(id) {
  67. this.$router.push({ path: `/personal_workbench/production_editorial/${id}` });
  68. },
  69. /**
  70. * 项目资源管理
  71. * @param {string} id - 项目ID
  72. */
  73. productionResourceManage(id) {
  74. this.$router.push({ path: `/personal_workbench/production_resource/${id}` });
  75. },
  76. },
  77. };
  78. </script>
  79. <style lang="scss" scoped>
  80. @use '@/styles/mixin.scss' as *;
  81. .project {
  82. @include page-base;
  83. @include table-list;
  84. }
  85. </style>