Преглед изворни кода

结算单上传中可以选择门诊和单病种了

DESKTOP-MINPJAU\Administrator пре 3 година
родитељ
комит
a0e59613a4

+ 82 - 71
src/components/si-sheet-upload/jieSuanDanDaYing.vue

@@ -41,7 +41,9 @@
           <div class="tanXingHeZiShu">
             <div class="wen-zi">
               <div>清单流水号</div>
-              <div class="w90"><span></span></div>
+              <div class="w90">
+                <span>{{ setlinfo.setlListId }}</span>
+              </div>
             </div>
             <div class="wen-zi">
               <div>医保结算等级</div>
@@ -49,7 +51,9 @@
             </div>
             <div class="wen-zi">
               <div>申报时间</div>
-              <div class="w90"><span></span></div>
+              <div class="w90">
+                <span style="size: 10px">{{ setlinfo.dclaTime }}</span>
+              </div>
             </div>
           </div>
         </div>
@@ -68,8 +72,8 @@
             </div>
             <div class="wen-zi">
               <div>性别</div>
-              <div class="divBorder w10">
-                <span>{{ setlinfo.gend }}</span>
+              <div class="w10">
+                <span>[{{ blankToSpace(setlinfo.gend) }}]</span>
               </div>
               <div>1.男 2.女</div>
             </div>
@@ -243,50 +247,52 @@
           <!--   第七行     -->
         </div>
         <!--  二、门诊慢特病诊疗信息    -->
-        <div
-            style="border: 1px solid #000; line-height: 20px; text-align: center; background-color: rgba(127, 187, 236, 0.8)">
-          <b style="color: #000"> 二、门诊慢特病诊疗信息 </b>
-        </div>
-        <div class="divBorder" style="padding: 0 5px">
-          <div style="display: flex; flex-direction: column">
-            <!--   第一行     -->
-            <div class="tanXingHeZiHeng">
-              <div class="wen-zi">
-                <div>诊断科别</div>
-                <div class="w90">
-                  <span>{{ setlinfo.opspDiagCaty }}</span>
+        <div v-if="!zyFlag">
+          <div
+              style="border: 1px solid #000; line-height: 20px; text-align: center; background-color: rgba(127, 187, 236, 0.8)">
+            <b style="color: #000"> 二、门诊慢特病诊疗信息 </b>
+          </div>
+          <div class="divBorder" style="padding: 0 5px">
+            <div style="display: flex; flex-direction: column">
+              <!--   第一行     -->
+              <div class="tanXingHeZiHeng">
+                <div class="wen-zi">
+                  <div>诊断科别</div>
+                  <div class="w90">
+                    <span>{{ setlinfo.opspDiagCaty }}</span>
+                  </div>
                 </div>
-              </div>
-              <div class="wen-zi">
-                <div>就诊日期</div>
-                <div class="w50">
-                  <span>{{ setlinfo.opspMdtrtDate }}</span>
+                <div class="wen-zi">
+                  <div>就诊日期</div>
+                  <div class="w50">
+                    <span>{{ setlinfo.opspMdtrtDate }}</span>
+                  </div>
                 </div>
               </div>
             </div>
+            <!--   第一行     -->
+            <!--   第二行     -->
+            <div class="tanXingHeZiShu" style="margin-top: 5px">
+              <table>
+                <tr>
+                  <th>诊断名称</th>
+                  <th>诊断代码</th>
+                  <th>手术及操作名称</th>
+                  <th>手术及操作代码</th>
+                </tr>
+                <tr v-for="(item, index) in opspdiseinfoData">
+                  <td>{{ item.diagName }}</td>
+                  <td>{{ item.diagCode }}</td>
+                  <td>{{ item.oprnOprtName }}</td>
+                  <td>{{ item.oprnOprtCode }}</td>
+                </tr>
+              </table>
+            </div>
+            <!--  第二行     -->
           </div>
-          <!--   第一行     -->
-          <!--   第二行     -->
-          <div class="tanXingHeZiShu" style="margin-top: 5px">
-            <table>
-              <tr>
-                <th>诊断名称</th>
-                <th>诊断代码</th>
-                <th>手术及操作名称</th>
-                <th>手术及操作代码</th>
-              </tr>
-              <tr v-for="(item, index) in opspdiseinfoData">
-                <td>{{ item.diagName }}</td>
-                <td>{{ item.diagCode }}</td>
-                <td>{{ item.oprnOprtName }}</td>
-                <td>{{ item.oprnOprtCode }}</td>
-              </tr>
-            </table>
-          </div>
-          <!--  第二行     -->
+          <!--      二、门诊慢特病诊疗信息    -->
+          <!--三、住院诊疗信息-->
         </div>
-        <!--      二、门诊慢特病诊疗信息    -->
-        <!--三、住院诊疗信息-->
         <div v-if="zyFlag">
           <div
               style="border: 1px solid #000; line-height: 20px; text-align: center; background-color: rgba(127, 187, 236, 0.8); margin-top: 5px">
@@ -297,8 +303,8 @@
             <div class="div-border-bottom">
               <div class="wen-zi">
                 <div>住院医疗类型</div>
-                <div class="w10 divBorder">
-                  <span>{{ setlinfo.iptMedType }}</span>
+                <div class="w10">
+                  <span>[{{ blankToSpace(setlinfo.iptMedType) }}]</span>
                 </div>
                 <div>1.住院 2.日间手术</div>
               </div>
@@ -308,8 +314,8 @@
             <div class="div-border-bottom">
               <div class="wen-zi">
                 <div>入院途径</div>
-                <div class="w10 divBorder">
-                  <span>{{ setlinfo.admWay }}</span>
+                <div class="w10">
+                  <span>[{{ blankToSpace(setlinfo.admWay) }}]</span>
                 </div>
                 <div>1.急诊 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.门诊&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.其他医疗机构转入&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                   9.其他
@@ -321,8 +327,8 @@
             <div class="div-border-bottom">
               <div class="wen-zi">
                 <div>治疗类别</div>
-                <div class="w10 divBorder">
-                  <span>{{ setlinfo.trtType }}</span>
+                <div class="w10">
+                  <span>[{{ blankToSpace(setlinfo.trtType) }}]</span>
                 </div>
                 <div>1.西医 2.中医(2.1 中医 2.2 民族医)3.中西医</div>
               </div>
@@ -463,13 +469,13 @@
               </table>
               <div style="display: flex; justify-content: space-between">
                 <div class="wen-zi">
-                  <div>手术及操作起止时间</div>
+                  <div>手术及操作时间</div>
                   <div class="w300 div-border-bottom">
                     <span>{{ getShouShuShiJian(item) }} </span>
                   </div>
                 </div>
                 <div class="wen-zi">
-                  <div>麻醉起止时间</div>
+                  <div>麻醉时间</div>
                   <div class="w300 div-border-bottom">
                     {{ getMaZuiShiJian(item) }}
                   </div>
@@ -564,8 +570,8 @@
             <div class="tanXingHeZiHeng">
               <div class="wen-zi">
                 <div>离院方式</div>
-                <div class="w10 divBorder">
-                  <span>{{ setlinfo.dscgWay }}</span>
+                <div class="w10">
+                  <span>[{{ blankToSpace(setlinfo.dscgWay) }}]</span>
                 </div>
                 <div>1.医嘱离院 2. 医嘱转院,</div>
               </div>
@@ -589,8 +595,8 @@
             <div class="tanXingHeZiHeng div-border-bottom">
               <div class="wen-zi">
                 <div>是否有出院 31 天内再住院计划</div>
-                <div class="w10 divBorder">
-                  <span>{{ setlinfo.daysRinpFlag31 }}</span>
+                <div class="w10">
+                  <span>[{{ blankToSpace(setlinfo.daysRinpFlag31) }}]</span>
                 </div>
                 <div>1.无 2.有</div>
               </div>
@@ -696,7 +702,7 @@
           </tr>
         </table>
         <!--第二页-->
-        <div class="tanXingHeZiHeng" style="height: 241px">
+        <div class="tanXingHeZiHeng" :style="{height:  (7 + qiTaPayinfoData.length) * 30 + 'px'}">
           <div id="yiBaoZhiFu" style="width: 50%">
             <table :style="geRenZhiFuTableHeight">
               <tr>
@@ -763,8 +769,8 @@
         <div class="tanXingHeZiHeng div-border-bottom">
           <div class="wen-zi">
             <div>医保支付方式</div>
-            <div class="w10 divBorder">
-              <span>{{ setlinfo.hiPaymtd }}</span>
+            <div class="w10">
+              <span>[{{ blankToSpace(setlinfo.hiPaymtd) }}]</span>
             </div>
             <div>1.按项目 2.单病种 3.按病种分值 4.疾病诊断相关分组(DRG) 5.按床日 6.按人头……</div>
           </div>
@@ -825,9 +831,11 @@ import {
   luNeiShiJian,
   maZuiName,
   nianYueRi,
+  outpatientChronicDisease,
   zhenDuanData,
   zhongZhenJianHu,
 } from './jieSuanDanXiuGai'
+import {stringIsBlank} from "@/utils/blank-utils";
 
 const props = defineProps({
   data: {},
@@ -891,20 +899,13 @@ onMounted(() => {
   ledgerSn.value = props.data.ledgerSn
   zyFlag.value = patNo.value.indexOf("-") === -1
   initLodop()
-  if (opspdiseinfoData.value.length === 0) {
-    for (let i = 0; i < 6; i++) {
-      opspdiseinfoData.value.push([])
-    }
-
-    for (let i = 0; i < 1; i++) {
-      bldData.value.push({
-        bldCat: '',
-        bldAmt: '',
-        bldUnt: '',
-      })
-    }
+  for (let i = 0; i < 1; i++) {
+    bldData.value.push({
+      bldCat: '',
+      bldAmt: '',
+      bldUnt: '',
+    })
   }
-
   queryJieSuanDan()
 })
 
@@ -919,16 +920,26 @@ const queryJieSuanDan = () => {
         //  医疗收费信息
         iteminfoData.value = getMedChrgitmTypeData(res.iteminfo)
         icuinfoData.value = zhongZhenJianHu(res.icuinfo)
+        // 门诊慢特病
+        opspdiseinfoData.value = outpatientChronicDisease(res.opspdiseinfo)
         // 基金支付类型
         let fenLeiJiJing = fenLeiZhiFuLeiXing(res.payinfo)
         payinfoData.value = fenLeiJiJing.obj
         qiTaPayinfoData.value = fenLeiJiJing.qiTa
       })
       .catch((e) => {
-        // jieSuanDanDaYingDialog.value = false
+        jieSuanDanDaYingDialog.value = false
       })
 }
 
+const blankToSpace = (value) => {
+  if (stringIsBlank(value)) {
+    return " ";
+  } else {
+    return value;
+  }
+}
+
 
 </script>
 

+ 18 - 1
src/components/si-sheet-upload/jieSuanDanXiuGai.js

@@ -312,7 +312,7 @@ export function zhenDuanHeBing(xiYiZhenDuan, ZhongYiZhenDuan) {
 export function getShouShuData(val) {
     if (listIsBlank(val)) {
         let kong = []
-        for (let i = 0; i < 7; i++) {
+        for (let i = 0; i < 3; i++) {
             kong.push({
                 ssmc: '',
                 ssbm: '',
@@ -467,3 +467,20 @@ export function fenLeiZhiFuLeiXing(val) {
     return {obj, qiTa}
 }
 
+export const outpatientChronicDisease = (list) => {
+    let data = []
+    if (listIsBlank(list)) {
+        for (let i = 0; i < 6; i++) {
+            data.push({
+                diagCode: '',
+                diagName: '',
+                oprnOprtCode: '',
+                oprnOprtName: '',
+            })
+        }
+    } else {
+        return list
+    }
+    return data
+}
+

+ 0 - 16
src/views/medical-insurance/allpatient/SetSheetUpload.vue

@@ -420,26 +420,10 @@ export default {
     )
 
     const upldAllList = () => {
-      if (queryTerm.value.clrType !== '21') {
-        ElMessage({
-          message: '结算类别请选择为【住院】!',
-          type: 'warning',
-          showClose: true,
-        })
-        return
-      }
       upldSetlList(selections.value)
     }
 
     const upldSelections = () => {
-      if (queryTerm.value.clrType !== '21') {
-        ElMessage({
-          message: '结算类别请选择为【住院】!',
-          type: 'warning',
-          showClose: true,
-        })
-        return
-      }
       if (queryTerm.value.list.length === 0) {
         ElMessage({
           message: '请先查询出数据',