diff --git a/.env b/.env index 17ef8438..deeb6b50 100644 --- a/.env +++ b/.env @@ -11,10 +11,10 @@ VITE_OPEN=true VITE_APP_TENANT_ENABLE=true # 验证码的开关 -VITE_APP_CAPTCHA_ENABLE=true +VITE_APP_CAPTCHA_ENABLE=false # 文档地址的开关 -VITE_APP_DOCALERT_ENABLE=true +VITE_APP_DOCALERT_ENABLE=false # 百度统计 VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc diff --git a/.env.dev b/.env.dev index 232f1c6b..fd428bed 100644 --- a/.env.dev +++ b/.env.dev @@ -1,15 +1,15 @@ # 开发环境:本地只启动前端项目,依赖开发环境(后端、APP) NODE_ENV=production -VITE_DEV=true +VITE_DEV=false # 请求路径 -VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn' +VITE_BASE_URL='http://localhost:48080' # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务 VITE_UPLOAD_TYPE=server # 上传路径 -VITE_UPLOAD_URL='http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload' +VITE_UPLOAD_URL='http://114.55.171.231:48080/admin-api/infra/file/upload' # 接口地址 VITE_API_URL=/admin-api @@ -33,4 +33,4 @@ VITE_OUT_DIR=dist VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn' # 验证码的开关 -VITE_APP_CAPTCHA_ENABLE=true +VITE_APP_CAPTCHA_ENABLE=false diff --git a/.env.prod b/.env.prod index 842ba616..5cb7dc54 100644 --- a/.env.prod +++ b/.env.prod @@ -1,33 +1,36 @@ -# 生产环境:只在打包时使用 +# 开发环境:本地只启动前端项目,依赖开发环境(后端、APP) NODE_ENV=production VITE_DEV=false # 请求路径 -VITE_BASE_URL='http://localhost:48080' +VITE_BASE_URL='http://114.55.171.231:48080' # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务 VITE_UPLOAD_TYPE=server # 上传路径 -VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload' +VITE_UPLOAD_URL='http://114.55.171.231:48080/admin-api/infra/file/upload' # 接口地址 VITE_API_URL=/admin-api # 是否删除debugger -VITE_DROP_DEBUGGER=true +VITE_DROP_DEBUGGER=false # 是否删除console.log -VITE_DROP_CONSOLE=true +VITE_DROP_CONSOLE=false # 是否sourcemap -VITE_SOURCEMAP=false +VITE_SOURCEMAP=true # 打包路径 VITE_BASE_PATH=/ # 输出路径 -VITE_OUT_DIR=dist-prod +VITE_OUT_DIR=dist # 商城H5会员端域名 VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn' + +# 验证码的开关 +VITE_APP_CAPTCHA_ENABLE=false diff --git a/public/static/ctlogo.png b/public/static/ctlogo.png new file mode 100644 index 00000000..e11e50db Binary files /dev/null and b/public/static/ctlogo.png differ diff --git a/public/static/dicom/dicomViewPc1.html b/public/static/dicom/dicomViewPc1.html index 1b3c218f..b2313046 100644 --- a/public/static/dicom/dicomViewPc1.html +++ b/public/static/dicom/dicomViewPc1.html @@ -102,6 +102,8 @@ .series_img { border: 0px solid green; + width: 70px; + height: 70px; } .series_img_active { @@ -304,31 +306,31 @@
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - x + x
diff --git a/public/static/dicom/js/dicomViewPc.js b/public/static/dicom/js/dicomViewPc.js index f69fe52c..d627e6fd 100644 --- a/public/static/dicom/js/dicomViewPc.js +++ b/public/static/dicom/js/dicomViewPc.js @@ -438,6 +438,7 @@ function initImgList(data) { className += "_active"; } $("#dicom-list").append(''); + $("#dicom-list").append('
"'+data.seriesList[i].SeriesDesc+'"
'); } } diff --git a/src/api/tblist/patientexamlist/index.ts b/src/api/tblist/patientexamlist/index.ts index a80a4d82..42972702 100644 --- a/src/api/tblist/patientexamlist/index.ts +++ b/src/api/tblist/patientexamlist/index.ts @@ -31,6 +31,7 @@ export interface PatientexamlistVO { deviceName: string // 影像设备名称 notes:string//备注 billDoctorDepartment:string// 开单科室 送检科室 + StudyInsta:string } // PACS检查列表 API diff --git a/src/api/ultrasoniccom/index.ts b/src/api/ultrasoniccom/index.ts index 7b1d9f3d..e33b5da6 100644 --- a/src/api/ultrasoniccom/index.ts +++ b/src/api/ultrasoniccom/index.ts @@ -30,7 +30,7 @@ export const ultrasoniccomApi = { }, //获取dicom数据 - getdcmlist: async () => { - return await request.get({ url: `/ultrasoniccom/ultrasonic/getdcm`}) + getdcmlist: async (studyInsta:string,orgid:string,regId:string) => { + return await request.get({ url: `/ultrasoniccom/ultrasonic/getdcm?orgID=${orgid}&&studyInsta=${studyInsta}&®Id=${regId}`}) }, } diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts index 5e3287a7..c590db74 100644 --- a/src/store/modules/permission.ts +++ b/src/store/modules/permission.ts @@ -40,16 +40,26 @@ export const usePermissionStore = defineStore('permission', { } const routerMap: AppRouteRecordRaw[] = generateRoute(res) // 动态路由,404一定要放到最后面 + // 李晓东 this.addRouters = routerMap.concat([ - { - path: '/:path(.*)*', - redirect: '/404', - name: '404Page', - meta: { - hidden: true, - breadcrumb: false - } - } + // { + // path: '/:path(.*\.html)*', + // redirect: '/403', + // name: 'allowHtml', + // meta: { + // hidden: true, + // breadcrumb: false + // } + // }, + // { + // path: '/:path(.*)*', + // redirect: '/404', + // name: '404Page', + // meta: { + // hidden: true, + // breadcrumb: false + // } + // } ]) // 渲染菜单的所有路由 this.routers = cloneDeep(remainingRouter).concat(routerMap) diff --git a/src/views/applyregistration/applyform/ApplyformForm.vue b/src/views/applyregistration/applyform/ApplyformForm.vue index 5e99ec4a..85d74c62 100644 --- a/src/views/applyregistration/applyform/ApplyformForm.vue +++ b/src/views/applyregistration/applyform/ApplyformForm.vue @@ -21,8 +21,8 @@ diff --git a/src/views/dicomForm/dicomViewForm.vue b/src/views/dicomForm/dicomViewForm.vue index 359b6139..59130a07 100644 --- a/src/views/dicomForm/dicomViewForm.vue +++ b/src/views/dicomForm/dicomViewForm.vue @@ -479,16 +479,23 @@ const handleselectchange = async () => { let ID: number //orgid const orgId = ref('') - //regid const regId = ref('') + +const examid = ref('') //内嵌网页加载增加时间戳 防止缓存 const newSrc = ref('') /** 打开弹窗 */ -const open = async (id: number, orgid: string, regid: string) => { +const open = async ( + id: number, + orgid: string, + regid: string, + examId: string +) => { resetForm() - const Src = `/dicom/dicomViewPc1.html?t=${new Date().getTime()}` + const Src = `/static/dicom/dicomViewPc1.html?t=${new Date().getTime()}` + // const Src="D:\pacs\vue\FlowVue-1\dist-prod\dicom\dicomViewPc1.html"+"?"+new Date().getTime() newSrc.value = Src console.log('orgid' + orgid) @@ -496,6 +503,7 @@ const open = async (id: number, orgid: string, regid: string) => { console.log('id' + id) orgId.value = orgid regId.value = regid + examid.value = examId ID = id dialogVisible.value = true dialogTitle.value = '书写报告(影像)' @@ -527,15 +535,17 @@ const open = async (id: number, orgid: string, regid: string) => { // 加载网页请求的数据 const iframeData = async () => { try { - - const response = await ultrasoniccomApi.getdcmlist() + const response = await ultrasoniccomApi.getdcmlist(examid.value, orgId.value, regId.value) if (response) { //给打开的内嵌html 传递参数 var localData = { regid: '', // 这里的 'someNumber' 应该替换为实际的数值 - orgId: '' ,// 这里的 'someOrgId' 应该替换为实际的组织ID - do:response - } + orgId: '', // 这里的 'someOrgId' 应该替换为实际的组织ID + do: response + } + + // 在存入新数据之前,先删除原有的'data'项 + localStorage.removeItem('data') // 将对象转换为JSON字符串 var localStorageData = JSON.stringify(localData) localStorage.setItem('data', localStorageData) diff --git a/src/views/tblist/patientexamlist/index.vue b/src/views/tblist/patientexamlist/index.vue index 680ebf54..ea93f4ae 100644 --- a/src/views/tblist/patientexamlist/index.vue +++ b/src/views/tblist/patientexamlist/index.vue @@ -447,16 +447,16 @@ const exportLoading = ref(false) // 导出的加载中 /** 影像组件 */ const dicomViewRef = ref() -const opendicomViewFrom= (id: number, orgid: string, regid: string) => { - dicomViewRef.value.open(id, orgid, regid) +const opendicomViewFrom= (id: number, orgid: string, regid: string,examId:string) => { + dicomViewRef.value.open(id, orgid, regid,examId) } /** 表格行点击 */ const clickNumber = ref(0) function handleEdit(row) { console.log(111111121212) - if(row.deviceType!="US")//US是超声类 + if(!row.deviceType.includes("US"))//US是超声类 { - opendicomViewFrom(row.id,row.orgId,row.regId) + opendicomViewFrom(row.id,row.orgId,row.regId,row.examId) } diff --git a/src/views/tblist/patientexamlistultrasonic/index.vue b/src/views/tblist/patientexamlistultrasonic/index.vue index a11f8dc6..e2f5e6d2 100644 --- a/src/views/tblist/patientexamlistultrasonic/index.vue +++ b/src/views/tblist/patientexamlistultrasonic/index.vue @@ -446,7 +446,7 @@ const clickNumber = ref(0); function handleEdit(row) { console.log(111111121212) openultrForm(row.id,row.orgId,row.regId) - if(row.deviceType=="US")//US是超声类 + if(row.deviceType.includes("US"))//US是超声类 { openultrForm(row.id,row.orgId,row.regId) } diff --git a/src/views/ultrasoniccom/ultrasonicForm.vue b/src/views/ultrasoniccom/ultrasonicForm.vue index e5490d28..d80d0ee8 100644 --- a/src/views/ultrasoniccom/ultrasonicForm.vue +++ b/src/views/ultrasoniccom/ultrasonicForm.vue @@ -27,11 +27,11 @@ - + - -
+ +
- + - + - + 检查所见 诊断结论 - + 保存审核 - + -
+

超声检查报告单


@@ -340,7 +340,7 @@

超声图像:

-
+
@@ -445,6 +445,8 @@ import { getNowDateTimeS } from '@/utils/formatTime' import print from 'vue3-print-nb' import htmlToPdf from '@/utils/htmlPdf' import { Check, Delete, Edit, Message, Search, Star } from '@element-plus/icons-vue' +import type { TabsPaneContext } from 'element-plus' + /** 超声组件 */ defineOptions({ name: 'Ultrasonic' }) @@ -465,26 +467,22 @@ const isImageLoaded3 = ref(false) //是否展示图片清除按钮 // 中间的选择图加载和失败事件 const handleLoad = (id: string) => { if (applyFormVO.value.reportstatus == '已分析' || applyFormVO.value.reportstatus == '已审核') { - isImageLoaded.value = false isImageLoaded2.value = false isImageLoaded3.value = false - } - else - { + } else { switch (id) { - case '1': - isImageLoaded.value = true - break - case '2': - isImageLoaded2.value = true - break - case '3': - isImageLoaded3.value = true - break + case '1': + isImageLoaded.value = true + break + case '2': + isImageLoaded2.value = true + break + case '3': + isImageLoaded3.value = true + break + } } - } - } const handleError = (id: string) => { switch (id) { @@ -589,6 +587,8 @@ const examine = async () => { //查询患者信息 根据ID getPatientexamlist(ID) + // 如果是审核或者已分析加载选中的图片 + loadimagelist() emit('success') } } else if (applyFormVO.value.reportstatus === '已审核') { @@ -627,15 +627,14 @@ const images = ref([]) //报告的查询 const reportimages = ref([]) //查询图片 -const getimages = async (type:string) => { +const getimages = async (type: string) => { const imageslist = await ultrasoniccomApi.getimageslist(orgId.value, regId.value, type) console.log(imageslist) images.value = imageslist } // 在打开窗体的时候如果他是已经审核的状态或者已经分析的状态 加载选择的三个图片 -const loadimage =async () => { +const loadimage = async () => { if (applyFormVO.value.reportstatus == '已分析' || applyFormVO.value.reportstatus == '已审核') { - const imageslist = await ultrasoniccomApi.getimageslist(orgId.value, regId.value, '1') if (imageslist.length > 0) { imageslist.forEach((image, index) => { @@ -735,38 +734,54 @@ const upimagedeleteor = async () => { deleteimageid.value = '' updateexamineimage.value = [] } -//菜单切换 -const handleTabChange = async () => { - if (activeName.value == 'report') { +//用户信息的table页 +const activeName = ref('first') + +//菜单切换 +const handleClick = (tab: TabsPaneContext, event: Event) => { + /* if (tab.paneName == 'report') { if (applyFormVO.value.reportstatus == '已分析' || applyFormVO.value.reportstatus == '已审核') { - showDiv() - if (reportimages.value.length ==0 ) { - const imageslist = await ultrasoniccomApi.getimageslist(orgId.value, regId.value, '1') - console.log(imageslist) - reportimages.value = imageslist + if (reportimages.value.length == 0) { } } else { - hideDiv() } + } */ +} +// 加载选中的图片 +const loadimagelist = async () => { + if (applyFormVO.value.reportstatus == '已分析' || applyFormVO.value.reportstatus == '已审核') { + if (reportimages.value.length == 0) { + const imageslist = await ultrasoniccomApi.getimageslist(orgId.value, regId.value, '1') + console.log(imageslist) + reportimages.value = imageslist + + } + } else { + } } +// const handleTabChange = async () => { + +// } //隐藏报告 -function hideDiv() { +/* function hideDiv() { var div = document.getElementById('my-printMe') if (div) { div.style.display = 'none' } } + //显示报告 function showDiv() { var div = document.getElementById('my-printMe') if (div) { div.style.display = 'block' } -} +} */ + // 计算年龄 const age = ref() const calculateAge = (birthdate) => { @@ -810,8 +825,6 @@ const fordevicemData = ref([]) const formRules = reactive({}) const formRef = ref() // 表单 Ref -//用户信息的table页 -const activeName = ref('first') //阴性阳性 const radio1 = ref('') @@ -888,7 +901,11 @@ const open = async (id: number, orgid: string, regid: string) => { formLoading.value = true try { //通用 - const dd = await ultrasoniccomApi.getreporttemplatelist(orgid, String(fordevicemValue.value), '') + const dd = await ultrasoniccomApi.getreporttemplatelist( + orgid, + String(fordevicemValue.value), + '' + ) treeData.value = dd console.log('返回值1' + dd) console.log('返回值2' + treeData.value) @@ -904,7 +921,6 @@ const open = async (id: number, orgid: string, regid: string) => { //获取登录人信息 getlogininfo() - } finally { formLoading.value = false } @@ -923,10 +939,12 @@ const getPatientexamlist = async (id: number) => { if (applyFormVO.value.reportstatus == '已分检' || applyFormVO.value.reportstatus == '待分析') { savedisabled.value = false } else { - //获取选中图 - loadimage() + //获取选中图 + loadimage() savedisabled.value = true } + // 如果是审核或者已分析加载选中的图片 + loadimagelist() } defineExpose({ open }) // 提供 open 方法,用于打开弹窗 @@ -1020,7 +1038,7 @@ const chooseImage = (event, id: number) => { width: 60%; margin-left: 2px; background: rgb(238, 240, 238); - height: 94.4vh; + height: 94.4vh; } .my-right { @@ -1032,12 +1050,10 @@ const chooseImage = (event, id: number) => { height: 91.3vh; } - .my-app-container { display: flex; justify-content: center; align-items: center; - } /* 分割线内部的间距 */ .el-divider--horizontal { @@ -1177,10 +1193,7 @@ const chooseImage = (event, id: number) => { { height: 970px; } */ -.el-divider--horizontal -{ +.el-divider--horizontal { margin: 6px; } - -