审查视图

src/views/Home.vue 21.7 KB
朱兆平 authored
1
<template>
朱兆平 authored
2
    <el-row class="container darkmenu" style="margin-top: 0px;">
3
        <el-col :span="24" class="header" style="background-position: center">
4
            <el-col :span="14" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'">
5 6
                {{collapsed?'':sysName}}
            </el-col>
小范 authored
7
            <el-col :span="6">
小范 authored
8
                <div class="tools" @click.prevent="collapse"  style="width: 15px;margin-top: 72px;margin-left:-2px;z-index:9999;position:absolute;">
小范 authored
9 10 11 12 13 14
<!--                    ;margin-top: 80px;z-index:9999;margin-left: 170px-->
<!--                    <i class="el-icon-s-operation" style="color: rgb(38,56,76)"></i>-->
                    <img :class="[rotate?'go':'aa']" @click="start" width="20" height="44" src="data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABCCAYAAABAfGYuAAAArklEQVRYhe3YIQ4CMRBG4b+IOhyS26DXEjySBE6A4QSINasRSAx3guBJECTdLMn6dtp0Be8loz/Tjhh3OLVBEzSbAhUwMDAwMDAwMDAw8B/A5+PuNzEtF/NycGwDut9u6sIj6r2vB6eiRWALmg1b0SzYOWndrExoFhyC1F3vejxfdeGh9+er9nIz4dmPy4oX+U4WvNgCScWLrswRj4k7FzAwMDAwMDAwMDBwYnLqAfLHOpMP7/PBAAAAAElFTkSuQmCC">
                </div>
<!--                标签i的图标 fa-align-justify-->
            </el-col>
15 16 17 18 19 20 21 22 23 24 25
<!--            <el-col :span="4" class="userinfo">-->
<!--                <el-dropdown trigger="hover" >-->
<!--                    <span class="el-dropdown-link userinfo-inner">{{sysUserName}}<img :src="this.sysUserAvatar"/></span>-->
<!--                    <el-dropdown-menu slot="dropdown">-->
<!--                        <el-dropdown-item>我的消息</el-dropdown-item>-->
<!--                        <el-dropdown-item @click.native="editPass">修改密码</el-dropdown-item>-->
<!--                        <el-dropdown-item @click.native="updateCache">更新缓存</el-dropdown-item>-->
<!--                        <el-dropdown-item divided @click.native="logout">退出登录</el-dropdown-item>-->
<!--                    </el-dropdown-menu>-->
<!--                </el-dropdown>-->
<!--            </el-col>-->
26
        </el-col>
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
<!--        <el-col>-->
<!--            <el-dialog title="修改密码" :visible.sync="dialogFormVisible">-->
<!--                <el-form :model="resetForm" status-icon :rules="resetFormRules" ref="resetForm" label-width="100px">-->
<!--                    <el-form-item label="用户名" prop="name">-->
<!--                        <span>{{sysUserName}}</span>-->
<!--                    </el-form-item>-->
<!--                    <el-form-item label="新密码" prop="newpwd">-->
<!--                        <el-input type="password" v-model="resetForm.newpwd" autocomplete="off" placeholder="8-20位字符在数字、小写、大写字母以及特殊字符中四选三"></el-input>-->
<!--                    </el-form-item>-->
<!--                    <el-form-item label="确认密码" prop="renewpwd">-->
<!--                        <el-input type="password" v-model="resetForm.renewpwd" auto-complete="off"></el-input>-->
<!--                    </el-form-item>-->
<!--                    <el-form-item>-->
<!--                        <el-button type="primary" @click="submitEdit('resetForm')" style="float:right">提 交</el-button>-->
<!--                    </el-form-item>-->
xudada authored
42
43 44 45
<!--                </el-form>-->
<!--            </el-dialog>-->
<!--        </el-col>-->
46
        <el-col :span="24" class="main">
小范 authored
47
            <NavMenu :collapsed="collapsed"></NavMenu>
朱兆平 authored
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
<!--                <aside :class="collapsed?'menu-collapsed':'menu-expanded'">-->
<!--                    &lt;!&ndash;导航菜单&ndash;&gt;-->
<!--                    <el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen"-->
<!--                             @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed"-->
<!--                             style="width: 380px;height: 100%;margin-right: -18px">-->
<!--    &lt;!&ndash;                    ;overflow: scroll&ndash;&gt;-->
<!--                        <div align="center" style="background-color: #2b2f3a;height: 67px">-->
<!--                            <img src="./logo1.png">-->
<!--                            <h1 style="color:white;display: inline-block">航空物流公共信息服务平台</h1>-->
<!--    &lt;!&ndash;                        ;font-weight: 600;font-size: 15px;line-height: 50px&ndash;&gt;-->
<!--                        </div>-->
<!--                        <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">-->
<!--                            <el-submenu :index="index+''" v-if="!item.leaf">-->
<!--                                <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>-->
<!--                                <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item>-->
<!--                            </el-submenu>-->
<!--                            <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item>-->
<!--                        </template>-->
<!--                    </el-menu>-->
<!--                    &lt;!&ndash;导航菜单-折叠后&ndash;&gt;-->
<!--                    <ul class="el-menu el-menu-vertical-demo collapsed" v-show="collapsed" ref="menuCollapsed">-->
<!--                        <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item">-->
<!--                            <template v-if="!item.leaf">-->
<!--                                <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div>-->
<!--                                <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)">-->
<!--                                    <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" class="el-menu-item" style="padding-left: 40px;" :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">{{child.name}}</li>-->
<!--                                </ul>-->
<!--                            </template>-->
<!--                            <template v-else>-->
<!--                        <li class="el-submenu">-->
<!--                            <div class="el-submenu__title el-menu-item" style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;" :class="$route.path==item.children[0].path?'is-active':''" @click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div>-->
<!--                        </li>-->
<!--    </template>-->
<!--    </li>-->
<!--    </ul>-->
<!--    </aside>-->
小范 authored
84 85
            <div class="center">
            </div>
86
<div class="tabM" >
小范 authored
87 88
    <TabMenu></TabMenu>
</div>
小范 authored
89 90
            <div class="side">
            </div>
小范 authored
91 92

93 94

95 96
</el-col>
</el-row>
朱兆平 authored
97 98 99
</template>

<script>
100
    import rt from '../routes'
101
    import { editPass,resetToken} from '../api/user';
xudada authored
102
    import ElFormItem from "element-ui/packages/form/src/form-item";
103
    import TabMenu from "@/components/TabMenu"
朱兆平 authored
104
    import NavMenu from "@/components/NavMenu"
105
106
    export default {
朱兆平 authored
107 108 109 110 111 112

        provide() {
            return {
                reload: this.reload
            }
        },
朱兆平 authored
113
        components: {ElFormItem,TabMenu,NavMenu},
114
        data() {
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
            // var validatePass = (rule, value, callback) => {
            //     if (!value) {
            //         callback(new Error('请输入新密码'));
            //     }else {
            //         var ls=0;
            //      if(value.match(/([a-z])+/)){
            //             ls++;
            //         } if(value.match(/([0-9])+/)){
            //             ls++;
            //         } if(value.match(/([A-Z])+/)){
            //             ls++;
            //         } if((/([\W])+/) && !value.match(/(![\u4E00-\u9FA5])+/)){
            //             ls++;
            //         }  if (value.toString().length < 8 || value.toString().length > 20) {
            //             callback(new Error('密码长度为8 - 20个字符'));
            //             ls=0;
            //         } if(value.match(/([\u4E00-\u9FA5])+/)){
            //             callback(new Error('不能包含中文字符'));
            //             ls=0;
            //         }
            //         switch (ls) {
            //             case 0: this.passwordPercent = 0;callback(new Error('数字、小写字母、大写字母以及特殊字符中四选三'));break;
            //             case 1: this.passwordPercent = 33;callback(new Error('数字、小写字母、大写字母以及特殊字符中四选三'));break;
            //             case 2: this.passwordPercent = 66;callback(new Error('数字、小写字母 、大写字母以及特殊字符中四选三'));break;
            //             case 3:
            //             case 4: this.passwordPercent = 100;break;
            //             default: this.passwordPercent = 0;break;
            //         }
            //         callback();
            //     }
            //
            // };
            //
            // var validatePass2 = (rule, value, callback) => {
            //     if (value === '') {
            //         callback(new Error('请再次输入密码'));
            //     } else if (value !== this.resetForm.newpwd) {
            //         callback(new Error('两次输入密码不一致!'));
            //     } else {
            //         callback();
            //     }
            // };
157
            return {
小范 authored
158
                rotate:false,
159
                sysName:'',
160
                collapsed:false,
161
                // sysUserName: '',
xudada authored
162
                sysUserId:'',
163
                // sysUserAvatar: '',
朱兆平 authored
164
                isRouterAlive: true,
165 166 167 168 169 170 171 172 173
                form: {
                    name: '',
                    region: '',
                    date1: '',
                    date2: '',
                    delivery: false,
                    type: [],
                    resource: '',
                    desc: ''
xudada authored
174
                },
175 176 177 178 179 180 181 182 183 184 185 186 187
                // dialogFormVisible:false,
                // resetForm: {
                //     newpwd: '',
                //     renewpwd: '',
                // },
                // resetFormRules: {
                //     newpwd: [
                //         { required: true, validator: validatePass, trigger: 'blur' }
                //     ],
                //     renewpwd: [
                //         { required: true, validator: validatePass2, trigger: 'blur' }
                //     ]
                // },
xudada authored
188 189 190 191
                editForm: {
                    userId: '',
                    password: '',
                },
192 193 194
            }
        },
        methods: {
小范 authored
195 196 197 198
            start(){
                this.rotate=!this.rotate;
                console.log(this.rotate)
            },
朱兆平 authored
199 200 201 202 203 204 205 206 207 208
            reload() {
                this.$nextTick(function () {
                   this.$router.push({
                       path: this.$router.path,
                       query:{
                           t: new Date().getTime()
                       }
                   })
                })
            },
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
            // editPass:function(){
            //     this.dialogFormVisible=true;
            // },
            // updateCache:function(){
            //     resetToken().then( res =>{
            //         let response  = res.data;
            //         if (response.code === '200'){
            //             this.$notify({
            //                 title: '成功',
            //                 message: '缓存更新成功',
            //                 type: 'success'
            //             });
            //         }else{
            //             this.$notify.error({
            //                 title: '失败',
            //                 message: '缓存更新失败'
            //             });
            //         }
            //     })
            // },
            // submitEdit(formName){
            //     this.$refs[formName].validate((valid) => {
            //         if (valid) {
            //             this.editForm.userId=this.sysUserId;
            //             this.editForm.password=this.resetForm.renewpwd;
            //             editPass(this.editForm).then(res=>{
            //                 let response=res.data;
            //                 if(response.code=='200'){
            //                     this.$notify({
            //                         title: '密码修改成功',
            //                         message: '密码修改成功,退出请重新登录',
            //                         type: 'success'
            //                     });
            //                     this.dialogFormVisible=false;
            //                 }else{
            //                     this.$notify.error({
            //                         title: '密码修改失败',
            //                         message: '密码修改失败!!!'
            //                     });
            //                 }
            //             });
            //         } else {
            //             console.log('error submit!!');
            //             return false;
            //         }
            //     });
            // },
256 257 258 259 260 261 262 263 264 265
            onSubmit() {
                console.log('submit!');
            },
            handleopen() {
                console.log('handleopen');
            },
            handleclose() {
                console.log('handleclose');
            },
            handleselect: function (a, b) {
朱兆平 authored
266
                this.reload()
267
            },
小范 authored
268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
            // 退出登录
            logout: function () {
                var _this = this;
                this.$confirm('确认退出吗?', '提示', {
                    //type: 'warning'
                }).then(() => {
                    sessionStorage.removeItem('user');
                    sessionStorage.removeItem('menu');
                    //退出后初始化原来的路由
                    let sysRoutes =  JSON.parse(sessionStorage.getItem('sysMenu'));
                    console.log(sysRoutes);
                    _this.$router.options.routes = sysRoutes;

                    _this.$router.push('/login');
                }).catch(() => {

                });


            },
288
            //折叠导航栏
289 290
            collapse:function(){
                this.collapsed=!this.collapsed;
291
            },
292
            showMenu(i,status){
朱兆平 authored
293
                this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none';
小范 authored
294 295
            },
296 297
        },
        mounted() {
298
            var _this = this;
299 300 301 302
            var user = sessionStorage.getItem('user');
            if (user) {
                user = JSON.parse(user);
                this.sysUserName = user.username || '';
xudada authored
303
                this.sysUserId=user.userId||'';
304 305

                this.sysUserAvatar = user.userface || '~img/faceDefault.jpg';
306 307 308 309
            }
            //操作路由,判断本地存储的用户栏目列表是否存在,如果存在则加载路由
            var userRouters = sessionStorage.getItem('menu');
            if (userRouters) {
310
                userRouters = JSON.parse(userRouters);
311
                _this.$router.options.routes = userRouters;
312 313
                console.log("home:");
                console.log(_this.$router.options.routes);
314 315 316
            }
        }
    }
朱兆平 authored
317 318 319 320

</script>

<style scoped lang="scss">
321 322 323 324 325 326 327
    @import '~scss_vars';
    .container {
        position: absolute;
        top: 0px;
        bottom: 0px;
        width: 100%;
        .header {
328 329
            height: 70px;
            line-height: 70px;
330
            background: $color-primary url("~img/air-banner.png");
331
            color:#fff;
332 333
            .userinfo {
                text-align: right;
334
                padding-right: 125px;
335
                padding-top: 21px;
336
                float: right;
337 338 339 340 341 342 343 344 345 346 347
                /*.userinfo-inner {*/
                /*    cursor: pointer;*/
                /*    color:rgb(180,150,121);*/
                /*    img {*/
                /*        width: 40px;*/
                /*        height: 40px;*/
                /*        border-radius: 20px;*/
                /*        margin: 10px 0px 10px 10px;*/
                /*        float: right;*/
                /*    }*/
                /*}*/
348 349 350
            }
            .logo {
                //width:230px;
351
                height:60px;
352
                font-size: 22px;
朱兆平 authored
353 354
                padding-left:10px;
                padding-right:10px;
355
                border-color: rgba(238,241,146,0.3);
356
                border-right-width: 0px;
小范 authored
357
                border-right-style: solid;
358
                /*border-right-style: solid;*/
359 360 361 362 363 364
                img {
                    width: 40px;
                    float: left;
                    margin: 10px 10px 10px 18px;
                }
                .txt {
365
                    color:#fff;
366 367
                }
            }
368
            .logo-width{
小范 authored
369
                width:17%;
370
            }
371 372
            .logo-collapse-width{
                width:60px
373
            }
374
            .tools{
375 376
                /*padding: 0px 13px;*/
                /*width:14px;*/
小范 authored
377 378
                height: 50px;
                line-height: 40px;
379
                cursor: pointer;
380 381 382
                /*padding-left: 180px;*/
                /*padding-top: 60px;*/
                /*color: rgb(111,130,148);*/
383 384 385 386 387 388
            }
        }
        .main {
            display: flex;
            // background: #324057;
            position: absolute;
389
            top: 70px;
390 391 392
            bottom: 0px;
            overflow: hidden;
            aside {
朱兆平 authored
393 394
                flex:0 0 380px;
                width: 380px;
小范 authored
395 396 397
                overflow-x: hidden;
                overflow-y: scroll;
                position: relative;
398
                background: rgb(38,56,76);
小范 authored
399
400 401 402
                // position: absolute;
                // top: 0px;
                // bottom: 0px;
403 404 405
                .collapsed{
                    width:60px;
                    .item{
406 407
                        position: relative;
                    }
408 409 410 411 412 413 414
                    .submenu{
                        position:absolute;
                        top:0px;
                        left:60px;
                        z-index:99999;
                        height:auto;
                        display:none;
415 416 417 418
                    }

                }
            }
小范 authored
419 420 421 422 423 424
            aside::-webkit-scrollbar {
                width: 0 !important;
            }
            aside::-webkit-scrollbar {
                width: 0 !important;height: 0;
            }
425 426
            .menu-collapsed{
                flex:0 0 60px;
小范 authored
427
                width: 230px;
428
            }
429
            .menu-expanded{
430
                /*底层滚动框宽度*/
小范 authored
431
                flex:0 0 380px;
432 433
                width: 230px;
            }
434
            .menu-expanded ul{
435 436 437 438
                width: 230px;
            }
            .content-container {
                // background: #f1f2f7;
439
                flex:1;
440 441 442 443 444 445
                // position: absolute;
                // right: 0px;
                // top: 0px;
                // bottom: 0px;
                // left: 230px;
                overflow-y: scroll;
朱兆平 authored
446
                padding: 10px;
447 448 449 450 451 452
                .breadcrumb-container {
                    //margin-bottom: 15px;
                    .title {
                        width: 200px;
                        float: left;
                        color: #475669;
朱兆平 authored
453
                        margin-left: 10px;
454 455 456
                    }
                    .breadcrumb-inner {
                        float: right;
朱兆平 authored
457 458 459 460
                        margin-right:10px;
                    }
                    .el-breadcrumb{
                        line-height:36px;
461 462 463 464 465 466 467 468 469
                    }
                }
                .content-wrapper {
                    background-color: #fff;
                    box-sizing: border-box;
                }
            }
        }
    }
朱兆平 authored
470 471 472 473 474 475
</style>
<style lang="scss">
    .darkmenu{
        .main {
            aside {
                .el-menu{
小范 authored
476
                    /*height: 100%;*/
477
                    /*width: 300px!important;*/
478
                    background: #26384c;
朱兆平 authored
479 480 481 482 483 484
                    .el-menu-item {
                        i{
                            color: white;
                        }
                        color: white;
                    }
485 486 487
                    /*.el-menu-item.is-active{*/
                    /*    color:#e6a23c;*/
                    /*}*/
朱兆平 authored
488
                    .el-menu-item:hover,.el-menu-item:focus{
489 490
                        background-color: #4f6273;
                        /*border-left: 3px solid #be1fd9;*/
朱兆平 authored
491 492 493 494 495 496 497 498 499 500 501 502
                    }
                    .el-submenu {
                        ul.el-menu.el-menu--inline{
                            background: #303030;
                        }
                        .el-submenu__title {
                            color: white;
                            i{
                                color: white;
                            }
                        }
                        .el-submenu__title:hover {
503
                            background-color: #4f6273;
朱兆平 authored
504
                            border-left: 3px solid #be1fd9logo-width
505
朱兆平 authored
506 507 508 509 510 511
                        }
                    }
                }
            }
        }
    }
小范 authored
512 513
    .center{
        display: inline-block;
小范 authored
514 515 516 517 518 519 520 521
        width: 35px;
        background-color: white;
        z-index: 999;

    }
    .side{
        display: inline-block;
        width: 23px;
小范 authored
522 523 524 525
        background-color: white;
        z-index: 999;

    }
小范 authored
526 527
    .tabM{
        display: inline-block;
小范 authored
528 529
        /*min-width: 758px;*/
        /*max-width: 1190px;*/
小范 authored
530
        overflow-y: scroll;
小范 authored
531
        width: 100%;
小范 authored
532
        /*z-index: 999;*/
小范 authored
533
        margin-right: -25px;
小范 authored
534 535
        background-color: white;
小范 authored
536
    }
小范 authored
537 538 539
    .go{
        transform:rotate(-180deg);
    }
540
</style>