xiaochan 3 سال پیش
والد
کامیت
2559533b0f

+ 60 - 54
src/components/medical-insurance/patient-overview/Index.vue

@@ -1,63 +1,66 @@
 <template>
-  <div style="height: 6px"></div>
-  <el-select v-model="currentWard" style="width: 90px" @change="fetchOverviews" :clearable="wardsClearable">
-    <el-option v-for="item in allWards" :key="item.code" :value="item.code" :label="item.name"></el-option>
-  </el-select>
-  <el-select v-model="currentMedType" style="width: 90px" clearable>
-    <el-option v-for="item in trueMedTypes" :key="item.code" :value="item.code" :label="item.name"></el-option>
-  </el-select>
-  <el-select v-model="currentStatus" style="width: 80px" clearable>
-    <el-option label="未登记" :value="0"></el-option>
-    <el-option label="已登记" :value="1"></el-option>
-  </el-select>
-  <el-table
-    :data="cptOverviews.slice((currentPage - 1) * 15, currentPage * 15)"
-    stripe
-    :height="tableHieght"
-    highlight-current-row
-    @row-click="handleClickOverview"
-    @selection-change="handleSelectionChange"
-  >
-    <el-table-column v-if="showSelection" type="selection" width="20"></el-table-column>
-    <el-table-column prop="bedNo" label="床" width="30"></el-table-column>
-    <el-table-column label="姓名" width="70">
-      <template #default="scope">
-        <div style="display: flex; align-items: center">
-          <img class="sex-icon" :src="scope.row.sex === 1 ? maleIcon : femaleIcon" />
-          {{ scope.row.name }}
-        </div>
-      </template>
-    </el-table-column>
-    <el-table-column prop="inpatientNo" label="住院号" width="65"></el-table-column>
-    <el-table-column label="次数" width="45">
-      <template #default="scope">
-        <div style="display: flex; align-items: center">
-          {{ scope.row.admissTimes }}&nbsp;
-          <img v-if="scope.row.dismissOrder > 0" class="sex-icon" :src="dismissIcon" />
-        </div>
-      </template>
-    </el-table-column>
-    <el-table-column props="status" label="状态" width="45" align="center">
-      <template #default="scope">
-        <span v-html="getStatusFlag(scope.row.status)"></span>
-      </template>
-    </el-table-column>
-  </el-table>
-  <el-pagination small :hide-on-single-page="false" :page-size="15" layout="prev, pager, next" @current-change="handleCurrentPageChange" :total="cptOverviews.length">
-  </el-pagination>
+  <div>
+    <div style="height: 6px"></div>
+    <el-select v-model="currentWard" :clearable="wardsClearable" style="width: 90px" @change="fetchOverviews">
+      <el-option v-for="item in allWards" :key="item.code" :label="item.name" :value="item.code"></el-option>
+    </el-select>
+    <el-select v-model="currentMedType" clearable style="width: 90px">
+      <el-option v-for="item in trueMedTypes" :key="item.code" :label="item.name" :value="item.code"></el-option>
+    </el-select>
+    <el-select v-model="currentStatus" clearable style="width: 80px">
+      <el-option :value="0" label="未登记"></el-option>
+      <el-option :value="1" label="已登记"></el-option>
+    </el-select>
+    <el-table
+        :data="cptOverviews.slice((currentPage - 1) * 15, currentPage * 15)"
+        :height="tableHieght"
+        highlight-current-row
+        stripe
+        @row-click="handleClickOverview"
+        @selection-change="handleSelectionChange"
+    >
+      <el-table-column v-if="showSelection" type="selection" width="20"></el-table-column>
+      <el-table-column label="床" prop="bedNo" width="30"></el-table-column>
+      <el-table-column label="姓名" width="70">
+        <template #default="scope">
+          <div style="display: flex; align-items: center">
+            <img :src="scope.row.sex === 1 ? maleIcon : femaleIcon" class="sex-icon"/>
+            {{ scope.row.name }}
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column label="住院号" prop="inpatientNo" width="65"></el-table-column>
+      <el-table-column label="次数" width="45">
+        <template #default="scope">
+          <div style="display: flex; align-items: center">
+            {{ scope.row.admissTimes }}&nbsp;
+            <img v-if="scope.row.dismissOrder > 0" :src="dismissIcon" class="sex-icon"/>
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" label="状态" props="status" width="45">
+        <template #default="scope">
+          <span v-html="getStatusFlag(scope.row.status)"></span>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination :hide-on-single-page="false" :page-size="15" :total="cptOverviews.length" layout="prev, pager, next"
+                   small @current-change="handleCurrentPageChange">
+    </el-pagination>
+  </div>
 </template>
 
 <script>
-import { computed, onMounted, ref } from 'vue'
+import {computed, onMounted, ref} from 'vue'
 import store from '@/store'
 import maleIcon from '@/assets/male-icon.png'
 import femaleIcon from '@/assets/female-icon.png'
 import dismissIcon from '@/assets/dismiss-icon.png'
-import { getOverView, getPatientInfo } from '@/api/yibao/patient'
-import { setBaseinfo } from '@/data/inpatient'
-import { trueMedTypes } from '@/data/index'
-import { getWards } from '@/api/login'
-import { allWardsVisible } from '@/utils/permission'
+import {getOverView, getPatientInfo} from '@/api/yibao/patient'
+import {setBaseinfo} from '@/data/inpatient'
+import {trueMedTypes} from '@/data/index'
+import {getWards} from '@/api/login'
+import {allWardsVisible} from '@/utils/permission'
 
 export default {
   props: {
@@ -76,7 +79,7 @@ export default {
       },
       set: (val) => {
         store.commit('ptnt/setCurrentMedType', val)
-        store.commit('ptnt/setBaseinfo', { totalCharge: '0.00', chargeYb: '0.00' })
+        store.commit('ptnt/setBaseinfo', {totalCharge: '0.00', chargeYb: '0.00'})
       },
     })
     const currentStatus = ref('')
@@ -86,7 +89,9 @@ export default {
     const handleCurrentPageChange = (val) => {
       currentPage.value = val
     }
-    const tableHieght = store.state.app.windowSize.h - 75
+    const tableHieght = computed(() => {
+      return store.state.app.windowSize.h - 75
+    })
 
     const cptOverviews = computed(() => {
       if (currentMedType.value) {
@@ -170,6 +175,7 @@ function getStatusFlag(val) {
 :deep(.el-header) {
   padding: 0 !important;
 }
+
 :deep(.el-input__inner) {
   padding: 0 8px 0 6px;
 }

+ 5 - 2
src/views/hospitalization/zhu-yuan-yi-sheng/Home.vue

@@ -2,7 +2,8 @@
   <el-container>
     <el-container>
       <el-aside style="width:auto !important;">
-        <huan-zhe-lie-biao v-show="xianShiLieBiao"></huan-zhe-lie-biao>
+        <Overview v-show="xianShiLieBiao" :showSelection="false"></Overview>
+        <!--        <huan-zhe-lie-biao v-show="xianShiLieBiao"></huan-zhe-lie-biao>-->
       </el-aside>
       <el-main>
         <huan-zhe-xin-xi></huan-zhe-xin-xi>
@@ -23,10 +24,12 @@ import HuanZheLieBiao from "../../../components/zhu-yuan-yi-sheng/HuanZheLieBiao
 import HuanZheXinXi from "../../../components/zhu-yuan-yi-sheng/HuanZheXinXi.vue";
 import YiZhuLuRuZhuJian from "./yi-zhu-lu-ru/YiZhuLuRu.vue";
 import router from "@/router";
+import Overview from '../../../components/medical-insurance/patient-overview/Index.vue'
+
 
 export default {
   name: "Home",
-  components: {YiZhuLuRuZhuJian, HuanZheXinXi, HuanZheLieBiao},
+  components: {YiZhuLuRuZhuJian, HuanZheXinXi, HuanZheLieBiao, Overview},
   setup() {
     const tableHeight = computed(() => {
       return store.state.app.windowSize.h

+ 13 - 4
src/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng.js

@@ -1,19 +1,28 @@
 // 判断是否选择了患者
-import {ref} from "vue";
-import {stringIsBlank} from "@/utils/blank-utils";
+import {computed, ref} from "vue";
+import {stringIsBlank, stringNotBlank} from "@/utils/blank-utils";
 import {ElMessage} from "element-plus";
+import {baseinfo} from "@/data/inpatient";
+import {huoQuGeRenPinLv} from "@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
 
 // 获取患者的频率数据
 export const huanZhePinLvData = ref([])
 // 患者信息
-export const huanZheXinXi = ref({})
+export const huanZheXinXi = computed(() => {
+    if (stringNotBlank(baseinfo().inpatientNo)) {
+        huoQuGeRenPinLv(baseinfo().inpatientNo, baseinfo().admissTimes).then((res) => {
+            huanZhePinLvData.value = res
+        })
+    }
+    return baseinfo()
+})
 // 获取医生选中的病区
 export const selectWardCode = ref(0)
 // 是否点击了修改整个模板
 export const muBanMing = ref({})
 // 复制选中的医嘱
 export const fuZhiYiZhu = ref([])
-// 错误信息系
+// 错误信息
 export const cuoWuXinXi = ref('')
 
 export function youWuXuanZheHuanZhe() {

+ 12 - 11
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/YiZhuLuRu.vue

@@ -20,13 +20,14 @@
         </el-option>
       </el-select>
       频率:
-      <el-select v-model="pinLv" clearable filterable size="mini" style="width: 120px">
+      <el-select v-model="pinLv" :disabled="zhuangTai === 8 || zhuangTai === 9 " clearable filterable size="mini"
+                 style="width: 120px">
         <el-option v-for="item in huanZhePinLvData" :key="item.code" :label="item.name" :value="item.code">
           <span>{{ item.name }}</span>
         </el-option>
       </el-select>
       状态:
-      <el-select v-model="zhuangTai" clearable filterable size="mini" style="width: 120px" @change="zhuangTaiXuanZhe">
+      <el-select v-model="zhuangTai" filterable size="mini" style="width: 120px" @change="zhuangTaiXuanZhe">
         <el-option v-for="item in zhuangTaiList" :key="item.code" :label="item.name" :value="item.code">
           <span>{{ item.code }}</span>
           <el-divider direction="vertical"></el-divider>
@@ -35,19 +36,18 @@
       </el-select>
       <el-divider direction="vertical"></el-divider>
       <el-button icon="el-icon-search" type="primary" @click="chaXunYiZhuClick(0)">查询</el-button>
+      <el-divider style="margin: 2px 0"></el-divider>
+      <el-tag effect="dark" type="info">录入</el-tag>
+      <el-tag effect="dark" type="success">确认</el-tag>
+      <el-tag effect="dark">执行</el-tag>
+      <el-tag effect="dark" type="danger">停止</el-tag>
       <el-divider direction="vertical"></el-divider>
       <el-button :disabled="huanZheXinXi.timesBilled === 1" icon="el-icon-plus" type="primary" @click="addYiZhuClick">
         添加
       </el-button>
-      <el-divider direction="vertical"></el-divider>
       <el-button :disabled="xuanZhongDeShuJu.length === 0 " type="warning"
                  @click="chaoZuoBiaoZhi = 90;yiZhuChaoZuoDialog = true;yiZhuChaoZuoBiaoTi = '批量停止'">批量停止
       </el-button>
-      <br>
-      <el-tag effect="dark" type="info">录入</el-tag>
-      <el-tag effect="dark" type="success">确认</el-tag>
-      <el-tag effect="dark">执行</el-tag>
-      <el-tag effect="dark" type="danger">停止</el-tag>
       <el-divider direction="vertical"></el-divider>
       <el-button :disabled="xuanZhongDeShuJu.length === 0" type="success" @click="dianJiFuZhuXuanZhongYiZhu">复制选中医嘱
       </el-button>
@@ -174,7 +174,7 @@ import {
 import {fuZhiYiZhu, huanZhePinLvData, huanZheXinXi, youWuXuanZheHuanZhe,} from '../public-js/zhu-yuan-yi-sheng'
 
 import {getDateRangeFormatDate, getFormatDatetime} from "@/utils/date";
-import store from '../../../../store'
+import store from '@/store'
 import {stringIsBlank, stringNotBlank} from '@/utils/blank-utils';
 import {getServerDateApi} from "@/api/public-api";
 import router from "@/router";
@@ -224,11 +224,12 @@ export default {
       {code: 5, name: '停止'},
       {code: 6, name: '可停止'},
       {code: 7, name: '可撤销'},
+      {code: 8, name: '临时医嘱'},
+      {code: 9, name: '长期医嘱'},
     ])
 
     const zhuangTaiXuanZhe = (val) => {
-      if (val === 6 || val === 7) {
-        dateRange.value = null
+      if (val >= 6) {
         orderName.value = ''
         pinLv.value = ''
       }