diff --git a/src/api/liswork/micro/index.ts b/src/api/liswork/micro/index.ts index cb1ca07..f0d50b4 100644 --- a/src/api/liswork/micro/index.ts +++ b/src/api/liswork/micro/index.ts @@ -75,4 +75,60 @@ export function saveresult(data?: Object) { method: 'post', data }) +} +//获取药敏字典 +export function getmeddictList(data?: Object) { + return request({ + url: '/lisworkgerm/getmeddict', + method: 'get', + params: data + }) +} +//获取药敏模板 +export function getmedgroupList(data?: Object) { + return request({ + url: '/lisworkgerm/getmedgrouplist', + method: 'get', + params: data + }) +} +//获取药敏模板明细 +export function getmedgroupMbList(data?: Object) { + return request({ + url: '/lisworkgerm/getmedgroup', + method: 'get', + params: data + }) +} +//保存药敏结果 +export function savemedresult(data?: Object) { + return request({ + url: '/lisworkgerm/savemedresult', + method: 'post', + data + }) +} +//保存所有药敏结果 +export function savemedresultall(data?: Object) { + return request({ + url: '/lisworkgerm/savemedresultall', + method: 'post', + data + }) +} +//删除药敏结果 +export function deletemedresult(data?: Object) { + return request({ + url: '/lisworkgerm/deletemedresult', + method: 'post', + data + }) +} +//获取培养基记录 +export function getmediumList(data?: Object) { + return request({ + url: '/lisworkgerm/getmedium', + method: 'get', + params: data + }) } \ No newline at end of file diff --git a/src/assets/styles/btn.scss b/src/assets/styles/btn.scss index 3590d8d..595ec48 100644 --- a/src/assets/styles/btn.scss +++ b/src/assets/styles/btn.scss @@ -97,3 +97,19 @@ font-size: 14px; border-radius: 4px; } + + +.btn_green { + background-color: #aef5ef !important; + color: #148A7F; + border-color: #aef5ef; +} + +.btns_box { + padding: .3125rem .625rem !important; + font-size: .875rem; + height: 1.25rem !important; + margin: 5px 0; + margin-left: .625rem !important; + border-radius: 0 !important; +} \ No newline at end of file diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss index 563193f..c8a4094 100644 --- a/src/assets/styles/ruoyi.scss +++ b/src/assets/styles/ruoyi.scss @@ -106,13 +106,63 @@ .el-dialog:not(.is-fullscreen) { margin-top: 6vh !important; + padding: 0; + // border-radius: 20px; + + .el-dialog__body { + padding: 10px; + } } .el-dialog.scrollbar .el-dialog__body { overflow: auto; overflow-x: hidden; max-height: 70vh; - padding: 10px 20px 0; + padding: 16px; + } + + .el-dialog__header { + background: linear-gradient(90deg, #0c1a97 0%, #1373d3 100%); + padding: 10px 20px; + position: relative; + font-family: SourceHanSansCN, SourceHanSansCN; + + &::before { + content: ''; + position: absolute; + left: 20px; + top: 50%; + transform: translateY(-50%); + width: 28px; + height: 28px; + background: url('@/assets/logo/logo.png') no-repeat center; + background-size: contain; + z-index: 1; + } + + // 标题文本样式 + .el-dialog__title { + color: #fff; + /* 标题文字颜色 */ + padding-left: 40px; + /* 给 Logo 留出空间 */ + font-size: 16px; + font-weight: 600; + } + + .el-dialog__headerbtn .el-dialog__close { + color: #fff; + /* 关闭按钮颜色 */ + font-size: 18px; + + &:hover { + color: #fff; + } + } + } + + .el-dialog__footer { + padding: 10px; } .el-table { @@ -125,7 +175,7 @@ word-break: break-word; background-color: #1F6DD3 !important; color: #FFF; - height: 1.875rem !important; + height: 1.6875rem !important; font-size: .8125rem; } } @@ -136,6 +186,11 @@ } } + .el-table__body td { + font-size: .8125rem; + + } + /* 表格最外层边框(可选) */ .el-table--border { @@ -177,10 +232,13 @@ padding: 0 !important; } - .el-table--default .cell { - padding: 0 !important; + .el-table--default { + .cell { + padding: 0 !important; + } } + .el-table__cell { padding: 0 !important; height: 30px; @@ -249,7 +307,7 @@ } .el-input.is-disabled .el-input__inner { - -webkit-text-fill-color: #4e4c4c + -webkit-text-fill-color: #4e4c4c; } @@ -337,11 +395,6 @@ cursor: pointer; } - .btn_green { - background-color: #aef5ef !important; - color: #148A7F; - border-color: #aef5ef; - } // 表格input宽度,表格select宽度 .full-width-input .el-input__inner .el-select__inner { diff --git a/src/types/Object.d.ts b/src/types/Object.d.ts index 5855f6c..1e89e83 100644 --- a/src/types/Object.d.ts +++ b/src/types/Object.d.ts @@ -135,4 +135,26 @@ export class XmTextresultNew { xmdh?: string; xh?: number; textresult?: string; +} + +export class LabResultItem { + xmdh: string; + xmmc: string; + csjg: string; + qz: string; + [key: string]: any; +} + +export class ymTableDataItem { + zhywdh: string; + ywdh: any; + ywmc: any; + mic: string; + rad: string; + csjg: string; + jgbz: string; + ckz: string; + bz: string; + txtresult: string; + cp_bz: string; } \ No newline at end of file diff --git a/src/utils/useFingerprint.js b/src/utils/useFingerprint.js index 87b0bae..8b86cfb 100644 --- a/src/utils/useFingerprint.js +++ b/src/utils/useFingerprint.js @@ -41,7 +41,7 @@ export function useFingerprint() { // 组件挂载时自动获取指纹 onMounted(() => { - getFingerprint(); + // getFingerprint(); }); return { diff --git a/src/views/liswork/components/combination/index.vue b/src/views/liswork/components/combination/index.vue index f9684ee..6b9e078 100644 --- a/src/views/liswork/components/combination/index.vue +++ b/src/views/liswork/components/combination/index.vue @@ -41,7 +41,7 @@ const columns = ref([ // 左侧表格配置 const tableConfig = ref({ border: true, // 边框 - height: '', // 高度 + height: '82vh', // 高度 highlightCurrentRow: true, // 高亮当前行 }) const getCombination = () => { diff --git a/src/views/liswork/micro/index.vue b/src/views/liswork/micro/index.vue index 682311a..b737026 100644 --- a/src/views/liswork/micro/index.vue +++ b/src/views/liswork/micro/index.vue @@ -52,14 +52,15 @@ - + - + @@ -95,15 +96,16 @@
- - 所有 + + 所有 近30天 近60天 近90天 近7天 - 此日 -> + 此日 -> - +
@@ -186,13 +188,13 @@ const queryParams = ref({ ybh: '', instrGroup: '04', problemId: 0, - days: 90, + days: -1, pageSize: 600, pageNum: 1 }) -const activeName = ref('first') +const activeName = ref('second'); const total = ref(0) const ybs = ref(0) @@ -271,8 +273,6 @@ const searchQuery = () => { } labPatList.value = filterMhList; - getTotals(); - if (filterMhList.length > 0) { highlightRowIndex.value = 0; const firstRow = filterMhList[0]; @@ -281,7 +281,7 @@ const searchQuery = () => { } else { labPat.value = {}; labInfo.value = {}; - labResuts.value = []; + zbLabResuts.value = []; highlightRowIndex.value = -1; } }; @@ -311,8 +311,6 @@ const handleQueryResult = (params: QueryParams) => { labPatList.value = filteredList; - getTotals(); - if (filteredList.length > 0) { highlightRowIndex.value = 0; const firstRow = filteredList[0]; @@ -321,7 +319,7 @@ const handleQueryResult = (params: QueryParams) => { } else { labPat.value = {}; labInfo.value = {}; - labResuts.value = []; + zbLabResuts.value = []; highlightRowIndex.value = -1; } }; @@ -329,7 +327,6 @@ const handleQueryResult = (params: QueryParams) => { // 处理重置 const handleReset = () => { labPatList.value = [...originalLabPatList.value]; - getTotals(); } const previewHandle = (url: string) => { if (!url) return ElMessage.warning('未查询到文件') @@ -338,13 +335,11 @@ const previewHandle = (url: string) => { } const handleinstrGroupChange = (val: any) => { queryParams.value.yq = '' - // labResuts.value = [] - // labPat.value = {} getYqConfig() } const mbStore = useCommonStore(); const yqHandleChange = (val: any) => { - labResuts.value = [] + zbLabResuts.value = []; labPat.value = {} labInfo.value = {} mbStore.setLxsrList([]); @@ -402,11 +397,11 @@ const selectJob = (job: any) => { fetchLabResults(); highlightRowIndex.value = labPatList.value.findIndex((item: any) => item.ybh == labInfo.value.ybh); } -const labResuts = ref([]) +const zbLabResuts = ref([]) //载入样本结果表单(中间labresult.vue组件) const fetchLabResults = async () => { sampleMedInfo({ jyrq: labInfo.value.jyrq ? labInfo.value.jyrq : queryParams.value.jyrq, yq: labInfo.value.yq, ybh: labInfo.value.ybh }).then((response: any) => { - labResuts.value = response.data; + zbLabResuts.value = response.data; }) } @@ -419,7 +414,6 @@ const fetchLabPat = () => { } queryLabPat(data).then((response: any) => { labPat.value = response.data; - labInfo.value = response.data; }) } @@ -466,7 +460,7 @@ const handleCreate = () => { labPat.value = response.data; labInfo.value = response.data; labPat.value.id = `temp_${Date.now()}_${Math.random().toString(36).substr(2, 8)}`; - labResuts.value = [] + zbLabResuts.value = []; labPatListRef.value?.clearCurrentRow(); fetchLabResults() } @@ -497,7 +491,6 @@ const delSampleHd = () => { if (res.code == 0) { ElMessage.success('删除成功') labPatList.value = labPatList.value.filter((item: any) => item.ybh != labInfo.value.ybh) - getTotals() // 删除跳当前页面下一个样本 // handleNext() if (highlightRowIndex.value > labPatList.value.length - 1) { @@ -615,7 +608,6 @@ const changeStatus = (updatedPat: any, flag: boolean) => { labPatListRef.value.setCurrentRow(labPat.value); }); }, 10) - getTotals() } } }); @@ -649,13 +641,8 @@ const fetchlabPatList = () => { loading.value = false; if (res.rows.length > 0) { highlightRowIndex.value = 0; - setTimeout(() => { labPatListRef.value.setCurrentRow(res.rows[0]); }, 100) + setTimeout(() => { labPatListRef.value.setCurrentRow(res.rows[0]) }, 10) selectJob(res.rows[0]) - getTotals() - } else { - ybs.value = 0 - ws.value = 0 - wjs.value = 0 } } }) @@ -687,12 +674,15 @@ interface DictData { const dictData = ref({}); const labInputcolList = ref([]) const resultConfig = ref([]) + +const instrdComOpt = ref({}) //仪器通用配置 // 获取参数配置 const getSysList = () => { instrdconfig({ yq: queryParams.value.yq }).then((res: any) => { if (res.code == 0) { labInputcolList.value = res.data.labInputcolList.filter((item: any) => item.mrts != "年龄单位" && item.mrts != "!") resultConfig.value = res.data.ResultConfig + instrdComOpt.value = res.data.instrdComOpt } }); mbStore.setLxsrList([]); @@ -726,8 +716,8 @@ onMounted(async () => { const initSocket = () => { initWebSocket({ - // fullUrl: `ws://47.97.125.165:8904/ws/instr/${mbStore.fingerprint}`, - fullUrl: `ws://192.168.1.151:9801/ws/instr/${mbStore.fingerprint}`, + fullUrl: `ws://47.97.125.165:8904/ws/instr/${mbStore.fingerprint}`, + // fullUrl: `ws://192.168.1.151:9801/ws/instr/${mbStore.fingerprint}`, onOpen: () => { console.log('WebSocket连接成功'); }, @@ -797,7 +787,7 @@ const sendMessage = () => { margin: .125rem 0; .el-radio { - margin-right: 15px; + margin-right: .3125rem; } } diff --git a/src/views/liswork/micro/labresult/byj.vue b/src/views/liswork/micro/labresult/byj.vue index 0cd9db7..6df14c5 100644 --- a/src/views/liswork/micro/labresult/byj.vue +++ b/src/views/liswork/micro/labresult/byj.vue @@ -1,10 +1,72 @@ diff --git a/src/views/liswork/micro/labresult/cbReport.vue b/src/views/liswork/micro/labresult/cbReport.vue index cedd1fd..5d842b6 100644 --- a/src/views/liswork/micro/labresult/cbReport.vue +++ b/src/views/liswork/micro/labresult/cbReport.vue @@ -1,33 +1,284 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/liswork/micro/labresult/components/kssMb.vue b/src/views/liswork/micro/labresult/components/kssMb.vue new file mode 100644 index 0000000..97d90f9 --- /dev/null +++ b/src/views/liswork/micro/labresult/components/kssMb.vue @@ -0,0 +1,159 @@ + + + + + \ No newline at end of file diff --git a/src/views/liswork/micro/labresult/components/meddict.vue b/src/views/liswork/micro/labresult/components/meddict.vue new file mode 100644 index 0000000..7cc0085 --- /dev/null +++ b/src/views/liswork/micro/labresult/components/meddict.vue @@ -0,0 +1,159 @@ + + + + + \ No newline at end of file diff --git a/src/views/liswork/micro/labresult/record.vue b/src/views/liswork/micro/labresult/record.vue index a107b19..692c266 100644 --- a/src/views/liswork/micro/labresult/record.vue +++ b/src/views/liswork/micro/labresult/record.vue @@ -51,7 +51,9 @@ const getRecordList = () => { } watch(() => props.labPat, (newValue) => { - getRecordList() + if (newValue.jyrq && newValue.ybh && newValue.yq) { + getRecordList() + } }) diff --git a/src/views/liswork/micro/labresult/zbReport.vue b/src/views/liswork/micro/labresult/zbReport.vue index bf72e15..a6031e1 100644 --- a/src/views/liswork/micro/labresult/zbReport.vue +++ b/src/views/liswork/micro/labresult/zbReport.vue @@ -1,14 +1,14 @@
- + - + + + + + + + + + + @@ -77,12 +111,12 @@