1. <template>
  2. <div>
  3. <div class="demo-type" align="right" style="height: 78px">
  4. <div style="float:left;margin-top: 10px">
  5. <img src="../../static/img/logo.png"></img>
  6. </div>
  7. <div style="float:right;margin-right: 20px;margin-top: 7px;">
  8. <el-col :span="1">
  9. <div class="sub-title">circle</div>
  10. <div class="demo-basic--circle">
  11. <el-avatar :src="circleUrl"></el-avatar>
  12. </div>
  13. </el-col>
  14. </div>
  15. </div>
  16. <el-menu style="height: 10px" mode="horizontal">
  17. </el-menu>
  18. <div class="line"></div>
  19. <div style="width: 200px;float: left;border: 1px solid yellow">
  20. <el-radio-group v-model="isCollapse" style="margin-bottom: 20px;">
  21. <el-radio-button :label="false">展开</el-radio-button>
  22. <el-radio-button :label="true">收起</el-radio-button>
  23. </el-radio-group>
  24. <el-menu default-active="1-4-1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" :collapse="isCollapse">
  25. <el-submenu index="1">
  26. <template slot="title">
  27. <i class="el-icon-location"></i>
  28. <span slot="title">菜单管理</span>
  29. </template>
  30. <el-menu-item-group>
  31. <el-menu-item index="1-1" @click="addTab(editableTabsValue,'后台菜单','http://localhost:8080/#/test',1)">后台菜单</el-menu-item>
  32. <el-menu-item index="1-2" @click="addTab(editableTabsValue,'前台菜单','http://localhost:8080/#/test2',2)">前台菜单</el-menu-item>
  33. </el-menu-item-group>
  34. </el-submenu>
  35. <el-submenu index="2">
  36. <template slot="title">
  37. <i class="el-icon-menu"></i>
  38. <span slot="title">内容管理</span>
  39. </template>
  40. <el-menu-item-group>
  41. <el-menu-item index="2-1" @click="addTab(editableTabsValue,'文章管理','http://localhost:8080/#/test4',3)">文章管理</el-menu-item>
  42. <el-menu-item index="2-2" @click="addTab(editableTabsValue,'单页管理','http://localhost:8080/#/test3',4)">单页管理</el-menu-item>
  43. </el-menu-item-group>
  44. </el-submenu>
  45. <!--<el-menu-item index="2">
  46. <i class="el-icon-menu"></i>
  47. <span slot="title">内容管理</span>
  48. </el-menu-item>
  49. <el-menu-item index="3" disabled>
  50. <i class="el-icon-document"></i>
  51. <span slot="title">导航三</span>
  52. </el-menu-item>
  53. <el-menu-item index="4">
  54. <i class="el-icon-setting"></i>
  55. <span slot="title">导航四</span>
  56. </el-menu-item>-->
  57. </el-menu>
  58. </div>
  59. <div style="margin-left:210px;width:84%;height: 100%;border: 1px solid black" align="center">
  60. <div style="border: 1px solid #F00">
  61. <el-tabs v-model="editableTabsValue" @tab-click="clickTab(editableTabsValue)" type="card" closable @tab-remove="removeTab">
  62. <el-tab-pane
  63. v-for="(item, index) in editableTabs"
  64. :key="item.name"
  65. :label="item.title"
  66. :name="item.name"
  67. >
  68. </el-tab-pane>
  69. </el-tabs>
  70. </div>
  71. <div style="">
  72. <iframe :src="src" id="mobsf" frameborder="1" style="position:absolute;left: 220px;width: 100%;height: 100%"></iframe>
  73. </div>
  74. </div>
  75. </div>
  76. </template>
  77.  
  78. <script>
  79. export default {
  80. data() {
  81. return {
  82. activeIndex: '1',
  83. activeIndex2: '1',
  84. circleUrl: "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png",
  85. isCollapse: true,
  86. editableTabsValue: '0',//标签数量
  87. editableTabs: [],//标签集合
  88. tabIndex: 0,
  89. form: {
  90. name: '',
  91. region: '',
  92. date1: '',
  93. date2: '',
  94. delivery: false,
  95. type: [],
  96. resource: '',
  97. desc: ''
  98. },
  99. src:''
  100. };
  101. },
  102. mounted:function(){
  103.  
  104. },
  105. methods: {
  106. //添加标签
  107. addTab(targetName,title,src,count) {
  108. for (var i=0;i<this.editableTabs.length;i++){
  109. if(this.editableTabs[i].title==title){
  110. this.editableTabsValue=count+"";
  111. //alert(" tabIndex: "+this.tabIndex);
  112. this.src=src;
  113. return;
  114. }
  115. }
  116. let newTabName = count + '';
  117. // alert("newTabName: "+newTabName+" tabIndex: "+this.tabIndex);
  118. //alert(this.tabIndex);
  119. this.editableTabs.push({
  120. title: title,
  121. name: newTabName,
  122. src:src
  123. });
  124. this.src=src;
  125. this.editableTabsValue = newTabName;
  126. },
  127. //删除标签
  128. removeTab(targetName) {
  129. //alert(1);
  130. let tabs = this.editableTabs;
  131. let activeName = this.editableTabsValue;
  132. if (activeName === targetName) {
  133. tabs.forEach((tab, index) => {
  134. if (tab.name === targetName) {
  135. let nextTab = tabs[index + 1] || tabs[index - 1];
  136. if (nextTab) {
  137. activeName = nextTab.name;
  138. }
  139. }
  140. });
  141. }
  142.  
  143. this.editableTabsValue = activeName;
  144. this.editableTabs = tabs.filter(tab => tab.name !== targetName);
  145. },
  146. clickTab:function (editableTabsValue) {
  147. // alert(editableTabsValue);
  148. this.src=this.editableTabs[editableTabsValue-1].src;
  149. }
  150.  
  151. }
  152. }
  153. </script>
  154.  
  155. <!-- Add "scoped" attribute to limit CSS to this component only -->
  156. <style scoped>
  157. .el-menu-vertical-demo:not(.el-menu--collapse) {
  158. width: 200px;
  159. min-height: 400px;
  160. }
  161. body{margin:0; padding:0;height: 100%;width: 100%;}
  162. </style>

巨丑vue的更多相关文章

  1. 去除IE10+上文本框巨丑无比的删除图标以及显示密码图标

    去除IE10+上文本框巨丑无比的删除图标以及显示密码图标 IE浏览器总是让人喜欢让人厌,在最新的IE浏览器(IE10+)上使用表单时,文本框内后面会出现很巨丑无比的“删除图标”以及“显示密码图标”,如 ...

  2. 牢骚 - 你代码写得丑,又不肯用好一点的IDE,这让我很为难啊。

    又有人问我代码错误,发过来就是一篇巨丑无比的代码,先不说左大括号转行还和代码写在同一行的谭浩强风格,你这狗啃的一样的缩进是闹哪样!粘进VS2015里面,自动格式化,瞬间赏心悦目,编译错误出了5行,我直 ...

  3. vue-router的hash模式与history模式的对比

    Vue-router 中hash模式和history模式的关系在vue的路由配置中有mode选项 最直观的区别就是在url中 hash 带了一个很丑的 # 而history是没有#的mode:&quo ...

  4. Vue-router 中hash模式和history模式的区别

    实际上存在三种模式: Hash: 使用URL的hash值来作为路由.支持所有浏览器. History: 以来HTML5 History API 和服务器配置.参考官网中HTML5 History模式 ...

  5. H5坦克大战之【画出坦克】

    今天是个特殊的日子,圣诞节,也是周末,在这里先祝大家圣诞快乐!喜庆的日子,我们可以稍微放松一下,扯一扯昨天雷霆对战凯尔特人的比赛,这场比赛大威少又双叒叕拿下三双,而且是一个45+11+11的超级三双, ...

  6. 东哥读书小记 之 《MacTalk人生元编程》

         一直以来的自我感觉:自己是个记性偏弱的人.反正从小读书就喜欢做笔记(可自己的字写得巨丑无比,尼玛不科学呀),抄书这事儿真的就常发生俺的身上. 因为那时经常要背诵课文之类,反正为了怕自己忘记, ...

  7. 综合实战--文件上传系统【JDBC&IO&Socket】

    本文纯属记录第一次实战遇到的坑和知识,如果后边有时间再做整理. 1,先写了个操作数据库的工具类SqlTool,照着JDBC资料打完之后,测试的时候出错了,java.lang.ClassNotFound ...

  8. 李洪强iOS经典面试题140-UI

    李洪强iOS经典面试题140-UI   UI viewcontroller的一些方法的说明viewDidLoad,viewWillDisappear, viewWillAppear方法的 顺序和作用? ...

  9. second class

    nothing no very good. 1.look at shuruo.html,after display:inline-block; li's width as the content; S ...

随机推荐

  1. 解决低版本IE关于html5新特性的兼容性问题html5shiv.js和Respond.js,以及excanvas.js解决低版本IE不支持canvas的问题

    插件:html5shiv.js 让IE9以下版本支持html5新标签,git地址https://github.com/aFarkas/html5shiv 用于解决IE9以下版本浏览器对HTML5新增标 ...

  2. Windows编程 鼠标

    客户区鼠标消息 由上一回我们得知Windows只把键盘消息发送给拥有输入焦点的窗口,而鼠标消息与此不同:只要鼠标跨越窗口或者在某窗口下按下鼠标键,那么窗口过程就会收到鼠标消息,不管该窗口是否活动或者是 ...

  3. H-ui前端框架,后端模板

    http://www.h-ui.net/ H-ui前端框架系统是基于 HTML.CSS.JAVASCRIPT开发的轻量级web前端框架. H-ui是根据中国现阶段网站特性和程序员开发习惯,在boots ...

  4. C++性能榨汁机之伪共享

    C++性能榨汁机之伪共享 来源  http://irootlee.com/juicer_false_sharing/ 前言 在多核并发编程中,如果将互斥锁的争用比作“性能杀手”的话,那么伪共享则相当于 ...

  5. plsql developer字符集和oracle字符集不一致的解决方法(转)

    如果oracle安装选择的字符集与PLSQL Developer的字符集不同,则打开 PLSQL Developer时会提示字符不一致可能造成问题: 定位到注册表的以下位置: HKEY_LOCAL_M ...

  6. Dart的导包

    Dart中的库主要有三种: 1.我们自定义的库 import 'lib/xxx.dart'; 2.系统内置库 import 'dart:math'; import 'dart:io'; import ...

  7. Centos7虚拟机根分区扩展

    线上的kvm虚拟机,原来只规划了8G,后来发现硬盘动不动就被日志塞满了,需要进行扩容. 扩容步骤如下: 1.先把kvm虚拟机关机 2.在宿主机上进行kvm虚拟机的磁盘扩容 qemu-img resiz ...

  8. Linux克隆修改配置文件及IP

    Linux下安装基本的开发软件比较费劲,特别是安装mysql的时候,这时候就需要学会克隆及直接备份base虚拟机了,下次直接打开,修改网卡文件信息就完事. 克隆虚拟机eth0网卡出现的问题解决1:修改 ...

  9. aop 的一些表达式

    切入点的表达式 execution(void cn.itcast.e_xml.a_before.UserServiceImpl.saveUser(java.lang.String,java.lang. ...

  10. kubernetes之pod生命周期,pod重启策略, 镜像拉取策略

    pod声明周期(状态):pending , running, succeeded, failed, unknown 挂起(Pending):Pod 已被 Kubernetes 系统接受,但有一个或者多 ...