|
@@ -36,6 +36,7 @@ import { useUserStore } from "@/pinia/user-store";
|
|
|
import { emrRootContextKey } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-func/useEmrStore";
|
|
|
import TabsResizer from "@/components/cy/cy-el-tabs/TabsResizer.vue";
|
|
|
import TabPaneResizer from "@/components/cy/cy-el-tabs/TabPaneResizer.vue";
|
|
|
+import XEUtils from "xe-utils";
|
|
|
|
|
|
const defaultProps = {
|
|
|
children: "children",
|
|
@@ -269,6 +270,27 @@ const EmrSidebar = defineComponent({
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+ function find(list: any[], id: string) {
|
|
|
+ for (let i = 0; i < list.length; i++) {
|
|
|
+ const item = list[i];
|
|
|
+ if (item?.emrDocumentId === id) {
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+ if (item.children) {
|
|
|
+ return find(item.children, id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function loadByDocumentId(id: string) {
|
|
|
+ const findData = XEUtils.findTree(returnData.value.patientTree, item => {
|
|
|
+ return item?.emrDocumentId === id;
|
|
|
+ });
|
|
|
+ if (findData.item) {
|
|
|
+ saveEmr(findData.item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
function saveEmr(val: EmrPatientData) {
|
|
|
const params: EmrParam = {
|
|
|
documentId: val.emrDocumentId,
|
|
@@ -288,6 +310,7 @@ const EmrSidebar = defineComponent({
|
|
|
}
|
|
|
|
|
|
emrMitt.on("loadTemplate", template);
|
|
|
+ emrMitt.on("loadByDocumentId", loadByDocumentId);
|
|
|
|
|
|
onMounted(() => {
|
|
|
emrMitt.on("determineWhetherItCanBeCreated", () => {
|