Compare commits
4 Commits
9ce13b45ab
...
c004c145f4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c004c145f4 | ||
|
|
88b1debfe5 | ||
| 43d4d18a09 | |||
| a483f5a7f2 |
@@ -163,7 +163,7 @@ public class RequestFormManageController {
|
|||||||
@RequestParam(required = false) Long applyDeptId,
|
@RequestParam(required = false) Long applyDeptId,
|
||||||
@RequestParam(defaultValue = "1") Integer pageNo,
|
@RequestParam(defaultValue = "1") Integer pageNo,
|
||||||
@RequestParam(defaultValue = "10") Integer pageSize) {
|
@RequestParam(defaultValue = "10") Integer pageSize) {
|
||||||
RequestFormDto dto = new RequestFormDto(surgeryNo, null, applyTimeStart, applyTimeEnd,
|
RequestFormDto dto = new RequestFormDto(surgeryNo, ActivityDefCategory.PROCEDURE.getCode(), applyTimeStart, applyTimeEnd,
|
||||||
mainDoctorId, applyDeptId, pageNo, pageSize);
|
mainDoctorId, applyDeptId, pageNo, pageSize);
|
||||||
return R.ok(iRequestFormManageAppService.getRequestFormPage(dto));
|
return R.ok(iRequestFormManageAppService.getRequestFormPage(dto));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -288,7 +288,7 @@
|
|||||||
AND T1.refund_device_id IS NULL
|
AND T1.refund_device_id IS NULL
|
||||||
ORDER BY T1.status_enum)
|
ORDER BY T1.status_enum)
|
||||||
UNION ALL
|
UNION ALL
|
||||||
(SELECT CASE WHEN T1.category_enum = 4 THEN 6 ELSE COALESCE(T1.category_enum, 3) END AS advice_type,
|
(SELECT CASE WHEN T1.category_enum = 4 THEN 6 ELSE 3 END AS advice_type,
|
||||||
T1.id AS request_id,
|
T1.id AS request_id,
|
||||||
T1.id || '-3' AS unique_key,
|
T1.id || '-3' AS unique_key,
|
||||||
T1.requester_id AS requester_id,
|
T1.requester_id AS requester_id,
|
||||||
@@ -373,4 +373,4 @@
|
|||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -137,7 +137,7 @@
|
|||||||
<el-descriptions title="申请单描述" :column="2">
|
<el-descriptions title="申请单描述" :column="2">
|
||||||
<template v-for="(value, key) in descJsonData" :key="key">
|
<template v-for="(value, key) in descJsonData" :key="key">
|
||||||
<el-descriptions-item v-if="isFieldMatched(key)" :label="getFieldLabel(key)">
|
<el-descriptions-item v-if="isFieldMatched(key)" :label="getFieldLabel(key)">
|
||||||
{{ value || '-' }}
|
{{ transformField(key, value) || '-' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</template>
|
</template>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
@@ -270,6 +270,12 @@ const parseStatus = (status) => {
|
|||||||
const labelMap = {
|
const labelMap = {
|
||||||
categoryType: '项目类别',
|
categoryType: '项目类别',
|
||||||
targetDepartment: '发往科室',
|
targetDepartment: '发往科室',
|
||||||
|
urgencyLevel: '紧急程度',
|
||||||
|
allergyHistory: '过敏史',
|
||||||
|
examinationPurpose: '检查目的',
|
||||||
|
expectedExaminationTime: '期望检查时间',
|
||||||
|
medicalHistorySummary: '病史摘要',
|
||||||
|
allergyConfirmed: '过敏确认',
|
||||||
symptom: '症状',
|
symptom: '症状',
|
||||||
sign: '体征',
|
sign: '体征',
|
||||||
clinicalDiagnosis: '临床诊断',
|
clinicalDiagnosis: '临床诊断',
|
||||||
@@ -278,6 +284,17 @@ const labelMap = {
|
|||||||
attention: '注意事项',
|
attention: '注意事项',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Fields that need value transformation before display
|
||||||
|
const transformField = (key, value) => {
|
||||||
|
if (key === 'urgencyLevel') {
|
||||||
|
return value === 'emergency' ? '急诊' : '普通';
|
||||||
|
}
|
||||||
|
if (key === 'allergyConfirmed') {
|
||||||
|
return value === true || value === 'true' ? '已口头确认' : '未确认';
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
};
|
||||||
|
|
||||||
const isFieldMatched = (key) => {
|
const isFieldMatched = (key) => {
|
||||||
return key in labelMap;
|
return key in labelMap;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1181,19 +1181,27 @@ function handleSave() {
|
|||||||
});
|
});
|
||||||
// 此处签发处方和单行保存处方传参相同,后台已经将传参存为JSON字符串,此处直接转换为JSON即可
|
// 此处签发处方和单行保存处方传参相同,后台已经将传参存为JSON字符串,此处直接转换为JSON即可
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
let list = saveList.map((item) => {
|
let list = [];
|
||||||
const parsedContent = JSON.parse(item.contentJson);
|
try {
|
||||||
return {
|
list = saveList.map((item) => {
|
||||||
...parsedContent,
|
const parsedContent = item.contentJson ? JSON.parse(item.contentJson) || {} : {};
|
||||||
adviceType: item.adviceType,
|
return {
|
||||||
requestId: item.requestId,
|
...parsedContent,
|
||||||
dbOpType: '1',
|
adviceType: item.adviceType,
|
||||||
groupId: item.groupId,
|
requestId: item.requestId,
|
||||||
uniqueKey: undefined,
|
dbOpType: '1',
|
||||||
// 确保 therapyEnum 被正确传递
|
groupId: item.groupId,
|
||||||
therapyEnum: parsedContent.therapyEnum || item.therapyEnum || '1',
|
uniqueKey: undefined,
|
||||||
};
|
// 确保 therapyEnum 被正确传递
|
||||||
});
|
therapyEnum: parsedContent.therapyEnum || item.therapyEnum || '1',
|
||||||
|
};
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
loading.value = false;
|
||||||
|
isSaving.value = false;
|
||||||
|
proxy.$modal.msgError('医嘱内容解析失败,请检查待签发医嘱');
|
||||||
|
return;
|
||||||
|
}
|
||||||
// 保存签发按钮
|
// 保存签发按钮
|
||||||
isSaving.value = true;
|
isSaving.value = true;
|
||||||
console.log('签发处方参数:', {
|
console.log('签发处方参数:', {
|
||||||
|
|||||||
@@ -302,6 +302,29 @@ function getSelectRows() {
|
|||||||
});
|
});
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getTableRef(index) {
|
||||||
|
return proxy.$refs['tableRef' + index]?.[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectAllRows() {
|
||||||
|
prescriptionList.value.forEach((item, index) => {
|
||||||
|
const tableRef = getTableRef(index);
|
||||||
|
if (!tableRef) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
item.forEach((row) => {
|
||||||
|
tableRef.toggleRowSelection(row, true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearSelection() {
|
||||||
|
prescriptionList.value.forEach((item, index) => {
|
||||||
|
getTableRef(index)?.clearSelection();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function handleRateChange(value, item, row) {
|
function handleRateChange(value, item, row) {
|
||||||
// 拼接当前选中时间
|
// 拼接当前选中时间
|
||||||
if (value) {
|
if (value) {
|
||||||
@@ -319,6 +342,8 @@ function handleRateChange(value, item, row) {
|
|||||||
defineExpose({
|
defineExpose({
|
||||||
handleGetPrescription,
|
handleGetPrescription,
|
||||||
handleMedicineSummary,
|
handleMedicineSummary,
|
||||||
|
selectAllRows,
|
||||||
|
clearSelection,
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span class="descriptions-item-label">全选:</span>
|
<span class="descriptions-item-label">全选:</span>
|
||||||
<el-switch v-model="chooseAll" @change="handelSwicthChange" />
|
<el-switch
|
||||||
|
v-model="chooseAll"
|
||||||
|
:disabled="isDetails != '1'"
|
||||||
|
@change="handelSwicthChange"
|
||||||
|
/>
|
||||||
<el-button class="ml20 mr20" type="primary" @click="handleExecute"> 汇总领药 </el-button>
|
<el-button class="ml20 mr20" type="primary" @click="handleExecute"> 汇总领药 </el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -160,24 +164,31 @@ function handleClick(tabName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleGetPrescription() {
|
function handleGetPrescription() {
|
||||||
prescriptionRefs.value.handleGetPrescription();
|
chooseAll.value = false;
|
||||||
|
prescriptionRefs.value?.handleGetPrescription();
|
||||||
}
|
}
|
||||||
|
|
||||||
function handelSwicthChange() {
|
function handelSwicthChange(value) {
|
||||||
if (chooseAll.value) {
|
if (!prescriptionRefs.value) {
|
||||||
proxy.$refs['prescriptionRefs'].selectAllRows();
|
chooseAll.value = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (value) {
|
||||||
|
prescriptionRefs.value.selectAllRows();
|
||||||
} else {
|
} else {
|
||||||
proxy.$refs['prescriptionRefs'].clearSelection();
|
prescriptionRefs.value.clearSelection();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleRadioChange(value) {
|
function handleRadioChange(value) {
|
||||||
|
chooseAll.value = false;
|
||||||
if (value == '1') {
|
if (value == '1') {
|
||||||
handleGetPrescription();
|
handleGetPrescription();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleTherapyChange() {
|
function handleTherapyChange() {
|
||||||
|
chooseAll.value = false;
|
||||||
handleGetPrescription();
|
handleGetPrescription();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,4 +227,4 @@ provide('handleGetPrescription', (value) => {
|
|||||||
:deep(.el-tabs__header) {
|
:deep(.el-tabs__header) {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user