left_bar.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <div>
  3. <el-card
  4. shadow="hover"
  5. class="top full-height flex flex-col hide-scrollbar"
  6. style="overflow-y: auto"
  7. >
  8. <div class="flex flex-col flex-center mt-15 padding">
  9. <span class="font-15 bold mb-10">{{ data.name }}</span>
  10. <span class="font-15 bold mt-5" style="color: #787c90"
  11. >项目总投资额</span
  12. >
  13. <span class="mt-5 font-15 bold main-color"
  14. >{{
  15. data.totalAmount ? data.totalAmount.toLocaleString() : '-'
  16. }}万元</span
  17. >
  18. <main-button :width="200" type="0" @click="proInfo" />
  19. <el-divider></el-divider>
  20. <div class="flex flex-center flex-justify-between full-width">
  21. <span class="title ml-20">项目阶段-文件管理</span>
  22. <span class="title mr-20 pointer" @click="record">授权记录</span>
  23. </div>
  24. </div>
  25. <div style="margin-left: 30px">
  26. <el-empty v-if="stage && stage.length === 0"></el-empty>
  27. <basic-step
  28. v-else
  29. style="margin-top: 20px"
  30. :active="active"
  31. :steps="stage"
  32. />
  33. </div>
  34. </el-card>
  35. </div>
  36. </template>
  37. <script>
  38. import mainButton from '../../../components/main-button.vue'
  39. import basicStep from '@/components/basic-step/index.vue'
  40. export default {
  41. name: 'left_bar',
  42. components: { mainButton, basicStep },
  43. props: {
  44. data: Object,
  45. stage: Array,
  46. active: {
  47. type: Number,
  48. default: -1
  49. }
  50. },
  51. watch: {
  52. active: {
  53. handler(val) {
  54. // this.change(0)
  55. },
  56. immediate: true
  57. }
  58. },
  59. data() {
  60. return {
  61. height: 0
  62. }
  63. },
  64. created() {},
  65. methods: {
  66. proInfo() {
  67. this.$emit('typeChange')
  68. },
  69. record() {
  70. this.$emit('typeChange1')
  71. }
  72. }
  73. }
  74. </script>
  75. <style lang="scss" scoped>
  76. .top {
  77. width: 300px;
  78. position: sticky;
  79. background-color: white;
  80. height: calc(100vh - 100px);
  81. }
  82. .down {
  83. width: 300px;
  84. position: fixed;
  85. bottom: 0;
  86. padding-bottom: 20px;
  87. background-color: #faf9fa;
  88. }
  89. .tip {
  90. border-radius: 10px;
  91. background-color: #f4f4f1;
  92. height: 75px;
  93. width: 240px;
  94. }
  95. .middle {
  96. width: 270px;
  97. position: fixed;
  98. bottom: 175px;
  99. top: 280px;
  100. padding-left: 30px;
  101. background-color: #faf9fa;
  102. }
  103. .title {
  104. color: #ecab56;
  105. font-size: 16px;
  106. font-weight: 500;
  107. }
  108. </style>