list.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <template>
  2. <div id="list">
  3. <el-row>
  4. <div class="w_1200">
  5. <el-col :span="24" class="main">
  6. <el-col :span="4" class="menu">
  7. <el-image :src="squareImage"></el-image>
  8. <span class="topMenu">Menu</span>
  9. <!-- <el-col class="menuList" :span="24" v-for="(item, index) in menuList" :key="index">
  10. <p @click="changeMenu(item.name, index)" :style="`color:${menuIndex == index ? menuColor : ''}`">{{ item.name }}</p>
  11. </el-col> -->
  12. <el-col :span="24">
  13. <el-collapse v-model="activeNames" accordion>
  14. <el-collapse-item name="1">
  15. <template slot="title">本地服务</template>
  16. <el-col class="menuList" :span="24" v-for="(item, index) in menuList" :key="index">
  17. <p @click="changeMenu(item.name, index)" :style="`color:${menuIndex == index ? menuColor : ''}`">
  18. <i :class="item.icon"></i>
  19. <span :style="`color:${menuIndex == index ? menuColor : ''}`"> {{ item.name }}</span>
  20. </p>
  21. </el-col>
  22. </el-collapse-item>
  23. <el-collapse-item name="2">
  24. <template slot="title">合作服务</template>
  25. <el-col class="menuList" :span="24" v-for="(item, index) in menuLists" :key="index">
  26. <p @click="changeMenus(item.name, index)" :style="`color:${menuIndexs == index ? menuColor : ''}`">
  27. <i :class="item.icon"></i>
  28. <span :style="`color:${menuIndexs == index ? menuColor : ''}`">{{ item.name }}</span>
  29. </p>
  30. </el-col>
  31. </el-collapse-item>
  32. </el-collapse>
  33. </el-col>
  34. </el-col>
  35. <el-col :span="19" class="info">
  36. <el-col :span="24" class="infoTop">
  37. <span>|</span> <span>{{ columnName }}</span>
  38. </el-col>
  39. <el-col :span="24" class="infoDown">
  40. <span v-if="columnName == '智慧推荐'">
  41. <wisdom></wisdom>
  42. </span>
  43. <span v-else-if="columnName == '展会管理'">
  44. <exhibition></exhibition>
  45. </span>
  46. <span v-else-if="columnName == '科技评估'">
  47. <assessment></assessment>
  48. </span>
  49. <span v-else-if="columnName == '合同在线'">
  50. <contract></contract>
  51. </span>
  52. <span v-else-if="columnName == '信用认证'">
  53. <credit></credit>
  54. </span>
  55. <span v-else-if="columnName == '绩效评价'">
  56. <achievements></achievements>
  57. </span>
  58. </el-col>
  59. </el-col>
  60. </el-col>
  61. </div>
  62. </el-row>
  63. </div>
  64. </template>
  65. <script>
  66. import wisdom from './detail/wisdom.vue';
  67. import exhibition from './detail/exhibition.vue';
  68. import assessment from './detail/assessment.vue';
  69. import contract from './detail/contract.vue';
  70. import credit from './detail/credit.vue';
  71. import achievements from './detail/achievements.vue';
  72. export default {
  73. name: 'list',
  74. props: {},
  75. components: {
  76. wisdom, //智慧推荐
  77. exhibition, //展会管理
  78. assessment, //科技评估
  79. contract, //合同在线
  80. credit, //信用认证
  81. achievements, //绩效评价
  82. },
  83. data: () => ({
  84. squareImage: require('@/assets/live/square_big.png'),
  85. activeNames: ['1'],
  86. menuList: [
  87. { icon: 'el-icon-trophy-1', name: '智慧推荐' },
  88. { icon: 'el-icon-pie-chart', name: '展会管理' },
  89. { icon: 'el-icon-news', name: '科技评估' },
  90. { icon: 'el-icon-guide', name: '合同在线' },
  91. { icon: 'el-icon-notebook-2', name: '信用认证' },
  92. { icon: 'el-icon-files', name: '绩效评价' },
  93. ],
  94. menuLists: [
  95. { icon: 'el-icon-trophy-1', name: '知识产权' },
  96. { icon: 'el-icon-football', name: '科技文献' },
  97. { icon: 'el-icon-bangzhu', name: '项目申报' },
  98. { icon: 'el-icon-aim', name: '科技金融' },
  99. { icon: 'el-icon-odometer', name: '科技孵化' },
  100. { icon: 'el-icon-coin', name: '成果登记' },
  101. { icon: 'el-icon-notebook-1', name: '技术合同' },
  102. { icon: 'el-icon-office-building', name: '高企认证' },
  103. ],
  104. menuColor: 'rgb(254, 149, 14)',
  105. backColor: 'rgb(204,204,204)',
  106. menuIndex: '0',
  107. menuIndexs: '0',
  108. columnName: '',
  109. }),
  110. created() {
  111. this.searchInfo();
  112. },
  113. computed: {
  114. column_name() {
  115. return this.$route.query.column_name;
  116. },
  117. },
  118. methods: {
  119. searchInfo() {
  120. if (this.column_name == '智慧推荐') this.changeMenu(this.$route.query.column_name, 0);
  121. if (this.column_name == '展会管理') this.changeMenu(this.$route.query.column_name, 1);
  122. if (this.column_name == '科技评估') this.changeMenu(this.$route.query.column_name, 2);
  123. if (this.column_name == '合同在线') this.changeMenu(this.$route.query.column_name, 3);
  124. if (this.column_name == '信用认证') this.changeMenu(this.$route.query.column_name, 4);
  125. if (this.column_name == '绩效评价') this.changeMenu(this.$route.query.column_name, 5);
  126. },
  127. changeMenu(name, index) {
  128. // this.menuIndex = index;
  129. // this.columnName = name;
  130. // this.menuColor = 'rgb(254, 149, 14)';
  131. if (index == 1) {
  132. this.menuIndex = index;
  133. this.columnName = name;
  134. this.menuColor = 'rgb(254, 149, 14)';
  135. } else {
  136. this.$message({
  137. message: '功能开发中',
  138. type: 'warning',
  139. });
  140. }
  141. },
  142. changeMenus(name, index) {
  143. // this.menuIndexs = index;
  144. // this.columnName = name;
  145. // this.menuColor = 'rgb(254, 149, 14)';
  146. this.$message({
  147. message: '功能开发中',
  148. type: 'warning',
  149. });
  150. },
  151. },
  152. };
  153. </script>
  154. <style lang="less" scoped>
  155. .w_1200 {
  156. width: 80%;
  157. margin: 0 auto;
  158. }
  159. .main {
  160. min-height: 900px;
  161. margin: 20px 0;
  162. }
  163. .menu {
  164. float: left;
  165. min-height: 900px;
  166. background: no-repeat bottom right;
  167. background-image: url(/img/menu_back.81f4b7e7.jpg);
  168. padding: 10px 0 0 10px;
  169. box-sizing: border-box;
  170. box-shadow: 0 0 10px #bbbaba;
  171. }
  172. .menu .el-image {
  173. width: 30px;
  174. display: inline-table;
  175. margin: 10px 5px;
  176. }
  177. .menu .topMenu {
  178. font-size: 24px;
  179. color: #92959a;
  180. font-weight: 600;
  181. margin-left: 3px;
  182. position: relative;
  183. top: 10px;
  184. }
  185. .menuList {
  186. i {
  187. padding: 0 15px 0 0;
  188. font-size: 25px;
  189. }
  190. span {
  191. font-size: 20px;
  192. }
  193. }
  194. .menuList p {
  195. line-height: 50px;
  196. font-size: 16px;
  197. cursor: pointer;
  198. border-bottom: 1px solid #2d64b3;
  199. color: #044b79;
  200. font-weight: 600;
  201. padding: 0 0 0 15px;
  202. }
  203. .info {
  204. float: right;
  205. width: 82%;
  206. min-height: 900px;
  207. padding: 20px;
  208. box-shadow: 0 0 10px #2d64b3;
  209. .infoTop {
  210. font-size: 18px;
  211. height: 40px;
  212. line-height: 40px;
  213. border-bottom: 1px solid #e5e5e5;
  214. font-weight: bold;
  215. color: #22529a;
  216. }
  217. .infoDown {
  218. margin: 15px 0 0 0;
  219. }
  220. }
  221. /deep/.el-collapse-item__header {
  222. font-size: 18px;
  223. font-weight: bold;
  224. }
  225. </style>