DESKTOP-MINPJAU\Administrator 3 vuotta sitten
vanhempi
commit
3df970720a
1 muutettua tiedostoa jossa 152 lisäystä ja 137 poistoa
  1. 152 137
      src/components/inpatient/XiangMuLuRu.vue

+ 152 - 137
src/components/inpatient/XiangMuLuRu.vue

@@ -23,7 +23,7 @@
               <div>4、录入类型:该费用是怎么产生,护士录入,医嘱,医技</div>
               <div>
                 5、费用状态:未退-代表该费用没有被退,已退-代表费用是退费数据,被退-代表那些正的被退了
-                <span style="color: red">(该条件只对在本系统中有效,如果无效请点击退费匹配 (退费匹配就在本页面的关闭旁边),或选择全部)</span><br />
+                <span style="color: red">(该条件只对在本系统中有效,如果无效请点击退费匹配 (退费匹配就在本页面的关闭旁边),或选择全部)</span><br/>
               </div>
               <div>6、点击查询即可查询费用(如提示没有数据,请检查搜索的条件)</div>
             </el-collapse-item>
@@ -52,7 +52,8 @@
         <el-tabs v-model="xmlrTabs">
           <el-tab-pane label="已录入项目" name="ylrxm">
             项目名称:
-            <el-select v-model="patient.chargeCode" :remote-method="remoteMethodChargeCode" clearable filterable remote @blur="patient.chargeCode = $event.target.value.trim()">
+            <el-select v-model="patient.chargeCode" :remote-method="remoteMethodChargeCode" clearable filterable remote
+                       @blur="patient.chargeCode = $event.target.value.trim()">
               <el-option v-for="item in chargeCodeNameData" :key="item.code" :label="item.name" :value="item.code">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
@@ -60,20 +61,21 @@
               </el-option>
             </el-select>
             医嘱号:
-            <el-input v-model="patient.actOrderNo" clearable placeholder="医嘱号" style="width: 120px" />
+            <el-input v-model="patient.actOrderNo" clearable placeholder="医嘱号" style="width: 120px"/>
             录入日期:
             <el-date-picker
-              v-model="dateRange"
-              :shortcuts="shortcuts"
-              end-placeholder="结束日期"
-              placeholder="选择日期"
-              range-separator="至"
-              start-placeholder="开始日期"
-              style="width: 280px"
-              type="daterange"
+                v-model="dateRange"
+                :shortcuts="shortcuts"
+                end-placeholder="结束日期"
+                placeholder="选择日期"
+                range-separator="至"
+                start-placeholder="开始日期"
+                style="width: 280px"
+                type="daterange"
             ></el-date-picker>
-            <el-button :icon="riQiPaiXu === 'DESC' ? 'CaretBottom' : 'CaretTop'" type="success" @click="riQiPaiXu === 'DESC' ? (riQiPaiXu = 'ASC') : (riQiPaiXu = 'DESC')"
-              >{{ riQiPaiXu === 'DESC' ? '日期降序' : '日期升序' }}
+            <el-button :icon="riQiPaiXu === 'DESC' ? 'CaretBottom' : 'CaretTop'" type="success"
+                       @click="riQiPaiXu === 'DESC' ? (riQiPaiXu = 'ASC') : (riQiPaiXu = 'DESC')"
+            >{{ riQiPaiXu === 'DESC' ? '日期降序' : '日期升序' }}
             </el-button>
             <el-select v-model="feiYongLeiXingCode" style="width: 70px">
               <el-option v-for="item in feiYongLeiXing" :key="item.code" :label="item.name" :value="item.code">
@@ -98,8 +100,11 @@
             </el-select>
             <el-button icon="Search" type="primary" @click="queryFeiYong">查询</el-button>
             <el-button icon="Delete" type="danger" @click="xiangMuTuiFeiClick">退费</el-button>
-            <el-button v-if="store.state.user.info.roles.findIndex((i) => i === 1 || i === 8) > -1" type="warning" @click="sheZhiWeiYiVBao">设为医保 </el-button>
-            <el-table :data="cptTableDataHuanZheFeiYong" :height="tableHeight" class="eltable" highlight-current-row stripe @selection-change="handleSelectionChange">
+            <el-button v-if="store.state.user.info.roles.findIndex((i) => i === 1 || i === 8) > -1" type="warning"
+                       @click="sheZhiWeiYiVBao">设为医保
+            </el-button>
+            <el-table :data="cptTableDataHuanZheFeiYong" :height="tableHeight" class="eltable" highlight-current-row
+                      stripe @selection-change="handleSelectionChange">
               <el-table-column style="width: 100px" type="selection"></el-table-column>
               <el-table-column label="流水号" prop="detailSn" width="70px"></el-table-column>
               <el-table-column label="医嘱号" prop="orderNo" width="70px"></el-table-column>
@@ -120,11 +125,11 @@
               <el-table-column label="账单码" prop="billItemName"></el-table-column>
               <el-table-column label="是否退费" prop="tuiFeiFlag">
                 <template #default="scope">
-                  <span v-if="scope.row.oriDetailSn === -1" style="color: red">已退费 <br /> </span>
+                  <span v-if="scope.row.oriDetailSn === -1" style="color: red">已退费 <br/> </span>
                   <span v-if="scope.row.oriDetailSn > 0"
-                    ><span style="color: #e6a23c">退费数据</span> <br />
+                  ><span style="color: #e6a23c">退费数据</span> <br/>
                     <span style="color: teal">
-                      原流水号为 <br />
+                      原流水号为 <br/>
                       【 {{ scope.row.oriDetailSn }} 】
                     </span>
                   </span>
@@ -133,13 +138,13 @@
               <el-table-column v-if="quanXian.indexOf(1) > -1 || quanXian.indexOf(35) > -1" label="撤销退费">
                 <template #default="scope">
                   <el-popconfirm
-                    v-if="scope.row.oriDetailSn !== -1 && scope.row.transFlagYb === '0' && (quanXian.indexOf(1) > -1 || quanXian.indexOf(35) > -1)"
-                    cancel-button-text="取消"
-                    confirm-button-text="确认"
-                    icon="Info"
-                    iconColor="red"
-                    title="是否删除该数据"
-                    @confirm="cheXiaoTuiFeiClick(scope.$index, scope.row)"
+                      v-if="scope.row.oriDetailSn !== -1 && scope.row.transFlagYb === '0' && (quanXian.indexOf(1) > -1 || quanXian.indexOf(35) > -1)"
+                      cancel-button-text="取消"
+                      confirm-button-text="确认"
+                      icon="Info"
+                      iconColor="red"
+                      title="是否删除该数据"
+                      @confirm="cheXiaoTuiFeiClick(scope.$index, scope.row)"
                   >
                     <template #reference>
                       <el-button type="danger">撤销</el-button>
@@ -149,14 +154,14 @@
               </el-table-column>
             </el-table>
             <el-pagination
-              :current-page="patient.currentPage"
-              :page-size="patient.pageSize"
-              :page-sizes="[20, 30, 40, 50]"
-              :total="total"
-              layout="total, sizes, prev, pager, next, jumper"
-              style="margin-top: 5px"
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
+                :current-page="patient.currentPage"
+                :page-size="patient.pageSize"
+                :page-sizes="[20, 30, 40, 50]"
+                :total="total"
+                layout="total, sizes, prev, pager, next, jumper"
+                style="margin-top: 5px"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
             ></el-pagination>
           </el-tab-pane>
           <!-- 项目录入 -->
@@ -182,7 +187,8 @@
                   </el-col>
                   <el-col :span="24">
                     <!-- 这个下面查看录入的项目 -->
-                    <el-table :data="muBanNeiRongData" :height="tableHeight - 27" class="eltable" highlight-current-row stripe style="margin-top: 10px">
+                    <el-table :data="muBanNeiRongData" :height="tableHeight - 27" class="eltable" highlight-current-row
+                              stripe style="margin-top: 10px">
                       <el-table-column label="录入信息">
                         <el-table-column label="录入时间">
                           <template #default>
@@ -194,7 +200,8 @@
                         <el-table-column label="执行科室" prop="deptCode">
                           <template #default="scope">
                             <el-select v-model="scope.row.deptCode" filterable style="width: 90%">
-                              <el-option v-for="item in deptData" :key="item.code" :label="item.name" :value="item.code">
+                              <el-option v-for="item in deptData" :key="item.code" :label="item.name"
+                                         :value="item.code">
                                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                                 <el-divider direction="vertical"></el-divider>
                                 <span>{{ item.name }}</span></el-option
@@ -206,7 +213,8 @@
                         <el-table-column label="数量" prop="amount" width="130">
                           <template #default="scope">
                             <!--precision 限制输入的精度 0 就是不带任何一位小数点  -->
-                            <el-input-number v-model="scope.row.amount" :min="0" :precision="1" style="width: 120px"></el-input-number>
+                            <el-input-number v-model="scope.row.amount" :min="0" :precision="1"
+                                             style="width: 120px"></el-input-number>
                           </template>
                         </el-table-column>
                       </el-table-column>
@@ -233,12 +241,13 @@
           <el-row>
             <el-col :span="24">
               搜索:
-              <el-select v-model="chargePyCode" :remote-method="rmChargePyCode" clearable default-first-option filterable remote @change="getDanGeXiangMu">
+              <el-select v-model="chargePyCode" :remote-method="rmChargePyCode" clearable default-first-option
+                         filterable remote @change="getDanGeXiangMu">
                 <el-option
-                  v-for="item in xiangMuData.slice((danGeXiangMuCurrentPage - 1) * 20, danGeXiangMuCurrentPage * 20)"
-                  :key="item.chargeCode"
-                  :label="item.chargeName"
-                  :value="item.chargeCode"
+                    v-for="item in xiangMuData.slice((danGeXiangMuCurrentPage - 1) * 20, danGeXiangMuCurrentPage * 20)"
+                    :key="item.chargeCode"
+                    :label="item.chargeName"
+                    :value="item.chargeCode"
                 >
                   <span style="color: #8492a6; font-size: 12px">{{ item.chargeCode }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -249,14 +258,14 @@
                   <span style="color: #e6a23c"> {{ item.chargeAmount }} 元</span>
                 </el-option>
                 <el-pagination
-                  :current-page="danGeXiangMuCurrentPage"
-                  :page-size="20"
-                  :pager-count="5"
-                  :total="xiangMuData.length"
-                  layout=" prev, pager, next,total"
-                  small
-                  style="margin-top: 5px"
-                  @current-change="danGeXiangMuCurrentChange"
+                    :current-page="danGeXiangMuCurrentPage"
+                    :page-size="20"
+                    :pager-count="5"
+                    :total="xiangMuData.length"
+                    layout=" prev, pager, next,total"
+                    small
+                    style="margin-top: 5px"
+                    @current-change="danGeXiangMuCurrentChange"
                 ></el-pagination>
               </el-select>
               <el-button type="success" @click="danGeXiangMuBaoCun">保存</el-button>
@@ -320,7 +329,7 @@
               <el-input v-model="cunMuBanPojo.dept" disabled></el-input>
             </el-col>
             <el-col :span="12">
-              <el-button icon="Upload" style="margin-top: 10px" type="primary" @click="baoCunMuBan">保存 </el-button>
+              <el-button icon="Upload" style="margin-top: 10px" type="primary" @click="baoCunMuBan">保存</el-button>
             </el-col>
           </el-row>
         </el-dialog>
@@ -331,8 +340,8 @@
 
 <script name="xiangMuLuRu" setup>
 import store from '@/store'
-import { costState, cptSex } from '@/utils/computed'
-import { shortcuts } from '@/data/shortcuts'
+import {costState, cptSex} from '@/utils/computed'
+import {shortcuts} from '@/data/shortcuts'
 import {
   cheXiaoTuiFei,
   getChargeCode,
@@ -345,15 +354,16 @@ import {
   xiangMuTuiFei,
   xiuGaiZiFeiBiaoZhi,
 } from '@/api/yibao/xiang-mu-lu-ru'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { getDateRangeFormatDate, getDatetime } from '@/utils/date'
-import { clone } from '@/utils/clone'
-import { getPatientInfo } from '@/api/yibao/patient'
-import { feiYongLeiXing, tuiFeiLeiXin, yiZhuTuiFeiLeiXing } from '@/data/index'
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {getDateRangeFormatDate, getDatetime} from '@/utils/date'
+import {clone} from '@/utils/clone'
+import {getPatientInfo} from '@/api/yibao/patient'
+import {feiYongLeiXing, tuiFeiLeiXin, yiZhuTuiFeiLeiXing} from '@/data/index'
 import HuoQuMuBan from '@/components/med-tec-mod/HuoQuMuBan.vue'
-import { getDept } from '@/api/public-api'
-import { baseinfo } from '@/data/inpatient'
-import { listIsBlank } from '@/utils/blank-utils'
+import {getDept} from '@/api/public-api'
+import {baseinfo} from '@/data/inpatient'
+import {listIsBlank} from '@/utils/blank-utils'
+import Sleep from "@/utils/sleep";
 
 const props = defineProps({
   init: {
@@ -366,7 +376,7 @@ const emit = defineEmits(['close-xmlr'])
 
 const windowSize = store.state.app.windowSize
 const tableHeight = windowSize.h - 170
-const chaoZuoZhiNan = ref(true)
+const chaoZuoZhiNan = ref(false)
 
 // 默认选中已录入项目
 const xmlrTabs = ref('ylrxm')
@@ -398,7 +408,8 @@ const patient = ref({})
 const panDuanSFTongGuoBingShiJinRu = ref(false)
 
 // 弹框 输入住院号
-const jinRuPanDuanSFXieDaiHuanZheXinXi = () => {
+const jinRuPanDuanSFXieDaiHuanZheXinXi = async () => {
+  await Sleep(300)
   ElMessageBox.prompt('请输入患者住院号', '提示', {
     confirmButtonText: '确定',
     cancelButtonText: '取消',
@@ -406,13 +417,13 @@ const jinRuPanDuanSFXieDaiHuanZheXinXi = () => {
     inputErrorMessage: '患者住院号不能为空 (∩•̀ω•́)⊃-*⋆',
     type: 'warning',
   })
-    .then(({ value }) => {
-      inpatientNo.value = value
-      chaXunHuanZheXinXi()
-    })
-    .catch(() => {
-      guanBiDialog()
-    })
+      .then(({value}) => {
+        inpatientNo.value = value
+        chaXunHuanZheXinXi()
+      })
+      .catch(() => {
+        guanBiDialog()
+      })
 }
 
 /**
@@ -420,25 +431,25 @@ const jinRuPanDuanSFXieDaiHuanZheXinXi = () => {
  */
 const chaXunHuanZheXinXi = () => {
   getPatientInfo(inpatientNo.value)
-    .then((res) => {
-      patient.value = res
-      patient.value.currentPage = 1
-      patient.value.pageSize = 40
-      patient.value.total = 0
-      patient.value.orderNo = 0
-      patient.value.deptCode = store.state.user.info.deptCode
-      queryFeiYong()
-      if (patient.value.ward === store.state.user.info.deptCode) {
-        panDuanSFTongGuoBingShiJinRu.value = true
-      } else {
-        xmlrTabs.value = 'ylrxm'
-        panDuanSFTongGuoBingShiJinRu.value = false
-      }
-    })
-    .catch(() => {
-      patient.value = {}
-      jinRuPanDuanSFXieDaiHuanZheXinXi()
-    })
+      .then((res) => {
+        patient.value = res
+        patient.value.currentPage = 1
+        patient.value.pageSize = 40
+        patient.value.total = 0
+        patient.value.orderNo = 0
+        patient.value.deptCode = store.state.user.info.deptCode
+        queryFeiYong()
+        if (patient.value.ward === store.state.user.info.deptCode) {
+          panDuanSFTongGuoBingShiJinRu.value = true
+        } else {
+          xmlrTabs.value = 'ylrxm'
+          panDuanSFTongGuoBingShiJinRu.value = false
+        }
+      })
+      .catch(() => {
+        patient.value = {}
+        jinRuPanDuanSFXieDaiHuanZheXinXi()
+      })
 }
 
 const total = ref(0)
@@ -454,19 +465,19 @@ const queryFeiYong = () => {
   patient.value.currentPage = 1
   patient.value.total = 0
   getHuanZheFeiYong(patient.value)
-    .then((res) => {
-      tableDataHuanZheFeiYong.value = res
-      cptTableDataHuanZheFeiYong.value = res.records
-      total.value = res.total
-      if (patient.value.admissWard === store.state.user.info.deptCode) {
-        panDuanSFTongGuoBingShiJinRu.value = true
-      }
-    })
-    .catch(() => {
-      tableDataHuanZheFeiYong.value = []
-      cptTableDataHuanZheFeiYong.value = []
-      patient.value.total = 0
-    })
+      .then((res) => {
+        tableDataHuanZheFeiYong.value = res
+        cptTableDataHuanZheFeiYong.value = res.records
+        total.value = res.total
+        if (patient.value.admissWard === store.state.user.info.deptCode) {
+          panDuanSFTongGuoBingShiJinRu.value = true
+        }
+      })
+      .catch(() => {
+        tableDataHuanZheFeiYong.value = []
+        cptTableDataHuanZheFeiYong.value = []
+        patient.value.total = 0
+      })
 }
 
 const handleQueryFeiYong = () => {
@@ -477,18 +488,18 @@ const handleQueryFeiYong = () => {
   patient.value.feiYongLeiXingCode = feiYongLeiXingCode.value
   patient.value.total = total.value
   getHuanZheFeiYong(patient.value)
-    .then((res) => {
-      tableDataHuanZheFeiYong.value = res
-      cptTableDataHuanZheFeiYong.value = res.records
-      if (patient.value.admissWard === store.state.user.info.deptCode) {
-        panDuanSFTongGuoBingShiJinRu.value = true
-      }
-    })
-    .catch(() => {
-      tableDataHuanZheFeiYong.value = []
-      cptTableDataHuanZheFeiYong.value = []
-      patient.value.total = 0
-    })
+      .then((res) => {
+        tableDataHuanZheFeiYong.value = res
+        cptTableDataHuanZheFeiYong.value = res.records
+        if (patient.value.admissWard === store.state.user.info.deptCode) {
+          panDuanSFTongGuoBingShiJinRu.value = true
+        }
+      })
+      .catch(() => {
+        tableDataHuanZheFeiYong.value = []
+        cptTableDataHuanZheFeiYong.value = []
+        patient.value.total = 0
+      })
 }
 
 /**
@@ -542,21 +553,22 @@ const xiangMuTuiFeiClick = () => {
     }
     if (patient.value.list.length > 0) {
       ElMessageBox.confirm(
-        `退费数量为:<span style='color:red'>【${chargeAmount}】</span> ,总价格为:<span style='color:#E6A23C'>【${chargeFee.toFixed(2)}】</span>`,
-        '请认真核对',
-        {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning',
-          dangerouslyUseHTMLString: true,
-        }
+          `退费数量为:<span style='color:red'>【${chargeAmount}】</span> ,总价格为:<span style='color:#E6A23C'>【${chargeFee.toFixed(2)}】</span>`,
+          '请认真核对',
+          {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning',
+            dangerouslyUseHTMLString: true,
+          }
       )
-        .then(() => {
-          xiangMuTuiFei(patient.value).then((res) => {
-            queryFeiYong()
+          .then(() => {
+            xiangMuTuiFei(patient.value).then((res) => {
+              queryFeiYong()
+            })
+          })
+          .catch(() => {
           })
-        })
-        .catch(() => {})
     } else {
       ElMessage.warning({
         message: '请先选择退费数据',
@@ -572,7 +584,8 @@ const xiangMuTuiFeiClick = () => {
 }
 
 const cheXiaoTuiFeiClick = (index, row) => {
-  cheXiaoTuiFei(row.inpatientNo, row.admissTimes, row.ledgerSn, row.detailSn).then(() => {})
+  cheXiaoTuiFei(row.inpatientNo, row.admissTimes, row.ledgerSn, row.detailSn).then(() => {
+  })
 }
 
 //////////////////////////////////// 以上全部是 已录入项目 //////////////////////////////////////////////////////////////////////////////
@@ -729,13 +742,14 @@ const shangChuanXiangMu = () => {
     cancelButtonText: '取消',
     confirmButtonText: '确定',
   })
-    .then(() => {
-      xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
-        muBanNeiRongData.value = []
-        muBanCode = []
+      .then(() => {
+        xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
+          muBanNeiRongData.value = []
+          muBanCode = []
+        })
+      })
+      .catch(() => {
       })
-    })
-    .catch(() => {})
 }
 
 // 上面就是上传 项目
@@ -832,10 +846,11 @@ const sheZhiWeiYiVBao = () => {
     cancelButtonText: '取消',
     type: 'warning',
   })
-    .then(() => {
-      xiuGaiZiFeiBiaoZhi(patient.value)
-    })
-    .catch(() => {})
+      .then(() => {
+        xiuGaiZiFeiBiaoZhi(patient.value)
+      })
+      .catch(() => {
+      })
 }
 </script>