zhangys36 %!s(int64=2) %!d(string=hai) anos
pai
achega
f8f72ac3f2

+ 1 - 1
.env.development

@@ -2,4 +2,4 @@
 ENV = 'development'
 
 # base api
-VUE_APP_BASE_API = 'http://railway.iamsee.com'
+VUE_APP_BASE_API = 'https://gdsc.ninecase.top/api'

+ 13 - 12
.eslintrc.js

@@ -7,24 +7,24 @@ module.exports = {
   env: {
     browser: true,
     node: true,
-    es6: true,
+    es6: true
   },
   extends: ['plugin:vue/recommended', 'eslint:recommended'],
 
   // add your custom rules here
   //it is base on https://github.com/vuejs/eslint-config-vue
   rules: {
-    "vue/max-attributes-per-line": [2, {
-      "singleline": 10,
-      "multiline": {
-        "max": 1,
-        "allowFirstLine": false
+    'vue/max-attributes-per-line': [2, {
+      'singleline': 10,
+      'multiline': {
+        'max': 1,
+        'allowFirstLine': false
       }
     }],
-    "vue/singleline-html-element-content-newline": "off",
-    "vue/multiline-html-element-content-newline":"off",
-    "vue/name-property-casing": ["error", "PascalCase"],
-    "vue/no-v-html": "off",
+    'vue/singleline-html-element-content-newline': 'off',
+    'vue/multiline-html-element-content-newline': 'off',
+    'vue/name-property-casing': ['error', 'PascalCase'],
+    'vue/no-v-html': 'off',
     'accessor-pairs': 2,
     'arrow-spacing': [2, {
       'before': true,
@@ -47,7 +47,7 @@ module.exports = {
     'curly': [2, 'multi-line'],
     'dot-location': [2, 'property'],
     'eol-last': 2,
-    'eqeqeq': ["error", "always", {"null": "ignore"}],
+    'eqeqeq': ['error', 'always', { 'null': 'ignore' }],
     'generator-star-spacing': [2, {
       'before': true,
       'after': true
@@ -193,6 +193,7 @@ module.exports = {
     'object-curly-spacing': [2, 'always', {
       objectsInObjects: false
     }],
-    'array-bracket-spacing': [2, 'never']
+    'array-bracket-spacing': [2, 'never'],
+    'vue/no-unused-components': 'off'
   }
 }

+ 61 - 0
src/layout/components/FullScreen.vue

@@ -0,0 +1,61 @@
+<template>
+  <section class="app-main">
+    <transition name="fade-transform" mode="out-in">
+      <keep-alive :include="cachedViews">
+        <router-view :key="key" />
+      </keep-alive>
+    </transition>
+  </section>
+</template>
+
+<script>
+
+export default {
+  name: 'FullScreen',
+  components: {
+  },
+  computed: {
+    cachedViews() {
+      return this.$store.state.tagsView.cachedViews
+    },
+    key() {
+      return this.$route.path
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.app-main {
+  /* 50= navbar  50  */
+  height: 100%;
+  width: 100%;
+  position: relative;
+  overflow: hidden;
+  background-color: #fdfdfd;
+}
+
+.fixed-header+.app-main {
+  padding-top: 50px;
+}
+
+.hasTagsView {
+  .app-main {
+    /* 84 = navbar + tags-view = 50 + 34 */
+    min-height: calc(100vh);
+  }
+
+  .fixed-header+.app-main {
+    padding-top: 84px;
+  }
+}
+</style>
+
+<style lang="scss">
+// fix css style bug in open el-dialog
+.el-popup-parent--hidden {
+  .fixed-header {
+    padding-right: 15px;
+  }
+}
+</style>

+ 37 - 37
src/layout/index.vue

@@ -8,9 +8,9 @@
         <tags-view v-if="needTagsView" />
       </div>
       <app-main />
-<!--      <right-panel v-if="showSettings">-->
-<!--        <settings />-->
-<!--      </right-panel>-->
+      <!--      <right-panel v-if="showSettings">-->
+      <!--        <settings />-->
+      <!--      </right-panel>-->
     </div>
   </div>
 </template>
@@ -58,45 +58,45 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-  @import "~@/styles/mixin.scss";
-  @import "~@/styles/variables.scss";
+@import "~@/styles/mixin.scss";
+@import "~@/styles/variables.scss";
 
-  .app-wrapper {
-    @include clearfix;
-    position: relative;
-    height: 100%;
-    width: 100%;
+.app-wrapper {
+  @include clearfix;
+  position: relative;
+  height: 100%;
+  width: 100%;
 
-    &.mobile.openSidebar {
-      position: fixed;
-      top: 0;
-    }
-  }
-
-  .drawer-bg {
-    background: #000;
-    opacity: 0.3;
-    width: 100%;
-    top: 0;
-    height: 100%;
-    position: absolute;
-    z-index: 999;
-  }
-
-  .fixed-header {
+  &.mobile.openSidebar {
     position: fixed;
     top: 0;
-    right: 0;
-    z-index: 9;
-    width: calc(100% - #{$sideBarWidth});
-    transition: width 0.28s;
   }
+}
 
-  .hideSidebar .fixed-header {
-    width: calc(100% - 54px)
-  }
+.drawer-bg {
+  background: #000;
+  opacity: 0.3;
+  width: 100%;
+  top: 0;
+  height: 100%;
+  position: absolute;
+  z-index: 999;
+}
 
-  .mobile .fixed-header {
-    width: 100%;
-  }
+.fixed-header {
+  position: fixed;
+  top: 0;
+  right: 0;
+  z-index: 9;
+  width: calc(100% - #{$sideBarWidth});
+  transition: width 0.28s;
+}
+
+.hideSidebar .fixed-header {
+  width: calc(100% - 54px)
+}
+
+.mobile .fixed-header {
+  width: 100%;
+}
 </style>

+ 3 - 2
src/router/index.js

@@ -5,6 +5,7 @@ Vue.use(Router)
 
 /* Layout */
 import Layout from '@/layout'
+import FullScreenLayout from '@/layout/components/FullScreen'
 
 /**
  * Note: sub-menu only appear when route children.length >= 1
@@ -81,11 +82,11 @@ export const constantRoutes = [
 export const asyncRoutes = [
   {
     path: '/dashboard-screen',
-    component: Layout,
+    component: FullScreenLayout,
     // redirect: '/catenary/fault',
     name: 'dashboard-screen',
     meta: {
-      title: '大屏',
+      title: '',
       icon: 'icon-jiechuwang',
       pages: ['pc:catenary']
     },

+ 56 - 85
src/views/dashboard-screen/index.vue

@@ -1,15 +1,15 @@
 <template>
-  <div class="login-container">
-123
+  <div class="dashboard-container">
+    123
   </div>
 </template>
 
 <script>
-import { captchaImage } from '@/api/user'
 
 export default {
   name: 'Login',
   data() {
+    return {}
   },
   watch: {
     $route: {
@@ -20,98 +20,69 @@ export default {
     }
   },
   created() {
-    this.captchaImage()
   },
-  methods: {
-    captchaImage() {
-      captchaImage({ type: 'math' }).then(res => {
-        const url = 'data:image/jpg;base64,' + res.img
-        this.imgSrc = url
-        this.loginForm.uuid = res.uuid
-      })
-    },
-    showPwd() {
-      if (this.passwordType === 'password') {
-        this.passwordType = ''
-      } else {
-        this.passwordType = 'password'
-      }
-      this.$nextTick(() => {
-        this.$refs.password.focus()
-      })
-    },
-    handleLogin() {
-      this.$refs.loginForm.validate(valid => {
-        if (valid) {
-          this.loading = true
-          this.$store.dispatch('user/login', this.loginForm).then(() => {
-            this.$router.push({ path: this.redirect || '/' })
-            this.loading = false
-          }).catch(() => {
-            this.loading = false
-          })
-        } else {
-          console.log('error submit!!')
-          return false
-        }
-      })
-    }
-  }
+  methods: {}
 }
 </script>
 
 <style lang="scss">
-  .login-container {
-    background-image: url('../../assets/login/bg.png');
-    background-size: 100% 100%;
-    .el-form {
-      width: 70%;
-      margin: 0 auto;
-      .el-input__inner{
-        height: 40px;
-      }
-    }
+.dashboard-container {
+  background-image: url('../../assets/login/bg.png');
+  background-size: 100% 100%;
 
+  .el-form {
+    width: 70%;
+    margin: 0 auto;
+
+    .el-input__inner {
+      height: 40px;
+    }
   }
+
+}
 </style>
 
 <style lang="css" scoped>
-  .title-container{
-    color: #547BD4;
-    font-family: Noto Sans Malayalam UI;
-    font-size: 28px;
-    line-height: 26px;
-    letter-spacing: 0px;
-  }
-  /deep/ .el-input__inner {
-    border: 0;
-    border-bottom: 1px solid #DCDFE6;
-    border-radius: 0;
-    padding: 0;
-  }
-  /deep/ .el-form-item__label{
-    padding:0;
-  }
-  .login-container {
-    min-height: 100%;
-    width: 100%;
-    overflow: hidden;
-  }
+.title-container {
+  color: #547BD4;
+  font-family: Noto Sans Malayalam UI;
+  font-size: 28px;
+  line-height: 26px;
+  letter-spacing: 0px;
+}
 
-  /deep/ .el-form-item{
-    margin-bottom: 4px;
-  }
+/deep/ .el-input__inner {
+  border: 0;
+  border-bottom: 1px solid #DCDFE6;
+  border-radius: 0;
+  padding: 0;
+}
 
-  .window-login {
-    overflow: hidden;
-    border-radius: 15px;
-    margin: 0 auto;
-    margin-top: 3%;
-    width: 800px;
-    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)
-  }
-  .picColor{
-    background: linear-gradient(166.06deg, #2782DF 0%, #003DAE 100%);
-    box-shadow: 0px 4px 8px 0px #46BBFD5B;
-  }
+/deep/ .el-form-item__label {
+  padding: 0;
+}
+
+.login-container {
+  min-height: 100%;
+  width: 100%;
+  overflow: hidden;
+}
+
+/deep/ .el-form-item {
+  margin-bottom: 4px;
+}
+
+.window-login {
+  overflow: hidden;
+  border-radius: 15px;
+  margin: 0 auto;
+  margin-top: 3%;
+  width: 800px;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)
+}
+
+.picColor {
+  background: linear-gradient(166.06deg, #2782DF 0%, #003DAE 100%);
+  box-shadow: 0px 4px 8px 0px #46BBFD5B;
+}
 </style>