|
@@ -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
|
|
|
- },
|
|
|
- }
|
|
|
-})
|
|
|
+ },
|
|
|
+});
|