123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- <template>
- <el-container>
- <el-header style="height: 30px">
- 检验名称:
- <el-autocomplete
- v-model="chaXunJianYanTiaoJian.orderName"
- :fetch-suggestions="querySearchAsync"
- clearable
- style="width: 120px"
- @keyup.enter="dianJiChaXunJianYan(0)"
- ></el-autocomplete>
- 检验时间:
- <el-date-picker
- v-model="dateRange"
- :shortcuts="shortcuts"
- clearable
- end-placeholder="结束日期"
- placeholder="选择日期"
- range-separator="至"
- size="small"
- start-placeholder="开始日期"
- style="width: 280px"
- type="daterange"
- ></el-date-picker>
- <el-divider direction="vertical"></el-divider>
- <el-button icon="Search" type="primary" @click="dianJiChaXunJianYan(0)">查询</el-button>
- <el-button icon="Plus" type="primary" @click="dianJiXinZengJianYan">新增</el-button>
- <el-button icon="View" type="primary" @click="dianJiChaKanHuanZheJianYan">查看患者检验</el-button>
- </el-header>
- <el-main>
- <el-table :data="jianYanShuJu" :height="windowSize.h / 1.5">
- <el-table-column label="医嘱号" prop="actOrderNo"></el-table-column>
- <el-table-column label="项目名称" prop="groupName"></el-table-column>
- <el-table-column label="执行科室" prop="execDeptName"></el-table-column>
- <el-table-column label="标本" prop="inspectStuffName"></el-table-column>
- <el-table-column label="申请备注" prop="reqComment" show-overflow-tooltip></el-table-column>
- <el-table-column label="申请时间" prop="reqDate" show-overflow-tooltip></el-table-column>
- <el-table-column label="申请科室" prop="reqDeptName"></el-table-column>
- <el-table-column label="申请医生" prop="reqDoctorName"></el-table-column>
- <el-table-column label="接受" prop="receiveFlagName"></el-table-column>
- <el-table-column label="操作" width="250" fixed="right">
- <template #default="scope">
- <el-popover :width="500"
- trigger="click"
- placement="left"
- title="费用详情">
- <template #reference>
- <el-button icon="View" type="primary" text @click="viewFeeDetails(scope.row )">查看详情</el-button>
- </template>
- <el-table :data="feeDetailsData">
- <el-table-column property="orderCode" label="检查编码"/>
- <el-table-column property="occCode" label="收费编码"/>
- <el-table-column property="name" label="名字"/>
- <el-table-column property="amount" label="数量"/>
- <el-table-column property="chargeAmount" label="金额"/>
- <el-table-column property="unitPrice" label="单价"/>
- </el-table>
- </el-popover>
- <el-button icon="Delete" type="danger" text @click="dianJiShanChu(scope.row, scope.$index)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- :current-page="chaXunJianYanTiaoJian.currentPage"
- :page-size="chaXunJianYanTiaoJian.pageSize"
- :page-sizes="[10, 20, 30, 40]"
- :total="chaXunJianYanTiaoJian.currentPage"
- layout="total, sizes, prev, pager, next, jumper"
- @size-change="jianYanTiaoShu"
- @current-change="jianYanFenYe"
- >
- </el-pagination>
- </el-main>
- </el-container>
- </template>
- <script name="JianYanShenQing" setup>
- import {computed, ref, watch} from 'vue'
- import {shortcuts} from '@/data/shortcuts'
- import store from '@/store'
- import {getDateRangeFormatDate, getFormatDatetime} from '@/utils/date'
- import {huanZheXinXi, youWuXuanZheHuanZhe} from '@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng'
- import {
- huoQuJianYan,
- huoQuJianYanJianChaMing,
- shanChuJianChaJianYan, viewInspectionItemDetails
- } from '@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing'
- import router from '@/router'
- import {ElMessageBox} from 'element-plus'
- import {getServerDateApi} from '@/api/public-api'
- const windowSize = computed(() => {
- return store.state.app.windowSize
- })
- const dateRange = ref(null)
- const jianYanShuJu = ref([])
- const tianJiaJianYan = ref()
- const chaXunJianYanTiaoJian = ref({
- orderName: '',
- startTime: '',
- endTime: '',
- currentPage: 1,
- pageSize: 20,
- total: 0,
- patNo: '',
- times: '',
- })
- const dianJiChaXunJianYan = (val) => {
- chaXunJianYanTiaoJian.value.total = val
- let dateS = getDateRangeFormatDate(dateRange.value)
- chaXunJianYanTiaoJian.value.startTime = dateS.startTime
- chaXunJianYanTiaoJian.value.endTime = dateS.endTime
- chaXunJianYanTiaoJian.value.patNo = huanZheXinXi.value.inpatientNo
- chaXunJianYanTiaoJian.value.times = huanZheXinXi.value.admissTimes
- huoQuJianYan(chaXunJianYanTiaoJian.value).then((res) => {
- if (val === 0) {
- chaXunJianYanTiaoJian.value.total = res.total
- }
- jianYanShuJu.value = res.records
- })
- }
- const jianYanTiaoShu = (val) => {
- chaXunJianYanTiaoJian.value.currentPage = 1
- chaXunJianYanTiaoJian.value.pageSize = val
- dianJiChaXunJianYan(0)
- }
- const jianYanFenYe = (val) => {
- chaXunJianYanTiaoJian.value.currentPage = val
- dianJiChaXunJianYan(chaXunJianYanTiaoJian.value.total)
- }
- const querySearchAsync = (val, cb) => {
- if (youWuXuanZheHuanZhe()) return
- huoQuJianYanJianChaMing(val, huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes, huanZheXinXi.value.bedNo, '2').then((res) => {
- cb(res)
- })
- }
- let feeDetailsData = $ref([])
- const viewFeeDetails = ({orderCode}) => {
- viewInspectionItemDetails(orderCode).then((res) => {
- feeDetailsData = res
- })
- }
- const dianJiShanChu = (row, index) => {
- ElMessageBox.confirm(`您确定要删除【${row.orderName}】吗?`, '提示')
- .then(() => {
- shanChuJianChaJianYan(row.reqNo, row.inpatientNo, row.admissTimes).then((res) => {
- jianYanShuJu.value.splice(index, 1)
- })
- })
- .catch(() => {
- })
- }
- const dianJiXinZengJianYan = () => {
- router.push({
- name: 'xinZengShuJu',
- params: {passRule: true, name: '检验'},
- query: {path: '/inpatient/zhuYuanYiSheng/jianYanShenQing'},
- })
- }
- const dianJiChaKanHuanZheJianYan = () => {
- if (youWuXuanZheHuanZhe()) return
- let end = ''
- getServerDateApi().then((res) => {
- end = getFormatDatetime(res, 'YYYY-MM-DD')
- router.push({
- name: 'inspectionReportIndex',
- params: {
- passRule: true,
- patNo: huanZheXinXi.value.inpatientNo,
- start: huanZheXinXi.value.admissDate,
- end: end,
- },
- })
- })
- }
- watch(
- () => huanZheXinXi.value,
- () => {
- dianJiChaXunJianYan(0)
- }
- )
- </script>
- <style scoped></style>
|