修改登陆界面 以及超声相关
This commit is contained in:
parent
d5ef397743
commit
dec5cad5bd
@ -16,6 +16,7 @@ export interface UserVO {
|
||||
loginDate: Date
|
||||
createTime: Date
|
||||
orgId:string
|
||||
isexamine:string
|
||||
}
|
||||
|
||||
// 查询用户管理列表
|
||||
|
@ -29,6 +29,8 @@ export interface ProfileVO {
|
||||
loginIp: string
|
||||
loginDate: Date
|
||||
createTime: Date
|
||||
isexamine:string
|
||||
orgId:string
|
||||
}
|
||||
|
||||
export interface UserProfileUpdateReqVO {
|
||||
|
@ -70,8 +70,13 @@ export const PatientexamlistApi = {
|
||||
return await request.get({ url: `/tblist/patientexamlist/UPDATEHigOrg?id=${id}&&orgId=${orgId}` })
|
||||
},
|
||||
|
||||
// 超声审核修改
|
||||
// 超声保存修改
|
||||
examineupdatelist: async (data: PatientexamlistVO) => {
|
||||
return await request.put({ url: `/tblist/patientexamlist/examineupdate`, data })
|
||||
},
|
||||
|
||||
// 超声审核
|
||||
examine: async (id: String) => {
|
||||
return await request.get({ url: `/tblist/patientexamlist/examine?id=` + id })
|
||||
},
|
||||
}
|
||||
|
BIN
src/assets/imgs/FLY.png
Normal file
BIN
src/assets/imgs/FLY.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
BIN
src/assets/imgs/客服.png
Normal file
BIN
src/assets/imgs/客服.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
src/assets/imgs/登录背景.png
Normal file
BIN
src/assets/imgs/登录背景.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 506 KiB |
BIN
src/assets/imgs/登陆底部.png
Normal file
BIN
src/assets/imgs/登陆底部.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
BIN
src/assets/imgs/登陆背景.png
Normal file
BIN
src/assets/imgs/登陆背景.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 289 KiB |
13
src/assets/svgs/login-fly.svg
Normal file
13
src/assets/svgs/login-fly.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 26 KiB |
@ -362,7 +362,7 @@ export default {
|
||||
},
|
||||
login: {
|
||||
backSignIn: '返回',
|
||||
signInFormTitle: '登录',
|
||||
signInFormTitle: '账号登录',
|
||||
ssoFormTitle: '三方授权',
|
||||
mobileSignInFormTitle: '手机登录',
|
||||
qrSignInFormTitle: '二维码登录',
|
||||
|
@ -4,47 +4,49 @@
|
||||
class="relative h-[100%] lt-md:px-10px lt-sm:px-10px lt-xl:px-10px lt-xl:px-10px"
|
||||
>
|
||||
<div class="relative mx-auto h-full flex">
|
||||
<div
|
||||
<!-- <div
|
||||
:class="`${prefixCls}__left flex-1 bg-gray-500 bg-opacity-20 relative p-30px lt-xl:hidden`"
|
||||
>
|
||||
> -->
|
||||
<!-- 左上角的 logo + 系统标题 -->
|
||||
<div class="relative flex items-center text-white">
|
||||
<!-- <div class="relative flex items-center text-white">
|
||||
<img alt="" class="mr-10px h-48px w-48px" src="@/assets/imgs/logo.png" />
|
||||
<span class="text-20px font-bold">{{ underlineToHump(appStore.getTitle) }}</span>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- 左边的背景图 + 欢迎语 -->
|
||||
<div class="h-[calc(100%-60px)] flex items-center justify-center">
|
||||
<TransitionGroup
|
||||
<!-- <div class="h-[calc(100%-60px)] flex items-center justify-center"> -->
|
||||
<!-- <TransitionGroup
|
||||
appear
|
||||
enter-active-class="animate__animated animate__bounceInLeft"
|
||||
tag="div"
|
||||
>
|
||||
<img key="1" alt="" class="w-350px" src="@/assets/svgs/login-box-bg.svg" />
|
||||
> -->
|
||||
<!-- <img key="1" alt="" class="w-350px" src="@/assets/svgs/login-fly.svg" />
|
||||
<div key="2" class="text-3xl text-white">{{ t('login.welcome') }}</div>
|
||||
<div key="3" class="mt-5 text-14px font-normal text-white">
|
||||
{{ t('login.message') }}
|
||||
</div>
|
||||
</TransitionGroup>
|
||||
</div> -->
|
||||
<!-- </TransitionGroup> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
|
||||
<div class="my-container">
|
||||
<div class="my-top">
|
||||
<img class="top-image" src="@/assets/imgs/FLY.png" />
|
||||
<div class="text-container">
|
||||
<span style="font-size: 50px">医共体医学影像系统</span>
|
||||
<span style="font-size: 18px">The Medical Community Medical Imaging Systems</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="relative flex-1 p-30px dark:bg-[var(--login-bg-color)] lt-sm:p-10px">
|
||||
<!-- 右上角的主题、语言选择 -->
|
||||
<div class="my-middle">
|
||||
<div
|
||||
class="flex items-center justify-between text-white at-2xl:justify-end at-xl:justify-end"
|
||||
>
|
||||
<div class="flex items-center at-2xl:hidden at-xl:hidden">
|
||||
<img alt="" class="mr-10px h-48px w-48px" src="@/assets/imgs/logo.png" />
|
||||
<span class="text-20px font-bold">{{ underlineToHump(appStore.getTitle) }}</span>
|
||||
</div>
|
||||
<div class="flex items-center justify-end space-x-10px">
|
||||
<ThemeSwitch />
|
||||
<LocaleDropdown class="dark:text-white lt-xl:text-white" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- 右边的登录界面 -->
|
||||
<Transition appear enter-active-class="animate__animated animate__bounceInRight">
|
||||
<div
|
||||
class="m-auto h-full w-[100%] flex items-center at-2xl:max-w-500px at-lg:max-w-500px at-md:max-w-500px at-xl:max-w-500px"
|
||||
style="
|
||||
width:400px;
|
||||
height: 500px;
|
||||
background-color: rgb(255, 255, 255);
|
||||
margin:auto;
|
||||
margin-right: 150px;
|
||||
margin-top: 200px;
|
||||
padding: 20px;
|
||||
"
|
||||
>
|
||||
<!-- 账号登录 -->
|
||||
<LoginForm class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" />
|
||||
@ -57,7 +59,29 @@
|
||||
<!-- 三方登录 -->
|
||||
<SSOLoginVue class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" />
|
||||
</div>
|
||||
</Transition>
|
||||
<!-- <div class="relative flex-1 p-30px dark:bg-[var(--login-bg-color)] lt-sm:p-10px"> -->
|
||||
<!-- 右上角的主题、语言选择 -->
|
||||
<!-- <div
|
||||
class="flex items-center justify-between text-white at-2xl:justify-end at-xl:justify-end"
|
||||
>
|
||||
<div class="flex items-center at-2xl:hidden at-xl:hidden">
|
||||
<img alt="" class="mr-10px h-48px w-48px" src="@/assets/imgs/logo.png" />
|
||||
<span class="text-20px font-bold">{{ underlineToHump(appStore.getTitle) }}</span>
|
||||
</div>
|
||||
<div class="flex items-center justify-end space-x-10px">
|
||||
<ThemeSwitch />
|
||||
<LocaleDropdown class="dark:text-white lt-xl:text-white" />
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- 右边的登录界面 -->
|
||||
<!-- <Transition appear enter-active-class="animate__animated animate__bounceInRight"> -->
|
||||
|
||||
<!-- </Transition> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
<div class="my-bottom">
|
||||
<img class="bottom-image" src="@/assets/imgs/客服.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -102,3 +126,62 @@ $prefix-cls: #{$namespace}-login;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.my-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%; /* 确保容器占满可用高度 */
|
||||
width: 100%;
|
||||
}
|
||||
/* 最上面 */
|
||||
.my-top {
|
||||
display: flex; /* 使用Flexbox布局 */
|
||||
align-items: flex-start; /* 垂直方向上,子元素靠左对齐 */
|
||||
height: 10%;
|
||||
background-color: rgb(255, 255, 255); /* 背景颜色,可以自定义 */
|
||||
width: 100%;
|
||||
}
|
||||
.top-image {
|
||||
margin-left: 215px;
|
||||
margin-right: 10px;
|
||||
margin-top: 10px;
|
||||
width: 279px;
|
||||
height: 93px;
|
||||
}
|
||||
|
||||
.text-container {
|
||||
display: flex;
|
||||
flex-direction: column; /* 垂直排列span元素 */
|
||||
margin-left: 3px; /* 给文本容器添加一些左边距,使其靠左一些 */
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.text-container span {
|
||||
margin: 0; /* 移除span元素的默认外边距 */
|
||||
}
|
||||
/* // 底部样式 */
|
||||
.my-bottom {
|
||||
background-image: url('@/assets/imgs/登陆底部.png'); /* 替换为你的图片路径 */
|
||||
background-size: cover; /* 使图片覆盖整个div,同时保持图片的宽高比 */
|
||||
background-repeat: no-repeat; /* 防止图片重复 */
|
||||
height: 15%;
|
||||
width: 100%;
|
||||
opacity: 1;
|
||||
background: rgba(84, 80, 81, 1);
|
||||
}
|
||||
.bottom-image
|
||||
{
|
||||
margin-left: 75%;
|
||||
margin-top: 30px;
|
||||
}
|
||||
/* 中间 */
|
||||
.my-middle {
|
||||
height: 75%;
|
||||
background-image: url('@/assets/imgs/登陆背景.png'); /* 替换为你的图片路径 */
|
||||
background-repeat: no-repeat; /* 防止图片重复 */
|
||||
background-size: cover; /* 使图片覆盖整个div,同时保持图片的宽高比 */
|
||||
width: 100%;
|
||||
}
|
||||
/* //底部的客服相关 */
|
||||
</style>
|
||||
|
@ -12,7 +12,7 @@
|
||||
<el-row style="margin-right: -10px; margin-left: -10px">
|
||||
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
|
||||
<el-form-item>
|
||||
<LoginFormTitle style="width: 100%" />
|
||||
<LoginFormTitle style="width: 100%;color: rgb(4, 41, 129);" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
|
||||
@ -59,7 +59,7 @@
|
||||
</el-checkbox>
|
||||
</el-col>
|
||||
<el-col :offset="6" :span="12">
|
||||
<el-link style="float: right" type="primary">{{ t('login.forgetPassword') }}</el-link>
|
||||
<el-link style="float: right; " type="primary">{{ t('login.forgetPassword') }}</el-link>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
@ -71,6 +71,7 @@
|
||||
:title="t('login.login')"
|
||||
class="w-[100%]"
|
||||
type="primary"
|
||||
style="background: linear-gradient(141.88deg, rgb(0, 102, 235) 0%, rgb(3, 129, 255) 100%), rgb(36, 93, 209);"
|
||||
@click="getCode()"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -82,7 +83,8 @@
|
||||
mode="pop"
|
||||
@success="handleLogin"
|
||||
/>
|
||||
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
|
||||
<!-- 这部分是其他登陆方式 以及注册 -->
|
||||
<!-- <el-col :span="24" style="padding-right: 10px; padding-left: 10px">
|
||||
<el-form-item>
|
||||
<el-row :gutter="5" justify="space-between" style="width: 100%">
|
||||
<el-col :span="8">
|
||||
@ -108,8 +110,8 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-divider content-position="center">{{ t('login.otherLogin') }}</el-divider>
|
||||
</el-col> -->
|
||||
<!-- <el-divider content-position="center">{{ t('login.otherLogin') }}</el-divider>
|
||||
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
|
||||
<el-form-item>
|
||||
<div class="w-[100%] flex justify-between">
|
||||
@ -124,8 +126,8 @@
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-divider content-position="center">萌新必读</el-divider>
|
||||
</el-col> -->
|
||||
<!-- <el-divider content-position="center">萌新必读</el-divider>
|
||||
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
|
||||
<el-form-item>
|
||||
<div class="w-[100%] flex justify-between">
|
||||
@ -139,7 +141,7 @@
|
||||
</el-link>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</el-form>
|
||||
</template>
|
||||
|
@ -82,7 +82,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="机构名称" prop="orgId" >
|
||||
<el-select v-model="formData.orgId" placeholder="请选择机构" clearable>
|
||||
<el-option
|
||||
@ -92,6 +92,14 @@
|
||||
:value="item.orgID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否审核" prop="isexamine" >
|
||||
<el-select v-model="formData.isexamine" clearable>
|
||||
<el-option label="是" value="1" />
|
||||
<el-option label="否" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -142,7 +150,8 @@ const formData = ref({
|
||||
remark: '',
|
||||
status: CommonStatusEnum.ENABLE,
|
||||
roleIds: [],
|
||||
orgId:''
|
||||
orgId:'',
|
||||
isexamine:''
|
||||
})
|
||||
const formRules = reactive<FormRules>({
|
||||
username: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }],
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<ContentWrap>
|
||||
<!-- 搜索工作栏 -->
|
||||
<!-- 搜索工作栏 影像工作站-->
|
||||
<el-form
|
||||
class="-mb-15px"
|
||||
:model="queryParams"
|
||||
@ -46,22 +46,27 @@
|
||||
</el-form-item> -->
|
||||
<el-form-item label="检查日期" prop="examDate" size="mini">
|
||||
<!-- 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-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"
|
||||
: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"/>
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
@ -87,7 +92,6 @@
|
||||
/>
|
||||
</el-form-item> -->
|
||||
|
||||
|
||||
<el-form-item label="检查项目" prop="examItemName">
|
||||
<el-input
|
||||
v-model="queryParams.examItemName"
|
||||
@ -104,8 +108,8 @@
|
||||
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-select>
|
||||
@ -266,14 +270,20 @@
|
||||
|
||||
<!-- 列表 -->
|
||||
<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"/>
|
||||
<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="id" v-if="false" />
|
||||
<el-table-column label="检查ID" align="center" prop="examId" />
|
||||
<el-table-column label="患者姓名" align="center" prop="pname" />
|
||||
<el-table-column label="性别" align="center" prop="gender" />
|
||||
@ -289,9 +299,9 @@
|
||||
<el-table-column label="Se/Im" align="center" prop="seDc" />
|
||||
<el-table-column label="检查项目名称" align="center" prop="examItemName" />
|
||||
|
||||
<el-table-column label="报告状态" align="center" prop="reportstatus" >
|
||||
<el-table-column label="报告状态" align="center" prop="reportstatus">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.reportstatus === '已审核' ? 'danger':'success'">
|
||||
<el-tag :type="scope.row.reportstatus === '已审核' ? 'danger' : 'success'">
|
||||
<span style="">{{ scope.row.reportstatus }}</span>
|
||||
</el-tag>
|
||||
</template>
|
||||
@ -312,8 +322,13 @@
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="机构名称" align="center" prop="orgName" />
|
||||
<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="机构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 +337,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"
|
||||
@ -354,9 +369,8 @@
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
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']"
|
||||
>
|
||||
申请
|
||||
@ -383,8 +397,8 @@
|
||||
|
||||
<!-- 表单弹窗:添加/修改 -->
|
||||
<PatientexamlistForm ref="formRef" @success="getList" />
|
||||
<!-- 表单弹窗:超声组件 -->
|
||||
<Ultrasonic ref="ultrasonic" />
|
||||
<!-- 表单弹窗:超声组件 -->
|
||||
<Ultrasonic ref="ultrasonic" @success="getList" />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
@ -394,7 +408,6 @@ import { PatientexamlistApi, PatientexamlistVO } from '@/api/tblist/patientexaml
|
||||
import PatientexamlistForm from './PatientexamlistForm.vue'
|
||||
import Ultrasonic from '/src/views/ultrasoniccom/ultrasonicForm.vue'
|
||||
|
||||
|
||||
/** PACS检查列表 列表 */
|
||||
defineOptions({ name: 'Patientexamlist' })
|
||||
|
||||
@ -412,15 +425,15 @@ const queryParams = reactive({
|
||||
gender: undefined,
|
||||
birthday: undefined,
|
||||
examDate: [],
|
||||
deviceType: undefined,
|
||||
deviceType: '',
|
||||
seDc: undefined,
|
||||
examItemName: undefined,
|
||||
reportstatus: undefined,
|
||||
applicationDate: [],
|
||||
uploadDate: [],
|
||||
orgName: undefined,
|
||||
orgId: "",
|
||||
highLevelOrgId: "",
|
||||
orgId: '',
|
||||
highLevelOrgId: '',
|
||||
createDate: [],
|
||||
examDescription: undefined,
|
||||
diagResults: undefined,
|
||||
@ -429,23 +442,27 @@ 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!="US")//US是超声类
|
||||
{
|
||||
openultrForm(row.id,row.orgId,row.regId)
|
||||
}
|
||||
|
||||
|
||||
/* clickNumber.value++;
|
||||
if (clickNumber.value == 2) {
|
||||
|
||||
@ -453,64 +470,51 @@ function handleEdit(row) {
|
||||
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 = 'CT'
|
||||
const data = await PatientexamlistApi.getPatientexamlistPage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
@ -522,21 +526,22 @@ const getList = async () => {
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.pageNo = 1
|
||||
queryParams.deviceType = 'CT'
|
||||
//获取到当前登陆用户的机构时 要进行赋值
|
||||
queryParams.orgId=""
|
||||
queryParams.highLevelOrgId=""
|
||||
queryParams.orgId = ''
|
||||
queryParams.highLevelOrgId = ''
|
||||
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();
|
||||
@ -549,26 +554,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)
|
||||
if (reportstatus == '未申请') {
|
||||
await message.confirm('是否要进行申请?', '确认提示')
|
||||
await PatientexamlistApi.getuporghiid(id, orgId)
|
||||
message.success(t('common.delSuccess'))
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} else {
|
||||
await message.info('只有未申请才可以进行操作')
|
||||
}
|
||||
else
|
||||
{
|
||||
await message. info("只有未申请才可以进行操作")
|
||||
}
|
||||
|
||||
} catch {}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
@ -610,12 +609,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();
|
||||
|
@ -0,0 +1,230 @@
|
||||
<template>
|
||||
<Dialog :title="dialogTitle" v-model="dialogVisible">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
label-width="100px"
|
||||
v-loading="formLoading"
|
||||
>
|
||||
<el-form-item label="检查ID:体检编号、住院号、门诊号等" prop="examId">
|
||||
<el-input v-model="formData.examId" placeholder="请输入检查ID:体检编号、住院号、门诊号等" />
|
||||
</el-form-item>
|
||||
<el-form-item label="患者姓名" prop="pname">
|
||||
<el-input v-model="formData.pname" placeholder="请输入患者姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="gender">
|
||||
<el-input v-model="formData.gender" placeholder="请输入性别" />
|
||||
</el-form-item>
|
||||
<el-form-item label="出生日期" prop="birthday">
|
||||
<el-input v-model="formData.birthday" placeholder="请输入出生日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检查日期:年月日时分秒" prop="examDate">
|
||||
<el-date-picker
|
||||
v-model="formData.examDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
placeholder="选择检查日期:年月日时分秒"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备类型:CT DR MR B超 彩超等" prop="deviceType">
|
||||
<el-select v-model="formData.deviceType" placeholder="请选择设备类型:CT DR MR B超 彩超等">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="seri_dicomCount:序列数量/dicom数量" prop="seDc">
|
||||
<el-input v-model="formData.seDc" placeholder="请输入seri_dicomCount:序列数量/dicom数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检查项目名称" prop="examItemName">
|
||||
<el-input v-model="formData.examItemName" placeholder="请输入检查项目名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="报告状态" prop="reportstatus">
|
||||
<el-radio-group v-model="formData.reportstatus">
|
||||
<el-radio label="1">请选择字典生成</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="申请日期:年月日时分秒" prop="applicationDate">
|
||||
<el-date-picker
|
||||
v-model="formData.applicationDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
placeholder="选择申请日期:年月日时分秒"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="dicom文件上传时间" prop="uploadDate">
|
||||
<el-date-picker
|
||||
v-model="formData.uploadDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
placeholder="选择dicom文件上传时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="机构名称" prop="orgName">
|
||||
<el-input v-model="formData.orgName" placeholder="请输入机构名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="机构ID" prop="orgId">
|
||||
<el-input v-model="formData.orgId" placeholder="请输入机构ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="上级判读机构id列表:orgid1,orgid2,orgid3" prop="highLevelOrgId">
|
||||
<el-input v-model="formData.highLevelOrgId" placeholder="请输入上级判读机构id列表:orgid1,orgid2,orgid3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间:年月日时分秒" prop="createDate">
|
||||
<el-date-picker
|
||||
v-model="formData.createDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
placeholder="选择创建时间:年月日时分秒"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="检查所见" prop="examDescription">
|
||||
<Editor v-model="formData.examDescription" height="150px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="诊断结论" prop="diagResults">
|
||||
<el-input v-model="formData.diagResults" placeholder="请输入诊断结论" />
|
||||
</el-form-item>
|
||||
<el-form-item label="下诊断结论的时间:年月日时分秒" prop="diagDate">
|
||||
<el-date-picker
|
||||
v-model="formData.diagDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
placeholder="选择下诊断结论的时间:年月日时分秒"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="诊断医生" prop="diagDoctor">
|
||||
<el-input v-model="formData.diagDoctor" placeholder="请输入诊断医生" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审核医生" prop="reviewDoctor">
|
||||
<el-input v-model="formData.reviewDoctor" placeholder="请输入审核医生" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审核日期:年月日时分秒" prop="reviewDate">
|
||||
<el-date-picker
|
||||
v-model="formData.reviewDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
placeholder="选择审核日期:年月日时分秒"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="缩略图oss url, httP:oss url" prop="thumbnailImgUrl">
|
||||
<el-input v-model="formData.thumbnailImgUrl" placeholder="请输入缩略图oss url, httP:oss url" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { PatientexamlistApi, PatientexamlistVO } from '@/api/tblist/patientexamlist'
|
||||
|
||||
/** PACS检查列表 表单 */
|
||||
defineOptions({ name: 'PatientexamlistForm' })
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const dialogTitle = ref('') // 弹窗的标题
|
||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||
const formData = ref({
|
||||
id: undefined,
|
||||
examId: undefined,
|
||||
pname: undefined,
|
||||
gender: undefined,
|
||||
birthday: undefined,
|
||||
examDate: undefined,
|
||||
deviceType: undefined,
|
||||
seDc: undefined,
|
||||
examItemName: undefined,
|
||||
reportstatus: undefined,
|
||||
applicationDate: undefined,
|
||||
uploadDate: undefined,
|
||||
orgName: undefined,
|
||||
orgId: undefined,
|
||||
highLevelOrgId: undefined,
|
||||
createDate: undefined,
|
||||
examDescription: undefined,
|
||||
diagResults: undefined,
|
||||
diagDate: undefined,
|
||||
diagDoctor: undefined,
|
||||
reviewDoctor: undefined,
|
||||
reviewDate: undefined,
|
||||
thumbnailImgUrl: undefined,
|
||||
})
|
||||
const formRules = reactive({
|
||||
})
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
/** 打开弹窗 */
|
||||
const open = async (type: string, id?: number) => {
|
||||
dialogVisible.value = true
|
||||
dialogTitle.value = t('action.' + type)
|
||||
formType.value = type
|
||||
resetForm()
|
||||
// 修改时,设置数据
|
||||
if (id) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await PatientexamlistApi.getPatientexamlist(id)
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
|
||||
/** 提交表单 */
|
||||
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
||||
const submitForm = async () => {
|
||||
// 校验表单
|
||||
await formRef.value.validate()
|
||||
// 提交请求
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = formData.value as unknown as PatientexamlistVO
|
||||
if (formType.value === 'create') {
|
||||
await PatientexamlistApi.createPatientexamlist(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
} else {
|
||||
await PatientexamlistApi.updatePatientexamlist(data)
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
dialogVisible.value = false
|
||||
// 发送操作成功的事件
|
||||
emit('success')
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
/** 重置表单 */
|
||||
const resetForm = () => {
|
||||
formData.value = {
|
||||
id: undefined,
|
||||
examId: undefined,
|
||||
pname: undefined,
|
||||
gender: undefined,
|
||||
birthday: undefined,
|
||||
examDate: undefined,
|
||||
deviceType: undefined,
|
||||
seDc: undefined,
|
||||
examItemName: undefined,
|
||||
reportstatus: undefined,
|
||||
applicationDate: undefined,
|
||||
uploadDate: undefined,
|
||||
orgName: undefined,
|
||||
orgId: undefined,
|
||||
highLevelOrgId: undefined,
|
||||
createDate: undefined,
|
||||
examDescription: undefined,
|
||||
diagResults: undefined,
|
||||
diagDate: undefined,
|
||||
diagDoctor: undefined,
|
||||
reviewDoctor: undefined,
|
||||
reviewDate: undefined,
|
||||
thumbnailImgUrl: undefined,
|
||||
}
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
</script>
|
638
src/views/tblist/patientexamlistultrasonic/index.vue
Normal file
638
src/views/tblist/patientexamlistultrasonic/index.vue
Normal file
@ -0,0 +1,638 @@
|
||||
<template>
|
||||
<ContentWrap>
|
||||
<!-- 搜索工作栏 超声工作站-->
|
||||
<el-form
|
||||
class="-mb-15px"
|
||||
:model="queryParams"
|
||||
ref="queryFormRef"
|
||||
:inline="true"
|
||||
label-width="68px"
|
||||
>
|
||||
<el-form-item label="检查ID" prop="examId">
|
||||
<el-input
|
||||
v-model="queryParams.examId"
|
||||
placeholder="检查ID\体检编号\住院号\门诊号等"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-215px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="患者姓名" prop="pName">
|
||||
<el-input
|
||||
v-model="queryParams.pname"
|
||||
placeholder="请输入患者姓名"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-160px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="性别" prop="gender">
|
||||
<el-input
|
||||
v-model="queryParams.gender"
|
||||
placeholder="请输入性别"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="出生日期" prop="birthday">
|
||||
<el-input
|
||||
v-model="queryParams.birthday"
|
||||
placeholder="请输入出生日期"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="检查日期" prop="examDate" size="mini">
|
||||
<!-- 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">
|
||||
<el-select
|
||||
v-model="queryParams.deviceType"
|
||||
placeholder="请选择设备类型"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
|
||||
<!-- <el-form-item label="seri_dicomCount:序列数量/dicom数量" prop="seDc">
|
||||
<el-input
|
||||
v-model="queryParams.seDc"
|
||||
placeholder="请输入seri_dicomCount:序列数量/dicom数量"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
|
||||
|
||||
<el-form-item label="检查项目" prop="examItemName">
|
||||
<el-input
|
||||
v-model="queryParams.examItemName"
|
||||
placeholder="请输入检查项"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-220px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<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-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="申请日期:年月日时分秒" prop="applicationDate">
|
||||
<el-date-picker
|
||||
v-model="queryParams.applicationDate"
|
||||
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-form-item> -->
|
||||
<!-- <el-form-item label="dicom文件上传时间" prop="uploadDate">
|
||||
<el-date-picker
|
||||
v-model="queryParams.uploadDate"
|
||||
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-form-item> -->
|
||||
<!-- <el-form-item label="机构名称" prop="orgName">
|
||||
<el-input
|
||||
v-model="queryParams.orgName"
|
||||
placeholder="请输入机构名称"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="机构ID" prop="orgId">
|
||||
<el-input
|
||||
v-model="queryParams.orgId"
|
||||
placeholder="请输入机构ID"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="上级判读机构id列表:orgid1,orgid2,orgid3" prop="highLevelOrgId">
|
||||
<el-input
|
||||
v-model="queryParams.highLevelOrgId"
|
||||
placeholder="请输入上级判读机构id列表:orgid1,orgid2,orgid3"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="创建时间:年月日时分秒" prop="createDate">
|
||||
<el-date-picker
|
||||
v-model="queryParams.createDate"
|
||||
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-form-item> -->
|
||||
<!-- <el-form-item label="诊断结论" prop="diagResults">
|
||||
<el-input
|
||||
v-model="queryParams.diagResults"
|
||||
placeholder="请输入诊断结论"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="下诊断结论的时间:年月日时分秒" prop="diagDate">
|
||||
<el-date-picker
|
||||
v-model="queryParams.diagDate"
|
||||
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-form-item> -->
|
||||
<!-- <el-form-item label="诊断医生" prop="diagDoctor">
|
||||
<el-input
|
||||
v-model="queryParams.diagDoctor"
|
||||
placeholder="请输入诊断医生"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核医生" prop="reviewDoctor">
|
||||
<el-input
|
||||
v-model="queryParams.reviewDoctor"
|
||||
placeholder="请输入审核医生"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="审核日期:年月日时分秒" prop="reviewDate">
|
||||
<el-date-picker
|
||||
v-model="queryParams.reviewDate"
|
||||
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-form-item>
|
||||
<el-form-item label="缩略图oss url, httP:oss url" prop="thumbnailImgUrl">
|
||||
<el-input
|
||||
v-model="queryParams.thumbnailImgUrl"
|
||||
placeholder="请输入缩略图oss url, httP:oss url"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="框架需要:创建时间" prop="createTime">
|
||||
<el-date-picker
|
||||
v-model="queryParams.createTime"
|
||||
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-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
||||
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@click="openForm('create')"
|
||||
v-hasPermi="['tblist:patientexamlist:create']"
|
||||
v-if="false"
|
||||
>
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||
</el-button>
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
@click="handleExport"
|
||||
:loading="exportLoading"
|
||||
v-hasPermi="['tblist:patientexamlist:export']"
|
||||
>
|
||||
<Icon icon="ep:download" 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-column label="" width="150px">
|
||||
<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="检查ID" align="center" prop="examId" />
|
||||
<el-table-column label="患者姓名" align="center" prop="pname" />
|
||||
<el-table-column label="性别" align="center" prop="gender" />
|
||||
<el-table-column label="出生日期" align="center" prop="birthday" />
|
||||
<el-table-column
|
||||
label="检查日期"
|
||||
align="center"
|
||||
prop="examDate"
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="设备类型" align="center" prop="deviceType" />
|
||||
<el-table-column label="Se/Im" align="center" prop="seDc" />
|
||||
<el-table-column label="检查项目名称" align="center" prop="examItemName" />
|
||||
|
||||
<el-table-column label="报告状态" align="center" prop="reportstatus" >
|
||||
<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"
|
||||
prop="applicationDate"
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column
|
||||
label="上传时间"
|
||||
align="center"
|
||||
prop="uploadDate"
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="机构名称" align="center" prop="orgName" />
|
||||
<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="createDate"
|
||||
:formatter="dateFormatter"
|
||||
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="diagDate"
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
v-if="false"
|
||||
/>
|
||||
<el-table-column label="诊断医生" align="center" prop="diagDoctor" v-if="false" />
|
||||
<el-table-column label="审核医生" align="center" prop="reviewDoctor" v-if="false" />
|
||||
<el-table-column
|
||||
label="审核日期:年月日时分秒"
|
||||
align="center"
|
||||
prop="reviewDate"
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
v-if="false"
|
||||
/>
|
||||
<el-table-column
|
||||
label="框架需要:创建时间"
|
||||
align="center"
|
||||
prop="createTime"
|
||||
:formatter="dateFormatter"
|
||||
width="180px"
|
||||
v-if="false"
|
||||
/>
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
size="small"
|
||||
|
||||
type="primary"
|
||||
@click="getuporghiorgid(scope.row.id, scope.row.orgId,scope.row.reportstatus)"
|
||||
v-hasPermi="['tblist:patientexamlist:query']"
|
||||
>
|
||||
申请
|
||||
</el-button>
|
||||
<!-- <el-button
|
||||
link
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
v-hasPermi="['tblist:patientexamlist:delete']"
|
||||
>
|
||||
删除
|
||||
</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页 -->
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</ContentWrap>
|
||||
|
||||
<!-- 表单弹窗:添加/修改 -->
|
||||
<PatientexamlistForm ref="formRef" @success="getList" />
|
||||
<!-- 表单弹窗:超声组件 -->
|
||||
<Ultrasonic ref="ultrasonic" @success="getList" />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
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'
|
||||
|
||||
|
||||
/** PACS检查列表 列表 */
|
||||
defineOptions({ name: 'Patientexamlist' })
|
||||
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const list = ref<PatientexamlistVO[]>([]) // 列表的数据
|
||||
const total = ref(0) // 列表的总页数
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
examId: undefined,
|
||||
pname: undefined,
|
||||
gender: undefined,
|
||||
birthday: undefined,
|
||||
examDate: [],
|
||||
deviceType: "",
|
||||
seDc: undefined,
|
||||
examItemName: undefined,
|
||||
reportstatus: undefined,
|
||||
applicationDate: [],
|
||||
uploadDate: [],
|
||||
orgName: undefined,
|
||||
orgId: "",
|
||||
highLevelOrgId: "",
|
||||
createDate: [],
|
||||
examDescription: undefined,
|
||||
diagResults: undefined,
|
||||
diagDate: [],
|
||||
diagDoctor: undefined,
|
||||
reviewDoctor: undefined,
|
||||
reviewDate: [],
|
||||
thumbnailImgUrl: undefined,
|
||||
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 clickNumber = ref(0);
|
||||
function handleEdit(row) {
|
||||
console.log(111111121212)
|
||||
openultrForm(row.id,row.orgId,row.regId)
|
||||
if(row.deviceType=="US")//US是超声类
|
||||
{
|
||||
openultrForm(row.id,row.orgId,row.regId)
|
||||
}
|
||||
|
||||
|
||||
/* 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_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)
|
||||
{
|
||||
timesta.setDate(timesta.getDate() - 1)
|
||||
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)
|
||||
{
|
||||
timesta.setDate(timesta.getDate() - 7)
|
||||
queryParams.examDate=[nowDate(timesta),nowDate(timeend)];
|
||||
}
|
||||
|
||||
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
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
queryParams.deviceType="US"
|
||||
const data = await PatientexamlistApi.getPatientexamlistPage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.pageNo = 1
|
||||
//获取到当前登陆用户的机构时 要进行赋值
|
||||
queryParams.orgId=""
|
||||
queryParams.highLevelOrgId=""
|
||||
queryParams.deviceType="US"
|
||||
getList()
|
||||
}
|
||||
|
||||
/** 重置按钮操作 */
|
||||
const resetQuery = () => {
|
||||
queryFormRef.value.resetFields();
|
||||
|
||||
/** aaaaa **/
|
||||
//新写法
|
||||
examDate_radio_value.value=1;
|
||||
examDate_radio_change();
|
||||
if(5===examDate_radio_value.value) handleQuery();
|
||||
|
||||
//老写法
|
||||
//handleQuery();
|
||||
}
|
||||
|
||||
/** 添加/修改操作 */
|
||||
const formRef = ref()
|
||||
const openForm = (type: string, id?: number) => {
|
||||
formRef.value.open(type, id)
|
||||
}
|
||||
|
||||
/** 申请后更新上级机构字段*/
|
||||
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("只有未申请才可以进行操作")
|
||||
}
|
||||
|
||||
} catch {}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
// 删除的二次确认
|
||||
await message.delConfirm()
|
||||
// 发起删除
|
||||
await PatientexamlistApi.deletePatientexamlist(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
/** 申请按钮操作 */
|
||||
const handleSub = async (id: number) => {
|
||||
try {
|
||||
// 删除的二次确认
|
||||
await message.delConfirm()
|
||||
// 发起删除
|
||||
await PatientexamlistApi.deletePatientexamlist(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
/** 导出按钮操作 */
|
||||
const handleExport = async () => {
|
||||
try {
|
||||
// 导出的二次确认
|
||||
await message.exportConfirm()
|
||||
// 发起导出
|
||||
exportLoading.value = true
|
||||
const data = await PatientexamlistApi.exportPatientexamlist(queryParams)
|
||||
download.excel(data, 'PACS检查列表.xls')
|
||||
} catch {
|
||||
} finally {
|
||||
exportLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
/** 初始化 **/
|
||||
onMounted(() => {
|
||||
|
||||
//在初始化的时候查询到当前登陆用户的机构 和上级机构
|
||||
/** aaaaa **/
|
||||
//新代码
|
||||
examDate_radio_change();
|
||||
if(5===examDate_radio_value.value) handleQuery();
|
||||
|
||||
//老代码
|
||||
//getList();
|
||||
})
|
||||
</script>
|
||||
|
||||
<style>
|
||||
/* 为了防止 el-form-item 的标签文本换行,可以添加以下CSS样式 */
|
||||
.el-form-item__label {
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
@ -31,7 +31,7 @@
|
||||
<el-tab-pane label="通用模版">
|
||||
<!-- 树 -->
|
||||
<el-tree
|
||||
style="min-width: 195px;"
|
||||
style="min-width: 195px"
|
||||
v-loading="formLoading"
|
||||
class="treeStyle"
|
||||
:check-on-click-node="true"
|
||||
@ -87,7 +87,7 @@
|
||||
:inline="true"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="检查号" style="font-weight: bold">
|
||||
<el-input
|
||||
v-model="applyFormVO.examId"
|
||||
@ -101,7 +101,7 @@
|
||||
<el-input v-model="applyFormVO.pname" style="width: 190px" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="9">
|
||||
<el-form-item label="性别" style="font-weight: bold">
|
||||
<el-input
|
||||
v-model="applyFormVO.gender"
|
||||
@ -110,7 +110,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="出生日期" style="font-weight: bold">
|
||||
<el-date-picker
|
||||
v-model="applyFormVO.birthday"
|
||||
@ -144,7 +144,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="申请时间" style="font-weight: bold">
|
||||
<el-date-picker
|
||||
v-model="applyFormVO.applicationDate"
|
||||
@ -254,12 +254,21 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
style="width: 80px; float: right; margin-right: 15px"
|
||||
@click="save"
|
||||
:disabled="savedisabled"
|
||||
>保存</el-button
|
||||
>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
style="width: 180px; float: right"
|
||||
v-show="examinedisabled"
|
||||
style="width: 80px; float: right; margin-right: 15px"
|
||||
@click="examine"
|
||||
:disabled="applyFormVO.reportstatus === '已审核' ? true : false"
|
||||
>审核</el-button
|
||||
>
|
||||
</el-tab-pane>
|
||||
@ -333,7 +342,7 @@
|
||||
plain
|
||||
style="width: 100%"
|
||||
@click="upimagedeleteor()"
|
||||
:disabled="applyFormVO.reportstatus === '已审核' ? true : false"
|
||||
:disabled="savedisabled"
|
||||
>图像删除</el-button
|
||||
>
|
||||
</div>
|
||||
@ -343,7 +352,7 @@
|
||||
plain
|
||||
style="width: 100%"
|
||||
@click="getimages"
|
||||
:disabled="applyFormVO.reportstatus === '已审核' ? true : false"
|
||||
:disabled="savedisabled"
|
||||
>图像刷新</el-button
|
||||
>
|
||||
</div>
|
||||
@ -364,9 +373,15 @@
|
||||
<!-- 弹窗-->
|
||||
<el-dialog v-model="dialogTableVisible" title="选择结论添加方式" width="320" align-center>
|
||||
<div>
|
||||
<el-button @click="handleButtonClick('覆盖')" type="primary" style="font-size: 20px;">覆盖</el-button>
|
||||
<el-button @click="handleButtonClick('追加')" type="success" style="font-size: 20px;">追加</el-button>
|
||||
<el-button @click="dialogTableVisible = false" type="info" style="font-size: 20px;">关闭</el-button>
|
||||
<el-button @click="handleButtonClick('覆盖')" type="primary" style="font-size: 20px"
|
||||
>覆盖</el-button
|
||||
>
|
||||
<el-button @click="handleButtonClick('追加')" type="success" style="font-size: 20px"
|
||||
>追加</el-button
|
||||
>
|
||||
<el-button @click="dialogTableVisible = false" type="info" style="font-size: 20px"
|
||||
>关闭</el-button
|
||||
>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
@ -393,7 +408,8 @@ const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const dialogTitle = ref('') // 弹窗的标题
|
||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
const examineFormVO = ref<PatientexamlistVO>({} as PatientexamlistVO)
|
||||
|
||||
const savedisabled = ref(true) //保存按钮是否可用
|
||||
const examinedisabled = ref(false) //审核按钮是否可见
|
||||
//点击节点更新使用时间
|
||||
const clickuptime = async (pid: string) => {
|
||||
await ultrasoniccomApi.upreporttemplatetime(pid)
|
||||
@ -424,8 +440,8 @@ const updateexamineimage = ref<updateexamineimageVO[]>([])
|
||||
|
||||
//备注
|
||||
const notes = ref()
|
||||
//审核
|
||||
const examine = async () => {
|
||||
//保存
|
||||
const save = async () => {
|
||||
try {
|
||||
if (selecteimagedoneid === 0 || selecteimagedtwoid === 0 || selecteimagedthreeid === 0) {
|
||||
message.warning('请选择影像图')
|
||||
@ -433,7 +449,7 @@ const examine = async () => {
|
||||
}
|
||||
|
||||
// 二次确认
|
||||
await message.delConfirm('是否进行审核', '确认')
|
||||
await message.delConfirm('是否进行保存', '确认')
|
||||
let timesta = new Date()
|
||||
var localDateTime = new Date(timesta.getTime()).toISOString() // 转换为ISO格式的字符串
|
||||
localDateTime = localDateTime.slice(0, localDateTime.length - 1)
|
||||
@ -444,8 +460,8 @@ const examine = async () => {
|
||||
examineFormVO.value.notes = notes.value
|
||||
examineFormVO.value.diagFlag = radio1.value
|
||||
examineFormVO.value.diagDoctor = Profilevo.value.username
|
||||
examineFormVO.value.reviewDoctor = Profilevo.value.username
|
||||
examineFormVO.value.reportstatus = '已审核'
|
||||
// examineFormVO.value.reviewDoctor = Profilevo.value.username
|
||||
examineFormVO.value.reportstatus = '已分析'
|
||||
// examineFormVO.value.diagDate=localDateTime
|
||||
// examineFormVO.value.reviewDate=dateTime
|
||||
|
||||
@ -454,12 +470,13 @@ const examine = async () => {
|
||||
if (response) {
|
||||
//更新图片选中标识
|
||||
await upimageselect()
|
||||
message.alertSuccess('审核成功')
|
||||
message.alertSuccess('保存成功')
|
||||
// 接口调用成功,可以根据需要处理返回的data数据
|
||||
console.log('接口调用成功')
|
||||
console.log('data:', response.data)
|
||||
//查询患者信息 根据ID
|
||||
getPatientexamlist(ID)
|
||||
emit('success')
|
||||
} else {
|
||||
// 接口调用失败,根据具体情况处理错误
|
||||
console.error('接口调用失败:', response.msg)
|
||||
@ -469,6 +486,25 @@ const examine = async () => {
|
||||
console.error('接口调用失败:', error)
|
||||
}
|
||||
}
|
||||
// 审核
|
||||
const examine = async () => {
|
||||
if (applyFormVO.value.reportstatus === '已分析') {
|
||||
const response = await PatientexamlistApi.examine(ID.toString())
|
||||
if (response) {
|
||||
message.alertSuccess('审核成功')
|
||||
|
||||
//查询患者信息 根据ID
|
||||
getPatientexamlist(ID)
|
||||
emit('success')
|
||||
}
|
||||
} else if (applyFormVO.value.reportstatus === '已审核') {
|
||||
message.warning('已经审核,无需再次审核')
|
||||
return
|
||||
} else {
|
||||
message.warning('请先进行保存')
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
///转换时间格式
|
||||
function nowDate(time) {
|
||||
@ -581,13 +617,33 @@ const upimagedeleteor = async () => {
|
||||
deleteimageid.value = ''
|
||||
updateexamineimage.value = []
|
||||
}
|
||||
//菜单切换
|
||||
const handleTabChange = async () => {
|
||||
if (activeName.value == '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
|
||||
}
|
||||
} else {
|
||||
hideDiv()
|
||||
}
|
||||
}
|
||||
}
|
||||
//隐藏报告
|
||||
function hideDiv() {
|
||||
var div = document.getElementById('printMe')
|
||||
if (div) {
|
||||
div.style.display = 'none'
|
||||
}
|
||||
}
|
||||
//显示报告
|
||||
function showDiv() {
|
||||
var div = document.getElementById('printMe')
|
||||
if (div) {
|
||||
div.style.display = 'block'
|
||||
}
|
||||
}
|
||||
// 计算年龄
|
||||
@ -740,6 +796,12 @@ const getPatientexamlist = async (id: number) => {
|
||||
sj.value = applyFormVO.value.examDescription
|
||||
notes.value = applyFormVO.value.notes
|
||||
calculateAge(applyFormVO.value.birthday)
|
||||
|
||||
if (applyFormVO.value.reportstatus == '已分检' || applyFormVO.value.reportstatus == '待分析') {
|
||||
savedisabled.value = false
|
||||
} else {
|
||||
savedisabled.value = true
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||
@ -755,6 +817,10 @@ const PrintForm = () => {
|
||||
//获取当前登录人信息
|
||||
const getlogininfo = async () => {
|
||||
Profilevo.value = await getUserProfile()
|
||||
console.log("审核是否可见"+Profilevo.value.isexamine)
|
||||
if (Profilevo.value.isexamine === '1') {
|
||||
examinedisabled.value = true
|
||||
}
|
||||
}
|
||||
|
||||
/** 重置表单 */
|
||||
@ -845,7 +911,6 @@ const chooseImage = (event, id: number) => {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.demo-image {
|
||||
@ -911,7 +976,7 @@ const chooseImage = (event, id: number) => {
|
||||
.form-item {
|
||||
flex: 1; /* 均分宽度,使两个输入框平分容器的宽度 */
|
||||
margin-right: 20px;
|
||||
font-weight:bold
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* 报告样式 */
|
||||
|
Loading…
Reference in New Issue
Block a user