iam-my-project.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <template>
  2. <a-tabs ref="tabs" :class="[$style.myProject, 'sd-has-table']">
  3. <template>
  4. <span slot="tabBarExtraContent" :class="$style.morebtn" @click="mored">查看更多 ></span>
  5. </template>
  6. <a-tab-pane key="myProject" :class="$style.panel">
  7. <span slot="tab">
  8. <div :class="$style.bluePoint"></div> 我的项目<span
  9. v-show="shownum"
  10. :class="$style.projectNums"
  11. >{{ projectNums }}</span
  12. >
  13. </span>
  14. <my-project-list ref="myProject" list-type="myProject" @setProjectNums="setProjectNums" />
  15. </a-tab-pane>
  16. </a-tabs>
  17. </template>
  18. <script>
  19. import storeMixin from '@/common/store-mixin'
  20. import MyProjectList from './my-project-list.vue'
  21. import components from './_import-components/iam-my-project-import'
  22. export default {
  23. name: 'IamMyProject',
  24. metaInfo: {
  25. title: '我的项目',
  26. },
  27. components: {
  28. ...components,
  29. 'my-project-list': MyProjectList,
  30. },
  31. mixins: [storeMixin],
  32. data() {
  33. return {
  34. type: 'myProject',
  35. projectNums: 0,
  36. shownum: false,
  37. }
  38. },
  39. methods: {
  40. mored(type) {
  41. this.$router.push(`/sd-frame/audit-project-list`)
  42. },
  43. setProjectNums(num) {
  44. this.projectNums = num
  45. this.shownum = true
  46. },
  47. },
  48. }
  49. </script>
  50. <style module lang="scss">
  51. @use '@/common/design' as *;
  52. .morebtn {
  53. font-size: 14px;
  54. cursor: pointer;
  55. }
  56. .syncbtn {
  57. margin-right: 10px;
  58. cursor: pointer;
  59. }
  60. .item {
  61. .body > div {
  62. border: 1px solid #eee;
  63. padding: 0.5rem 0;
  64. }
  65. }
  66. .my-project {
  67. background: transparent;
  68. :global(.ant-tabs-tab-active) {
  69. color: #000000 !important;
  70. font-weight: 600 !important;
  71. span {
  72. padding-left: 5px;
  73. }
  74. }
  75. :global(.ant-tabs-ink-bar-animated) {
  76. display: none !important;
  77. }
  78. :global(.ant-tabs-bar) {
  79. border: none !important;
  80. }
  81. }
  82. .blue-point {
  83. background: #2775e2;
  84. width: 5px;
  85. height: 20px;
  86. position: absolute;
  87. border-radius: 5px;
  88. left: 0px;
  89. top: 9px;
  90. }
  91. .project-nums {
  92. background: #efefef;
  93. width: 35px;
  94. display: inline-block;
  95. border-radius: 15px;
  96. font-size: 10px;
  97. text-align: center;
  98. padding: 0 !important;
  99. margin-left: 7px;
  100. }
  101. </style>