Selaa lähdekoodia

结算单上传优化。

xiaochan 3 vuotta sitten
vanhempi
commit
68080d807e

+ 19 - 30
src/components/si-sheet-upload/BeiZhu.vue

@@ -1,42 +1,31 @@
 <template>
-  <el-dialog v-model="beiZhuDialog" title="备注">
+  <el-dialog v-model="beiZhuDialog" title="备注" @closed="emit('close')">
     <el-input type="textarea" v-model="beiZhu"></el-input>
     <el-divider></el-divider>
     <el-button type="success" @click="baoCunClick">保存</el-button>
   </el-dialog>
 </template>
 
-<script>
-import {ref} from "vue";
-import {setlModifyReq} from "../../api/medical-insurance/si-setl-upload";
+<script setup name="BeiZhu">
+import { ref } from 'vue'
+import { setlModifyReq } from '../../api/medical-insurance/si-setl-upload'
 
-export default {
-  name: "BeiZhu",
-  emits: ['baoCunHouGuanBi'],
-  props: {
-    data: {}
-  },
-  setup(props, {emit}) {
-    const beiZhuDialog = ref(false)
-    const beiZhu = ref('')
+const emit = defineEmits(['baoCunHouGuanBi', 'close'])
+const props = defineProps({
+  data: {},
+})
 
-    const baoCunClick = () => {
-      props.data.reqRemark = beiZhu.value
-      setlModifyReq(props.data).then((res) => {
-        beiZhuDialog.value = false
-        emit('baoCunHouGuanBi')
-        beiZhu.value = ''
-      })
-    }
-    return {
-      beiZhuDialog,
-      baoCunClick,
-      beiZhu,
-    }
-  }
+const beiZhuDialog = $ref(true)
+const beiZhu = ref('')
+
+const baoCunClick = () => {
+  props.data.reqRemark = beiZhu.value
+  setlModifyReq(props.data).then((res) => {
+    emit('close')
+    emit('baoCunHouGuanBi')
+    beiZhu.value = ''
+  })
 }
 </script>
 
-<style scoped>
-
-</style>
+<style scoped></style>

+ 551 - 663
src/components/si-sheet-upload/JieSuanDanXiangQing.vue

@@ -1,17 +1,17 @@
 <template>
   <el-container>
-    <el-dialog v-model="huanZheXinXiDialog" fullscreen>
+    <el-dialog v-model="huanZheXinXiDialog" fullscreen title="修改信息" @closed="emit('close')">
       <el-descriptions :column="4" border style="width: 100%" title="基本信息">
         <template #extra>
           <el-button type="info" @click="shenHeClick">审核信息</el-button>
           <el-button size="small" type="primary" @click="shuJuDuiBi">数据对比</el-button>
           <el-button size="small" type="success" @click="baoCunXiuGai">保存修改</el-button>
-          <bei-zhu ref="beiZhuRef" :data="baoCunXiuGaiData" @baoCunHouGuanBi="baoCunHouGuanBi"></bei-zhu>
+          <bei-zhu v-if="beiZhuRef" :data="baoCunXiuGaiData" @close="beiZhuRef = false" @baoCunHouGuanBi="baoCunHouGuanBi"></bei-zhu>
         </template>
         <el-descriptions-item label="姓名">
           {{ setlinfo.name }}
           <el-button @click="feiYongDrawer">{{ setlinfo.outDeptName }}</el-button>
-          <ke-shi-fei-yong ref="keShiFeiYongRef"></ke-shi-fei-yong>
+          <ke-shi-fei-yong v-if="keShiFeiYongRef" @close="keShiFeiYongRef = false" :patNo="setlinfo.inpatientNo" :times="setlinfo.admissTimes"></ke-shi-fei-yong>
         </el-descriptions-item>
         <el-descriptions-item label="性别">
           {{ cptSex(setlinfo.sex) }}
@@ -20,7 +20,12 @@
           {{ setlinfo.inpatientNo }}
         </el-descriptions-item>
         <el-descriptions-item label="医保身份">
-          {{ setlinfo.responceTypeName }}
+          <el-tag type="success" effect="dark">
+            {{ setlinfo.responceTypeName }}
+          </el-tag>
+          <el-tag type="warning" effect="dark">
+            {{ setlinfo.insutypeName }}
+          </el-tag>
         </el-descriptions-item>
         <el-descriptions-item label="住院次数">
           {{ setlinfo.admissTimes }}
@@ -32,8 +37,7 @@
           {{ setlinfo.disDiag }}
         </el-descriptions-item>
         <el-descriptions-item label="治疗方式">
-          <el-select v-model="setlinfo.operation" filterable style="width: 220px;"
-          >
+          <el-select v-model="setlinfo.operation" filterable style="width: 220px">
             <el-option v-for="item in operations" :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>
@@ -51,10 +55,8 @@
           {{ setlinfo.disDiagComment }}
         </el-descriptions-item>
         <el-descriptions-item label="申报类型">
-          <el-select v-model="setlinfo.decType" clearable filterable style="width: 150px;"
-          >
-            <el-option v-for="item in decTypes" :key="item.code" :disabled="item.dis" :label="item.name"
-                       :value="item.code">
+          <el-select v-model="setlinfo.decType" clearable filterable style="width: 150px">
+            <el-option v-for="item in decTypes" :key="item.code" :disabled="item.dis" :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>
@@ -70,8 +72,7 @@
       <el-tag size="small">住院诊断信息</el-tag>
       <el-button icon="el-icon-circle-plus" type="success" @click="addZhenDuanClick">新增诊断</el-button>
       入院病情: 1.有,2.临床未确定,3.情况不明,4.无
-      <el-table id="sortable-diseinfo" :data="diseinfo" :height="store.state.app.windowSize.h / 2.5" highlight-current-row
-                row-key="id" stripe>
+      <el-table id="sortable-diseinfo" :data="diseinfo" :height="store.state.app.windowSize.h / 2.5" highlight-current-row row-key="id" stripe>
         <el-table-column width="50">
           <template #default>
             <el-button class="shangxiatuodong"><i class="iconfont icon-shangxiatuodong"></i></el-button>
@@ -79,6 +80,7 @@
         </el-table-column>
         <el-table-column label="诊断代码" prop="disDiag"></el-table-column>
         <el-table-column label="诊断名称" prop="disDiagComment"></el-table-column>
+        <el-table-column label="手术分值" prop="ssfz"></el-table-column>
         <el-table-column label="入院病情" prop="admissCond" width="90">
           <template #default="scope">
             {{ getAdmissCond(scope.row.admissCond) }}
@@ -93,23 +95,19 @@
           <template #default="scope">
             {{ scope.row.disDiagNo }}
             &nbsp;&nbsp;&nbsp;
-            <el-button v-if="scope.row.disDiagNo !== 1" type="primary"
-                       @click="sheZhiZhuZhenDuan(scope.$index,scope.row.disDiagNo)">
-              设为主诊断
-            </el-button>
+            <el-button v-if="scope.row.disDiagNo !== 1" type="primary" @click="sheZhiZhuZhenDuan(scope.$index, scope.row.disDiagNo)"> 设为主诊断 </el-button>
           </template>
         </el-table-column>
         <el-table-column label="删除">
           <template #default="scope">
-            <el-button icon="el-icon-edit" type="warning" @click="xiuGaiZhenDuanClick(scope.$index,scope.row)">修改
-            </el-button>
+            <el-button icon="el-icon-edit" type="warning" @click="xiuGaiZhenDuanClick(scope.$index, scope.row)">修改 </el-button>
             <el-popconfirm
-                cancel-button-text="取消"
-                confirm-button-text="确认"
-                icon="el-icon-info"
-                iconColor="#F56C6C"
-                title="是否删除该诊断"
-                @confirm="delZhenDuan(scope.$index,scope.row.disDiagNo)"
+              cancel-button-text="取消"
+              confirm-button-text="确认"
+              icon="el-icon-info"
+              iconColor="#F56C6C"
+              title="是否删除该诊断"
+              @confirm="delZhenDuan(scope.$index, scope.row.disDiagNo)"
             >
               <template #reference>
                 <el-button icon="el-icon-delete" size="mini" type="danger">删除</el-button>
@@ -120,8 +118,7 @@
       </el-table>
       <el-tag size="small">手术操作信息</el-tag>
       <el-button icon="el-icon-circle-plus" type="success" @click="tianJiaXiuGaiShouShu(-1)">新增手术</el-button>
-      <el-table id="sortable-oprninfo" :data="oprninfo"
-                :height="store.state.app.windowSize.h / 2.5" highlight-current-row row-key="id" stripe>
+      <el-table id="sortable-oprninfo" :data="oprninfo" :height="store.state.app.windowSize.h / 2.5" highlight-current-row row-key="id" stripe>
         <el-table-column width="50">
           <template #default>
             <el-button class="shangxiatuodong"><i class="iconfont icon-shangxiatuodong"></i></el-button>
@@ -151,14 +148,7 @@
         <el-table-column label="操作" width="210">
           <template #default="scope">
             <el-button icon="el-icon-edit" type="warning" @click="tianJiaXiuGaiShouShu(scope.$index)">修改</el-button>
-            <el-popconfirm
-                cancel-button-text="取消"
-                confirm-button-text="确认"
-                icon="el-icon-info"
-                iconColor="#F56C6C"
-                title="是否删除该手术"
-                @confirm="delShouShu(scope.$index)"
-            >
+            <el-popconfirm cancel-button-text="取消" confirm-button-text="确认" icon="el-icon-info" iconColor="#F56C6C" title="是否删除该手术" @confirm="delShouShu(scope.$index)">
               <template #reference>
                 <el-button icon="el-icon-delete" size="mini" type="danger">删除</el-button>
               </template>
@@ -168,21 +158,17 @@
       </el-table>
     </el-dialog>
     <el-dialog v-model="zhenDuanDialog" width="60%">
-      <el-select v-model="zhenDuanQuery.method" filterable style="width: 100px;"
-      >
+      <el-select v-model="zhenDuanQuery.method" filterable style="width: 100px">
         <el-option v-for="item in methods" :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-input v-model="zhenDuanQuery.content" clearable style="width: 120px"
-                @keyup.enter="zhenDuanChaXunClick"></el-input>
+      <el-input v-model="zhenDuanQuery.content" clearable style="width: 120px" @keyup.enter="zhenDuanChaXunClick"></el-input>
       <el-button icon="el-icon-search" type="primary" @click="zhenDuanChaXunClick">查询</el-button>
       诊断类别:
-      <el-select v-model="lingShiZhenDuan.siDiagType"
-                 style="width: 120px;"
-      >
+      <el-select v-model="lingShiZhenDuan.siDiagType" style="width: 120px">
         <el-option v-for="item in siDiagTypes" :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>
@@ -190,9 +176,7 @@
         </el-option>
       </el-select>
       入院病情:
-      <el-select v-model="lingShiZhenDuan.admissCond"
-                 style="width: 60px;"
-      >
+      <el-select v-model="lingShiZhenDuan.admissCond" style="width: 60px">
         <el-option v-for="item in admissCondData" :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>
@@ -200,33 +184,32 @@
         </el-option>
       </el-select>
 
-      <el-table :data="queryZhenDuanData" height="450px"
-                highlight-current-row stripe>
+      <el-table :data="queryZhenDuanData" height="450px" highlight-current-row stripe>
         <el-table-column label="编码" prop="code"></el-table-column>
         <el-table-column label="名称" prop="name"></el-table-column>
         <el-table-column label="操作">
           <template #default="scope">
             <el-popconfirm
-                v-if="addZhenDuanFlag"
-                cancel-button-text="取消"
-                confirm-button-text="确认"
-                icon="el-icon-info"
-                iconColor="#67C23A"
-                title="是否添加该诊断"
-                @confirm="addZhenDuan(scope.row)"
+              v-if="addZhenDuanFlag"
+              cancel-button-text="取消"
+              confirm-button-text="确认"
+              icon="el-icon-info"
+              iconColor="#67C23A"
+              title="是否添加该诊断"
+              @confirm="addZhenDuan(scope.row)"
             >
               <template #reference>
                 <el-button icon="el-icon-circle-plus" size="mini" type="success">新增</el-button>
               </template>
             </el-popconfirm>
             <el-popconfirm
-                v-else
-                cancel-button-text="取消"
-                confirm-button-text="确认"
-                icon="el-icon-info"
-                iconColor="#E6A23C"
-                title="是否修改为该诊断"
-                @confirm="xuanZheZhenDuan(scope.row)"
+              v-else
+              cancel-button-text="取消"
+              confirm-button-text="确认"
+              icon="el-icon-info"
+              iconColor="#E6A23C"
+              title="是否修改为该诊断"
+              @confirm="xuanZheZhenDuan(scope.row)"
             >
               <template #reference>
                 <el-button icon="el-icon-edit" size="mini" type="warning">修改</el-button>
@@ -235,10 +218,9 @@
           </template>
         </el-table-column>
       </el-table>
-      <br>
-      <el-button :disabled="zhenDuanQuery.page === 1" @click="pageZhenDuanChaXun(zhenDuanQuery.page -= 1)">上一页
-      </el-button>
-      <el-button @click="pageZhenDuanChaXun(zhenDuanQuery.page += 1)">下一页</el-button>
+      <br />
+      <el-button :disabled="zhenDuanQuery.page === 1" @click="pageZhenDuanChaXun((zhenDuanQuery.page -= 1))">上一页 </el-button>
+      <el-button @click="pageZhenDuanChaXun((zhenDuanQuery.page += 1))">下一页</el-button>
     </el-dialog>
     <!--    这里都是手术的了  -->
     <el-dialog v-model="shouShuDialog" title="修改或添加手术">
@@ -295,7 +277,7 @@
     </el-dialog>
     <el-dialog v-model="queryShouShuDialog" :title="queryShouShuCodeName">
       {{ queryShouShuCodeName }} :
-      <el-input v-model="queryShouShuCodeData.code" style="width: 120px;" @keyup.enter="queryShouShuClick"></el-input>
+      <el-input v-model="queryShouShuCodeData.code" style="width: 120px" @keyup.enter="queryShouShuClick"></el-input>
       <el-button type="primary" @click="queryShouShuClick">查询</el-button>
       <el-table :data="shouShuData">
         <el-table-column label="编码" prop="code"></el-table-column>
@@ -306,646 +288,552 @@
           </template>
         </el-table-column>
       </el-table>
-      <el-pagination
-          :total="queryShouShuCodeData.total"
-          layout="total,  prev, pager, next"
-          @current-change="shouShuCurrentPage"
-      >
-      </el-pagination>
+      <el-pagination :total="queryShouShuCodeData.total" layout="total,  prev, pager, next" @current-change="shouShuCurrentPage"> </el-pagination>
     </el-dialog>
-    <shu-ju-dui-bi ref="shuJuDuiBiDialogRef"
-                   :new-bat="props.data.newBatjBa4"
-                   :newYbZyDisDiag="props.data.newYbZyDisDiag"
-                   :oldBat="props.data.batjBa4"
-                   :oldYbZyDisDiag="props.data.ybZyDisDiag"></shu-ju-dui-bi>
-    <shen-he-xin-xi ref="shenHeRef" :data="props.data.shenHeXinXi"></shen-he-xin-xi>
+    <shu-ju-dui-bi
+      v-if="shuJuDuiBiDialogRef"
+      @close="shuJuDuiBiDialogRef = false"
+      :new-bat="props.data.newBatjBa4"
+      :newYbZyDisDiag="props.data.newYbZyDisDiag"
+      :oldBat="props.data.batjBa4"
+      :oldYbZyDisDiag="props.data.ybZyDisDiag"
+    ></shu-ju-dui-bi>
+    <shen-he-xin-xi v-if="shenHeRef" @close="shenHeRef = false" :data="props.data.shenHeXinXi"></shen-he-xin-xi>
   </el-container>
 </template>
 
-<script>
-import {ref, unref, watch} from "vue";
+<script setup name="JieSuanDanXiangQing">
 import store from '@/store'
-import {cptSex} from "../../utils/computed";
-import {searchYbDiag} from "../../api/yibao/dictionary";
-import {decTypes, operations} from '../../data'
-import {clone} from "../../utils/clone";
-import {ElMessage, ElMessageBox} from "element-plus";
-import {getRenYuan} from "../../api/public-api";
-import {setlUploadAudit, shouShuBianMa, upldSetlList} from "../../api/medical-insurance/si-setl-upload";
-import {formatDatetime} from "../../utils/date";
-import {listIsBlank, stringIsBlank, stringNotBlank} from "../../utils/blank-utils";
-import ShuJuDuiBi from "./ShuJuDuiBi.vue"
-import {
-  getAdmissCond,
-  getsiDiagTypeName,
-  maZuiFangShis,
-  maZuiName,
-  qieKouName,
-  qks,
-  shenHeQuanXian
-} from "./jieSuanDanXiuGai";
-import ShenHeXinXi from "./ShenHeXinXi.vue";
-import KeShiFeiYong from "./KeShiFeiYong.vue";
-import BeiZhu from "./BeiZhu.vue";
-import Sortable from "sortablejs";
-
-export default {
-  name: "JieSuanDanXiangQing",
-  components: {BeiZhu, KeShiFeiYong, ShenHeXinXi, ShuJuDuiBi},
-  props: {
-    data: {}
-  },
-  setup(props, ctx) {
-    // 基本信息
-    const setlinfo = ref({})
-    // 住院诊断信息
-    const diseinfo = ref([])
-    // 手术操作信息
-    const oprninfo = ref([])
-    const huanZheXinXiDialog = ref(false)
-
-    const code = store.state.user.info.code
-    const name = store.state.user.info.name
-
-    const openDialog = (val) => {
-      huanZheXinXiDialog.value = val
-    }
-    /*以下全部都是诊断*/
-    const zhenDuanQuery = ref({
-      method: 'name',
-      target: 'diag',
-      // 内容
-      content: '',
-      medType: '',
-      // 当前页
-      page: 1
-    })
-    const lingShiZhenDuan = ref({
-      disDiag: '',
-      disDiagComment: '',
-      admissCond: '',
-      siDiagType: ''
+import { cptSex } from '../../utils/computed'
+import { searchYbDiag } from '../../api/yibao/dictionary'
+import { decTypes, operations } from '../../data'
+import { clone } from '../../utils/clone'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { getRenYuan } from '../../api/public-api'
+import { setlUploadAudit, shouShuBianMa, upldSetlList } from '../../api/medical-insurance/si-setl-upload'
+import { formatDatetime } from '../../utils/date'
+import { listIsBlank, stringIsBlank, stringNotBlank } from '../../utils/blank-utils'
+import ShuJuDuiBi from './ShuJuDuiBi.vue'
+import { getAdmissCond, getsiDiagTypeName, maZuiFangShis, maZuiName, qieKouName, qks, shenHeQuanXian } from './jieSuanDanXiuGai'
+import ShenHeXinXi from './ShenHeXinXi.vue'
+import KeShiFeiYong from './KeShiFeiYong.vue'
+import BeiZhu from './BeiZhu.vue'
+import Sortable from 'sortablejs'
+
+const props = defineProps({
+  data: {},
+})
+
+const emit = defineEmits(['close'])
+
+// 基本信息
+const setlinfo = ref({})
+// 住院诊断信息
+const diseinfo = ref([])
+// 手术操作信息
+const oprninfo = ref([])
+const huanZheXinXiDialog = ref(true)
+
+const code = store.state.user.info.code
+const name = store.state.user.info.name
+
+/*以下全部都是诊断*/
+const zhenDuanQuery = ref({
+  method: 'name',
+  target: 'diag',
+  // 内容
+  content: '',
+  medType: '',
+  // 当前页
+  page: 1,
+})
+const lingShiZhenDuan = ref({
+  disDiag: '',
+  disDiagComment: '',
+  admissCond: '',
+  siDiagType: '',
+})
+
+const zhenDuanDialog = ref(false)
+const addZhenDuanFlag = ref(false)
+let zhenDuanIndex = 0
+const xiuGaiZhenDuanClick = (index, val) => {
+  queryZhenDuanData.value = []
+  zhenDuanQuery.value.content = val.disDiagComment
+  lingShiZhenDuan.value = val
+  addZhenDuanFlag.value = false
+  zhenDuanDialog.value = true
+  zhenDuanIndex = index
+  diseinfo.value.forEach((item, index) => {
+    item.disDiagNo = index + 1
+  })
+}
+const queryZhenDuanData = ref([])
+const xuanZheZhenDuan = (val) => {
+  if (zhenDuanTianJiaTiaoJian()) return
+  diseinfo.value[zhenDuanIndex].disDiag = val.code
+  diseinfo.value[zhenDuanIndex].disDiagComment = val.name
+  setTimeout(() => {
+    ElMessage({
+      message: '修改成功',
+      type: 'success',
+      showClose: true,
     })
+    zhenDuanDialog.value = false
+  }, 100)
+}
+const zhenDuanChaXunClick = () => {
+  searchYbDiag(zhenDuanQuery.value).then((res) => {
+    queryZhenDuanData.value = res
+  })
+}
+const pageZhenDuanChaXun = (val) => {
+  searchYbDiag(zhenDuanQuery.value).then((res) => {
+    queryZhenDuanData.value = res
+  })
+}
 
-    const zhenDuanDialog = ref(false)
-    const addZhenDuanFlag = ref(false)
-    let zhenDuanIndex = 0
-    const xiuGaiZhenDuanClick = (index, val) => {
-      queryZhenDuanData.value = []
-      zhenDuanQuery.value.content = val.disDiagComment
-      lingShiZhenDuan.value = val
-      addZhenDuanFlag.value = false
-      zhenDuanDialog.value = true
-      zhenDuanIndex = index
-      diseinfo.value.forEach((item, index) => {
-        item.disDiagNo = index + 1
-      })
-    }
-    const queryZhenDuanData = ref([])
-    const xuanZheZhenDuan = (val) => {
-      if (zhenDuanTianJiaTiaoJian()) return
-      diseinfo.value[zhenDuanIndex].disDiag = val.code
-      diseinfo.value[zhenDuanIndex].disDiagComment = val.name
-      setTimeout(() => {
-        ElMessage({
-          message: "修改成功",
-          type: "success",
-          showClose: true,
-        })
-        zhenDuanDialog.value = false
-      }, 100)
-    }
-    const zhenDuanChaXunClick = () => {
-      zhenDuanQuery.value.page = 1
-      searchYbDiag(zhenDuanQuery.value).then((res) => {
-        queryZhenDuanData.value = res
-      })
-    }
-    const pageZhenDuanChaXun = (val) => {
-      searchYbDiag(zhenDuanQuery.value).then((res) => {
-        queryZhenDuanData.value = res
-      })
-    }
-
-    const sheZhiZhuZhenDuan = (index, val) => {
-      let data = []
-      for (let item of diseinfo.value) {
-        if (val !== item.disDiagNo) {
-          data.push(item)
-        }
-      }
-      data.unshift(diseinfo.value[index])
-      for (let i = 0; i < data.length; i++) {
-        data[i].disDiagNo = i + 1
-      }
-      diseinfo.value = data
-    }
-
-    const addZhenDuanClick = () => {
-      lingShiZhenDuan.value = {
-        disDiag: '',
-        disDiagComment: '',
-        admissCond: '',
-        siDiagType: '',
-        id: null,
-      }
-      queryZhenDuanData.value = []
-      addZhenDuanFlag.value = true
-      zhenDuanDialog.value = true
-    }
-    const addZhenDuan = (val) => {
-      if (zhenDuanTianJiaTiaoJian()) return
-      lingShiZhenDuan.value.disDiag = val.code
-      lingShiZhenDuan.value.id = diseinfo.value.length + 1
-      lingShiZhenDuan.value.disDiagComment = val.name
-      lingShiZhenDuan.value.disDiagNo = diseinfo.value.length + 1
-      lingShiZhenDuan.value.newData = true
-      diseinfo.value.push(lingShiZhenDuan.value)
-      zhenDuanDialog.value = false
-      setTimeout(() => {
-        sortableDiseinfo()
-      }, 100)
-    }
-    const delZhenDuan = (index, val) => {
-      diseinfo.value.splice(index, 1)
-      for (let i = 0; i < diseinfo.value.length; i++) {
-        diseinfo.value[i].disDiagNo = i + 1
-      }
-    }
-
-    function zhenDuanTianJiaTiaoJian() {
-      if (stringIsBlank(lingShiZhenDuan.value.siDiagType)) {
-        ElMessage.error("请先选择诊断类别")
-        return true
-      }
-      if (stringIsBlank(lingShiZhenDuan.value.admissCond)) {
-        ElMessage.error("请先选择入院院病情")
-        return true
-      }
-      return false
+const sheZhiZhuZhenDuan = (index, val) => {
+  let data = []
+  for (let item of diseinfo.value) {
+    if (val !== item.disDiagNo) {
+      data.push(item)
     }
+  }
+  data.unshift(diseinfo.value[index])
+  for (let i = 0; i < data.length; i++) {
+    data[i].disDiagNo = i + 1
+  }
+  diseinfo.value = data
+}
 
-    /*诊断结束*/
-
-    /*一下都是手术的*/
-    const shouShuDialog = ref(false)
-    const formShouShu = ref({
-      id: 0,
-      ssxh: 0,
-      ssmc: '',
-      ssrq: '',
-      ssjb: '',
-      ssbm: '',
-      ssys: '',
-      ssysName: '',
-      sszs1: '',
-      sszsName1: '',
-      sszs2: '',
-      sszsName2: '',
-      qkjb: '',
-      yhqk: '',
-      qkName: '',
-      mzff: '',
-      mzys: '',
-      mzysName: '',
-    })
-    const formShouShuRef = ref(null)
-    const formShouShuCz = ref({})
-    formShouShuCz.value = clone(formShouShu.value)
-    // 限制
-    const shouShuRules = ref({
-      ssmc: [{required: true, message: '该项不能为空', trigger: 'blur'}],
-      ssrq: [{required: true, message: '该项不能为空', trigger: 'blur'}],
-      ssjb: [{required: true, message: '该项不能为空', trigger: 'blur'}],
-      ssbm: [{required: true, message: '该项不能为空', trigger: 'blur'}],
-      ssysName: [{required: true, message: '该项不能为空', trigger: 'blur'}],
-      qkName: [{required: true, message: '该项不能为空', trigger: 'blur'}],
-    })
+const addZhenDuanClick = () => {
+  lingShiZhenDuan.value = {
+    disDiag: '',
+    disDiagComment: '',
+    admissCond: '',
+    siDiagType: '',
+    id: null,
+  }
+  queryZhenDuanData.value = []
+  addZhenDuanFlag.value = true
+  zhenDuanDialog.value = true
+}
+const addZhenDuan = (val) => {
+  if (zhenDuanTianJiaTiaoJian()) return
+  lingShiZhenDuan.value.disDiag = val.code
+  lingShiZhenDuan.value.id = diseinfo.value.length + 1
+  lingShiZhenDuan.value.disDiagComment = val.name
+  lingShiZhenDuan.value.disDiagNo = diseinfo.value.length + 1
+  lingShiZhenDuan.value.newData = true
+  diseinfo.value.push(lingShiZhenDuan.value)
+  zhenDuanDialog.value = false
+  setTimeout(() => {
+    sortableDiseinfo()
+  }, 100)
+}
+const delZhenDuan = (index, val) => {
+  diseinfo.value.splice(index, 1)
+  for (let i = 0; i < diseinfo.value.length; i++) {
+    diseinfo.value[i].disDiagNo = i + 1
+  }
+}
 
-    const oprninfoIndex = ref(-1)
-    const tianJiaXiuGaiShouShu = (index) => {
-      if (index !== -1) {
-        formShouShu.value = clone(oprninfo.value[index])
-      } else {
-        formShouShu.value = clone(formShouShuCz.value)
-      }
-      oprninfoIndex.value = index
-      shouShuDialog.value = true
-    }
+function zhenDuanTianJiaTiaoJian() {
+  if (stringIsBlank(lingShiZhenDuan.value.siDiagType)) {
+    ElMessage.error('请先选择诊断类别')
+    return true
+  }
+  if (stringIsBlank(lingShiZhenDuan.value.admissCond)) {
+    ElMessage.error('请先选择入院院病情')
+    return true
+  }
+  return false
+}
 
-    const queryShouShuCodeData = ref({
-      code: '',
-      page: 1,
-      total: 0
-    })
-    const queryShouShuCodeName = ref("手术编码")
-    const queryShouShuDialog = ref(false)
-    const shouShuData = ref([])
-    const queryShouShu = (val) => {
-      queryShouShuCodeName.value = val
-      queryShouShuDialog.value = true
-      queryShouShuCodeData.value.code = ''
-      shouShuData.value = []
-    }
-    const queryShouShuClick = () => {
-      if (queryShouShuCodeName.value.length < 1) {
-        return
-      }
-      switch (queryShouShuCodeName.value) {
-        case '手术编码':
-          shouShuBianMa(queryShouShuCodeData.value.code, 1).then((res) => {
-            shouShuData.value = res.records
-            queryShouShuCodeData.value.total = res.total
-          })
-          return
-        default:
-          getRenYuan(queryShouShuCodeData.value.code).then((res) => {
-            shouShuData.value = res
-            queryShouShuCodeData.value.total = 0
-          })
-          return;
-      }
-    }
+/*诊断结束*/
+
+/*一下都是手术的*/
+const shouShuDialog = ref(false)
+const formShouShu = ref({
+  id: 0,
+  ssxh: 0,
+  ssmc: '',
+  ssrq: '',
+  ssjb: '',
+  ssbm: '',
+  ssys: '',
+  ssysName: '',
+  sszs1: '',
+  sszsName1: '',
+  sszs2: '',
+  sszsName2: '',
+  qkjb: '',
+  yhqk: '',
+  qkName: '',
+  mzff: '',
+  mzys: '',
+  mzysName: '',
+})
+const formShouShuRef = ref(null)
+const formShouShuCz = ref({})
+formShouShuCz.value = clone(formShouShu.value)
+// 限制
+const shouShuRules = ref({
+  ssmc: [{ required: true, message: '该项不能为空', trigger: 'blur' }],
+  ssrq: [{ required: true, message: '该项不能为空', trigger: 'blur' }],
+  ssjb: [{ required: true, message: '该项不能为空', trigger: 'blur' }],
+  ssbm: [{ required: true, message: '该项不能为空', trigger: 'blur' }],
+  ssysName: [{ required: true, message: '该项不能为空', trigger: 'blur' }],
+  qkName: [{ required: true, message: '该项不能为空', trigger: 'blur' }],
+})
+
+const oprninfoIndex = ref(-1)
+const tianJiaXiuGaiShouShu = (index) => {
+  if (index !== -1) {
+    formShouShu.value = clone(oprninfo.value[index])
+  } else {
+    formShouShu.value = clone(formShouShuCz.value)
+  }
+  oprninfoIndex.value = index
+  shouShuDialog.value = true
+}
 
-    const shouShuCurrentPage = (val) => {
-      queryShouShuCodeData.value.page = val
-      shouShuBianMa(queryShouShuCodeData.value.code, queryShouShuCodeData.value.page).then((res) => {
+const queryShouShuCodeData = ref({
+  code: '',
+  page: 1,
+  total: 0,
+})
+const queryShouShuCodeName = ref('手术编码')
+const queryShouShuDialog = ref(false)
+const shouShuData = ref([])
+const queryShouShu = (val) => {
+  queryShouShuCodeName.value = val
+  queryShouShuDialog.value = true
+  queryShouShuCodeData.value.code = ''
+  shouShuData.value = []
+}
+const queryShouShuClick = () => {
+  if (queryShouShuCodeName.value.length < 1) {
+    return
+  }
+  switch (queryShouShuCodeName.value) {
+    case '手术编码':
+      shouShuBianMa(queryShouShuCodeData.value.code, 1).then((res) => {
         shouShuData.value = res.records
         queryShouShuCodeData.value.total = res.total
       })
-    }
+      return
+    default:
+      getRenYuan(queryShouShuCodeData.value.code).then((res) => {
+        shouShuData.value = res
+        queryShouShuCodeData.value.total = 0
+      })
+      return
+  }
+}
 
-    const xuanZheShouShu = (val) => {
-      switch (queryShouShuCodeName.value) {
-        case '手术编码':
-          formShouShu.value.ssbm = val.code
-          formShouShu.value.ssmc = val.name
-          break;
-        case '术者':
-          formShouShu.value.ssys = val.code
-          formShouShu.value.ssysName = val.name
-          break;
-        case 'I助':
-          formShouShu.value.sszs1 = val.code
-          formShouShu.value.sszsName1 = val.name
-          break;
-        case 'II助':
-          formShouShu.value.sszs2 = val.code
-          formShouShu.value.sszsName2 = val.name
-          break;
-        case '麻醉医生':
-          formShouShu.value.mzys = val.code
-          formShouShu.value.mzysName = val.name
-          break;
-      }
-      setTimeout(() => {
-        queryShouShuDialog.value = false
-      }, 400)
-    }
+const shouShuCurrentPage = (val) => {
+  queryShouShuCodeData.value.page = val
+  shouShuBianMa(queryShouShuCodeData.value.code, queryShouShuCodeData.value.page).then((res) => {
+    shouShuData.value = res.records
+    queryShouShuCodeData.value.total = res.total
+  })
+}
 
-    const formQieKou = (val) => {
-      formShouShu.value.qkjb = val.split('/')[0]
-      formShouShu.value.yhqk = val.split('/')[1]
-    }
+const xuanZheShouShu = (val) => {
+  switch (queryShouShuCodeName.value) {
+    case '手术编码':
+      formShouShu.value.ssbm = val.code
+      formShouShu.value.ssmc = val.name
+      break
+    case '术者':
+      formShouShu.value.ssys = val.code
+      formShouShu.value.ssysName = val.name
+      break
+    case 'I助':
+      formShouShu.value.sszs1 = val.code
+      formShouShu.value.sszsName1 = val.name
+      break
+    case 'II助':
+      formShouShu.value.sszs2 = val.code
+      formShouShu.value.sszsName2 = val.name
+      break
+    case '麻醉医生':
+      formShouShu.value.mzys = val.code
+      formShouShu.value.mzysName = val.name
+      break
+  }
+  setTimeout(() => {
+    queryShouShuDialog.value = false
+  }, 400)
+}
 
-    const addShouShuClick = async () => {
-      let form = unref(formShouShuRef)
-      if (!form) return
-      try {
-        await form.validate()
-        formShouShu.value.ssrq = formatDatetime(formShouShu.value.ssrq)
-        if (oprninfoIndex.value !== -1) {
-          oprninfo.value[oprninfoIndex.value] = clone(formShouShu.value)
-        } else {
-          // 只有在新增的 时候才需要 加长度
-          formShouShu.value.id = oprninfo.value.length + 1
-          formShouShu.value.ssxh = oprninfo.value.length + 1
-          formShouShu.value.newData = true
-          oprninfo.value.push(clone(formShouShu.value))
-        }
-        shouShuDialog.value = false
-        setTimeout(() => {
-          sortableOprninfo()
-        }, 100)
-      } catch (e) {
-      }
-    }
+const formQieKou = (val) => {
+  formShouShu.value.qkjb = val.split('/')[0]
+  formShouShu.value.yhqk = val.split('/')[1]
+}
 
-    const delShouShu = (index) => {
-      oprninfo.value.splice(index, 1)
-      oprninfo.value.forEach((item, index) => {
-        item.ssxh = index + 1
-      })
-      ElMessage.success("删除成功。")
-    }
-    /*手术结束*/
-
-    /* 提交审核信息 */
-    const baoCunXiuGaiData = ref({})
-    const beiZhuRef = ref(null)
-    const baoCunHouGuanBi = () => {
-      huanZheXinXiDialog.value = false
-      ctx.emit('shua-xin')
-    }
-    const baoCunXiuGai = () => {
-      if ((setlinfo.value.operation === '1' || setlinfo.value.operation === '2' || setlinfo.value.operation === '3')) {
-        if (listIsBlank(oprninfo.value)) {
-          return ElMessage.error("选择治疗类型为手术的,至少要有一个手术。")
-        }
-      } else if (oprninfo.value.length > 7) {
-        return ElMessage.error("手术不能超过7个。")
-      }
-      if (listIsBlank(diseinfo.value)) {
-        return ElMessage.error("诊断不能为空切不能大于27个。")
-      } else if (diseinfo.value.length > 27) {
-        return ElMessage.error("诊断超过27个。")
-      }
-      let data = setlinfo.value
-      data['opIdCode'] = code
-      data['opIdName'] = name
-      data.batjBa4 = oprninfo.value
-      data.ybZyDisDiag = diseinfo.value
-      baoCunXiuGaiData.value = data
-      beiZhuRef.value.beiZhuDialog = true
+const addShouShuClick = async () => {
+  let form = unref(formShouShuRef)
+  if (!form) return
+  try {
+    await form.validate()
+    formShouShu.value.ssrq = formatDatetime(formShouShu.value.ssrq)
+    if (oprninfoIndex.value !== -1) {
+      oprninfo.value[oprninfoIndex.value] = clone(formShouShu.value)
+    } else {
+      // 只有在新增的 时候才需要 加长度
+      formShouShu.value.id = oprninfo.value.length + 1
+      formShouShu.value.ssxh = oprninfo.value.length + 1
+      formShouShu.value.newData = true
+      oprninfo.value.push(clone(formShouShu.value))
     }
-    /* 提交审核信息 */
-
-    /* 查看审核信息 */
-    const shenHeRef = ref(null)
-    const keFouShenHe = ref(false)
-    watch(() => props.data.shenHeXinXi,
-        () => {
-          keFouShenHe.value = !(stringNotBlank(props.data.shenHeXinXi.id)
-              && props.data.shenHeXinXi.auditFlag === 0);
-        })
+    shouShuDialog.value = false
+    setTimeout(() => {
+      sortableOprninfo()
+    }, 100)
+  } catch (e) {}
+}
 
-    const shenHeClick = () => {
-      if (stringIsBlank(props.data.shenHeXinXi.id)) {
-        return ElMessage.error("您还没有进行申请。")
-      }
-      shenHeRef.value.shenHeDialogOpen(true)
+const delShouShu = (index) => {
+  oprninfo.value.splice(index, 1)
+  oprninfo.value.forEach((item, index) => {
+    item.ssxh = index + 1
+  })
+  ElMessage.success('删除成功。')
+}
+/*手术结束*/
+
+/* 提交审核信息 */
+const baoCunXiuGaiData = ref({})
+const beiZhuRef = ref(false)
+const baoCunHouGuanBi = () => {
+  huanZheXinXiDialog.value = false
+  ctx.emit('shua-xin')
+}
+const baoCunXiuGai = () => {
+  if (setlinfo.value.operation === '1' || setlinfo.value.operation === '2' || setlinfo.value.operation === '3') {
+    if (listIsBlank(oprninfo.value)) {
+      return ElMessage.error('选择治疗类型为手术的,至少要有一个手术。')
     }
+  } else if (oprninfo.value.length > 7) {
+    return ElMessage.error('手术不能超过7个。')
+  }
+  if (listIsBlank(diseinfo.value)) {
+    return ElMessage.error('诊断不能为空切不能大于27个。')
+  } else if (diseinfo.value.length > 27) {
+    return ElMessage.error('诊断超过27个。')
+  }
+  let data = setlinfo.value
+  data['opIdCode'] = code
+  data['opIdName'] = name
+  data.batjBa4 = oprninfo.value
+  data.ybZyDisDiag = diseinfo.value
+  baoCunXiuGaiData.value = data
+  beiZhuRef.value = true
+}
+/* 提交审核信息 */
 
-    /* 查看审核信息 */
-
-    /* 审核操作 */
-
-    const shenHeTongGuoClick = () => {
-      ElMessageBox.confirm('是否通过该审核', '提示', {
-        type: "warning"
-      }).then(() => {
-        const data = {
-          id: props.data.shenHeXinXi.id,
-          auditFlag: 1,
-          auditRemark: "审核通过 ❥(^_-)",
-          auditStaff: code,
-          auditName: name,
-        }
-        setlUploadAudit(data
-        ).then((res) => {
-          guanBi()
-        }).catch((e) => {
-        })
-      })
-    }
+/* 查看审核信息 */
+const shenHeRef = ref(false)
+const keFouShenHe = ref(false)
 
-    const shenHeTongGuoShangChuanClick = () => {
-      ElMessageBox.confirm('是否通过该审核并上传', '提示', {
-        type: "warning"
-      }).then(() => {
-        const data = {
-          id: props.data.shenHeXinXi.id,
-          auditFlag: 1,
-          auditRemark: "审核通过 ❥(^_-)",
-          auditStaff: code,
-          auditName: name,
-        }
-        setlUploadAudit(data
-        ).then((res) => {
-          let data = []
-          data.push(props.data.upload)
-          upldSetlList(data).then((res) => {
-            guanBi()
-          })
-        }).catch((e) => {
-        })
-      })
-    }
+const shenHeClick = () => {
+  if (stringIsBlank(props.data.shenHeXinXi.id)) {
+    return ElMessage.error('您还没有进行申请。')
+  }
+  shenHeRef.value = true
+}
 
-    const shenHeBoHuiClick = () => {
-      ElMessageBox.prompt('请填写申请备注', '提示', {
-        type: "warning",
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        inputPattern: /\S/,
-        inputErrorMessage: '审核备注不能为空且不得超过 100 字 (∩•̀ω•́)⊃-*⋆',
-      }).then(({value}) => {
-        if (value.length > 100) {
-          return ElMessage.error("驳回原因超过 100 字。")
-        }
-        const data = {
-          id: props.data.shenHeXinXi.id,
-          auditFlag: 2,
-          auditRemark: value,
-          auditStaff: code,
-          auditName: name,
-        }
-        setlUploadAudit(data
-        ).then((res) => {
-          guanBi()
-        })
+/* 查看审核信息 */
 
-      }).catch((e) => {
-      })
-    }
+/* 审核操作 */
 
-    function guanBi() {
-      huanZheXinXiDialog.value = false
-      ctx.emit('shua-xin')
+const shenHeTongGuoClick = () => {
+  ElMessageBox.confirm('是否通过该审核', '提示', {
+    type: 'warning',
+  }).then(() => {
+    const data = {
+      id: props.data.shenHeXinXi.id,
+      auditFlag: 1,
+      auditRemark: '审核通过 ❥(^_-)',
+      auditStaff: code,
+      auditName: name,
     }
+    setlUploadAudit(data)
+      .then((res) => {
+        guanBi()
+      })
+      .catch((e) => {})
+  })
+}
 
-    /* 审核操作 */
-
-    /* 数据对比 */
-    const shuJuDuiBiDialogRef = ref(null)
-    const shuJuDuiBi = () => {
-      if (stringIsBlank(props.data.shenHeXinXi.id)) {
-        return ElMessage.error("您还没有进行申请。")
-      }
-      shuJuDuiBiDialogRef.value.isOpenDialog(true)
+const shenHeTongGuoShangChuanClick = () => {
+  ElMessageBox.confirm('是否通过该审核并上传', '提示', {
+    type: 'warning',
+  }).then(() => {
+    const data = {
+      id: props.data.shenHeXinXi.id,
+      auditFlag: 1,
+      auditRemark: '审核通过 ❥(^_-)',
+      auditStaff: code,
+      auditName: name,
     }
-    /* 数据对比结束 */
-
+    setlUploadAudit(data)
+      .then((res) => {
+        let data = []
+        data.push(props.data.upload)
+        upldSetlList(data).then((res) => {
+          guanBi()
+        })
+      })
+      .catch((e) => {})
+  })
+}
 
-    /* 获取患者各个科室的费用 */
-    const keShiFeiYongRef = ref(null)
-    const feiYongDrawer = () => {
-      keShiFeiYongRef.value.getFeiYongClick(setlinfo.value.inpatientNo, setlinfo.value.admissTimes)
-    }
-    /* 获取患者各个科室的费用结束 */
-
-    const init = () => {
-      setlinfo.value = clone(props.data)
-      // 如果新的没有就用老的
-      if (stringNotBlank(props.data.shenHeXinXi.id)) {
-        diseinfo.value = clone(props.data.newYbZyDisDiag)
-        oprninfo.value = clone(props.data.newBatjBa4)
-        if (stringNotBlank(props.data.shenHeXinXi.reqRemark)
-            && props.data.shenHeXinXi.auditFlag === 0) {
-          setTimeout(() => {
-            ElMessageBox.alert(props.data.shenHeXinXi.reqRemark, '申请备注', {
-              type: 'warning'
-            })
-          }, 1000)
-        }
-
-        //初始化拖拽表格
-      } else {
-        diseinfo.value = clone(props.data.ybZyDisDiag)
-        oprninfo.value = clone(props.data.batjBa4)
+const shenHeBoHuiClick = () => {
+  ElMessageBox.prompt('请填写申请备注', '提示', {
+    type: 'warning',
+    confirmButtonText: '确定',
+    cancelButtonText: '取消',
+    inputPattern: /\S/,
+    inputErrorMessage: '审核备注不能为空且不得超过 100 字 (∩•̀ω•́)⊃-*⋆',
+  })
+    .then(({ value }) => {
+      if (value.length > 100) {
+        return ElMessage.error('驳回原因超过 100 字。')
       }
-      if (diseinfo.value.length > 0) {
-        setTimeout(() => {
-          sortableDiseinfo()
-        }, 100)
+      const data = {
+        id: props.data.shenHeXinXi.id,
+        auditFlag: 2,
+        auditRemark: value,
+        auditStaff: code,
+        auditName: name,
       }
-      if (oprninfo.value.length > 0) {
-        setTimeout(() => {
-          sortableOprninfo()
-        }, 100)
-      }
-      zhenDuanQuery.value.medType = props.data.medType
-    }
+      setlUploadAudit(data).then((res) => {
+        guanBi()
+      })
+    })
+    .catch((e) => {})
+}
 
-    /**
-     * 诊断的拖拽
-     */
-    function sortableDiseinfo() {
-      const el = document.querySelector("#sortable-diseinfo tbody");
-      //设置拖拽的参数
-      const ops = {
-        animation: 200, //动画时长
-        handle: '.shangxiatuodong', // 拖动的 class
-        onEnd({newIndex, oldIndex}) {
-          const currRow = diseinfo.value.splice(oldIndex, 1)[0]
-          diseinfo.value.splice(newIndex, 0, currRow)
-          diseinfo.value.forEach((item, index) => {
-            item.disDiagNo = index + 1
-          })
-        },//拖拽完成回调函数(新index,旧index)
-      };
-      Sortable.create(el, ops);
-    }
+function guanBi() {
+  huanZheXinXiDialog.value = false
+  ctx.emit('shua-xin')
+}
 
-    function sortableOprninfo() {
-      const el = document.querySelector("#sortable-oprninfo tbody");
-      const ops = {
-        animation: 200, //动画时长
-        handle: '.shangxiatuodong',
-        onEnd({newIndex, oldIndex}) {
-          const currRow = oprninfo.value.splice(oldIndex, 1)[0]
-          oprninfo.value.splice(newIndex, 0, currRow)
-          oprninfo.value.forEach((item, index) => {
-            item.ssxh = index + 1
-          })
-        },//拖拽完成回调函数(新index,旧index)
-      };
-      Sortable.create(el, ops);
-    }
+/* 审核操作 */
 
+/* 数据对比 */
+const shuJuDuiBiDialogRef = ref(false)
+const shuJuDuiBi = () => {
+  if (stringIsBlank(props.data.shenHeXinXi.id)) {
+    return ElMessage.error('您还没有进行申请。')
+  }
+  shuJuDuiBiDialogRef.value = true
+}
+/* 数据对比结束 */
 
-    watch(() => props.data,
-        () => {
-          init()
+/* 获取患者各个科室的费用 */
+const keShiFeiYongRef = ref(false)
+const feiYongDrawer = () => {
+  keShiFeiYongRef.value = true
+}
+/* 获取患者各个科室的费用结束 */
+
+const init = () => {
+  setlinfo.value = clone(props.data)
+  // 如果新的没有就用老的
+  if (stringNotBlank(props.data.shenHeXinXi.id)) {
+    diseinfo.value = clone(props.data.newYbZyDisDiag)
+    oprninfo.value = clone(props.data.newBatjBa4)
+    if (stringNotBlank(props.data.shenHeXinXi.reqRemark) && props.data.shenHeXinXi.auditFlag === 0) {
+      setTimeout(() => {
+        ElMessageBox.alert(props.data.shenHeXinXi.reqRemark, '申请备注', {
+          type: 'warning',
         })
-
-
-    return {
-      props,
-      setlinfo,
-      diseinfo,
-      oprninfo,
-      huanZheXinXiDialog,
-      openDialog,
-      sheZhiZhuZhenDuan,
-      store,
-      cptSex,
-      xiuGaiZhenDuanClick,
-      zhenDuanDialog,
-      methods: [
-        {code: 'alpha', name: '拼音'},
-        {code: 'code', name: '编码'},
-        {code: 'name', name: '名称'},
-      ],
-      admissCondData: [
-        {code: 1, name: '有'},
-        {code: 2, name: '临床未确定'},
-        {code: 3, name: '情况不明'},
-        {code: 4, name: '无'},
-      ],
-      siDiagTypes: [
-        {code: '1', name: '西医主要诊断'},
-        {code: '2', name: '西医其他诊断'},
-        {code: '3', name: '中医主要诊断'},
-        {code: '4', name: '中医其他诊断'}
-      ],
-      zhenDuanQuery,
-      queryZhenDuanData,
-      zhenDuanChaXunClick,
-      xuanZheZhenDuan,
-      operations,
-      decTypes,
-      addZhenDuanClick,
-      addZhenDuanFlag,
-      addZhenDuan,
-      lingShiZhenDuan,
-      getsiDiagTypeName,
-      delZhenDuan,
-      shouShuDialog,
-      pageZhenDuanChaXun,
-      maZuiFangShis,
-      formShouShu,
-      maZuiName,
-      qks,
-      qieKouName,
-      queryShouShuDialog,
-      queryShouShu,
-      queryShouShuCodeData,
-      queryShouShuCodeName,
-      shouShuData,
-      queryShouShuClick,
-      shouShuCurrentPage,
-      xuanZheShouShu,
-      formQieKou,
-      addShouShuClick,
-      tianJiaXiuGaiShouShu,
-      shouShuRules,
-      formShouShuRef,
-      delShouShu,
-      baoCunXiuGai,
-      shuJuDuiBi,
-      shuJuDuiBiDialogRef,
-      shenHeClick,
-      shenHeRef,
-      shenHeBoHuiClick,
-      shenHeTongGuoClick,
-      shenHeTongGuoShangChuanClick,
-      keFouShenHe,
-      shenHeQuanXian,
-      feiYongDrawer,
-      keShiFeiYongRef,
-      baoCunXiuGaiData,
-      beiZhuRef,
-      baoCunHouGuanBi,
-      getAdmissCond,
+      }, 1000)
     }
-  },
 
+    //初始化拖拽表格
+  } else {
+    diseinfo.value = clone(props.data.ybZyDisDiag)
+    oprninfo.value = clone(props.data.batjBa4)
+  }
+  if (diseinfo.value.length > 0) {
+    setTimeout(() => {
+      sortableDiseinfo()
+    }, 100)
+  }
+  if (oprninfo.value.length > 0) {
+    setTimeout(() => {
+      sortableOprninfo()
+    }, 100)
+  }
+  zhenDuanQuery.value.medType = props.data.medType
+}
+
+/**
+ * 诊断的拖拽
+ */
+function sortableDiseinfo() {
+  const el = document.querySelector('#sortable-diseinfo tbody')
+  //设置拖拽的参数
+  const ops = {
+    animation: 200, //动画时长
+    handle: '.shangxiatuodong', // 拖动的 class
+    onEnd({ newIndex, oldIndex }) {
+      const currRow = diseinfo.value.splice(oldIndex, 1)[0]
+      diseinfo.value.splice(newIndex, 0, currRow)
+      diseinfo.value.forEach((item, index) => {
+        item.disDiagNo = index + 1
+      })
+    }, //拖拽完成回调函数(新index,旧index)
+  }
+  Sortable.create(el, ops)
 }
 
+function sortableOprninfo() {
+  const el = document.querySelector('#sortable-oprninfo tbody')
+  const ops = {
+    animation: 200, //动画时长
+    handle: '.shangxiatuodong',
+    onEnd({ newIndex, oldIndex }) {
+      const currRow = oprninfo.value.splice(oldIndex, 1)[0]
+      oprninfo.value.splice(newIndex, 0, currRow)
+      oprninfo.value.forEach((item, index) => {
+        item.ssxh = index + 1
+      })
+    }, //拖拽完成回调函数(新index,旧index)
+  }
+  Sortable.create(el, ops)
+}
 
+onMounted(() => {
+  init()
+  keFouShenHe.value = !(stringNotBlank(props.data.shenHeXinXi.id) && props.data.shenHeXinXi.auditFlag === 0)
+})
+
+const methods = [
+  { code: 'alpha', name: '拼音' },
+  { code: 'code', name: '编码' },
+  { code: 'name', name: '名称' },
+]
+
+const admissCondData = [
+  { code: 1, name: '有' },
+  { code: 2, name: '临床未确定' },
+  { code: 3, name: '情况不明' },
+  { code: 4, name: '无' },
+]
+
+const siDiagTypes = [
+  { code: '1', name: '西医主要诊断' },
+  { code: '2', name: '西医其他诊断' },
+  { code: '3', name: '中医主要诊断' },
+  { code: '4', name: '中医其他诊断' },
+]
 </script>
 
-<style>
-
-</style>
+<style></style>

+ 21 - 25
src/components/si-sheet-upload/KeShiFeiYong.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-drawer v-model="keShiFeiYongDrawer">
+  <el-drawer v-model="keShiFeiYongDrawer" @closed="emit('close')">
     <el-table :data="feiYongData">
       <el-table-column label="科室" prop="execUnitName"></el-table-column>
       <el-table-column label="费用" prop="chargeFee"></el-table-column>
@@ -8,32 +8,28 @@
   </el-drawer>
 </template>
 
-<script>
-import {ref} from "vue";
-import {getHuanZheFeiYong} from "../../api/medical-insurance/si-setl-upload";
+<script setup name="KeShiFeiYong">
+import { getHuanZheFeiYong } from '../../api/medical-insurance/si-setl-upload'
+const props = defineProps({
+  patNo: {
+    type: String,
+  },
+  times: {
+    type: Number,
+  },
+})
 
-export default {
-  name: "KeShiFeiYong",
-  setup(props, ctx) {
-    const keShiFeiYongDrawer = ref(false)
-    const feiYongData = ref([])
+const emit = defineEmits(['close'])
 
-    const getFeiYongClick = (patNo, times) => {
-      getHuanZheFeiYong(patNo, times).then((res) => {
-        feiYongData.value = res
-        keShiFeiYongDrawer.value = true
-      })
-    }
+const keShiFeiYongDrawer = ref(false)
+const feiYongData = ref([])
 
-    return {
-      keShiFeiYongDrawer,
-      feiYongData,
-      getFeiYongClick,
-    }
-  }
-}
+onMounted(() => {
+  getHuanZheFeiYong(props.patNo, props.times).then((res) => {
+    feiYongData.value = res
+    keShiFeiYongDrawer.value = true
+  })
+})
 </script>
 
-<style scoped>
-
-</style>
+<style scoped></style>

+ 8 - 25
src/components/si-sheet-upload/ShenHeXinXi.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dialog v-model="shenHeDialog" title="审核信息">
+  <el-dialog v-model="shenHeDialog" title="审核信息" @close="emit('close')">
     <el-descriptions title="基本信息" border style="width: 100%">
       <el-descriptions-item label="申请时间">{{ props.data.reqOpName }}</el-descriptions-item>
       <el-descriptions-item label="申请时间">{{ props.data.reqOpDate }}</el-descriptions-item>
@@ -12,28 +12,13 @@
   </el-dialog>
 </template>
 
-<script>
-import {ref, watch} from "vue";
+<script setup name="ShenHeXinXi">
+const props = defineProps({
+  data: {},
+})
+const emit = defineEmits(['close'])
 
-export default {
-  name: "ShenHeXinXi",
-  props: {
-    data: {},
-  },
-  setup(props, ctx) {
-    const shenHeDialog = ref(false)
-    const shenHeDialogOpen = (val) => {
-      shenHeDialog.value = val
-    }
-
-    return {
-      shenHeDialog,
-      shenHeDialogOpen,
-      props,
-      shenHeZhuangTai
-    }
-  }
-}
+const shenHeDialog = ref(true)
 
 function shenHeZhuangTai(val) {
   switch (val) {
@@ -49,6 +34,4 @@ function shenHeZhuangTai(val) {
 }
 </script>
 
-<style scoped>
-
-</style>
+<style scoped></style>

+ 24 - 49
src/components/si-sheet-upload/ShuJuDuiBi.vue

@@ -1,10 +1,9 @@
 <template>
   <el-container>
-    <el-dialog v-model="shuJuDuiBiDialog" title="数据对比" fullscreen>
+    <el-dialog v-model="shuJuDuiBiDialog" title="数据对比" fullscreen @closed="emit('close')">
       <el-tabs>
         <el-tab-pane label="诊断对比">
-          <el-table :data="props.oldYbZyDisDiag" :height="store.state.app.windowSize.h / 2"
-                    stripe highlight-current-row>
+          <el-table :data="props.oldYbZyDisDiag" :height="store.state.app.windowSize.h / 2" stripe highlight-current-row>
             <el-table-column label="老诊断信息">
               <el-table-column lable="排序" type="index"></el-table-column>
               <el-table-column label="诊断代码" prop="disDiag"></el-table-column>
@@ -19,12 +18,10 @@
                   {{ getsiDiagTypeName(scope.row.siDiagType) }}
                 </template>
               </el-table-column>
-              <el-table-column label="诊断排序" prop="disDiagNo">
-              </el-table-column>
+              <el-table-column label="诊断排序" prop="disDiagNo"> </el-table-column>
             </el-table-column>
           </el-table>
-          <el-table :data="props.newYbZyDisDiag" :height="store.state.app.windowSize.h / 2"
-                    stripe highlight-current-row>
+          <el-table :data="props.newYbZyDisDiag" :height="store.state.app.windowSize.h / 2" stripe highlight-current-row>
             <el-table-column label="新诊断信息">
               <el-table-column lable="排序" type="index"></el-table-column>
               <el-table-column label="诊断代码" prop="disDiag"></el-table-column>
@@ -39,8 +36,7 @@
                   {{ getsiDiagTypeName(scope.row.siDiagType) }}
                 </template>
               </el-table-column>
-              <el-table-column label="诊断排序" prop="disDiagNo">
-              </el-table-column>
+              <el-table-column label="诊断排序" prop="disDiagNo"> </el-table-column>
             </el-table-column>
           </el-table>
         </el-tab-pane>
@@ -101,47 +97,26 @@
   </el-container>
 </template>
 
-<script>
-import {ref} from "vue";
+<script setup name="ZhenDuanDuiBi">
+import { ref } from 'vue'
 import store from '@/store'
-import {getAdmissCond, getsiDiagTypeName, maZuiName, qieKouName} from "./jieSuanDanXiuGai";
-
-export default {
-  name: "ZhenDuanDuiBi",
-  props: {
-    oldYbZyDisDiag: {
-      type: Array
-    },
-    newYbZyDisDiag: {
-      type: Array
-    },
-    oldBat: {
-      type: Array
-    },
-    newBat: {
-      type: Array
-    },
+import { getAdmissCond, getsiDiagTypeName, maZuiName, qieKouName } from './jieSuanDanXiuGai'
+const props = defineProps({
+  oldYbZyDisDiag: {
+    type: Array,
   },
-  setup(props, ctx) {
-    const shuJuDuiBiDialog = ref(false)
-    const isOpenDialog = (val) => {
-      shuJuDuiBiDialog.value = val
-    }
-
-    return {
-      props,
-      shuJuDuiBiDialog,
-      isOpenDialog,
-      getsiDiagTypeName,
-      store,
-      qieKouName,
-      maZuiName,
-      getAdmissCond
-    }
-  }
-}
+  newYbZyDisDiag: {
+    type: Array,
+  },
+  oldBat: {
+    type: Array,
+  },
+  newBat: {
+    type: Array,
+  },
+})
+const emit = defineEmits(['close'])
+let shuJuDuiBiDialog = $ref(true)
 </script>
 
-<style scoped>
-
-</style>
+<style scoped></style>

+ 19 - 19
src/components/si-sheet-upload/XianZhiShiJian.vue

@@ -8,7 +8,7 @@
         <el-date-picker type="datetime" placeholder="开始时间" v-model="info.endTime"></el-date-picker>
       </el-form-item>
       <el-form-item label="设置人" prop="opIdName">
-        <el-input disabled v-model="info.opIdName" style="width: 120px;"></el-input>
+        <el-input disabled v-model="info.opIdName" style="width: 120px"></el-input>
       </el-form-item>
       <el-form-item label="设置时间" prop="opDate">
         <el-date-picker type="datetime" placeholder="开始时间" v-model="info.opDate" disabled></el-date-picker>
@@ -19,13 +19,13 @@
 </template>
 
 <script>
-import {ref, watch} from "vue";
-import {sheZhiShiJian, xianZhiShiJian} from "../../api/medical-insurance/si-setl-upload";
-import {formatDatetime} from "../../utils/date";
+import { ref, watch } from 'vue'
+import { sheZhiShiJian, xianZhiShiJian } from '../../api/medical-insurance/si-setl-upload'
+import { formatDatetime } from '../../utils/date'
 import store from '@/store'
 
 export default {
-  name: "XianZhiShiJian",
+  name: 'XianZhiShiJian',
   setup(props, ctx) {
     const xianZhiShiJianDialog = ref(false)
     const info = ref({
@@ -33,7 +33,7 @@ export default {
       endTime: '',
       opId: '',
       opIdName: '',
-      opDate: ''
+      opDate: '',
     })
 
     const baoCunXianZhiShiJian = () => {
@@ -42,24 +42,24 @@ export default {
       })
     }
 
-    watch(() => xianZhiShiJianDialog.value,
-        () => {
-          if (xianZhiShiJianDialog.value) {
-            xianZhiShiJian().then((res) => {
-              info.value = res
-            })
-          }
-        })
+    watch(
+      () => xianZhiShiJianDialog.value,
+      () => {
+        if (xianZhiShiJianDialog.value) {
+          xianZhiShiJian().then((res) => {
+            info.value = res
+          })
+        }
+      }
+    )
 
     return {
       xianZhiShiJianDialog,
       info,
-      baoCunXianZhiShiJian
+      baoCunXianZhiShiJian,
     }
-  }
+  },
 }
 </script>
 
-<style scoped>
-
-</style>
+<style scoped></style>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 365 - 266
src/components/si-sheet-upload/jieSuanDanDaYing.vue


+ 117 - 153
src/views/medical-insurance/allpatient/SetSheetUpload.vue

@@ -3,25 +3,15 @@
     <el-header style="margin-top: 10px">
       <el-button @click="queryTermDialog = true" type="primary" icon="el-icon-search">检索条件</el-button>
       <el-divider direction="vertical"></el-divider>
-      <el-button icon="el-icon-upload" type="success" @click="upldAllList" :disabled="queryTerm.list.length === 0"
-                 v-if="shenHeQuanXian()">
-        选中上传
-      </el-button>
-      <el-button icon="el-icon-upload" type="warning" @click="upldSelections" :disabled="queryTerm.list.length === 0"
-                 v-if="shenHeQuanXian()">
-        全部上传
-      </el-button>
-      <el-button icon="el-icon-download" type="success" @click="exportExcel" :disabled="queryTerm.list.length === 0"
-                 v-if="shenHeQuanXian()">导出 Execl
-      </el-button>
-      <el-button type="primary" icon="el-icon-refresh-left" @click="shuaXin">刷新数据
-      </el-button>
+      <el-button icon="el-icon-upload" type="success" @click="upldAllList" :disabled="queryTerm.list.length === 0" v-if="shenHeQuanXian()"> 选中上传 </el-button>
+      <el-button icon="el-icon-upload" type="warning" @click="upldSelections" :disabled="queryTerm.list.length === 0" v-if="shenHeQuanXian()"> 全部上传 </el-button>
+      <el-button icon="el-icon-download" type="success" @click="exportExcel" :disabled="queryTerm.list.length === 0" v-if="shenHeQuanXian()">导出 Execl </el-button>
+      <el-button type="primary" icon="el-icon-refresh-left" @click="shuaXin">刷新数据 </el-button>
       <el-button type="success" @click="xianZhiShiJianClick" v-if="shenHeQuanXian()">设置限制时间</el-button>
       <xian-zhi-shi-jian ref="xianZhiShiJian"></xian-zhi-shi-jian>
     </el-header>
     <el-main>
-      <el-table :height="store.state.app.windowSize.h / 1.2" :data="queryTerm.list" border highlight-current-row stripe
-                @selection-change="handleSelectionChange">
+      <el-table :height="store.state.app.windowSize.h / 1.2" :data="queryTerm.list" border highlight-current-row stripe @selection-change="handleSelectionChange">
         <el-table-column fixed type="selection" width="35"></el-table-column>
         <el-table-column fixed prop="psnName" label="姓名">
           <template #default="scope">
@@ -32,11 +22,12 @@
         </el-table-column>
         <el-table-column prop="outDeptName" label="出院科室">
           <template #default="scope">
-            <el-button v-if="scope.row.outDept === dept || shenHeQuanXian" type="text"
-                       @click="huoQuXiuGaiYiShen(scope.row.referPhysician,scope.row.referPhysicianName,scope.row.patNo,scope.row.times)">
-              {{
-                scope.row.outDeptName
-              }}
+            <el-button
+              v-if="scope.row.outDept === dept || shenHeQuanXian"
+              type="text"
+              @click="huoQuXiuGaiYiShen(scope.row.referPhysician, scope.row.referPhysicianName, scope.row.patNo, scope.row.times)"
+            >
+              {{ scope.row.outDeptName }}
             </el-button>
             <span v-else>{{ scope.row.outDeptName }}</span>
           </template>
@@ -62,15 +53,15 @@
           </template>
         </el-table-column>
       </el-table>
-      <jie-suan-dan-da-ying ref="daYingJieSuanDanRef"></jie-suan-dan-da-ying>
+      <jie-suan-dan-da-ying v-if="daYingJieSuanDanRef.dialog" :data="daYingJieSuanDanRef" @close="daYingJieSuanDanRef.dialog = false"></jie-suan-dan-da-ying>
       <el-pagination
-          :page-sizes="[10, 20, 30, 40, 50 , 100]"
-          :page-size="queryTerm.pageSize"
-          :current-page="queryTerm.currentPage"
-          layout="total, sizes, prev, pager, next, jumper"
-          :total="queryTerm.total"
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
+        :page-sizes="[10, 20, 30, 40, 50, 100]"
+        :page-size="queryTerm.pageSize"
+        :current-page="queryTerm.currentPage"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="queryTerm.total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
       >
       </el-pagination>
     </el-main>
@@ -80,15 +71,15 @@
           <el-col :span="24">
             <el-form-item label="日期范围" prop="dateRange">
               <el-date-picker
-                  type="daterange"
-                  v-model="queryTerm.dateRange"
-                  placeholder="选择日期"
-                  size="mini"
-                  style="width: 280px"
-                  range-separator="至"
-                  start-placeholder="开始日期"
-                  end-placeholder="结束日期"
-                  :shortcuts="clockinShortcuts"
+                type="daterange"
+                v-model="queryTerm.dateRange"
+                placeholder="选择日期"
+                size="mini"
+                style="width: 280px"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                :shortcuts="clockinShortcuts"
               ></el-date-picker>
             </el-form-item>
           </el-col>
@@ -105,17 +96,12 @@
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="住院号" prop="patNo">
-              <el-input v-model="queryTerm.patNo" style="width: 120px" @blur="patNo=$event.target.value.trim()"
-                        clearable
-                        @keyup.enter="query"
-                        placeholder="住院号"></el-input>
+              <el-input v-model="queryTerm.patNo" style="width: 120px" @blur="patNo = $event.target.value.trim()" clearable @keyup.enter="query" placeholder="住院号"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="出院科室" prop="disDept">
-              <el-select v-model="queryTerm.outDept" placeholder="出院科室" filterable clearable multiple
-                         :collapse-tags="true"
-              >
+              <el-select v-model="queryTerm.outDept" placeholder="出院科室" filterable clearable multiple :collapse-tags="true">
                 <el-option v-for="item in disDepts" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -127,9 +113,7 @@
 
           <el-col :span="spanWidth">
             <el-form-item label="医疗类别" prop="medType">
-              <el-select v-model="queryTerm.medType" placeholder="医疗类别" filterable clearable multiple
-                         :collapse-tags="true"
-              >
+              <el-select v-model="queryTerm.medType" placeholder="医疗类别" filterable clearable multiple :collapse-tags="true">
                 <el-option v-for="item in medTypes" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -151,10 +135,7 @@
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="管床医生" prop="referPhysician">
-              <el-select v-model="queryTerm.referPhysician" placeholder="管床医生" filterable clearable remote
-                         reserve-keyword
-                         :remote-method="remoteMethod"
-              >
+              <el-select v-model="queryTerm.referPhysician" placeholder="管床医生" filterable clearable remote reserve-keyword :remote-method="remoteMethod">
                 <el-option v-for="item in referPhysicians" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -165,9 +146,7 @@
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="险种类型" prop="insutype">
-              <el-select v-model="queryTerm.insutype" placeholder="险种类型" filterable clearable multiple
-                         :collapse-tags="true"
-              >
+              <el-select v-model="queryTerm.insutype" placeholder="险种类型" filterable clearable multiple :collapse-tags="true">
                 <el-option v-for="item in insutypes" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -178,9 +157,7 @@
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="人员类别" prop="psnType">
-              <el-select v-model="queryTerm.psnType" placeholder="人员类别" filterable clearable multiple
-                         :collapse-tags="true"
-              >
+              <el-select v-model="queryTerm.psnType" placeholder="人员类别" filterable clearable multiple :collapse-tags="true">
                 <el-option v-for="item in getPsnType" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -191,9 +168,7 @@
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="结算机构" prop="clrOptins">
-              <el-select v-model="queryTerm.clrOptins" placeholder="结算机构" filterable clearable multiple
-                         :collapse-tags="true"
-              >
+              <el-select v-model="queryTerm.clrOptins" placeholder="结算机构" filterable clearable multiple :collapse-tags="true">
                 <el-option v-for="item in clrOptins" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -204,8 +179,7 @@
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="审核类型" prop="auditFlag">
-              <el-select v-model="queryTerm.auditFlag"
-              >
+              <el-select v-model="queryTerm.auditFlag">
                 <el-option v-for="item in auditFlags" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -216,9 +190,7 @@
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="申报类型" prop="auditFlag">
-              <el-select v-model="queryTerm.decTypes" filterable clearable multiple
-                         :collapse-tags="true"
-              >
+              <el-select v-model="queryTerm.decTypes" filterable clearable multiple :collapse-tags="true">
                 <el-option v-for="item in decTypes" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -229,8 +201,7 @@
           </el-col>
           <el-col :span="spanWidth">
             <el-form-item label="支付类型" prop="hiPaymtd">
-              <el-select v-model="queryTerm.hiPaymtd" clearable :collapse-tags="true"
-              >
+              <el-select v-model="queryTerm.hiPaymtd" clearable :collapse-tags="true">
                 <el-option v-for="item in hiPaymtdData" :key="item.code" :value="item.code" :label="item.name">
                   <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                   <el-divider direction="vertical"></el-divider>
@@ -248,9 +219,7 @@
       <el-divider direction="vertical"></el-divider>
     </el-dialog>
     <el-dialog v-model="xiuGaiYiShen" title="修改管床医生">
-      <el-select v-model="guanChuangYiShen.yiShenCode" filterable clearable remote
-                 reserve-keyword
-                 :remote-method="remoteMethod">
+      <el-select v-model="guanChuangYiShen.yiShenCode" filterable clearable remote reserve-keyword :remote-method="remoteMethod">
         <el-option v-for="item in referPhysicians" :key="item.code" :value="item.code" :label="item.name">
           <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
           <el-divider direction="vertical"></el-divider>
@@ -260,46 +229,33 @@
       <el-divider direction="vertical"></el-divider>
       <el-button @click="xiuGaiGuanChuangYiShenClick">修改</el-button>
     </el-dialog>
-    <jie-suan-dan-xiang-qing @shuaXin="shuaXin" ref="jieSuanDanDataDialog"
-                             :data="jieSuanDanData"></jie-suan-dan-xiang-qing>
-    <Progress/>
+    <jie-suan-dan-xiang-qing @close="jieSuanDanDataDialog = false" @shuaXin="shuaXin" v-if="jieSuanDanDataDialog" :data="jieSuanDanData"></jie-suan-dan-xiang-qing>
+    <Progress />
   </el-container>
 </template>
 
 <script>
-import {clockinShortcuts} from '../../../data/shortcuts'
-import {ref, unref, watch, onMounted} from "vue"
+import { clockinShortcuts } from '../../../data/shortcuts'
+import { ref, unref, watch, onMounted } from 'vue'
 import store from '../../../store'
-import {getClrTypes, getInsutypes} from "../../../api/medical-insurance/si-dict"
-import {getDateRangeFormatDate} from "../../../utils/date"
-import {
-  getMedType,
-  huoQuJieSuanRenYuan,
-  jieSuanDanKeXiuGaiXinXi,
-  upldSetlList,
-  upldSetlListTimes,
-  xiuGaiGuanChuangYiShen
-} from "../../../api/medical-insurance/si-setl-upload"
-import {clrOptinsData, decTypes, getPsnType} from "../../../data"
-import {getDept} from "../../../api/yibao/xiang-mu-lu-ru"
-import JieSuanDanXiangQing from "../../../components/si-sheet-upload/JieSuanDanXiangQing.vue";
-import {ElMessage, ElMessageBox} from "element-plus";
+import { getClrTypes, getInsutypes } from '../../../api/medical-insurance/si-dict'
+import { getDateRangeFormatDate } from '../../../utils/date'
+import { getMedType, huoQuJieSuanRenYuan, jieSuanDanKeXiuGaiXinXi, upldSetlList, upldSetlListTimes, xiuGaiGuanChuangYiShen } from '../../../api/medical-insurance/si-setl-upload'
+import { clrOptinsData, decTypes, getPsnType } from '../../../data'
+import { getDept } from '../../../api/yibao/xiang-mu-lu-ru'
+import JieSuanDanXiangQing from '../../../components/si-sheet-upload/JieSuanDanXiangQing.vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
 import Progress from '../../../components/progress/Index.vue'
-import {downloadExcel} from "../../../utils/excel";
-import {getRenYuan} from "../../../api/public-api";
-import {
-  auditFlags,
-  auditName,
-  shenHeQuanXian,
-  huoQuZhongKongChaXunTiaoJian
-} from "../../../components/si-sheet-upload/jieSuanDanXiuGai";
-import XianZhiShiJian from "../../../components/si-sheet-upload/XianZhiShiJian.vue";
-import {stringNotBlank} from "../../../utils/blank-utils";
-import JieSuanDanDaYing from "../../../components/si-sheet-upload/jieSuanDanDaYing.vue";
+import { downloadExcel } from '../../../utils/excel'
+import { getRenYuan } from '../../../api/public-api'
+import { auditFlags, auditName, shenHeQuanXian, huoQuZhongKongChaXunTiaoJian } from '../../../components/si-sheet-upload/jieSuanDanXiuGai'
+import XianZhiShiJian from '../../../components/si-sheet-upload/XianZhiShiJian.vue'
+import { stringNotBlank } from '../../../utils/blank-utils'
+import JieSuanDanDaYing from '../../../components/si-sheet-upload/jieSuanDanDaYing.vue'
 
 export default {
-  name: "SetSheetUpload",
-  components: {JieSuanDanDaYing, XianZhiShiJian, JieSuanDanXiangQing, Progress},
+  name: 'SetSheetUpload',
+  components: { JieSuanDanDaYing, XianZhiShiJian, JieSuanDanXiangQing, Progress },
   setup: function () {
     const queryTerm = ref({
       startTime: '',
@@ -320,7 +276,7 @@ export default {
       currentPage: 1,
       pageSize: 40,
       total: 0,
-      list: []
+      list: [],
     })
     const dept = store.state.user.info.deptCode
     // 表单
@@ -346,7 +302,7 @@ export default {
 
     const selections = ref([])
 
-    const jieSuanDanDataDialog = ref(null)
+    const jieSuanDanDataDialog = ref(false)
 
     const handleSelectionChange = (val) => {
       selections.value = val
@@ -367,8 +323,7 @@ export default {
           queryTerm.value.total = res.total
           queryTermDialog.value = false
         })
-      } catch (error) {
-      }
+      } catch (error) {}
     }
 
     const queryCurrentPage = async () => {
@@ -382,21 +337,22 @@ export default {
         huoQuJieSuanRenYuan(queryTerm.value).then((res) => {
           queryTerm.value.list = res.records
         })
-      } catch (error) {
-      }
+      } catch (error) {}
     }
 
-    watch(() => store.state.app.windowSize.w,
-        () => {
-          const w = store.state.app.windowSize.w
-          if (w >= 1500) {
-            spanWidth.value = 8
-          } else if (w >= 1300) {
-            spanWidth.value = 12
-          } else {
-            spanWidth.value = 24
-          }
-        })
+    watch(
+      () => store.state.app.windowSize.w,
+      () => {
+        const w = store.state.app.windowSize.w
+        if (w >= 1500) {
+          spanWidth.value = 8
+        } else if (w >= 1300) {
+          spanWidth.value = 12
+        } else {
+          spanWidth.value = 24
+        }
+      }
+    )
 
     const upldAllList = () => {
       if (queryTerm.value.clrType !== '21') {
@@ -459,6 +415,7 @@ export default {
         jieSuanDanData.value.actIptDays = val.actIptDays
         jieSuanDanData.value.outDeptName = val.outDeptName
         jieSuanDanData.value.medTypeName = val.medTypeName
+        jieSuanDanData.value.insutypeName = val.insutypeName
         jieSuanDanData.value.disDiag = val.disDiag
         jieSuanDanData.value.disDiagComment = val.disDiagComment
         jieSuanDanData.value.medfeeSumamt = val.medfeeSumamt
@@ -475,9 +432,9 @@ export default {
           auditName: val.auditName,
           auditDate: val.auditDate,
           auditRemark: val.auditRemark,
-          auditFlag: val.auditFlag
+          auditFlag: val.auditFlag,
         }
-        jieSuanDanDataDialog.value.openDialog(true)
+        jieSuanDanDataDialog.value = true
       })
     }
 
@@ -488,18 +445,19 @@ export default {
           cancelButtonText: '取消',
           inputPattern: /\S/,
           inputErrorMessage: '文件名不能为空 (∩•̀ω•́)⊃-*⋆',
-        }).then(({value}) => {
-          const data = {
-            param: queryTerm.value,
-            url: '/setlListUpld/exportExcel',
-            fileName: `${value}.xlsx`,
-            jdt: true,
-          }
-          setTimeout(() => {
-            downloadExcel(data)
-          }, 500)
-        }).catch((e) => {
         })
+          .then(({ value }) => {
+            const data = {
+              param: queryTerm.value,
+              url: '/setlListUpld/exportExcel',
+              fileName: `${value}.xlsx`,
+              jdt: true,
+            }
+            setTimeout(() => {
+              downloadExcel(data)
+            }, 500)
+          })
+          .catch((e) => {})
       } else {
         ElMessage.error('请先查询出数据')
       }
@@ -532,7 +490,7 @@ export default {
     const xiuGaiYiShen = ref(false)
     const huoQuXiuGaiYiShen = (code, name, patNo, times) => {
       if (stringNotBlank(code)) {
-        referPhysicians.value = [{code: code, name: name}]
+        referPhysicians.value = [{ code: code, name: name }]
         guanChuangYiShen.value.yiShenCode = code
       }
       xiuGaiYiShen.value = true
@@ -550,17 +508,25 @@ export default {
     const zhongKongTiaoJian = () => {
       if (!shenHeQuanXian()) {
         queryTerm.value.outDept = [store.state.user.info.deptCode]
-        referPhysicians.value = [{code: store.state.user.info.code, name: store.state.user.info.name}]
+        referPhysicians.value = [{ code: store.state.user.info.code, name: store.state.user.info.name }]
       }
       queryTerm.value.medType = ['22', '2101']
       queryTerm.value.insutype = huoQuZhongKongChaXunTiaoJian(insutypes.value, ['340', '350', '360', '510', '410'])
-      queryTerm.value.psnType = huoQuZhongKongChaXunTiaoJian(getPsnType, ["13"])
-      queryTerm.value.clrOptins = huoQuZhongKongChaXunTiaoJian(clrOptins.value, ["439900", "430121"])
+      queryTerm.value.psnType = huoQuZhongKongChaXunTiaoJian(getPsnType, ['13'])
+      queryTerm.value.clrOptins = huoQuZhongKongChaXunTiaoJian(clrOptins.value, ['439900', '430121'])
     }
 
-    const daYingJieSuanDanRef = ref(null)
+    const daYingJieSuanDanRef = ref({
+      dialog: false,
+      patNo: '',
+      times: 0,
+      ledgerSn: 0,
+    })
     const jieSuanDanClick = (val) => {
-      daYingJieSuanDanRef.value.isOpen(val)
+      daYingJieSuanDanRef.value.dialog = true
+      daYingJieSuanDanRef.value.patNo = val.patNo
+      daYingJieSuanDanRef.value.times = val.times
+      daYingJieSuanDanRef.value.ledgerSn = val.ledgerSn
     }
 
     onMounted(() => {
@@ -620,23 +586,21 @@ export default {
       daYingJieSuanDanRef,
       jieSuanDanClick,
       flags: ref([
-        {code: 0, name: '全部'},
-        {code: 1, name: '未传'},
-        {code: 2, name: '已传'}
+        { code: 0, name: '全部' },
+        { code: 1, name: '未传' },
+        { code: 2, name: '已传' },
       ]),
       hiPaymtdData: [
-        {code: 1, name: '按项目'},
-        {code: 2, name: '单病种'},
-        {code: 3, name: '按病种分值'},
-        {code: 4, name: '基本诊断相关分组(DRG)'},
-        {code: 5, name: '按床日'},
-        {code: 6, name: '按人次'},
-        {code: 9, name: '其他'},
-        {code: 0, name: '全部'},
-      ]
+        { code: 1, name: '按项目' },
+        { code: 2, name: '单病种' },
+        { code: 3, name: '按病种分值' },
+        { code: 4, name: '基本诊断相关分组(DRG)' },
+        { code: 5, name: '按床日' },
+        { code: 6, name: '按人次' },
+        { code: 9, name: '其他' },
+        { code: 0, name: '全部' },
+      ],
     }
-  }
+  },
 }
-
-
 </script>

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä