You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.6 KiB
JavaScript

import {
defineStore
} from 'pinia';
export const useStore = defineStore('counter', {
state: () => ({
user: {},
yytjInfo: {},
config: false,
patientInfo: {}, // 病人信息
groupInfo: {}, // 团检信息
save: {
hospital: 1,
doctor: 1,
},
api_map: {},
count: 0,
loading: 0,
}),
actions: {
setYytjInfo(yytjInfo) {
this.yytjInfo = yytjInfo;
uni.setStorageSync('yytjInfo', JSON.stringify(yytjInfo));
},
getYytjInfo() {
return JSON.parse(uni.getStorageSync('yytjInfo')) || this.yytjInfo;
},
setUser(user) {
this.user = user;
uni.setStorageSync('USER', JSON.stringify(user));
},
getUser() {
return JSON.parse(uni.getStorageSync('USER')) || this.user;
},
setPatientInfo(info) {
this.patientInfo = info;
uni.setStorageSync('PATIENT_INFO', JSON.stringify(info));
},
getPatientInfo() {
return JSON.parse(uni.getStorageSync('PATIENT_INFO')) || this.patientInfo;
},
setGroupInfo(info) {
this.groupInfo = info;
uni.setStorageSync('GROUP_INFO', JSON.stringify(info));
},
getGroupInfo() {
return JSON.parse(uni.getStorageSync('GROUP_INFO')) || this.groupInfo;
},
resetSaveInfo() {
this.save = {
hospital: 0,
doctor: 1,
}
uni.setStorageSync('SAVE_INFO', JSON.stringify(this.save))
},
saveInfo(data) {
for (let i in data) {
this.save[i] = data[i]
}
uni.setStorageSync('SAVE_INFO', JSON.stringify(this.save))
},
loadingStart() {
this.loading++
},
loadingDone() {
this.loading--
if (this.loading < 0) this.loading = 0
}
},
});