software.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <template>
  2. <div id="index">
  3. <el-row>
  4. <el-col :span="24" class="style">
  5. <el-col :span="24" class="top">
  6. <top></top>
  7. </el-col>
  8. <el-col :span="24" class="menu">
  9. <div class="w_1200">
  10. <menus></menus>
  11. </div>
  12. </el-col>
  13. <el-col :span="24" class="main">
  14. <div class="w_1200">
  15. <el-col :span="5" class="left">
  16. <el-col :span="24" class="leftone">
  17. <seminar></seminar>
  18. </el-col>
  19. <el-col :span="24" class="lefttwo">
  20. <cooperation> </cooperation>
  21. </el-col>
  22. </el-col>
  23. <el-col :span="19" class="context">
  24. <el-col :span="18" class="right">
  25. <span v-if="displays == '0'">
  26. <el-col :span="24" class="one">
  27. <span></span>
  28. <span>{{ columnName }}</span>
  29. </el-col>
  30. <el-col :span="24" class="list">
  31. <softwareList :list="list" :total="total" @detailBtn="detailBtn"></softwareList>
  32. </el-col>
  33. </span>
  34. <span v-else>
  35. <softwareDetail :details="details"></softwareDetail>
  36. </span>
  37. </el-col>
  38. </el-col>
  39. </div>
  40. </el-col>
  41. <el-col :span="24" class="foot">
  42. <div class="w_1200">
  43. <foot></foot>
  44. </div>
  45. </el-col>
  46. </el-col>
  47. </el-row>
  48. </div>
  49. </template>
  50. <script>
  51. import top from '@/layout/common/top.vue';
  52. import menus from '@/layout/common/menus.vue';
  53. import foot from '@/layout/common/foot.vue';
  54. import seminar from '@/layout/achievement/seminar.vue';
  55. import softwareDetail from './parts/softwareDetail.vue';
  56. import softwareList from './parts/softwareList.vue';
  57. import cooperation from '@/layout/achievement/cooperation.vue';
  58. export default {
  59. name: 'index',
  60. props: {},
  61. components: { top, menus, foot, seminar, softwareList, cooperation, softwareDetail },
  62. data: () => ({
  63. displays: '0',
  64. columnName: '',
  65. total: 1,
  66. details: {},
  67. list: [
  68. {
  69. title: '新标题',
  70. date: '2020-02-02',
  71. },
  72. {
  73. title: '16条数据',
  74. date: '2020-02-02',
  75. },
  76. ],
  77. details: {
  78. title: '新信息标题',
  79. source: '信息部',
  80. date: '2020-02-02',
  81. content: '信息内容',
  82. },
  83. }),
  84. created() {
  85. this.search();
  86. },
  87. computed: {
  88. name() {
  89. return this.$route.query.name;
  90. },
  91. },
  92. methods: {
  93. async detailBtn() {
  94. this.$set(this, `displays`, 1);
  95. },
  96. async search() {
  97. this.$set(this, `columnName`, this.name);
  98. },
  99. },
  100. };
  101. </script>
  102. <style lang="less" scoped>
  103. .w_1200 {
  104. width: 1200px;
  105. margin: 0 auto;
  106. }
  107. .main {
  108. min-height: 670px;
  109. overflow: hidden;
  110. margin: 10px 0;
  111. .left {
  112. margin: 0 10px 0 0;
  113. .leftone {
  114. background: #fff;
  115. }
  116. .lefttwo {
  117. background-color: #fff;
  118. }
  119. }
  120. .right {
  121. width: 100%;
  122. min-height: 600px;
  123. background: #fff;
  124. padding: 0 20px;
  125. .one {
  126. height: 35px;
  127. margin: 20px 0;
  128. border-bottom: 1px dashed #ccc;
  129. span:first-child {
  130. display: inline-block;
  131. width: 4px;
  132. height: 20px;
  133. background: #005293;
  134. margin: 0 10px -3px 0;
  135. }
  136. span:nth-child(2) {
  137. font-size: 20px;
  138. color: #005293;
  139. font-weight: bold;
  140. }
  141. }
  142. }
  143. .context {
  144. width: 78%;
  145. min-height: 670px;
  146. background: #fff;
  147. }
  148. }
  149. </style>