Sfoglia il codice sorgente

优化项目录入代码。

xiaochan 3 anni fa
parent
commit
b5ee863f97

+ 496 - 636
src/components/inpatient/XiangMuLuRu.vue

@@ -23,7 +23,7 @@
               <div>4、录入类型:该费用是怎么产生,护士录入,医嘱,医技</div>
               <div>
                 5、费用状态:未退-代表该费用没有被退,已退-代表费用是退费数据,被退-代表那些正的被退了
-                <span style="color: red">(该条件只对在本系统中有效,如果无效请点击退费匹配 (退费匹配就在本页面的关闭旁边),或选择全部)</span><br/>
+                <span style="color: red">(该条件只对在本系统中有效,如果无效请点击退费匹配 (退费匹配就在本页面的关闭旁边),或选择全部)</span><br />
               </div>
               <div>6、点击查询即可查询费用(如提示没有数据,请检查搜索的条件)</div>
             </el-collapse-item>
@@ -52,14 +52,7 @@
         <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>
                 <el-divider direction="vertical"></el-divider>
@@ -68,22 +61,21 @@
             </el-select>
             录入日期:
             <el-date-picker
-                type="daterange"
-                v-model="dateRange"
-                placeholder="选择日期"
-                style="width: 280px"
-                range-separator="至"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期"
-                :shortcuts="shortcuts"
+              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">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
@@ -107,8 +99,7 @@
             </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 :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>
@@ -129,11 +120,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>
@@ -142,13 +133,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>
@@ -158,14 +149,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>
           <!-- 项目录入 -->
@@ -191,8 +182,7 @@
                   </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>
@@ -204,8 +194,7 @@
                         <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
@@ -217,8 +206,7 @@
                         <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>
@@ -245,13 +233,12 @@
           <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>
@@ -262,14 +249,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>
@@ -289,8 +276,7 @@
                       >
                     </el-select>
                   </template>
-                </el-table-column
-                >
+                </el-table-column>
                 <el-table-column label="单价" prop="chargeAmount"></el-table-column>
                 <el-table-column label="数量" prop="amount">
                   <template #default="scope">
@@ -309,21 +295,24 @@
         </el-dialog>
         <el-dialog title="保存模板" v-model="baoCunMuBanDialog">
           <el-row>
-            <el-col :span="24"> 模板名称:
+            <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-col :span="12">
+              拼音码:
               <el-input v-model="cunMuBanPojo.pyCode" maxlength="8" show-word-limit></el-input>
             </el-col>
-            <el-col :span="12"> 五笔码:
+            <el-col :span="12">
+              五笔码:
               <el-input v-model="cunMuBanPojo.dcode" maxlength="8" show-word-limit></el-input>
             </el-col>
-            <el-col :span="12"> 创建科室:
+            <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>
@@ -332,621 +321,492 @@
   </el-container>
 </template>
 
-<script>
-import {computed, onMounted, ref, watch} from 'vue'
+<script setup name="xiangMuLuRu">
 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,
-  getMuBan,
   getMuBanXinXi,
   xiangMuTuiFei,
   queryDanGeXiangMu,
   xiangMuFeiYongShangChuan,
   shangChuanMuBan,
-  shanChuMuBan,
-  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'
+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'
-
-export default {
-  components: {HuoQuMuBan},
-  props: {
-    init: {
-      type: Number,
-      default: -1,
-    },
+import { getDateRangeFormatDate } from '@/utils/date'
+import { baseinfo } from '@/data/inpatient'
+import { getDept } from '@/api/public-api'
+
+const props = defineProps({
+  init: {
+    type: Number,
+    default: -1,
   },
-  setup(props, ctx) {
-    const windowSize = store.state.app.windowSize
-    const tableHeight = windowSize.h - 170
-    const chaoZuoZhiNan = ref(true)
-
-    // 默认选中已录入项目
-    const xmlrTabs = ref('ylrxm')
-    const inpatientNo = ref('')
-    const zhiXingKeShi = ref('')
-    const dateRange = ref(shortcuts[2].value)
-    // DESC 降 ASC 升
-    const riQiPaiXu = ref('DESC')
-
-    const quanXian = store.state.user.info.roles
-    const activeName = ref('1')
-
-    const feiYongLeiXingCode = ref(0)
-
-    /**
-     * 录入费用 表格
-     */
-    const tableDataHuanZheFeiYong = ref([])
-
-    // 项目录入模板数据
-    const muBanData = ref([])
-    // 获取全部科室
-    const deptData = ref([])
-
-    // 患者信息
-    const patient = ref({})
-    /**
-     * 监听 xmlrTabs 如果变化了 就加载 模板数据 如果模板数据已经存在了就不加载
-     */
-    watch(xmlrTabs, (newProps, oldProps) => {
-      if (muBanData.value.length === 0) {
-        getMuBan(store.state.user.info.deptCode).then((res) => {
-          muBanData.value = res
-        })
-        getDept().then((res) => {
-          deptData.value = res
-        })
-      }
-      // 在这里只是获取科室的姓名
-      setTimeout(() => {
-        deptData.value.forEach((item) => {
-          if (item.code === store.state.user.info.deptCode) {
-            cunMuBanPojo.value.dept = item.name
-          }
-        })
-      }, 100)
+})
+
+const emit = defineEmits(['close-xmlr'])
+
+const windowSize = store.state.app.windowSize
+const tableHeight = windowSize.h - 170
+const chaoZuoZhiNan = ref(true)
+
+// 默认选中已录入项目
+const xmlrTabs = ref('ylrxm')
+const inpatientNo = ref('')
+const zhiXingKeShi = ref('')
+const dateRange = ref(shortcuts[2].value)
+// DESC 降 ASC 升
+const riQiPaiXu = ref('DESC')
+
+const quanXian = store.state.user.info.roles
+const activeName = ref('1')
+
+const feiYongLeiXingCode = ref(0)
+
+/**
+ * 录入费用 表格
+ */
+const tableDataHuanZheFeiYong = ref([])
+
+// 获取全部科室
+const deptData = ref([])
+
+// 患者信息
+const patient = ref({})
+
+/**
+ * 判断这个操作员是否可以退费
+ */
+const panDuanSFTongGuoBingShiJinRu = ref(false)
+
+// 弹框 输入住院号
+const jinRuPanDuanSFXieDaiHuanZheXinXi = () => {
+  ElMessageBox.prompt('请输入患者住院号', '提示', {
+    confirmButtonText: '确定',
+    cancelButtonText: '取消',
+    inputPattern: /\S/,
+    inputErrorMessage: '患者住院号不能为空 (∩•̀ω•́)⊃-*⋆',
+    type: 'warning',
+  })
+    .then(({ value }) => {
+      inpatientNo.value = value
+      chaXunHuanZheXinXi()
+    })
+    .catch(() => {
+      guanBiDialog()
     })
+}
 
-    /**
-     * 判断这个操作员是否可以退费
-     */
-    const panDuanSFTongGuoBingShiJinRu = ref(false)
-
-    // 弹框 输入住院号
-    const jinRuPanDuanSFXieDaiHuanZheXinXi = () => {
-      ElMessageBox.prompt('请输入患者住院号', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        inputPattern: /\S/,
-        inputErrorMessage: '患者住院号不能为空 (∩•̀ω•́)⊃-*⋆',
-        type: 'warning',
-      })
-          .then(({value}) => {
-            inpatientNo.value = value
-            chaXunHuanZheXinXi()
-          })
-          .catch(() => {
-            guanBiDialog()
-          })
-    }
+/**
+ * 这个是 用户没有选择患者 就进来执行的
+ */
+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()
+    })
+}
 
-    /**
-     * 这个是 用户没有选择患者 就进来执行的
-     */
-    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()
-          })
-    }
+const total = ref(0)
+/**
+ * 查询
+ */
+const queryFeiYong = () => {
+  let dateR = getDateRangeFormatDate(dateRange.value)
+  patient.value.startTime = dateR.startTime
+  patient.value.endTime = dateR.endTime
+  patient.value.riQiPaiXu = riQiPaiXu.value
+  patient.value.feiYongLeiXingCode = feiYongLeiXingCode.value
+  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
+    })
+}
 
-    const total = ref(0)
-    /**
-     * 查询
-     */
-    const queryFeiYong = () => {
-      let dateR = getDateRangeFormatDate(dateRange.value)
-      patient.value.startTime = dateR.startTime
-      patient.value.endTime = dateR.endTime
-      patient.value.riQiPaiXu = riQiPaiXu.value
-      patient.value.feiYongLeiXingCode = feiYongLeiXingCode.value
-      patient.value.currentPage = 1
+const handleQueryFeiYong = () => {
+  let dateR = getDateRangeFormatDate(dateRange.value)
+  patient.value.startTime = dateR.startTime
+  patient.value.endTime = dateR.endTime
+  patient.value.riQiPaiXu = riQiPaiXu.value
+  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
-      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
-          })
-    }
+    })
+}
 
-    const handleQueryFeiYong = () => {
-      let dateR = getDateRangeFormatDate(dateRange.value)
-      patient.value.startTime = dateR.startTime
-      patient.value.endTime = dateR.endTime
-      patient.value.riQiPaiXu = riQiPaiXu.value
-      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
-          })
-    }
+/**
+ * 分页
+ */
+const handleSizeChange = (val) => {
+  patient.value.pageSize = val
+  handleQueryFeiYong()
+}
 
-    /**
-     * 分页
-     */
-    const handleSizeChange = (val) => {
-      patient.value.pageSize = val
-      handleQueryFeiYong()
-    }
+const handleCurrentChange = (val) => {
+  patient.value.currentPage = val
+  handleQueryFeiYong()
+}
+/**
+ * 获取项目名称
+ */
+const chargeCodeNameData = ref([])
+
+/**
+ * 远程搜索
+ */
+const remoteMethodChargeCode = (val) => {
+  if (val.length >= 2) {
+    getChargeCode(val).then((res) => {
+      chargeCodeNameData.value = res
+    })
+  }
+}
+/**
+ * 获取多选框的值
+ */
+const handleSelectionChange = (val) => {
+  patient.value.list = val
+}
 
-    const handleCurrentChange = (val) => {
-      patient.value.currentPage = val
-      handleQueryFeiYong()
-    }
-    /**
-     * 获取项目名称
-     */
-    const chargeCodeNameData = ref([])
-
-    /**
-     * 远程搜索
-     */
-    const remoteMethodChargeCode = (val) => {
-      if (val.length >= 2) {
-        getChargeCode(val).then((res) => {
-          chargeCodeNameData.value = res
-        })
-      }
-    }
-    /**
-     * 获取多选框的值
-     */
-    const handleSelectionChange = (val) => {
-      patient.value.list = val
+/** */
+const cptTableDataHuanZheFeiYong = ref([])
+
+/**
+ *  项目退费
+ */
+const xiangMuTuiFeiClick = () => {
+  if (typeof patient.value.list !== 'undefined') {
+    let chargeFee = 0
+    let chargeAmount = 0
+    for (let i = 0; i < patient.value.list.length; i++) {
+      chargeAmount += patient.value.list[i].chargeAmount
+      chargeFee += patient.value.list[i].chargeFee
     }
-
-    /** */
-    const cptTableDataHuanZheFeiYong = ref([])
-
-    /**
-     *  项目退费
-     */
-    const xiangMuTuiFeiClick = () => {
-      if (typeof patient.value.list !== 'undefined') {
-        let chargeFee = 0
-        let chargeAmount = 0
-        for (let i = 0; i < patient.value.list.length; i++) {
-          chargeAmount += patient.value.list[i].chargeAmount
-          chargeFee += patient.value.list[i].chargeFee
+    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,
         }
-        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,
-              }
-          )
-              .then(() => {
-                xiangMuTuiFei(patient.value).then((res) => {
-                  queryFeiYong()
-                })
-              })
-              .catch(() => {
-              })
-        } else {
-          ElMessage.warning({
-            message: '请先选择退费数据',
-            showClose: true,
+      )
+        .then(() => {
+          xiangMuTuiFei(patient.value).then((res) => {
+            queryFeiYong()
           })
-        }
-      } else {
-        ElMessage.warning({
-          message: '请先选择退费数据',
-          showClose: true,
         })
-      }
-    }
-
-    const cheXiaoTuiFeiClick = (index, row) => {
-      cheXiaoTuiFei(row.inpatientNo, row.admissTimes, row.ledgerSn, row.detailSn).then(() => {
+        .catch(() => {})
+    } else {
+      ElMessage.warning({
+        message: '请先选择退费数据',
+        showClose: true,
       })
     }
+  } else {
+    ElMessage.warning({
+      message: '请先选择退费数据',
+      showClose: true,
+    })
+  }
+}
 
-    //////////////////////////////////// 以上全部是 已录入项目 //////////////////////////////////////////////////////////////////////////////
+const cheXiaoTuiFeiClick = (index, row) => {
+  cheXiaoTuiFei(row.inpatientNo, row.admissTimes, row.ledgerSn, row.detailSn).then(() => {})
+}
 
-    /**
-     * 点击获取模板信息
-     */
-    const muBanXiangQing = ref([])
-    const getMuBanXinXiClick = (row) => {
-      getMuBanXinXi(row.name, row.opIdCode).then((res) => {
-        muBanXiangQing.value = res
-      })
-    }
+//////////////////////////////////// 以上全部是 已录入项目 //////////////////////////////////////////////////////////////////////////////
 
-    /**
-     * 获取项目模板详情的数据
-     */
-    const muBanNeiRongData = ref([])
-    // 保存 code 不要重复添加
-    let muBanCode = []
-    const xuanZeXiangMuTable = (param) => {
-      let val = param.val
-      for (let i = 0; i < val.length; i++) {
-        let code = val[i].chargeCodeMx
-        if (muBanCode.indexOf(code) === -1) {
-          muBanCode.push(code)
-          val[i].deptCode = patient.value.zkWard
-          muBanNeiRongData.value.push(val[i])
-        }
-      }
+/**
+ * 点击获取模板信息
+ */
+const muBanXiangQing = ref([])
+const getMuBanXinXiClick = (row) => {
+  getMuBanXinXi(row.name, row.opIdCode).then((res) => {
+    muBanXiangQing.value = res
+  })
+}
+
+/**
+ * 获取项目模板详情的数据
+ */
+const muBanNeiRongData = ref([])
+// 保存 code 不要重复添加
+let muBanCode = []
+const xuanZeXiangMuTable = (param) => {
+  let val = param.val
+  for (let i = 0; i < val.length; i++) {
+    let code = val[i].chargeCodeMx
+    if (muBanCode.indexOf(code) === -1) {
+      muBanCode.push(code)
+      val[i].deptCode = patient.value.zkWard
+      muBanNeiRongData.value.push(val[i])
     }
+  }
+}
 
-    const muBanCurrentPage = ref(1)
-    const muBanPageSize = ref(10)
+const muBanCurrentPage = ref(1)
+const muBanPageSize = ref(10)
 
-    const muBanHandleCurrentChange = (val) => {
-      muBanCurrentPage.value = val
-    }
+const muBanHandleCurrentChange = (val) => {
+  muBanCurrentPage.value = val
+}
 
-    /**
-     * 删除项目
-     */
-    const shanChuXiangMuClick = (index) => {
-      muBanNeiRongData.value.splice(index, 1)
-      muBanCode.splice(index, 1)
-    }
-    /**
-     * 获取项目的总价
-     */
-    const xiangMuZongJia = computed(() => {
-      let sum = 0
-      for (let i = 0; i < muBanNeiRongData.value.length; i++) {
-        sum += muBanNeiRongData.value[i].chargeAmount * muBanNeiRongData.value[i].amount
-      }
-      return sum.toFixed(2)
+/**
+ * 删除项目
+ */
+const shanChuXiangMuClick = (index) => {
+  muBanNeiRongData.value.splice(index, 1)
+  muBanCode.splice(index, 1)
+}
+/**
+ * 获取项目的总价
+ */
+const xiangMuZongJia = computed(() => {
+  let sum = 0
+  for (let i = 0; i < muBanNeiRongData.value.length; i++) {
+    sum += muBanNeiRongData.value[i].chargeAmount * muBanNeiRongData.value[i].amount
+  }
+  return sum.toFixed(2)
+})
+
+//以下全部是  新增项目 对话框功能
+
+/**
+ * 新增项目
+ */
+const xinZhengXiangMuDialog = ref(false)
+
+// 项目拼音的code
+const chargePyCode = ref('')
+// 项目数据
+const xiangMuData = ref([])
+
+/**
+ * 远程搜索
+ */
+const rmChargePyCode = (val) => {
+  if (val.length >= 2) {
+    queryDanGeXiangMu(val, 0).then((res) => {
+      xiangMuData.value = res
     })
+  }
+}
+const danGeXiangMuCurrentPage = ref(1)
 
-    //以下全部是  新增项目 对话框功能
-
-    /**
-     * 新增项目
-     */
-    const xinZhengXiangMuDialog = ref(false)
-
-    // 项目拼音的code
-    const chargePyCode = ref('')
-    // 项目数据
-    const xiangMuData = ref([])
-
-    /**
-     * 远程搜索
-     */
-    const rmChargePyCode = (val) => {
-      if (val.length >= 2) {
-        queryDanGeXiangMu(val, 0).then((res) => {
-          xiangMuData.value = res
-        })
-      }
-    }
-    const danGeXiangMuCurrentPage = ref(1)
-
-    const danGeXiangMuCurrentChange = (val) => {
-      danGeXiangMuCurrentPage.value = val
-    }
-    /**
-     * 用来获取新增对画框中选择的项目
-     */
-    const danGeLuRuXiangMu = ref([])
-
-    const getDanGeXiangMu = () => {
-      xiangMuData.value.filter((item) => {
-        if (item.chargeCode === chargePyCode.value) {
-          item.deptCode = patient.value.zkWard
-          danGeLuRuXiangMu.value.push(item)
-        }
-      })
+const danGeXiangMuCurrentChange = (val) => {
+  danGeXiangMuCurrentPage.value = val
+}
+/**
+ * 用来获取新增对画框中选择的项目
+ */
+const danGeLuRuXiangMu = ref([])
+
+const getDanGeXiangMu = () => {
+  xiangMuData.value.filter((item) => {
+    if (item.chargeCode === chargePyCode.value) {
+      item.deptCode = patient.value.zkWard
+      danGeLuRuXiangMu.value.push(item)
     }
+  })
+}
 
-    /**
-     * 单个项目保存
-     */
-    const danGeXiangMuBaoCun = () => {
-      for (let i = 0; i < muBanNeiRongData.value.length; i++) {
-        if (muBanNeiRongData.value[i].chargeCodeMx === danGeLuRuXiangMu.value[0].chargeCodeMx) {
-          ElMessage.error({
-            message: '已存在相同项目请勿重复添加',
-            showClose: true,
-          })
-          return
-        }
-      }
-      muBanCode.push(clone(danGeLuRuXiangMu.value[0].chargeCodeMx))
-      muBanNeiRongData.value.push(clone(danGeLuRuXiangMu.value[0]))
-      danGeLuRuXiangMu.value = []
-      chargePyCode.value = ''
-    }
-    //以上全部是  新增项目 对话框功能
-
-    // 下面就是上传 项目
-    const shangChuanXiangMu = () => {
-      if (muBanNeiRongData.value.length === 0) {
-        ElMessage.error({
-          message: '请先选择需要上传的费用',
-          showClose: true,
-        })
-        return
-      }
-      for (let i = 0; i < muBanNeiRongData.value.length; i++) {
-        if (muBanNeiRongData.value[i].deptCode === '') {
-          ElMessage.error({
-            message: '【' + muBanNeiRongData.value[i].chargeName + '】的执行科室为空',
-            showClose: true,
-          })
-          return
-        }
-      }
-      let shangChuanFeiYong = {
-        inpatientNo: patient.value.inpatientNo,
-        admissTimes: patient.value.admissTimes,
-        ledgerSn: patient.value.ledgerSn,
-        dept: patient.value.admissDept,
-        zySerialNo: patient.value.zySerialNo,
-        ward: patient.value.zkWard,
-        referPhysician: patient.value.referPhysician,
-        list: muBanNeiRongData.value,
-        orderNo: 0,
-      }
-      // 在此处上传
-      ElMessageBox.confirm('共上传【' + muBanNeiRongData.value.length + '】条', '请认真核对', {
-        cancelButtonText: '取消',
-        confirmButtonText: '确定',
+/**
+ * 单个项目保存
+ */
+const danGeXiangMuBaoCun = () => {
+  for (let i = 0; i < muBanNeiRongData.value.length; i++) {
+    if (muBanNeiRongData.value[i].chargeCodeMx === danGeLuRuXiangMu.value[0].chargeCodeMx) {
+      ElMessage.error({
+        message: '已存在相同项目请勿重复添加',
+        showClose: true,
       })
-          .then(() => {
-            xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
-              muBanNeiRongData.value = []
-              muBanCode = []
-            })
-          })
-          .catch(() => {
-          })
+      return
     }
-
-    // 上面就是上传 项目
-
-    // 下面就是保存的模板信息
-    const cunMuBanPojo = ref({
-      pyCode: '',
-      dcode: '',
-      name: '',
-      paiXu: '',
-      dept: '',
-      deptCode: store.state.user.info.deptCode,
-      list: [],
+  }
+  muBanCode.push(clone(danGeLuRuXiangMu.value[0].chargeCodeMx))
+  muBanNeiRongData.value.push(clone(danGeLuRuXiangMu.value[0]))
+  danGeLuRuXiangMu.value = []
+  chargePyCode.value = ''
+}
+//以上全部是  新增项目 对话框功能
+
+// 下面就是上传 项目
+const shangChuanXiangMu = () => {
+  if (muBanNeiRongData.value.length === 0) {
+    ElMessage.error({
+      message: '请先选择需要上传的费用',
+      showClose: true,
     })
-
-    const baoCunMuBanDialog = ref(false)
-    const baoCunMuBan = () => {
-      if (muBanNeiRongData.value.length === 0) {
-        ElMessage.error({
-          message: '请先选择项目',
-          showClose: true,
-        })
-        return
-      }
-      if (cunMuBanPojo.value.name === '' || cunMuBanPojo.value.pyCode === '' || cunMuBanPojo.value.dcode === '') {
-        ElMessage.error({
-          message: '模板名称,拼音码,五笔码不能为空',
-          showClose: true,
-        })
-        return
-      }
-      cunMuBanPojo.value.list = clone(muBanNeiRongData.value)
-      // 开始上传
-      shangChuanMuBan(cunMuBanPojo.value).then(() => {
-        cunMuBanPojo.value = {}
+    return
+  }
+  for (let i = 0; i < muBanNeiRongData.value.length; i++) {
+    if (muBanNeiRongData.value[i].deptCode === '') {
+      ElMessage.error({
+        message: '【' + muBanNeiRongData.value[i].chargeName + '】的执行科室为空',
+        showClose: true,
       })
+      return
     }
-
-    // 获取到保存模板的拼音码和五笔码
-    const zhuanPinYin = () => {
-      getPyCode(cunMuBanPojo.value.name).then((res) => {
-        cunMuBanPojo.value.pyCode = res.pyCode
-        cunMuBanPojo.value.dcode = res.wbCode
+  }
+  let shangChuanFeiYong = {
+    inpatientNo: patient.value.inpatientNo,
+    admissTimes: patient.value.admissTimes,
+    ledgerSn: patient.value.ledgerSn,
+    dept: patient.value.admissDept,
+    zySerialNo: patient.value.zySerialNo,
+    ward: patient.value.zkWard,
+    referPhysician: patient.value.referPhysician,
+    list: muBanNeiRongData.value,
+    orderNo: 0,
+  }
+  // 在此处上传
+  ElMessageBox.confirm('共上传【' + muBanNeiRongData.value.length + '】条', '请认真核对', {
+    cancelButtonText: '取消',
+    confirmButtonText: '确定',
+  })
+    .then(() => {
+      xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
+        muBanNeiRongData.value = []
+        muBanCode = []
       })
-    }
-
-    // 上面就是保存的模板信息
-
-    /** 关闭 对话框 */
-    const guanBiDialog = () => {
-      ctx.emit('close-xmlr')
-    }
+    })
+    .catch(() => {})
+}
 
-    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()
-          }
-        }
-    )
-
-    onMounted(() => {
-      if (!baseinfo().inpatientNo) {
-        patient.value.currentPage = 1
-        patient.value.pageSize = 40
-        patient.value.total = 0
-        patient.value.tuiFeiFlag = 0
-        patient.value.orderNo = 0
-        patient.value.deptCode = store.state.user.info.deptCode
-        zhiXingKeShi.value = patient.value.zkWard
-        jinRuPanDuanSFXieDaiHuanZheXinXi()
-      } else {
-        patient.value = clone(baseinfo())
-        patient.value.currentPage = 1
-        patient.value.pageSize = 40
-        patient.value.total = 0
-        patient.value.tuiFeiFlag = 0
-        patient.value.orderNo = 0
-        patient.value.deptCode = store.state.user.info.deptCode
-        panDuanSFTongGuoBingShiJinRu.value = true
-        zhiXingKeShi.value = patient.value.zkWard
-        queryFeiYong()
-      }
+// 上面就是上传 项目
+
+// 下面就是保存的模板信息
+const cunMuBanPojo = ref({
+  pyCode: '',
+  dcode: '',
+  name: '',
+  paiXu: '',
+  dept: '',
+  deptCode: store.state.user.info.deptCode,
+  list: [],
+})
+
+const baoCunMuBanDialog = ref(false)
+const baoCunMuBan = () => {
+  if (muBanNeiRongData.value.length === 0) {
+    ElMessage.error({
+      message: '请先选择项目',
+      showClose: true,
+    })
+    return
+  }
+  if (cunMuBanPojo.value.name === '' || cunMuBanPojo.value.pyCode === '' || cunMuBanPojo.value.dcode === '') {
+    ElMessage.error({
+      message: '模板名称,拼音码,五笔码不能为空',
+      showClose: true,
     })
+    return
+  }
+  cunMuBanPojo.value.list = clone(muBanNeiRongData.value)
+  // 开始上传
+  shangChuanMuBan(cunMuBanPojo.value).then(() => {
+    cunMuBanPojo.value = {}
+  })
+}
 
-    const shanChuMuBanClick = (index, data) => {
-      if (data.opIdCode !== store.state.user.info.code) {
-        ElMessageBox.confirm('该模板非本人创建是否强制删除', '提示', {
-          type: 'warning',
-        })
-            .then(() => {
-              shanChuMuBan(data.name, data.opIdCode).then((res) => {
-                muBanData.value.splice(index, 1)
-              })
-            })
-            .catch(() => {
-            })
-      } else {
-        shanChuMuBan(data.name, data.opIdCode).then((res) => {
-          muBanData.value.splice(index, 1)
-        })
-      }
-    }
+// 获取到保存模板的拼音码和五笔码
+const zhuanPinYin = () => {
+  getPyCode(cunMuBanPojo.value.name).then((res) => {
+    cunMuBanPojo.value.pyCode = res.pyCode
+    cunMuBanPojo.value.dcode = res.wbCode
+  })
+}
 
-    const xieGaiZhiXingKeShi = () => {
-      for (let i = 0; i < muBanNeiRongData.value.length; i++) {
-        muBanNeiRongData.value[i].deptCode = zhiXingKeShi.value
-      }
-    }
+// 上面就是保存的模板信息
 
-    return {
-      patient,
-      cptSex,
-      xmlrTabs,
-      tableHeight,
-      tableDataHuanZheFeiYong,
-      handleSizeChange,
-      handleCurrentChange,
-      chargeCodeNameData,
-      remoteMethodChargeCode,
-      handleSelectionChange,
-      xiangMuTuiFeiClick,
-      costState,
-      muBanData,
-      getMuBanXinXiClick,
-      muBanXiangQing,
-      xuanZeXiangMuTable,
-      muBanNeiRongData,
-      getDatetime,
-      shanChuXiangMuClick,
-      deptData,
-      xinZhengXiangMuDialog,
-      chargePyCode,
-      rmChargePyCode,
-      xiangMuData,
-      xiangMuZongJia,
-      danGeLuRuXiangMu,
-      getDanGeXiangMu,
-      danGeXiangMuBaoCun,
-      shangChuanXiangMu,
-      baoCunMuBan,
-      baoCunMuBanDialog,
-      cunMuBanPojo,
-      zhuanPinYin,
-      muBanCurrentPage,
-      muBanPageSize,
-      muBanHandleCurrentChange,
-      cptTableDataHuanZheFeiYong,
-      guanBiDialog,
-      danGeXiangMuCurrentPage,
-      danGeXiangMuCurrentChange,
-      inpatientNo,
-      chaXunHuanZheXinXi,
-      panDuanSFTongGuoBingShiJinRu,
-      queryFeiYong,
-      shanChuMuBanClick,
-      yiZhuTuiFeiLeiXing,
-      zhiXingKeShi,
-      xieGaiZhiXingKeShi,
-      dateRange,
-      shortcuts,
-      riQiPaiXu,
-      feiYongLeiXingCode,
-      feiYongLeiXing,
-      tuiFeiLeiXin,
-      total,
-      cheXiaoTuiFeiClick,
-      quanXian,
-      chaoZuoZhiNan,
-      activeName,
-    }
-  },
+/** 关闭 对话框 */
+const guanBiDialog = () => {
+  emit('close-xmlr')
+}
+
+onMounted(() => {
+  if (!baseinfo().inpatientNo) {
+    patient.value.currentPage = 1
+    patient.value.pageSize = 40
+    patient.value.total = 0
+    patient.value.tuiFeiFlag = 0
+    patient.value.orderNo = 0
+    patient.value.deptCode = store.state.user.info.deptCode
+    zhiXingKeShi.value = patient.value.zkWard
+    jinRuPanDuanSFXieDaiHuanZheXinXi()
+  } else {
+    patient.value = clone(baseinfo())
+    patient.value.currentPage = 1
+    patient.value.pageSize = 40
+    patient.value.total = 0
+    patient.value.tuiFeiFlag = 0
+    patient.value.orderNo = 0
+    patient.value.deptCode = store.state.user.info.deptCode
+    panDuanSFTongGuoBingShiJinRu.value = true
+    zhiXingKeShi.value = patient.value.zkWard
+    queryFeiYong()
+  }
+  getDept().then((res) => {
+    deptData.value = res
+  })
+})
+
+const xieGaiZhiXingKeShi = () => {
+  for (let i = 0; i < muBanNeiRongData.value.length; i++) {
+    muBanNeiRongData.value[i].deptCode = zhiXingKeShi.value
+  }
 }
 </script>
 

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

@@ -40,20 +40,19 @@
           <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>
@@ -79,8 +78,7 @@
           <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>
@@ -104,23 +102,23 @@
       <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">
@@ -140,8 +138,7 @@
               >
             </el-select>
           </template>
-        </el-table-column
-        >
+        </el-table-column>
         <el-table-column label="单价" prop="chargeAmount"></el-table-column>
         <el-table-column label="数量" prop="amount">
           <template #default="scope">
@@ -158,25 +155,28 @@
         <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-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-col :span="12">
+          拼音码:
           <el-input v-model="cunMuBanPojo.pyCode" maxlength="8" show-word-limit></el-input>
         </el-col>
-        <el-col :span="12"> 五笔码:
+        <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> -->
@@ -189,22 +189,14 @@
 </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 { 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 {
@@ -225,8 +217,6 @@ export default {
     // 手术编码
     const ssCode = ref('')
 
-    // 项目录入模板数据
-    const muBanData = ref([])
     const muBanCurrentPage = ref(1)
     const muBanPageSize = ref(10)
 
@@ -263,10 +253,6 @@ export default {
     const chargeCode = ref([])
 
     onMounted(() => {
-      // 获取模板信息
-      getMuBan(store.state.user.info.deptCode).then((res) => {
-        muBanData.value = res
-      })
       // 获取科室
       getDept().then((res) => {
         deptData.value = res
@@ -297,14 +283,13 @@ export default {
         cancelButtonText: '取消',
         confirmButtonText: '确定',
       })
-          .then(() => {
-            xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
-              feiYongShuJu.value = []
-              chargeCode.value = []
-            })
-          })
-          .catch(() => {
+        .then(() => {
+          xiangMuFeiYongShangChuan(shangChuanFeiYong).then(() => {
+            feiYongShuJu.value = []
+            chargeCode.value = []
           })
+        })
+        .catch(() => {})
     }
 
     const shanChuXiangMuClick = (val) => {
@@ -371,15 +356,15 @@ export default {
     })
 
     watch(
-        () => 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)
@@ -451,10 +436,10 @@ export default {
     }
 
     watch(
-        () => xiangMuHuoYaoPinFlag.value,
-        () => {
-          xiangMuHuoYaoPinShuJu.value.data = []
-        }
+      () => xiangMuHuoYaoPinFlag.value,
+      () => {
+        xiangMuHuoYaoPinShuJu.value.data = []
+      }
     )
     const renYuanList = ref([])
 
@@ -467,7 +452,6 @@ export default {
     }
 
     return {
-      muBanData,
       tableHeight,
       muBanCurrentPage,
       muBanHandleCurrentChange,

+ 6 - 6
src/components/si-sheet-upload/JieSuanDanXiangQing.vue

@@ -337,8 +337,8 @@ const huanZheXinXiDialog = ref(true)
 const code = store.state.user.info.code
 const name = store.state.user.info.name
 
-/*以下全部都是诊断*/
-const zhenDuanQuery = ref({
+/*以下全部都是诊断  allOfTheFollowingIsDiagnosed*/
+const diagnosticQuery = ref({
   method: 'name',
   target: 'diag',
   // 内容
@@ -359,7 +359,7 @@ const addZhenDuanFlag = ref(false)
 let zhenDuanIndex = 0
 const xiuGaiZhenDuanClick = (index, val) => {
   queryZhenDuanData.value = []
-  zhenDuanQuery.value.content = val.disDiagComment
+  diagnosticQuery.value.content = val.disDiagComment
   lingShiZhenDuan.value = val
   addZhenDuanFlag.value = false
   zhenDuanDialog.value = true
@@ -383,12 +383,12 @@ const xuanZheZhenDuan = (val) => {
   }, 100)
 }
 const zhenDuanChaXunClick = () => {
-  searchYbDiag(zhenDuanQuery.value).then((res) => {
+  searchYbDiag(diagnosticQuery.value).then((res) => {
     queryZhenDuanData.value = res
   })
 }
 const pageZhenDuanChaXun = (val) => {
-  searchYbDiag(zhenDuanQuery.value).then((res) => {
+  searchYbDiag(diagnosticQuery.value).then((res) => {
     queryZhenDuanData.value = res
   })
 }
@@ -771,7 +771,7 @@ const init = () => {
       sortableOprninfo()
     }, 100)
   }
-  zhenDuanQuery.value.medType = props.data.medType
+  diagnosticQuery.value.medType = props.data.medType
 }
 
 /**

+ 0 - 2
src/components/si-sheet-upload/ShuJuDuiBi.vue

@@ -114,8 +114,6 @@ const props = defineProps({
 })
 const emit = defineEmits(['close'])
 const shuJuDuiBiDialog = ref(true)
-
-console.log(1)
 </script>
 
 <style scoped></style>

+ 2 - 9
src/views/medical-insurance/inpatient/AdmRegistration.vue

@@ -119,8 +119,8 @@
       </div>
       <Assignmentinfo v-if="showAssigninfo" :social-no="patient.socialNo" :admdvs="patient.admdvs" @close="showAssigninfo = false" />
     </el-main>
-    <el-dialog v-model="openXmlr" title="项目录入" :fullscreen="true" @close="closeXiangMuLuRuDialog">
-      <Xmlr :init="initProp" @closeXmlr="openXmlr = false" />
+    <el-dialog v-model="openXmlr" title="项目录入" :fullscreen="true" @close="openXmlr = false" destroy-on-close>
+      <Xmlr @closeXmlr="openXmlr = false" />
     </el-dialog>
     <el-dialog v-model="openYiZhuTuiFei" title="医嘱退费" :fullscreen="true">
       <YiZhuTuiFei :initYiZhu="initYiZhu" @closeYiZhuTuiFei="openYiZhuTuiFei = false" />
@@ -758,14 +758,9 @@ export default {
 
     // 项目录入
     const openXmlr = ref(false)
-    const initProp = ref(0)
     const xiangMuLuRuRouter = () => {
-      initProp.value += 1
       openXmlr.value = true
     }
-    const closeXiangMuLuRuDialog = () => {
-      openXmlr.value = false
-    }
 
     // 医嘱退费
     const initYiZhu = ref(0)
@@ -799,7 +794,6 @@ export default {
       diagItem,
       cptSex,
       openXmlr,
-      initProp,
       psnBaseinfo,
       injuryAreas,
       showPsnInsuinfo,
@@ -826,7 +820,6 @@ export default {
       beforeCancelRegister,
       formatYbRegisterDate,
       xiangMuLuRuRouter,
-      closeXiangMuLuRuDialog,
       yiZhuTuiFeiClick,
       openYiZhuTuiFei,
       initYiZhu,

+ 29 - 33
src/views/reports/JianYanJianChaZhanBi.vue

@@ -3,27 +3,23 @@
     <el-header height="36px" style="margin-top: 8px">
       日期范围:
       <el-date-picker
-          v-model="dateRange"
-          :shortcuts="shortcuts"
-          end-placeholder="结束日期"
-          range-separator="至"
-          start-placeholder="开始日期"
-          style="width: 260px"
-          type="daterange"
+        v-model="dateRange"
+        :shortcuts="shortcuts"
+        end-placeholder="结束日期"
+        range-separator="至"
+        start-placeholder="开始日期"
+        style="width: 260px"
+        type="daterange"
       ></el-date-picker>
       &nbsp;&nbsp;医保类别:
-      <el-select v-model="selectedResponces" clearable collapse-tags multiple placeholder="不选默认为全部医保"
-                 style="width: 180px">
+      <el-select v-model="selectedResponces" clearable collapse-tags multiple placeholder="不选默认为全部医保" style="width: 180px">
         <el-option v-for="item in responces" :key="item.code" :label="item.name" :value="item.code"></el-option>
       </el-select>
       <el-button icon="el-icon-search" type="primary" @click="chaXunJianYanJianChaClick">检索</el-button>
-      <el-button v-show="jianYanJianChaData.length > 0" icon="el-icon-download" type="primary" @click="exportExcel">
-        导出excel
-      </el-button>
+      <el-button v-show="jianYanJianChaData.length > 0" icon="el-icon-download" type="primary" @click="exportExcel"> 导出excel </el-button>
     </el-header>
     <el-main>
-      <el-table :data="jianYanJianChaData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
-                :height="tableHeight" highlight-current-row stripe>
+      <el-table :data="jianYanJianChaData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" :height="tableHeight" highlight-current-row stripe>
         <el-table-column label="姓名" prop="name"></el-table-column>
         <el-table-column label="住院号" prop="inpatientNo"></el-table-column>
         <el-table-column label="住院次数" prop="admissTimes"></el-table-column>
@@ -42,27 +38,27 @@
         </el-table-column>
       </el-table>
       <el-pagination
-          :current-page="currentPage"
-          :page-size="pageSize"
-          :page-sizes="[20, 30, 40, 50, 100]"
-          :total="jianYanJianChaData.length"
-          layout="total, sizes, prev, pager, next, jumper"
-          style="margin-top: 5px"
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-size="pageSize"
+        :page-sizes="[20, 30, 40, 50, 100]"
+        :total="jianYanJianChaData.length"
+        layout="total, sizes, prev, pager, next, jumper"
+        style="margin-top: 5px"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
       ></el-pagination>
     </el-main>
   </el-container>
 </template>
 
 <script>
-import {ref} from 'vue'
-import {shortcuts} from '@/data/shortcuts'
-import {chaXunJianYanJianCha} from '@/api/querydata/query-pay-service'
-import {getDateRangeFormatDate} from '@/utils/date'
-import {ElMessage} from 'element-plus'
+import { ref } from 'vue'
+import { shortcuts } from '@/data/shortcuts'
+import { chaXunJianYanJianCha } from '@/api/querydata/query-pay-service'
+import { getDateRangeFormatDate } from '@/utils/date'
+import { ElMessage } from 'element-plus'
 import store from '@/store'
-import {createWorkSheet, writeExcelFile} from '@/utils/excel'
+import { createWorkSheet, writeExcelFile } from '@/utils/excel'
 
 export default {
   setup() {
@@ -169,11 +165,11 @@ export default {
 
 function initResponces() {
   return [
-    {code: '02', name: '省医保'},
-    {code: '03', name: '市城居医保'},
-    {code: '04', name: '新农合'},
-    {code: '09', name: '市城职医保'},
-    {code: '10', name: '省医保-异地'},
+    { code: '02', name: '省医保' },
+    { code: '03', name: '市城居医保' },
+    { code: '04', name: '新农合' },
+    { code: '09', name: '市城职医保' },
+    { code: '10', name: '省医保-异地' },
   ]
 }
 </script>