Bladeren bron

根据收费类别生成医嘱

lighter 2 weken geleden
bovenliggende
commit
c151fbc07f

+ 15 - 0
src/api/orderZdMaintain/index.ts

@@ -403,3 +403,18 @@ export function delMzSupplyCharge(code, chargeCode) {
     params: { code, chargeCode },
   });
 }
+
+export function getAllZdChargeClass() {
+  return requestV2({
+    url: "/orderZdMaintain/getAllZdChargeClass",
+    method: "get",
+  });
+}
+
+export function generateYzOrderItem(data) {
+  return requestV2({
+    url: "/orderZdMaintain/generateYzOrderItem",
+    method: "post",
+    data,
+  });
+}

+ 57 - 0
src/views/dictionary/orderZdMaintain/components/orderitem/OrderIten.vue

@@ -163,6 +163,27 @@ function handleChangeItemRowClick(row, data) {
   data.orderCode = store.currentOrderChange.orderCode;
 }
 
+const showYzClass = ref(false);
+const zdChargeClassList = ref([]);
+const selectedChargeClass = ref([])
+function openYzClassPanel() {
+  api.getAllZdChargeClass().then((res) => {
+    zdChargeClassList.value = res;
+    showYzClass.value = true
+  })
+}
+
+function confirmYzClass() {
+  if (!selectedChargeClass.value || selectedChargeClass.value.length === 0) {
+    xcMessage.warning('请至少选择一项医嘱属性!')
+    return;
+  }
+  api.generateYzOrderItem(selectedChargeClass.value).then((res) => {
+    xcMessage.success(res);
+    showYzClass.value = false
+  })
+}
+
 onMounted(async () => {
   store.changeItemType = await api.getChangeItemType();
   store.ssType = await api.getSsType();
@@ -179,6 +200,13 @@ onMounted(async () => {
         <el-radio value="1">停用</el-radio>
         <el-radio value="all">全部</el-radio>
       </el-radio-group>
+      <el-button
+        type="primary"
+        style="margin: 0 4px 8px 32px; float: right"
+        @click="openYzClassPanel"
+      >
+        从收费项目生成医嘱
+      </el-button>
     </header>
     <div class="layout_main">
       <vxe-table
@@ -316,5 +344,34 @@ onMounted(async () => {
         </vxe-column>
       </vxe-table>
     </div>
+    <el-dialog
+        title="请选择要生成的医嘱属性"
+        v-model="showYzClass"
+        width="326px"
+    >
+      <el-checkbox-group
+          v-model="selectedChargeClass"
+          style="margin-left: 30px"
+      >
+        <el-checkbox
+            v-for="item in zdChargeClassList"
+            :value="item.yzClassCode"
+            :label="item.name"
+        />
+      </el-checkbox-group>
+      <template #footer>
+        <el-button
+            @click="showYzClass = false"
+        >
+          取消
+        </el-button>
+        <el-button
+            type="primary"
+            @click="confirmYzClass"
+        >
+          确定
+        </el-button>
+      </template>
+    </el-dialog>
   </div>
 </template>

+ 0 - 1
src/views/dictionary/orderZdMaintain/components/supply-type/index.vue

@@ -161,7 +161,6 @@ onMounted(() => {
     store.supplyClass = res;
   });
   handleGetData();
-  console.log(store);
 });
 </script>
 

+ 1 - 1
src/views/dictionary/orderZdMaintain/index.vue

@@ -7,7 +7,7 @@ defineComponent({
   name: "orderZdMaintain",
 });
 
-const tabType = ref(isDev ? tabsList[3].name : tabsList[0].name);
+const tabType = ref(isDev ? tabsList[0].name : tabsList[0].name);
 </script>
 
 <template>

File diff suppressed because it is too large
+ 204 - 0
vite.config.js.timestamp-1753838900549-325b163593b9.mjs


Some files were not shown because too many files changed in this diff