clone code
This commit is contained in:
parent
c9597d1e38
commit
d57bcd1719
362 changed files with 104804 additions and 0 deletions
236
src/modules/01_metadata/store.ts
Normal file
236
src/modules/01_metadata/store.ts
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
import { ref, computed } from "vue";
|
||||
import { defineStore } from "pinia";
|
||||
|
||||
export const useManageDataStore = defineStore("manage", () => {
|
||||
interface manage {
|
||||
link: number;
|
||||
person: {
|
||||
name: string;
|
||||
prefix: { columns: String[] };
|
||||
blood: { columns: String[] };
|
||||
gender: { columns: String[] };
|
||||
religion: { columns: String[] };
|
||||
relationship: { columns: String[] };
|
||||
education: { columns: String[] };
|
||||
province: { columns: String[] };
|
||||
district: { columns: String[] };
|
||||
subDistrict: { columns: String[] };
|
||||
};
|
||||
organization: {
|
||||
name: string;
|
||||
organization: { columns: String[] };
|
||||
shortName: { columns: String[] };
|
||||
type: { columns: String[] };
|
||||
level: { columns: String[] };
|
||||
agency: { columns: String[] };
|
||||
governmentAgency: { columns: String[] };
|
||||
status: { columns: String[] };
|
||||
telInternal: { columns: String[] };
|
||||
telExternal: { columns: String[] };
|
||||
fax: { columns: String[] };
|
||||
};
|
||||
position: {
|
||||
name: string;
|
||||
path: { columns: String[] };
|
||||
executiveSide: { columns: String[] };
|
||||
type: { columns: String[] };
|
||||
line: { columns: String[] };
|
||||
pathSide: { columns: String[] };
|
||||
executive: { columns: String[] };
|
||||
level: { columns: String[] };
|
||||
status: { columns: String[] };
|
||||
};
|
||||
positionEmployee: {
|
||||
name: string;
|
||||
position: { columns: String[] };
|
||||
positionSide: { columns: String[] };
|
||||
group: { columns: String[] };
|
||||
line: { columns: String[] };
|
||||
level: { columns: String[] };
|
||||
status: { columns: String[] };
|
||||
};
|
||||
calendar: {
|
||||
name: string;
|
||||
tree: { columns: String[] };
|
||||
list: { columns: String[] };
|
||||
};
|
||||
insignia: {
|
||||
name: string;
|
||||
class: { columns: String[] };
|
||||
type: { columns: String[] };
|
||||
// badge: { columns: String[] };
|
||||
};
|
||||
}
|
||||
|
||||
const manageData = ref<manage>({
|
||||
link: 1,
|
||||
person: {
|
||||
name: "",
|
||||
prefix: { columns: [] },
|
||||
blood: { columns: [] },
|
||||
gender: { columns: [] },
|
||||
religion: { columns: [] },
|
||||
relationship: { columns: [] },
|
||||
education: { columns: [] },
|
||||
province: { columns: [] },
|
||||
district: { columns: [] },
|
||||
subDistrict: { columns: [] },
|
||||
},
|
||||
organization: {
|
||||
name: "",
|
||||
organization: { columns: [] },
|
||||
shortName: { columns: [] },
|
||||
type: { columns: [] },
|
||||
level: { columns: [] },
|
||||
agency: { columns: [] },
|
||||
governmentAgency: { columns: [] },
|
||||
status: { columns: [] },
|
||||
telInternal: { columns: [] },
|
||||
telExternal: { columns: [] },
|
||||
fax: { columns: [] },
|
||||
},
|
||||
position: {
|
||||
name: "",
|
||||
path: { columns: [] },
|
||||
executiveSide: { columns: [] },
|
||||
type: { columns: [] },
|
||||
line: { columns: [] },
|
||||
pathSide: { columns: [] },
|
||||
executive: { columns: [] },
|
||||
level: { columns: [] },
|
||||
status: { columns: [] },
|
||||
},
|
||||
positionEmployee: {
|
||||
name: "",
|
||||
position: { columns: [] },
|
||||
positionSide: { columns: [] },
|
||||
group: { columns: [] },
|
||||
line: { columns: [] },
|
||||
level: { columns: [] },
|
||||
status: { columns: [] },
|
||||
},
|
||||
calendar: {
|
||||
name: "",
|
||||
tree: { columns: [] },
|
||||
list: { columns: [] },
|
||||
},
|
||||
insignia: {
|
||||
name: "",
|
||||
class: { columns: [] },
|
||||
type: { columns: [] },
|
||||
// badge: { columns: [] },
|
||||
},
|
||||
});
|
||||
|
||||
const changeManageCurrentTab = (type: number, val: string) => {
|
||||
if (type == 1) manageData.value.person.name = val;
|
||||
if (type == 2) manageData.value.organization.name = val;
|
||||
if (type == 3) manageData.value.position.name = val;
|
||||
if (type == 4) manageData.value.positionEmployee.name = val;
|
||||
if (type == 5) manageData.value.calendar.name = val;
|
||||
if (type == 6) manageData.value.insignia.name = val;
|
||||
localStorage.setItem("manage", JSON.stringify(manageData.value));
|
||||
};
|
||||
|
||||
const changeManageColumns = (type: number, tab: String, val: String[]) => {
|
||||
if (type == 1) {
|
||||
if (tab == "blood") manageData.value.person.blood.columns = val;
|
||||
if (tab == "district") manageData.value.person.district.columns = val;
|
||||
if (tab == "education") manageData.value.person.education.columns = val;
|
||||
if (tab == "gender") manageData.value.person.gender.columns = val;
|
||||
if (tab == "prefix") manageData.value.person.prefix.columns = val;
|
||||
if (tab == "province") manageData.value.person.province.columns = val;
|
||||
if (tab == "religion") manageData.value.person.religion.columns = val;
|
||||
if (tab == "relationship")
|
||||
manageData.value.person.relationship.columns = val;
|
||||
if (tab == "subDistrict")
|
||||
manageData.value.person.subDistrict.columns = val;
|
||||
}
|
||||
if (type == 2) {
|
||||
if (tab == "agency") manageData.value.organization.agency.columns = val;
|
||||
if (tab == "fax") manageData.value.organization.fax.columns = val;
|
||||
if (tab == "governmentAgency")
|
||||
manageData.value.organization.governmentAgency.columns = val;
|
||||
if (tab == "shortName")
|
||||
manageData.value.organization.shortName.columns = val;
|
||||
if (tab == "level") manageData.value.organization.level.columns = val;
|
||||
if (tab == "organization")
|
||||
manageData.value.organization.organization.columns = val;
|
||||
if (tab == "status") manageData.value.organization.status.columns = val;
|
||||
if (tab == "telExternal")
|
||||
manageData.value.organization.telExternal.columns = val;
|
||||
if (tab == "telInternal")
|
||||
manageData.value.organization.telInternal.columns = val;
|
||||
if (tab == "type") manageData.value.organization.type.columns = val;
|
||||
}
|
||||
if (type == 3) {
|
||||
if (tab == "executive") manageData.value.position.executive.columns = val;
|
||||
if (tab == "executiveSide")
|
||||
manageData.value.position.executiveSide.columns = val;
|
||||
if (tab == "level") manageData.value.position.level.columns = val;
|
||||
if (tab == "line") manageData.value.position.line.columns = val;
|
||||
if (tab == "path") manageData.value.position.path.columns = val;
|
||||
if (tab == "pathSide") manageData.value.position.pathSide.columns = val;
|
||||
if (tab == "status") manageData.value.position.status.columns = val;
|
||||
if (tab == "type") manageData.value.position.type.columns = val;
|
||||
}
|
||||
if (type == 4) {
|
||||
if (tab == "group") manageData.value.positionEmployee.group.columns = val;
|
||||
if (tab == "level") manageData.value.positionEmployee.level.columns = val;
|
||||
if (tab == "line") manageData.value.positionEmployee.line.columns = val;
|
||||
if (tab == "position")
|
||||
manageData.value.positionEmployee.position.columns = val;
|
||||
if (tab == "positionSide")
|
||||
manageData.value.positionEmployee.positionSide.columns = val;
|
||||
if (tab == "status")
|
||||
manageData.value.positionEmployee.status.columns = val;
|
||||
}
|
||||
if (type == 5) {
|
||||
if (tab == "tree") manageData.value.calendar.tree.columns = val;
|
||||
if (tab == "list") manageData.value.calendar.list.columns = val;
|
||||
}
|
||||
if (type == 6) {
|
||||
// if (tab == "badge") manageData.value.insignia.badge.columns = val;
|
||||
if (tab == "class") manageData.value.insignia.class.columns = val;
|
||||
if (tab == "type") manageData.value.insignia.type.columns = val;
|
||||
}
|
||||
localStorage.setItem("manage", JSON.stringify(manageData.value));
|
||||
};
|
||||
|
||||
const changeManageLink = (val: number) => {
|
||||
manageData.value.link = val;
|
||||
localStorage.setItem("manage", JSON.stringify(manageData.value));
|
||||
};
|
||||
|
||||
if (localStorage.getItem("manage")) {
|
||||
const data = JSON.parse(localStorage.getItem("manage") || "{}");
|
||||
const isDataValid = Object.getOwnPropertyNames(manageData.value).every(
|
||||
(val1) => {
|
||||
const descriptor1 = Object.getOwnPropertyDescriptor(
|
||||
manageData.value,
|
||||
val1
|
||||
);
|
||||
return (
|
||||
descriptor1 &&
|
||||
descriptor1.configurable &&
|
||||
Object.getOwnPropertyNames(descriptor1.value).every((val2) => {
|
||||
return data[val1] && data[val1].hasOwnProperty(val2);
|
||||
})
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
if (isDataValid) {
|
||||
manageData.value = data;
|
||||
} else {
|
||||
localStorage.setItem("manage", JSON.stringify(manageData.value));
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
manageData,
|
||||
changeManageCurrentTab,
|
||||
changeManageLink,
|
||||
changeManageColumns,
|
||||
};
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue