From d6a773d0b90e64622289eb0362803420efb193b1 Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期一, 15 九月 2025 16:46:19 +0800
Subject: [PATCH] ID1766-开始透完成

---
 src/api/patient_hemo_med_start/types/index.type.ts                         |    8 
 src/api/inventory/types/itemDict.type.ts                                   |    2 
 src/api/patient_hemo_med_start/index.ts                                    |   15 +
 postcss.config.js                                                          |   32 +-
 src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue |  574 ++++++++++++++++++++++++++++++++++++++++++++++++---
 5 files changed, 570 insertions(+), 61 deletions(-)

diff --git a/postcss.config.js b/postcss.config.js
index 86ee644..b493b9a 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -3,22 +3,22 @@
     'postcss-pxtorem': {
       rootValue: 37.5,
       propList: ['*'],
-      // include: file => {
-      //   if (!file) return false;
-      //   const normalized = file.replace(/\\/g, '/');
-      //   // 只转换 mobile 目录里的样式 OR element-plus 目录里的样式
-      //   // 但 element-plus 样式只在 mobile 目录被引用时才生效,需保证引用范围
-      //   return normalized.includes('/src/views/mobile/') || normalized.includes('/node_modules/element-plus/');
-      // },
-      // exclude: file => {
-      //   if (!file) return false;
-      //   const normalized = file.replace(/\\/g, '/');
-      //   // 排除除 element-plus 外的 node_modules,防止无关样式被转
-      //   if (/node_modules/.test(normalized) && !normalized.includes('/node_modules/element-plus/')) {
-      //     return true;
-      //   }
-      //   return false;
-      // },
+      include: file => {
+        if (!file) return false;
+        const normalized = file.replace(/\\/g, '/');
+        // 只转换 mobile 目录里的样式 OR element-plus 目录里的样式
+        // 但 element-plus 样式只在 mobile 目录被引用时才生效,需保证引用范围
+        return normalized.includes('/src/views/mobile/') || normalized.includes('/node_modules/element-plus/');
+      },
+      exclude: file => {
+        if (!file) return false;
+        const normalized = file.replace(/\\/g, '/');
+        // 排除除 element-plus 外的 node_modules,防止无关样式被转
+        if (/node_modules/.test(normalized) && !normalized.includes('/node_modules/element-plus/')) {
+          return true;
+        }
+        return false;
+      },
       minPixelValue: 2,
     }
   }
diff --git a/src/api/inventory/types/itemDict.type.ts b/src/api/inventory/types/itemDict.type.ts
index b6bd9e4..5c3329a 100644
--- a/src/api/inventory/types/itemDict.type.ts
+++ b/src/api/inventory/types/itemDict.type.ts
@@ -2,5 +2,5 @@
 
 
 export interface InventoryItemListParams extends ListParams {
-    isPure: number;
+    isPure?: number;
 }
\ No newline at end of file
diff --git a/src/api/patient_hemo_med_start/index.ts b/src/api/patient_hemo_med_start/index.ts
index f7b80e4..d0fa1f9 100644
--- a/src/api/patient_hemo_med_start/index.ts
+++ b/src/api/patient_hemo_med_start/index.ts
@@ -6,7 +6,7 @@
  * @param params `recordCode=${recordCode}`
  * @returns 
  */
-export function addDefaultRowApi(params: string) :Promise<StartRecord> {
+export function addDefaultRowApi(params: string) :Promise<{ data: StartRecord }> {
   return request({
     url: "/patient/hemo/med/start/addDefaultRow",
     method: "post",
@@ -16,3 +16,16 @@
     data: params,
   });
 }
+
+/**
+ * 修改开始透析数据api
+ * @param params 
+ * @returns 
+ */
+export function updateMedstartDataApi(params: StartRecord) {
+    return request({
+        url: '/patient/hemo/med/start/update',
+        method: 'post',
+        data: params,
+    });
+}
\ No newline at end of file
diff --git a/src/api/patient_hemo_med_start/types/index.type.ts b/src/api/patient_hemo_med_start/types/index.type.ts
index e81314d..dd5b623 100644
--- a/src/api/patient_hemo_med_start/types/index.type.ts
+++ b/src/api/patient_hemo_med_start/types/index.type.ts
@@ -9,8 +9,8 @@
   doneGl: string;
   doneGlName: string;
   doneGlSpecName: string;
-  id: number;
-  isDeleted: number;
+  id: number | null;
+  isDeleted: number | null;
   monitorDataCode: string;
   recordCode: string;
   remark: string;
@@ -29,8 +29,8 @@
   startCcZhenVName: string;
   startCcZhenVSpecName: string;
   startEntranceType: string;
-  startIsCcOrHy: number;
-  startIsSave: number;
+  startIsCcOrHy: number | null;
+  startIsSave: number | null;
   startMedNurse: string;
   startMedNurseName: string;
   startTime: string | null;
diff --git a/src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue b/src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue
index 15492bf..e520d4a 100644
--- a/src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue
+++ b/src/views/mobile/bedsideAuxiliaryScreen/components/StartDialysis/index.vue
@@ -22,7 +22,323 @@
         </div>
       </template>
       <div class="start-dialysis-content" v-loading="loading">
-        <el-form></el-form>
+        <el-form :model="formData" size="large">
+          <el-row :gutter="10">
+            <el-col :span="6">
+              <el-form-item label="开始时间">
+                <el-time-select
+                  v-model="formData.startTime"
+                  start="00:00"
+                  step="00:01"
+                  end="23:59"
+                  placeholder="请选择"
+                  :clearable="false"
+                  style="width: 100%"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="治疗护士">
+                <el-select
+                  @change="onStartMedNurseChange"
+                  style="width: 100%"
+                  v-model="formData.startMedNurse"
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="item in nurseOptions"
+                    :key="item.code"
+                    :label="item.userName"
+                    :disabled="item.isValid === 0"
+                    :value="item.code"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="上机护士">
+                <el-select
+                  style="width: 100%"
+                  v-model="formData.startUpNurse"
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="item in nurseOptions"
+                    :key="item.code"
+                    :label="item.userName"
+                    :disabled="item.isValid === 0"
+                    :value="item.code"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="预充管路">
+                <el-select
+                  style="width: 100%"
+                  v-model="formData.startYcNurse"
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="item in nurseOptions"
+                    :key="item.code"
+                    :label="item.userName"
+                    :disabled="item.isValid === 0"
+                    :value="item.code"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="穿刺/换药">
+                <el-select
+                  style="width: 100%"
+                  v-model="formData.startIsCcOrHy"
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="(item, index) in startIsCcOrHyOptions"
+                    :key="index"
+                    :label="item.label"
+                    :value="item.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <template v-if="formData.startIsCcOrHy === 1">
+              <el-col :span="6">
+                <el-form-item label="换药护士">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.startCcNurse"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="item in nurseOptions"
+                      :key="item.code"
+                      :label="item.userName"
+                      :disabled="item.isValid === 0"
+                      :value="item.code"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </template>
+            <template v-else-if="formData.startIsCcOrHy === 0">
+              <el-col :span="6">
+                <el-form-item label="穿刺护士">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.startCcNurse"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="item in nurseOptions"
+                      :key="item.code"
+                      :label="item.userName"
+                      :disabled="item.isValid === 0"
+                      :value="item.code"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </template>
+            <template v-else-if="formData.startIsCcOrHy === 2">
+              <el-col :span="6">
+                <el-form-item label="换药护士">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.startCcNurse"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="item in nurseOptions"
+                      :key="item.code"
+                      :label="item.userName"
+                      :disabled="item.isValid === 0"
+                      :value="item.code"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </template>
+            <template
+              v-if="
+                formData.startIsCcOrHy === 2 || formData.startIsCcOrHy === 0
+              "
+            >
+              <el-col :span="6">
+                <el-form-item label="穿刺方式" prop="doneCcType">
+                  <el-select
+                    style="width: 100%"
+                    multiple
+                    v-model="formData.startCcType"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="item in punctureMethodOptions"
+                      :key="item.code"
+                      :label="item.dictText"
+                      :value="item.dictText"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="穿刺针A">
+                  <el-select
+                    clearable
+                    style="width: 100%"
+                    v-model="formData.startCcZhenA"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="item in punctureNeedleOptions"
+                      :key="item.code"
+                      :label="item.itemName + ' ' + item.itemSpec"
+                      :value="item.code"
+                      :disabled="item.isShow !== 1"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item clearable label="穿刺针V">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.startCcZhenV"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="item in punctureNeedleOptions"
+                      :key="item.code"
+                      :label="item.itemName + ' ' + item.itemSpec"
+                      :value="item.code"
+                      :disabled="item.isShow !== 1"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="穿刺方向">
+                  <el-select
+                    style="width: 100%"
+                    multiple
+                    v-model="formData.startCcASideDirection"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="item in punctureDirectionOptions"
+                      :key="item.code"
+                      :label="item.dictText"
+                      :value="item.dictText"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </template>
+            <el-col :span="6">
+              <el-form-item label="引血(ml/min)">
+                <el-input style="width: 100%" v-model="formData.startYingxue" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="透析器编号">
+                <el-input style="width: 100%" v-model="formData.startTxqNo" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="入科方式">
+                <el-select
+                  style="width: 100%"
+                  v-model="formData.startEntranceType"
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="(item, index) in startEntranceTypeOptions"
+                    :key="index"
+                    :label="item.label"
+                    :value="item.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="一次性使用管路">
+                <el-select v-model="formData.doneGl" placeholder="请选择">
+                  <el-option
+                    v-for="(item, index) in disposablePipelineOptions"
+                    :key="index"
+                    :label="item.itemName + ' ' + item.itemSpec"
+                    :value="item.code"
+                    :disabled="item.isShow !== 1"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="血滤管">
+                <el-select
+                  v-model="formData.doneByg"
+                  :disabled="formData.schemeName !== 'HDF'"
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="(item, index) in hemofiltrationTubeOptions"
+                    :key="index"
+                    :label="item.itemName + ' ' + item.itemSpec"
+                    :value="item.code"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="透析浓缩液">
+                <el-select
+                  v-model="formData.startUseNsy"
+                  multiple
+                  filterable
+                  clearable
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="(item, index) in doneUseNsyOptions"
+                    :key="index"
+                    :label="item.itemName + ' ' + item.itemSpec"
+                    :value="item.code"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="透析护理包">
+                <el-select
+                  v-model="formData.startUseHlb"
+                  filterable
+                  clearable
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="(item, index) in doneUseHlbOptions"
+                    :key="index"
+                    :label="item.itemName + ' ' + item.itemSpec"
+                    :value="item.code"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
       </div>
       <template #footer>
         <div class="my-button cancel" @click="handleCancel">取消</div>
@@ -41,26 +357,35 @@
 <script lang="ts">
 import { computed, reactive, toRefs } from "vue";
 import closeImg from "@/img/close.png";
-import { addDefaultRowApi } from "@/api/patient_hemo_med_start/index";
+import {
+  addDefaultRowApi,
+  updateMedstartDataApi,
+} 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";
+import dayjs from "dayjs";
+import { ElMessage } from "element-plus/es";
 
 interface FormData
-  extends Omit<StartRecord, "startCcType" | "startCcASideDirection"> {
+  extends Omit<
+    StartRecord,
+    "startCcType" | "startCcASideDirection" | "startUseNsy"
+  > {
   /** 穿刺方式 */
   startCcType: string[];
   /** 穿刺方向 */
   startCcASideDirection: string[];
+  startUseNsy: string[];
 }
 
 interface State {
   loading: boolean;
   show: boolean;
-  formData: FormData | {};
+  formData: FormData;
   doneUseNsyOptions: any[];
   doneUseHlbOptions: any[];
   disposablePipelineOptions: any[];
@@ -70,6 +395,9 @@
   typePunctureNeedleOptions: any[];
   punctureDirectionOptions: any[];
   punctureNeedleOptions: any[];
+  startIsCcOrHyOptions: any[];
+  startEntranceTypeOptions: any[];
+  startDate: string;
 }
 export default {
   name: "StartDialysis",
@@ -79,7 +407,57 @@
     const state = reactive<State>({
       loading: false,
       show: false,
-      formData: {},
+      formData: {
+        code: "",
+        createTime: "",
+        createUser: null,
+        deletedTime: null,
+        doneByg: "",
+        doneBygName: "",
+        doneBygSpecName: "",
+        doneGl: "",
+        doneGlName: "",
+        doneGlSpecName: "",
+        id: null,
+        isDeleted: null,
+        monitorDataCode: "",
+        recordCode: "",
+        remark: "",
+        schemeName: "",
+        /** 穿刺方向 */
+        startCcASideDirection: [],
+        startCcNurse: "",
+        startCcNurseName: "",
+        /** 穿刺方式 */
+        startCcType: [],
+        startCcZhenA: "",
+        startCcZhenAName: "",
+        startCcZhenASpecName: "",
+        startCcZhenType: "",
+        startCcZhenV: "",
+        startCcZhenVName: "",
+        startCcZhenVSpecName: "",
+        startEntranceType: "",
+        startIsCcOrHy: null,
+        startIsSave: null,
+        startMedNurse: "",
+        startMedNurseName: "",
+        startTime: null,
+        startTxqNo: "",
+        startUpNurse: "",
+        startUpNurseName: "",
+        startUseHlb: "",
+        startUseHlbName: "",
+        startUseHlbSpecName: "",
+        startUseNsy: [],
+        startUseNsyName: "",
+        startUseNsySpecName: "",
+        startYcNurse: "",
+        startYcNurseName: "",
+        startYingxue: "",
+        updateTime: "",
+        updateUser: null,
+      },
       doneUseNsyOptions: [], // 透析浓缩液列表
       doneUseHlbOptions: [], // 透析护理包列表
       disposablePipelineOptions: [], // 一次性使用管路列表
@@ -89,6 +467,20 @@
       typePunctureNeedleOptions: [], // 穿刺针类型列表
       punctureDirectionOptions: [], // 穿刺方向列表
       punctureNeedleOptions: [], // 穿刺针列表
+      startIsCcOrHyOptions: [
+        { label: "穿刺", value: 0 },
+        { label: "换药", value: 1 },
+        { label: "穿刺+换药", value: 2 },
+      ],
+      startEntranceTypeOptions: [
+        { label: "步行", value: "步行" },
+        { label: "扶行", value: "扶行" },
+        { label: "轮椅", value: "轮椅" },
+        { label: "平床", value: "平床" },
+        { label: "床旁", value: "床旁" },
+        { label: "助行器", value: "助行器" },
+      ],
+      startDate: "", // 日期部分
     });
 
     const recordCode = computed(() => {
@@ -99,39 +491,54 @@
       return bedsideAuxiliaryScreenStore.deviceData.客户编号;
     });
 
+    const userCode = computed(() => {
+      return bedsideAuxiliaryScreenStore.userInfo.userCode;
+    });
+
     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());
-        }
+        const promiseFuns = [
+          getDoneUseNsys(), 
+          getdoneUseHlbs(), 
+          getDisposablePipelines(), 
+          getHemofiltrationTubes(),
+          getPunctureNeedles(),
+          getNurses(),
+          getPunctureMethods(),
+          getTypePunctureNeedles(),
+          getPunctureDirectionOptions(),
+        ];
+        // 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);
+        await getStartData();
       } catch (error) {
         console.error("开始透析初始化失败", error);
         state.show = false;
@@ -143,9 +550,71 @@
     /**
      * 获取开始透析默认数据
      */
-    // const getStartData = async () => {
-    //   const { data } = await addDefaultRowApi(`recordCode=${recordCode}`);
-    // };
+    const getStartData = async () => {
+      const { data } = await addDefaultRowApi(`recordCode=${recordCode.value}`);
+      const dataCopy = data;
+      const nots = ["", null];
+
+      if (!nots.includes(data.startCcType)) {
+        // @ts-ignore
+        dataCopy.startCcType = data.startCcType.split(",");
+      } else {
+        // @ts-ignore
+        dataCopy.startCcType = [];
+      }
+
+      if (!nots.includes(data.startCcASideDirection)) {
+        // @ts-ignore
+        dataCopy.startCcASideDirection = data.startCcASideDirection.split(",");
+      } else {
+        // @ts-ignore
+        dataCopy.startCcASideDirection = [];
+      }
+
+      if (nots.includes(data.startTime)) {
+        dataCopy.startTime = dayjs().format("HH:mm");
+        state.startDate = dayjs().format("YYYY-MM-DD");
+      } else {
+        dataCopy.startTime = dayjs(data.startTime).format("HH:mm");
+        state.startDate = dayjs(data.startTime).format("YYYY-MM-DD");
+      }
+
+      if (nots.includes(data.startMedNurse)) {
+        dataCopy.startMedNurse = userCode.value;
+      }
+
+      if (nots.includes(data.startCcNurse)) {
+        dataCopy.startCcNurse = userCode.value;
+      }
+      if (nots.includes(data.startUpNurse)) {
+        dataCopy.startUpNurse = userCode.value;
+      }
+      if (nots.includes(data.startYcNurse)) {
+        dataCopy.startYcNurse = userCode.value;
+      }
+      if (!nots.includes(data.startUseNsy)) {
+        // @ts-ignore
+        dataCopy.startUseNsy = data.startUseNsy.split(",");
+      } else {
+        // @ts-ignore
+        dataCopy.startUseNsy = [];
+      }
+
+      if (data.schemeName !== "HDF") {
+        // 如果透析模式不算HDF的话血滤管置空
+        dataCopy.doneByg = "";
+        dataCopy.doneBygName = "";
+      } else {
+        const defaultXlg = state.hemofiltrationTubeOptions.find(
+          (e) => e.itemName === "义鑫血液净化补液管路(HDIT-1)"
+        );
+        if (defaultXlg) {
+          dataCopy.doneByg = defaultXlg.code;
+          dataCopy.doneBygName = defaultXlg.itemName;
+        }
+      }
+      state.formData = dataCopy as unknown as FormData;
+    };
 
     /**
      * 获取透析浓缩液字典数据
@@ -214,9 +683,8 @@
       const params = {
         page: 1,
         size: 10,
-        wherecondition: `inventory_type_code='IT3561011130526051' and is_show = 1 and client_code='${clientCode.value}'`,
+        wherecondition: `(inventory_type_code='IT3561011130526051' OR inventory_type_code='IT2112291619000061') 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;
@@ -261,13 +729,41 @@
       state.loading = false;
     };
 
-    const handleConfirm = () => {};
+    const handleConfirm = async () => {
+      state.loading = true;
+      try {
+        const paramsData = Object.assign({}, state.formData, {
+          startCcASideDirection:
+            state.formData.startCcASideDirection.toString(),
+          startCcType: state.formData.startCcType.toString(),
+          startUseNsy: state.formData.startUseNsy.join(","),
+          startTime: `${state.startDate} ${state.formData.startTime}:00`,
+        });
+        await updateMedstartDataApi(paramsData);
+        ElMessage.success("操作成功!");
+        state.show = false;
+      } finally {
+        state.loading = false;
+      }
+    };
+
+    /**
+     * 治疗护士的改变
+     * @param val
+     */
+    const onStartMedNurseChange = (val: string) => {
+      state.formData.startCcNurse = val;
+      state.formData.startUpNurse = val;
+      state.formData.startYcNurse = val;
+    };
+
     return {
       ...toRefs(state),
       closeImg,
       handleCancel,
       openDialog,
       handleConfirm,
+      onStartMedNurseChange,
     };
   },
 };

--
Gitblit v1.8.0