用户 增加医生选项 选择完机构后 出来当前选择机构的数据 用户的审核 超声和影像分开权限 超声和影像保存时候修改诊断医生

This commit is contained in:
lxd 2024-08-28 14:22:04 +08:00
parent f42d9fbba2
commit 3ecceabf27
7 changed files with 102 additions and 38 deletions

View File

@ -17,6 +17,9 @@ export interface UserVO {
createTime: Date createTime: Date
orgId:string orgId:string
isexamine:string isexamine:string
isimageexamine:string
doctorID:string
doctorname:string
} }
// 查询用户管理列表 // 查询用户管理列表
@ -81,3 +84,7 @@ export const updateUserStatus = (id: number, status: number) => {
export const getSimpleUserList = (): Promise<UserVO[]> => { export const getSimpleUserList = (): Promise<UserVO[]> => {
return request.get({ url: '/system/user/simple-list' }) return request.get({ url: '/system/user/simple-list' })
} }
export const getDoctorList= (orgid:string) => {
return request.get({ url: '/doctor/getdoctorlist?orgId='+orgid })
}

View File

@ -31,6 +31,9 @@ export interface ProfileVO {
createTime: Date createTime: Date
isexamine:string isexamine:string
orgId:string orgId:string
isimageexamine:string
doctorID:string
doctorname:string
} }
export interface UserProfileUpdateReqVO { export interface UserProfileUpdateReqVO {

View File

@ -22,6 +22,7 @@ export interface PatientexamlistVO {
diagResults: string // 诊断结论 diagResults: string // 诊断结论
diagDate: Date // 下诊断结论的时间:年月日时分秒 diagDate: Date // 下诊断结论的时间:年月日时分秒
diagDoctor: string // 诊断医生 diagDoctor: string // 诊断医生
diagDoctorId:string
reviewDoctor: string // 审核医生 reviewDoctor: string // 审核医生
reviewDate: Date // 审核日期:年月日时分秒 reviewDate: Date // 审核日期:年月日时分秒
thumbnailImgUrl: string // 缩略图oss url, httP:oss url thumbnailImgUrl: string // 缩略图oss url, httP:oss url

View File

@ -239,7 +239,7 @@
<el-button <el-button
type="success" type="success"
plain plain
style="width: 80px; float: right; margin-right: 15px; margin-top: 13px" style="width: 80px; float: right; margin-right: 15px; margin-top: 30px ;background-color: rgba(56, 119, 246, 1);font-size: 14; color: rgb(255, 255, 255);"
@click="save" @click="save"
:disabled="savedisabled" :disabled="savedisabled"
>保存</el-button >保存</el-button
@ -249,7 +249,7 @@
type="primary" type="primary"
plain plain
v-show="examinedisabled" v-show="examinedisabled"
style="width: 80px; float: right; margin-right: 15px; margin-top: 13px" style="width: 80px; float: right; margin-right: 15px; margin-top: 30px ;background-color: rgba(56, 119, 246, 1);font-size: 14; color: rgb(255, 255, 255);"
@click="examine" @click="examine"
>审核</el-button >审核</el-button
> >
@ -342,7 +342,8 @@ const save = async () => {
examineFormVO.value.diagResults = zdjl.value examineFormVO.value.diagResults = zdjl.value
examineFormVO.value.notes = notes.value examineFormVO.value.notes = notes.value
examineFormVO.value.diagFlag = radio1.value examineFormVO.value.diagFlag = radio1.value
examineFormVO.value.diagDoctor = Profilevo.value.username examineFormVO.value.diagDoctor = Profilevo.value.doctorname
examineFormVO.value.diagDoctorId = Profilevo.value.doctorID
// examineFormVO.value.reviewDoctor = Profilevo.value.username // examineFormVO.value.reviewDoctor = Profilevo.value.username
examineFormVO.value.reportstatus = '已分析' examineFormVO.value.reportstatus = '已分析'
// examineFormVO.value.diagDate=localDateTime // examineFormVO.value.diagDate=localDateTime
@ -565,6 +566,7 @@ const iframeData = async () => {
} else { } else {
// statussuccess // statussuccess
console.error('Request did not succeed:', response.data) console.error('Request did not succeed:', response.data)
} }
// dataLoaded.value = true // dataLoadedtrue // dataLoaded.value = true // dataLoadedtrue
} catch (error) { } catch (error) {
@ -604,8 +606,8 @@ const PrintForm = () => {
// //
const getlogininfo = async () => { const getlogininfo = async () => {
Profilevo.value = await getUserProfile() Profilevo.value = await getUserProfile()
console.log('审核是否可见' + Profilevo.value.isexamine) console.log('审核是否可见' + Profilevo.value.isimageexamine)
if (Profilevo.value.isexamine === '1') { if (Profilevo.value.isimageexamine === '1') {
examinedisabled.value = true examinedisabled.value = true
} }
} }

View File

@ -14,7 +14,17 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="归属部门" prop="deptId"> <el-form-item label="医生编码" prop="doctorID">
<el-select v-model="formData.doctorID" placeholder="医生" clearable>
<el-option
v-for="item in doctorList"
:key="item.doctorID"
:label="item.doctorName"
:value="item.doctorID"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="归属部门" prop="deptId">
<el-tree-select <el-tree-select
v-model="formData.deptId" v-model="formData.deptId"
:data="deptList" :data="deptList"
@ -23,7 +33,7 @@
node-key="id" node-key="id"
placeholder="请选择归属部门" placeholder="请选择归属部门"
/> />
</el-form-item> </el-form-item> -->
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -33,8 +43,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮箱" prop="email"> <el-form-item label="医生名称" prop="doctorname">
<el-input v-model="formData.email" maxlength="50" placeholder="请输入邮箱" /> <el-input disabled v-model="formData.doctorname" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -69,7 +79,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="岗位"> <!-- <el-form-item label="岗位">
<el-select v-model="formData.postIds" multiple placeholder="请选择"> <el-select v-model="formData.postIds" multiple placeholder="请选择">
<el-option <el-option
v-for="item in postList" v-for="item in postList"
@ -78,32 +88,43 @@
:value="item.id!" :value="item.id!"
/> />
</el-select> </el-select>
</el-form-item> -->
<el-form-item label="影像审核" prop="isimageexamine">
<el-select v-model="formData.isimageexamine" clearable>
<el-option label="是" value="1" />
<el-option label="否" value="0" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="机构名称" prop="orgId" > <el-form-item label="机构名称" prop="orgId">
<el-select v-model="formData.orgId" placeholder="请选择机构" clearable> <el-select
<el-option v-model="formData.orgId"
v-for="item in fororglistData" placeholder="请选择机构"
:key="item.orgID" clearable
:label="item.orgName" @change="handleOrgChange"
:value="item.orgID" >
/> <el-option
</el-select> v-for="item in fororglistData"
</el-form-item> :key="item.orgID"
:label="item.orgName"
:value="item.orgID"
/>
</el-select>
</el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否审核" prop="isexamine" > <el-form-item label="超声审核" prop="isexamine">
<el-select v-model="formData.isexamine" clearable> <el-select v-model="formData.isexamine" clearable>
<el-option label="是" value="1" /> <el-option label="是" value="1" />
<el-option label="否" value="0" /> <el-option label="否" value="0" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注"> <el-form-item label="备注">
@ -137,6 +158,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update -
const doctorList = ref<any[]>([]) //
const formData = ref({ const formData = ref({
nickname: '', nickname: '',
deptId: '', deptId: '',
@ -150,8 +172,11 @@ const formData = ref({
remark: '', remark: '',
status: CommonStatusEnum.ENABLE, status: CommonStatusEnum.ENABLE,
roleIds: [], roleIds: [],
orgId:'', orgId: '',
isexamine:'' isexamine: '',
isimageexamine: '',
doctorID: '',
doctorname: ''
}) })
const formRules = reactive<FormRules>({ const formRules = reactive<FormRules>({
username: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }], username: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }],
@ -182,8 +207,8 @@ const open = async (type: string, id?: number) => {
dialogVisible.value = true dialogVisible.value = true
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
// //
fororglistData.value = await OrgApi.getOrglist() fororglistData.value = await OrgApi.getOrglist()
resetForm() resetForm()
// //
if (id) { if (id) {
@ -201,6 +226,26 @@ const open = async (type: string, id?: number) => {
} }
defineExpose({ open }) // open defineExpose({ open }) // open
//
function handleOrgChange(newVal) {
//
doctorList.value = []
// ID
if (newVal) {
loadRelatedOptions(newVal)
}
}
// formData.doctorID
const selectedDoctorName = computed(() => {
const selectedDoctor = doctorList.value.find(doctor => doctor.doctorID === formData.value.doctorID);
return selectedDoctor ? selectedDoctor.doctorName : '';
});
// ID
async function loadRelatedOptions(orgId) {
//
doctorList.value = await UserApi.getDoctorList(orgId)
}
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const submitForm = async () => { const submitForm = async () => {
@ -208,6 +253,7 @@ const submitForm = async () => {
if (!formRef) return if (!formRef) return
const valid = await formRef.value.validate() const valid = await formRef.value.validate()
if (!valid) return if (!valid) return
formData.value.doctorname=selectedDoctorName.value
// //
formLoading.value = true formLoading.value = true
try { try {
@ -242,8 +288,13 @@ const resetForm = () => {
remark: '', remark: '',
status: CommonStatusEnum.ENABLE, status: CommonStatusEnum.ENABLE,
roleIds: [], roleIds: [],
orgId:'' orgId: '',
doctorID: '',
isexamine: '',
isimageexamine: '',
doctorname: ''
} }
doctorList.value = []
formRef.value?.resetFields() formRef.value?.resetFields()
} }
</script> </script>

View File

@ -5,11 +5,11 @@
<el-row :gutter="20"> <el-row :gutter="20">
<!-- 左侧部门树 --> <!-- 左侧部门树 -->
<el-col :span="4" :xs="24"> <!-- <el-col :span="4" :xs="24">
<ContentWrap class="h-1/1"> <ContentWrap class="h-1/1">
<DeptTree @node-click="handleDeptNodeClick" /> <DeptTree @node-click="handleDeptNodeClick" />
</ContentWrap> </ContentWrap>
</el-col> </el-col> -->
<el-col :span="20" :xs="24"> <el-col :span="20" :xs="24">
<!-- 搜索 --> <!-- 搜索 -->
<ContentWrap> <ContentWrap>
@ -110,10 +110,9 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column <el-table-column
label="部门" label="关联医生名称"
align="center" align="center"
key="deptName" prop="doctorname"
prop="deptName"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<el-table-column label="手机号码" align="center" prop="mobile" width="120" /> <el-table-column label="手机号码" align="center" prop="mobile" width="120" />

View File

@ -541,7 +541,8 @@ const save = async () => {
examineFormVO.value.diagResults = zdjl.value examineFormVO.value.diagResults = zdjl.value
examineFormVO.value.notes = notes.value examineFormVO.value.notes = notes.value
examineFormVO.value.diagFlag = radio1.value examineFormVO.value.diagFlag = radio1.value
examineFormVO.value.diagDoctor = Profilevo.value.username examineFormVO.value.diagDoctor = Profilevo.value.doctorname
examineFormVO.value.diagDoctorId = Profilevo.value.doctorID
// examineFormVO.value.reviewDoctor = Profilevo.value.username // examineFormVO.value.reviewDoctor = Profilevo.value.username
examineFormVO.value.reportstatus = '已分析' examineFormVO.value.reportstatus = '已分析'
// examineFormVO.value.diagDate=localDateTime // examineFormVO.value.diagDate=localDateTime