xiaochan 4 ヶ月 前
コミット
77cfcf70ac

+ 2 - 2
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/yz-edit/YzEditor.vue

@@ -956,8 +956,8 @@ const openTheOrderPopUpWindow = () => {
     if (yiZhuData.value.statusFlag !== "1") {
       return;
     }
-    const 处置医嘱 = yzZdOrderItemConfirm.value["处置医嘱1"] ?? [];
-    const 转科 = yzZdOrderItemConfirm.value["转科1"] ?? [];
+    const 处置医嘱 = yzZdOrderItemConfirm.value["处置医嘱"] ?? [];
+    const 转科 = yzZdOrderItemConfirm.value["转科"] ?? [];
     const specialOrders = [...处置医嘱, ...转科];
     if (
       specialOrders.includes(yiZhuData.value.orderCode) &&

+ 185 - 173
src/utils/validate.js

@@ -1,193 +1,205 @@
-import {ElMessage} from 'element-plus'
-import {baseinfo} from '@/data/inpatient'
+import { ElMessage } from "element-plus";
+import { baseinfo } from "@/data/inpatient";
 
-export function nullPatient() {
-    const patient = baseinfo()
-    if (patient.inpatientNo && patient.admissTimes) {
-        return false
-    } else {
-        ElMessage({
-            message: '请先选择患者!',
-            type: 'warning',
-            duration: 2600,
-            showClose: true,
-        })
-        return true
-    }
+export function nullPatient(needMessage = true) {
+  const patient = baseinfo();
+  if (patient.inpatientNo && patient.admissTimes) {
+    return false;
+  } else {
+    if (needMessage) {
+      ElMessage({
+        message: "请先选择患者!",
+        type: "warning",
+        duration: 2600,
+        showClose: true,
+      });
+    }
+    return true;
+  }
 }
 
 export function isValidPhone(phone) {
-    const myreg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/
-    return myreg.test(phone)
+  const myreg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
+  return myreg.test(phone);
 }
 
 function isValidIdcard(card) {
-    const provinces = {
-        11: '北京',
-        12: '天津',
-        13: '河北',
-        14: '山西',
-        15: '内蒙古',
-        21: '辽宁',
-        22: '吉林',
-        23: '黑龙江',
-        31: '上海',
-        32: '江苏',
-        33: '浙江',
-        34: '安徽',
-        35: '福建',
-        36: '江西',
-        37: '山东',
-        41: '河南',
-        42: '湖北',
-        43: '湖南',
-        44: '广东',
-        45: '广西',
-        46: '海南',
-        50: '重庆',
-        51: '四川',
-        52: '贵州',
-        53: '云南',
-        54: '西藏',
-        61: '陕西',
-        62: '甘肃',
-        63: '青海',
-        64: '宁夏',
-        65: '新疆',
-        71: '台湾',
-        81: '香港',
-        82: '澳门',
-        91: '国外',
-    }
+  const provinces = {
+    11: "北京",
+    12: "天津",
+    13: "河北",
+    14: "山西",
+    15: "内蒙古",
+    21: "辽宁",
+    22: "吉林",
+    23: "黑龙江",
+    31: "上海",
+    32: "江苏",
+    33: "浙江",
+    34: "安徽",
+    35: "福建",
+    36: "江西",
+    37: "山东",
+    41: "河南",
+    42: "湖北",
+    43: "湖南",
+    44: "广东",
+    45: "广西",
+    46: "海南",
+    50: "重庆",
+    51: "四川",
+    52: "贵州",
+    53: "云南",
+    54: "西藏",
+    61: "陕西",
+    62: "甘肃",
+    63: "青海",
+    64: "宁夏",
+    65: "新疆",
+    71: "台湾",
+    81: "香港",
+    82: "澳门",
+    91: "国外",
+  };
 
-    //检查号码是否符合规范,包括长度,类型
-    const isCardNo = function (card) {
-        //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
-        const reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/
-        return reg.test(card)
-    }
+  //检查号码是否符合规范,包括长度,类型
+  const isCardNo = function (card) {
+    //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
+    const reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
+    return reg.test(card);
+  };
 
-    //取身份证前两位,校验省份
-    const checkProvince = function (card) {
-        const provinceCode = card.substr(0, 2)
-        return provinces[provinceCode]
-    }
+  //取身份证前两位,校验省份
+  const checkProvince = function (card) {
+    const provinceCode = card.substr(0, 2);
+    return provinces[provinceCode];
+  };
 
-    //检查生日是否正确
-    const checkBirthday = function (card) {
-        const len = card.length
-        //身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字
-        if (len === 15) {
-            const re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/
-            let arr_data = card.match(re_fifteen)
-            let year = arr_data[2]
-            let month = arr_data[3]
-            let day = arr_data[4]
-            let birthday = new Date('19' + year + '/' + month + '/' + day)
-            return verifyBirthday('19' + year, month, day, birthday)
-        }
-        //身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X
-        if (len === 18) {
-            const re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/
-            let arr_data = card.match(re_eighteen)
-            let year = arr_data[2]
-            let month = arr_data[3]
-            let day = arr_data[4]
-            let birthday = new Date(year + '/' + month + '/' + day)
-            return verifyBirthday(year, month, day, birthday)
-        }
-        return false
-    }
+  //检查生日是否正确
+  const checkBirthday = function (card) {
+    const len = card.length;
+    //身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字
+    if (len === 15) {
+      const re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;
+      let arr_data = card.match(re_fifteen);
+      let year = arr_data[2];
+      let month = arr_data[3];
+      let day = arr_data[4];
+      let birthday = new Date("19" + year + "/" + month + "/" + day);
+      return verifyBirthday("19" + year, month, day, birthday);
+    }
+    //身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X
+    if (len === 18) {
+      const re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
+      let arr_data = card.match(re_eighteen);
+      let year = arr_data[2];
+      let month = arr_data[3];
+      let day = arr_data[4];
+      let birthday = new Date(year + "/" + month + "/" + day);
+      return verifyBirthday(year, month, day, birthday);
+    }
+    return false;
+  };
 
-    //校验日期
-    const verifyBirthday = function (year, month, day, birthday) {
-        const now = new Date()
-        var now_year = now.getFullYear()
-        //年月日是否合理
-        if (birthday.getFullYear() == year && birthday.getMonth() + 1 == month && birthday.getDate() == day) {
-            //判断年份的范围(3岁到120岁之间)
-            var time = now_year - year
-            return time >= 3 && time <= 120
-        }
-        return false
-    }
+  //校验日期
+  const verifyBirthday = function (year, month, day, birthday) {
+    const now = new Date();
+    var now_year = now.getFullYear();
+    //年月日是否合理
+    if (
+      birthday.getFullYear() == year &&
+      birthday.getMonth() + 1 == month &&
+      birthday.getDate() == day
+    ) {
+      //判断年份的范围(3岁到120岁之间)
+      var time = now_year - year;
+      return time >= 3 && time <= 120;
+    }
+    return false;
+  };
 
-    //校验位的检测
-    const checkParity = function (card) {
-        //15位转18位
-        card = changeFivteenToEighteen(card)
-        const len = card.length
-        if (len === 18) {
-            const arrInt = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
-            const arrCh = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
-            var cardTemp = 0,
-                i,
-                valnum
-            for (i = 0; i < 17; i++) {
-                cardTemp += card.substr(i, 1) * arrInt[i]
-            }
-            valnum = arrCh[cardTemp % 11]
-            return valnum == card.substr(17, 1)
-        }
-        return false
-    }
+  //校验位的检测
+  const checkParity = function (card) {
+    //15位转18位
+    card = changeFivteenToEighteen(card);
+    const len = card.length;
+    if (len === 18) {
+      const arrInt = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
+      const arrCh = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"];
+      var cardTemp = 0,
+        i,
+        valnum;
+      for (i = 0; i < 17; i++) {
+        cardTemp += card.substr(i, 1) * arrInt[i];
+      }
+      valnum = arrCh[cardTemp % 11];
+      return valnum == card.substr(17, 1);
+    }
+    return false;
+  };
 
-    //15位转18位身份证号
-    const changeFivteenToEighteen = function (card) {
-        if (card.length === 15) {
-            const arrInt = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
-            const arrCh = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
-            var cardTemp = 0,
-                i
-            card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6)
-            for (i = 0; i < 17; i++) {
-                cardTemp += card.substr(i, 1) * arrInt[i]
-            }
-            card += arrCh[cardTemp % 11]
-            return card
-        }
-        return card
-    }
+  //15位转18位身份证号
+  const changeFivteenToEighteen = function (card) {
+    if (card.length === 15) {
+      const arrInt = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
+      const arrCh = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"];
+      var cardTemp = 0,
+        i;
+      card = card.substr(0, 6) + "19" + card.substr(6, card.length - 6);
+      for (i = 0; i < 17; i++) {
+        cardTemp += card.substr(i, 1) * arrInt[i];
+      }
+      card += arrCh[cardTemp % 11];
+      return card;
+    }
+    return card;
+  };
 
-    if (!card) {
-        return false
-    }
+  if (!card) {
+    return false;
+  }
 
-    card = card.trim()
+  card = card.trim();
 
-    return card !== '' && isCardNo(card) && checkProvince(card) && checkBirthday(card) && checkParity(card)
+  return (
+    card !== "" &&
+    isCardNo(card) &&
+    checkProvince(card) &&
+    checkBirthday(card) &&
+    checkParity(card)
+  );
 }
 
 export function validateCovidAnswer(answer) {
-    if (!answer.name) {
-        return '请填写姓名!'
-    }
-    if (!isValidPhone(answer.phone)) {
-        return '请填写正确的手机号!'
-    }
-    if (!answer.patientId) {
-        if (!isValidIdcard(answer.idcard)) {
-            return '请填写正确的身份证号!'
-        }
-    }
-    if (!answer.temperature) {
-        return '请选择体温选项!'
-    }
-    if (answer.temperature === '2' && !answer.feverNumber) {
-        return '体温为发烧时请填写具体温度!'
-    }
-    if (answer.item5 === 51 && answer.symptoms.length < 1) {
-        return '请选择症状!'
-    }
-    let count = 0
-    for (let key in answer) {
-        if (key.indexOf('item') !== -1) {
-            count++
-        }
-    }
-    if (count < 5) {
-        return '有未选择的选项!'
-    }
-    answer.addrAdditional = ''
-    return ''
+  if (!answer.name) {
+    return "请填写姓名!";
+  }
+  if (!isValidPhone(answer.phone)) {
+    return "请填写正确的手机号!";
+  }
+  if (!answer.patientId) {
+    if (!isValidIdcard(answer.idcard)) {
+      return "请填写正确的身份证号!";
+    }
+  }
+  if (!answer.temperature) {
+    return "请选择体温选项!";
+  }
+  if (answer.temperature === "2" && !answer.feverNumber) {
+    return "体温为发烧时请填写具体温度!";
+  }
+  if (answer.item5 === 51 && answer.symptoms.length < 1) {
+    return "请选择症状!";
+  }
+  let count = 0;
+  for (let key in answer) {
+    if (key.indexOf("item") !== -1) {
+      count++;
+    }
+  }
+  if (count < 5) {
+    return "有未选择的选项!";
+  }
+  answer.addrAdditional = "";
+  return "";
 }

+ 175 - 180
src/views/medical-insurance/inpatient/InHospFeeUpload.vue

@@ -5,46 +5,42 @@
       <el-button type="success" @click="preCalculateCost">医保试算</el-button>
       <el-button type="success" @click="uploadFees">费用上传</el-button>
       <el-button type="warning" :disabled="!isAdmin" @click="cancelFees"
-      >取消上传
-      </el-button
-      >
+        >取消上传
+      </el-button>
       <el-button type="primary" @click="weiGuiTuiFeiFenXiDialogOpen(true)"
-      >违规费用分析
-      </el-button
-      >
+        >违规费用分析
+      </el-button>
       <el-popover placement="left" width="730" trigger="click">
         <template #reference>
           <el-button type="warning" icon="CircleClose" plain
-          >错误信息 ({{ errorMessages.length }})
-          </el-button
-          >
+            >错误信息 ({{ errorMessages.length }})
+          </el-button>
         </template>
         <el-tag type="info">错误信息</el-tag>
         <el-divider direction="vertical"></el-divider>
         <el-button type="warning" @click="clearErrorMessages"
-        >清除内容
-        </el-button
-        >
+          >清除内容
+        </el-button>
         <el-table
-            width="700"
-            max-height="300"
-            class="errTable"
-            :data="errorMessages"
+          width="700"
+          max-height="300"
+          class="errTable"
+          :data="errorMessages"
         >
           <el-table-column
-              width="80"
-              property="patNo"
-              label="住院号"
+            width="80"
+            property="patNo"
+            label="住院号"
           ></el-table-column>
           <el-table-column
-              width="80"
-              property="patName"
-              label="姓名"
+            width="80"
+            property="patName"
+            label="姓名"
           ></el-table-column>
           <el-table-column
-              width="450"
-              property="message"
-              label="错误详情"
+            width="450"
+            property="message"
+            label="错误详情"
           ></el-table-column>
         </el-table>
       </el-popover>
@@ -62,46 +58,46 @@
     <div class="layout_flex_1-y">
       <el-table :data="xmFeeList" stripe height="100%">
         <el-table-column
-            prop="detailSn"
-            label="流水号"
-            width="80"
+          prop="detailSn"
+          label="流水号"
+          width="80"
         ></el-table-column>
         <el-table-column
-            prop="chargeCodeMx"
-            label="院内码"
-            width="100"
+          prop="chargeCodeMx"
+          label="院内码"
+          width="100"
         ></el-table-column>
         <el-table-column
-            prop="chargeAmount"
-            label="数量"
-            sortable
-            width="80"
+          prop="chargeAmount"
+          label="数量"
+          sortable
+          width="80"
         ></el-table-column>
         <el-table-column
-            prop="chargeFee"
-            label="金额"
-            width="80"
+          prop="chargeFee"
+          label="金额"
+          width="80"
         ></el-table-column>
         <el-table-column prop="chargeDate" label="收费日期"></el-table-column>
         <el-table-column prop="ybCode" :label="ybCodeLabel"></el-table-column>
         <el-table-column prop="chargeName" label="项目名称"></el-table-column>
         <el-table-column
-            prop="ybSelfFlag"
-            label="报销"
-            width="80"
+          prop="ybSelfFlag"
+          label="报销"
+          width="80"
         ></el-table-column>
         <el-table-column>
           <template #default="scope">
             <el-button
-                circle
-                v-if="
+              circle
+              v-if="
                 !injuryMode && patient.mdtrtId && scope.row.chargeAmount < 0
               "
-                @click="fixNegativeFeeUploadProblem(scope.row, 1)"
+              @click="fixNegativeFeeUploadProblem(scope.row, 1)"
             >
               <i
-                  class="iconfont icon-tools-hardware"
-                  style="font-size: 10px"
+                class="iconfont icon-tools-hardware"
+                style="font-size: 10px"
               ></i>
             </el-button>
           </template>
@@ -110,14 +106,14 @@
     </div>
     <div>
       <el-pagination
-          small
-          @size-change="handleXmSizeChange"
-          @current-change="handleCurrentXmChange"
-          :current-page="page.xmPage"
-          :page-sizes="[10, 30, 50, 70, 100, 300]"
-          :page-size="page.xmPageSize"
-          layout="total, sizes, prev, pager, next"
-          :total="xmTotalSize"
+        small
+        @size-change="handleXmSizeChange"
+        @current-change="handleCurrentXmChange"
+        :current-page="page.xmPage"
+        :page-sizes="[10, 30, 50, 70, 100, 300]"
+        :page-size="page.xmPageSize"
+        layout="total, sizes, prev, pager, next"
+        :total="xmTotalSize"
       >
       </el-pagination>
     </div>
@@ -128,46 +124,46 @@
     <div class="layout_flex_1-y">
       <el-table :data="ypFeeList" stripe height="100%">
         <el-table-column
-            prop="detailSn"
-            label="流水号"
-            width="80"
+          prop="detailSn"
+          label="流水号"
+          width="80"
         ></el-table-column>
         <el-table-column
-            prop="chargeCodeMx"
-            label="院内码"
-            width="100"
+          prop="chargeCodeMx"
+          label="院内码"
+          width="100"
         ></el-table-column>
         <el-table-column
-            prop="chargeAmount"
-            label="数量"
-            sortable
-            width="80"
+          prop="chargeAmount"
+          label="数量"
+          sortable
+          width="80"
         ></el-table-column>
         <el-table-column
-            prop="chargeFee"
-            label="金额"
-            width="80"
+          prop="chargeFee"
+          label="金额"
+          width="80"
         ></el-table-column>
         <el-table-column prop="chargeDate" label="收费日期"></el-table-column>
         <el-table-column prop="ybCode" :label="ybCodeLabel"></el-table-column>
         <el-table-column prop="chargeName" label="项目名称"></el-table-column>
         <el-table-column
-            prop="ybSelfFlag"
-            label="报销"
-            width="80"
+          prop="ybSelfFlag"
+          label="报销"
+          width="80"
         ></el-table-column>
         <el-table-column>
           <template #default="scope">
             <el-button
-                circle
-                v-if="
+              circle
+              v-if="
                 !injuryMode && patient.mdtrtId && scope.row.chargeAmount < 0
               "
-                @click="fixNegativeFeeUploadProblem(scope.row, 2)"
+              @click="fixNegativeFeeUploadProblem(scope.row, 2)"
             >
               <i
-                  class="iconfont icon-tools-hardware"
-                  style="font-size: 10px"
+                class="iconfont icon-tools-hardware"
+                style="font-size: 10px"
               ></i>
             </el-button>
           </template>
@@ -176,36 +172,36 @@
     </div>
     <div>
       <el-pagination
-          small
-          @size-change="handleYpSizeChange"
-          @current-change="handleCurrentYpChange"
-          :current-page="page.ypPage"
-          :page-sizes="[10, 30, 50, 70, 100, 300]"
-          :page-size="page.ypPageSize"
-          layout="total, sizes, prev, pager, next"
-          :total="ypTotalSize"
+        small
+        @size-change="handleYpSizeChange"
+        @current-change="handleCurrentYpChange"
+        :current-page="page.ypPage"
+        :page-sizes="[10, 30, 50, 70, 100, 300]"
+        :page-size="page.ypPageSize"
+        layout="total, sizes, prev, pager, next"
+        :total="ypTotalSize"
       >
       </el-pagination>
     </div>
   </div>
 
   <el-dialog
-      v-model="weiGuiTuiFeiFenXiDialog"
-      title="违规费用分析"
-      :fullscreen="true"
+    v-model="weiGuiTuiFeiFenXiDialog"
+    title="违规费用分析"
+    :fullscreen="true"
   >
     <wei-gui-fei-yong-fen-xi
-        :init="weiGuiTuiFeiInit"
-        @open="weiGuiTuiFeiOpenDialog"
-        ref="weiGui"
-        :patient="weiGuiJiBenXinXi"
+      :init="weiGuiTuiFeiInit"
+      @open="weiGuiTuiFeiOpenDialog"
+      ref="weiGui"
+      :patient="weiGuiJiBenXinXi"
     ></wei-gui-fei-yong-fen-xi>
   </el-dialog>
   <MedfeeAnalyse
-      v-if="showFeeDetl"
-      type="unsettled"
-      :mdtrt-id="patient.mdtrtId"
-      @close="showFeeDetl = false"
+    v-if="showFeeDetl"
+    type="unsettled"
+    :mdtrt-id="patient.mdtrtId"
+    @close="showFeeDetl = false"
   />
 </template>
 
@@ -219,9 +215,9 @@ import {
   ref,
   watch,
 } from "vue";
-import {fetchNotUploadedFees, getPatientInfo} from "@/api/inpatient/patient";
-import {ElMessage, ElMessageBox} from "element-plus";
-import {nullPatient} from "@/utils/validate";
+import { fetchNotUploadedFees, getPatientInfo } from "@/api/inpatient/patient";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { nullPatient } from "@/utils/validate";
 import {
   hospitalizationPreSettlement,
   multipleUpload,
@@ -234,15 +230,15 @@ import {
   inpatientSettlement,
   inpatientCostUpload,
 } from "@/api/medical-insurance/si-injury";
-import {setCallback} from "@/utils/websocket";
-import {getGreatestRole} from "@/utils/permission";
-import {baseinfo, setBaseinfo} from "@/data/inpatient";
+import { setCallback } from "@/utils/websocket";
+import { getGreatestRole } from "@/utils/permission";
+import { baseinfo, setBaseinfo } from "@/data/inpatient";
 import WeiGuiFeiYongFenXi from "@/components/inpatient/WeiGuiFeiYongFenXi.vue";
 import MedfeeAnalyse from "../../../components/medical-insurance/medfee-analyse/Index.vue";
-import {clone} from "@/utils/clone";
-import {useMedinsStore} from "@/pinia/medins-store";
-import {useUserStore} from "@/pinia/user-store";
-import {useProgressBarStore} from "@/pinia/progress-bar-store";
+import { clone } from "@/utils/clone";
+import { useMedinsStore } from "@/pinia/medins-store";
+import { useUserStore } from "@/pinia/user-store";
+import { xcMessage } from "@/utils/xiaochan-element-plus";
 
 const medinsStore = useMedinsStore();
 const injuryMode = computed(() => {
@@ -319,18 +315,18 @@ onDeactivated(() => {
 });
 
 watch(
-    () => patient.value.inpatientNo,
-    () => {
-      if (activated.value) {
-        if (patient.value.inpatientNo) {
-          fetchProjectFees();
-          fetchMedicineFees();
-          weiGuiTuiFeiFenXiDialogOpen(false);
-        } else {
-          clearFees();
-        }
+  () => patient.value.inpatientNo,
+  () => {
+    if (activated.value) {
+      if (patient.value.inpatientNo) {
+        fetchProjectFees();
+        fetchMedicineFees();
+        weiGuiTuiFeiFenXiDialogOpen(false);
+      } else {
+        clearFees();
       }
     }
+  }
 );
 
 const errorMessages = ref([]);
@@ -409,42 +405,43 @@ const userInfo = useUserStore().userInfo;
 const doSingleInjuryUpload = () => {
   patient.value.sid = userInfo.sid;
   inpatientCostUpload(patient.value)
-      .then(res => {
-        fetchProjectFees();
-        fetchMedicineFees();
-        patient.value.chargeYb = res.fundPay;
-        ElMessageBox.alert(res, "成功", {
-          type: "success",
-          confirmButtonText: "确定",
-        });
-        getPatientInfo(patient.value.inpatientNo).then(res => {
-          setBaseinfo(res);
-        });
-      })
-      .catch(() => {
-        fetchProjectFees();
-        fetchMedicineFees();
+    .then(res => {
+      fetchProjectFees();
+      fetchMedicineFees();
+      patient.value.chargeYb = res.fundPay;
+      ElMessageBox.alert(res, "成功", {
+        type: "success",
+        confirmButtonText: "确定",
       });
+      getPatientInfo(patient.value.inpatientNo).then(res => {
+        setBaseinfo(res);
+      });
+    })
+    .catch(() => {
+      fetchProjectFees();
+      fetchMedicineFees();
+    });
 };
 
 const doSingleNormalUpload = () => {
-  let list = [{
-    inpatientNo: patient.value.inpatientNo,
-    admissTimes: patient.value.admissTimes,
-    ledgerSn: patient.value.ledgerSn,
-    sid: userInfo.sid,
-    mdtrtId: patient.value.mdtrtId,
-    medType: patient.value.medType,
-    injurySerialNo: patient.value.injurySerialNo,
-  }]
+  let list = [
+    {
+      inpatientNo: patient.value.inpatientNo,
+      admissTimes: patient.value.admissTimes,
+      ledgerSn: patient.value.ledgerSn,
+      sid: userInfo.sid,
+      mdtrtId: patient.value.mdtrtId,
+      medType: patient.value.medType,
+      injurySerialNo: patient.value.injurySerialNo,
+    },
+  ];
   multipleUpload(list).then(() => {
-    ElMessage({
-      message: "费用上传完成。",
-      type: "success",
-      duration: 2500,
-      showClose: true,
-    });
-  })
+    if (!nullPatient(false)) {
+      fetchProjectFees();
+      fetchMedicineFees();
+    }
+    xcMessage.success("费用上传完成");
+  });
 };
 
 const doMultipleUpload = () => {
@@ -453,13 +450,12 @@ const doMultipleUpload = () => {
     item.sid = userInfo.sid;
   });
   multipleUpload(list).then(() => {
-    ElMessage({
-      message: "费用上传完成。",
-      type: "success",
-      duration: 2500,
-      showClose: true,
-    });
-  })
+    if (!nullPatient(false)) {
+      fetchProjectFees();
+      fetchMedicineFees();
+    }
+    xcMessage.success("费用上传完成");
+  });
 };
 
 const socketCallback = data => {
@@ -479,33 +475,32 @@ const cancelFees = () => {
     confirmButtonText: "确定",
     cancelButtonText: "放弃",
   })
-      .then(() => {
-        if (injuryMode.value) {
-          revokeInpatientCost(patient.value).then(() => {
-            ElMessage({
-              message: "操作成功。",
-              type: "success",
-              duration: 2500,
-              showClose: true,
-            });
-            fetchProjectFees();
-            fetchMedicineFees();
+    .then(() => {
+      if (injuryMode.value) {
+        revokeInpatientCost(patient.value).then(() => {
+          ElMessage({
+            message: "操作成功。",
+            type: "success",
+            duration: 2500,
+            showClose: true,
           });
-        } else {
-          revokeUploadFees(patient.value).then(() => {
-            ElMessage({
-              message: "操作成功。",
-              type: "success",
-              duration: 2500,
-              showClose: true,
-            });
-            fetchProjectFees();
-            fetchMedicineFees();
+          fetchProjectFees();
+          fetchMedicineFees();
+        });
+      } else {
+        revokeUploadFees(patient.value).then(() => {
+          ElMessage({
+            message: "操作成功。",
+            type: "success",
+            duration: 2500,
+            showClose: true,
           });
-        }
-      })
-      .catch(() => {
-      });
+          fetchProjectFees();
+          fetchMedicineFees();
+        });
+      }
+    })
+    .catch(() => {});
 };
 
 const showFeeDetl = ref(false);
@@ -540,9 +535,9 @@ const weiGuiTuiFeiFenXiDialogOpen = val => {
   weiGuiTuiFeiInit.value += 1;
   weiGuiJiBenXinXi.value.deptCode = "";
   weiGuiJiBenXinXi.value.inpatientNo =
-      typeof patient.value.inpatientNo === "undefined"
-          ? ""
-          : patient.value.inpatientNo;
+    typeof patient.value.inpatientNo === "undefined"
+      ? ""
+      : patient.value.inpatientNo;
   weiGuiJiBenXinXi.value.openDialog = val;
 };
 

+ 2 - 1
src/views/settings/cache-flushed/index.vue

@@ -75,6 +75,7 @@ onMounted(() => {
             @click="handleClickLabel(key)"
           >
             {{ value }}
+            {{ key === store.currentLabelKey ? store.cacheAll?.length : "" }}
           </div>
         </aside>
 
@@ -82,7 +83,7 @@ onMounted(() => {
           <el-table
             border
             :data="tmpData"
-            max-height="100%"
+            height="100%"
             :row-style="{ height: '80px' }"
           >
             <el-table-column prop="key" label="key" width="100" />