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