diff --git a/src/api/tblist/patientexamlist/index.ts b/src/api/tblist/patientexamlist/index.ts index 42972702..8177ef9c 100644 --- a/src/api/tblist/patientexamlist/index.ts +++ b/src/api/tblist/patientexamlist/index.ts @@ -76,8 +76,13 @@ export const PatientexamlistApi = { return await request.put({ url: `/tblist/patientexamlist/examineupdate`, data }) }, - // 超声审核 - examine: async (id: String) => { + // 超声审核 + examine: async (id: String) => { return await request.get({ url: `/tblist/patientexamlist/examine?id=` + id }) }, + + // dicom数据同步 + dicomDataSync: async () => { + return await request.get({ url: `/tblist/patientexamlist/dicomDataSync` }) + }, } diff --git a/src/views/tblist/patientexamlist/index.vue b/src/views/tblist/patientexamlist/index.vue index ea93f4ae..ef020a9a 100644 --- a/src/views/tblist/patientexamlist/index.vue +++ b/src/views/tblist/patientexamlist/index.vue @@ -264,6 +264,7 @@ > <Icon icon="ep:download" class="mr-5px" /> 导出 </el-button> + <el-button @click="dicomDataSync"><Icon icon="ep:refresh" class="mr-5px" /> 同步</el-button> </el-form-item> </el-form> </ContentWrap> @@ -287,7 +288,7 @@ <el-table-column label="检查单号" align="center" prop="examId" width="140px" /> <el-table-column label="患者姓名" align="center" prop="pname" /> <el-table-column label="性别" align="center" prop="gender" /> - <el-table-column label="出生日期" align="center" prop="birthday" v-if="false"/> + <el-table-column label="出生日期" align="center" prop="birthday" v-if="false" /> <el-table-column label="检查日期" align="center" @@ -296,8 +297,8 @@ width="180px" /> <el-table-column label="设备类型" align="center" prop="deviceType" /> - <el-table-column label="Se/Im" align="center" prop="seDc" width="80px"/> - <el-table-column label="检查项目名称" align="center" prop="examItemName" width="180px"/> + <el-table-column label="Se/Im" align="center" prop="seDc" width="80px" /> + <el-table-column label="检查项目名称" align="center" prop="examItemName" width="180px" /> <el-table-column label="报告状态" align="center" prop="reportstatus" width="100px"> <template #default="scope"> @@ -321,7 +322,7 @@ :formatter="dateFormatter" width="180px" /> - <el-table-column label="机构名称" align="center" prop="orgName" width="180px"/> + <el-table-column label="机构名称" align="center" prop="orgName" width="180px" /> <el-table-column label="机构ID" align="center" prop="orgId" v-if="false" /> <el-table-column label="上级判读机构id列表:orgid1,orgid2,orgid3" @@ -447,18 +448,19 @@ const exportLoading = ref(false) // 导出的加载中 /** 影像组件 */ const dicomViewRef = ref() + 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.includes("US"))//US是超声类 { opendicomViewFrom(row.id,row.orgId,row.regId,row.examId) - } - + /* clickNumber.value++; if (clickNumber.value == 2) { @@ -466,6 +468,7 @@ function handleEdit(row) { } clickNumber.value = 0; */ } +} /** aaaaa **/ const examDate_picker = ref(null) @@ -520,6 +523,10 @@ const getList = async () => { } } +const dicomDataSync = async () => { + PatientexamlistApi.dicomDataSync() +} + /** 搜索按钮操作 */ const handleQuery = () => { queryParams.pageNo = 1 diff --git a/src/views/tblist/patientexamlistultrasonic/index.vue b/src/views/tblist/patientexamlistultrasonic/index.vue index e2f5e6d2..aa9bad6e 100644 --- a/src/views/tblist/patientexamlistultrasonic/index.vue +++ b/src/views/tblist/patientexamlistultrasonic/index.vue @@ -26,7 +26,7 @@ class="!w-160px" /> </el-form-item> - <!-- <el-form-item label="性别" prop="gender"> + <!-- <el-form-item label="性别" prop="gender"> <el-input v-model="queryParams.gender" placeholder="请输入性别" @@ -35,7 +35,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="出生日期" prop="birthday"> + <!-- <el-form-item label="出生日期" prop="birthday"> <el-input v-model="queryParams.birthday" placeholder="请输入出生日期" @@ -44,26 +44,31 @@ class="!w-240px" /> </el-form-item> --> - <el-form-item label="检查日期" prop="examDate" > - <!-- aaaaa --> - <el-radio-group ref="examDate_radio" v-model="examDate_radio_value" @change="examDate_radio_change"> - <el-radio style="margin-right: 15px;" :value="1">今天</el-radio> - <el-radio style="margin-right: 15px;" :value="2">昨天</el-radio> - <el-radio style="margin-right: 15px;" :value="3">三天内</el-radio> - <el-radio style="margin-right: 15px;" :value="4">一周</el-radio> - <el-radio style="margin-right: 25px;" :value="5"> - <el-date-picker - ref="examDate_picker" - :disabled="examDate_radio_value===5 ? false:true" - v-model="queryParams.examDate" - value-format="YYYY-MM-DD HH:mm:ss" - type="daterange" - start-placeholder="开始日期" - end-placeholder="结束日期" - :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" - class="!w-240px"/> - </el-radio> - </el-radio-group> + <el-form-item label="检查日期" prop="examDate"> + <!-- aaaaa --> + <el-radio-group + ref="examDate_radio" + v-model="examDate_radio_value" + @change="examDate_radio_change" + > + <el-radio style="margin-right: 15px" :value="1">今天</el-radio> + <el-radio style="margin-right: 15px" :value="2">昨天</el-radio> + <el-radio style="margin-right: 15px" :value="3">三天内</el-radio> + <el-radio style="margin-right: 15px" :value="4">一周</el-radio> + <el-radio style="margin-right: 25px" :value="5"> + <el-date-picker + ref="examDate_picker" + :disabled="examDate_radio_value === 5 ? false : true" + v-model="queryParams.examDate" + value-format="YYYY-MM-DD HH:mm:ss" + type="daterange" + start-placeholder="开始日期" + end-placeholder="结束日期" + :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" + class="!w-240px" + /> + </el-radio> + </el-radio-group> </el-form-item> <!-- <el-form-item label="设备类型" prop="deviceType"> @@ -76,8 +81,8 @@ <el-option label="请选择字典生成" value="" /> </el-select> </el-form-item> --> - - <!-- <el-form-item label="seri_dicomCount:序列数量/dicom数量" prop="seDc"> + + <!-- <el-form-item label="seri_dicomCount:序列数量/dicom数量" prop="seDc"> <el-input v-model="queryParams.seDc" placeholder="请输入seri_dicomCount:序列数量/dicom数量" @@ -87,7 +92,6 @@ /> </el-form-item> --> - <el-form-item label="检查项目" prop="examItemName"> <el-input v-model="queryParams.examItemName" @@ -97,20 +101,20 @@ class="!w-220px" /> </el-form-item> - <el-form-item label="报告状态" prop="reportstatus"> + <el-form-item label="报告状态" prop="reportstatus"> <el-select v-model="queryParams.reportstatus" placeholder="请选择报告状态" clearable class="!w-150px" > - <el-option label="待分检" value="待分检" /> - <el-option label="已分检" value="已分检" /> - <el-option label="已分析" value="已分析" /> - <el-option label="已审核" value="已审核" /> + <el-option label="待分检" value="待分检" /> + <el-option label="已分检" value="已分检" /> + <el-option label="已分析" value="已分析" /> + <el-option label="已审核" value="已审核" /> </el-select> </el-form-item> - <!-- <el-form-item label="申请日期:年月日时分秒" prop="applicationDate"> + <!-- <el-form-item label="申请日期:年月日时分秒" prop="applicationDate"> <el-date-picker v-model="queryParams.applicationDate" value-format="YYYY-MM-DD HH:mm:ss" @@ -121,7 +125,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="dicom文件上传时间" prop="uploadDate"> + <!-- <el-form-item label="dicom文件上传时间" prop="uploadDate"> <el-date-picker v-model="queryParams.uploadDate" value-format="YYYY-MM-DD HH:mm:ss" @@ -132,7 +136,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="机构名称" prop="orgName"> + <!-- <el-form-item label="机构名称" prop="orgName"> <el-input v-model="queryParams.orgName" placeholder="请输入机构名称" @@ -141,7 +145,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="机构ID" prop="orgId"> + <!-- <el-form-item label="机构ID" prop="orgId"> <el-input v-model="queryParams.orgId" placeholder="请输入机构ID" @@ -150,7 +154,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="上级判读机构id列表:orgid1,orgid2,orgid3" prop="highLevelOrgId"> + <!-- <el-form-item label="上级判读机构id列表:orgid1,orgid2,orgid3" prop="highLevelOrgId"> <el-input v-model="queryParams.highLevelOrgId" placeholder="请输入上级判读机构id列表:orgid1,orgid2,orgid3" @@ -159,7 +163,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="创建时间:年月日时分秒" prop="createDate"> + <!-- <el-form-item label="创建时间:年月日时分秒" prop="createDate"> <el-date-picker v-model="queryParams.createDate" value-format="YYYY-MM-DD HH:mm:ss" @@ -170,7 +174,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="诊断结论" prop="diagResults"> + <!-- <el-form-item label="诊断结论" prop="diagResults"> <el-input v-model="queryParams.diagResults" placeholder="请输入诊断结论" @@ -179,7 +183,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="下诊断结论的时间:年月日时分秒" prop="diagDate"> + <!-- <el-form-item label="下诊断结论的时间:年月日时分秒" prop="diagDate"> <el-date-picker v-model="queryParams.diagDate" value-format="YYYY-MM-DD HH:mm:ss" @@ -190,7 +194,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="诊断医生" prop="diagDoctor"> + <!-- <el-form-item label="诊断医生" prop="diagDoctor"> <el-input v-model="queryParams.diagDoctor" placeholder="请输入诊断医生" @@ -208,7 +212,7 @@ class="!w-240px" /> </el-form-item> --> - <!-- <el-form-item label="审核日期:年月日时分秒" prop="reviewDate"> + <!-- <el-form-item label="审核日期:年月日时分秒" prop="reviewDate"> <el-date-picker v-model="queryParams.reviewDate" value-format="YYYY-MM-DD HH:mm:ss" @@ -260,24 +264,31 @@ > <Icon icon="ep:download" class="mr-5px" /> 导出 </el-button> + <el-button @click="dicomDataSync"><Icon icon="ep:refresh" class="mr-5px" /> 同步</el-button> </el-form-item> </el-form> </ContentWrap> <!-- 列表 --> <ContentWrap> - <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" @row-dblclick="handleEdit"> - <el-table-column type="index" width="50px"/> + <el-table + v-loading="loading" + :data="list" + :stripe="true" + :show-overflow-tooltip="true" + @row-dblclick="handleEdit" + > + <el-table-column type="index" width="50px" /> <el-table-column label="" width="150px"> - <template #default="scope"> - <el-image :src="scope.row.thumbnailImgUrl"/> - </template> + <template #default="scope"> + <el-image :src="scope.row.thumbnailImgUrl" /> + </template> </el-table-column> - <el-table-column label="主键" align="center" prop="id" v-if="false"/> - <el-table-column label="检查单号" align="center" prop="examId" width="140px"/> + <el-table-column label="主键" align="center" prop="id" v-if="false" /> + <el-table-column label="检查单号" align="center" prop="examId" width="140px" /> <el-table-column label="患者姓名" align="center" prop="pname" /> <el-table-column label="性别" align="center" prop="gender" /> - <el-table-column label="出生日期" align="center" prop="birthday" v-if="false"/> + <el-table-column label="出生日期" align="center" prop="birthday" v-if="false" /> <el-table-column label="检查日期" align="center" @@ -290,13 +301,13 @@ <el-table-column label="检查项目名称" align="center" prop="examItemName" width="160px" /> <el-table-column label="报告状态" align="center" prop="reportstatus" width="100px"> - <template #default="scope"> - <el-tag :type="scope.row.reportstatus === '已审核' ? 'danger':'success'"> - <span style="">{{ scope.row.reportstatus }}</span> - </el-tag> - </template> - </el-table-column> - + <template #default="scope"> + <el-tag :type="scope.row.reportstatus === '已审核' ? 'danger' : 'success'"> + <span style="">{{ scope.row.reportstatus }}</span> + </el-tag> + </template> + </el-table-column> + <el-table-column label="申请日期" align="center" @@ -311,9 +322,14 @@ :formatter="dateFormatter" width="180px" /> - <el-table-column label="机构名称" align="center" prop="orgName" width="180px"/> - <el-table-column label="机构ID" align="center" prop="orgId" v-if="false"/> - <el-table-column label="上级判读机构id列表:orgid1,orgid2,orgid3" align="center" prop="highLevelOrgId" v-if="false" /> + <el-table-column label="机构名称" align="center" prop="orgName" width="180px" /> + <el-table-column label="机构ID" align="center" prop="orgId" v-if="false" /> + <el-table-column + label="上级判读机构id列表:orgid1,orgid2,orgid3" + align="center" + prop="highLevelOrgId" + v-if="false" + /> <el-table-column label="创建时间:年月日时分秒" align="center" @@ -322,8 +338,8 @@ width="180px" v-if="false" /> - <el-table-column label="检查所见" align="center" prop="examDescription" v-if="false"/> - <el-table-column label="诊断结论" align="center" prop="diagResults" v-if="false"/> + <el-table-column label="检查所见" align="center" prop="examDescription" v-if="false" /> + <el-table-column label="诊断结论" align="center" prop="diagResults" v-if="false" /> <el-table-column label="下诊断结论的时间:年月日时分秒" align="center" @@ -353,15 +369,14 @@ <el-table-column label="操作" align="center" fixed="right"> <template #default="scope"> <el-button - size="small" - + size="small" type="primary" - @click="getuporghiorgid(scope.row.id, scope.row.orgId,scope.row.reportstatus)" + @click="getuporghiorgid(scope.row.id, scope.row.orgId, scope.row.reportstatus)" v-hasPermi="['tblist:patientexamlist:query']" > 申请 </el-button> - <!-- <el-button + <!-- <el-button link type="danger" @click="handleDelete(scope.row.id)" @@ -383,8 +398,8 @@ <!-- 表单弹窗:添加/修改 --> <PatientexamlistForm ref="formRef" @success="getList" /> -<!-- 表单弹窗:超声组件 --> -<Ultrasonic ref="ultrasonic" @success="getList" /> + <!-- 表单弹窗:超声组件 --> + <Ultrasonic ref="ultrasonic" @success="getList" /> </template> <script setup lang="ts"> @@ -392,8 +407,7 @@ import { dateFormatter } from '@/utils/formatTime' import download from '@/utils/download' import { PatientexamlistApi, PatientexamlistVO } from '@/api/tblist/patientexamlist' import PatientexamlistForm from './PatientexamlistForm.vue' -import Ultrasonic from '/src/views/ultrasoniccom/ultrasonicForm.vue' - +import Ultrasonic from '/src/views/ultrasoniccom/ultrasonicForm.vue' /** PACS检查列表 列表 */ defineOptions({ name: 'Patientexamlistultrasonic' }) @@ -412,15 +426,15 @@ const queryParams = reactive({ gender: undefined, birthday: undefined, examDate: [], - deviceType: "", + deviceType: '', seDc: undefined, examItemName: undefined, reportstatus: undefined, applicationDate: [], uploadDate: [], orgName: undefined, - orgId: "", - highLevelOrgId: "", + orgId: '', + highLevelOrgId: '', createDate: [], examDescription: undefined, diagResults: undefined, @@ -429,95 +443,78 @@ const queryParams = reactive({ reviewDoctor: undefined, reviewDate: [], thumbnailImgUrl: undefined, - createTime: [], + createTime: [] }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 - /** 超声组件 */ -const ultrasonic = ref(); -const openultrForm = (id:number,orgid:string,regid:string) => { - - ultrasonic.value.open(id,orgid,regid) +const ultrasonic = ref() +const openultrForm = (id: number, orgid: string, regid: string) => { + ultrasonic.value.open(id, orgid, regid) } /** 表格行点击 */ -const clickNumber = ref(0); +const clickNumber = ref(0) function handleEdit(row) { console.log(111111121212) - openultrForm(row.id,row.orgId,row.regId) if(row.deviceType.includes("US"))//US是超声类 { openultrForm(row.id,row.orgId,row.regId) - } - - - /* clickNumber.value++; + + + /* clickNumber.value++; if (clickNumber.value == 2) { } clickNumber.value = 0; */ } - +} /** aaaaa **/ -const examDate_picker = ref(null); -const examDate_radio = ref(null); -const examDate_radio_value = ref(1); +const examDate_picker = ref(null) +const examDate_radio = ref(null) +const examDate_radio_value = ref(1) - -const examDate_radio_change = ()=>{ - if([1,2,3,4].includes(examDate_radio_value.value)) - { +const examDate_radio_change = () => { + if ([1, 2, 3, 4].includes(examDate_radio_value.value)) { let timesta = new Date() let timeend = new Date() //判断当前选择的是那个时间 - if (examDate_radio_value.value===1) { - - queryParams.examDate=[nowDate(timesta),nowDate(timeend)]; - } else if (examDate_radio_value.value===2) - { + if (examDate_radio_value.value === 1) { + queryParams.examDate = [nowDate(timesta), nowDate(timeend)] + } else if (examDate_radio_value.value === 2) { timesta.setDate(timesta.getDate() - 1) - queryParams.examDate=[nowDate(timesta),nowDate(timeend)]; - } - else if(examDate_radio_value.value===3) - { + queryParams.examDate = [nowDate(timesta), nowDate(timeend)] + } else if (examDate_radio_value.value === 3) { timesta.setDate(timesta.getDate() - 3) - queryParams.examDate=[nowDate(timesta),nowDate(timeend)]; - } - else if(examDate_radio_value.value===4) - { + queryParams.examDate = [nowDate(timesta), nowDate(timeend)] + } else if (examDate_radio_value.value === 4) { timesta.setDate(timesta.getDate() - 7) - queryParams.examDate=[nowDate(timesta),nowDate(timeend)]; + queryParams.examDate = [nowDate(timesta), nowDate(timeend)] } - - handleQuery(); - }else if(5===examDate_radio_value.value) - { - queryParams.examDate=[]; + + handleQuery() + } else if (5 === examDate_radio_value.value) { + queryParams.examDate = [] } } ///转换时间格式 function nowDate(time) { - var year = time.getFullYear(); // 年 - var month = (time.getMonth() + 1).toString().padStart(2, '0'); // 月 - var date = time.getDate().toString().padStart(2, '0'); // 日 - var hour = time.getHours().toString().padStart(2, '0'); // 时 - var minute = time.getMinutes().toString().padStart(2, '0'); // 分 - var second = time.getSeconds().toString().padStart(2, '0'); // 秒 - return ( - year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second - ) - } - - + var year = time.getFullYear() // 年 + var month = (time.getMonth() + 1).toString().padStart(2, '0') // 月 + var date = time.getDate().toString().padStart(2, '0') // 日 + var hour = time.getHours().toString().padStart(2, '0') // 时 + var minute = time.getMinutes().toString().padStart(2, '0') // 分 + var second = time.getSeconds().toString().padStart(2, '0') // 秒 + return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second +} /** 查询列表 */ const getList = async () => { loading.value = true try { - queryParams.deviceType="US" + queryParams.deviceType = 'US' const data = await PatientexamlistApi.getPatientexamlistPage(queryParams) list.value = data.list total.value = data.total @@ -526,26 +523,30 @@ const getList = async () => { } } +const dicomDataSync = async () => { + PatientexamlistApi.dicomDataSync() +} + /** 搜索按钮操作 */ const handleQuery = () => { queryParams.pageNo = 1 - //获取到当前登陆用户的机构时 要进行赋值 - queryParams.orgId="" - queryParams.highLevelOrgId="" - queryParams.deviceType="US" + //获取到当前登陆用户的机构时 要进行赋值 + queryParams.orgId = '' + queryParams.highLevelOrgId = '' + queryParams.deviceType = 'US' getList() } /** 重置按钮操作 */ const resetQuery = () => { - queryFormRef.value.resetFields(); + queryFormRef.value.resetFields() /** aaaaa **/ //新写法 - examDate_radio_value.value=1; - examDate_radio_change(); - if(5===examDate_radio_value.value) handleQuery(); - + examDate_radio_value.value = 1 + examDate_radio_change() + if (5 === examDate_radio_value.value) handleQuery() + //老写法 //handleQuery(); } @@ -557,26 +558,20 @@ const openForm = (type: string, id?: number) => { } /** 申请后更新上级机构字段*/ -const getuporghiorgid=async (id: number,orgId:string,reportstatus:string) => { +const getuporghiorgid = async (id: number, orgId: string, reportstatus: string) => { try { - if(reportstatus=="未申请") - { - await message.confirm("是否要进行申请?","确认提示") - await PatientexamlistApi.getuporghiid(id,orgId) - message.success(t('common.delSuccess')) - // 刷新列表 - await getList() - } - else - { - await message. info("只有未申请才可以进行操作") - } - + if (reportstatus == '未申请') { + await message.confirm('是否要进行申请?', '确认提示') + await PatientexamlistApi.getuporghiid(id, orgId) + message.success(t('common.delSuccess')) + // 刷新列表 + await getList() + } else { + await message.info('只有未申请才可以进行操作') + } } catch {} } - - /** 删除按钮操作 */ const handleDelete = async (id: number) => { try { @@ -618,12 +613,11 @@ const handleExport = async () => { /** 初始化 **/ onMounted(() => { - //在初始化的时候查询到当前登陆用户的机构 和上级机构 /** aaaaa **/ //新代码 - examDate_radio_change(); - if(5===examDate_radio_value.value) handleQuery(); + examDate_radio_change() + if (5 === examDate_radio_value.value) handleQuery() //老代码 //getList(); @@ -635,4 +629,4 @@ onMounted(() => { .el-form-item__label { white-space: nowrap; } -</style> \ No newline at end of file +</style>