Vue+Elementui+iView编写后台

花了几天时间学习,谁便写了如下界面,打的都是草稿,所以命名...啥的都不规范。请大家见谅(未完待续)

1.login.vue代码部分 

  1 <template>
  2 <div style="width: 100%;height:100%;" id="loginMain">
  3 <vueCanvasNest></vueCanvasNest>
  4 <div class="Header">
  5     <div class="leftHeader"><img src="static/img/logo.png"/></div>
  6     <div class="rightHeader" align="right" >
  7     <el-button class="button-new-tag" size="small" >注册</el-button>
  8     <el-button class="button-new-tag" size="small" >常见问题</el-button>
  9     
 10     </div>
 11 </div>
 12 <div class="Content" v-bind:style="{height : fontSize + 'px' }">
 13 <div class="leftContent" align="right" ><img width="384px" height="267.6px" src="static/img/login.png" /></div>
 14 <div class="rightContent">
 15 <el-button plain>
 16         <form id="loginForm" name="loginForm" method="post" action="user/loginValidation">
 17             <table  width="280" height="100%">
 18                    <tr >
 19                     <td  colspan="2" align="left"  height="40px" >
 20                         账号登录
 21                     </td>                           
 22                 </tr>                       
 23                
 24                 <tr height="40px">                   
 25                     <td>
 26                     <Input type="text"  placeholder="请输入用户名"" >
 27                         <Icon type="ios-person-outline" slot="prepend"></Icon>
 28                     </Input>
 29                     </td>
 30                     <td></td>
 31                 </tr>
 32                 <tr height="40px">                    
 33                     <td>
 34                         <Input type="password" placeholder="请输入密码">
 35                             <Icon type="ios-lock-outline" slot="prepend"></Icon>
 36                            </Input>
 37                     </td>
 38                        <td></td>
 39                 </tr>                
 40                 <tr height="40px">                    
 41                     <td align="left">
 42                         <el-checkbox v-model="checked">记住密码</el-checkbox>
 43                     </td>
 44                        <td></td>
 45                 </tr>                      
 46                   <tr>                    
 47                     <td align="center" >
 48                          <Button type="primary" long>登录</Button>
 49                     </td>
 50                        <td></td>
 51                 </tr>
 52             </table>
 53         </form>
 54 </el-button>        
 55 </div>
 56 </div>
 57 <div class="Footer" align="center">    
 58 <div align="center"  style="width:100%;padding-top:20px">
 59     <div>Copyright © 2009-2018 BANK OF URUMQI. All right reserved.</div>
 60     <div>© 2009-2018 xxxx银行股份有限公司 版权所有 新ICP备13002150号</div>
 61 </div> 
 62 </div>
 63 </div>
 64 
 65 
 66 </template>
 67 <style>
 68 .leftContent{
 69     float:left;    
 70     width:50%;
 71     --background-color:#666666;
 72     height:100%;
 73     padding-top:60px;    
 74     padding-right:36px;    
 75 
 76     
 77 }
 78 .rightContent{
 79     float:left;    
 80     clear:right;
 81     width:50%;
 82     padding-top:80px;
 83     padding-left:100px;        
 84     --background-color:#FF0000;
 85     height:100%;
 86 }
 87 body{
 88 font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
 89 }
 90 .leftHeader{
 91     --background-color:#666666;    
 92     --background-position:left;
 93         
 94     padding-top:30px;    
 95     padding-left:90px;    
 96     width:50%;
 97     float:left;    
 98 }
 99 .rightHeader{    
100     float:right;    
101     width:50%;
102     clear:right;
103     padding-right:50px;
104     padding-top:30px;    
105 }
106 .Header{
107     padding-top:0px;
108     line-height:60px;
109     overflow: hidden;
110     border-bottom-width:2px;
111     border-bottom-color:#0066FF;
112     --background-color:#FF0000;
113     
114 }
115 .Content{    
116     width: 100%;
117     background-color:#5787F6;
118     
119 }
120 .Footer{
121     --padding-top:30px;
122 
123     height:80px;
124     width: 100%;
125     --background-color:#E0ECFF;
126 }
127 </style>
128 <script>
129 import vueCanvasNest from '@/components/canvas-nest.vue'
130 export default {
131     name:'login',
132      components: { vueCanvasNest },
133     data () {
134         return {            
135             fontSize:`${document.documentElement.clientHeight}`-210 
136         }
137     }
138 }
139 
140 </script>

 2.Main.vue代码部分

<style scoped>
.layout-logo{
    width: 230px;
    height: 30px;  
    float: left;
    padding-top: 18px;
    padding-left: 20px;
    --background:#FF0;
}
.layout-nav{
    --width: 40%;
    margin: 0 auto;
    --background:#F00;
    float: left;
    padding-top:5px;
    border-bottom:0px
}
.layout-nav-right{
    --width: 40%;
    float:right;
    --background:#FFF;
    margin-top:25px;    
}
.logoHeader{
    height:40px;
    width:140px;
    padding-top:0px;
    padding-left:5px;
    padding-bottom:0px;
    background:f5f7f9;
}
.headerbuttion{
    padding:2px 2px 2px 2px;
    background:#EBF1F6;
    
}
.headerbadge{
    --margin-top:12px;
    margin-right:18px;
}

.line{
    width:100%;
    border:solid 1px #515A6E;
    border-top-color:#515A6E;
}
.el-header{
    --background:#515A6E;
    background:#EBF1F6;
    height: 70px; 
    padding:0px 0px 0px 0px;
}
.el-main{
    background:#FFFFFF;
    width:100%
}    
.el-footer{
    --background-color: #B3C0AA;
    --line-height:15px;
    --height:15px;
    background-color:#EBF1F6 ;
    padding-top:5px;
}
.el-aside{
    background-color:#FFFFFF ;
}  
</style>
<template>
<el-container>
      <el-header height="70px">
    <div class="layout-logo"><el-button class="logoHeader"  plain><img width="108px" height="25.6px" src="static/img/logomain.png" /></el-button></div>
    <div class="layout-nav" align="right" >
        <Menu mode="horizontal"  style="background:#EBF1F6;" >                             
            <MenuItem name="1">
                <span  @click="jumpMenu('a')"> 
                <Icon type="ios-navigate"></Icon>
                   首页
                   </span>
            </MenuItem>
            <MenuItem name="2">
                <span  @click="jumpMenu('a')"> 
                <Icon type="ios-keypad"></Icon>
                   系统管理
                   </span>
            </MenuItem>                        
            <MenuItem name="3">
                <span  @click="jumpMenu('a')"> 
                <Icon type="ios-analytics"></Icon>
                   企业管理
                   </span>
            </MenuItem>
            <MenuItem name="4">
                <span  @click="jumpMenu('a')"> 
                <Icon type="ios-keypad"></Icon>
                    商户管理
                </span>
            </MenuItem>   
            <MenuItem name="5" >
                <span  @click="jumpMenu('b')"> 
                <Icon type="ios-keypad"></Icon>
                   我的工作台
                   </span>
            </MenuItem>                  
        </Menu>
    </div>
    <div  class="layout-nav-right" align="right" >    
                    <el-badge :value="3" class="headerbadge">
                          <el-button size="mini" class="headerbuttion"><Icon type="md-reorder"  size="23" color="#606266"/></el-button>
                    </el-badge>                         
                    <el-badge :value="3" class="headerbadge">
                          <el-button size="mini" class="headerbuttion"><Icon type="ios-mail-outline" size="23" color="#606266"/></el-button>
                    </el-badge>
                    <el-badge :value="12" class="headerbadge">
                          <el-button size="mini" class="headerbuttion"><Icon type="md-notifications" size="23" color="#606266" /></el-button>
                    </el-badge>
                   <span  style="float:right;margin-top:-18px;margin-right:10px;margin-left:20px;clear:both;">
                    <el-badge  >
                    <Menu mode="horizontal"  theme="dark" width="90px" style=" padding: 0 0 0 0;background:#EBF1F6;">
                      <Submenu name="1" >
                        <template slot="title"  width="20px" >                            
                              <Icon size="40" type="ios-contact" style="padding: 0 0 0 0;" color="#606266"/> <span style="color:#000000">admin</span>
                        
                        </template>        
                        <MenuItem name="1-1" width="20px">修改信息</MenuItem>                
                        <MenuItem name="1-2" width="20px">密码修改</MenuItem>
                        <MenuItem name="1-3" width="20px">退出</MenuItem>
                                            
                   </Submenu>
                   </Menu>
                   </el-badge>
                     <el-button size="mini" class="headerbuttion"><Icon type="md-exit"  size="18" color="#606266"/></el-button>
                   </span>                            
                   
    
    </div>
    </el-header>

  <el-container style="padding: 0 0 0 0;background-color:#F0F;">
    <el-aside v-bind:style="{height : fontSize + 'px'}" width="230px">
       <csiimenu :csiimenu="csiimenu" @jump="jump"></csiimenu>
    </el-aside>
    <el-container>
    <el-main>
        <el-tabs v-model="editableTabsValue2" type="card" closable @tab-remove="removeTab">
          <el-tab-pane >
           qwe
          </el-tab-pane>
        </el-tabs>
    </el-main>   
    
  </el-container>
  </el-container>
  <csiifooter/>

</el-container>

</template>
<script>
import Vue from 'vue'
import csiimenu from '@/views/csii/csiimenu'
import csiifooter from '@/views/csii/csiifooter'
export default {
    name:'index',
    
    data () {
        return {
            fontSize:`${document.documentElement.clientHeight}`-97,
            csiimenu:[{name:"系统管理",index:'0',icon:"el-icon-menu",childs:[{name:"用户管理",menuid:"1-1"},{name:"角色管理",menuid:"1-2"},{name:"权限管理",menuid:"1-3"},{name:"数据字典",menuid:"1-4"}]},{name:"企业管理",index:'1',icon:"el-icon-menu",childs:[{name:"企业管理1",menuid:"b1"},{name:"企业管理2",menuid:"b2"}]},{name:"商户管理",index:'2',icon:"el-icon-setting",childs:[{name:"商户管理1",menuid:"a1"},{name:"商户管理2",menuid:"a2"}]}]
            
        }
    },
    components: {
      'csiimenu': csiimenu,
      'csiifooter':csiifooter
    },
    methods:{
        init(){
            console.dir(this.$data);
        },
        jumpMenu(num){
            if(num=='a'){
                this.$data.csiimenu=[{name:"系统管理",index:'0',icon:"el-icon-menu",childs:[{name:"用户管理",menuid:"1-1"},{name:"角色管理",menuid:"1-2"},{name:"权限管理",menuid:"1-3"},{name:"数据字典",menuid:"1-4"}]},{name:"企业管理",index:'1',icon:"el-icon-menu",childs:[{name:"企业管理1",menuid:"b1"},{name:"企业管理2",menuid:"b2"}]},{name:"商户管理",index:'2',icon:"el-icon-setting",childs:[{name:"商户管理1",menuid:"a1"},{name:"商户管理2",menuid:"a2"}]}];
            }else{
                this.$data.csiimenu=[{name:"我的工作台",index:'2',icon:"el-icon-setting",childs:[{name:"主题设置",menuid:"a1"},{name:"消息设置",menuid:"a2"}]}];
            }
            
            console.dir(this.$refs);
            //console.dir(this.$data.fontSize);
        },
        jump(name){
            alert(name);
        }
    }
}

</script>

3.left.vue

 

<template>         
 <el-menu :default-openeds="['0']" v-bind:style="{height : fontSize + 'px'}" :collapse="isCollapse">
     <li v-for="(item, index) in csiimenu">
          <el-submenu  :index="item.index">
            <template slot="title"><i :class="item.icon"></i><span slot="title">{{item.name}}</span></template>
            <el-menu-item-group>      
             <li v-for="(child,index) in item.childs">
              <el-menu-item :index="child.menuid" @click="jump(child.name)">{{child.name}}</el-menu-item>
              </li>
            </el-menu-item-group>
            
          </el-submenu>
    </li>     
        </el-menu>

</template>
<script>
import Vue from 'vue'
export default {
    name:'csiimenu',
    props:{
        csiimenu:{
        type:Array, 
        required:false,
        default:function(){
            return [{name:"系统管理",index:'0',icon:"el-icon-menu",childs:[{name:"用户管理",menuid:"1-1"},{name:"角色管理",menuid:"1-2"},{name:"权限管理",menuid:"1-3"},{name:"数据字典",menuid:"1-4"}]},{name:"企业管理",index:'1',icon:"el-icon-menu",childs:[{name:"企业管理1",menuid:"b1"},{name:"企业管理2",menuid:"b2"}]},{name:"商户管理",index:'2',icon:"el-icon-setting",childs:[{name:"商户管理1",menuid:"a1"},{name:"商户管理2",menuid:"a2"}]}]
        }
    }},
    data () {
        return {
            fontSize:`${document.documentElement.clientHeight}`-97,
            isCollapse: false
            //items:[{name:"系统管理",index:'0',icon:"el-icon-menu",childs:[{name:"用户管理",menuid:"1-1"},{name:"角色管理",menuid:"1-2"},{name:"权限管理",menuid:"1-3"},{name:"数据字典",menuid:"1-4"}]},{name:"企业管理",index:'1',icon:"el-icon-menu",childs:[{name:"企业管理1",menuid:"b1"},{name:"企业管理2",menuid:"b2"}]},{name:"商户管理",index:'2',icon:"el-icon-setting",childs:[{name:"商户管理1",menuid:"a1"},{name:"商户管理2",menuid:"a2"}]}]
        }
    },
    methods:{
        jump(name){
        alert(name);
        this.$emit('jump',name);
        
        }
    }
}

</script>

 

4.footer.vue

<template>         
  <el-footer height="30px"  >
          <div align="left"  style="width:50%;float:left;"><span style="padding-left:10px;">当前用户</span>:<strong style="margin-left:5px;">连长</strong></div> 
        <div align="right" style="width:50%;float:left; ">
            &copy; 版权所有及技术支持:&nbsp;<a href="" target="_blank"  style="color:#0033CC;width:400px" title="银行技术专家" >科蓝股份有限公司</a><span style="padding-left:20px;padding-right:10px;width:300px" id="sysTime"></span>
            
        </div>
  </el-footer>
</template>
<script>


window.setInterval(function(){    
        document.getElementById('sysTime').innerHTML=getCurrDate();
}, 1000);
function fillDateZero(num){
    if(parseInt(num)<10){
    
        return "0"+num;
    }
    return num;
}
function getCurrDate(){
  
   var d=new Date();
   var s= d.getFullYear()+"-";
   s+=(d.getMonth()+1)+"-";
   s+= d.getDate()+ " ";
   s+= d.getHours()+":";
   s += fillDateZero(d.getMinutes())+":";
   s += fillDateZero(d.getSeconds());
   return s;
}


</script>

 

posted @ 2018-09-29 10:58  两个馒头  阅读(425)  评论(0)    收藏  举报