交叉配血、优化其他页面
This commit is contained in:
parent
82212c00c6
commit
57af215001
@ -128,4 +128,76 @@ export function queryOneInfo(query?: Object) {
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 获取交叉配血列表
|
||||
export function queryMatchBloodList(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/queryMatchBloodList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 获取待处理单据
|
||||
export function queryWaitInfo(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/queryWaitInfo',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 获取申请单数据
|
||||
export function queryMatchOne(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/queryOne',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 校验该血液是否已经存在配血数据
|
||||
export function checkBloodMatched(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/checkBloodMatched',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 获取血液信息
|
||||
export function getBloodInfoMatch(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/getBloodInfoMatch',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 保存交叉配血数据
|
||||
export function saveBloodData(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/saveData',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
// 查询单条数据
|
||||
export function queryMatchApplyInfo(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/queryApplyInfo',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 取消血液配血
|
||||
export function cancelBloodInfoMatch(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/cancelBloodInfoMatch',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 作废配血单
|
||||
export function deleteBloodInfoMatch(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/bloodbank/matchBlood/deleteBloodInfoMatch',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -80,4 +80,12 @@ export function queryOperation(query?: Object) {
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 根据血液流水号获取血液信息 bloodNo
|
||||
export function queryBloodInfoByBloodNo(query?: Object) {
|
||||
return request({
|
||||
url: '/bus/common/queryBloodInfoByBloodNo',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
@ -3,7 +3,7 @@
|
||||
<el-dropdown ref="dropdownRef" trigger="manual" placement="bottom-start" style="width:100%" :teleported="false"
|
||||
:popper-style="{ width: realtableWidth }">
|
||||
<div class="input-wrap" style="width:100%">
|
||||
<el-input v-model="inputText" :placeholder="placeholder" :readonly="readonly"
|
||||
<el-input v-model="inputText" :placeholder="placeholder" :disabled="disabled"
|
||||
@keydown.enter.prevent="handleInputEnter" />
|
||||
<span class="arrow-icon" @click.stop="toggleDropdown">
|
||||
<el-icon>
|
||||
@ -106,8 +106,9 @@ const props = defineProps({
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
// 是否只读
|
||||
readonly: {
|
||||
|
||||
//禁用下拉箭头事件
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
@ -258,6 +259,7 @@ const handleInputEnter = (e: KeyboardEvent) => {
|
||||
|
||||
// 切换下拉框
|
||||
const toggleDropdown = () => {
|
||||
if (props.disabled) return
|
||||
if (!dropdownRef.value) return
|
||||
showPanel.value = !showPanel.value
|
||||
if (showPanel.value) {
|
||||
|
||||
@ -79,9 +79,9 @@ export function comDict(...args: string[]): Promise<DictResult> {
|
||||
dictType: dictType
|
||||
}).then((resp: any) => {
|
||||
const dictList = resp.data.map((p: any) => ({
|
||||
...p,
|
||||
label: p.wordbook_name,
|
||||
value: p.wordbook_code,
|
||||
remark: p.remark,
|
||||
}));
|
||||
|
||||
res.value[dictType] = dictList;
|
||||
|
||||
@ -163,16 +163,16 @@
|
||||
</template>
|
||||
|
||||
<template #pickNurse="{ row }">
|
||||
{{userList.find(item => item.value == row.Pick_Nurse)?.label}}
|
||||
{{userList.find(item => item.value == row.Pick_Nurse)?.label || row.Pick_Nurse}}
|
||||
</template>
|
||||
<template #sendNurse="{ row }">
|
||||
{{userList.find(item => item.value == row.Send_Nurse)?.label}}
|
||||
{{userList.find(item => item.value == row.Send_Nurse)?.label || row.Send_Nurse}}
|
||||
</template>
|
||||
<template #takeOverMan="{ row }">
|
||||
{{userList.find(item => item.value == row.TakeOver_Man)?.label}}
|
||||
{{userList.find(item => item.value == row.TakeOver_Man)?.label || row.TakeOver_Man}}
|
||||
</template>
|
||||
<template #sendperson="{ row }">
|
||||
{{userList.find(item => item.value == row.sendperson)?.label}}
|
||||
{{userList.find(item => item.value == row.sendperson)?.label || row.sendperson}}
|
||||
</template>
|
||||
|
||||
<template #status="{ row }">
|
||||
|
||||
@ -9,73 +9,79 @@
|
||||
<!-- 顶部操作按钮栏 -->
|
||||
<div class="card-box">
|
||||
<el-button type="primary" plain @click="openJsHandle">检索</el-button>
|
||||
<el-button type="primary" plain>新增单据</el-button>
|
||||
<el-button type="danger" plain>删除单据</el-button>
|
||||
<el-button type="danger" plain>作废整单</el-button>
|
||||
<el-button type="primary" plain @click="addMatch">新增单据</el-button>
|
||||
<el-button type="danger" plain @click="cancelApply">作废整单</el-button>
|
||||
<el-button type="primary" plain>血液库存</el-button>
|
||||
<el-button type="primary" plain>检验结果</el-button>
|
||||
<el-button type="success" plain>保存</el-button>
|
||||
<el-button type="success" plain :disabled="bloodInfo.bill_status && bloodInfo.bill_status != 'A'"
|
||||
@click="saveBloodApply" :loading="saveLoading">保存</el-button>
|
||||
<el-button type="warning" plain>打印</el-button>
|
||||
</div>
|
||||
|
||||
<!-- 主体左右分栏容器 -->
|
||||
<div class="main-wrap">
|
||||
<!-- 左侧主表单区域 -->
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="15">
|
||||
<!-- 申请单信息卡片 -->
|
||||
<div class="card-box">
|
||||
<div class="section-title">申请单信息</div>
|
||||
<el-form :model="formData" label-width="auto">
|
||||
<!-- 使用el-row实现一行四个表单项 -->
|
||||
<el-row :gutter="10" class="left-row">
|
||||
<el-col :span="15" class="left-col">
|
||||
<el-form :model="formData" label-width="auto" class="form_box"
|
||||
:disabled="bloodInfo.bill_status && bloodInfo.bill_status != 'A'">
|
||||
<div class="card-box">
|
||||
<div class="section-title">
|
||||
<div> 申请单信息 </div>
|
||||
<div v-show="bloodInfo.bill_no">
|
||||
配血单号:{{ bloodInfo.bill_no || '' }}
|
||||
</div>
|
||||
</div>
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="申请单号">
|
||||
<DropdownTableSelect v-model="formData.applyBillNo" :column-list="applyColumns"
|
||||
labelField="applyBillNo" :table-data="applyTableData" @open="loadApplyData"
|
||||
@search="handleSearch" />
|
||||
<DropdownTableSelect v-model="formData.bill_no" :column-list="applyColumns" tableWidth="800px"
|
||||
:showSearch="false" labelField="bill_no" :table-data="applyTableData" @open="loadApplyData"
|
||||
@search="searchApply" @change="searchApply" :disabled="!!(bloodInfo.bill_no)">
|
||||
<template #dept_id="{ row }">
|
||||
{{ formatDict(row.dept_id, 'ks') }}
|
||||
</template>
|
||||
<template #blood_breed="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
</DropdownTableSelect>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="申请日期">
|
||||
<el-date-picker v-model="formData.applyDate" type="datetime" format="YYYY-MM-DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DD HH:mm:ss" placeholder="0000-00-00 00:00" style="width: 100%;" />
|
||||
<el-input v-model="formData.apply_date" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="姓 名">
|
||||
<el-input v-model="formData.patientName" placeholder="" style="width: 100%;" />
|
||||
<el-input v-model="formData.patient_name" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="血型">
|
||||
<el-input v-model="formData.bloodType" placeholder="" style="width: 100%;" />
|
||||
</el-form-item>
|
||||
<div class="status" v-show="formData.bill_stasus"
|
||||
:style="{ borderColor: getBillStatusInfo(formData.bill_stasus).color, color: getBillStatusInfo(formData.bill_stasus).color }">
|
||||
{{ getBillStatusInfo(formData.bill_stasus).label }}
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="性 别">
|
||||
<el-select v-model="formData.gender" placeholder="请选择">
|
||||
<el-option label="男" value="男"></el-option>
|
||||
<el-option label="女" value="女"></el-option>
|
||||
</el-select>
|
||||
<el-input v-model="formData.patient_sex" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="年 龄">
|
||||
<el-input v-model="formData.age" placeholder="" style="width: 100%;" />
|
||||
<el-input v-model="formData.age" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="住院号/ID号">
|
||||
<el-input v-model="formData.hospitalId" placeholder="" style="width: 100%;" />
|
||||
<el-input v-model="formData.beinhos_id" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="Rh(D)">
|
||||
<el-input v-model="formData.rhD" placeholder="" style="width: 100%;" />
|
||||
<el-form-item label="血型">
|
||||
<el-input v-model="formData.abo_type" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -83,27 +89,32 @@
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="病 区">
|
||||
<el-input v-model="formData.ward" placeholder="" style="width: 100%;" />
|
||||
<SelectTable v-model:data="formData.zone_id" :tableData="dictData.bq" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="科 室">
|
||||
<el-input v-model="formData.department" placeholder="" style="width: 100%;" />
|
||||
<SelectTable v-model:data="formData.dept_id" :tableData="dictData.ks" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="床位号">
|
||||
<el-input v-model="formData.bedNo" placeholder="" style="width: 100%;" />
|
||||
<el-input v-model="formData.patient_bed" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="Rh(D)">
|
||||
<el-input v-model="formData.rh_type" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="临床诊断">
|
||||
<el-input v-model="formData.diagnosis" placeholder="" style="width: 100%;" />
|
||||
<el-input v-model="formData.diagnoses" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="输血目的">
|
||||
<el-input v-model="formData.transPurpose" placeholder="" style="width: 100%;" />
|
||||
<SelectTable v-model:data="formData.intent" :tableData="dictData.sxmd" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -111,27 +122,29 @@
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="申请血型">
|
||||
<el-input v-model="formData.applyBloodType" placeholder="" style="width: 100%;" />
|
||||
<el-input v-model="formData.apply_bloodtype" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="ABO复核">
|
||||
<el-input v-model="formData.aboCheck" placeholder="" style="width: 100%;" />
|
||||
<el-input v-model="formData.affirm_abo" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="亚型">
|
||||
<el-input v-model="formData.subType" placeholder="" style="width: 100%;" />
|
||||
<SelectTable v-model:data="formData.Sub_Blood" :tableData="dictData.subgroup" placeholder=""
|
||||
disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="Rh(D)复核">
|
||||
<el-input v-model="formData.rhDCheck" placeholder="" style="width: 100%;" />
|
||||
<el-input v-model="formData.check_rh" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="抗体筛选">
|
||||
<el-input v-model="formData.antibodyScreen" placeholder="" style="width: 100%;" />
|
||||
<SelectTable v-model:data="formData.affirm_antibody" :tableData="dictData.ktsx" placeholder=""
|
||||
disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -140,81 +153,151 @@
|
||||
<el-col :span="15">
|
||||
<el-form-item label=" ">
|
||||
<div class="checkbox-group">
|
||||
<el-checkbox v-model="formData.transReactionHis">输血反应史</el-checkbox>
|
||||
<el-checkbox v-model="formData.transHistory">输血史</el-checkbox>
|
||||
<el-checkbox v-model="formData.deliverHistory">分娩史</el-checkbox>
|
||||
<el-checkbox v-model="formData.pregnancyHistory">妊娠史</el-checkbox>
|
||||
<el-checkbox v-model="formData.matchHistory">配型史</el-checkbox>
|
||||
<el-checkbox :model-value="formData.reaction_history == 'Y'">输血反应史</el-checkbox>
|
||||
<el-checkbox :model-value="formData.transfuse_history == 'Y'">输血史</el-checkbox>
|
||||
<el-checkbox :model-value="formData.parturition_history == 'Y'">分娩史</el-checkbox>
|
||||
<el-checkbox :model-value="formData.gestation_history == 'Y'">妊娠史</el-checkbox>
|
||||
<el-checkbox :model-value="formData.match_history == 'Y'">配型史</el-checkbox>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-col :span="9">
|
||||
<el-form-item label="预定输血日期">
|
||||
<el-date-picker v-model="formData.preTransDate" type="datetime" format="YYYY-MM-DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DD HH:mm:ss" placeholder="0000-00-00 00:00" style="width: 100%;" />
|
||||
<el-date-picker v-model="formData.use1_date" type="datetime" format="YYYY-MM-DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DD HH:mm:ss" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
|
||||
<!-- 血液申请表格 - 固定高度确保一屏展示 -->
|
||||
<el-table :data="bloodApplyTable" border height="160">
|
||||
<el-table-column label="血液品种" prop="bloodKind" align="center" />
|
||||
<el-table-column label="申请血量" prop="applyNum" align="center" />
|
||||
<el-table-column label="单位" prop="unit" align="center" />
|
||||
<el-table-column label="申请血型" prop="applyBlood" align="center" />
|
||||
<el-table-column label="替代血液品种" prop="replaceBlood" align="center" />
|
||||
<el-table-column label="输血目的" prop="transGoal" align="center" />
|
||||
<el-table-column label="输血指征" prop="transIndex" align="center" />
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<!-- 配血记录卡片 - 固定高度确保一屏展示 -->
|
||||
<div class="card-box" style="margin-bottom: 0px;">
|
||||
<div class="section-title">配血记录</div>
|
||||
<div class="mb10">
|
||||
<el-select v-model="matchSelect" placeholder="请选择" style="width: 150px">
|
||||
<el-option label="增加配血血液" value="add" />
|
||||
<el-option label="取消配血血液" value="cancel" />
|
||||
</el-select>
|
||||
<el-input v-model="searchText" placeholder="" style="width: 250px;margin-left: 20px;" />
|
||||
<el-table :data="bloodApplyTable" border height="150">
|
||||
<el-table-column prop="blood_breed" label="血液品种" align="center" width="150">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="blood_num" label="申请血量" align="center" />
|
||||
<el-table-column prop="unit" label="单位" align="center" width="60" />
|
||||
<el-table-column prop="apply_bloodtype" label="申请血型" align="center">
|
||||
<template #default="{ row }">
|
||||
{{ formatDict(row.apply_bloodtype, 'abotype') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="replace_bloodbreed" label="替代血液品种" align="center" width="120">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.replace_bloodbreed)?.label || row.replace_bloodbreed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="intent" label="输血目的" align="center" width="200">
|
||||
<template #default="{ row }">
|
||||
{{ formatDict(row.intent, 'sxmd') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="causalis" label="输血指征" align="center" width="200">
|
||||
<template #default="{ row }">
|
||||
{{ formatDict(row.causalis, 'sxzz') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="实际用血量" prop="ops_fact_use" align="center" />
|
||||
</el-table>
|
||||
</div>
|
||||
<el-table :data="matchTable" border height="200" stripe>
|
||||
<el-table-column label="序号" prop="index" align="center" width="60" />
|
||||
<el-table-column label="复核者" prop="checkUser" align="center" />
|
||||
<el-table-column label="血液流水号" prop="bloodSerial" align="center" width="120" />
|
||||
<el-table-column label="产品码" prop="productCode" align="center" />
|
||||
<el-table-column label="血液品种" prop="bloodType" align="center" />
|
||||
<el-table-column label="血型" prop="abo" align="center" />
|
||||
<el-table-column label="Rh(D)" prop="rh" align="center" />
|
||||
<el-table-column label="容量" prop="capacity" align="center" />
|
||||
<el-table-column label="供者血型复核" prop="donorAbo" align="center" width="120" />
|
||||
<el-table-column label="供者Rh(D)复核" prop="donorRh" align="center" width="120" />
|
||||
<el-table-column label="配血方法" prop="donorRh" align="center" />
|
||||
<el-table-column label="复核配血方法" prop="donorRh" align="center" width="120" />
|
||||
<el-table-column label="主侧" prop="donorRh" align="center" />
|
||||
<el-table-column label="次侧" prop="donorRh" align="center" />
|
||||
<el-table-column label="结果" prop="donorRh" align="center" />
|
||||
<el-table-column label="配血日期" prop="donorRh" align="center" />
|
||||
<el-table-column label="配血者" prop="donorRh" align="center" />
|
||||
<el-table-column label="血液存放位子" prop="donorRh" align="center" width="120" />
|
||||
<el-table-column label="标本存放位子" prop="donorRh" align="center" width="120" />
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<div class="card-box pxBox" style="margin-bottom: 0px;">
|
||||
<div class="section-title">配血记录</div>
|
||||
<div class="mb10">
|
||||
<el-select v-model="matchSelect" placeholder="请选择" style="width: 150px">
|
||||
<el-option label="增加配血血液" value="add" />
|
||||
<el-option label="取消配血血液" value="del" />
|
||||
</el-select>
|
||||
<el-input v-model="bloodNo" placeholder="" @keyup.enter="bloodEnter"
|
||||
style="width: 250px;margin-left: 20px;" />
|
||||
</div>
|
||||
<div class="table-box">
|
||||
<CustomTable :data="matchTable" :columns="matchColumns" :config="config">
|
||||
<template #second_match_medic_name="{ row }">
|
||||
<SelectTable v-model:data="row.second_match_medic" :tableData="userList" placeholder=""
|
||||
class="full-width-input" clearable />
|
||||
</template>
|
||||
<template #blood_breed="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
<template #offer_affirm_abo="{ row }">
|
||||
<el-select v-model="row.offer_affirm_abo" placeholder="" class="full-width-input">
|
||||
<el-option v-for="option in dictData.abotype" :key="option.value" :label="option.label"
|
||||
:value="option.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #check_offer_rh="{ row }">
|
||||
<el-select v-model="row.check_offer_rh" placeholder="" class="full-width-input">
|
||||
<el-option v-for="option in dictData.rhtype" :key="option.value" :label="option.label"
|
||||
:value="option.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #match_method="{ row }">
|
||||
<el-select v-model="row.match_method" placeholder="" class="full-width-input">
|
||||
<el-option v-for="option in dictData.pxff" :key="option.value" :label="option.label"
|
||||
:value="option.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #second_match_method="{ row }">
|
||||
<el-select v-model="row.second_match_method" placeholder="" class="full-width-input">
|
||||
<el-option v-for="option in dictData.pxff" :key="option.value" :label="option.label"
|
||||
:value="option.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #first_side="{ row }">
|
||||
<el-select v-model="row.first_side" placeholder="" class="full-width-input">
|
||||
<el-option v-for="option in dictData.zccc" :key="option.value" :label="option.label"
|
||||
:value="option.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #second_side="{ row }">
|
||||
<el-select v-model="row.second_side" placeholder="" class="full-width-input">
|
||||
<el-option v-for="option in dictData.zccc" :key="option.value" :label="option.label"
|
||||
:value="option.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #result="{ row }">
|
||||
<el-select v-model="row.result" placeholder="" class="full-width-input">
|
||||
<el-option v-for="option in dictData.pxjg" :key="option.value" :label="option.label"
|
||||
:value="option.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #match_date="{ row }">
|
||||
<el-date-picker v-model="row.match_date" type="datetime" format="YYYY-MM-DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DD HH:mm:ss" placeholder="" class="full-width-input" />
|
||||
</template>
|
||||
<template #match_medic="{ row }">
|
||||
<SelectTable v-model:data="row.match_medic" :tableData="userList" placeholder=""
|
||||
class="full-width-input" clearable />
|
||||
</template>
|
||||
<template #position_blood="{ row }">
|
||||
<el-input v-model="row.position_blood" placeholder="" class="full-width-input" />
|
||||
</template>
|
||||
<template #position_barcode="{ row }">
|
||||
<el-input v-model="row.position_barcode" placeholder="" class="full-width-input" />
|
||||
</template>
|
||||
<template #action="{ row, $index }">
|
||||
<el-button type="primary" text @click="removeRow($index)">删除</el-button>
|
||||
</template>
|
||||
</CustomTable>
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
</el-col>
|
||||
|
||||
<!-- 右侧筛选+结果表格区域 -->
|
||||
<el-col :span="9">
|
||||
<div class="card-box" style="margin-bottom: 0px;">
|
||||
<el-col :span="9" class="right-col">
|
||||
<div class="card-box pxBox" style="margin-bottom: 0px;">
|
||||
<el-form :model="filterForm" inline>
|
||||
<div>
|
||||
<el-form-item label="姓名:">
|
||||
<el-input v-model="filterForm.name" placeholder="" style="width: 120px" />
|
||||
<el-input v-model="filterForm.patientName" placeholder="" style="width: 120px" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态:">
|
||||
<el-select v-model="filterForm.status" placeholder="全部" style="width: 150px">
|
||||
<el-option label="全部" value="" />
|
||||
<el-select v-model="filterForm.status" placeholder="全部" style="width: 150px" clearable>
|
||||
<el-option v-for="option in billStatus" :key="option.value" :label="option.label"
|
||||
:value="option.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
@ -224,25 +307,33 @@
|
||||
|
||||
<div>
|
||||
<el-form-item label="时间:">
|
||||
<el-date-picker v-model="filterForm.startTime" type="date" format="YYYY-MM-DD"
|
||||
<el-date-picker v-model="filterForm.stime" type="date" format="YYYY-MM-DD" style="width: 150px"
|
||||
value-format="YYYY-MM-DD" />
|
||||
<span class="timesplit">-</span>
|
||||
<el-date-picker v-model="filterForm.endTime" type="date" format="YYYY-MM-DD"
|
||||
<el-date-picker v-model="filterForm.etime" type="date" format="YYYY-MM-DD" style="width: 150px"
|
||||
value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
|
||||
<div class="result-table-card">
|
||||
<el-table :data="resultTable" border height="645px">
|
||||
<el-table-column label="配血日期" prop="matchDate" align="center" />
|
||||
<el-table-column label="患者姓名" prop="patName" align="center" />
|
||||
<el-table-column label="单据状态" prop="billStatus" align="center" />
|
||||
<el-table-column label="配血单号" prop="matchNo" align="center" />
|
||||
<el-table-column label="申请单号" prop="applyBillNo" align="center" />
|
||||
<el-table-column label="科室" prop="dept" align="center" />
|
||||
<el-table-column label="ABO复核" prop="aboResult" align="center" />
|
||||
<el-table-column label="Rh(D)复核" prop="rhResult" align="center" />
|
||||
<div class="table-box">
|
||||
<el-table :data="resultTable" border height="100%" highlight-current-row @row-click="handleRowClick">
|
||||
<el-table-column label="配血日期" prop="test_date" align="center" width="150" />
|
||||
<el-table-column label="患者姓名" prop="patient_name" align="center" />
|
||||
<el-table-column label="单据状态" prop="bill_status" align="center">
|
||||
<template #default="{ row }">
|
||||
{{billStatus.find(v => v.value == row.bill_status)?.label || row.bill_status}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="配血单号" prop="bill_no" align="center" width="150" />
|
||||
<el-table-column label="申请单号" prop="apply_no" align="center" width="150" />
|
||||
<el-table-column label="科室" prop="dept_id" align="center">
|
||||
<template #default="{ row }">
|
||||
{{ formatDict(row.dept_id, 'ks') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="ABO复核" prop="affirm_abo" align="center" />
|
||||
<el-table-column label="Rh(D)复核" prop="check_rh" align="center" />
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
@ -271,20 +362,19 @@
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="配血单号">
|
||||
<el-input v-model="searchForm.bill_no" placeholder="" />
|
||||
<el-input v-model="searchForm.billNo" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="科室">
|
||||
<!-- <el-input v-model="searchForm.ks" placeholder="" /> -->
|
||||
<SelectTable v-model:data="searchForm.ks" :tableData="dictData.ks" placeholder="" />
|
||||
<SelectTable v-model:data="searchForm.dept" :tableData="dictData.ks" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="10">
|
||||
<el-form-item label="申请单号">
|
||||
<el-input v-model="searchForm.bill_no" placeholder="" />
|
||||
<el-input v-model="searchForm.applyNo" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
@ -296,76 +386,243 @@
|
||||
</el-form>
|
||||
|
||||
<!-- 结果表格区 -->
|
||||
<el-table :data="tableData" border height="350" @row-click="handleRowClick" highlight-current-row>
|
||||
<el-table :data="tableData" border height="450" @row-click="jsRowclick" highlight-current-row>
|
||||
<el-table-column prop="patient_name" label="患者姓名" align="center" />
|
||||
<el-table-column prop="patient_name" label="单据状态" align="center" />
|
||||
<el-table-column prop="bill_status" label="单据状态" align="center">
|
||||
<template #default="{ row }">
|
||||
{{billStatus.find(v => v.value == row.bill_status)?.label || row.bill_status}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="bill_no" label="配血单号" align="center" width="150" />
|
||||
<el-table-column prop="bill_no" label="申请单号" align="center" width="150" />
|
||||
<el-table-column prop="bill_no" label="住院号/ID号" align="center" width="150" />
|
||||
<el-table-column prop="apply_no" label="申请单号" align="center" width="150" />
|
||||
<el-table-column prop="beinhos_id" label="住院号/ID号" align="center" width="150" />
|
||||
<el-table-column prop="dept_id" label="科室" align="center">
|
||||
<template #default="scope">
|
||||
{{ formatDict(scope.row.dept_id, 'ks') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="assess_data" label="配血日期" width="150" align="center" />
|
||||
<el-table-column prop="beinhos_id" label="ABO复核" align="center" />
|
||||
<el-table-column prop="assess_person" label="Rh(D)复核" align="center" />
|
||||
<el-table-column prop="test_date" label="配血日期" width="150" align="center" />
|
||||
<el-table-column prop="affirm_abo" label="ABO复核" align="center" />
|
||||
<el-table-column prop="check_rh" label="Rh(D)复核" align="center" />
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="血液库存预览" v-model="kcvisible" width="1200px" :close-on-click-modal="false" @closed="">
|
||||
<el-table :data="kcTableData" border height="100%">
|
||||
<el-table-column label="血液流水号" prop="matchDate" align="center" />
|
||||
<el-table-column label="产品码" prop="patName" align="center" />
|
||||
<el-table-column label="血型" prop="billStatus" align="center" />
|
||||
<el-table-column label="Rh血型" prop="matchNo" align="center" />
|
||||
<el-table-column label="有效日期" prop="bill_no" align="center" />
|
||||
<el-table-column label="血液状态" prop="dept" align="center" />
|
||||
<el-table-column label="血液品种" prop="aboResult" align="center" />
|
||||
<el-table-column label="容量" prop="rhResult" align="center" />
|
||||
<el-table-column label="单位" prop="unit" align="center" />
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import DropdownTableSelect, { type TableColumnItem, type TableRowItem } from '@/components/DropdownTableSelect/index.vue'
|
||||
import dayjs from 'dayjs'
|
||||
import { getDictData, formatDict, dictData } from '@/hooks'
|
||||
import { getDictData, formatDict, dictData, useCommonDict } from '@/hooks'
|
||||
import { queryMatchBloodList, queryMatchOne, queryWaitInfo, getBloodInfoMatch, checkBloodMatched, saveBloodData, queryMatchApplyInfo, cancelBloodInfoMatch, deleteBloodInfoMatch } from '@/api/blood'
|
||||
import { queryBloodInfoByBloodNo } from '@/api/common'
|
||||
import { ElMessageBox, ElMessage } from 'element-plus'
|
||||
import useUserStore from '@/store/modules/user'
|
||||
|
||||
const userInfo = useUserStore()
|
||||
const { userList, getUserData, getServerTime, bloodBreed, getBloodList, } = useCommonDict()
|
||||
|
||||
const visible = ref(false)
|
||||
const kcvisible = ref(false)
|
||||
const kcTableData = ref([])
|
||||
const bloodInfo = ref({})
|
||||
|
||||
const saveLoading = ref(false)
|
||||
const billStatus = ref([
|
||||
{ label: '未发血', value: 'A' },
|
||||
{ label: '已发血', value: 'B' },
|
||||
{ label: '已作废', value: 'ZF' },
|
||||
])
|
||||
const searchForm = ref({
|
||||
stime: dayjs().format('YYYY-MM-DD'),
|
||||
etime: dayjs().format('YYYY-MM-DD'),
|
||||
patient_name: '',
|
||||
bill_no: '',
|
||||
beinhos_id: ''
|
||||
})
|
||||
|
||||
const tableData = ref([])
|
||||
|
||||
const applyColumns = ref<TableColumnItem[]>([
|
||||
{ label: '申请单号', prop: 'applyBillNo' },
|
||||
{ label: '患者姓名', prop: 'patientName' },
|
||||
{ label: '科室', prop: 'dept' },
|
||||
{ label: '申请品种', prop: 'bloodKind' }
|
||||
{ label: '申请单号', prop: 'bill_no' },
|
||||
{ label: '患者姓名', prop: 'patient_name' },
|
||||
{ label: '科室', prop: 'dept_id', slotName: 'dept_id' },
|
||||
{ label: '申请时间', prop: 'apply_date' },
|
||||
{ label: '申请品种', prop: 'blood_breed', slotName: 'blood_breed' }
|
||||
])
|
||||
const applyTableData = ref<TableRowItem[]>([])
|
||||
const searchText = ref('')
|
||||
const matchSelect = ref('add')
|
||||
|
||||
// 主表单数据
|
||||
const formData = ref({})
|
||||
|
||||
// 右侧筛选表单
|
||||
const filterForm = reactive({
|
||||
const filterForm = ref({
|
||||
name: '',
|
||||
status: '',
|
||||
startTime: dayjs().format('YYYY-MM-DD'),
|
||||
endTime: dayjs().format('YYYY-MM-DD'),
|
||||
stime: dayjs().format('YYYY-MM-DD'),
|
||||
etime: dayjs().format('YYYY-MM-DD'),
|
||||
})
|
||||
|
||||
const bloodNo = ref('000011112235')
|
||||
// 配血操作单选
|
||||
const matchRadio = ref('add')
|
||||
const matchSelect = ref('add')
|
||||
|
||||
// 血液申请表格
|
||||
const bloodApplyTable = ref([])
|
||||
// 配血记录表格
|
||||
const matchTable = ref([])
|
||||
const matchColumns = ref([
|
||||
{ label: '序号', type: 'index', width: 40, visible: true, align: 'center' },
|
||||
{ label: '复核者', prop: 'second_match_medic_name', align: 'center', visible: true, width: 100, slot: 'second_match_medic_name', showOverflowTooltip: false },
|
||||
{ label: '血液流水号', prop: 'blood_no', align: 'center', width: 120, visible: true, },
|
||||
{ label: '产品码', prop: 'product_no', align: 'center', visible: true, },
|
||||
{ label: '血液品种', prop: 'blood_breed', align: 'center', visible: true, slot: 'blood_breed', },
|
||||
{ label: '血型', prop: 'blood_type', align: 'center', visible: true, },
|
||||
{ label: 'Rh(D)', prop: 'rh_blood_type', align: 'center', visible: true, },
|
||||
{ label: '容量', prop: 'capacity', align: 'center', visible: true, },
|
||||
{ label: '供者血型复核', prop: 'offer_affirm_abo', align: 'center', visible: true, width: 120, slot: 'offer_affirm_abo', showOverflowTooltip: false },
|
||||
{ label: '供者Rh(D)复核', prop: 'check_offer_rh', align: 'center', visible: true, width: 120, slot: 'check_offer_rh', showOverflowTooltip: false },
|
||||
{ label: '配血方法', prop: 'match_method', align: 'center', visible: true, width: 150, slot: 'match_method', showOverflowTooltip: false },
|
||||
{ label: '复核配血方法', prop: 'second_match_method', align: 'center', visible: true, width: 150, slot: 'second_match_method', showOverflowTooltip: false },
|
||||
{ label: '主侧', prop: 'first_side', align: 'center', visible: true, width: 150, slot: 'first_side', showOverflowTooltip: false },
|
||||
{ label: '次侧', prop: 'second_side', align: 'center', visible: true, width: 150, slot: 'second_side', showOverflowTooltip: false },
|
||||
{ label: '结果', prop: 'result', align: 'center', visible: true, width: 150, slot: 'result', showOverflowTooltip: false },
|
||||
{ label: '配血日期', prop: 'match_date', align: 'center', visible: true, width: 150, slot: 'match_date', showOverflowTooltip: false },
|
||||
{ label: '配血者', prop: 'match_medic', align: 'center', visible: true, width: 100, slot: 'match_medic', showOverflowTooltip: false },
|
||||
{ label: '血液存放位子', prop: 'position_blood', align: 'center', visible: true, width: 150, slot: 'position_blood', showOverflowTooltip: false },
|
||||
{ label: '标本存放位子', prop: 'position_barcode', align: 'center', visible: true, width: 150, slot: 'position_barcode', showOverflowTooltip: false },
|
||||
])
|
||||
|
||||
const config = {
|
||||
height: '100%',
|
||||
border: true,
|
||||
highlightCurrentRow: true,
|
||||
actionFixed: 'right',
|
||||
}
|
||||
// 右侧结果列表
|
||||
const resultTable = ref([])
|
||||
|
||||
const getBillStatusInfo = (code: string) => {
|
||||
const statusList = dictData.value?.billApplyStatus ?? []
|
||||
const target = statusList.find(item => item.value == code)
|
||||
if (target) {
|
||||
return { label: target.label, color: target.remark }
|
||||
}
|
||||
|
||||
return { label: '未审核', color: '#909399' }
|
||||
}
|
||||
// 血液流水号获取血液信息
|
||||
const bloodEnter = () => {
|
||||
if (!formData.value.bill_no) return ElMessage.warning('请选择输血申请单!')
|
||||
const index = matchTable.value.findIndex(item => item.blood_no == bloodNo.value)
|
||||
if (matchSelect.value == 'del') {
|
||||
if (index > -1) {
|
||||
ElMessageBox.confirm(`确定取消血液${matchTable.value[index].blood_no}数据吗?`, '提示', { type: 'warning' }).then(() => {
|
||||
cancelBloodInfoMatch({ bloodNo: matchTable.value[index].blood_no, productNo: matchTable.value[index].product_no }).then(res => {
|
||||
matchTable.value.splice(index, 1)
|
||||
})
|
||||
})
|
||||
|
||||
} else {
|
||||
ElMessage.warning('该血液流水号不存在,请检查!')
|
||||
}
|
||||
} else {
|
||||
if (index > -1) return ElMessage.warning('该血液流水号已存在,请检查!')
|
||||
queryBloodInfoByBloodNo({ bloodNo: bloodNo.value }).then(res => {
|
||||
if (res.data.length == 1) {
|
||||
const row = res.data[0]
|
||||
checkBloodMatched({ bloodNo: row.blood_no, productNo: row.product_no, billNo: formData.value.bill_no }).then(res => {
|
||||
if (res.code == 0) {
|
||||
getBloodInfo(row)
|
||||
}
|
||||
if (res.code == 2) {
|
||||
ElMessageBox.alert(`${res.msg}`, '提示', { type: 'warning' }).then(() => {
|
||||
getBloodInfo(row)
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const removeRow = (index) => {
|
||||
ElMessageBox.confirm(`确定删除血液${matchTable.value[index].blood_no}数据吗?`, '提示', { type: 'warning' }).then(() => {
|
||||
cancelBloodInfoMatch({ bloodNo: matchTable.value[index].blood_no, productNo: matchTable.value[index].product_no }).then(res => {
|
||||
matchTable.value.splice(index, 1)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 获取血液信息
|
||||
const getBloodInfo = (row) => {
|
||||
getBloodInfoMatch({ bloodNo: row.blood_no, productNo: row.product_no }).then(res => {
|
||||
const row = res.data || {}
|
||||
const msgArr: string[] = []
|
||||
|
||||
// ABO不匹配提示
|
||||
if (row.blood_type != formData.value.abo_type) {
|
||||
msgArr.push(`该血液流水号的血型与患者复核的血型结果不一致,请注意!`)
|
||||
}
|
||||
// Rh不匹配提示
|
||||
if (row.rh_blood_type != formData.value.rh_type) {
|
||||
msgArr.push(`患者Rh血型:Rh(D)阴性该血液的Rh血型与患者的Rh血型不符,请注意!`)
|
||||
}
|
||||
//血液品种不同
|
||||
if (row.blood_breed != formData.value.blood_breed) {
|
||||
msgArr.push(`该血液的血液品种与患者申请的血液品种不符,请注意!`)
|
||||
}
|
||||
|
||||
// 存在任意不匹配统一弹窗
|
||||
if (msgArr.length) {
|
||||
ElMessageBox.alert(msgArr.join('<br/>'), '提示', { type: 'warning', dangerouslyUseHTMLString: true }).then(() => {
|
||||
// 弹窗关闭后逻辑
|
||||
setMatchTable(row)
|
||||
})
|
||||
} else {
|
||||
setMatchTable(row)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const setMatchTable = (row) => {
|
||||
matchTable.value.push({
|
||||
...row,
|
||||
second_match_medic: '',
|
||||
offer_affirm_abo: row.blood_type,
|
||||
check_offer_rh: row.rh_blood_type,
|
||||
match_method: '006',
|
||||
second_match_method: '002',
|
||||
first_side: 'N',
|
||||
second_side: 'N',
|
||||
result: '001',
|
||||
match_date: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
match_medic: userInfo.name,
|
||||
position_blood: '',
|
||||
position_barcode: '',
|
||||
})
|
||||
matchTable.value.forEach((item, index) => {
|
||||
item.sid = index + 1
|
||||
})
|
||||
// bloodNo.value = ''
|
||||
}
|
||||
|
||||
|
||||
|
||||
const selectRow = ref({})
|
||||
|
||||
const openJsHandle = () => {
|
||||
visible.value = true
|
||||
handleSearch()
|
||||
}
|
||||
|
||||
const handleClose = () => {
|
||||
@ -373,46 +630,176 @@ const handleClose = () => {
|
||||
searchForm.value = {
|
||||
stime: dayjs().format('YYYY-MM-DD'),
|
||||
etime: dayjs().format('YYYY-MM-DD'),
|
||||
patient_name: '',
|
||||
bill_no: '',
|
||||
beinhos_id: ''
|
||||
}
|
||||
selectRow.value = {}
|
||||
}
|
||||
const handleConfirm = () => {
|
||||
if (!selectRow.value.bill_no) return ElMessage.warning('请选择配血单!')
|
||||
getBloodMatchInfo()
|
||||
visible.value = false
|
||||
}
|
||||
|
||||
const jsRowclick = (row) => {
|
||||
selectRow.value = row
|
||||
}
|
||||
|
||||
const handleRowClick = (row: any) => {
|
||||
console.log('点击行', row)
|
||||
selectRow.value = row
|
||||
getBloodMatchInfo()
|
||||
}
|
||||
|
||||
const getBloodMatchInfo = () => {
|
||||
queryMatchApplyInfo({ billNo: selectRow.value.bill_no, applyNo: selectRow.value.apply_no }).then(res => {
|
||||
formData.value = res.data.matchMainInfoList[0] || {}
|
||||
bloodApplyTable.value = res.data.xkTransfuseApplyBloodbreedList || []
|
||||
matchTable.value = res.data.matchDetailInfoList || []
|
||||
bloodInfo.value = res.data.matchDetailInfoList[0] || {}
|
||||
})
|
||||
}
|
||||
|
||||
const handleSearch = () => {
|
||||
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'
|
||||
queryMatchBloodList(searchForm.value).then(res => {
|
||||
tableData.value = res.data || []
|
||||
})
|
||||
}
|
||||
|
||||
const saveBloodApply = () => {
|
||||
if (!formData.value.bill_no) return ElMessage.warning('请选择输血申请单!')
|
||||
if (matchTable.value.length == 0) return ElMessage.warning('请添加配血血液!')
|
||||
const allValid = matchTable.value.every(item => item.second_match_medic?.trim())
|
||||
if (!allValid) return ElMessage.warning('请填写复核者!')
|
||||
saveLoading.value = true
|
||||
const params = {
|
||||
xkMatchMain: {
|
||||
apply_no: formData.value.bill_no,
|
||||
input_person: userInfo.name,
|
||||
bill_status: 'A',
|
||||
dept_id: formData.value.dept_id,
|
||||
patient_name: formData.value.patient_name,
|
||||
beinhos_id: formData.value.beinhos_id,
|
||||
test_date: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
input_date: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
bill_no: bloodInfo.value.bill_no || '',
|
||||
},
|
||||
xkMatchDetailList: matchTable.value.map(item => ({
|
||||
...item,
|
||||
bill_no: bloodInfo.value.bill_no || '',
|
||||
}))
|
||||
}
|
||||
saveLoading.value = true
|
||||
saveBloodData(params).then(res => {
|
||||
saveLoading.value = false
|
||||
if (res.code == 0) {
|
||||
handleRefresh()
|
||||
ElMessage.success(res.msg)
|
||||
}
|
||||
}).catch(() => {
|
||||
saveLoading.value = false
|
||||
})
|
||||
}
|
||||
|
||||
const addMatch = () => {
|
||||
formData.value = {}
|
||||
bloodApplyTable.value = []
|
||||
matchTable.value = []
|
||||
selectRow.value = {}
|
||||
bloodInfo.value = {}
|
||||
}
|
||||
|
||||
const cancelApply = () => {
|
||||
if (!bloodInfo.value.bill_no) return ElMessage.warning('请选择交叉配血单!')
|
||||
deleteBloodInfoMatch({ billNo: bloodInfo.value.bill_no }).then(res => {
|
||||
handleRefresh()
|
||||
ElMessage.success(res.msg)
|
||||
})
|
||||
}
|
||||
|
||||
// 刷新右侧列表
|
||||
const handleRefresh = () => {
|
||||
console.log('刷新右侧配血列表', filterForm)
|
||||
filterForm.value.stime = dayjs().format('YYYY-MM-DD') + ' 00:00:00'
|
||||
filterForm.value.etime = dayjs().format('YYYY-MM-DD') + ' 23:59:59'
|
||||
queryMatchBloodList(filterForm.value).then(res => {
|
||||
resultTable.value = res.data || []
|
||||
})
|
||||
}
|
||||
|
||||
const loadApplyData = () => {
|
||||
queryWaitInfo().then(res => {
|
||||
applyTableData.value = res.data || []
|
||||
})
|
||||
}
|
||||
const handleSearch = () => {
|
||||
const searchApply = () => {
|
||||
queryMatchOne({ billNo: formData.value.bill_no }).then(res => {
|
||||
formData.value = res.data.matchMainInfoList[0] || {}
|
||||
bloodApplyTable.value = res.data.xkTransfuseApplyBloodbreedList
|
||||
|
||||
if (formData.value.rh_type == '-') {
|
||||
// 阴性弹出框提示
|
||||
ElMessageBox.alert(`患者为Rh(D)阴性血型,请注意!`, '提示', { type: 'warning' })
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
getDictData('ks')
|
||||
getDictData('ks', 'bq', 'sxmd', 'billApplyStatus', 'ktsx', 'abotype', 'subgroup', 'sxzz', 'rhtype', 'pxff', 'pxjg', 'zccc')
|
||||
getBloodList()
|
||||
getUserData()
|
||||
handleRefresh()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.box-container {
|
||||
overflow-y: auto;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
// 主体左右容器
|
||||
.main-wrap {
|
||||
height: calc(100% - 70px);
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
|
||||
.timesplit {
|
||||
margin: 0 5px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.left-row {
|
||||
height: 100%;
|
||||
|
||||
.left-col {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.form_box {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.right-col {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.pxBox {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.table-box {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 通用卡片样式(对齐规范)
|
||||
@ -427,4 +814,11 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.status {
|
||||
color: #409eff;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
@ -12,12 +12,12 @@
|
||||
<el-button type="primary" plain @click="openJsHandle">检索</el-button>
|
||||
<el-button type="primary" plain @click="clearInfo">新增</el-button>
|
||||
<el-button type="danger" plain :disabled="!xkCheckBloodtype.bill_no" @click="delApply">删除</el-button>
|
||||
<el-button type="success" plain :disabled="form.bill_stasus && form.bill_stasus == 'F'" :loading="saveLoading"
|
||||
<el-button type="success" plain :disabled="xkCheckBloodtype.bill_no" :loading="saveLoading"
|
||||
@click="saveApplyInfo">保存</el-button>
|
||||
<el-button type="warning" plain>打印</el-button>
|
||||
<el-button plain @click="openHistoryHandle">血型复核历史查询</el-button>
|
||||
</div>
|
||||
<el-form label-width="auto" :disabled="form.bill_stasus && form.bill_stasus == 'F'">
|
||||
<el-form label-width="auto" :disabled="xkCheckBloodtype.bill_no">
|
||||
<!-- 主卡片面板 -->
|
||||
<div class="card-box">
|
||||
<div class="status" v-show="form.bill_stasus"
|
||||
@ -44,12 +44,12 @@
|
||||
<el-form-item label="申请单号">
|
||||
<DropdownTableSelect v-model="form.bill_no" :column-list="applyColumns" labelField="bill_no"
|
||||
:showSearch="false" tableWidth="550px" :table-data="applyTableData" @open="loadApplyData"
|
||||
@search="onSearch" @change="onSearch">
|
||||
@search="onSearch" @change="onSearch" :disabled="!!(xkCheckBloodtype.bill_no)">
|
||||
<template #dept_id="{ row }">
|
||||
{{ formatDict(row.dept_id, 'ks') }}
|
||||
</template>
|
||||
<template #blood_breed="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label}}
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
</DropdownTableSelect>
|
||||
</el-form-item>
|
||||
@ -98,7 +98,7 @@
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="病 区">
|
||||
<SelectTable v-model:data="form.zone_id" :tableData="dictData.bq" placeholder="" disabled />
|
||||
<SelectTable v-model:data="form.zone_id" :tableData="dictData.bq" placeholder="" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
@ -108,7 +108,7 @@
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="科 室">
|
||||
<SelectTable v-model:data="form.dept_id" :tableData="dictData.ks" placeholder="" disabled />
|
||||
<SelectTable v-model:data="form.dept_id" :tableData="dictData.ks" placeholder="" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -143,7 +143,7 @@
|
||||
<el-table :data="bloodTableData" border height="150">
|
||||
<el-table-column prop="blood_breed" label="血液品种" align="center" width="150">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label}}
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="blood_num" label="申请血量" align="center" />
|
||||
@ -155,7 +155,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="replace_bloodbreed" label="替代血液品种" align="center">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.replace_bloodbreed)?.label}}
|
||||
{{bloodBreed.find(v => v.value == row.replace_bloodbreed)?.label || row.replace_bloodbreed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="intent" label="输血目的" align="center" width="300">
|
||||
@ -243,7 +243,7 @@
|
||||
<el-col :span="6">
|
||||
<el-form-item label="复检人">
|
||||
<SelectTable v-model:data="xkCheckBloodtype.check_person" :tableData="userList" placeholder=""
|
||||
:disabled="form.bill_stasus && form.bill_stasus == 'F'" />
|
||||
:disabled="!!(xkCheckBloodtype.bill_no)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -273,7 +273,7 @@
|
||||
<el-col :span="6">
|
||||
<el-form-item label="检验人">
|
||||
<SelectTable v-model:data="xkCheckBloodtype.test_person" :tableData="userList" placeholder=""
|
||||
:disabled="form.bill_stasus && form.bill_stasus == 'F'" />
|
||||
:disabled="!!(xkCheckBloodtype.bill_no)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -357,7 +357,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="test_person" label="检验人" align="center">
|
||||
<template #default="scope">
|
||||
{{userList.find(item => item.value == scope.row.test_person)?.label}}
|
||||
{{userList.find(item => item.value == scope.row.test_person)?.label || scope.row.test_person}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="test_date" label="检验日期" width="150" align="center" />
|
||||
@ -422,7 +422,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="test_person" label="检验人" align="center">
|
||||
<template #default="scope">
|
||||
{{userList.find(item => item.value == scope.row.test_person)?.label}}
|
||||
{{userList.find(item => item.value == scope.row.test_person)?.label || scope.row.test_person}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="test_date" label="检验日期" width="150" align="center" />
|
||||
@ -443,8 +443,7 @@ import { queryBloodOne, queryCheckBloodTypeInfo, saveData, jsqueryList, delCheck
|
||||
|
||||
const { userList, getUserData, getServerTime, bloodBreed, getBloodList, } = useCommonDict()
|
||||
import useUserStore from '@/store/modules/user'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { ElMessageBox } from 'element-plus'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
const userInfo = useUserStore()
|
||||
const xkCheckBloodtype = ref({
|
||||
test_person: userInfo.name,
|
||||
@ -608,8 +607,8 @@ const delApply = () => {
|
||||
}
|
||||
// 保存信息
|
||||
const saveApplyInfo = () => {
|
||||
saveLoading.value = true
|
||||
if (!form.value.bill_no) return ElMessage.error('请选择申请单信息')
|
||||
saveLoading.value = true
|
||||
const flag = form.value.abo_type == xkCheckBloodtype.value.affirm_abo && form.value.rh_type == xkCheckBloodtype.value.check_rh
|
||||
const data = {
|
||||
flag: flag ? 1 : 0,
|
||||
@ -620,6 +619,8 @@ const saveApplyInfo = () => {
|
||||
patient_name: form.value.patient_name,
|
||||
dept_id: form.value.dept_id,
|
||||
input_person: userInfo.name,
|
||||
input_date: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
test_date: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
bill_sort: 'C',
|
||||
bill_status: 'A'
|
||||
},
|
||||
|
||||
@ -166,10 +166,10 @@
|
||||
{{ row.hgbz == 1 ? '合格' : '不合格' }}
|
||||
</template>
|
||||
<template #input_person="{ row }">
|
||||
{{userList.find(item => item.value == row.input_person)?.label}}
|
||||
{{userList.find(item => item.value == row.input_person)?.label || row.input_person}}
|
||||
</template>
|
||||
<template #apply_medic="{ row }">
|
||||
{{userList.find(item => item.value == row.apply_medic)?.label}}
|
||||
{{userList.find(item => item.value == row.apply_medic)?.label || row.apply_medic}}
|
||||
</template>
|
||||
<template #blood_breed="{ row }">
|
||||
{{ formatDict(row.blood_breed, 'xylx') }}
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
</el-form>
|
||||
|
||||
<template #footer>
|
||||
<el-button type="primary" @click="handleSubmit">确定</el-button>
|
||||
<el-button type="primary" :loading="submitLoading" @click="handleSubmit">确定</el-button>
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -58,7 +58,7 @@ const rules = {
|
||||
}
|
||||
// 表格数据源
|
||||
const tableData = ref<{ indicateName: string; remark: string }[]>([])
|
||||
|
||||
const submitLoading = ref(false)
|
||||
// 表单变量
|
||||
const indicationForm = ref({
|
||||
checkExplain: '',
|
||||
@ -80,6 +80,7 @@ const handleSelectionChange = (val: any[]) => {
|
||||
// 提交逻辑
|
||||
const handleSubmit = async () => {
|
||||
if (!indicationForm.value.checkResult) return ElMessage.error('请选择审核意见')
|
||||
submitLoading.value = true
|
||||
if (indicationForm.value.checkResult == '001' && indicationForm.value.validFlag == 'N') {
|
||||
ElMessageBox.confirm(
|
||||
`审核意见:【同意】,输血合理性为【不合理】确定继续吗?`,
|
||||
@ -100,6 +101,8 @@ const comfirm = () => {
|
||||
emit('success')
|
||||
dialogVisible.value = false
|
||||
}
|
||||
}).finally(() => {
|
||||
submitLoading.value = false
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -318,7 +318,7 @@
|
||||
<el-table :data="bloodList" border height="143" show-overflow-tooltip>
|
||||
<el-table-column prop="blood_breed" label="血液品种" align="center">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label}}
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="blood_num" label="申请血量" align="center" />
|
||||
@ -346,7 +346,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="replace_bloodbreed" label="替代血液品种" align="center" width="120">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.replace_bloodbreed)?.label}}
|
||||
{{bloodBreed.find(v => v.value == row.replace_bloodbreed)?.label || row.replace_bloodbreed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" align="center" />
|
||||
|
||||
@ -104,7 +104,7 @@
|
||||
:tableData="pgList" tableWidth="700px" labelField="bill_no" :showSearch="false" @open="getPgList"
|
||||
:readonly="true" @change="getPgInfo">
|
||||
<template #assess_person="{ row }">
|
||||
{{userList.find(v => v.value == row.assess_person)?.label}}
|
||||
{{userList.find(v => v.value == row.assess_person)?.label || row.assess_person}}
|
||||
</template>
|
||||
</DropdownTableSelect>
|
||||
</el-form-item>
|
||||
@ -277,7 +277,7 @@
|
||||
<el-table :data="bloodList" border height="120" show-overflow-tooltip>
|
||||
<el-table-column prop="blood_breed" label="血液品种" align="center" width="150">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label}}
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="blood_num" label="申请血量" align="center" />
|
||||
@ -305,7 +305,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="replace_bloodbreed" label="替代血液品种" align="center" width="120">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.replace_bloodbreed)?.label}}
|
||||
{{bloodBreed.find(v => v.value == row.replace_bloodbreed)?.label || row.replace_bloodbreed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" align="center" />
|
||||
|
||||
@ -243,7 +243,11 @@
|
||||
<el-table-column prop="beinhos_id" label="住院号" align="center" />
|
||||
<el-table-column prop="patient_name" label="姓名" align="center" />
|
||||
<el-table-column prop="assess_data" label="评估日期" width="180" align="center" />
|
||||
<el-table-column prop="assess_person" label="评估人" align="center" />
|
||||
<el-table-column prop="assess_person" label="评估人" align="center">
|
||||
<template #default="scope">
|
||||
{{userList.find(item => item.value == scope.row.assess_person)?.label || scope.row.assess_person}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@ -253,7 +257,7 @@
|
||||
import dayjs from 'dayjs'
|
||||
import { printPat, queryPatInfo, queryPatList, savePat, queryPatOne, updatePat, delPat } from '@/api/doctor/assessment'
|
||||
import { queryLisProject, getParameterOne } from '@/api/common'
|
||||
import { getDictData, formatDict, dictData } from '@/hooks'
|
||||
import { getDictData, formatDict, dictData, useCommonDict } from '@/hooks'
|
||||
import router from '@/router'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import PatientLisTable from '../components/PatientLisTable.vue'
|
||||
@ -261,7 +265,7 @@ import { printBase64PDF } from '@/utils/classCom'
|
||||
import useUserStore from '@/store/modules/user'
|
||||
import { useSysParam } from '@/hooks/useSysParam'
|
||||
const { getParam } = useSysParam()
|
||||
|
||||
const { userList, getUserData, getServerTime, } = useCommonDict()
|
||||
|
||||
const userInfo = useUserStore()
|
||||
const visible = ref(false)
|
||||
@ -283,7 +287,7 @@ const saveLoading = ref(false)
|
||||
const tableData = ref([])
|
||||
|
||||
const evaluationInfo = ref({
|
||||
assessmentDate: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
assessmentDate: '',
|
||||
billNo: '',
|
||||
assess_person: userInfo.nickName,
|
||||
})
|
||||
@ -433,7 +437,7 @@ const getList = () => {
|
||||
|
||||
// 关闭弹窗
|
||||
const handleAdd = () => {
|
||||
evaluationInfo.value.assessmentDate = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||
gettime()
|
||||
evaluationInfo.value.billNo = ''
|
||||
baseInfo.value = { beinhos_id: '', nldw: '岁' }
|
||||
bloodInfo.value = { agreement_ink: 'Y', assess_person: userInfo.name }
|
||||
@ -479,7 +483,7 @@ const handleSubmit = () => {
|
||||
//判断病情概要是否填写
|
||||
if (getParam('HZBQGY') == 'Y' && !bloodInfo.value.bqgy) return ElMessage.warning('请务必填写病情概要,以便输血科评估用血合理性!')
|
||||
if (!baseInfo.value.beinhos_id) return ElMessage.warning('请填写患者住院号/ID号')
|
||||
|
||||
gettime()
|
||||
const tempPatient = { ...baseInfo.value }
|
||||
|
||||
if (baseInfo.value.age) {
|
||||
@ -516,8 +520,6 @@ const handleSubmit = () => {
|
||||
saveLoading.value = false
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
const goSxPath = () => {
|
||||
@ -545,11 +547,17 @@ const getProject = () => {
|
||||
})
|
||||
}
|
||||
|
||||
const gettime = () => {
|
||||
getServerTime().then(time => {
|
||||
evaluationInfo.value.assessmentDate = time
|
||||
})
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getDictData('ks', 'test_result', 'nldw', 'anemia', 'rhtype', 'abotype',)
|
||||
getProject()
|
||||
|
||||
|
||||
getUserData()
|
||||
gettime()
|
||||
// SQDSFKRLXGXX 参数说明如下:
|
||||
// 输血申请时是否可从HIS系统中调出患者信息,是否可以录入修改患者血型?
|
||||
// 以"/"分隔,"/"前指可以调出患者信息时是否可以修改患者血型(Y可以修改N不可以修改),
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="blood_breed" label="血液品种" align="center">
|
||||
<template #default="{ row }">
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label}}
|
||||
{{bloodBreed.find(v => v.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ds" label="袋数" align="center" />
|
||||
|
||||
@ -50,22 +50,22 @@
|
||||
{{ formatDict(row.dept_id, 'ks') }}
|
||||
</template>
|
||||
<template #blood_breed="{ row }">
|
||||
{{bloodBreed.find(item => item.value == row.blood_breed)?.label}}
|
||||
{{bloodBreed.find(item => item.value == row.blood_breed)?.label || row.blood_breed}}
|
||||
</template>
|
||||
<template #Archiater="{ row }">
|
||||
{{userList.find(item => item.value == row.Archiater)?.label}}
|
||||
{{userList.find(item => item.value == row.Archiater)?.label || row.Archiater}}
|
||||
</template>
|
||||
<template #Medical_Dept="{ row }">
|
||||
{{userList.find(item => item.value == row.Medical_Dept)?.label}}
|
||||
{{userList.find(item => item.value == row.Medical_Dept)?.label || row.Medical_Dept}}
|
||||
</template>
|
||||
<template #apply_medic="{ row }">
|
||||
{{userList.find(item => item.value == row.apply_medic)?.label}}
|
||||
{{userList.find(item => item.value == row.apply_medic)?.label || row.apply_medic}}
|
||||
</template>
|
||||
<template #attending_medic="{ row }">
|
||||
{{userList.find(item => item.value == row.attending_medic)?.label}}
|
||||
{{userList.find(item => item.value == row.attending_medic)?.label || row.attending_medic}}
|
||||
</template>
|
||||
<template #treat_medic="{ row }">
|
||||
{{userList.find(item => item.value == row.treat_medic)?.label}}
|
||||
{{userList.find(item => item.value == row.treat_medic)?.label || row.treat_medic}}
|
||||
</template>
|
||||
<template #flag="{ row }">
|
||||
{{ row.flag == 'Y' ? '已审核' : '未审核' }}
|
||||
|
||||
@ -154,16 +154,16 @@
|
||||
</template>
|
||||
|
||||
<template #pickNurse="{ row }">
|
||||
{{userList.find(item => item.value == row.Pick_Nurse)?.label}}
|
||||
{{userList.find(item => item.value == row.Pick_Nurse)?.label || row.Pick_Nurse}}
|
||||
</template>
|
||||
<template #sendNurse="{ row }">
|
||||
{{userList.find(item => item.value == row.Send_Nurse)?.label}}
|
||||
{{userList.find(item => item.value == row.Send_Nurse)?.label || row.Send_Nurse}}
|
||||
</template>
|
||||
<template #takeOverMan="{ row }">
|
||||
{{userList.find(item => item.value == row.TakeOver_Man)?.label}}
|
||||
{{userList.find(item => item.value == row.TakeOver_Man)?.label || row.TakeOver_Man}}
|
||||
</template>
|
||||
<template #sendperson="{ row }">
|
||||
{{userList.find(item => item.value == row.sendperson)?.label}}
|
||||
{{userList.find(item => item.value == row.sendperson)?.label || row.sendperson}}
|
||||
</template>
|
||||
|
||||
<template #status="{ row }">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user