From 3e8f5d89e44c5f467b94d49f40b0ee3d307c89c3 Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期一, 15 九月 2025 14:27:16 +0800
Subject: [PATCH] ID1766-暂存
---
src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue | 203 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 192 insertions(+), 11 deletions(-)
diff --git a/src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue b/src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue
index 89b7705..15492bf 100644
--- a/src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue
+++ b/src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue
@@ -39,40 +39,221 @@
</template>
<script lang="ts">
-import { reactive, toRefs } from "vue";
+import { computed, reactive, toRefs } from "vue";
import closeImg from "@/img/close.png";
-import { addDefaultRowApi } from '@/api/patient_hemo_med_start/index';
-import type { StartRecord } from '@/api/patient_hemo_med_start/types/index.type';
+import { addDefaultRowApi } from "@/api/patient_hemo_med_start/index";
+import type { StartRecord } from "@/api/patient_hemo_med_start/types/index.type";
+import { useBedsideAuxiliaryScreenStore } from "@/store/bedsideAuxiliaryScreen";
+import { getInventoryItemListApi } from "@/api/inventory/itemDict";
+import { getUsersByRoleCodeApi } from "@/api/user/index";
+import { getDictTypeApi } from "@/api/dict/index";
+import { DictType } from "@/api/dict/types/index.type";
-interface FormData extends Omit<StartRecord, 'startCcType' | 'startCcASideDirection'> {
+interface FormData
+ extends Omit<StartRecord, "startCcType" | "startCcASideDirection"> {
/** 穿刺方式 */
startCcType: string[];
/** 穿刺方向 */
startCcASideDirection: string[];
}
-
interface State {
loading: boolean;
show: boolean;
formData: FormData | {};
+ doneUseNsyOptions: any[];
+ doneUseHlbOptions: any[];
+ disposablePipelineOptions: any[];
+ hemofiltrationTubeOptions: any[];
+ nurseOptions: any[];
+ punctureMethodOptions: any[];
+ typePunctureNeedleOptions: any[];
+ punctureDirectionOptions: any[];
+ punctureNeedleOptions: any[];
}
export default {
name: "StartDialysis",
setup() {
+ const bedsideAuxiliaryScreenStore = useBedsideAuxiliaryScreenStore();
+
const state = reactive<State>({
loading: false,
show: false,
- formData: {}
+ formData: {},
+ doneUseNsyOptions: [], // 透析浓缩液列表
+ doneUseHlbOptions: [], // 透析护理包列表
+ disposablePipelineOptions: [], // 一次性使用管路列表
+ hemofiltrationTubeOptions: [], // 血滤管列表
+ nurseOptions: [], // 护士列表
+ punctureMethodOptions: [], // 穿刺方式列表
+ typePunctureNeedleOptions: [], // 穿刺针类型列表
+ punctureDirectionOptions: [], // 穿刺方向列表
+ punctureNeedleOptions: [], // 穿刺针列表
});
- const openDialog = () => {
+ const recordCode = computed(() => {
+ return bedsideAuxiliaryScreenStore.deviceData.signedIn.透析单编号;
+ });
+
+ const clientCode = computed(() => {
+ return bedsideAuxiliaryScreenStore.deviceData.客户编号;
+ });
+
+ const openDialog = async () => {
state.show = true;
+ state.loading = true;
+ try {
+ const promiseFuns = [];
+ if (state.doneUseNsyOptions.length <= 0) {
+ promiseFuns.push(getDoneUseNsys());
+ }
+ if (state.doneUseHlbOptions.length <= 0) {
+ promiseFuns.push(getdoneUseHlbs());
+ }
+ if (state.disposablePipelineOptions.length <= 0) {
+ promiseFuns.push(getDisposablePipelines());
+ }
+ if (state.hemofiltrationTubeOptions.length <= 0) {
+ promiseFuns.push(getHemofiltrationTubes());
+ }
+ if (state.punctureNeedleOptions.length <= 0) {
+ promiseFuns.push(getPunctureNeedles());
+ }
+ if (state.nurseOptions.length <= 0) {
+ promiseFuns.push(getNurses());
+ }
+ if (state.punctureMethodOptions.length <= 0) {
+ promiseFuns.push(getPunctureMethods());
+ }
+ if (state.typePunctureNeedleOptions.length <= 0) {
+ promiseFuns.push(getTypePunctureNeedles());
+ }
+ if (state.punctureDirectionOptions.length <= 0) {
+ promiseFuns.push(getPunctureDirectionOptions());
+ }
+ await Promise.all(promiseFuns);
+ } catch (error) {
+ console.error("开始透析初始化失败", error);
+ state.show = false;
+ } finally {
+ state.loading = false;
+ }
};
- const getStartData = async () => {
- const { data } = await addDefaultRowApi(`recordCode=`)
-
+ /**
+ * 获取开始透析默认数据
+ */
+ // const getStartData = async () => {
+ // const { data } = await addDefaultRowApi(`recordCode=${recordCode}`);
+ // };
+
+ /**
+ * 获取透析浓缩液字典数据
+ */
+ const getDoneUseNsys = async () => {
+ const params = {
+ page: 0,
+ size: 0,
+ wherecondition: `inventory_type_code='IT2112291619002680' and is_show = 1 and client_code='${clientCode.value}'`,
+ ordercondition: "item_is_use desc, item_sort_order asc",
+ isPure: 0,
+ };
+ const { data } = await getInventoryItemListApi(params);
+ state.doneUseNsyOptions = data.list;
+ };
+
+ /**
+ * 获取透析护理包字典数据
+ */
+ const getdoneUseHlbs = async () => {
+ const params = {
+ page: 0,
+ size: 0,
+ wherecondition: `inventory_type_code='IT2112291619003161' and is_show = 1 and client_code='${clientCode.value}'`,
+ ordercondition: "item_is_use desc, item_sort_order asc",
+ isPure: 0,
+ };
+ const { data } = await getInventoryItemListApi(params);
+ state.doneUseHlbOptions = data.list;
+ };
+
+ /**
+ * 获取一次性使用管路字典数据
+ */
+ const getDisposablePipelines = async () => {
+ const params = {
+ page: 0,
+ size: 0,
+ wherecondition: `inventory_type_code='IT2112291619006054' and is_show = 1 and client_code='${clientCode.value}'`,
+ ordercondition: "item_is_use desc, item_sort_order asc",
+ isPure: 0,
+ };
+ const { data } = await getInventoryItemListApi(params);
+ state.disposablePipelineOptions = data.list;
+ };
+
+ /**
+ * 获取血滤管字典数据
+ */
+ const getHemofiltrationTubes = async () => {
+ const params = {
+ page: 1,
+ size: 10,
+ wherecondition: `inventory_type_code='IT9024215920713quQV' and is_show = 1 and client_code='${clientCode.value}'`,
+ ordercondition: "item_is_use desc, item_sort_order asc",
+ isPure: 0,
+ };
+ const { data } = await getInventoryItemListApi(params);
+ state.hemofiltrationTubeOptions = data.list;
+ };
+
+ /**
+ * 获取穿刺针字典数据
+ */
+ const getPunctureNeedles = async () => {
+ const params = {
+ page: 1,
+ size: 10,
+ wherecondition: `inventory_type_code='IT3561011130526051' and is_show = 1 and client_code='${clientCode.value}'`,
+ ordercondition: "item_is_use desc, item_sort_order asc",
+ isPure: 0,
+ };
+ const { data } = await getInventoryItemListApi(params);
+ state.punctureNeedleOptions = data.list;
+ };
+
+ /**
+ * 获取护士数据
+ */
+ const getNurses = async () => {
+ const { data } = await getUsersByRoleCodeApi(
+ `clientCode=${clientCode.value}&roleClass=nurse`
+ );
+ state.nurseOptions = data;
+ };
+
+ /**
+ * 获取穿刺方式字典数据
+ */
+ const getPunctureMethods = async () => {
+ const { data } = await getDictTypeApi({ dictType: DictType.穿刺方式 });
+ state.punctureMethodOptions = data;
+ };
+
+ /**
+ * 获取穿刺针类型字典数据
+ */
+ const getTypePunctureNeedles = async () => {
+ const { data } = await getDictTypeApi({ dictType: DictType.穿刺针类型 });
+ state.typePunctureNeedleOptions = data;
+ };
+
+ /**
+ * 获取穿刺针方向字典数据
+ */
+ const getPunctureDirectionOptions = async () => {
+ const { data } = await getDictTypeApi({ dictType: DictType.穿刺方向 });
+ state.punctureDirectionOptions = data;
};
const handleCancel = () => {
@@ -147,7 +328,7 @@
}
}
.start-dialysis-content {
- padding: 0 12px 0px 12px;
+ padding: 0 12px 0px 12px;
margin-bottom: 4px;
border-bottom: 1px solid #d8d8d8;
}
--
Gitblit v1.8.0