Browse Source

保存公共配置到vuex

linan 5 years ago
parent
commit
08cf80a9da
2 changed files with 32 additions and 2 deletions
  1. 8 1
      src/store/index.js
  2. 24 1
      src/views/Home/Home.vue

+ 8 - 1
src/store/index.js

@@ -7,7 +7,8 @@ Vue.use(Vuex)
 export default new Vuex.Store({
 	strict: true,
 	state: {
-		token: localStorage.getItem("token")
+		token: localStorage.getItem("token"),
+		publicConfig: []
 	},
 	getters: {
 		token: state => state.token,
@@ -15,6 +16,11 @@ export default new Vuex.Store({
 	mutations: {
 		setToken(state, token) {
 			state.token = token
+		},
+		// 保存公共配置
+		savaPublicConfig(state, parmas) {
+			console.log(parmas)
+			state.publicConfig = parmas
 		}
 	},
 	actions: {
@@ -28,5 +34,6 @@ export default new Vuex.Store({
 		upload({ state }, params) {
 			return sdk.uploadCustom(params, state.token)
 		}
+		
 	}
 })

+ 24 - 1
src/views/Home/Home.vue

@@ -11,6 +11,7 @@
                 ></el-button>
             </div>
             <div class="right">
+                <el-button @click="loadPublicConfig" icon="el-icon-refresh" style="margin-right:30px;" circle></el-button>
                 <span class="warp">
                     <el-dropdown @command="onLogOut">
                         <span class="el-dropdown-link">
@@ -104,6 +105,8 @@
 
 <script>
 import { menuData } from "./mencCofig.js";
+import { mapActions, mapMutations } from "vuex";
+
 
 export default {
     data() {
@@ -121,8 +124,13 @@ export default {
         ];
         this.menuCollapse = JSON.parse(localStorage.getItem("menuCollapse"));
         this.tags = JSON.parse(localStorage.getItem("tagsNavList")) || [];
+
+        //加载公共配置 到vuex中
+        this.loadPublicConfig()
     },
     methods: {
+        ...mapActions(["fetch"]),
+        ...mapMutations(["savaPublicConfig"]),
         // 收取菜单按钮
         onMenuCollapse() {
             this.menuCollapse = !this.menuCollapse;
@@ -209,7 +217,22 @@ export default {
         },
         onLogOut() {
             this.$router.push('login')
-        }
+        },
+        //加载公共配置 到vuex中
+        loadPublicConfig() {
+            this.fetch({
+                api: "/publics/sysconf/list",
+                success: res => {
+                    console.log(res);
+                    // this.configList = res;
+                    let temp = res.map(item => {
+                        return JSON.parse(item.conf.data)
+                    })
+                    console.log(temp)
+                    this.savaPublicConfig(temp)
+                }
+            });
+        },
     }
 };
 </script>