|
@@ -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 }}
|
|
|
|
|
|
- <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>
|