xiaochan 11 ヶ月 前
コミット
bda1459ac1
1 ファイル変更83 行追加80 行削除
  1. 83 80
      src/pinia/system-store.ts

+ 83 - 80
src/pinia/system-store.ts

@@ -1,92 +1,95 @@
-import {defineStore} from 'pinia';
-import {useLocalStorage} from "@vueuse/core";
+import { defineStore } from "pinia";
+import { useLocalStorage } from "@vueuse/core";
 import XEUtils from "xe-utils";
 // @ts-ignore
-import {setUserConfig} from "@/api/settings/user-settings";
+import { setUserConfig } from "@/api/settings/user-settings";
 
 declare interface SystemAttr {
-    theme: object,
-    unreadMessageCount: number,
-    systemMessages: string[],
-    hospitalCode: string,
-    systemName: string,
-    userConfig: SystemConfig
+  theme: object;
+  unreadMessageCount: number;
+  systemMessages: string[];
+  hospitalCode: string;
+  systemName: string;
+  userConfig: SystemConfig;
+  expandOneMenu: boolean;
 }
 
 export interface SystemConfig {
-    isCollapse: boolean;
-    layOutPageName: 'defaultLayout' | 'filletLayout';
-    yz_orderBySort: 'desc' | 'asc';
-    yz_orderTimeDay: number;
-    emr_size: 'default' | 'large';
-    emr_function_button_show_text: boolean,
-    emr_review_mode: number;
-    emr_function_layout: string
+  isCollapse: boolean;
+  layOutPageName: "defaultLayout" | "filletLayout";
+  yz_orderBySort: "desc" | "asc";
+  yz_orderTimeDay: number;
+  emr_size: "default" | "large";
+  emr_function_button_show_text: boolean;
+  emr_review_mode: number;
+  emr_function_layout: string;
 }
 
 const userConfig: SystemConfig = {
-    isCollapse: true,
-    layOutPageName: 'filletLayout',
-    yz_orderBySort: 'asc',
-    yz_orderTimeDay: -1,
-    emr_size: 'large',
-    emr_function_button_show_text: true,
-    emr_review_mode: 1,
-    emr_function_layout: "baocun,tijiao,shenhe,shanchu,huanyuan,huishouzhan,shujutongbu,zancun,chexiao,chongzuo,shenyue,daying,fangda,suoxiao,bingchengjilupaixu,fenyefu,xianshifenyefu,liaotianshi,jiesuobinglixianzhi,huanzheliebiao"
-}
+  isCollapse: true,
+  layOutPageName: "filletLayout",
+  yz_orderBySort: "asc",
+  yz_orderTimeDay: -1,
+  emr_size: "large",
+  emr_function_button_show_text: true,
+  emr_review_mode: 1,
+  emr_function_layout:
+    "baocun,tijiao,shenhe,shanchu,huanyuan,huishouzhan,shujutongbu,zancun,chexiao,chongzuo,shenyue,daying,fangda,suoxiao,bingchengjilupaixu,fenyefu,xianshifenyefu,liaotianshi,jiesuobinglixianzhi,huanzheliebiao",
+};
 
-export const useSystemStore = defineStore('system', {
-    state: () => useLocalStorage<SystemAttr>('systemStore', ({
-        userConfig: userConfig,
-        theme: {},  // 主题
-        unreadMessageCount: 0, // 未查看的消息数量
-        systemMessages: [], // 已经看过的系统通知id
-        hospitalCode: 'H43010500370',
-        systemName: '工作集成平台',
-    })).value,
-    getters: {
-        getCollapse: (state): boolean => {
-            return state.userConfig.isCollapse
-        },
-        getSystemMessages: (state): string[] => {
-            return state.systemMessages
-        },
+export const useSystemStore = defineStore("system", {
+  state: () =>
+    useLocalStorage<SystemAttr>("systemStore", {
+      userConfig: userConfig,
+      theme: {}, // 主题
+      expandOneMenu: true, // 一次是否只能展开一个菜单
+      unreadMessageCount: 0, // 未查看的消息数量
+      systemMessages: [], // 已经看过的系统通知id
+      hospitalCode: "H43010500370",
+      systemName: "工作集成平台",
+    }).value,
+  getters: {
+    getCollapse: (state): boolean => {
+      return state.userConfig.isCollapse;
+    },
+    getSystemMessages: (state): string[] => {
+      return state.systemMessages;
+    },
+  },
+  actions: {
+    merge() {
+      if (typeof this.userConfig === "undefined") {
+        this.userConfig = userConfig;
+        return;
+      }
+      for (let key in userConfig) {
+        if (!XEUtils.has(this.userConfig, key)) {
+          // @ts-ignore
+          this.userConfig[key] = userConfig[key];
+        }
+      }
+    },
+    setConfig(val: any) {
+      this.userConfig = XEUtils.assign(this.userConfig, val);
+    },
+    postUserConfig(val: any) {
+      this.userConfig = val;
+      setUserConfig(JSON.stringify(val)).then((_r: any) => {});
+    },
+    setCollapse(val: boolean) {
+      this.userConfig.isCollapse = val;
+    },
+    setUnreadMessageCount(val: number) {
+      this.unreadMessageCount = val;
+    },
+    pushSystemMessage(val: string) {
+      this.systemMessages.push(val);
+    },
+    addUnreadMessageCount(val: number) {
+      this.unreadMessageCount += val;
+    },
+    minusUnreadMessageCount(val: number) {
+      this.unreadMessageCount -= val;
     },
-    actions: {
-        merge() {
-            if (typeof this.userConfig === 'undefined') {
-                this.userConfig = userConfig
-                return
-            }
-            for (let key in userConfig) {
-                if (!XEUtils.has(this.userConfig, key)) {
-                    // @ts-ignore
-                    this.userConfig[key] = userConfig[key];
-                }
-            }
-        },
-        setConfig(val: any) {
-            this.userConfig = XEUtils.assign(this.userConfig, val)
-        },
-        postUserConfig(val: any) {
-            this.userConfig = val
-            setUserConfig(JSON.stringify(val)).then((_r: any) => {
-            })
-        },
-        setCollapse(val: boolean) {
-            this.userConfig.isCollapse = val
-        },
-        setUnreadMessageCount(val: number) {
-            this.unreadMessageCount = val
-        },
-        pushSystemMessage(val: string) {
-            this.systemMessages.push(val)
-        },
-        addUnreadMessageCount(val: number) {
-            this.unreadMessageCount += val
-        },
-        minusUnreadMessageCount(val: number) {
-            this.unreadMessageCount -= val
-        },
-    }
-})
+  },
+});