Browse Source

电子病历,审核修改,诊断手术显示问题

lihong 2 years ago
parent
commit
3794e95381

+ 11 - 0
src/api/medical-insurance/si-setl-upload.js

@@ -201,4 +201,15 @@ export function drgQualityTest(data) {
         method: 'post',
         data
     })
+}
+/**
+ *查询是否为在院病人
+ * @returns {AxiosPromise}
+ */
+export function isInHospital(patNo,times) {
+    return request({
+        url: '/setlListUpld/isInHospital',
+        method: 'get',
+        params: {patNo, times}
+    })
 }

+ 7 - 0
src/api/public-api.js

@@ -30,6 +30,13 @@ export function getDept() {
     })
 }
 
+export function getZhuYuanDept() {
+    return request({
+        url: '/publicApi/getZhuYuanDept',
+        method: 'get',
+    })
+}
+
 export function queryDept(code) {
     return request({
         url: '/publicApi/queryDept',

+ 68 - 11
src/components/si-sheet-upload/jie-suan-dan-xiu-gai/JieSuanDanXiangQing.vue

@@ -3,13 +3,15 @@
     <el-dialog v-model="huanZheXinXiDialog" fullscreen title="修改信息" @closed="emit('close')">
       <el-descriptions :column="4" border style="width: 100%" title="基本信息">
         <template #extra>
-          <el-button :disabled="shenHeSendFlag" size="small" type="primary" @click="fqsendAudit">申请审核</el-button>
+<!--          <el-button :disabled="shenHeSendFlag" size="small" type="primary" @click="fqsendAudit">申请审核</el-button>-->
+<!--            <el-button size="small" type="primary" @click="bingAnShouYe">病案首页</el-button>-->
           <el-button size="small" type="primary" @click="querylistSetlAuditLog">审核历史记录</el-button>
+          <el-button size="small" type="primary" @click="queryDianZiBingLi">电子病历</el-button>
           <el-button size="small" type="primary" @click="qualityTest">质控测算</el-button>
           <el-button size="small" type="primary" @click="drgGroupTest">DRG分组测算</el-button>
           <el-button type="info" @click="shenHeClick">审核信息</el-button>
           <el-button size="small" type="primary" @click="shuJuDuiBi">数据对比</el-button>
-          <el-button size="small" type="success" @click="baoCunXiuGai">保存修改</el-button>
+          <el-button size="small" :disabled="shenHeSendFlag" type="success" @click="baoCunXiuGai">保存并申请审核</el-button>
           <bei-zhu v-if="beiZhuRef" :data="baoCunXiuGaiData" @baoCunHouGuanBi="baoCunHouGuanBi"
                    @close="beiZhuRef = false"></bei-zhu>
         </template>
@@ -138,7 +140,6 @@
           </template>
         </el-table-column>
         <el-table-column label="手术及操作名称" prop="ssmc"></el-table-column>
-        <el-table-column label="序号" prop="ssxh" width="50"></el-table-column>
         <el-table-column label="手术开始时间" prop="opStartDate" width="140"></el-table-column>
         <el-table-column label="手术结束时间" prop="opEndDate" width="140"></el-table-column>
         <el-table-column label="麻醉开始时间" prop="anstStartDate" width="140"></el-table-column>
@@ -163,6 +164,15 @@
           </template>
         </el-table-column>
         <el-table-column label="麻醉医师" prop="mzysName"></el-table-column>
+        <el-table-column label="手术排序" prop="ssxh" width="150">
+          <template #default="scope">
+            {{ scope.row.ssxh }}
+            &nbsp;&nbsp;&nbsp;
+            <el-button v-if="scope.row.ssxh !== 1" type="primary"
+                       @click="sheZhiZhuShouShu(scope.$index, scope.row.ssxh)"> 设为主手术
+            </el-button>
+          </template>
+        </el-table-column>
         <el-table-column label="操作" width="210">
           <template #default="scope">
             <el-button icon="Edit" type="warning" @click="tianJiaXiuGaiShouShu(scope.$index)">修改</el-button>
@@ -343,7 +353,8 @@ import {
   sendDrgGroupTest,
   sendAudit,
   listSetlAuditLog,
-  drgQualityTest
+  drgQualityTest,
+  isInHospital
 } from '@/api/medical-insurance/si-setl-upload'
 import {formatDatetime} from '@/utils/date'
 import {listIsBlank, stringIsBlank, stringNotBlank} from '@/utils/blank-utils'
@@ -357,7 +368,8 @@ import {ArrayIsEqual} from '@/utils/list-utlis'
 import JieSuanDanXiuGaiShouShu from '@/components/si-sheet-upload/jie-suan-dan-xiu-gai/JieSuanDanXiuGaiShouShu.vue'
 import ShuXueXinXi from '@/components/si-sheet-upload/ShuXueXinXi.vue'
 import XcSelect from "@/components/xiao-chan/select/XcSelect.vue";
-
+import {getEmrUrl,getInEmrUrl} from '@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-init';
+import router from "@/router";
 const props = defineProps({
   data: {},
 })
@@ -453,6 +465,21 @@ const sheZhiZhuZhenDuan = (index, val) => {
   diseinfo.value = data
 }
 
+const sheZhiZhuShouShu = (index, val) => {
+  let data = []
+  for (let item of oprninfo.value) {
+    if (val !== item.ssxh) {
+      data.push(item)
+    }
+  }
+  data.unshift(oprninfo.value[index])
+  for (let i = 0; i < data.length; i++) {
+    data[i].ssxh = i + 1
+  }
+  oprninfo.value = data
+}
+
+
 const addZhenDuanClick = () => {
   lingShiZhenDuan.value = {
     disDiag: '',
@@ -577,9 +604,9 @@ const baoCunXiuGai = () => {
     diseinfo: diseinfo.value,
     oprninfo: oprninfo.value,
   }
-  if (JSON.stringify(newData) === JSON.stringify(oldData)) {
-    return ElMessage.error('数据没有变化请勿点击。')
-  }
+  // if (JSON.stringify(newData) === JSON.stringify(oldData)) {
+  //   return ElMessage.error('数据没有变化请勿点击。')
+  // }
   if (setlinfo.value.operation === '1' || setlinfo.value.operation === '2' || setlinfo.value.operation === '3') {
     if (listIsBlank(oprninfo.value)) {
       return ElMessage.error('选择治疗类型为手术的,至少要有一个手术。')
@@ -822,6 +849,30 @@ const  querylistSetlAuditLog = () => {
   }
   refreshAuditLog()
 }
+//病案首页
+const bingAnShouYe=() =>{
+    router.push({
+        name: 'fillCaseFrontSheet',
+        query: {
+            patNo: props.data.inpatientNo,
+            deptCode: props.data.upload.outDept,
+            times: props.data.admissTimes
+        }
+    })
+    huanZheXinXiDialog.value = false
+}
+
+//调用电子病历
+const queryDianZiBingLi = () => {
+  isInHospital(props.data.inpatientNo,props.data.admissTimes).then((res) =>{
+    //在院病人
+    if(res){
+      window.open(getEmrUrl(props.data.inpatientNo,props.data.admissTimes))
+    }else {
+      window.open(getInEmrUrl(props.data.inpatientNo,props.data.admissTimes))
+    }
+  })
+}
 
 //刷新审核信息
 function refreshAuditLog() {
@@ -878,17 +929,23 @@ const init = () => {
   patientBldInfos = clone(props.data.patientBldInfos)
   // 如果新的没有就用老的
   if (stringNotBlank(props.data.shenHeXinXi.id)) {
-    diseinfo.value = clone(props.data.newYbZyDisDiag)
-    oprninfo.value = clone(props.data.newBatjBa4)
     if (stringNotBlank(props.data.shenHeXinXi.reqRemark) && props.data.shenHeXinXi.auditFlag === 0) {
       setTimeout(() => {
         shenHeRef.value = true
       }, 1000)
     }
-  } else {
+  }
+  if(listIsBlank(props.data.newYbZyDisDiag)){
     diseinfo.value = clone(props.data.ybZyDisDiag)
+  }else {
+    diseinfo.value = clone(props.data.newYbZyDisDiag)
+  }
+  if(listIsBlank(props.data.newBatjBa4)){
+    oprninfo.value = clone(props.data.newBatjBa4)
+  }else {
     oprninfo.value = clone(props.data.batjBa4)
   }
+
   //初始化拖拽表格
   if (diseinfo.value.length > 0) {
     setTimeout(() => {

+ 4 - 2
src/views/medical-insurance/allpatient/SetSheetUpload.vue

@@ -30,6 +30,8 @@
           </template>
         </el-table-column>
         <el-table-column fixed label="审核状态" prop="auditFlagName"></el-table-column>
+        <el-table-column fixed label="上传截止日期" prop="uploadCutoffDate"></el-table-column>
+        <el-table-column fixed label="上传状态" prop="uploadStatus"></el-table-column>
         <el-table-column label="出院科室" prop="outDeptName">
           <template #default="scope">
             <el-button
@@ -303,7 +305,7 @@ import JieSuanDanXiangQing from '../../../components/si-sheet-upload/jie-suan-da
 import {ElMessage, ElMessageBox} from 'element-plus'
 import Progress from '../../../components/progress/Index.vue'
 import {downloadExcel} from '@/utils/excel'
-import {getRenYuan} from '@/api/public-api'
+import {getRenYuan,getZhuYuanDept} from '@/api/public-api'
 import {
   auditFlags,
   auditName,
@@ -629,7 +631,7 @@ export default {
       getMedType().then((res) => {
         medTypes.value = res
       })
-      getDept().then((res) => {
+      getZhuYuanDept().then((res) => {
         disDepts.value = res
       })
       clrOptins.value = clrOptinsData