Browse Source

违规退费

xiaochan 3 years ago
parent
commit
265e3897a8

+ 6 - 2
src/components/inpatient/WeiGuiFeiYongFenXi.vue

@@ -307,6 +307,7 @@ export default {
     const genXingShuJu = () => {
       huanZheXinXi.value.deptCode = props.patient.deptCode
       huanZheXinXi.value.inpatientNo = props.patient.inpatientNo
+      huanZheXinXi.value.openDialog = props.patient.openDialog
       if (huanZheXinXi.value.inpatientNo === '') {
         qingKong()
         ctx.emit('open', true)
@@ -318,7 +319,7 @@ export default {
       } else {
         chaXunWeiGuiClick()
       }
-      console.log(huanZheXinXi.value)
+      console.log(huanZheXinXi.value.openDialog)
     }
 
     const chaoZuoZhiNan = ref(false)
@@ -338,6 +339,7 @@ export default {
 
     const chaXunWeiGuiClick = () => {
       weiGuiFeiYongFenXi(huanZheXinXi.value.inpatientNo, huanZheXinXi.value.deptCode).then((res) => {
+        console.log(res)
         huanZheXinXi.value.inpatientNo = res.inpatientNo
         huanZheXinXi.value.admissTimes = res.admissTimes
         huanZheXinXi.value.name = res.name
@@ -351,8 +353,10 @@ export default {
         weiPiPei.value.data = res.weiPiPei
 
         if ((weiPiPei.value.data.length > 0 && huanZheXinXi.value.default === '') || weiGuiFeiYong.value.data.length > 0) {
-          console.log(1)
           ctx.emit('open', true)
+        } else {
+          qingKong()
+          ctx.emit('open', huanZheXinXi.value.openDialog)
         }
 
         if (weiPiPei.value.data.length === 0 && weiGuiFeiYong.value.data.length > 0) {

+ 1 - 0
src/components/med-tec-mod/HuanZheFeiYong.vue

@@ -12,6 +12,7 @@
         <el-table-column prop="chargeName" label="项目名称"></el-table-column>
         <el-table-column prop="drugname" label="药品名称" v-if="patient.feiYongLeiXingCode === 1"></el-table-column>
         <el-table-column prop="genTime" label="执行时间" width="80px"></el-table-column>
+        <el-table-column prop="execDept" label="执行科室"></el-table-column>
         <el-table-column prop="deptCode" label="申请科室"></el-table-column>
         <el-table-column prop="chargeFee" label="金额"></el-table-column>
         <el-table-column label="数量" prop="chargeAmount"></el-table-column>

+ 100 - 62
src/components/med-tec-mod/YiJiXiangMuLuRu.vue

@@ -50,9 +50,15 @@
               ></el-switch>
             </template>
           </el-table-column>
-          <el-table-column label="录入时间" width="80px">
-            <template #default>
-              {{ getDatetime(new Date()) }}
+          <el-table-column label="医生" width="70px">
+            <template #default="scope">
+              <el-select v-model="scope.row.doctorCode" remote filterable clearable :remote-method="remoteMethodRenYuan" style="width: 100px">
+                <el-option v-for="item in renYuanList" :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>
+              </el-select>
             </template>
           </el-table-column>
           <el-table-column label="项目编码" prop="chargeCodeMx"></el-table-column>
@@ -91,30 +97,10 @@
     </el-main>
     <el-dialog v-model="xinZhengXiangMuDialog" title="新增" :width="1500">
       搜索:
-      <el-select v-model="chargeCodePy" remote filterable clearable @change="getDanGeXiangMu" default-first-option :remote-method="rmChargePyCode">
-        <el-option v-for="item in xiangMuHuoYaoPinShuJu" :key="item.chargeCodeMx" :label="item.chargeName" :value="item.chargeCodeMx">
-          <span v-if="xiangMuHuoYaoPinFlag == 0">
-            <span style="color: #8492a6; font-size: 12px">{{ item.chargeCodeMx }}</span>
-            <el-divider direction="vertical"></el-divider>
-            <span> {{ item.chargeName }}</span>
-            <el-divider direction="vertical"></el-divider>
-            <span style="color: red"> {{ item.ybComment }}</span>
-            <el-divider direction="vertical"></el-divider>
-            <span style="color: #e6a23c"> {{ item.chargeAmount }} 元</span>
-          </span>
-          <span v-else>
-            <span style="color: #8492a6; font-size: 12px">{{ item.chargeCodeMx }}</span>
-            <el-divider direction="vertical"></el-divider>
-            <span> {{ item.chargeName }}</span>
-            <el-divider direction="vertical"></el-divider>
-            <span style="color: #e6a23c"> {{ item.spec }} </span>
-            <el-divider direction="vertical"></el-divider>
-            <span style="color: #8492a6"> {{ item.yblx }} </span>
-            <el-divider direction="vertical"></el-divider>
-            <span style="color: #e6a23c"> {{ item.chargeAmount }} 元</span>
-          </span>
-        </el-option>
-      </el-select>
+      <el-input v-model="chargeCodePy" style="width: 140px" @keyup.enter="rmChargePyCode"> </el-input>
+      <el-divider direction="vertical"></el-divider>
+      <el-button type="primary" @click="rmChargePyCode">查询</el-button>
+      <el-divider direction="vertical"></el-divider>
       <el-switch
         active-color="#409EFF"
         inactive-color="#13ce66"
@@ -124,8 +110,21 @@
         :inactive-value="0"
         v-model="xiangMuHuoYaoPinFlag"
       ></el-switch>
-      <el-button type="success" @click="danGeXiangMuBaoCun">保存</el-button>
-      <el-table :data="danGeFeiYong">
+      <el-divider direction="vertical"></el-divider>
+      <el-table
+        :data="
+          xiangMuHuoYaoPinShuJu.data.slice(
+            (xiangMuHuoYaoPinShuJu.currentPage - 1) * xiangMuHuoYaoPinShuJu.pageSize,
+            xiangMuHuoYaoPinShuJu.currentPage * xiangMuHuoYaoPinShuJu.pageSize
+          )
+        "
+        :height="tableHeight / 1.2"
+      >
+        <el-table-column label="操作" width="40">
+          <template #default="scope">
+            <el-button @click="danGeXiangMuBaoCun(scope.row)" type="text">添加</el-button>
+          </template>
+        </el-table-column>
         <el-table-column label="项目编码" prop="chargeCodeMx"></el-table-column>
         <el-table-column label="项目名称" prop="chargeName"></el-table-column>
         <el-table-column label="规格" prop="spec"></el-table-column>
@@ -152,7 +151,19 @@
           </template>
         </el-table-column>
         <el-table-column label="账单码" prop="billItemName"></el-table-column>
+        <el-table-column label="库存" prop="stockAmount" v-if="xiangMuHuoYaoPinFlag === 1"></el-table-column>
+        <el-table-column label="医保类型" prop="yblx" v-if="xiangMuHuoYaoPinFlag === 1"></el-table-column>
       </el-table>
+      <el-pagination
+        :page-size="xiangMuHuoYaoPinShuJu.pageSize"
+        :current-page="xiangMuHuoYaoPinShuJu.currentPage"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="xiangMuHuoYaoPinShuJu.data.length"
+        @size-change="xinZhengSizeChange"
+        @current-change="xinZhengCurrentChange"
+        background
+      >
+      </el-pagination>
     </el-dialog>
     <el-dialog title="保存模板" v-model="baoCunMuBanDialog">
       <el-row>
@@ -170,7 +181,8 @@
 
 <script>
 import { computed, onMounted, ref, watch } from 'vue'
-import { getMuBan, getMuBanXinXi, xiangMuFeiYongShangChuan, getDept, queryDanGeXiangMu, shanChuMuBan, getPyCode, shangChuanMuBan } from '@/api/yibao/xiang-mu-lu-ru'
+import { getMuBan, getMuBanXinXi, xiangMuFeiYongShangChuan, getDept, queryDanGeXiangMu, getPyCode, shangChuanMuBan } from '@/api/yibao/xiang-mu-lu-ru'
+import { getRenYuan } from '../../api/public-api.js'
 import store from '@/store'
 import { getDatetime } from '@/utils/date'
 import { ElMessage, ElMessageBox } from 'element-plus'
@@ -286,53 +298,50 @@ export default {
     // 判断查询药品还是项目
     const xiangMuHuoYaoPinFlag = ref(0)
     // 这个是远程查询数据后 保存
-    const xiangMuHuoYaoPinShuJu = ref([])
+    const xiangMuHuoYaoPinShuJu = ref({
+      currentPage: 1,
+      pageSize: 20,
+      data: [],
+    })
     // 远程查询的
     const chargeCodePy = ref('')
 
     /**
      * 远程搜索
      */
-    const rmChargePyCode = (val) => {
-      if (val.length >= 2) {
-        queryDanGeXiangMu(val, xiangMuHuoYaoPinFlag.value).then((res) => {
-          xiangMuHuoYaoPinShuJu.value = res
+    const rmChargePyCode = () => {
+      if (chargeCodePy.value.length >= 2) {
+        queryDanGeXiangMu(chargeCodePy.value, xiangMuHuoYaoPinFlag.value).then((res) => {
+          xiangMuHuoYaoPinShuJu.value.data = res
         })
       }
     }
     // 单个费用
     const danGeFeiYong = ref([])
 
-    // 获取单个费用录入 并且放入表格中选择
-    const getDanGeXiangMu = () => {
-      xiangMuHuoYaoPinShuJu.value.filter((item) => {
-        if (item.chargeCodeMx === chargeCodePy.value) {
-          item.deptCode = store.state.user.info.deptCode
-          danGeFeiYong.value = []
-          danGeFeiYong.value.push(item)
-        }
-      })
-    }
-
-    const danGeXiangMuBaoCun = () => {
-      if (chargeCodePy.value === '') {
-        return ElMessage.error({
+    const danGeXiangMuBaoCun = (val) => {
+      let key
+      if (xiangMuHuoYaoPinFlag.value === 1) {
+        key = val.chargeCodeMx + val.serial
+      } else {
+        key = val.chargeCodeMx
+      }
+      if (chargeCode.value.indexOf(key) > -1) {
+        return ElMessage.warning({
+          message: '请勿重复录入',
           showClose: true,
-          message: '请先选择一条费用',
         })
-      }
-      for (let i = 0; i < chargeCode.value.length; i++) {
-        if (chargeCode.value[i] === danGeFeiYong.value[0].chargeCodeMx) {
-          return ElMessage.error({
-            showClose: true,
-            message: '请勿重复录入',
-          })
+      } else {
+        if (typeof val.deptCode === 'undefined') {
+          val.deptCode = store.state.user.info.deptCode
         }
+        feiYongShuJu.value.push(val)
+        chargeCode.value.push(key)
+        ElMessage.success({
+          message: '添加成功',
+          showClose: true,
+        })
       }
-      feiYongShuJu.value.push(danGeFeiYong.value[0])
-      chargeCode.value.push(danGeFeiYong.value[0].chargeCodeMx)
-      danGeFeiYong.value = []
-      chargeCodePy.value = ''
     }
 
     const xiangMuZongJia = computed(() => {
@@ -346,6 +355,7 @@ export default {
     watch(
       () => props.patient,
       () => {
+        console.log(props.patient)
         // 这里刚好是反着的
         queryWard.value = props.patient.admissDept
         getBingQuDuiYingKeShiChange()
@@ -414,6 +424,31 @@ export default {
       }
     }
 
+    // 新增中的分页 事件
+    const xinZhengSizeChange = (val) => {
+      xiangMuHuoYaoPinShuJu.value.pageSize = val
+    }
+
+    const xinZhengCurrentChange = (val) => {
+      xiangMuHuoYaoPinShuJu.value.currentPage = val
+    }
+
+    watch(
+      () => xiangMuHuoYaoPinFlag.value,
+      () => {
+        xiangMuHuoYaoPinShuJu.value.data = []
+      }
+    )
+    const renYuanList = ref([])
+
+    // 搜索 医生工号
+    const remoteMethodRenYuan = (val) => {
+      if (val.length >= 2)
+        getRenYuan(val).then((res) => {
+          renYuanList.value = res
+        })
+    }
+
     return {
       muBanData,
       tableHeight,
@@ -433,7 +468,6 @@ export default {
       xiangMuHuoYaoPinShuJu,
       chargeCodePy,
       rmChargePyCode,
-      getDanGeXiangMu,
       danGeFeiYong,
       danGeXiangMuBaoCun,
       wardData,
@@ -450,6 +484,10 @@ export default {
       zhiXingKeShi,
       xieGaiZhiXingKeShi,
       xiaoKeShiList,
+      xinZhengCurrentChange,
+      xinZhengSizeChange,
+      remoteMethodRenYuan,
+      renYuanList,
     }
   },
 }

+ 0 - 2
src/views/clinic/TransferInOfExpenses.vue

@@ -382,7 +382,6 @@ export default {
             message: `门诊病人姓名【'   ${mzXinXiList.value[i].patientName}  '】住院病人姓名【'  ${huanZheXinXi.value.name}  '】不一致,是否继续?<br>收费日期:${huanZheXinXi.value.chargeDate}`,
           })
             .then(() => {
-              huanZheXinXi.value.reqExecUnit = store.state.user.info.deptCode
               baoCunHuanZheZhuYuanFeiYong(huanZheXinXi.value).then((res) => {
                 zyXinXiList.value = []
                 mzXinXiList.value = []
@@ -400,7 +399,6 @@ export default {
           message: `收费日期:${huanZheXinXi.value.chargeDate}`,
         })
           .then(() => {
-            huanZheXinXi.value.reqExecUnit = store.state.user.info.deptCode
             baoCunHuanZheZhuYuanFeiYong(huanZheXinXi.value).then((res) => {
               zyXinXiList.value = []
               mzXinXiList.value = []

+ 4 - 4
src/views/medical-insurance/inpatient/InHospFeeUpload.vue

@@ -4,7 +4,7 @@
       <el-button icon="el-icon-thumb" type="success" @click="preCalculateCost">获取费用</el-button>
       <el-button icon="el-icon-upload2" type="success" @click="uploadFees">费用上传</el-button>
       <el-button icon="el-icon-remove-outline" type="warning" :disabled="!isAdmin" @click="cancelFees">取消上传</el-button>
-      <el-button type="primary" @click="weiGuiTuiFeiFenXiDialogOpen(false)">违规费用分析</el-button>
+      <el-button type="primary" @click="weiGuiTuiFeiFenXiDialogOpen(true)">违规费用分析</el-button>
       <el-popover placement="left" width="730" trigger="click">
         <template #reference>
           <el-button type="warning" icon="el-icon-circle-close" plain>错误信息 ({{ errorMessages.length }}) </el-button>
@@ -182,8 +182,7 @@ export default {
           if (patient.value.inpatientNo) {
             fetchProjectFees()
             fetchMedicineFees()
-            console.log(1)
-            weiGuiTuiFeiFenXiDialogOpen(true)
+            weiGuiTuiFeiFenXiDialogOpen(false)
           } else {
             clearFees()
           }
@@ -391,7 +390,8 @@ export default {
     const weiGuiTuiFeiFenXiDialogOpen = (val) => {
       weiGuiTuiFeiInit.value += 1
       weiGuiJiBenXinXi.value.deptCode = ''
-      weiGuiJiBenXinXi.value.inpatientNo = val ? patient.value.inpatientNo : ''
+      weiGuiJiBenXinXi.value.inpatientNo = typeof patient.value.inpatientNo === 'undefined' ? '' : patient.value.inpatientNo
+      weiGuiJiBenXinXi.value.openDialog = val
     }
 
     const weiGuiTuiFeiOpenDialog = (val) => {