Index.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <template>
  2. <div class="IndexContainer">
  3. <el-container>
  4. <el-aside :class="[{ 'shortElaside': isCollapse }, { 'lognElaside': !isCollapse }]">
  5. <Navside :isCollapse="isCollapse" @lefthide="leftHide" @refreshList="addTabs"></Navside>
  6. </el-aside>
  7. <el-container>
  8. <el-header>
  9. <Headside @lefthide="leftHide" :tableTabs="tableTabs"></Headside>
  10. </el-header>
  11. <el-main :style="{'height': clientHeight+'px'}">
  12. <keep-alive>
  13. <router-view></router-view>
  14. </keep-alive>
  15. </el-main>
  16. <el-footer v-if="true">
  17. <p class="footer">济南佰意兴网络科技有限公司提供技术支持</p>
  18. </el-footer>
  19. </el-container>
  20. </el-container>
  21. </div>
  22. </template>
  23. <script>
  24. // @ is an alias to /src
  25. import Headside from '@/components/Headside.vue'
  26. import Navside from '@/components/Navside.vue'
  27. import Navs from '../../api/Navs';
  28. export default {
  29. name: 'Home',
  30. data() {
  31. return {
  32. isCollapse: true,
  33. aSideState: false,
  34. clientHeight: document.documentElement.clientHeight - 50,
  35. tableTabs:[],
  36. editableTabsValue: '1',
  37. }
  38. },
  39. mounted() {
  40. console.log();
  41. // checkScreen
  42. if (document.body.clientWidth < 768) {
  43. this.$message.warning('请横屏使用本系统');
  44. }
  45. },
  46. methods: {
  47. //控制添加tab标签
  48. addTabs(v) {
  49. let notExist = true;
  50. let existIndex = -1;
  51. this.tableTabs.forEach((tab, index) => {
  52. if(tab.clmurl == v.clmurl){
  53. notExist = false;
  54. existIndex = index;
  55. this.editableTabsValue = tab.title;
  56. return false;
  57. }
  58. });
  59. if(notExist){
  60. this.tableTabs.push(v);
  61. }else{
  62. console.log(this.editableTabsValue);
  63. // this.tableTabs.splice(existIndex,1);
  64. // console.log(this.tableTabs[0]);
  65. }
  66. },
  67. //控制显示左侧导航栏
  68. leftHide() {
  69. this.aSideState = !this.aSideState;
  70. this.isCollapse = !this.isCollapse;
  71. },
  72. },
  73. components: {
  74. Headside,
  75. Navside
  76. }
  77. }
  78. </script>
  79. <!-- Add "scoped" attribute to limit CSS to this component only -->
  80. <style>
  81. .el-header {
  82. padding: 0 !important;
  83. height: 72px !important;
  84. }
  85. .lognElaside {
  86. width: 256px !important;
  87. overflow: hidden;
  88. height: 100%;
  89. float: left;
  90. }
  91. .shortElaside {
  92. width: 72px !important;
  93. overflow: hidden;
  94. height: 100%;
  95. float: left;
  96. }
  97. /deep/ .nav {
  98. width: 60px;
  99. }
  100. .IndexContainer {
  101. position: absolute;
  102. top: 0;
  103. bottom: 0;
  104. left: 0;
  105. right: 0;
  106. background: #f0f2f5;
  107. }
  108. .IndexContainer > .el-container {
  109. width: 100%;
  110. height: 100%;
  111. overflow: hidden;
  112. display: block;
  113. margin: 0 auto;
  114. }
  115. .footer {
  116. position: absolute;
  117. bottom: 0px;
  118. width: 100%;
  119. padding: 10px;
  120. overflow: hidden;
  121. display: block;
  122. margin: 0 auto;
  123. text-align: center;
  124. text-indent: -30%;
  125. font-size: 12px;
  126. color: #bdbdbd;
  127. background: #f0f2f5;
  128. z-index: 222;
  129. }
  130. .el-main {
  131. width: 100%;
  132. height: 100%;
  133. /*min-height: 800px;*/
  134. overflow: hidden;
  135. display: block;
  136. margin: 0 auto;
  137. overflow-y: scroll;
  138. padding: 10px 20px;
  139. padding-bottom: 60px;
  140. margin-bottom: 30px;
  141. }
  142. @media (min-width: 320px) and (max-width: 1367px) {
  143. .el-header {
  144. height: 40px !important;
  145. }
  146. .shortElaside {
  147. width: 45px !important;
  148. overflow: hidden;
  149. height: 100%;
  150. float: left;
  151. }
  152. .el-container.is-vertical {
  153. left: 60px;
  154. display: -webkit-box;
  155. /* OLD - iOS 6-, Safari 3.1-6 */
  156. display: -moz-box;
  157. /* OLD - Firefox 19- (buggy but mostly works) */
  158. display: -ms-flexbox;
  159. /* TWEENER - IE 10 */
  160. display: -webkit-flex;
  161. /* NEW - Chrome */
  162. display: flex;
  163. /* NEW, Spec - Opera 12.1, Firefox 20+ */
  164. }
  165. .el-transfer__buttons {
  166. width: 20px;
  167. padding: 3px;
  168. }
  169. .el-transfer .el-transfer__buttons {
  170. width: 60px;
  171. padding: 3px;
  172. }
  173. .el-transfer .el-button + .el-button {
  174. float: right;
  175. }
  176. /*.context {
  177. border-radius: 12px;
  178. height: 823px !important;
  179. overflow-y: scroll;
  180. }*/
  181. .el-dialog {
  182. padding: 5px;
  183. padding-bottom: 15px;
  184. }
  185. .el-aside.lognElaside {
  186. width: 100px !important;
  187. }
  188. .logoContainer img {
  189. display: none !important;
  190. }
  191. .el-main {
  192. position: relative;
  193. top: 0;
  194. bottom: 0;
  195. overflow-y: scroll;
  196. padding-bottom: 60px;
  197. margin-bottom: 30px;
  198. }
  199. .el-main > .context {
  200. /*height: 640px;*/
  201. /*overflow-y: scroll;*/
  202. padding: 6px !important;
  203. }
  204. .table {
  205. /*width: 950px;*/
  206. /*overflow-x: scroll;*/
  207. }
  208. .el-dialog {
  209. max-width: 960px;
  210. }
  211. /deep/ .el-footer {
  212. display: none;
  213. }
  214. .footer {
  215. display: none;
  216. height: 14px;
  217. padding: 3px;
  218. }
  219. }
  220. </style>