浏览代码

调整格式

xiaochan 3 年之前
父节点
当前提交
e165c4eee2

+ 122 - 107
src/components/inpatient/WeiGuiFeiYongFenXi.vue

@@ -8,7 +8,8 @@
         </template>
         <el-descriptions-item label="姓名">{{ huanZheXinXi.name }}</el-descriptions-item>
         <el-descriptions-item label="住院号">
-          <el-input size="mini" style="width: 120px" v-model="huanZheXinXi.inpatientNo" @keyup.enter="chaXunWeiGuiClick(true)"></el-input>
+          <el-input size="mini" style="width: 120px" v-model="huanZheXinXi.inpatientNo"
+                    @keyup.enter="chaXunWeiGuiClick(true)"></el-input>
           <el-divider direction="vertical"></el-divider>
           <el-button @click="chaXunWeiGuiClick(true)">查询</el-button>
         </el-descriptions-item>
@@ -21,34 +22,34 @@
       <el-tabs v-model="weiGuiTabs">
         <el-tab-pane label="未匹配" name="未匹配">
           <el-table
-            :data="weiPiPei.data.slice((weiPiPei.currentPage - 1) * weiPiPei.pageSize, weiPiPei.pageSize * weiPiPei.currentPage)"
-            :height="WinHeight / 1.39"
-            highlight-current-row
-            stripe
+              :data="weiPiPei.data.slice((weiPiPei.currentPage - 1) * weiPiPei.pageSize, weiPiPei.pageSize * weiPiPei.currentPage)"
+              :height="WinHeight / 1.39"
+              highlight-current-row
+              stripe
           >
             <el-table-column label="排序" type="index"></el-table-column>
             <el-table-column label="项目编码" prop="chargeCodeMx"></el-table-column>
             <el-table-column label="项目名称" prop="name"></el-table-column>
           </el-table>
           <el-pagination
-            @current-change="weiPiPeiCurrentPage"
-            :current-page="weiPiPei.currentPage"
-            :page-size="weiPiPei.pageSize"
-            :page-sizes="[40, 200, 300, 400]"
-            layout=" prev, pager, next,total"
-            :total="weiPiPei.data.length"
-            style="margin-top: 5px"
-            :pager-count="5"
-            background
+              @current-change="weiPiPeiCurrentPage"
+              :current-page="weiPiPei.currentPage"
+              :page-size="weiPiPei.pageSize"
+              :page-sizes="[40, 200, 300, 400]"
+              layout=" prev, pager, next,total"
+              :total="weiPiPei.data.length"
+              style="margin-top: 5px"
+              :pager-count="5"
+              background
           ></el-pagination>
         </el-tab-pane>
         <el-tab-pane label="违规退费" name="违规退费">
           <el-table
-            :data="weiGuiFeiYong.data.slice((weiGuiFeiYong.currentPage - 1) * weiGuiFeiYong.pageSize, weiGuiFeiYong.pageSize * weiGuiFeiYong.currentPage)"
-            :height="WinHeight / 1.39"
-            highlight-current-row
-            stripe
-            @cell-click="zhenShuFeiYong"
+              :data="weiGuiFeiYong.data.slice((weiGuiFeiYong.currentPage - 1) * weiGuiFeiYong.pageSize, weiGuiFeiYong.pageSize * weiGuiFeiYong.currentPage)"
+              :height="WinHeight / 1.39"
+              highlight-current-row
+              stripe
+              @cell-click="zhenShuFeiYong"
           >
             <el-table-column label="排序" type="index"></el-table-column>
             <el-table-column label="流水号" prop="detailSn"></el-table-column>
@@ -67,13 +68,13 @@
             </el-table-column>
           </el-table>
           <el-pagination
-            @current-change="weiGuiFeiYongCurrentPage"
-            :current-page="weiGuiFeiYong.currentPage"
-            :page-size="weiGuiFeiYong.pageSize"
-            layout=" prev, pager, next,total"
-            :total="weiGuiFeiYong.data.length"
-            style="margin-top: 5px"
-            background
+              @current-change="weiGuiFeiYongCurrentPage"
+              :current-page="weiGuiFeiYong.currentPage"
+              :page-size="weiGuiFeiYong.pageSize"
+              layout=" prev, pager, next,total"
+              :total="weiGuiFeiYong.data.length"
+              style="margin-top: 5px"
+              background
           ></el-pagination>
         </el-tab-pane>
       </el-tabs>
@@ -90,31 +91,33 @@
             <el-button size="small" type="success" @click="PiPeiClick">保存</el-button>
           </el-descriptions-item>
         </el-descriptions>
-        <br />
-        录入日期:<el-date-picker
-          type="daterange"
-          v-model="dateRange"
-          placeholder="选择日期"
-          style="width: 280px"
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :shortcuts="shortcuts"
+        <br/>
+        录入日期:
+        <el-date-picker
+            type="daterange"
+            v-model="dateRange"
+            placeholder="选择日期"
+            style="width: 280px"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            :shortcuts="shortcuts"
         ></el-date-picker>
         <el-button
-          @click="riQiPaiXu === 'DESC' ? (riQiPaiXu = 'ASC') : (riQiPaiXu = 'DESC')"
-          type="success"
-          :icon="riQiPaiXu === 'DESC' ? 'el-icon-caret-bottom' : 'el-icon-caret-top'"
-          >{{ riQiPaiXu === 'DESC' ? '日期降序' : '日期升序' }}</el-button
+            @click="riQiPaiXu === 'DESC' ? (riQiPaiXu = 'ASC') : (riQiPaiXu = 'DESC')"
+            type="success"
+            :icon="riQiPaiXu === 'DESC' ? 'el-icon-caret-bottom' : 'el-icon-caret-top'"
+        >{{ riQiPaiXu === 'DESC' ? '日期降序' : '日期升序' }}
+        </el-button
         >
         <el-button @click="zhenShuFeiYong(fuShuFeiYongXinXi)">查询</el-button>
         <el-table
-          highlight-current-row
-          stripe
-          :data="keYiPiPeiDeZhenShu.data.slice((keYiPiPeiDeZhenShu.currentPage - 1) * keYiPiPeiDeZhenShu.pageSize, keYiPiPeiDeZhenShu.pageSize * keYiPiPeiDeZhenShu.currentPage)"
-          :height="WinHeight / 1.39"
-          @selection-change="handleSelectionChange"
-          class="eltable"
+            highlight-current-row
+            stripe
+            :data="keYiPiPeiDeZhenShu.data.slice((keYiPiPeiDeZhenShu.currentPage - 1) * keYiPiPeiDeZhenShu.pageSize, keYiPiPeiDeZhenShu.pageSize * keYiPiPeiDeZhenShu.currentPage)"
+            :height="WinHeight / 1.39"
+            @selection-change="handleSelectionChange"
+            class="eltable"
         >
           <el-table-column type="selection"></el-table-column>
           <el-table-column label="排序" type="index"></el-table-column>
@@ -131,36 +134,39 @@
           </el-table-column>
         </el-table>
         <el-pagination
-          @current-change="keYiPiPeiDeZhenShuCurrentPage"
-          @size-change="keYiPiPeiDeZhenShuSizeChange"
-          :current-page="keYiPiPeiDeZhenShu.currentPage"
-          :page-size="keYiPiPeiDeZhenShu.pageSize"
-          layout=" prev, pager, next,total,sizes"
-          :total="keYiPiPeiDeZhenShu.data.length"
-          style="margin-top: 5px"
-          background
+            @current-change="keYiPiPeiDeZhenShuCurrentPage"
+            @size-change="keYiPiPeiDeZhenShuSizeChange"
+            :current-page="keYiPiPeiDeZhenShu.currentPage"
+            :page-size="keYiPiPeiDeZhenShu.pageSize"
+            layout=" prev, pager, next,total,sizes"
+            :total="keYiPiPeiDeZhenShu.data.length"
+            style="margin-top: 5px"
+            background
         ></el-pagination>
       </div>
     </el-drawer>
     <el-dialog v-model="chaoZuoZhiNan" title="操作指南">
-      一、未匹配 <br />
-      1、点击未匹配,可以查询到这个患者没有匹配到医保的医保码<br />
-      二、违规退费<br />
-      1、点击违规退费:会显示这个患者无法上传到医保的费用。<br />
-      2、点击这个费用:会在右边弹出抽屉,上面会显示一些,费用的信息。<br />
-      3、匹配:这条负数的数据退的是那一天(或那几天)的费用,点击弹出来的抽屉中的多选框然后点击保存即可<br />
-      4、查询:查询这些正费用时,可以选择 日期,以及 排序。<br />
+      一、未匹配 <br/>
+      1、点击未匹配,可以查询到这个患者没有匹配到医保的医保码<br/>
+      二、违规退费<br/>
+      1、点击违规退费:会显示这个患者无法上传到医保的费用。<br/>
+      2、点击这个费用:会在右边弹出抽屉,上面会显示一些,费用的信息。<br/>
+      3、匹配:这条负数的数据退的是那一天(或那几天)的费用,点击弹出来的抽屉中的多选框然后点击保存即可<br/>
+      4、查询:查询这些正费用时,可以选择 日期,以及 排序。<br/>
+      三、匹配 <br>
+      1、自动匹配,系统随机挑选一条正数匹配。
     </el-dialog>
   </el-container>
 </template>
 
 <script>
-import { ref, watch } from 'vue'
+import {ref, watch} from 'vue'
 import store from '../../store'
-import { huoQuZhenShuKePiPei, caiFenPiPei, yiZhuTuiFeiPiPei, weiGuiFeiYongFenXi } from '@/api/yibao/xiang-mu-lu-ru'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { shortcuts } from '@/data/shortcuts'
-import { getDateRangeFormatDate } from '../../utils/date'
+import {huoQuZhenShuKePiPei, caiFenPiPei, yiZhuTuiFeiPiPei, weiGuiFeiYongFenXi} from '../../api/yibao/xiang-mu-lu-ru'
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {shortcuts} from '../../data/shortcuts'
+import {getDateRangeFormatDate} from '../../utils/date'
+
 export default {
   props: {
     init: {
@@ -206,7 +212,13 @@ export default {
       data: [],
     })
 
-    const fuShuFeiYongXinXi = ref({})
+    const fuShuFeiYongXinXi = ref({
+      chargeCodeName: '',
+      chargeFee: 0,
+      chargeAmount: 0,
+      execUnitName: '',
+      opIdCode: ''
+    })
 
     const weiPiPeiCurrentPage = (val) => {
       weiPiPei.value.currentPage = val
@@ -232,14 +244,14 @@ export default {
       huoQuZhenShuKePiPei(val.inpatientNo, val.admissTimes, val.ledgerSn, val.chargeCodeMx, val.execUnit, startTime, endTime, riQiPaiXu.value).then((res) => {
         if (res.length === 0) {
           ElMessageBox.alert(
-            `没有查询到对应的正数信息<br> 
+              `没有查询到对应的正数信息<br>
                 1、全部的正数(费用)可能已经全部都被匹配过了(被退了)。<br>
                 2、根本就没有收对应的正数。`,
-            '警告',
-            {
-              dangerouslyUseHTMLString: true,
-              type: 'error',
-            }
+              '警告',
+              {
+                dangerouslyUseHTMLString: true,
+                type: 'error',
+              }
           )
         } else {
           keYiPiPeiDeZhenShu.value.data = res
@@ -262,26 +274,27 @@ export default {
       ElMessageBox.confirm('请仔细检查', '提示', {
         type: 'warning',
       })
-        .then(() => {
-          fuShuFeiYongXinXi.value.list = linShiDuoXuan.value
-          fuShuFeiYongXinXi.value.deptCode = store.state.user.info.deptCode
-          caiFenPiPei(fuShuFeiYongXinXi.value).then((res) => {
-            piPeiShiFouDianJi.value = true
-            let data = weiGuiFeiYong.value.data
-            for (let i = 0; i < data.length; i++) {
-              if (
-                data[i].inpatientNo === fuShuFeiYongXinXi.value.inpatientNo &&
-                data[i].admissTimes === fuShuFeiYongXinXi.value.admissTimes &&
-                data[i].ledgerSn === fuShuFeiYongXinXi.value.ledgerSn &&
-                data[i].detailSn === fuShuFeiYongXinXi.value.detailSn
-              ) {
-                weiGuiFeiYong.value.data.splice(i, 1)
+          .then(() => {
+            fuShuFeiYongXinXi.value.list = linShiDuoXuan.value
+            fuShuFeiYongXinXi.value.deptCode = store.state.user.info.deptCode
+            caiFenPiPei(fuShuFeiYongXinXi.value).then((res) => {
+              piPeiShiFouDianJi.value = true
+              let data = weiGuiFeiYong.value.data
+              for (let i = 0; i < data.length; i++) {
+                if (
+                    data[i].inpatientNo === fuShuFeiYongXinXi.value.inpatientNo &&
+                    data[i].admissTimes === fuShuFeiYongXinXi.value.admissTimes &&
+                    data[i].ledgerSn === fuShuFeiYongXinXi.value.ledgerSn &&
+                    data[i].detailSn === fuShuFeiYongXinXi.value.detailSn
+                ) {
+                  weiGuiFeiYong.value.data.splice(i, 1)
+                }
               }
-            }
-            feiYongXiuZhenDrawer.value = false
+              feiYongXiuZhenDrawer.value = false
+            })
+          })
+          .catch(() => {
           })
-        })
-        .catch(() => {})
     }
 
     const shiFouBaoCun = (done) => {
@@ -293,20 +306,20 @@ export default {
           confirmButtonText: '保存',
           cancelButtonText: '放弃',
         })
-          .then((res) => {
-            PiPeiClick()
-          })
-          .catch(() => {
-            done()
-          })
+            .then((res) => {
+              PiPeiClick()
+            })
+            .catch(() => {
+              done()
+            })
       }
     }
 
     watch(
-      () => props.init,
-      () => {
-        genXingShuJu()
-      }
+        () => props.init,
+        () => {
+          genXingShuJu()
+        }
     )
 
     ctx.emit('open', false)
@@ -331,16 +344,17 @@ export default {
     const chaoZuoZhiNan = ref(false)
 
     const ziDongPiPeiTuiFei = () => {
-      ElMessageBox.confirm('如果你想每天的报表都可以对得上,那么就人工匹配,系统自动匹配<span style="color:red"> 天知道 </span>,你这一条退的是哪一天的,<br>ヾ(゚∀゚ゞ)。', '提示', {
+      ElMessageBox.confirm('如果你想每天的报表都可以对得上,那么就人工匹配,系统自动匹配<span style="color:#ff0000"> 天知道 </span>,你这一条退的是哪一天的,<br>ヾ(゚∀゚ゞ)。', '提示', {
         type: 'warning',
         dangerouslyUseHTMLString: true,
       })
-        .then(() => {
-          yiZhuTuiFeiPiPei(huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes, store.state.user.info.deptCode).then((res) => {
-            chaXunWeiGuiClick(false)
+          .then(() => {
+            yiZhuTuiFeiPiPei(huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes, store.state.user.info.deptCode).then((res) => {
+              chaXunWeiGuiClick(false)
+            })
+          })
+          .catch(() => {
           })
-        })
-        .catch(() => {})
     }
 
     const chaXunWeiGuiClick = (val) => {
@@ -371,6 +385,7 @@ export default {
           if (val) {
             ElMessage.success({
               message: '该患者没有违规的费用',
+              showClose: true,
             })
           }
         }

+ 194 - 170
src/components/inpatient/XiangMuLuRu.vue

@@ -6,7 +6,8 @@
       <el-tag effect="dark" size="medium">床号: {{ patient.bedNo }}</el-tag>
       <el-tag effect="dark" size="medium">住院次数: {{ patient.admissTimes }}</el-tag>
       <el-tag effect="dark" size="medium">性别: {{ cptSex(patient.sex) }}</el-tag>
-      住院号: <el-input v-model="inpatientNo" style="width: 100px" clearable placeholder="住院号"></el-input>
+      住院号:
+      <el-input v-model="inpatientNo" style="width: 100px" clearable placeholder="住院号"></el-input>
       <el-button type="primary" icon="el-icon-search" @click="chaXunHuanZheXinXi">查询患者信息</el-button>
       <el-button type="danger" style="margin-left: 20px" icon="el-icon-close" @click="guanBiDialog">关闭</el-button>
       <el-button type="warning" style="margin-left: 20px" @click="chaoZuoZhiNan = true">操作指南</el-button>
@@ -22,11 +23,11 @@
               <div>4、录入类型:该费用是怎么产生,护士录入,医嘱,医技</div>
               <div>
                 5、费用状态:未退-代表该费用没有被退,已退-代表费用是退费数据,被退-代表那些正的被退了
-                <span style="color: red">(该条件只对在本系统中有效,如果无效请点击退费匹配 (退费匹配就在本页面的关闭旁边),或选择全部)</span><br />
+                <span style="color: red">(该条件只对在本系统中有效,如果无效请点击退费匹配 (退费匹配就在本页面的关闭旁边),或选择全部)</span><br/>
               </div>
               <div>6、点击查询即可查询费用(如提示没有数据,请检查搜索的条件)</div>
             </el-collapse-item>
-            <el-collapse-item title=" 二、退费" name="2"> 1、选中表格中的多选按钮(小框框),然后点击退费即可,请仔细检查 </el-collapse-item>
+            <el-collapse-item title=" 二、退费" name="2"> 1、选中表格中的多选按钮(小框框),然后点击退费即可,请仔细检查</el-collapse-item>
             <el-collapse-item title=" 三、撤销退费" name="3">
               <div>1、如果退费退错了,可以点击费用后面的撤销按钮,前提是该费用没有被上传到医保,如果已经上传了且你一定要把这一条费用完全删除,那请先要医保科撤销上传。</div>
               <div>2、如果需要撤销退费的权限,请向信息科,提供工号,该权限只能提供给护士长。</div>
@@ -50,13 +51,14 @@
         </el-dialog>
         <el-tabs v-model="xmlrTabs">
           <el-tab-pane label="已录入项目" name="ylrxm">
-            项目名称:<el-select
-              v-model="patient.chargeCode"
-              remote
-              filterable
-              clearable
-              @blur="patient.chargeCode = $event.target.value.trim()"
-              :remote-method="remoteMethodChargeCode"
+            项目名称:
+            <el-select
+                v-model="patient.chargeCode"
+                remote
+                filterable
+                clearable
+                @blur="patient.chargeCode = $event.target.value.trim()"
+                :remote-method="remoteMethodChargeCode"
             >
               <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>
@@ -64,21 +66,23 @@
                 <span>{{ item.name }}</span>
               </el-option>
             </el-select>
-            录入日期:<el-date-picker
-              type="daterange"
-              v-model="dateRange"
-              placeholder="选择日期"
-              style="width: 280px"
-              range-separator="至"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :shortcuts="shortcuts"
+            录入日期:
+            <el-date-picker
+                type="daterange"
+                v-model="dateRange"
+                placeholder="选择日期"
+                style="width: 280px"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                :shortcuts="shortcuts"
             ></el-date-picker>
             <el-button
-              @click="riQiPaiXu === 'DESC' ? (riQiPaiXu = 'ASC') : (riQiPaiXu = 'DESC')"
-              type="success"
-              :icon="riQiPaiXu === 'DESC' ? 'el-icon-caret-bottom' : 'el-icon-caret-top'"
-              >{{ riQiPaiXu === 'DESC' ? '日期降序' : '日期升序' }}</el-button
+                @click="riQiPaiXu === 'DESC' ? (riQiPaiXu = 'ASC') : (riQiPaiXu = 'DESC')"
+                type="success"
+                :icon="riQiPaiXu === 'DESC' ? 'el-icon-caret-bottom' : 'el-icon-caret-top'"
+            >{{ riQiPaiXu === 'DESC' ? '日期降序' : '日期升序' }}
+            </el-button
             >
             <el-select style="width: 70px" v-model="feiYongLeiXingCode">
               <el-option v-for="item in feiYongLeiXing" :key="item.code" :label="item.name" :value="item.code">
@@ -103,8 +107,9 @@
             </el-select>
             <el-button type="primary" @click="queryFeiYong" icon="el-icon-search">查询</el-button>
             <el-button type="danger" @click="xiangMuTuiFeiClick" icon="el-icon-delete-solid">退费</el-button>
-            <el-table :height="tableHeight" @selection-change="handleSelectionChange" :data="cptTableDataHuanZheFeiYong" stripe highlight-current-row class="eltable">
-              <el-table-column type="selection" style="width: 100px"> </el-table-column>
+            <el-table :height="tableHeight" @selection-change="handleSelectionChange" :data="cptTableDataHuanZheFeiYong"
+                      stripe highlight-current-row class="eltable">
+              <el-table-column type="selection" style="width: 100px"></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>
               <el-table-column prop="chargeDate" label="录入日期" width="70px"></el-table-column>
@@ -124,11 +129,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>
@@ -137,13 +142,13 @@
               <el-table-column label="撤销退费" v-if="quanXian.indexOf(1) > -1 || quanXian.indexOf(35) > -1">
                 <template #default="scope">
                   <el-popconfirm
-                    confirm-button-text="确认"
-                    cancel-button-text="取消"
-                    icon="el-icon-info"
-                    iconColor="red"
-                    title="是否删除该数据"
-                    v-if="scope.row.oriDetailSn != -1 && scope.row.transFlagYb === '0' && (quanXian.indexOf(1) > -1 || quanXian.indexOf(35) > -1)"
-                    @confirm="cheXiaoTuiFeiClick(scope.$index, scope.row)"
+                      confirm-button-text="确认"
+                      cancel-button-text="取消"
+                      icon="el-icon-info"
+                      iconColor="red"
+                      title="是否删除该数据"
+                      v-if="scope.row.oriDetailSn != -1 && scope.row.transFlagYb === '0' && (quanXian.indexOf(1) > -1 || quanXian.indexOf(35) > -1)"
+                      @confirm="cheXiaoTuiFeiClick(scope.$index, scope.row)"
                   >
                     <template #reference>
                       <el-button type="danger">撤销</el-button>
@@ -153,14 +158,14 @@
               </el-table-column>
             </el-table>
             <el-pagination
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
-              :current-page="patient.currentPage"
-              :page-sizes="[20, 30, 40, 50]"
-              :page-size="patient.pageSize"
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="total"
-              style="margin-top: 5px"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
+                :current-page="patient.currentPage"
+                :page-sizes="[20, 30, 40, 50]"
+                :page-size="patient.pageSize"
+                layout="total, sizes, prev, pager, next, jumper"
+                :total="total"
+                style="margin-top: 5px"
             ></el-pagination>
           </el-tab-pane>
           <!-- 项目录入 -->
@@ -186,7 +191,8 @@
                   </el-col>
                   <el-col :span="24">
                     <!-- 这个下面查看录入的项目 -->
-                    <el-table :data="muBanNeiRongData" :height="tableHeight - 27" class="eltable" style="margin-top: 10px" stripe highlight-current-row>
+                    <el-table :data="muBanNeiRongData" :height="tableHeight - 27" class="eltable"
+                              style="margin-top: 10px" stripe highlight-current-row>
                       <el-table-column label="录入信息">
                         <el-table-column label="录入时间">
                           <template #default>
@@ -198,7 +204,8 @@
                         <el-table-column label="执行科室" prop="deptCode">
                           <template #default="scope">
                             <el-select style="width: 90%" v-model="scope.row.deptCode" filterable>
-                              <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
@@ -210,7 +217,8 @@
                         <el-table-column label="数量" prop="amount" width="130">
                           <template #default="scope">
                             <!--precision 限制输入的精度 0 就是不带任何一位小数点  -->
-                            <el-input-number v-model="scope.row.amount" style="width: 120px" :min="0" :precision="1"></el-input-number>
+                            <el-input-number v-model="scope.row.amount" style="width: 120px" :min="0"
+                                             :precision="1"></el-input-number>
                           </template>
                         </el-table-column>
                       </el-table-column>
@@ -237,12 +245,13 @@
           <el-row>
             <el-col :span="24">
               搜索:
-              <el-select v-model="chargePyCode" remote filterable clearable @change="getDanGeXiangMu" default-first-option :remote-method="rmChargePyCode">
+              <el-select v-model="chargePyCode" remote filterable clearable @change="getDanGeXiangMu"
+                         default-first-option :remote-method="rmChargePyCode">
                 <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>
@@ -253,14 +262,14 @@
                   <span style="color: #e6a23c"> {{ item.chargeAmount }} 元</span>
                 </el-option>
                 <el-pagination
-                  @current-change="danGeXiangMuCurrentChange"
-                  :current-page="danGeXiangMuCurrentPage"
-                  :page-size="20"
-                  layout=" prev, pager, next,total"
-                  :total="xiangMuData.length"
-                  style="margin-top: 5px"
-                  :pager-count="5"
-                  small
+                    @current-change="danGeXiangMuCurrentChange"
+                    :current-page="danGeXiangMuCurrentPage"
+                    :page-size="20"
+                    layout=" prev, pager, next,total"
+                    :total="xiangMuData.length"
+                    style="margin-top: 5px"
+                    :pager-count="5"
+                    small
                 ></el-pagination>
               </el-select>
               <el-button type="success" @click="danGeXiangMuBaoCun">保存</el-button>
@@ -279,7 +288,8 @@
                         <span>{{ item.name }}</span></el-option
                       >
                     </el-select>
-                  </template></el-table-column
+                  </template>
+                </el-table-column
                 >
                 <el-table-column label="单价" prop="chargeAmount"></el-table-column>
                 <el-table-column label="数量" prop="amount">
@@ -299,12 +309,21 @@
         </el-dialog>
         <el-dialog title="保存模板" v-model="baoCunMuBanDialog">
           <el-row>
-            <el-col :span="24"> 模板名称:<el-input v-model="cunMuBanPojo.name" maxlength="15" @blur="zhuanPinYin" show-word-limit></el-input> </el-col>
-            <el-col :span="12"> 拼音码:<el-input v-model="cunMuBanPojo.pyCode" maxlength="8" show-word-limit></el-input> </el-col>
-            <el-col :span="12"> 五笔码:<el-input v-model="cunMuBanPojo.dcode" maxlength="8" show-word-limit></el-input> </el-col>
-            <el-col :span="12"> 创建科室:<el-input v-model="cunMuBanPojo.dept" disabled></el-input> </el-col>
+            <el-col :span="24"> 模板名称:
+              <el-input v-model="cunMuBanPojo.name" maxlength="15" @blur="zhuanPinYin" show-word-limit></el-input>
+            </el-col>
+            <el-col :span="12"> 拼音码:
+              <el-input v-model="cunMuBanPojo.pyCode" maxlength="8" show-word-limit></el-input>
+            </el-col>
+            <el-col :span="12"> 五笔码:
+              <el-input v-model="cunMuBanPojo.dcode" maxlength="8" show-word-limit></el-input>
+            </el-col>
+            <el-col :span="12"> 创建科室:
+              <el-input v-model="cunMuBanPojo.dept" disabled></el-input>
+            </el-col>
             <el-col :span="12">
-              <el-button style="margin-top: 10px" icon="el-icon-upload" type="primary" @click="baoCunMuBan">保存</el-button>
+              <el-button style="margin-top: 10px" icon="el-icon-upload" type="primary" @click="baoCunMuBan">保存
+              </el-button>
             </el-col>
           </el-row>
         </el-dialog>
@@ -314,10 +333,10 @@
 </template>
 
 <script>
-import { computed, onMounted, ref, watch } from 'vue'
+import {computed, onMounted, ref, watch} from 'vue'
 import store from '@/store'
-import { cptSex } from '@/utils/computed'
-import { shortcuts } from '@/data/shortcuts'
+import {cptSex} from '@/utils/computed'
+import {shortcuts} from '@/data/shortcuts'
 import {
   getChargeCode,
   getHuanZheFeiYong,
@@ -331,18 +350,19 @@ import {
   getDept,
   getPyCode,
   cheXiaoTuiFei,
-} from '@/api/yibao/xiang-mu-lu-ru'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { costState } from '@/utils/computed'
-import { getDatetime } from '@/utils/date'
-import { clone } from '@/utils/clone'
-import { getPatientInfo } from '@/api/yibao/patient'
-import { yiZhuTuiFeiLeiXing, feiYongLeiXing, tuiFeiLeiXin } from '@/data/index'
+} from '../../api/yibao/xiang-mu-lu-ru'
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {costState} from '@/utils/computed'
+import {getDatetime} from '@/utils/date'
+import {clone} from '@/utils/clone'
+import {getPatientInfo} from '@/api/yibao/patient'
+import {yiZhuTuiFeiLeiXing, feiYongLeiXing, tuiFeiLeiXin} from '@/data/index'
 import HuoQuMuBan from '@/components/med-tec-mod/HuoQuMuBan.vue'
-import { getDateRangeFormatDate } from '@/utils/date'
-import { baseinfo } from '@/data/inpatient'
+import {getDateRangeFormatDate} from '@/utils/date'
+import {baseinfo} from '@/data/inpatient'
+
 export default {
-  components: { HuoQuMuBan },
+  components: {HuoQuMuBan},
   props: {
     init: {
       type: Number,
@@ -415,13 +435,13 @@ export default {
         inputErrorMessage: '患者住院号不能为空 (∩•̀ω•́)⊃-*⋆',
         type: 'warning',
       })
-        .then(({ value }) => {
-          inpatientNo.value = value
-          chaXunHuanZheXinXi()
-        })
-        .catch(() => {
-          guanBiDialog()
-        })
+          .then(({value}) => {
+            inpatientNo.value = value
+            chaXunHuanZheXinXi()
+          })
+          .catch(() => {
+            guanBiDialog()
+          })
     }
 
     /**
@@ -429,25 +449,25 @@ export default {
      */
     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)
@@ -463,19 +483,19 @@ export default {
       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 = () => {
@@ -486,18 +506,18 @@ export default {
       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
+          })
     }
 
     /**
@@ -550,21 +570,22 @@ export default {
         }
         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: '请先选择退费数据',
@@ -580,7 +601,8 @@ export default {
     }
 
     const cheXiaoTuiFeiClick = (index, row) => {
-      cheXiaoTuiFei(row.inpatientNo, row.admissTimes, row.ledgerSn, row.detailSn).then(() => {})
+      cheXiaoTuiFei(row.inpatientNo, row.admissTimes, row.ledgerSn, row.detailSn).then(() => {
+      })
     }
 
     //////////////////////////////////// 以上全部是 已录入项目 //////////////////////////////////////////////////////////////////////////////
@@ -733,13 +755,14 @@ export default {
         cancelButtonText: '取消',
         confirmButtonText: '确定',
       })
-        .then(() => {
-          xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
-            muBanNeiRongData.value = []
-            muBanCode = []
+          .then(() => {
+            xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
+              muBanNeiRongData.value = []
+              muBanCode = []
+            })
+          })
+          .catch(() => {
           })
-        })
-        .catch(() => {})
     }
 
     // 上面就是上传 项目
@@ -794,23 +817,23 @@ export default {
     }
 
     watch(
-      () => props.init,
-      () => {
-        if (!baseinfo().inpatientNo) {
-          jinRuPanDuanSFXieDaiHuanZheXinXi()
-        } else {
-          patient.value = clone(baseinfo())
-          patient.value.currentPage = 1
-          patient.value.pageSize = 40
-          patient.value.tuiFeiFlag = 0
-          patient.value.total = 0
-          patient.value.orderNo = 0
-          patient.value.deptCode = store.state.user.info.deptCode
-          zhiXingKeShi.value = patient.value.zkWard
-          panDuanSFTongGuoBingShiJinRu.value = true
-          queryFeiYong()
+        () => props.init,
+        () => {
+          if (!baseinfo().inpatientNo) {
+            jinRuPanDuanSFXieDaiHuanZheXinXi()
+          } else {
+            patient.value = clone(baseinfo())
+            patient.value.currentPage = 1
+            patient.value.pageSize = 40
+            patient.value.tuiFeiFlag = 0
+            patient.value.total = 0
+            patient.value.orderNo = 0
+            patient.value.deptCode = store.state.user.info.deptCode
+            zhiXingKeShi.value = patient.value.zkWard
+            panDuanSFTongGuoBingShiJinRu.value = true
+            queryFeiYong()
+          }
         }
-      }
     )
 
     onMounted(() => {
@@ -842,12 +865,13 @@ export default {
         ElMessageBox.confirm('该模板非本人创建是否强制删除', '提示', {
           type: 'warning',
         })
-          .then(() => {
-            shanChuMuBan(data.name, data.opIdCode).then((res) => {
-              muBanData.value.splice(index, 1)
+            .then(() => {
+              shanChuMuBan(data.name, data.opIdCode).then((res) => {
+                muBanData.value.splice(index, 1)
+              })
+            })
+            .catch(() => {
             })
-          })
-          .catch(() => {})
       } else {
         shanChuMuBan(data.name, data.opIdCode).then((res) => {
           muBanData.value.splice(index, 1)

+ 42 - 39
src/components/med-tec-mod/HuanZheFeiYong.vue

@@ -3,7 +3,8 @@
     <el-main>
       <el-button type="danger" @click="xiangMuTuiFeiClick" icon="el-icon-delete-solid">退费</el-button>
       <el-button type="primary" @click="weiGuiTuiFeiFenXiDialogOpen(true)">违规费用分析</el-button>
-      <el-table :data="cptTableDataHuanZheFeiYong" :height="windowHeigth / 1.35" @selection-change="handleSelectionChange" highlight-current-row stripe>
+      <el-table :data="cptTableDataHuanZheFeiYong" :height="windowHeigth / 1.35"
+                @selection-change="handleSelectionChange" highlight-current-row stripe>
         <el-table-column 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>
@@ -25,11 +26,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>
@@ -37,31 +38,33 @@
         </el-table-column>
       </el-table>
       <el-pagination
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
-        :current-page="fenYe.currentPage"
-        :page-sizes="[20, 30, 40, 50, 100]"
-        :page-size="fenYe.pageSize"
-        layout="total, sizes, prev, pager, next, jumper"
-        :total="fenYe.total"
-        style="margin-top: 5px"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="fenYe.currentPage"
+          :page-sizes="[20, 30, 40, 50, 100]"
+          :page-size="fenYe.pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="fenYe.total"
+          style="margin-top: 5px"
       ></el-pagination>
     </el-main>
     <el-dialog v-model="weiGuiTuiFeiFenXiDialog" title="违规费用分析" :fullscreen="true">
-      <wei-gui-fei-yong-fen-xi :init="weiGuiTuiFeiInit" @open="weiGuiTuiFeiOpenDialog" :patient="weiGuiJiBenXinXi"></wei-gui-fei-yong-fen-xi>
+      <wei-gui-fei-yong-fen-xi :init="weiGuiTuiFeiInit" @open="weiGuiTuiFeiOpenDialog"
+                               :patient="weiGuiJiBenXinXi"></wei-gui-fei-yong-fen-xi>
     </el-dialog>
   </el-container>
 </template>
 
 <script>
-import { ref, watch } from 'vue'
-import { costState } from '@/utils/computed'
+import {ref, watch} from 'vue'
+import {costState} from '@/utils/computed'
 import store from '@/store'
-import { getChargeCode, xiangMuTuiFei } from '@/api/yibao/xiang-mu-lu-ru'
+import {getChargeCode, xiangMuTuiFei} from '@/api/yibao/xiang-mu-lu-ru'
 import WeiGuiFeiYongFenXi from '@/components/inpatient/WeiGuiFeiYongFenXi.vue'
-import { ElMessage, ElMessageBox } from 'element-plus'
+import {ElMessage, ElMessageBox} from 'element-plus'
+
 export default {
-  components: { WeiGuiFeiYongFenXi },
+  components: {WeiGuiFeiYongFenXi},
   name: 'huanZheFeiYong',
   props: {
     init: {
@@ -82,24 +85,23 @@ export default {
     })
 
     watch(
-      () => props.init,
-      () => {
-        cptTableDataHuanZheFeiYong.value = props.init.records
-        fenYe.value.total = typeof props.init.total === 'undefined' ? 0 : props.init.total
-        weiGuiTuiFeiFenXiDialogOpen(false)
-      }
+        () => props.init,
+        () => {
+          cptTableDataHuanZheFeiYong.value = props.init.records
+          fenYe.value.total = typeof props.init.total === 'undefined' ? 0 : props.init.total
+        }
     )
 
     // 分页
     const handleSizeChange = (val) => {
       fenYe.value.pageSize = val
       fenYe.value.currentPage = 1
-      ctx.emit('size', { val })
+      ctx.emit('size', {val})
     }
 
     const handleCurrentChange = (val) => {
       fenYe.value.currentPage = val
-      ctx.emit('current', { val })
+      ctx.emit('current', {val})
     }
 
     /**
@@ -133,21 +135,22 @@ export default {
           chargeAmount += props.patient.list[i].chargeAmount
         }
         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(props.patient).then((res) => {
-              ctx.emit('query-fei-yong')
+            .then(() => {
+              xiangMuTuiFei(props.patient).then((res) => {
+                ctx.emit('query-fei-yong')
+              })
+            })
+            .catch(() => {
             })
-          })
-          .catch(() => {})
       } catch (e) {
         ElMessage.error({
           message: '请选择退费数据',

+ 74 - 57
src/components/med-tec-mod/YiJiXiangMuLuRu.vue

@@ -40,19 +40,20 @@
           <el-table-column label="是否自费" width="130">
             <template #default="scope">
               <el-switch
-                active-color="#ff4949"
-                inactive-color="#13ce66"
-                active-text="自费"
-                inactive-text="医保"
-                :active-value="1"
-                :inactive-value="0"
-                v-model="scope.row.ybSelfFlag"
+                  active-color="#ff4949"
+                  inactive-color="#13ce66"
+                  active-text="自费"
+                  inactive-text="医保"
+                  :active-value="1"
+                  :inactive-value="0"
+                  v-model="scope.row.ybSelfFlag"
               ></el-switch>
             </template>
           </el-table-column>
           <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-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>
@@ -78,7 +79,8 @@
           <el-table-column label="数量" prop="amount" width="130">
             <template #default="scope">
               <!--precision 限制输入的精度 0 就是不带任何一位小数点  -->
-              <el-input-number v-model="scope.row.amount" style="width: 120px" :min="0" :precision="1"></el-input-number>
+              <el-input-number v-model="scope.row.amount" style="width: 120px" :min="0"
+                               :precision="1"></el-input-number>
             </template>
           </el-table-column>
         </el-table-column>
@@ -97,28 +99,28 @@
     </el-main>
     <el-dialog v-model="xinZhengXiangMuDialog" title="新增" :width="1500">
       搜索:
-      <el-input v-model="chargeCodePy" style="width: 140px" @keyup.enter="rmChargePyCode"> </el-input>
+      <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"
-        active-text="药品"
-        inactive-text="项目"
-        :active-value="1"
-        :inactive-value="0"
-        v-model="xiangMuHuoYaoPinFlag"
+          active-color="#409EFF"
+          inactive-color="#13ce66"
+          active-text="药品"
+          inactive-text="项目"
+          :active-value="1"
+          :inactive-value="0"
+          v-model="xiangMuHuoYaoPinFlag"
       ></el-switch>
       <el-divider direction="vertical"></el-divider>
       <el-table
-        :data="
+          :data="
           xiangMuHuoYaoPinShuJu.data.slice(
             (xiangMuHuoYaoPinShuJu.currentPage - 1) * xiangMuHuoYaoPinShuJu.pageSize,
             xiangMuHuoYaoPinShuJu.currentPage * xiangMuHuoYaoPinShuJu.pageSize
           )
         "
-        :height="tableHeight / 1.2"
+          :height="tableHeight / 1.2"
       >
         <el-table-column label="操作" width="40">
           <template #default="scope">
@@ -137,7 +139,8 @@
                 <span>{{ item.name }}</span></el-option
               >
             </el-select>
-          </template></el-table-column
+          </template>
+        </el-table-column
         >
         <el-table-column label="单价" prop="chargeAmount"></el-table-column>
         <el-table-column label="数量" prop="amount">
@@ -155,21 +158,27 @@
         <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
+          :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>
-        <el-col :span="24"> 模板名称:<el-input v-model="cunMuBanPojo.name" maxlength="15" @blur="zhuanPinYin" show-word-limit></el-input> </el-col>
-        <el-col :span="12"> 拼音码:<el-input v-model="cunMuBanPojo.pyCode" maxlength="8" show-word-limit></el-input> </el-col>
-        <el-col :span="12"> 五笔码:<el-input v-model="cunMuBanPojo.dcode" maxlength="8" show-word-limit></el-input> </el-col>
+        <el-col :span="24"> 模板名称:
+          <el-input v-model="cunMuBanPojo.name" maxlength="15" @blur="zhuanPinYin" show-word-limit></el-input>
+        </el-col>
+        <el-col :span="12"> 拼音码:
+          <el-input v-model="cunMuBanPojo.pyCode" maxlength="8" show-word-limit></el-input>
+        </el-col>
+        <el-col :span="12"> 五笔码:
+          <el-input v-model="cunMuBanPojo.dcode" maxlength="8" show-word-limit></el-input>
+        </el-col>
         <!-- <el-col :span="12"> 排序码:<el-input v-model="cunMuBanPojo.paiXu" maxlength="7" show-word-limit></el-input> </el-col> -->
         <el-col :span="12">
           <el-button style="margin-top: 10px" icon="el-icon-upload" type="primary" @click="baoCunMuBan">保存</el-button>
@@ -180,14 +189,22 @@
 </template>
 
 <script>
-import { computed, onMounted, ref, watch } from 'vue'
-import { getMuBan, getMuBanXinXi, xiangMuFeiYongShangChuan, getDept, queryDanGeXiangMu, getPyCode, shangChuanMuBan } from '@/api/yibao/xiang-mu-lu-ru'
-import { getRenYuan } from '../../api/public-api.js'
+import {computed, onMounted, ref, watch} from 'vue'
+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'
-import { getBingQuDuiYingKeShi, getWard } from '@/api/yibao/xiang-mu-lu-ru'
-import { clone } from '@/utils/clone'
+import {getDatetime} from '@/utils/date'
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {getBingQuDuiYingKeShi, getWard} from '@/api/yibao/xiang-mu-lu-ru'
+import {clone} from '@/utils/clone'
 import HuoQuMuBan from './HuoQuMuBan.vue'
 
 export default {
@@ -280,13 +297,14 @@ export default {
         cancelButtonText: '取消',
         confirmButtonText: '确定',
       })
-        .then(() => {
-          xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
-            feiYongShuJu.value = []
-            chargeCode.value = []
+          .then(() => {
+            xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
+              feiYongShuJu.value = []
+              chargeCode.value = []
+            })
+          })
+          .catch(() => {
           })
-        })
-        .catch(() => {})
     }
 
     const shanChuXiangMuClick = (val) => {
@@ -353,16 +371,15 @@ export default {
     })
 
     watch(
-      () => props.patient,
-      () => {
-        console.log(props.patient)
-        // 这里刚好是反着的
-        queryWard.value = props.patient.admissDept
-        getBingQuDuiYingKeShiChange()
-        setTimeout(() => {
-          queryDept.value = props.patient.zkWard
-        }, 100)
-      }
+        () => props.patient,
+        () => {
+          // 这里刚好是反着的
+          queryWard.value = props.patient.admissDept
+          getBingQuDuiYingKeShiChange()
+          setTimeout(() => {
+            queryDept.value = props.patient.zkWard
+          }, 100)
+        }
     )
     // 以下是保存模板
     const baoCunMuBanDialog = ref(false)
@@ -434,10 +451,10 @@ export default {
     }
 
     watch(
-      () => xiangMuHuoYaoPinFlag.value,
-      () => {
-        xiangMuHuoYaoPinShuJu.value.data = []
-      }
+        () => xiangMuHuoYaoPinFlag.value,
+        () => {
+          xiangMuHuoYaoPinShuJu.value.data = []
+        }
     )
     const renYuanList = ref([])
 

+ 97 - 97
src/utils/request.js

@@ -1,127 +1,127 @@
 import axios from 'axios'
-import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
+import {ElLoading, ElMessage, ElMessageBox} from 'element-plus'
 import Cookies from 'js-cookie'
 import router from '@/router'
 import store from '@/store'
+
 const apiUrl = import.meta.env.VITE_BASE_URL
 
 const service = axios.create({
-  baseURL: apiUrl,
-  withCredentials: true,
-  timeout: 0,
+    baseURL: apiUrl,
+    withCredentials: true,
+    timeout: 0,
 })
 
 /*axios请求拦截*/
 var loading
+
 /*开启遮罩*/
 function startLoading(showLoadingTime) {
-  showLoadingTime = showLoadingTime || '2'
-  loading = ElLoading.service({
-    customClass: 'axios-loading' + showLoadingTime,
-    lock: true,
-    text: '加载中......',
-    spinner: 'el-icon-loading',
-    background: 'rgba(0, 0, 0, 0.7)',
-  })
+    showLoadingTime = showLoadingTime || '2'
+    loading = ElLoading.service({
+        customClass: 'axios-loading' + showLoadingTime,
+        lock: true,
+        text: '加载中......',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)',
+    })
 }
 
 /*关闭遮罩*/
 function endLoading() {
-  if (loading) {
-    loading.close()
-  }
+    if (loading) {
+        loading.close()
+    }
 }
 
-var starTimestamp = new Date().valueOf()
 
 service.interceptors.request.use(
-  (config) => {
-    starTimestamp = new Date().valueOf()
-    startLoading(config.showLoadingTime)
-    if (store.getters['user/token']) {
-      config.headers['token'] = store.state.user.token
+    (config) => {
+        startLoading(1)
+        if (store.getters['user/token']) {
+            config.headers['token'] = store.state.user.token
+        }
+        store.commit('app/setLoading', false)
+        return config
+    },
+    (error) => {
+        store.commit('app/setLoading', false)
+        endLoading()
+        return Promise.reject(error)
     }
-    store.commit('app/setLoading', false)
-    return config
-  },
-  (error) => {
-    store.commit('app/setLoading', false)
-    endLoading()
-    return Promise.reject(error)
-  }
 )
 
 service.interceptors.response.use(
-  (response) => {
-    store.commit('app/setLoading', false)
-    endLoading()
-    if (response.data.code === 200 || response.data.code === 0) {
-      return response.data.data
-    }
-    if (response.data.code === 2002) {
-      return response.data
-    }
-    if (response.data.code === 201) {
-      ElMessage({
-        type: 'success',
-        title: '成功',
-        duration: 2800,
-        dangerouslyUseHTMLString: true,
-        message: response.data.message,
-        showClose: true,
-        offset: 130,
-      })
-      return response.data.data
-    }
-    if (response.data.code === 202) {
-      if (response.data.total > 0) {
-        return response.data
-      } else {
-        ElMessage.error({
-          message: '没有符合条件的数据 ╮(╯▽╰)╭',
-          showClose: true,
+    (response) => {
+        store.commit('app/setLoading', false)
+        endLoading()
+        if (response.data.code === 200 || response.data.code === 0) {
+            return response.data.data
+        }
+        if (response.data.code === 2002) {
+            return response.data
+        }
+        if (response.data.code === 201) {
+            ElMessage({
+                type: 'success',
+                title: '成功',
+                duration: 2800,
+                dangerouslyUseHTMLString: true,
+                message: response.data.message,
+                showClose: true,
+                offset: 130,
+            })
+            return response.data.data
+        }
+        if (response.data.code === 202) {
+            if (response.data.total > 0) {
+                return response.data
+            } else {
+                ElMessage.error({
+                    message: '没有符合条件的数据 ╮(╯▽╰)╭',
+                    showClose: true,
+                })
+                return response.data
+            }
+        }
+        if (response.data.code > 1000 && response.data.code < 2000) {
+            ElMessage({
+                type: 'error',
+                message: response.data.message,
+                duration: 2000,
+                showClose: true,
+            })
+        } else if (response.data.code > 2000 && response.data.code < 3000) {
+            ElMessageBox.alert(response.data.message, '提示', {
+                type: 'error',
+                confirmButtonText: '确定',
+                dangerouslyUseHTMLString: true,
+            })
+        } else if (response.data.code > 3000 && response.data.code < 4000) {
+            ElMessageBox.alert(response.data.message, '提示', {
+                type: 'warning',
+                confirmButtonText: '确定',
+            }).then(() => {
+                Cookies.remove('token')
+                router.push('/login')
+            })
+        }
+        if (response.data.data) {
+            return Promise.reject(response.data)
+        }
+        return Promise.reject(response.data.message || '服务器内部错误')
+    },
+    (error) => {
+        endLoading()
+        store.commit('app/setLoading', false)
+        ElMessage({
+            message: error,
+            type: 'error',
+            duration: 2500,
+            showClose: true,
         })
-        return response.data
-      }
-    }
-    if (response.data.code > 1000 && response.data.code < 2000) {
-      ElMessage({
-        type: 'error',
-        message: response.data.message,
-        duration: 2000,
-        showClose: true,
-      })
-    } else if (response.data.code > 2000 && response.data.code < 3000) {
-      ElMessageBox.alert(response.data.message, '提示', {
-        type: 'error',
-        confirmButtonText: '确定',
-        dangerouslyUseHTMLString: true,
-      })
-    } else if (response.data.code > 3000 && response.data.code < 4000) {
-      ElMessageBox.alert(response.data.message, '提示', {
-        type: 'warning',
-        confirmButtonText: '确定',
-      }).then(() => {
-        Cookies.remove('token')
-        router.push('/login')
-      })
+        return Promise.reject(error)
     }
-    if (response.data.data) {
-      return Promise.reject(response.data)
-    }
-    return Promise.reject(response.data.message || '服务器内部错误')
-  },
-  (error) => {
-    endLoading()
-    store.commit('app/setLoading', false)
-    ElMessage({
-      message: error,
-      type: 'error',
-      duration: 2500,
-      showClose: true,
-    })
-    return Promise.reject(error)
-  }
 )
 
 export default service

+ 67 - 58
src/views/med-tec-mod/YiJiFeiYongLuRu.vue

@@ -9,38 +9,46 @@
       <el-tag effect="dark" size="medium" type="warning">病房: {{ patient.wardName }}</el-tag>
       <el-tag effect="dark" size="medium">入院日期: {{ patient.admissDate }}</el-tag>
       <el-tag effect="dark" size="medium" type="warning">医保身份: {{ patient.responceTypeName }}</el-tag>
-      <el-tag effect="dark" size="medium">总费用: {{ patient.totalCharge }}</el-tag
-      ><br />
-      住院号:<el-input style="width: 80px" v-model="queryTerm.inpatientNo" @keyup.enter="getHuanZheXinXiClick"></el-input>
+      <el-tag effect="dark" size="medium">总费用: {{ patient.totalCharge }}
+      </el-tag
+      >
+      <br/>
+      住院号:
+      <el-input style="width: 80px" v-model="queryTerm.inpatientNo" @keyup.enter="getHuanZheXinXiClick"></el-input>
       <span v-show="queryTerm.zaiHuanChuYuan === 1">
-        住院次数:<el-input-number :min="0" :precision="0" style="width: 60px" v-model="queryTerm.admissTimes" :controls="false"></el-input-number>
+        住院次数:<el-input-number :min="0" :precision="0" style="width: 60px" v-model="queryTerm.admissTimes"
+                              :controls="false"></el-input-number>
       </span>
       <el-divider direction="vertical"></el-divider>
-      <el-switch active-color="#ff4949" inactive-color="#13ce66" active-text="出院" inactive-text="在院" :active-value="1" :inactive-value="0" v-model="queryTerm.zaiHuanChuYuan">
+      <el-switch active-color="#ff4949" inactive-color="#13ce66" active-text="出院" inactive-text="在院" :active-value="1"
+                 :inactive-value="0" v-model="queryTerm.zaiHuanChuYuan">
       </el-switch>
       <el-divider direction="vertical"></el-divider>
-      项目名称:<el-select v-model="queryTerm.chargeCode" remote filterable clearable :remote-method="remoteMethodChargeCode">
+      项目名称:
+      <el-select v-model="queryTerm.chargeCode" remote filterable clearable :remote-method="remoteMethodChargeCode">
         <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>
           <span>{{ item.name }}</span>
         </el-option>
       </el-select>
-      录入日期:<el-date-picker
-        type="daterange"
-        v-model="queryTerm.dateRange"
-        placeholder="选择日期"
-        style="width: 200px"
-        range-separator="至"
-        start-placeholder="开始日期"
-        end-placeholder="结束日期"
-        :shortcuts="shortcuts"
+      录入日期:
+      <el-date-picker
+          type="daterange"
+          v-model="queryTerm.dateRange"
+          placeholder="选择日期"
+          style="width: 200px"
+          range-separator="至"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+          :shortcuts="shortcuts"
       ></el-date-picker>
       <el-button
-        @click="queryTerm.riQiPaiXu === 'DESC' ? (queryTerm.riQiPaiXu = 'ASC') : (queryTerm.riQiPaiXu = 'DESC')"
-        type="success"
-        :icon="queryTerm.riQiPaiXu === 'DESC' ? 'el-icon-caret-bottom' : 'el-icon-caret-top'"
-        >{{ queryTerm.riQiPaiXu === 'DESC' ? '降序' : '升序' }}</el-button
+          @click="queryTerm.riQiPaiXu === 'DESC' ? (queryTerm.riQiPaiXu = 'ASC') : (queryTerm.riQiPaiXu = 'DESC')"
+          type="success"
+          :icon="queryTerm.riQiPaiXu === 'DESC' ? 'el-icon-caret-bottom' : 'el-icon-caret-top'"
+      >{{ queryTerm.riQiPaiXu === 'DESC' ? '降序' : '升序' }}
+      </el-button
       >
       <el-select style="width: 70px" v-model="queryTerm.feiYongLeiXingCode">
         <el-option v-for="item in feiYongLeiXing" :key="item.code" :label="item.name" :value="item.code">
@@ -70,11 +78,11 @@
         <el-tabs v-model="elTabPane">
           <el-tab-pane label="已录入费用" name="ylrfy">
             <huan-zhe-fei-yong
-              :init="tableDataHuanZheFeiYong"
-              :patient="patient"
-              @queryFeiYong="getHuanZheXinXiClick"
-              @size="handleSizeChange"
-              @current="handleCurrentChange"
+                :init="tableDataHuanZheFeiYong"
+                :patient="patient"
+                @queryFeiYong="getHuanZheXinXiClick"
+                @size="handleSizeChange"
+                @current="handleCurrentChange"
             ></huan-zhe-fei-yong>
           </el-tab-pane>
           <el-tab-pane label="费用录入" name="fylr">
@@ -87,19 +95,20 @@
 </template>
 
 <script>
-import { ref } from 'vue'
+import {ref} from 'vue'
 import store from '@/store'
-import { getHuanZheXinXi } from '@/api/zhu-yuan-yi-ji/yi-ji-fei-yong-lu-ru'
-import { cptSex } from '@/utils/computed'
-import { getChargeCode } from '@/api/yibao/xiang-mu-lu-ru'
-import { getHuanZheFeiYong } from '@/api/yibao/xiang-mu-lu-ru'
+import {getHuanZheXinXi} from '@/api/zhu-yuan-yi-ji/yi-ji-fei-yong-lu-ru'
+import {cptSex} from '@/utils/computed'
+import {getChargeCode} from '@/api/yibao/xiang-mu-lu-ru'
+import {getHuanZheFeiYong} from '@/api/yibao/xiang-mu-lu-ru'
 import HuanZheFeiYong from '@/components/med-tec-mod/HuanZheFeiYong.vue'
 import XiangMuLuRu from '@/components/med-tec-mod/YiJiXiangMuLuRu.vue'
-import { yiZhuTuiFeiLeiXing, feiYongLeiXing, tuiFeiLeiXin } from '@/data/index'
-import { shortcuts } from '@/data/shortcuts'
-import { getDateRangeFormatDate } from '@/utils/date'
+import {yiZhuTuiFeiLeiXing, feiYongLeiXing, tuiFeiLeiXin} from '@/data/index'
+import {shortcuts} from '@/data/shortcuts'
+import {getDateRangeFormatDate} from '@/utils/date'
+
 export default {
-  components: { HuanZheFeiYong, XiangMuLuRu },
+  components: {HuanZheFeiYong, XiangMuLuRu},
   name: 'yiJiFeiYongLuRu',
   setup() {
     const windowSize = store.state.app.windowSize
@@ -136,16 +145,16 @@ export default {
         queryHuanZheFeiYong()
       } else {
         getHuanZheXinXi(queryTerm.value.inpatientNo, queryTerm.value.zaiHuanChuYuan, queryTerm.value.admissTimes)
-          .then((res) => {
-            patient.value = res
-            patient.value.feiYongLeiXingCode = queryTerm.value.feiYongLeiXingCode
-            queryTerm.value.admissTimes = res.admissTimes
-            queryHuanZheFeiYong()
-          })
-          .catch(() => {
-            patient.value = {}
-            tableDataHuanZheFeiYong.value = []
-          })
+            .then((res) => {
+              patient.value = res
+              patient.value.feiYongLeiXingCode = queryTerm.value.feiYongLeiXingCode
+              queryTerm.value.admissTimes = res.admissTimes
+              queryHuanZheFeiYong()
+            })
+            .catch(() => {
+              patient.value = {}
+              tableDataHuanZheFeiYong.value = []
+            })
       }
     }
 
@@ -157,14 +166,14 @@ export default {
       queryTerm.value.currentPage = 1
       queryTerm.value.total = 0
       getHuanZheFeiYong(queryTerm.value)
-        .then((res) => {
-          total.value = res.total
-          patient.value.total = total.value
-          tableDataHuanZheFeiYong.value = res
-        })
-        .catch(() => {
-          tableDataHuanZheFeiYong.value = []
-        })
+          .then((res) => {
+            total.value = res.total
+            patient.value.total = total.value
+            tableDataHuanZheFeiYong.value = res
+          })
+          .catch(() => {
+            tableDataHuanZheFeiYong.value = []
+          })
     }
 
     const handleHuanZheFeiYong = () => {
@@ -174,13 +183,13 @@ export default {
       queryTerm.value.endTime = dateRangeS.endTime
       queryTerm.value.total = total.value
       getHuanZheFeiYong(queryTerm.value)
-        .then((res) => {
-          res.total = total.value
-          tableDataHuanZheFeiYong.value = res
-        })
-        .catch(() => {
-          tableDataHuanZheFeiYong.value = []
-        })
+          .then((res) => {
+            res.total = total.value
+            tableDataHuanZheFeiYong.value = res
+          })
+          .catch(() => {
+            tableDataHuanZheFeiYong.value = []
+          })
     }
 
     // 根据项目名称来查询