This commit is contained in:
wuyy 2026-07-24 17:37:42 +08:00
parent 368c6d95de
commit fc2dde5a8c
6 changed files with 43 additions and 24 deletions

View File

@ -1,7 +1,5 @@
<template>
<!-- 侧边hover悬浮容器 -->
<div class="float-wrap">
<!-- 触发窄条 + 圆形按钮 -->
<div class="float-trigger" @click="togglePanel">
<el-icon size="20">
<DishDot />
@ -14,10 +12,15 @@
<div v-show="panelVisible" class="stock-notify-wrap">
<!-- 顶部蓝色标题栏 -->
<div class="panel-header">
<div class="header-title"></div>
<div class="header-title">
<el-select v-model="setting.type" style="width:150px" @change="changeType">
<el-option label="临床医生站" value="1" />
<el-option label="输血科" value="2" />
</el-select>
</div>
<div class="header-btn-group">
<el-button size="small" @click="refreshStock">刷新</el-button>
<el-button size="small" @click="openSetting">设置</el-button>
<!-- <el-button size="small" @click="openSetting">设置</el-button> -->
<el-button size="small" @click="closePanel">关闭</el-button>
</div>
</div>
@ -137,6 +140,11 @@ const saveSetting = () => {
settingVisible.value = false
refreshStock()
}
const changeType = (val) => {
// 刷新数据
refreshStock()
}
// 面板控制
const panelVisible = ref(true)
const settingVisible = ref(false)
@ -174,7 +182,6 @@ const getList = () => {
}
// 刷新库存接口
const refreshStock = async () => {
console.log('请求库存数据')
queryExpiredBlood().then(res => {
expireList.value = res.data
})

View File

@ -24,7 +24,7 @@
<div v-else @keydown="handleTableKeydown" tabindex="0" style="outline: none;">
<vxe-table ref="tableRef" border resizable max-height="350px" v-loading="tableLoading"
:row-config="{ isHover: true, keyField: labelField, height: 30, isCurrent: true }" :data="filterData"
:current-row="currentRow" @cell-click="handleRowClick"
:current-row="currentRow" @cell-click="handleRowClick" :showHeader="showHeader"
:tooltip-config="{ appendToBody: true, zIndex: 3000 }" :show-overflow="true"
:scroll-y="{ enabled: true, rSize: 30, height: '100%', oSize: 20, gt: 30, }">
<vxe-table-column v-for="field in props.columnList" :key="field.prop" :field="field.prop"

View File

@ -16,12 +16,13 @@
<el-button :loading="shLoading" @click="reviewHandle">审核</el-button>
<el-button type="danger" plain @click="cancelreviewHandle">取消审核</el-button>
<el-button type="info" plain @click="invalidateHandle">作废</el-button>
<el-button type="warning" :disabled="!xkTransfuseApply.bill_no" plain @click="">打印输血申请单</el-button>
<el-button type="warning" :disabled="!xkTransfuseApply.bill_no" plain
@click="printHandle('BLOOD_APPLY')">打印输血申请单</el-button>
<el-button @click="goHistoryBlood">患者输血历史</el-button>
<el-button type="warning" :disabled="!xkTransfuseApply.bill_no" plain :loading="printLoading"
@click="printPg('LARGE_APPLY')">打印大量输血审批单</el-button>
@click="printHandle('LARGE_APPLY')">打印大量输血审批单</el-button>
<el-button type="warning" :disabled="!xkTransfuseApply.assess_bill_no" plain :loading="printLoading"
@click="printPg('INFORMED_CONSENT')">打印输血知情同意书</el-button>
@click="printHandle('INFORMED_CONSENT')">打印输血知情同意书</el-button>
</div>
<!-- 主体区域 左2 : 右1 -->
@ -982,12 +983,12 @@ const shClose = () => {
const printLoading = ref(false)
//打印输血评估单
const printPg = (name: string) => {
const printHandle = (name: string) => {
printLoading.value = true
let billno = ''
if (name == 'INFORMED_CONSENT') {
billno = xkTransfuseApply.value.assess_bill_no
} else if (name == 'LARGE_APPLY') {
} else {
billno = xkTransfuseApply.value.bill_no
}
printPat({ billNo: billno, templateName: name }).then((res) => {

View File

@ -20,7 +20,8 @@
</div>
<el-form label-width="auto" class="form-container">
<el-form label-width="auto" class="form-container"
:disabled="bloodInfo.bill_status && bloodInfo.bill_status == '2'">
<div class="section pginfo">
<el-row :gutter="20">
<el-col :span="4">
@ -57,7 +58,8 @@
</el-col>
<el-col :span="4">
<el-form-item label="血 型">
<el-select v-model="baseInfo.abo" placeholder="" :disabled="aboFlag == 'N'" clearable>
<el-select v-model="baseInfo.abo" placeholder=""
:disabled="aboFlag == 'N' || (bloodInfo.bill_status && bloodInfo.bill_status == '2')" clearable>
<el-option v-for="v in dictData.abotype" :label="v.label" :value="v.value" />
</el-select>
</el-form-item>
@ -80,10 +82,10 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="Rh(D)">
<el-select v-model="baseInfo.rh" placeholder="" :disabled="aboFlag == 'N'" clearable>
<el-select v-model="baseInfo.rh" placeholder=""
:disabled="aboFlag == 'N' || (bloodInfo.bill_status && bloodInfo.bill_status == '2')" clearable>
<el-option v-for="v in dictData.rhtype" :label="v.label" :value="v.value" />
</el-select>
</el-form-item>
@ -93,7 +95,8 @@
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="科 室">
<SelectTable v-model:data="bloodInfo.dept_id" :tableData="dictData.ks" placeholder="" />
<SelectTable v-model:data="bloodInfo.dept_id" :tableData="dictData.ks" placeholder=""
:disabled="bloodInfo.bill_status && bloodInfo.bill_status == '2'" />
</el-form-item>
</el-col>
@ -109,12 +112,14 @@
</el-col>
<el-col :span="4">
<el-form-item label="病 区">
<SelectTable v-model:data="bloodInfo.zone_id" dict-type="bq" placeholder="" />
<SelectTable v-model:data="bloodInfo.zone_id" dict-type="bq" placeholder=""
:disabled="bloodInfo.bill_status && bloodInfo.bill_status == '2'" />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="属 地">
<SelectTable v-model:data="baseInfo.apanage" dict-type="sd" placeholder="" />
<SelectTable v-model:data="baseInfo.apanage" dict-type="sd" placeholder=""
:disabled="bloodInfo.bill_status && bloodInfo.bill_status == '2'" />
</el-form-item>
</el-col>
</el-row>
@ -122,7 +127,8 @@
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="输血目的">
<SelectTable v-model:data="bloodInfo.intent" dict-type="sxmd" placeholder="" />
<SelectTable v-model:data="bloodInfo.intent" dict-type="sxmd" placeholder=""
:disabled="bloodInfo.bill_status && bloodInfo.bill_status == '2'" />
</el-form-item>
</el-col>
<el-col :span="4">
@ -148,7 +154,8 @@
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="血液品种">
<SelectTable v-model:data="bloodInfo.blood_breed" dict-type="xylx" placeholder="" />
<SelectTable v-model:data="bloodInfo.blood_breed" dict-type="xylx" placeholder=""
:disabled="bloodInfo.bill_status && bloodInfo.bill_status == '2'" />
</el-form-item>
</el-col>
<el-col :span="8">

View File

@ -2,7 +2,7 @@
<div class="table-content">
<el-table :data="firstGroupList" border height="100%" show-overflow-tooltip>
<el-table-column label="项目名" prop="item_name" align="center" />
<el-table-column label="结果" prop="item_result" align="center">
<el-table-column label="结果" prop="item_result" align="center" :show-overflow-tooltip="false">
<template #default="{ row }">
<el-input v-model="row.item_result" placeholder="" type="number" class="full-width-input"
v-if="row.result_type == 'A'" @input="syncParent" />
@ -13,11 +13,11 @@
</template>
</el-table-column>
<el-table-column label="单位" prop="item_unit" align="center" width="80" />
<el-table-column label="检验时间" prop="test_date" align="center" />
<el-table-column label="检验时间" prop="test_date" />
</el-table>
<el-table :data="secondGroupList" border height="100%" show-overflow-tooltip>
<el-table-column label="项目名" prop="item_name" align="center" />
<el-table-column label="结果" prop="item_result" align="center">
<el-table-column label="结果" prop="item_result" align="center" :show-overflow-tooltip="false">
<template #default="{ row }">
<el-input v-model="row.item_result" placeholder="" type="number" class="full-width-input"
v-if="row.result_type == 'A'" @input="syncParent" />
@ -34,6 +34,7 @@
</template>
<script setup lang="ts">
import DropdownTableSelect from '@/components/DropdownTableSelect/index.vue'
import { dictData } from '@/hooks'
const props = defineProps<{
lisList: any[]
@ -49,6 +50,10 @@ watch(lisList, (val) => {
localList.value = val ? JSON.parse(JSON.stringify(val)) : []
}, { immediate: true })
const columnList = [
{ label: '项目名', prop: 'label' },
]
// 拆分两组 分开computed
const firstGroupList = computed(() => {
const list = localList.value || []

View File

@ -143,7 +143,6 @@ const rowClick = (row) => {
const onSearch = () => {
searchForm.value.stime = dayjs(searchForm.value.stime).format('YYYY-MM-DD') + ' 00:00:00'
searchForm.value.etime = dayjs(searchForm.value.etime).format('YYYY-MM-DD') + ' 23:59:59'
console.log('查询参数', searchForm.value)
approvalQueryList(searchForm.value).then((res) => {
tableData.value = res.data
})