auth.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <view class="content">
  3. <view class="title"> 审核列表 </view>
  4. <view class="list">
  5. <view
  6. class="project"
  7. v-for="project in projectList"
  8. :key="project.id"
  9. @click="onClickProject(project)"
  10. >
  11. {{ `${project.project_name}(${project.project_full_code})` }}
  12. </view>
  13. <view class="loadmore">{{ loadMoreText }}</view>
  14. </view>
  15. </view>
  16. </template>
  17. <script>
  18. import { queryAuth } from "@/services/project";
  19. import { mapState } from "vuex";
  20. import mixin from "@/utils/listMixin";
  21. export default {
  22. mixins: [mixin],
  23. computed: {
  24. ...mapState(["currentProject"]),
  25. },
  26. data() {
  27. return {
  28. checkself: [],
  29. projectList: [],
  30. self: [{ text: "只看自己", value: 0 }],
  31. };
  32. },
  33. onShow() {
  34. this.initData();
  35. },
  36. methods: {
  37. async getProject(params) {
  38. let res = {};
  39. res = await queryAuth(params);
  40. this.pagination.currentPage == 1
  41. ? (this.projectList = res.data.list)
  42. : (this.projectList = this.projectList.concat(res.data.list));
  43. return res.data;
  44. },
  45. async onClickProject(project) {
  46. await this.$store.commit("setCurrentProject", project);
  47. uni.navigateTo({
  48. url: `./detail?id=${project.id}&auth=${true}`,
  49. });
  50. },
  51. },
  52. };
  53. </script>
  54. <style lang="less" scoped>
  55. .content {
  56. display: flex;
  57. justify-content: center;
  58. flex-wrap: wrap;
  59. }
  60. .title {
  61. width: 100%;
  62. padding: 0 20px 20px 20px;
  63. position: fixed;
  64. background: #f8f8f8;
  65. font: 24px bold;
  66. }
  67. .list {
  68. width: 90%;
  69. margin-top: 60px;
  70. border-top: 2px solid gray;
  71. }
  72. .project {
  73. border-bottom: 2px solid gray;
  74. padding: 20px 0px;
  75. font-size: 18px;
  76. }
  77. .loadmore {
  78. padding: 20px 0px;
  79. font-size: 18px;
  80. color: gray;
  81. text-align: center;
  82. }
  83. </style>