瀏覽代碼

结算单上传可以添加科室了

DESKTOP-MINPJAU\Administrator 3 年之前
父節點
當前提交
03e311a6a2

+ 131 - 120
src/components/si-sheet-upload/jie-suan-dan-xiu-gai/JieSuanDanXiangQing.vue

@@ -6,12 +6,14 @@
           <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 v-if="beiZhuRef" :data="baoCunXiuGaiData" @baoCunHouGuanBi="baoCunHouGuanBi" @close="beiZhuRef = false"></bei-zhu>
+          <bei-zhu v-if="beiZhuRef" :data="baoCunXiuGaiData" @baoCunHouGuanBi="baoCunHouGuanBi"
+                   @close="beiZhuRef = false"></bei-zhu>
         </template>
         <el-descriptions-item label="姓名">
           {{ setlinfo.name }}
           <el-button @click="feiYongDrawer">{{ setlinfo.outDeptName }}</el-button>
-          <ke-shi-fei-yong v-if="keShiFeiYongRef" :patNo="setlinfo.inpatientNo" :times="setlinfo.admissTimes" @close="keShiFeiYongRef = false"></ke-shi-fei-yong>
+          <ke-shi-fei-yong v-if="keShiFeiYongRef" :patNo="setlinfo.inpatientNo" :times="setlinfo.admissTimes"
+                           @close="keShiFeiYongRef = false"></ke-shi-fei-yong>
         </el-descriptions-item>
         <el-descriptions-item label="性别">
           {{ cptSex(setlinfo.sex) }}
@@ -56,7 +58,8 @@
         </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-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>
@@ -65,14 +68,16 @@
         </el-descriptions-item>
         <el-descriptions-item v-if="shenHeQuanXian()" label="审核">
           <el-button :disabled="keFouShenHe" type="success" @click="shenHeTongGuoClick">审核通过</el-button>
-          <el-button :disabled="keFouShenHe" type="success" @click="shenHeTongGuoShangChuanClick">审核通过并上传</el-button>
+          <el-button :disabled="keFouShenHe" type="success" @click="shenHeTongGuoShangChuanClick">审核通过并上传
+          </el-button>
           <el-button :disabled="keFouShenHe" type="danger" @click="shenHeBoHuiClick">审核驳回</el-button>
         </el-descriptions-item>
       </el-descriptions>
       <el-tag size="small">住院诊断信息</el-tag>
       <el-button icon="CirclePlus" 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>
@@ -81,6 +86,7 @@
         <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="deptCodeName"></el-table-column>
         <el-table-column label="入院病情" prop="admissCond" width="90">
           <template #default="scope">
             {{ getAdmissCond(scope.row.admissCond) }}
@@ -95,19 +101,21 @@
           <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="Edit" type="warning" @click="xiuGaiZhenDuanClick(scope.$index, scope.row)">修改 </el-button>
+            <el-button icon="Edit" type="warning" @click="xiuGaiZhenDuanClick(scope.$index, scope.row)">修改</el-button>
             <el-popconfirm
-              cancel-button-text="取消"
-              confirm-button-text="确认"
-              icon="Info"
-              iconColor="#F56C6C"
-              title="是否删除该诊断"
-              @confirm="delZhenDuan(scope.$index, scope.row.disDiagNo)"
+                cancel-button-text="取消"
+                confirm-button-text="确认"
+                icon="Info"
+                iconColor="#F56C6C"
+                title="是否删除该诊断"
+                @confirm="delZhenDuan(scope.$index, scope.row.disDiagNo)"
             >
               <template #reference>
                 <el-button icon="Delete" size="small" type="danger">删除</el-button>
@@ -118,7 +126,8 @@
       </el-table>
       <el-tag size="small">手术操作信息</el-tag>
       <el-button icon="CirclePlus" type="success" @click="tianJiaXiuGaiShouShu(-1)">新增手术</el-button>
-      <el-table id="sortable-oprninfo" :data="oprninfo" :height="store.state.app.windowSize.h / 2.5" border highlight-current-row row-key="id" stripe>
+      <el-table id="sortable-oprninfo" :data="oprninfo" :height="store.state.app.windowSize.h / 2.5" border
+                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>
@@ -131,6 +140,7 @@
         <el-table-column label="麻醉开始时间" prop="anstStartDate" width="140"></el-table-column>
         <el-table-column label="麻醉结束时间" prop="anstEndDate" width="140"></el-table-column>
         <el-table-column label="手术及操作日期" prop="ssrq" width="140"></el-table-column>
+        <el-table-column label="科室" prop="deptCodeName"></el-table-column>
         <el-table-column label="手术级别" prop="ssjb"></el-table-column>
         <el-table-column label="手术及操作编码	" prop="ssbm"></el-table-column>
         <el-table-column label="手术及操作医师">
@@ -152,7 +162,8 @@
         <el-table-column label="操作" width="210">
           <template #default="scope">
             <el-button icon="Edit" type="warning" @click="tianJiaXiuGaiShouShu(scope.$index)">修改</el-button>
-            <el-popconfirm cancel-button-text="取消" confirm-button-text="确认" icon="Info" iconColor="#F56C6C" title="是否删除该手术" @confirm="delShouShu(scope.$index)">
+            <el-popconfirm cancel-button-text="取消" confirm-button-text="确认" icon="Info" iconColor="#F56C6C"
+                           title="是否删除该手术" @confirm="delShouShu(scope.$index)">
               <template #reference>
                 <el-button icon="Delete" size="small" type="danger">删除</el-button>
               </template>
@@ -168,14 +179,14 @@
         <el-table-column label="输血计量单位" prop="bldUnit"></el-table-column>
         <el-table-column label="操作" width="210">
           <template #default="scope">
-            <el-button icon="Edit" type="warning" @click="modifiedBloodTransfusion(scope.row)"> 修改 </el-button>
+            <el-button icon="Edit" type="warning" @click="modifiedBloodTransfusion(scope.row)"> 修改</el-button>
             <el-popconfirm
-              cancel-button-text="取消"
-              confirm-button-text="确认"
-              icon="Info"
-              iconColor="#F56C6C"
-              title="是否删除该输血信息"
-              @confirm="clickRemoveBloodTransfusion(scope.$index, scope.row.id)"
+                cancel-button-text="取消"
+                confirm-button-text="确认"
+                icon="Info"
+                iconColor="#F56C6C"
+                title="是否删除该输血信息"
+                @confirm="clickRemoveBloodTransfusion(scope.$index, scope.row.id)"
             >
               <template #reference>
                 <el-button icon="Delete" size="small" type="danger">删除</el-button>
@@ -184,9 +195,10 @@
           </template>
         </el-table-column>
       </el-table>
-      <shu-xue-xin-xi v-if="shuXueXinXi.dialog" :data="shuXueXinXi.data" @addData="addBloodTransfusionData" @close="shuXueXinXi.dialog = false" />
+      <shu-xue-xin-xi v-if="shuXueXinXi.dialog" :data="shuXueXinXi.data" @addData="addBloodTransfusionData"
+                      @close="shuXueXinXi.dialog = false"/>
     </el-dialog>
-    <el-dialog v-model="zhenDuanDialog" width="60%">
+    <el-dialog v-model="zhenDuanDialog" width="60%" title="诊断">
       <el-select v-model="diagnosticQuery.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>
@@ -194,7 +206,8 @@
           <span>{{ item.name }}</span>
         </el-option>
       </el-select>
-      <el-input v-model="diagnosticQuery.content" clearable style="width: 120px" @keyup.enter="zhenDuanChaXunClick"></el-input>
+      <el-input v-model="diagnosticQuery.content" clearable style="width: 120px"
+                @keyup.enter="zhenDuanChaXunClick"></el-input>
       <el-button icon="Search" type="primary" @click="zhenDuanChaXunClick">查询</el-button>
       诊断类别:
       <el-select v-model="lingShiZhenDuan.siDiagType" style="width: 120px">
@@ -212,6 +225,11 @@
           <span>{{ item.name }}</span>
         </el-option>
       </el-select>
+      科室:
+      <xc-select v-model="lingShiZhenDuan"
+                 :name="['deptCode','deptCodeName']"
+                 :data=" props.data.deptList">
+      </xc-select>
 
       <el-table :data="queryZhenDuanData" height="450px" highlight-current-row stripe>
         <el-table-column label="编码" prop="code"></el-table-column>
@@ -219,26 +237,26 @@
         <el-table-column label="操作">
           <template #default="scope">
             <el-popconfirm
-              v-if="addZhenDuanFlag"
-              cancel-button-text="取消"
-              confirm-button-text="确认"
-              icon="Info"
-              iconColor="#67C23A"
-              title="是否添加该诊断"
-              @confirm="addZhenDuan(scope.row)"
+                v-if="addZhenDuanFlag"
+                cancel-button-text="取消"
+                confirm-button-text="确认"
+                icon="Info"
+                iconColor="#67C23A"
+                title="是否添加该诊断"
+                @confirm="addZhenDuan(scope.row)"
             >
               <template #reference>
                 <el-button icon="CirclePlus" size="small" type="success">新增</el-button>
               </template>
             </el-popconfirm>
             <el-popconfirm
-              v-else
-              cancel-button-text="取消"
-              confirm-button-text="确认"
-              icon="Info"
-              iconColor="#E6A23C"
-              title="是否修改为该诊断"
-              @confirm="xuanZheZhenDuan(scope.row)"
+                v-else
+                cancel-button-text="取消"
+                confirm-button-text="确认"
+                icon="Info"
+                iconColor="#E6A23C"
+                title="是否修改为该诊断"
+                @confirm="xuanZheZhenDuan(scope.row)"
             >
               <template #reference>
                 <el-button icon="Edit" size="small" type="warning">修改</el-button>
@@ -247,42 +265,54 @@
           </template>
         </el-table-column>
       </el-table>
-      <br />
-      <el-button :disabled="diagnosticQuery.page === 1" @click="pageZhenDuanChaXun((diagnosticQuery.page -= 1))">上一页 </el-button>
+      <br/>
+      <el-button :disabled="diagnosticQuery.page === 1" @click="pageZhenDuanChaXun((diagnosticQuery.page -= 1))">
+        上一页
+      </el-button>
       <el-button @click="pageZhenDuanChaXun((diagnosticQuery.page += 1))">下一页</el-button>
     </el-dialog>
-    <jie-suan-dan-xiu-gai-shou-shu v-if="shouShuDialog" :data="formShouShu" @addShouShuClick="addShouShuClick" @close="shouShuDialog = false" />
+    <jie-suan-dan-xiu-gai-shou-shu v-if="shouShuDialog"
+                                   :dept-list="props.data.deptList"
+                                   :data="formShouShu"
+                                   @addShouShuClick="addShouShuClick"
+                                   @close="shouShuDialog = false"/>
     <shen-he-xin-xi v-if="shenHeRef" :data="props.data.shenHeXinXi" @close="shenHeRef = false"></shen-he-xin-xi>
     <ShuJuDuiBi
-      v-if="shuJuDuiBiDialogRef"
-      :new-bat="props.data.newBatjBa4"
-      :newYbZyDisDiag="props.data.newYbZyDisDiag"
-      :oldBat="props.data.batjBa4"
-      :oldYbZyDisDiag="props.data.ybZyDisDiag"
-      @close="shuJuDuiBiDialogRef = false"
+        v-if="shuJuDuiBiDialogRef"
+        :new-bat="props.data.newBatjBa4"
+        :newYbZyDisDiag="props.data.newYbZyDisDiag"
+        :oldBat="props.data.batjBa4"
+        :oldYbZyDisDiag="props.data.ybZyDisDiag"
+        @close="shuJuDuiBiDialogRef = false"
     ></ShuJuDuiBi>
   </el-container>
 </template>
 
 <script name="JieSuanDanXiangQing" setup>
 import store from '@/store'
-import { cptSex } from '@/utils/computed'
-import { searchYbDiag } from '@/api/inpatient/dictionary'
-import { decTypes, operations } from '../../../data'
-import { clone } from '@/utils/clone'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { removeBloodTransfusion, setlUploadAudit, shouShuBianMa, upldSetlList } from '@/api/medical-insurance/si-setl-upload'
-import { formatDatetime } from '@/utils/date'
-import { listIsBlank, stringIsBlank, stringNotBlank } from '@/utils/blank-utils'
-import { getAdmissCond, getsiDiagTypeName, maZuiName, qieKouName, shenHeQuanXian } from '../jieSuanDanXiuGai'
+import {cptSex} from '@/utils/computed'
+import {searchYbDiag} from '@/api/inpatient/dictionary'
+import {decTypes, operations} from '../../../data'
+import {clone} from '@/utils/clone'
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {
+  removeBloodTransfusion,
+  setlUploadAudit,
+  shouShuBianMa,
+  upldSetlList
+} from '@/api/medical-insurance/si-setl-upload'
+import {formatDatetime} from '@/utils/date'
+import {listIsBlank, stringIsBlank, stringNotBlank} from '@/utils/blank-utils'
+import {getAdmissCond, getsiDiagTypeName, maZuiName, qieKouName, shenHeQuanXian} from '../jieSuanDanXiuGai'
 import ShenHeXinXi from '../ShenHeXinXi.vue'
 import KeShiFeiYong from '../KeShiFeiYong.vue'
 import BeiZhu from '../BeiZhu.vue'
 import Sortable from 'sortablejs'
 import ShuJuDuiBi from '../ShuJuDuiBi.vue'
-import { ArrayIsEqual } from '@/utils/list-utlis'
+import {ArrayIsEqual} from '@/utils/list-utlis'
 import JieSuanDanXiuGaiShouShu from '@/components/si-sheet-upload/jie-suan-dan-xiu-gai/JieSuanDanXiuGaiShouShu.vue'
 import ShuXueXinXi from '@/components/si-sheet-upload/ShuXueXinXi.vue'
+import XcSelect from "@/components/xc/select/XcSelect.vue";
 
 const props = defineProps({
   data: {},
@@ -438,6 +468,8 @@ const formShouShu = ref({
   mzff: '',
   mzys: '',
   mzysName: '',
+  deptCode: '',
+  deptCodeName: '',
 })
 
 const oprninfoIndex = ref(-1)
@@ -451,30 +483,6 @@ const tianJiaXiuGaiShouShu = (index) => {
   shouShuDialog.value = true
 }
 
-const queryShouShuCodeData = ref({
-  code: '',
-  page: 1,
-  total: 0,
-  data: [],
-})
-const queryShouShuDialog = ref(false)
-const shouShuData = ref([])
-const queryShouShu = () => {
-  queryShouShuDialog.value = true
-  queryShouShuCodeData.value.code = ''
-  shouShuData.value = []
-  queryShouShuCodeData.value.page = 1
-  queryShouShuCodeData.value.total = 0
-}
-
-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 addShouShuClick = async (val) => {
   val.ssrq = formatDatetime(val.ssrq)
   if (oprninfoIndex.value !== -1) {
@@ -610,10 +618,11 @@ const shenHeTongGuoClick = () => {
       auditName: name,
     }
     setlUploadAudit(data)
-      .then((res) => {
-        guanBi()
-      })
-      .catch((e) => {})
+        .then((res) => {
+          guanBi()
+        })
+        .catch((e) => {
+        })
   })
 }
 
@@ -629,14 +638,15 @@ const shenHeTongGuoShangChuanClick = () => {
       auditName: name,
     }
     setlUploadAudit(data)
-      .then((res) => {
-        let data = []
-        data.push(props.data.upload)
-        upldSetlList(data).then((res) => {
-          guanBi()
+        .then((res) => {
+          let data = []
+          data.push(props.data.upload)
+          upldSetlList(data).then((res) => {
+            guanBi()
+          })
+        })
+        .catch((e) => {
         })
-      })
-      .catch((e) => {})
   })
 }
 
@@ -648,22 +658,23 @@ const shenHeBoHuiClick = () => {
     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()
+      .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) => {
       })
-    })
-    .catch((e) => {})
 }
 
 function guanBi() {
@@ -739,7 +750,7 @@ function sortableDiseinfo() {
   const ops = {
     animation: 200, //动画时长
     handle: '.shangxiatuodong', // 拖动的 class
-    onEnd({ newIndex, oldIndex }) {
+    onEnd({newIndex, oldIndex}) {
       const currRow = diseinfo.value.splice(oldIndex, 1)[0]
       diseinfo.value.splice(newIndex, 0, currRow)
       diseinfo.value.forEach((item, index) => {
@@ -755,7 +766,7 @@ function sortableOprninfo() {
   const ops = {
     animation: 200, //动画时长
     handle: '.shangxiatuodong',
-    onEnd({ newIndex, oldIndex }) {
+    onEnd({newIndex, oldIndex}) {
       const currRow = oprninfo.value.splice(oldIndex, 1)[0]
       oprninfo.value.splice(newIndex, 0, currRow)
       oprninfo.value.forEach((item, index) => {
@@ -810,22 +821,22 @@ onMounted(() => {
 })
 
 const methods = [
-  { code: 'alpha', name: '拼音' },
-  { code: 'code', name: '编码' },
-  { code: 'name', name: '名称' },
+  {code: 'alpha', name: '拼音'},
+  {code: 'code', name: '编码'},
+  {code: 'name', name: '名称'},
 ]
 
 const admissCondData = [
-  { code: 1, name: '有' },
-  { code: 2, name: '临床未确定' },
-  { code: 3, name: '情况不明' },
-  { code: 4, name: '无' },
+  {code: 1, name: '有'},
+  {code: 2, name: '临床未确定'},
+  {code: 3, name: '情况不明'},
+  {code: 4, name: '无'},
 ]
 
 const siDiagTypes = [
-  { code: '1', name: '西医诊断' },
-  { code: '2', name: '中医主病诊断' },
-  { code: '3', name: '中医主证诊断' },
+  {code: '1', name: '西医诊断'},
+  {code: '2', name: '中医主病诊断'},
+  {code: '3', name: '中医主证诊断'},
 ]
 </script>
 

+ 11 - 0
src/components/si-sheet-upload/jie-suan-dan-xiu-gai/JieSuanDanXiuGaiShouShu.vue

@@ -15,6 +15,14 @@
             @rowClick="rowClick"
         />
       </el-form-item>
+
+      <el-form-item label="科室" prop="deptCode">
+        <xc-select v-model="formShouShu"
+                   :name="['deptCode','deptCodeName']"
+                   :data=" props.deptList">
+        </xc-select>
+      </el-form-item>
+
       <el-form-item label="手术日期" prop="ssrq">
         <el-date-picker v-model="formShouShu.ssrq" type="datetime"></el-date-picker>
       </el-form-item>
@@ -101,6 +109,9 @@ const props = defineProps({
   data: {
     type: Object,
   },
+  deptList: {
+    type: Array
+  }
 })
 const emit = defineEmits(['addShouShuClick', 'close'])
 

+ 6 - 1
src/components/xc/select/XcSelect.vue

@@ -148,6 +148,11 @@ const blur = () => {
 defineExpose({focus, blur})
 
 onMounted(() => {
+  modelObj = {
+    value: props.modelValue[props.name[0]],
+    label: props.modelValue[props.name[1]],
+  }
+
   // 判断组件是否使用了 slot
   if (!!useSlots().default) {
     // 判断 slot 有没有想要的值
@@ -177,4 +182,4 @@ onMounted(() => {
 
 <style scoped>
 
-</style>
+</style>

+ 1 - 2
src/components/zhu-yuan-yi-sheng/hui-zhen-shen-qing/TianJiaHuiZhenShenQing.vue

@@ -11,8 +11,7 @@
             placeholder="根据拼音首字母查找"
             remote
             value-key="code"
-            @change="huiZhenYiShengPanDuan"
-        >
+            @change="huiZhenYiShengPanDuan">
           <el-option v-for="item in deptList" :key="item.code" :label="item.name"
                      :value="{name:item.name,code:item.code,dept:'科室'}">
             <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>

+ 1 - 0
src/views/medical-insurance/allpatient/SetSheetUpload.vue

@@ -475,6 +475,7 @@ export default {
         jieSuanDanData.value.fundPaySumamt = val.fundPaySumamt
         jieSuanDanData.value.decType = val.decType
         jieSuanDanData.value.upload = val
+        jieSuanDanData.value.deptList = disDepts.value
         jieSuanDanData.value.shenHeXinXi = {
           id: val.id,
           reqOpId: val.reqOpId,