From fdacc38f17914f0923c29bec15fc49dc36681f7a Mon Sep 17 00:00:00 2001 From: wyuu Date: Wed, 3 Dec 2025 18:06:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=98=BE=E7=A4=BA=E3=80=81?= =?UTF-8?q?=E4=B8=93=E5=AE=B6=E8=AF=84=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/liswork/micro/index.ts | 8 ++ src/assets/styles/index.scss | 4 +- src/components/tabViews/index.vue | 2 +- src/views/checkCode/report/index.vue | 10 +- .../components/otherInformation/index.vue | 125 ++++++++++++++++++ .../{others => othersResult}/index.vue | 0 src/views/liswork/components/sample/index.vue | 2 +- src/views/liswork/micro/index.vue | 50 ++++--- src/views/liswork/micro/labpat.vue | 2 - .../liswork/micro/labresult/cbReport.vue | 89 ++++++++----- .../labresult/components/commentDialog.vue | 89 +++++++++++++ .../liswork/micro/labresult/zbReport.vue | 107 +++++++++------ src/views/liswork/work/index copy.vue | 2 +- src/views/liswork/work/index.vue | 44 +++--- .../inspectionReport/report/index.vue | 10 +- 15 files changed, 413 insertions(+), 131 deletions(-) create mode 100644 src/views/liswork/components/otherInformation/index.vue rename src/views/liswork/components/{others => othersResult}/index.vue (100%) create mode 100644 src/views/liswork/micro/labresult/components/commentDialog.vue diff --git a/src/api/liswork/micro/index.ts b/src/api/liswork/micro/index.ts index 65aa33a..0acd6c5 100644 --- a/src/api/liswork/micro/index.ts +++ b/src/api/liswork/micro/index.ts @@ -34,6 +34,14 @@ export function getresultmedList(query?: Object) { params: query }) } +// 获取专家评语字典 +export function getgermtextdict(query?: Object) { + return request({ + url: '/lisworkgerm/getgermtextdict', + method: 'get', + params: query + }) +} // 写入专家评语 export function savetestResult(query?: Object) { return request({ diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index 2123427..5331e82 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -293,8 +293,8 @@ aside { align-items: center; justify-content: space-between; - .jtIcon { - width: 2.5rem; + .jt_btn { + width: 1.5rem; height: 2rem; line-height: 2rem; font-size: 1rem; diff --git a/src/components/tabViews/index.vue b/src/components/tabViews/index.vue index bdc7554..e583251 100644 --- a/src/components/tabViews/index.vue +++ b/src/components/tabViews/index.vue @@ -70,7 +70,7 @@ const scrollToActiveTab = () => { // 如果Tab不在可见区域内,则滚动到可见区域 if (tabRect.left < containerRect.left || tabRect.right > containerRect.right) { scrollContainer.scrollTo({ - left: tabRect.left - containerRect.left + scrollContainer.scrollLeft - 100, + left: tabRect.left - containerRect.left + scrollContainer.scrollLeft - 200, behavior: 'smooth' }); } diff --git a/src/views/checkCode/report/index.vue b/src/views/checkCode/report/index.vue index 04ea533..53f1ac9 100644 --- a/src/views/checkCode/report/index.vue +++ b/src/views/checkCode/report/index.vue @@ -535,7 +535,15 @@ const rightTableConfig = ref( ) const formatJgbz = (v: string) => { - return v == 'H' ? '高' : v == 'L' ? '低' : v == 'N' ? '阴性' : v == 'P' ? '阳性' : v == 'Q' ? '弱阳性' : v == 'M' ? '正常' : '' + const jgbzMap = { + 'H': '高', + 'L': '低', + 'N': '阴性', + 'P': '阳性', + 'Q': '弱阳性', + 'M': '正常' + }; + return jgbzMap[v as keyof typeof jgbzMap] ?? ''; } const expertComment = ref('') diff --git a/src/views/liswork/components/otherInformation/index.vue b/src/views/liswork/components/otherInformation/index.vue new file mode 100644 index 0000000..0e1d645 --- /dev/null +++ b/src/views/liswork/components/otherInformation/index.vue @@ -0,0 +1,125 @@ + + + + + + \ No newline at end of file diff --git a/src/views/liswork/components/others/index.vue b/src/views/liswork/components/othersResult/index.vue similarity index 100% rename from src/views/liswork/components/others/index.vue rename to src/views/liswork/components/othersResult/index.vue diff --git a/src/views/liswork/components/sample/index.vue b/src/views/liswork/components/sample/index.vue index 504bf17..950caf2 100644 --- a/src/views/liswork/components/sample/index.vue +++ b/src/views/liswork/components/sample/index.vue @@ -189,7 +189,7 @@ const lastTimeIndex = computed(() => { const getInfo = () => { reqinfo(queryParams.value).then((res: any) => { - info.value = res.data[0] + info.value = res.data[0] || {} }) } diff --git a/src/views/liswork/micro/index.vue b/src/views/liswork/micro/index.vue index 2521f9b..86fe029 100644 --- a/src/views/liswork/micro/index.vue +++ b/src/views/liswork/micro/index.vue @@ -9,18 +9,12 @@
-
- - - -
+ -
- - - -
+
@@ -94,14 +88,16 @@ - + @@ -164,12 +160,13 @@ import tabView from '@/components/tabViews/index.vue'; import iFrame from "@/components/iFrame/index.vue"; import LabPatList from './labpatlist.vue'; import History from '../components/history/index.vue' -import Others from '../components/others/index.vue' +import OthersResult from '../components/othersResult/index.vue' import Reexamination from '../components/reexamination/index.vue' import Charge from '../components/charge/index.vue' import Combination from '../components/combination/index.vue' import Clinical from '../components/clinical/index.vue' import Sample from '../components/sample/index.vue' +import OtherInformation from '../components/otherInformation/index.vue' import ResultGraph from '../components/resultGraph/index.vue' import CheckUser from '../work/components/CheckUser.vue'; // 中间部分 @@ -220,23 +217,25 @@ const tabList = ref([ { label: '标本列表', value: 'LabPatList' }, { label: '结果图形', value: 'ResultGraph' }, { label: '历史对照', value: 'History' }, - { label: '其他结果', value: 'Others' }, + { label: '其他结果', value: 'OthersResult' }, { label: '结果复查', value: 'Reexamination' }, { label: '收费信息', value: 'Charge' }, { label: '组合项目', value: 'Combination' }, { label: '临床意义', value: 'Clinical' }, { label: '样本流转', value: 'Sample' }, + { label: '其他信息', value: 'OtherInformation' }, ]) const activeTabMap = { ResultGraph, History, - Others, + OthersResult, Reexamination, Charge, Combination, Clinical, - Sample + Sample, + OtherInformation } const activeTabName = computed(() => activeTabMap[activeTab.value as keyof typeof activeTabMap] || 'LabPatList'); @@ -498,16 +497,15 @@ const ybhChangeTb = (val: string) => { } const handleQuery = () => { if (!labPatList.value.length) return - if (!labPat.value.ybh) { + if (!queryParams.value.ybh) { highlightRowIndex.value = -1; ElMessage.warning('请输入样本编号') - labPat.value.ybh = lastRow.value.ybh queryParams.value.ybh = lastRow.value.ybh return; } // queryParams.value = { ...queryParams.value }; // 查找匹配的行 - const matchedIndex = labPatList.value.findIndex((item: any) => item.ybh == labPat.value.ybh); + const matchedIndex = labPatList.value.findIndex((item: any) => item.ybh == queryParams.value.ybh); const row = labPatList.value[matchedIndex] if (matchedIndex !== -1) { diff --git a/src/views/liswork/micro/labpat.vue b/src/views/liswork/micro/labpat.vue index 3e71883..f04d818 100644 --- a/src/views/liswork/micro/labpat.vue +++ b/src/views/liswork/micro/labpat.vue @@ -72,10 +72,8 @@ import { ref, reactive, watch, toRaw, computed, onMounted, nextTick } from 'vue' import { changepatcolumn, updateLabPat, checkYsUser } from "@/api/liswork/work/LisWork"; import SelectTable from '@/components/SelectTable/index.vue'; import YhVerification from '../work/components/yhVerification.vue'; - import emitter from '@/utils/mitt'; import { classCom } from '@/utils/classCom'; -import Labpat from '../work/components/labpat.vue'; const aotuSize = classCom.useAutoSize(); diff --git a/src/views/liswork/micro/labresult/cbReport.vue b/src/views/liswork/micro/labresult/cbReport.vue index 3a2f38b..70ac4f8 100644 --- a/src/views/liswork/micro/labresult/cbReport.vue +++ b/src/views/liswork/micro/labresult/cbReport.vue @@ -1,22 +1,18 @@ - -
- 二报人:{{ formatUser(erInfo?.confirmer) }}    报告时间:{{ erInfo?.confirmdt - }}   + 初报人:{{ formatUser(cbInfo?.confirmer) }} + 报告时间: {{ cbInfo?.confirmdt }}
-
{{ erInfo?.jgbz == '2' ? '已二报' : '' }}
+
{{ cbInfo?.jgbz == '2' ? '已初报' : '' }}
+
- 二报审核 - 取消审核 - 新增 - 删除 - 取消审核 + 新增 + 删除 + 组合项目 打印 预览 @@ -122,7 +118,13 @@ {{ formatDict(row.germclass, 'germclass') }} - +
+
+ 二报人:{{ formatUser(erInfo?.confirmer) }} + 报告时间:{{ erInfo?.confirmdt }} +
+
{{ erInfo?.jgbz == '2' ? '已二报' : '' }}
+
@@ -341,7 +343,7 @@ const CellStyleHd = ({ row, column, rowIndex, columnIndex }: { }; const tableConfig = ref({ - height: '32vh', + height: '33vh', border: true, highlightCurrentRow: true, cellStyle: CellStyleHd @@ -618,7 +620,15 @@ const formatDict = (v: string, dictType: string) => { } const formatJgbz = (v: string) => { - return v == 'H' ? '高' : v == 'L' ? '低' : v == 'N' ? '阴性' : v == 'P' ? '阳性' : v == 'Q' ? '弱阳性' : v == 'M' ? '正常' : '' + const jgbzMap = { + 'H': '高', + 'L': '低', + 'N': '阴性', + 'P': '阳性', + 'Q': '弱阳性', + 'M': '正常' + }; + return jgbzMap[v as keyof typeof jgbzMap] ?? ''; } const formatUser = (yhdh: string) => { return userList.value.find((item: any) => item.userName == yhdh)?.nickName || yhdh @@ -627,22 +637,29 @@ const formatUser = (yhdh: string) => { \ No newline at end of file diff --git a/src/views/liswork/micro/labresult/components/commentDialog.vue b/src/views/liswork/micro/labresult/components/commentDialog.vue new file mode 100644 index 0000000..0dcaf86 --- /dev/null +++ b/src/views/liswork/micro/labresult/components/commentDialog.vue @@ -0,0 +1,89 @@ + + + + + \ No newline at end of file diff --git a/src/views/liswork/micro/labresult/zbReport.vue b/src/views/liswork/micro/labresult/zbReport.vue index 6c2a438..31ef8a5 100644 --- a/src/views/liswork/micro/labresult/zbReport.vue +++ b/src/views/liswork/micro/labresult/zbReport.vue @@ -4,11 +4,12 @@ 审核 取消审核 - 新增 - 删除 - 组合项目 + 新增 + 删除 + 组合项目
@@ -113,22 +114,31 @@
+ + + @@ -208,6 +218,7 @@ import ViewBackup from "../../work/components/viewBackup.vue" import userVerification from "@/components/userVerification/index.vue"; import DlDialog from "../../work/components/dlDialog.vue"; import MergeResults from "../../work/components/mergeResults.vue"; +import CommentDialog from "./components/commentDialog.vue"; const props = defineProps({ labPat: { @@ -701,8 +712,9 @@ watch(labResutsData, (newVal: any) => { } }) -const handleTextareaEnter = () => { +const handleTextarea = () => { if (!rowInfo.value.xmdh) return + if (!textarea.value) return ElMessage.warning('请填写专家评语!') savetestResult({ ...rowInfo.value, textresult: textarea.value }).then((res: any) => { if (res.code == 0) { ElMessage.success('保存成功'); @@ -714,6 +726,8 @@ const rowHandle = (row: any) => { selectedRows.value = [row]; emitter.emitWithCache('refreshClinical', row); rowInfo.value = row + textarea.value = row.textresult + const data = { ybh: labPat.value.ybh, yq: labPat.value.yq, @@ -909,6 +923,15 @@ const kssSelect = (row: any) => { } }) } + +const commentRef = ref() +const pyMb = () => { + commentRef.value.open() +} + +const handleCommentConfirm = (text: string) => { + textarea.value = text +} const addMed = () => { medDictRef.value.openDictSelector(); } @@ -1004,7 +1027,15 @@ const formatDict = (v: string, dictType: string) => { return props.dictData[dictType]?.find((item: any) => item.value == v)?.label || v; } const formatJgbz = (v: string) => { - return v == 'H' ? '高' : v == 'L' ? '低' : v == 'N' ? '阴性' : v == 'P' ? '阳性' : v == 'Q' ? '弱阳性' : v == 'M' ? '正常' : '' + const jgbzMap = { + 'H': '高', + 'L': '低', + 'N': '阴性', + 'P': '阳性', + 'Q': '弱阳性', + 'M': '正常' + }; + return jgbzMap[v as keyof typeof jgbzMap] ?? ''; } diff --git a/src/views/liswork/work/index copy.vue b/src/views/liswork/work/index copy.vue index 030a2c2..5dbca2e 100644 --- a/src/views/liswork/work/index copy.vue +++ b/src/views/liswork/work/index copy.vue @@ -132,7 +132,7 @@ import { } from "../../../api/liswork/work/LisWork"; import { querylabInstrList, querylabInstrListByLisgroup } from "../../../api/liswork/dict/LabInstr"; import { getComDicts, queryComDictListService } from "../../../api/liswork/dict/ComDict"; -import LabPatForm from './components/labpat.vue' +import LabPatForm from './labpat.vue' import LabResultForm from './labresult.vue' import LabPatListForm from './labpatlist.vue' import Unconfirmlog from './components/unconfirmlog.vue' diff --git a/src/views/liswork/work/index.vue b/src/views/liswork/work/index.vue index 398db96..9905d24 100644 --- a/src/views/liswork/work/index.vue +++ b/src/views/liswork/work/index.vue @@ -9,18 +9,12 @@
-
- - - -
+ -
- - - -
+
@@ -79,15 +73,18 @@ - + @@ -137,12 +134,13 @@ import { queryLabPatList, queryLabResults, loadDefault, queryLabPat, instrdconfi import { getComDicts, queryComDictListService } from "@/api/liswork/dict/ComDict"; import { ElMessage, ElMessageBox } from "element-plus"; import History from '../components/history/index.vue' -import Others from '../components/others/index.vue' +import OthersResult from '../components/othersResult/index.vue' import Reexamination from '../components/reexamination/index.vue' import Charge from '../components/charge/index.vue' import Combination from '../components/combination/index.vue' import Clinical from '../components/clinical/index.vue' import Sample from '../components/sample/index.vue' +import OtherInformation from '../components/otherInformation/index.vue' import ResultGraph from '../components/resultGraph/index.vue' import { getNextNumber, getPreviousNumber } from "@/utils/getNextNumber"; import { useCommonStore } from '@/store/modules/commonStore'; @@ -174,23 +172,25 @@ const tabList = ref([ { label: '标本列表', value: 'LabPatList' }, { label: '结果图形', value: 'ResultGraph' }, { label: '历史对照', value: 'History' }, - { label: '其他结果', value: 'Others' }, + { label: '其他结果', value: 'OthersResult' }, { label: '结果复查', value: 'Reexamination' }, { label: '收费信息', value: 'Charge' }, { label: '组合项目', value: 'Combination' }, { label: '临床意义', value: 'Clinical' }, { label: '样本流转', value: 'Sample' }, + { label: '其他信息', value: 'OtherInformation' }, ]) const activeTabMap = { ResultGraph, History, - Others, + OthersResult, Reexamination, Charge, Combination, Clinical, - Sample + Sample, + OtherInformation } const activeTabName = computed(() => activeTabMap[activeTab.value as keyof typeof activeTabMap] || 'LabPatList'); diff --git a/src/views/regional/inspectionReport/report/index.vue b/src/views/regional/inspectionReport/report/index.vue index 598371e..93e6c8d 100644 --- a/src/views/regional/inspectionReport/report/index.vue +++ b/src/views/regional/inspectionReport/report/index.vue @@ -544,7 +544,15 @@ const rightTableConfig = ref( ) const formatJgbz = (v: string) => { - return v == 'H' ? '高' : v == 'L' ? '低' : v == 'N' ? '阴性' : v == 'P' ? '阳性' : v == 'Q' ? '弱阳性' : v == 'M' ? '正常' : '' + const jgbzMap = { + 'H': '高', + 'L': '低', + 'N': '阴性', + 'P': '阳性', + 'Q': '弱阳性', + 'M': '正常' + }; + return jgbzMap[v as keyof typeof jgbzMap] ?? ''; } const expertComment = ref('')