修改用户信息界面 增加机构字典和科室字典
This commit is contained in:
parent
e0d05c12d6
commit
f1d586c0cf
54
src/api/system/department/index.ts
Normal file
54
src/api/system/department/index.ts
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 科室管理 VO
|
||||||
|
export interface DepartmentVO {
|
||||||
|
id: string // 主键
|
||||||
|
departmentName: string // 科室名称
|
||||||
|
createPerson: string // 创建人
|
||||||
|
createDate: Date // 创建时间
|
||||||
|
departmentRemark: string // 科室备注
|
||||||
|
deletePerson: string // 删除操作人
|
||||||
|
deleteDate: Date // 删除时间
|
||||||
|
departmentAddress: string // 科室具体位置
|
||||||
|
orgId: string // 机构ID
|
||||||
|
departmentCode: string // 科室代号:科室短号
|
||||||
|
isDelete: string // 删除标记:1为删除
|
||||||
|
}
|
||||||
|
|
||||||
|
// 科室管理 API
|
||||||
|
export const DepartmentApi = {
|
||||||
|
// 查询科室管理分页
|
||||||
|
getDepartmentPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/system/department/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询科室管理详情
|
||||||
|
getDepartment: async (id: number) => {
|
||||||
|
return await request.get({ url: `/system/department/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询科室相关数据字典
|
||||||
|
getDepartmentList: async () => {
|
||||||
|
return await request.get({ url: `/system/department/getlist` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增科室管理
|
||||||
|
createDepartment: async (data: DepartmentVO) => {
|
||||||
|
return await request.post({ url: `/system/department/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改科室管理
|
||||||
|
updateDepartment: async (data: DepartmentVO) => {
|
||||||
|
return await request.put({ url: `/system/department/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除科室管理
|
||||||
|
deleteDepartment: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/system/department/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出科室管理 Excel
|
||||||
|
exportDepartment: async (params) => {
|
||||||
|
return await request.download({ url: `/system/department/export-excel`, params })
|
||||||
|
},
|
||||||
|
}
|
@ -27,7 +27,11 @@ export const OrgApi = {
|
|||||||
getOrg: async (id: number) => {
|
getOrg: async (id: number) => {
|
||||||
return await request.get({ url: `/org/org/get?id=` + id })
|
return await request.get({ url: `/org/org/get?id=` + id })
|
||||||
},
|
},
|
||||||
|
// 查询机构管理字典
|
||||||
|
getOrglist: async () => {
|
||||||
|
return await request.get({ url: `/org/org/getlist` })
|
||||||
|
},
|
||||||
|
|
||||||
// 新增机构管理
|
// 新增机构管理
|
||||||
createOrg: async (data: OrgVO) => {
|
createOrg: async (data: OrgVO) => {
|
||||||
return await request.post({ url: `/org/org/create`, data })
|
return await request.post({ url: `/org/org/create`, data })
|
||||||
|
@ -15,6 +15,7 @@ export interface UserVO {
|
|||||||
remark: string
|
remark: string
|
||||||
loginDate: Date
|
loginDate: Date
|
||||||
createTime: Date
|
createTime: Date
|
||||||
|
orgId:string
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询用户管理列表
|
// 查询用户管理列表
|
||||||
|
@ -91,6 +91,7 @@ export default defineComponent({
|
|||||||
textColor="var(--left-menu-text-color)"
|
textColor="var(--left-menu-text-color)"
|
||||||
activeTextColor="var(--left-menu-text-active-color)"
|
activeTextColor="var(--left-menu-text-active-color)"
|
||||||
onSelect={menuSelect}
|
onSelect={menuSelect}
|
||||||
|
|
||||||
>
|
>
|
||||||
{{
|
{{
|
||||||
default: () => {
|
default: () => {
|
||||||
|
@ -8,16 +8,16 @@
|
|||||||
:inline="true"
|
:inline="true"
|
||||||
label-width="68px"
|
label-width="68px"
|
||||||
>
|
>
|
||||||
<el-form-item label="登记来源" prop="regSource">
|
<el-form-item label="登记来源" prop="regSource">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="queryParams.regSource"
|
v-model="queryParams.regSource"
|
||||||
placeholder="请选择来源"
|
placeholder="请选择来源"
|
||||||
clearable
|
clearable
|
||||||
class="!w-200px"
|
class="!w-200px"
|
||||||
>
|
>
|
||||||
<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-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@ -63,7 +63,7 @@
|
|||||||
class="!w-150px"
|
class="!w-150px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="检查单号" prop="examId">
|
<el-form-item label="检查单号" prop="examId">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.examId"
|
v-model="queryParams.examId"
|
||||||
@ -73,10 +73,8 @@
|
|||||||
class="!w-150px"
|
class="!w-150px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<!-- <el-form-item label="检查日期" prop="examDate">
|
||||||
|
|
||||||
<!-- <el-form-item label="检查日期" prop="examDate">
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.examDate"
|
v-model="queryParams.examDate"
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
@ -87,7 +85,7 @@
|
|||||||
class="!w-240px"
|
class="!w-240px"
|
||||||
/>
|
/>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<!-- <el-form-item label="检查项目名称" prop="examItemName">
|
<!-- <el-form-item label="检查项目名称" prop="examItemName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.examItemName"
|
v-model="queryParams.examItemName"
|
||||||
placeholder="请输入检查项目名称"
|
placeholder="请输入检查项目名称"
|
||||||
@ -103,33 +101,29 @@
|
|||||||
clearable
|
clearable
|
||||||
class="!w-200px"
|
class="!w-200px"
|
||||||
>
|
>
|
||||||
<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-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="执行科室" prop="deviceDepartment">
|
<el-form-item label="执行科室" prop="deviceDepartment">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="queryParams.deviceDepartment"
|
v-model="queryParams.deviceDepartment"
|
||||||
placeholder="请选择执行科室"
|
placeholder="请选择执行科室"
|
||||||
clearable
|
clearable
|
||||||
class="!w-200px"
|
class="!w-200px"
|
||||||
>
|
>
|
||||||
<el-option label="影像科" value="影像科" />
|
<el-option v-for="item in fordepartementData" :key="item.id" :label="item.departmentName" :value="item.departmentName" />
|
||||||
|
<!-- <el-option label="影像科" value="影像科" /> -->
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
<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 @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
||||||
<!-- <el-button
|
<!-- <el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
@click="openForm('create')"
|
@click="openForm('create')"
|
||||||
@ -155,20 +149,29 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 批量分检
|
<Icon icon="ep:plus" class="mr-5px" /> 批量分检
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button @click="resetQuery" type="primary"
|
||||||
|
><Icon icon="ep:refresh" class="mr-5px" /> 同步</el-button
|
||||||
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" @selection-change="handleSelectionChange" >
|
<el-table
|
||||||
|
v-loading="loading"
|
||||||
|
:data="list"
|
||||||
|
:stripe="true"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
@selection-change="handleSelectionChange"
|
||||||
|
>
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<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="登记单号" align="center" prop="regId" width="100px" />
|
<el-table-column label="登记单号" align="center" prop="regId" width="100px" />
|
||||||
<el-table-column label="登记来源" align="center" prop="regSource" width="100px"/>
|
<el-table-column label="登记来源" align="center" prop="regSource" width="100px" />
|
||||||
<el-table-column label="检查单号" align="center" prop="examId" />
|
<el-table-column label="检查单号" align="center" prop="examId" />
|
||||||
<el-table-column label="患者姓名" align="center" prop="pname" width="100px"/>
|
<el-table-column label="患者姓名" align="center" prop="pname" width="100px" />
|
||||||
<el-table-column label="性别" align="center" prop="gender" width="100px"/>
|
<el-table-column label="性别" align="center" prop="gender" width="100px" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="出生日期"
|
label="出生日期"
|
||||||
align="center"
|
align="center"
|
||||||
@ -184,10 +187,10 @@
|
|||||||
:formatter="dateFormatter"
|
:formatter="dateFormatter"
|
||||||
width="180px"
|
width="180px"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="检查项目名称" align="center" prop="examItemName" width="140px"/>
|
<el-table-column label="检查项目名称" align="center" prop="examItemName" width="140px" />
|
||||||
<el-table-column label="检查设备ID" align="center" prop="deviceId" v-if="false"/>
|
<el-table-column label="检查设备ID" align="center" prop="deviceId" v-if="false" />
|
||||||
<el-table-column label="检查设备" align="center" prop="deviceName" width="130px"/>
|
<el-table-column label="检查设备" align="center" prop="deviceName" width="130px" />
|
||||||
<el-table-column label="联系电话" align="center" prop="contactTel" />
|
<el-table-column label="联系电话" align="center" prop="contactTel" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="登记时间"
|
label="登记时间"
|
||||||
align="center"
|
align="center"
|
||||||
@ -202,9 +205,15 @@
|
|||||||
:formatter="dateFormatter"
|
:formatter="dateFormatter"
|
||||||
width="180px"
|
width="180px"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="开单医生" align="center" prop="billgDoctor" width="100px"/>
|
<el-table-column label="开单医生" align="center" prop="billgDoctor" width="100px" />
|
||||||
<el-table-column label="检查状态" align="center" prop="examStatus" width="100px" />
|
<el-table-column label="检查状态" align="center" prop="examStatus" width="100px" />
|
||||||
<el-table-column label="开单医生科室" align="center" prop="billDoctorDepartment" :label-class-name="'no-wrap'" v-if="false" />
|
<el-table-column
|
||||||
|
label="开单医生科室"
|
||||||
|
align="center"
|
||||||
|
prop="billDoctorDepartment"
|
||||||
|
:label-class-name="'no-wrap'"
|
||||||
|
v-if="false"
|
||||||
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="此条记录的创建时间"
|
label="此条记录的创建时间"
|
||||||
align="center"
|
align="center"
|
||||||
@ -213,15 +222,17 @@
|
|||||||
width="180px"
|
width="180px"
|
||||||
v-if="false"
|
v-if="false"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="检查项目代码" align="center" prop="examItemCode" v-if="false"/>
|
<el-table-column label="检查项目代码" align="center" prop="examItemCode" v-if="false" />
|
||||||
<el-table-column label="机构ID" align="center" prop="orgId" v-if="false" />
|
<el-table-column label="机构ID" align="center" prop="orgId" v-if="false" />
|
||||||
<el-table-column label="分检医生" align="center" prop="sortDoctor" width="100px"/>
|
<el-table-column label="分检医生" align="center" prop="sortDoctor" width="100px" />
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="openForm('分检', scope.row.pname,scope.row.orgId,scope.row.id,scope.row.examStatus)"
|
@click="
|
||||||
|
openForm('分检', scope.row.pname, scope.row.orgId, scope.row.id, scope.row.examStatus)
|
||||||
|
"
|
||||||
v-hasPermi="['applyregistration:applyform:update']"
|
v-hasPermi="['applyregistration:applyform:update']"
|
||||||
>
|
>
|
||||||
分检
|
分检
|
||||||
@ -229,19 +240,13 @@
|
|||||||
<el-button
|
<el-button
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@click="handleDelete(scope.row.id,scope.row.examStatus)"
|
@click="handleDelete(scope.row.id, scope.row.examStatus)"
|
||||||
v-hasPermi="['applyregistration:applyform:delete']"
|
v-hasPermi="['applyregistration:applyform:delete']"
|
||||||
>
|
>
|
||||||
作废
|
作废
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
<el-button
|
<el-button link type="danger" @click="openPrintForm(scope.row.id)"> 导引单 </el-button>
|
||||||
link
|
|
||||||
type="danger"
|
|
||||||
@click="openPrintForm(scope.row.id)"
|
|
||||||
>
|
|
||||||
导引单
|
|
||||||
</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -263,22 +268,23 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { dateFormatter } from '@/utils/formatTime'
|
import { dateFormatter } from '@/utils/formatTime'
|
||||||
import download from '@/utils/download'
|
import download from '@/utils/download'
|
||||||
import { ApplyformApi, ApplyformVO,UPFJApplyformVO } from '@/api/applyregistration/applyform'
|
import { ApplyformApi, ApplyformVO, UPFJApplyformVO } from '@/api/applyregistration/applyform'
|
||||||
import ApplyformForm from './ApplyformForm.vue'
|
import ApplyformForm from './ApplyformForm.vue'
|
||||||
import { fa } from 'element-plus/es/locale';
|
import { fa } from 'element-plus/es/locale'
|
||||||
import GuidePrint from './GuidePrint.vue';
|
import GuidePrint from './GuidePrint.vue'
|
||||||
import { getUserProfile, ProfileVO } from '@/api/system/user/profile'
|
import { getUserProfile, ProfileVO } from '@/api/system/user/profile'
|
||||||
|
import { DepartmentApi, DepartmentVO } from '@/api/system/department'
|
||||||
|
|
||||||
/** 申请登记记录 列表 */
|
/** 申请登记记录 列表 */
|
||||||
defineOptions({ name: 'Applyform' })
|
defineOptions({ name: 'Applyform' })
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const loading = ref(true) // 列表的加载中
|
const loading = ref(true) // 列表的加载中
|
||||||
const list = ref<ApplyformVO[]>([]) // 列表的数据
|
const list = ref<ApplyformVO[]>([]) // 列表的数据
|
||||||
const total = ref(0) // 列表的总页数
|
const total = ref(0) // 列表的总页数
|
||||||
|
//科室数据
|
||||||
|
const fordepartementData = ref<any[]>([])
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@ -302,12 +308,12 @@ const queryParams = reactive({
|
|||||||
examItemCode: undefined,
|
examItemCode: undefined,
|
||||||
orgId: undefined,
|
orgId: undefined,
|
||||||
sortDoctor: undefined,
|
sortDoctor: undefined,
|
||||||
deviceDepartment:undefined,
|
deviceDepartment: undefined,
|
||||||
departmentCode:undefined,
|
departmentCode: undefined
|
||||||
})
|
})
|
||||||
const queryFormRef = ref() // 搜索的表单
|
const queryFormRef = ref() // 搜索的表单
|
||||||
const exportLoading = ref(false) // 导出的加载中
|
const exportLoading = ref(false) // 导出的加载中
|
||||||
const Profilevo = ref<ProfileVO>({} as ProfileVO); //当前登录人信息
|
const Profilevo = ref<ProfileVO>({} as ProfileVO) //当前登录人信息
|
||||||
/** 查询列表 */
|
/** 查询列表 */
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
@ -315,10 +321,11 @@ const getList = async () => {
|
|||||||
const data = await ApplyformApi.getApplyformPage(queryParams)
|
const data = await ApplyformApi.getApplyformPage(queryParams)
|
||||||
list.value = data.list
|
list.value = data.list
|
||||||
total.value = data.total
|
total.value = data.total
|
||||||
|
//科室字典
|
||||||
|
fordepartementData.value=await DepartmentApi.getDepartmentList()
|
||||||
} finally {
|
} finally {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
@ -335,90 +342,81 @@ const resetQuery = () => {
|
|||||||
|
|
||||||
/** 添加/修改操作 */
|
/** 添加/修改操作 */
|
||||||
const formRef = ref()
|
const formRef = ref()
|
||||||
const openForm = (type: string,pname:string ,orgid: string,ID:number,status:string) => {
|
const openForm = (type: string, pname: string, orgid: string, ID: number, status: string) => {
|
||||||
if(status=="未分检")
|
if (status == '未分检') {
|
||||||
{
|
formRef.value.open(type, orgid, pname, ID, Profilevo.value.username, [])
|
||||||
formRef.value.open(type, orgid,pname,ID,Profilevo.value.username,[])
|
} else {
|
||||||
|
message.warning('只有未分检才可以进行分检操作')
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
message.warning("只有未分检才可以进行分检操作")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 打印导引单 */
|
/** 打印导引单 */
|
||||||
const Print = ref();
|
const Print = ref()
|
||||||
const openPrintForm = (ID:number) => {
|
const openPrintForm = (ID: number) => {
|
||||||
|
|
||||||
Print.value.open(ID)
|
Print.value.open(ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
//批量相关
|
//批量相关
|
||||||
const selectedRows = ref<any[]>([]); // 存储当前选中的行
|
const selectedRows = ref<any[]>([]) // 存储当前选中的行
|
||||||
const previouslySelectedRows = ref<any[]>([]); // 存储先前选中的行
|
const previouslySelectedRows = ref<any[]>([]) // 存储先前选中的行
|
||||||
const handleSelectionChange = (selection) => {
|
const handleSelectionChange = (selection) => {
|
||||||
// 更新当前选中的行
|
// 更新当前选中的行
|
||||||
selectedRows.value = selection;
|
selectedRows.value = selection
|
||||||
|
|
||||||
// 检查哪些行被取消勾选
|
// 检查哪些行被取消勾选
|
||||||
const unselectedRows = previouslySelectedRows.value.filter(prevRow => !selection.some(newRow => newRow.id === prevRow.id));
|
const unselectedRows = previouslySelectedRows.value.filter(
|
||||||
|
(prevRow) => !selection.some((newRow) => newRow.id === prevRow.id)
|
||||||
|
)
|
||||||
|
|
||||||
// 输出取消勾选的行
|
// 输出取消勾选的行
|
||||||
unselectedRows.forEach(row => {
|
unselectedRows.forEach((row) => {
|
||||||
console.log(`Row ${row.id} was unselected.`);
|
console.log(`Row ${row.id} was unselected.`)
|
||||||
// 这里可以添加你的逻辑来处理取消勾选的行
|
// 这里可以添加你的逻辑来处理取消勾选的行
|
||||||
});
|
})
|
||||||
|
|
||||||
// 更新先前选中的行为当前选中的行,以备下次比较
|
// 更新先前选中的行为当前选中的行,以备下次比较
|
||||||
previouslySelectedRows.value = selection;
|
previouslySelectedRows.value = selection
|
||||||
console.log(previouslySelectedRows.value)
|
console.log(previouslySelectedRows.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 批量分检按钮操作 */
|
/** 批量分检按钮操作 */
|
||||||
const batchhandle = async (username:string) => {
|
const batchhandle = async (username: string) => {
|
||||||
try {
|
try {
|
||||||
let orgid:string=""
|
let orgid: string = ''
|
||||||
|
|
||||||
previouslySelectedRows.value.forEach(row => {
|
previouslySelectedRows.value.forEach((row) => {
|
||||||
|
if (row.examStatus != '未分检') {
|
||||||
if(row.examStatus!="未分检")
|
message.warning('存在已经分检数据,重新选择')
|
||||||
{
|
|
||||||
message.warning("存在已经分检数据,重新选择")
|
|
||||||
throw new Error('End Loop')
|
throw new Error('End Loop')
|
||||||
}
|
}
|
||||||
orgid=row.orgId
|
orgid = row.orgId
|
||||||
|
})
|
||||||
});
|
if (previouslySelectedRows.value.length <= 0) {
|
||||||
|
message.warning('请选择需要分检的患者')
|
||||||
console.log(`orgid ${orgid} was unselected.`);
|
|
||||||
console.log(`username ${username} was unselected.`);
|
|
||||||
formRef.value.open("批量", orgid,'',0,username,previouslySelectedRows.value)
|
|
||||||
|
|
||||||
} catch {}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/** 作废按钮操作 */
|
|
||||||
const handleDelete = async (id: number,status:string) => {
|
|
||||||
try {
|
|
||||||
|
|
||||||
if(status=="已检查")
|
|
||||||
{
|
|
||||||
message.warning("已进行检查,不允许进行作废操作")
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(status=="已放弃")
|
console.log(`orgid ${orgid} was unselected.`)
|
||||||
{
|
console.log(`username ${username} was unselected.`)
|
||||||
message.warning("已作废,无需再次作废")
|
formRef.value.open('批量', orgid, '', 0, username, previouslySelectedRows.value)
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 作废按钮操作 */
|
||||||
|
const handleDelete = async (id: number, status: string) => {
|
||||||
|
try {
|
||||||
|
if (status == '已检查') {
|
||||||
|
message.warning('已进行检查,不允许进行作废操作')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (status == '已放弃') {
|
||||||
|
message.warning('已作废,无需再次作废')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 作废的二次确认
|
// 作废的二次确认
|
||||||
await message.delConfirm("是否作废选择内容")
|
await message.delConfirm('是否作废选择内容')
|
||||||
// 发起作废
|
// 发起作废
|
||||||
await ApplyformApi.cancelApplyform(id)
|
await ApplyformApi.cancelApplyform(id)
|
||||||
message.success("作废成功")
|
message.success('作废成功')
|
||||||
// 刷新列表
|
// 刷新列表
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
@ -440,9 +438,7 @@ const handleExport = async () => {
|
|||||||
}
|
}
|
||||||
//获取当前登录人信息
|
//获取当前登录人信息
|
||||||
const getlogininfo = async () => {
|
const getlogininfo = async () => {
|
||||||
|
Profilevo.value = await getUserProfile()
|
||||||
Profilevo.value= await getUserProfile()
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
@ -450,4 +446,4 @@ onMounted(() => {
|
|||||||
getlogininfo()
|
getlogininfo()
|
||||||
getList()
|
getList()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
@ -46,8 +46,15 @@
|
|||||||
<el-form-item label="第三方软件的制造商" prop="softwareManufacturer" label-width="160px">
|
<el-form-item label="第三方软件的制造商" prop="softwareManufacturer" label-width="160px">
|
||||||
<el-input v-model="formData.softwareManufacturer" placeholder="请输入第三方软件的制造商" />
|
<el-input v-model="formData.softwareManufacturer" placeholder="请输入第三方软件的制造商" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="机构编码" prop="orgId" label-width="160px">
|
<el-form-item label="机构名称" prop="orgId" label-width="160px">
|
||||||
<el-input v-model="formData.orgId" placeholder="请输入机构编码" />
|
<el-select v-model="formData.orgId" placeholder="请选择机构" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fororglistData"
|
||||||
|
:key="item.orgID"
|
||||||
|
:label="item.orgName"
|
||||||
|
:value="item.orgID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注信息" prop="remark" label-width="160px">
|
<el-form-item label="备注信息" prop="remark" label-width="160px">
|
||||||
<el-input v-model="formData.remark" placeholder="请输入备注信息" />
|
<el-input v-model="formData.remark" placeholder="请输入备注信息" />
|
||||||
@ -61,6 +68,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ApiconfigApi, ApiconfigVO } from '@/api/system/apiconfig'
|
import { ApiconfigApi, ApiconfigVO } from '@/api/system/apiconfig'
|
||||||
|
import { OrgApi } from '@/api/system/org'
|
||||||
|
|
||||||
/** 接口配置 表单 */
|
/** 接口配置 表单 */
|
||||||
defineOptions({ name: 'ApiconfigForm' })
|
defineOptions({ name: 'ApiconfigForm' })
|
||||||
@ -68,6 +76,8 @@ defineOptions({ name: 'ApiconfigForm' })
|
|||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
|
//机构数据
|
||||||
|
const fororglistData = ref<any[]>([])
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
const dialogTitle = ref('') // 弹窗的标题
|
const dialogTitle = ref('') // 弹窗的标题
|
||||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
@ -102,6 +112,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()
|
||||||
resetForm()
|
resetForm()
|
||||||
// 修改时,设置数据
|
// 修改时,设置数据
|
||||||
if (id) {
|
if (id) {
|
||||||
@ -126,17 +138,14 @@ const submitForm = async () => {
|
|||||||
try {
|
try {
|
||||||
const data = formData.value as unknown as ApiconfigVO
|
const data = formData.value as unknown as ApiconfigVO
|
||||||
if (formType.value === 'create') {
|
if (formType.value === 'create') {
|
||||||
re.value = await ApiconfigApi.createApiconfig(data)
|
re.value = await ApiconfigApi.createApiconfig(data)
|
||||||
|
|
||||||
if (re.value==='Api代码重复') {
|
if (re.value === 'Api代码重复') {
|
||||||
message.error(re.value)
|
message.error(re.value)
|
||||||
return
|
return
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
message.success(t('common.createSuccess'))
|
message.success(t('common.createSuccess'))
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
await ApiconfigApi.updateApiconfig(data)
|
await ApiconfigApi.updateApiconfig(data)
|
||||||
message.success(t('common.updateSuccess'))
|
message.success(t('common.updateSuccess'))
|
||||||
|
143
src/views/system/department/DepartmentForm.vue
Normal file
143
src/views/system/department/DepartmentForm.vue
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
<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="科室名称" prop="departmentName">
|
||||||
|
<el-input v-model="formData.departmentName" placeholder="请输入科室名称" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="科室备注" prop="departmentRemark">
|
||||||
|
<el-input v-model="formData.departmentRemark" placeholder="请输入科室备注" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="科室具体位置" prop="departmentAddress">
|
||||||
|
<el-input v-model="formData.departmentAddress" placeholder="请输入科室具体位置" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="科室代号" prop="departmentCode">
|
||||||
|
<el-input v-model="formData.departmentCode" placeholder="请输入科室代号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="机构名称" prop="orgId">
|
||||||
|
<el-select v-model="formData.orgId" placeholder="请选择机构" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fororglistData"
|
||||||
|
:key="item.orgID"
|
||||||
|
:label="item.orgName"
|
||||||
|
:value="item.orgID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</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 { DepartmentApi, DepartmentVO } from '@/api/system/department'
|
||||||
|
import { OrgApi } from '@/api/system/org'
|
||||||
|
|
||||||
|
/** 科室管理 表单 */
|
||||||
|
defineOptions({ name: 'DepartmentForm' })
|
||||||
|
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
|
//机构数据
|
||||||
|
const fororglistData = ref<any[]>([])
|
||||||
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
|
const dialogTitle = ref('') // 弹窗的标题
|
||||||
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||||
|
const formData = ref({
|
||||||
|
id: undefined,
|
||||||
|
departmentName: undefined,
|
||||||
|
createPerson: undefined,
|
||||||
|
createDate: undefined,
|
||||||
|
departmentRemark: undefined,
|
||||||
|
deletePerson: undefined,
|
||||||
|
deleteDate: undefined,
|
||||||
|
departmentAddress: undefined,
|
||||||
|
orgId: undefined,
|
||||||
|
departmentCode: undefined,
|
||||||
|
isDelete: undefined
|
||||||
|
})
|
||||||
|
const formRules = reactive({
|
||||||
|
departmentName: [{ required: true, message: '请输入科室名称', trigger: 'blur' }],
|
||||||
|
orgId: [{ required: true, message: '请选择机构', trigger: 'blur' }],
|
||||||
|
departmentCode: [{ required: true, message: '请输入科室代号', trigger: 'blur' }]
|
||||||
|
})
|
||||||
|
const formRef = ref() // 表单 Ref
|
||||||
|
//当前登录人
|
||||||
|
const name = ref()
|
||||||
|
|
||||||
|
/** 打开弹窗 */
|
||||||
|
const open = async (type: string, username: string, id?: number) => {
|
||||||
|
dialogVisible.value = true
|
||||||
|
dialogTitle.value = t('action.' + type)
|
||||||
|
formType.value = type
|
||||||
|
name.value = username
|
||||||
|
// 获取机构字典数据
|
||||||
|
fororglistData.value = await OrgApi.getOrglist()
|
||||||
|
resetForm()
|
||||||
|
// 修改时,设置数据
|
||||||
|
if (id) {
|
||||||
|
formLoading.value = true
|
||||||
|
try {
|
||||||
|
formData.value = await DepartmentApi.getDepartment(id)
|
||||||
|
} finally {
|
||||||
|
formLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||||
|
|
||||||
|
/** 提交表单 */
|
||||||
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
||||||
|
const submitForm = async () => {
|
||||||
|
// 校验表单
|
||||||
|
await formRef.value.validate()
|
||||||
|
// 提交请求
|
||||||
|
formLoading.value = true
|
||||||
|
try {
|
||||||
|
formData.value.createPerson = name.value
|
||||||
|
const data = formData.value as unknown as DepartmentVO
|
||||||
|
if (formType.value === 'create') {
|
||||||
|
await DepartmentApi.createDepartment(data)
|
||||||
|
message.success(t('common.createSuccess'))
|
||||||
|
} else {
|
||||||
|
await DepartmentApi.updateDepartment(data)
|
||||||
|
message.success(t('common.updateSuccess'))
|
||||||
|
}
|
||||||
|
dialogVisible.value = false
|
||||||
|
// 发送操作成功的事件
|
||||||
|
emit('success')
|
||||||
|
} finally {
|
||||||
|
formLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 重置表单 */
|
||||||
|
const resetForm = () => {
|
||||||
|
formData.value = {
|
||||||
|
id: undefined,
|
||||||
|
departmentName: undefined,
|
||||||
|
createPerson: undefined,
|
||||||
|
createDate: undefined,
|
||||||
|
departmentRemark: undefined,
|
||||||
|
deletePerson: undefined,
|
||||||
|
deleteDate: undefined,
|
||||||
|
departmentAddress: undefined,
|
||||||
|
orgId: undefined,
|
||||||
|
departmentCode: undefined,
|
||||||
|
isDelete: undefined
|
||||||
|
}
|
||||||
|
formRef.value?.resetFields()
|
||||||
|
}
|
||||||
|
</script>
|
197
src/views/system/department/index.vue
Normal file
197
src/views/system/department/index.vue
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
<template>
|
||||||
|
<ContentWrap>
|
||||||
|
<!-- 搜索工作栏 -->
|
||||||
|
<el-form
|
||||||
|
class="-mb-15px"
|
||||||
|
:model="queryParams"
|
||||||
|
ref="queryFormRef"
|
||||||
|
:inline="true"
|
||||||
|
label-width="68px"
|
||||||
|
>
|
||||||
|
<el-form-item label="科室名称" prop="departmentName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.departmentName"
|
||||||
|
placeholder="请输入科室名称"
|
||||||
|
clearable
|
||||||
|
@keyup.enter="handleQuery"
|
||||||
|
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',Profilevo.username)"
|
||||||
|
v-hasPermi="['system:department:create']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
plain
|
||||||
|
@click="handleExport"
|
||||||
|
:loading="exportLoading"
|
||||||
|
v-hasPermi="['system:department: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">
|
||||||
|
<el-table-column label="主键" align="center" prop="id" v-if="false"/>
|
||||||
|
<el-table-column label="科室名称" align="center" prop="departmentName" />
|
||||||
|
<el-table-column label="创建人" align="center" prop="createPerson" />
|
||||||
|
<el-table-column
|
||||||
|
label="创建时间"
|
||||||
|
align="center"
|
||||||
|
prop="createDate"
|
||||||
|
:formatter="dateFormatter"
|
||||||
|
width="180px"
|
||||||
|
/>
|
||||||
|
<el-table-column label="科室备注" align="center" prop="departmentRemark" />
|
||||||
|
<el-table-column label="删除操作人" align="center" prop="deletePerson" v-if="false"/>
|
||||||
|
<el-table-column
|
||||||
|
label="删除时间"
|
||||||
|
align="center"
|
||||||
|
prop="deleteDate"
|
||||||
|
:formatter="dateFormatter"
|
||||||
|
width="180px"
|
||||||
|
v-if="false"
|
||||||
|
/>
|
||||||
|
<el-table-column label="科室具体位置" align="center" prop="departmentAddress" />
|
||||||
|
<el-table-column label="机构编码" align="center" prop="orgId" />
|
||||||
|
<el-table-column label="科室代号" align="center" prop="departmentCode" />
|
||||||
|
<el-table-column label="删除标记:1为删除" align="center" prop="isDelete" v-if="false"/>
|
||||||
|
<el-table-column label="操作" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-button
|
||||||
|
link
|
||||||
|
type="primary"
|
||||||
|
@click="openForm('update',Profilevo.username, scope.row.id)"
|
||||||
|
v-hasPermi="['system:department:update']"
|
||||||
|
>
|
||||||
|
编辑
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
link
|
||||||
|
type="danger"
|
||||||
|
@click="handleDelete(scope.row.id)"
|
||||||
|
v-hasPermi="['system:department: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>
|
||||||
|
|
||||||
|
<!-- 表单弹窗:添加/修改 -->
|
||||||
|
<DepartmentForm ref="formRef" @success="getList" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { dateFormatter } from '@/utils/formatTime'
|
||||||
|
import download from '@/utils/download'
|
||||||
|
import { DepartmentApi, DepartmentVO } from '@/api/system/department'
|
||||||
|
import DepartmentForm from './DepartmentForm.vue'
|
||||||
|
import { getUserProfile, ProfileVO } from '@/api/system/user/profile'
|
||||||
|
/** 科室管理 列表 */
|
||||||
|
defineOptions({ name: 'Department' })
|
||||||
|
|
||||||
|
const message = useMessage() // 消息弹窗
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
//当前登录人信息
|
||||||
|
const Profilevo = ref<ProfileVO>({} as ProfileVO)
|
||||||
|
const loading = ref(true) // 列表的加载中
|
||||||
|
const list = ref<DepartmentVO[]>([]) // 列表的数据
|
||||||
|
const total = ref(0) // 列表的总页数
|
||||||
|
const queryParams = reactive({
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
departmentName: undefined,
|
||||||
|
orgId: undefined,
|
||||||
|
})
|
||||||
|
const queryFormRef = ref() // 搜索的表单
|
||||||
|
const exportLoading = ref(false) // 导出的加载中
|
||||||
|
|
||||||
|
/** 查询列表 */
|
||||||
|
const getList = async () => {
|
||||||
|
loading.value = true
|
||||||
|
try {
|
||||||
|
const data = await DepartmentApi.getDepartmentPage(queryParams)
|
||||||
|
list.value = data.list
|
||||||
|
total.value = data.total
|
||||||
|
} finally {
|
||||||
|
loading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
const handleQuery = () => {
|
||||||
|
queryParams.pageNo = 1
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
const resetQuery = () => {
|
||||||
|
queryFormRef.value.resetFields()
|
||||||
|
handleQuery()
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 添加/修改操作 */
|
||||||
|
const formRef = ref()
|
||||||
|
const openForm = (type: string, username:string, id?: number) => {
|
||||||
|
formRef.value.open(type,username, id)
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
const handleDelete = async (id: number) => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起删除
|
||||||
|
await DepartmentApi.deleteDepartment(id)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
const handleExport = async () => {
|
||||||
|
try {
|
||||||
|
// 导出的二次确认
|
||||||
|
await message.exportConfirm()
|
||||||
|
// 发起导出
|
||||||
|
exportLoading.value = true
|
||||||
|
const data = await DepartmentApi.exportDepartment(queryParams)
|
||||||
|
download.excel(data, '科室管理.xls')
|
||||||
|
} catch {
|
||||||
|
} finally {
|
||||||
|
exportLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取当前登录人信息
|
||||||
|
const getlogininfo = async () => {
|
||||||
|
Profilevo.value = await getUserProfile()
|
||||||
|
}
|
||||||
|
/** 初始化 **/
|
||||||
|
onMounted(() => {
|
||||||
|
getlogininfo()
|
||||||
|
getList()
|
||||||
|
})
|
||||||
|
</script>
|
@ -69,8 +69,14 @@
|
|||||||
<el-option label="主任医师" value="主任医师" />
|
<el-option label="主任医师" value="主任医师" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="机构编号" prop="orgId">
|
<el-form-item label="机构名称" prop="orgId">
|
||||||
<el-input v-model="formData.orgId" placeholder="请输入机构ID" />
|
<el-select
|
||||||
|
v-model="formData.orgId"
|
||||||
|
placeholder="请选择机构"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option v-for="item in fororglistData" :key="item.orgID" :label="item.orgName" :value="item.orgID" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
@ -83,6 +89,8 @@
|
|||||||
import { Api, VO, baseFile } from '@/api/system/doctor'
|
import { Api, VO, baseFile } from '@/api/system/doctor'
|
||||||
import { error } from 'console'
|
import { error } from 'console'
|
||||||
import type { UploadProps, UploadUserFile } from 'element-plus'
|
import type { UploadProps, UploadUserFile } from 'element-plus'
|
||||||
|
import { OrgApi } from '@/api/system/org'
|
||||||
|
|
||||||
//存放base64
|
//存放base64
|
||||||
const imageBase64 = ref()
|
const imageBase64 = ref()
|
||||||
//存放要上传的文件名称
|
//存放要上传的文件名称
|
||||||
@ -90,7 +98,8 @@ const imagefilename = ref()
|
|||||||
|
|
||||||
/** 医生管理 表单 */
|
/** 医生管理 表单 */
|
||||||
defineOptions({ name: 'Form' })
|
defineOptions({ name: 'Form' })
|
||||||
|
//机构数据
|
||||||
|
const fororglistData = ref<any[]>([])
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
@ -127,6 +136,9 @@ const open = async (type: string, id?: number) => {
|
|||||||
dialogTitle.value = t('action.' + type)
|
dialogTitle.value = t('action.' + type)
|
||||||
formType.value = type
|
formType.value = type
|
||||||
resetForm()
|
resetForm()
|
||||||
|
// 获取机构字典数据
|
||||||
|
fororglistData.value=await OrgApi.getOrglist()
|
||||||
|
|
||||||
// 修改时,设置数据
|
// 修改时,设置数据
|
||||||
if (id) {
|
if (id) {
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
|
@ -42,8 +42,15 @@
|
|||||||
<el-form-item label="检查部位代码" prop="examPartCode" label-width="111px">
|
<el-form-item label="检查部位代码" prop="examPartCode" label-width="111px">
|
||||||
<el-input v-model="formData.examPartCode" placeholder="请选择检查部位代码" />
|
<el-input v-model="formData.examPartCode" placeholder="请选择检查部位代码" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="机构编号" prop="orgId" label-width="111px">
|
<el-form-item label="机构名称" prop="orgId" label-width="111px">
|
||||||
<el-input v-model="formData.orgId" placeholder="请输入机构编号" />
|
<el-select v-model="formData.orgId" placeholder="请选择机构" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fororglistData"
|
||||||
|
:key="item.orgID"
|
||||||
|
:label="item.orgName"
|
||||||
|
:value="item.orgID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="第三方系统的检查项目的CODE" prop="thirdPartyExamItemCode" v-if="false">
|
<el-form-item label="第三方系统的检查项目的CODE" prop="thirdPartyExamItemCode" v-if="false">
|
||||||
<el-input
|
<el-input
|
||||||
@ -76,13 +83,15 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { examitemsApi, examitemsVO } from '@/api/system/examitems'
|
import { examitemsApi, examitemsVO } from '@/api/system/examitems'
|
||||||
|
import { OrgApi } from '@/api/system/org'
|
||||||
/** 检查部位 表单 */
|
/** 检查部位 表单 */
|
||||||
defineOptions({ name: 'ExamitemsForm' })
|
defineOptions({ name: 'ExamitemsForm' })
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
|
//机构数据
|
||||||
|
const fororglistData = ref<any[]>([])
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
const dialogTitle = ref('') // 弹窗的标题
|
const dialogTitle = ref('') // 弹窗的标题
|
||||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
@ -115,6 +124,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()
|
||||||
resetForm()
|
resetForm()
|
||||||
// 修改时,设置数据
|
// 修改时,设置数据
|
||||||
if (id) {
|
if (id) {
|
||||||
@ -140,21 +151,20 @@ const submitForm = async () => {
|
|||||||
const re = ref()
|
const re = ref()
|
||||||
if (formType.value === 'create') {
|
if (formType.value === 'create') {
|
||||||
re.value = await examitemsApi.createexamitems(data)
|
re.value = await examitemsApi.createexamitems(data)
|
||||||
if (re.value ==='项目ID已经存在') {
|
if (re.value === '项目ID已经存在') {
|
||||||
message.error(re.value)
|
message.error(re.value)
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
message.success(t('common.createSuccess'))
|
message.success(t('common.createSuccess'))
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
await examitemsApi.updateexamitems(data)
|
await examitemsApi.updateexamitems(data)
|
||||||
message.success(t('common.updateSuccess'))
|
message.success(t('common.updateSuccess'))
|
||||||
}
|
}
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|
||||||
// 发送操作成功的事件
|
// 发送操作成功的事件
|
||||||
emit('success')
|
emit('success')
|
||||||
} finally {
|
} finally {
|
||||||
formLoading.value = false
|
formLoading.value = false
|
||||||
}
|
}
|
||||||
|
@ -116,7 +116,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
@click="openForm('create')"
|
@click="openForm('create')"
|
||||||
v-hasPermi="['org:org:create']"
|
v-hasPermi="['org::create']"
|
||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -126,7 +126,7 @@
|
|||||||
plain
|
plain
|
||||||
@click="handleExport"
|
@click="handleExport"
|
||||||
:loading="exportLoading"
|
:loading="exportLoading"
|
||||||
v-hasPermi="['org:org:export']"
|
v-hasPermi="['org::export']"
|
||||||
>
|
>
|
||||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
<Icon icon="ep:download" class="mr-5px" /> 导出
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -162,7 +162,7 @@
|
|||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="openForm('update', scope.row.orgID)"
|
@click="openForm('update', scope.row.orgID)"
|
||||||
v-hasPermi="['org:org:update']"
|
v-hasPermi="['org::update']"
|
||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -170,7 +170,7 @@
|
|||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="openOrgSuperiorForm(scope.row.orgID)"
|
@click="openOrgSuperiorForm(scope.row.orgID)"
|
||||||
v-hasPermi="['org:org:update']"
|
v-hasPermi="['org::update']"
|
||||||
>
|
>
|
||||||
上级机构设置
|
上级机构设置
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -178,7 +178,7 @@
|
|||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="openorgwxForm(scope.row.orgID)"
|
@click="openorgwxForm(scope.row.orgID)"
|
||||||
v-hasPermi="['org:org:update']"
|
v-hasPermi="['org::update']"
|
||||||
>
|
>
|
||||||
微信通知设置
|
微信通知设置
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -186,7 +186,7 @@
|
|||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@click="handleDelete(scope.row.orgID)"
|
@click="handleDelete(scope.row.orgID)"
|
||||||
v-hasPermi="['org:org:delete']"
|
v-hasPermi="['org::delete']"
|
||||||
>
|
>
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
@ -81,6 +81,21 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="机构名称" prop="orgId" >
|
||||||
|
<el-select v-model="formData.orgId" placeholder="请选择机构" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fororglistData"
|
||||||
|
:key="item.orgID"
|
||||||
|
:label="item.orgName"
|
||||||
|
:value="item.orgID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="备注">
|
<el-form-item label="备注">
|
||||||
@ -103,12 +118,13 @@ import * as PostApi from '@/api/system/post'
|
|||||||
import * as DeptApi from '@/api/system/dept'
|
import * as DeptApi from '@/api/system/dept'
|
||||||
import * as UserApi from '@/api/system/user'
|
import * as UserApi from '@/api/system/user'
|
||||||
import { FormRules } from 'element-plus'
|
import { FormRules } from 'element-plus'
|
||||||
|
import { OrgApi } from '@/api/system/org'
|
||||||
defineOptions({ name: 'SystemUserForm' })
|
defineOptions({ name: 'SystemUserForm' })
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
//机构数据
|
||||||
|
const fororglistData = ref<any[]>([])
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
const dialogTitle = ref('') // 弹窗的标题
|
const dialogTitle = ref('') // 弹窗的标题
|
||||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
@ -125,12 +141,14 @@ const formData = ref({
|
|||||||
postIds: [],
|
postIds: [],
|
||||||
remark: '',
|
remark: '',
|
||||||
status: CommonStatusEnum.ENABLE,
|
status: CommonStatusEnum.ENABLE,
|
||||||
roleIds: []
|
roleIds: [],
|
||||||
|
orgId:''
|
||||||
})
|
})
|
||||||
const formRules = reactive<FormRules>({
|
const formRules = reactive<FormRules>({
|
||||||
username: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }],
|
username: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }],
|
||||||
nickname: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }],
|
nickname: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }],
|
||||||
password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }],
|
password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }],
|
||||||
|
orgId: [{ required: true, message: '机构不能为空', trigger: 'blur' }],
|
||||||
email: [
|
email: [
|
||||||
{
|
{
|
||||||
type: 'email',
|
type: 'email',
|
||||||
@ -155,6 +173,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()
|
||||||
resetForm()
|
resetForm()
|
||||||
// 修改时,设置数据
|
// 修改时,设置数据
|
||||||
if (id) {
|
if (id) {
|
||||||
@ -212,7 +232,8 @@ const resetForm = () => {
|
|||||||
postIds: [],
|
postIds: [],
|
||||||
remark: '',
|
remark: '',
|
||||||
status: CommonStatusEnum.ENABLE,
|
status: CommonStatusEnum.ENABLE,
|
||||||
roleIds: []
|
roleIds: [],
|
||||||
|
orgId:''
|
||||||
}
|
}
|
||||||
formRef.value?.resetFields()
|
formRef.value?.resetFields()
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
v-loading="formLoading"
|
v-loading="formLoading"
|
||||||
>
|
>
|
||||||
<el-form-item label="微信号userid" prop="wxUserid" label-width="130px" style="">
|
<el-form-item label="微信号userid" prop="wxUserid" label-width="130px" style="">
|
||||||
<el-input v-model="formData.wxUserid" placeholder="请输入微信号userid" :disabled="true"/>
|
<el-input v-model="formData.wxUserid" placeholder="请输入微信号userid" :disabled="true" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="电话号码" prop="bindTel" label-width="130px">
|
<el-form-item label="电话号码" prop="bindTel" label-width="130px">
|
||||||
<el-input v-model="formData.bindTel" placeholder="请输入电话号码" />
|
<el-input v-model="formData.bindTel" placeholder="请输入电话号码" />
|
||||||
@ -27,8 +27,15 @@
|
|||||||
<el-form-item label="备注" prop="remark" label-width="130px">
|
<el-form-item label="备注" prop="remark" label-width="130px">
|
||||||
<el-input v-model="formData.remark" placeholder="请输入备注" />
|
<el-input v-model="formData.remark" placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="机构编码" prop="orgId" label-width="130px">
|
<el-form-item label="机构名称" prop="orgId" label-width="130px">
|
||||||
<el-input v-model="formData.orgId" placeholder="请输入机构编码" />
|
<el-select v-model="formData.orgId" placeholder="请选择机构" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fororglistData"
|
||||||
|
:key="item.orgID"
|
||||||
|
:label="item.orgName"
|
||||||
|
:value="item.orgID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
@ -39,6 +46,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { WxApi, WxVO } from '@/api/system/wx'
|
import { WxApi, WxVO } from '@/api/system/wx'
|
||||||
|
import { OrgApi } from '@/api/system/org'
|
||||||
|
|
||||||
/** 微信通知管理 表单 */
|
/** 微信通知管理 表单 */
|
||||||
defineOptions({ name: 'WxForm' })
|
defineOptions({ name: 'WxForm' })
|
||||||
@ -46,6 +54,8 @@ defineOptions({ name: 'WxForm' })
|
|||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
|
//机构数据
|
||||||
|
const fororglistData = ref<any[]>([])
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
const dialogTitle = ref('') // 弹窗的标题
|
const dialogTitle = ref('') // 弹窗的标题
|
||||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
@ -57,10 +67,9 @@ const formData = ref({
|
|||||||
personName: undefined,
|
personName: undefined,
|
||||||
createDate: undefined,
|
createDate: undefined,
|
||||||
remark: undefined,
|
remark: undefined,
|
||||||
orgId: undefined,
|
orgId: undefined
|
||||||
})
|
})
|
||||||
const formRules = reactive({
|
const formRules = reactive({
|
||||||
|
|
||||||
wxUserid: [{ required: true, message: '请输入微信号userid', trigger: 'blur' }],
|
wxUserid: [{ required: true, message: '请输入微信号userid', trigger: 'blur' }],
|
||||||
bindTel: [{ required: true, message: '请输入电话号码', trigger: 'blur' }],
|
bindTel: [{ required: true, message: '请输入电话号码', trigger: 'blur' }],
|
||||||
personName: [{ required: true, message: '请输入所属人的姓名', trigger: 'blur' }],
|
personName: [{ required: true, message: '请输入所属人的姓名', trigger: 'blur' }],
|
||||||
@ -73,6 +82,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()
|
||||||
resetForm()
|
resetForm()
|
||||||
// 修改时,设置数据
|
// 修改时,设置数据
|
||||||
if (id) {
|
if (id) {
|
||||||
@ -119,8 +130,8 @@ const resetForm = () => {
|
|||||||
personName: undefined,
|
personName: undefined,
|
||||||
createDate: undefined,
|
createDate: undefined,
|
||||||
remark: undefined,
|
remark: undefined,
|
||||||
orgId: undefined,
|
orgId: undefined
|
||||||
}
|
}
|
||||||
formRef.value?.resetFields()
|
formRef.value?.resetFields()
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<Dialog :title="dialogTitle" v-model="dialogVisible" class="custom-dialog">
|
<el-dialog
|
||||||
|
v-model="dialogVisible"
|
||||||
|
:title="dialogTitle"
|
||||||
|
class="my-custom-close-icon"
|
||||||
|
:fullscreen="true"
|
||||||
|
>
|
||||||
|
<!-- <Dialog :title="dialogTitle" v-model="dialogVisible" class="custom-dialog"> -->
|
||||||
<!-- <el-form
|
<!-- <el-form
|
||||||
ref="Print"
|
ref="Print"
|
||||||
:model=applyFormVO
|
:model=applyFormVO
|
||||||
@ -7,13 +13,12 @@
|
|||||||
label-width="100px"
|
label-width="100px"
|
||||||
v-loading="formLoading"
|
v-loading="formLoading"
|
||||||
> -->
|
> -->
|
||||||
<div class="container">
|
<div class="my-container">
|
||||||
<div class="left">
|
<div class="my-left">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="fordevicemValue"
|
v-model="fordevicemValue"
|
||||||
placeholder="请选择模版类别"
|
placeholder="请选择模版类别"
|
||||||
clearable
|
clearable
|
||||||
class="!w-230px"
|
|
||||||
@change="handleselectchange"
|
@change="handleselectchange"
|
||||||
@clear="selectclear"
|
@clear="selectclear"
|
||||||
>
|
>
|
||||||
@ -22,11 +27,11 @@
|
|||||||
<el-option label="体检" value="体检模版" />
|
<el-option label="体检" value="体检模版" />
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|
||||||
<el-tabs type="border-card" style="height: 931px">
|
<el-tabs type="border-card" style="height: calc(100% - 32px)">
|
||||||
<el-tab-pane label="通用模版">
|
<el-tab-pane label="通用模版">
|
||||||
<!-- 树 -->
|
<!-- 树 -->
|
||||||
<el-tree
|
<el-tree
|
||||||
style="min-width: 195px"
|
style="min-width: 195px;"
|
||||||
v-loading="formLoading"
|
v-loading="formLoading"
|
||||||
class="treeStyle"
|
class="treeStyle"
|
||||||
:check-on-click-node="true"
|
:check-on-click-node="true"
|
||||||
@ -57,108 +62,118 @@
|
|||||||
:show-checkbox="false"
|
:show-checkbox="false"
|
||||||
:check-strictly="true"
|
:check-strictly="true"
|
||||||
@node-click="handleTreeNodeClick"
|
@node-click="handleTreeNodeClick"
|
||||||
|
|
||||||
ref="priselectTree"
|
ref="priselectTree"
|
||||||
:expand-on-click-node="false"
|
:expand-on-click-node="false"
|
||||||
/>
|
/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
<div class="middle">
|
<div class="my-middle">
|
||||||
<!--用户信息区域-->
|
<!--用户信息区域-->
|
||||||
|
|
||||||
<el-tabs
|
<el-tabs
|
||||||
v-model="activeName"
|
v-model="activeName"
|
||||||
class="demo-tabs"
|
class="demo-tabs"
|
||||||
type="border-card"
|
type="border-card"
|
||||||
style="height: 963px"
|
style="height: 100%"
|
||||||
@tab-change="handleTabChange"
|
@tab-change="handleTabChange"
|
||||||
>
|
>
|
||||||
<el-tab-pane label="用户信息" name="first">
|
<el-tab-pane label="用户信息" name="first">
|
||||||
<el-form
|
<div class="my-app-container">
|
||||||
:model="applyFormVO"
|
<el-form
|
||||||
label-width="auto"
|
:model="applyFormVO"
|
||||||
style="max-width: 900px"
|
label-width="auto"
|
||||||
:inline="true"
|
style="max-width: 900px"
|
||||||
>
|
:inline="true"
|
||||||
<el-row>
|
>
|
||||||
<el-col :span="8">
|
<el-row>
|
||||||
<el-form-item label="检查号">
|
<el-col :span="8">
|
||||||
<el-input v-model="applyFormVO.examId" style="width: 180px" :disabled="true" />
|
<el-form-item label="检查号" style="font-weight: bold">
|
||||||
</el-form-item>
|
<el-input
|
||||||
</el-col>
|
v-model="applyFormVO.examId"
|
||||||
<el-col :span="8">
|
style="width: 190px"
|
||||||
<el-form-item label="姓名">
|
:disabled="true"
|
||||||
<el-input v-model="applyFormVO.pname" style="width: 180px" :disabled="true" />
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="性别">
|
<el-form-item label="姓名" style="font-weight: bold">
|
||||||
<el-input v-model="applyFormVO.gender" style="width: 180px" :disabled="true" />
|
<el-input v-model="applyFormVO.pname" style="width: 190px" :disabled="true" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="出生日期">
|
<el-form-item label="性别" style="font-weight: bold">
|
||||||
<el-date-picker
|
<el-input
|
||||||
v-model="applyFormVO.birthday"
|
v-model="applyFormVO.gender"
|
||||||
type="date"
|
style="width: 190px"
|
||||||
placeholder="出生日期"
|
:disabled="true"
|
||||||
size="default"
|
/>
|
||||||
style="width: 180px"
|
</el-form-item>
|
||||||
:disabled="true"
|
</el-col>
|
||||||
/>
|
<el-col :span="8">
|
||||||
</el-form-item>
|
<el-form-item label="出生日期" style="font-weight: bold">
|
||||||
</el-col>
|
<el-date-picker
|
||||||
<el-col :span="8">
|
v-model="applyFormVO.birthday"
|
||||||
<el-form-item label="检查时间">
|
type="date"
|
||||||
<el-date-picker
|
placeholder="出生日期"
|
||||||
v-model="applyFormVO.examDate"
|
size="default"
|
||||||
type="datetime"
|
style="width: 190px"
|
||||||
placeholder="检查时间"
|
:disabled="true"
|
||||||
size="default"
|
/>
|
||||||
style="width: 180px"
|
</el-form-item>
|
||||||
:disabled="true"
|
</el-col>
|
||||||
/>
|
<el-col :span="8">
|
||||||
</el-form-item>
|
<el-form-item label="检查时间" style="font-weight: bold">
|
||||||
</el-col>
|
<el-date-picker
|
||||||
<el-col :span="8">
|
v-model="applyFormVO.examDate"
|
||||||
<el-form-item label="检查项目名称">
|
type="datetime"
|
||||||
<el-input
|
placeholder="检查时间"
|
||||||
v-model="applyFormVO.examItemName"
|
size="default"
|
||||||
style="width: 180px"
|
style="width: 190px"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="检查项目名称" style="font-weight: bold">
|
||||||
|
<el-input
|
||||||
|
v-model="applyFormVO.examItemName"
|
||||||
|
style="width: 190px"
|
||||||
|
:disabled="true"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="申请时间" style="font-weight: bold">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="applyFormVO.applicationDate"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="检查时间"
|
||||||
|
size="default"
|
||||||
|
style="width: 190px"
|
||||||
|
:disabled="true"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="申请单号" style="font-weight: bold">
|
||||||
|
<el-input v-model="applyFormVO.regId" style="width: 190px" :disabled="true" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="送检科室" style="font-weight: bold">
|
||||||
|
<el-input
|
||||||
|
v-model="applyFormVO.billDoctorDepartment"
|
||||||
|
style="width: 190px"
|
||||||
|
:disabled="true"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="申请时间">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="applyFormVO.applicationDate"
|
|
||||||
type="datetime"
|
|
||||||
placeholder="检查时间"
|
|
||||||
size="default"
|
|
||||||
style="width: 180px"
|
|
||||||
:disabled="true"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="申请单号">
|
|
||||||
<el-input v-model="applyFormVO.regId" style="width: 180px" :disabled="true" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="送检科室">
|
|
||||||
<el-input
|
|
||||||
v-model="applyFormVO.billDoctorDepartment"
|
|
||||||
style="width: 180px"
|
|
||||||
:disabled="true"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
<el-divider />
|
<el-divider />
|
||||||
<!--图片显示区域-->
|
<!--图片显示区域-->
|
||||||
<div class="demo-image">
|
<div class="demo-image">
|
||||||
@ -190,25 +205,25 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
<el-divider />
|
<el-divider />
|
||||||
<label style="text-align: center">检查所见</label>
|
<label style="text-align: center; font-size: 17px; font-weight: bold">检查所见</label>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="sj"
|
v-model="sj"
|
||||||
style="max-width: 100%; width: 100%"
|
style="width: 100%"
|
||||||
:rows="4"
|
:rows="8"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
placeholder="检查所见"
|
placeholder="检查所见"
|
||||||
/>
|
/>
|
||||||
<el-divider />
|
<el-divider />
|
||||||
<label>诊断结论</label>
|
<label style="font-size: 17px; font-weight: bold">诊断结论</label>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="zdjl"
|
v-model="zdjl"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:rows="4"
|
:rows="8"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
placeholder="诊断结论"
|
placeholder="诊断结论"
|
||||||
/>
|
/>
|
||||||
<el-divider />
|
<el-divider />
|
||||||
<label>报告备注</label>
|
<label style="font-size: 17px; font-weight: bold">报告备注</label>
|
||||||
<el-input v-model="notes" style="width: 100%" placeholder="" />
|
<el-input v-model="notes" style="width: 100%" placeholder="" />
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="radio1"
|
v-model="radio1"
|
||||||
@ -239,8 +254,6 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--:disabled="applyFormVO.reportstatus === '已审核' ? true : false"-->
|
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
@ -252,8 +265,8 @@
|
|||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="报告" name="report">
|
<el-tab-pane label="报告" name="report">
|
||||||
<!--报告区域-->
|
<!--报告区域-->
|
||||||
<div class="flex-center" id="printMe">
|
<div class="flex-center" id="printMe" style="height: 100%">
|
||||||
<div class="ultrasound-report" id="PDF" style="height: 750px">
|
<div class="ultrasound-report" id="PDF">
|
||||||
<h2>超声检查报告单</h2>
|
<h2>超声检查报告单</h2>
|
||||||
<hr />
|
<hr />
|
||||||
<div class="patient-info">
|
<div class="patient-info">
|
||||||
@ -300,7 +313,7 @@
|
|||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
class="ignore-print"
|
class="ignore-print"
|
||||||
style="width: 100px"
|
style="width: 100px"
|
||||||
:disabled="formLoading"
|
:disabled="formLoading"
|
||||||
@click="() => htmlToPdf.getPdf('超声报告单', '#PDF')"
|
@click="() => htmlToPdf.getPdf('超声报告单', '#PDF')"
|
||||||
@ -312,57 +325,52 @@
|
|||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
<div class="right" style="border: 1px solid #dcdfe6; padding: 2px; height: 960px">
|
<div class="my-right" style="border: 1px solid #dcdfe6; height: 100%">
|
||||||
<!--图片区域-->
|
<!--图片区域-->
|
||||||
<div>
|
<div style="width: 100%">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
style="width: 220px"
|
style="width: 100%"
|
||||||
@click="upimagedeleteor()"
|
@click="upimagedeleteor()"
|
||||||
:disabled="applyFormVO.reportstatus === '已审核' ? true : false"
|
:disabled="applyFormVO.reportstatus === '已审核' ? true : false"
|
||||||
>图像删除</el-button
|
>图像删除</el-button
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div style="width: 100%">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
style="width: 220px"
|
style="width: 100%"
|
||||||
@click="getimages"
|
@click="getimages"
|
||||||
:disabled="applyFormVO.reportstatus === '已审核' ? true : false"
|
:disabled="applyFormVO.reportstatus === '已审核' ? true : false"
|
||||||
>图像刷新</el-button
|
>图像刷新</el-button
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="image-container">
|
<div class="image-container image-wrapper image-item-container">
|
||||||
<div class="image-wrapper">
|
<el-image
|
||||||
<div class="image-item-container" v-for="image in images" :key="image.id">
|
class="image-item"
|
||||||
<el-image
|
v-for="image in images"
|
||||||
class="image-item"
|
:key="image.id"
|
||||||
:src="image.imgUrl"
|
:src="image.imgUrl"
|
||||||
@dblclick="selectImage(image.imgUrl, image.id)"
|
@dblclick="selectImage(image.imgUrl, image.id)"
|
||||||
@click="chooseImage($event, image.id)"
|
@click="chooseImage($event, image.id)"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</el-dialog>
|
||||||
<!-- </el-form> -->
|
<!-- </Dialog> -->
|
||||||
<template #footer>
|
|
||||||
<el-button @click="dialogVisible = false">关闭</el-button>
|
|
||||||
</template>
|
|
||||||
</Dialog>
|
|
||||||
<!-- 弹窗-->
|
<!-- 弹窗-->
|
||||||
<el-dialog v-model="dialogTableVisible" title="选择结论添加方式" width="300" align-center>
|
<el-dialog v-model="dialogTableVisible" title="选择结论添加方式" width="320" align-center>
|
||||||
<div>
|
<div>
|
||||||
<el-button @click="handleButtonClick('覆盖')" type="primary">覆盖</el-button>
|
<el-button @click="handleButtonClick('覆盖')" type="primary" style="font-size: 20px;">覆盖</el-button>
|
||||||
<el-button @click="handleButtonClick('追加')" type="success">追加</el-button>
|
<el-button @click="handleButtonClick('追加')" type="success" style="font-size: 20px;">追加</el-button>
|
||||||
<el-button @click="dialogTableVisible = false" type="info">关闭</el-button>
|
<el-button @click="dialogTableVisible = false" type="info" style="font-size: 20px;">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ApplyformApi, ApplyformVO, UPFJApplyformVO } from '@/api/applyregistration/applyform'
|
import { ApplyformApi, ApplyformVO, UPFJApplyformVO } from '@/api/applyregistration/applyform'
|
||||||
import { ultrasoniccomApi, updateexamineimageVO } from '@/api/ultrasoniccom'
|
import { ultrasoniccomApi, updateexamineimageVO } from '@/api/ultrasoniccom'
|
||||||
@ -386,10 +394,8 @@ const dialogTitle = ref('') // 弹窗的标题
|
|||||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
const examineFormVO = ref<PatientexamlistVO>({} as PatientexamlistVO)
|
const examineFormVO = ref<PatientexamlistVO>({} as PatientexamlistVO)
|
||||||
|
|
||||||
|
|
||||||
//点击节点更新使用时间
|
//点击节点更新使用时间
|
||||||
const clickuptime =async (pid:string)=>
|
const clickuptime = async (pid: string) => {
|
||||||
{
|
|
||||||
await ultrasoniccomApi.upreporttemplatetime(pid)
|
await ultrasoniccomApi.upreporttemplatetime(pid)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -409,7 +415,7 @@ const handleButtonClick = (buttonName) => {
|
|||||||
sj.value = lssj + strsj
|
sj.value = lssj + strsj
|
||||||
}
|
}
|
||||||
dialogTableVisible.value = false
|
dialogTableVisible.value = false
|
||||||
console.log("获取到父节点"+pid);
|
console.log('获取到父节点' + pid)
|
||||||
clickuptime(pid)
|
clickuptime(pid)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -654,13 +660,13 @@ const treeDefaultProps = {
|
|||||||
//当前选中节点的值
|
//当前选中节点的值
|
||||||
let strzdjl: string = ''
|
let strzdjl: string = ''
|
||||||
let strsj: string = ''
|
let strsj: string = ''
|
||||||
let pid:string=''//当前节点的父id
|
let pid: string = '' //当前节点的父id
|
||||||
// 树节点选中事件
|
// 树节点选中事件
|
||||||
const handleTreeNodeClick = async (data) => {
|
const handleTreeNodeClick = async (data) => {
|
||||||
strzdjl = data.diagResults
|
strzdjl = data.diagResults
|
||||||
strsj = data.examDescription
|
strsj = data.examDescription
|
||||||
pid=data.pid
|
pid = data.pid
|
||||||
console.log("父节点"+data.pid)
|
console.log('父节点' + data.pid)
|
||||||
dialogTableVisible.value = true
|
dialogTableVisible.value = true
|
||||||
}
|
}
|
||||||
//下拉选择事件
|
//下拉选择事件
|
||||||
@ -751,15 +757,12 @@ const getlogininfo = async () => {
|
|||||||
Profilevo.value = await getUserProfile()
|
Profilevo.value = await getUserProfile()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** 重置表单 */
|
/** 重置表单 */
|
||||||
const resetForm = () => {
|
const resetForm = () => {
|
||||||
applyFormVO.value={} as PatientexamlistVO
|
applyFormVO.value = {} as PatientexamlistVO
|
||||||
pid=''
|
pid = ''
|
||||||
strzdjl= ''
|
strzdjl = ''
|
||||||
strsj = ''
|
strsj = ''
|
||||||
activeName.value = 'first'
|
activeName.value = 'first'
|
||||||
deleteimageid.value = ''
|
deleteimageid.value = ''
|
||||||
updateexamineimage.value = []
|
updateexamineimage.value = []
|
||||||
@ -802,24 +805,28 @@ const chooseImage = (event, id: number) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.container {
|
.my-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 950px;
|
height: 1200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.left {
|
.my-container * {
|
||||||
flex: 0 0 200px; /* 固定宽度 */
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-left {
|
||||||
|
width: 20%;
|
||||||
background: lightblue;
|
background: lightblue;
|
||||||
}
|
}
|
||||||
|
|
||||||
.middle {
|
.my-middle {
|
||||||
flex: 1; /* 占据剩余空间 */
|
width: 60%;
|
||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
background: rgb(238, 240, 238);
|
background: rgb(238, 240, 238);
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
.my-right {
|
||||||
flex: 0 0 200px; /* 固定宽度 */
|
width: 20%;
|
||||||
background: rgb(255, 255, 255);
|
background: rgb(255, 255, 255);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -834,6 +841,13 @@ const chooseImage = (event, id: number) => {
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.my-app-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.demo-image {
|
.demo-image {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -859,16 +873,17 @@ const chooseImage = (event, id: number) => {
|
|||||||
|
|
||||||
.image-wrapper {
|
.image-wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: center; /* 水平居中 */
|
justify-content: center; /* 水平居中 */
|
||||||
align-items: center; /* 垂直居中 */
|
align-items: center; /* 垂直居中 */
|
||||||
gap: 10px; /* 设置图像之间的间距 */
|
gap: 10px; /* 设置图像之间的间距 */
|
||||||
|
width: 100%;
|
||||||
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image-item {
|
.image-item {
|
||||||
/* 可选:设置图像的宽度和高度 */
|
/* 可选:设置图像的宽度和高度 */
|
||||||
width: 200px;
|
width: 80%;
|
||||||
height: 200px;
|
height: 80%;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: transform 0.3s ease; /* 添加过渡效果 */
|
transition: transform 0.3s ease; /* 添加过渡效果 */
|
||||||
}
|
}
|
||||||
@ -896,17 +911,19 @@ const chooseImage = (event, id: number) => {
|
|||||||
.form-item {
|
.form-item {
|
||||||
flex: 1; /* 均分宽度,使两个输入框平分容器的宽度 */
|
flex: 1; /* 均分宽度,使两个输入框平分容器的宽度 */
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
|
font-weight:bold
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 报告样式 */
|
/* 报告样式 */
|
||||||
.ultrasound-report {
|
.ultrasound-report {
|
||||||
font-family: Arial, sans-serif;
|
font-family: Arial, sans-serif;
|
||||||
max-width: 800px;
|
width: 90%;
|
||||||
margin: 20px auto;
|
margin: 20px auto;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
height: 900px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ultrasound-report h1,
|
.ultrasound-report h1,
|
||||||
@ -954,4 +971,9 @@ const chooseImage = (event, id: number) => {
|
|||||||
flex-basis: 25%;
|
flex-basis: 25%;
|
||||||
/* 设置其他样式属性,如 padding、margin 等 */
|
/* 设置其他样式属性,如 padding、margin 等 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.my-custom-close-icon .el-dialog__close {
|
||||||
|
font-size: 40px; /* 自定义图标大小 */
|
||||||
|
color: red; /* 自定义图标颜色 */
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
Reference in New Issue
Block a user