Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d9e7fa175 | ||
|
|
17f26d9743 | ||
|
|
dffcb18769 | ||
|
|
4799c944c0 | ||
|
|
d243b339a9 | ||
|
|
bc36aeb9e6 | ||
|
|
7cebb14915 | ||
|
|
b27a847938 | ||
|
|
8ca0976d36 | ||
|
|
e5f57ea4e9 | ||
|
|
2ee9ba911e | ||
|
|
41d2619cd2 | ||
|
|
8267a548b4 | ||
|
|
06de840e31 | ||
|
|
a020cd880f | ||
|
|
74ef47fcc0 |
@@ -169,7 +169,7 @@
|
|||||||
T1.performer_check_id,
|
T1.performer_check_id,
|
||||||
T2."name" AS advice_name,
|
T2."name" AS advice_name,
|
||||||
T2.id AS item_id,
|
T2.id AS item_id,
|
||||||
(SELECT mm.total_volume FROM med_medication mm WHERE mm.medication_def_id = T2.id AND mm.delete_flag = '0' LIMIT 1) AS volume,
|
T3.total_volume AS volume,
|
||||||
T1.lot_number AS lot_number,
|
T1.lot_number AS lot_number,
|
||||||
T1.quantity AS quantity,
|
T1.quantity AS quantity,
|
||||||
T1.unit_code AS unit_code,
|
T1.unit_code AS unit_code,
|
||||||
@@ -199,11 +199,14 @@
|
|||||||
personal_account.balance_amount,
|
personal_account.balance_amount,
|
||||||
personal_account.id AS account_id,
|
personal_account.id AS account_id,
|
||||||
T2.category_code,
|
T2.category_code,
|
||||||
(SELECT mmd.status_enum FROM med_medication_dispense mmd WHERE mmd.med_req_id = T1.id AND mmd.delete_flag = '0' LIMIT 1) AS dispense_status
|
mmd.status_enum AS dispense_status
|
||||||
FROM med_medication_request AS T1
|
FROM med_medication_request AS T1
|
||||||
LEFT JOIN med_medication_definition AS T2
|
LEFT JOIN med_medication_definition AS T2
|
||||||
ON T2.id = T1.medication_id
|
ON T2.id = T1.medication_id
|
||||||
AND T2.delete_flag = '0'
|
AND T2.delete_flag = '0'
|
||||||
|
LEFT JOIN med_medication AS T3
|
||||||
|
ON T3.medication_def_id = T2.ID
|
||||||
|
AND T3.delete_flag = '0'
|
||||||
LEFT JOIN adm_location AS al1
|
LEFT JOIN adm_location AS al1
|
||||||
ON al1.id = T1.perform_location
|
ON al1.id = T1.perform_location
|
||||||
AND al1.delete_flag = '0'
|
AND al1.delete_flag = '0'
|
||||||
@@ -277,6 +280,9 @@
|
|||||||
aa.balance_amount
|
aa.balance_amount
|
||||||
) AS personal_account
|
) AS personal_account
|
||||||
ON personal_account.encounter_id = ae.id
|
ON personal_account.encounter_id = ae.id
|
||||||
|
LEFT JOIN med_medication_dispense mmd
|
||||||
|
ON mmd.med_req_id = T1.id
|
||||||
|
AND mmd.delete_flag = '0'
|
||||||
WHERE T1.delete_flag = '0'
|
WHERE T1.delete_flag = '0'
|
||||||
AND T1.refund_medicine_id IS NULL
|
AND T1.refund_medicine_id IS NULL
|
||||||
AND T1.generate_source_enum = #{doctorPrescription}
|
AND T1.generate_source_enum = #{doctorPrescription}
|
||||||
|
|||||||
@@ -96,14 +96,22 @@
|
|||||||
INNER JOIN med_medication_request AS T5
|
INNER JOIN med_medication_request AS T5
|
||||||
ON T4.med_req_id = T5.id
|
ON T4.med_req_id = T5.id
|
||||||
AND T5.delete_flag = '0'
|
AND T5.delete_flag = '0'
|
||||||
WHERE <if test="statusEnum == null">
|
WHERE EXISTS (
|
||||||
T4.status_enum IN (#{inProgress},#{completed},#{preparation},#{prepared})
|
SELECT 1 FROM wor_supply_request wsr
|
||||||
|
WHERE wsr.type_enum = 3
|
||||||
|
AND wsr.delete_flag = '0'
|
||||||
|
AND wsr.bus_no = T4.summary_no
|
||||||
|
AND T4.summary_no IS NOT NULL
|
||||||
|
AND T4.summary_no != ''
|
||||||
|
)
|
||||||
|
AND <if test="statusEnum == null">
|
||||||
|
T4.status_enum IN (#{inProgress},#{completed},#{preparation},#{prepared},8)
|
||||||
</if>
|
</if>
|
||||||
<if test="statusEnum == 3">
|
<if test="statusEnum == 3">
|
||||||
T4.status_enum IN (#{inProgress},#{preparation},#{prepared})
|
T4.status_enum IN (#{inProgress},#{preparation},#{prepared},8)
|
||||||
</if>
|
</if>
|
||||||
<if test="statusEnum == 4">
|
<if test="statusEnum == 4">
|
||||||
T4.status_enum = #{completed}
|
T4.status_enum IN (#{completed},8)
|
||||||
</if>
|
</if>
|
||||||
AND T4.summary_no IS NOT NULL
|
AND T4.summary_no IS NOT NULL
|
||||||
AND T4.summary_no != ''
|
AND T4.summary_no != ''
|
||||||
|
|||||||
@@ -877,14 +877,12 @@ function handleDiagnosisChange(item) {
|
|||||||
function handleFocus(row, index) {
|
function handleFocus(row, index) {
|
||||||
rowIndex.value = index;
|
rowIndex.value = index;
|
||||||
row.showPopover = true;
|
row.showPopover = true;
|
||||||
// el-popover 懒渲染,需要等两帧组件才会挂载
|
|
||||||
const adviceType = row.adviceType !== undefined ? row.adviceType : adviceQueryParams.value.adviceType;
|
const adviceType = row.adviceType !== undefined ? row.adviceType : adviceQueryParams.value.adviceType;
|
||||||
// 用 adviceType + categoryCode 组合查找匹配的选项
|
// 用 adviceType + categoryCode 组合查找匹配的选项
|
||||||
const selectValue = (adviceType == 1 && row.categoryCode) ? '1-' + row.categoryCode : adviceType;
|
const selectValue = (adviceType == 1 && row.categoryCode) ? '1-' + row.categoryCode : adviceType;
|
||||||
const selectedItem = adviceTypeList.value.find(item => item.value === selectValue) || adviceTypeList.value.find(item => item.adviceType === adviceType);
|
const selectedItem = adviceTypeList.value.find(item => item.value === selectValue) || adviceTypeList.value.find(item => item.adviceType === adviceType);
|
||||||
// 诊疗(3)和手术(6)没有categoryCode,传空字符串给refresh,由子组件转为undefined不发送
|
// 修复Bug #486:当行没有显式选择医嘱类型时,不传categoryCode,让搜索在全药库中进行
|
||||||
// 药品(1)才有categoryCode(如'1'=中成药,'2'=西药,'4'=中草药)
|
const categoryCode = selectedItem ? selectedItem.categoryCode : (row.adviceType !== undefined ? (adviceQueryParams.value.categoryCode || '') : '');
|
||||||
const categoryCode = selectedItem ? selectedItem.categoryCode : (adviceQueryParams.value.categoryCode || '');
|
|
||||||
const searchKey = row.adviceName || '';
|
const searchKey = row.adviceName || '';
|
||||||
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
@@ -921,8 +919,8 @@ function handleChange(value) {
|
|||||||
// 用 adviceType + categoryCode 组合查找匹配的选项
|
// 用 adviceType + categoryCode 组合查找匹配的选项
|
||||||
const selectValue = (adviceType == 1 && row?.categoryCode) ? '1-' + row.categoryCode : adviceType;
|
const selectValue = (adviceType == 1 && row?.categoryCode) ? '1-' + row.categoryCode : adviceType;
|
||||||
const selectedItem = adviceTypeList.value.find(item => item.value === selectValue) || adviceTypeList.value.find(item => item.adviceType === adviceType);
|
const selectedItem = adviceTypeList.value.find(item => item.value === selectValue) || adviceTypeList.value.find(item => item.adviceType === adviceType);
|
||||||
// 诊疗/手术的categoryCode为空字符串,由子组件转为undefined不发送
|
// 修复Bug #486:当行没有显式选择医嘱类型时,不传categoryCode,让搜索在全药库中进行
|
||||||
const categoryCode = selectedItem ? selectedItem.categoryCode : (adviceQueryParams.value.categoryCode || '');
|
const categoryCode = selectedItem ? selectedItem.categoryCode : (row?.adviceType !== undefined ? (adviceQueryParams.value.categoryCode || '') : '');
|
||||||
tableRef.refresh(adviceType, categoryCode, value);
|
tableRef.refresh(adviceType, categoryCode, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -273,8 +273,9 @@ function handleSearch() {
|
|||||||
// 清除缓存(搜索时需要重新加载)
|
// 清除缓存(搜索时需要重新加载)
|
||||||
patientDataCache.value.clear();
|
patientDataCache.value.clear();
|
||||||
|
|
||||||
// 重新加载所有已展开病区的患者列表
|
// 通过递增 key 强制重新渲染树组件,触发重新加载所有病区患者列表
|
||||||
reloadAllPatients();
|
// 此时 searchKey 已有值,loadPatientList 会将 searchKey 传给后端进行过滤
|
||||||
|
treeKey.value += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 暴露方法供外部调用
|
// 暴露方法供外部调用
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<el-radio-group v-model="type" class="ml20" @change="handleRadioChange">
|
<el-radio-group v-model="type" class="ml20" @change="handleRadioChange">
|
||||||
<el-radio :label="1">全部</el-radio>
|
<el-radio :value="undefined">全部</el-radio>
|
||||||
<el-radio :label="2">长期</el-radio>
|
<el-radio :value="1">长期</el-radio>
|
||||||
<el-radio :label="3">临时</el-radio>
|
<el-radio :value="2">临时</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<el-button class="ml20" type="primary" plain @click="handleGetPrescription">
|
<el-button class="ml20" type="primary" plain @click="handleGetPrescription">
|
||||||
查询
|
查询
|
||||||
@@ -159,7 +159,7 @@ import {formatDateStr} from '@/utils/index';
|
|||||||
const activeNames = ref([]);
|
const activeNames = ref([]);
|
||||||
const prescriptionList = ref([]);
|
const prescriptionList = ref([]);
|
||||||
const deadline = ref(formatDateStr(new Date(), 'YYYY-MM-DD') + ' 23:59:59');
|
const deadline = ref(formatDateStr(new Date(), 'YYYY-MM-DD') + ' 23:59:59');
|
||||||
const type = ref(1);
|
const type = ref(undefined);
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const chooseAll = ref(false);
|
const chooseAll = ref(false);
|
||||||
@@ -181,7 +181,7 @@ function handleGetPrescription() {
|
|||||||
getPrescriptionList({
|
getPrescriptionList({
|
||||||
encounterIds: encounterIds,
|
encounterIds: encounterIds,
|
||||||
requestStatus: props.requestStatus,
|
requestStatus: props.requestStatus,
|
||||||
therapyEnum: type.value === 1 ? undefined : type.value === 2 ? 1 : 2, // 1=全部(不传), 2=长期(1), 3=临时(2)
|
...(type.value !== undefined ? { therapyEnum: type.value } : {}),
|
||||||
pageSize: 10000,
|
pageSize: 10000,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user